orizuru

つながる.見える.わかる IoTソリュ-ション

動画データを使った異常検知を行いたい

動画データを使った異常検知を行いたい

動画データを用いた解析に興味のあるお客様は多いのですが、数値データ以上に活用するのはハードルが高いと感じていらっしゃる傾向が強いように思います。ExcelやBIツールを用いて素直にグラフを描くことができる数値データと違い動画や画像の解析手法が認識されていないこともあり、専門家の領域として認識されているようです。弊社では動画、画像の解析も得意分野としており、最適な活用方法を提案させて頂いております。

今回は住宅設備機器の製造を行っているお客様からのご相談事例を紹介いたします。

動画データ解析のご相談

お客様から頂いたご要望は動画データを用いた異常検知システムの構築でした。試験場で24時間稼働している試験体の様子を撮影した動画データがあり、試験体が異常な動作をした場合にシグナルを残したいというものでした。試験体は単純な動作を繰り返しているのですが、低確率で異常な動作が発生します。ここで問題となったのは異常な動作が発生した後も繰り返し動作は継続してしまう為、異常を検知できないという点でした。その為、膨大な動画データを人力で監視する必要があり大きな負荷となっているとのことでした。
異常検知の目的

異常検知へ向けたアプローチ

ご相談いただいた異常検知システムの構築にあたり、まずは試験体の正常動作と異常動作を定量的に示す必要があります。試験体が一定の動作を繰り返していることからK-近傍法を用いて異常度を計算する方針をとりました。ここで異常度とは、試験体がどれだけ正常動作から外れた動作(異常動作)をしているかの指標となります。異常度が高いほど異常な動作をしていると判断できます。

動画データの実態

K-近傍法の説明の前に動画データとはいったい何なのかということを押さえておきましょう。実は動画データとは数字の巨大な配列となっており、解析方法は数値データと大きく変わりません。テレビやパソコンの画面には、非常に細かいですが、赤青緑の三色のマスが配置されており、その配色を変化させることで画像を表示しているのはご存知でしょう。これを数値的に表すと赤青緑それぞれの色の強度を示す3つの数値が画面の縦と横の数だけ並んでいる配列になります。動画は画像が連続して切り替わっていくだけなので、これにフレームの数が加わります。このように動画データも数値の配列として解析することができるのです。
動画データ構造イメージ

K-近傍法を用いた異常度の計算

K-近傍法とは、たくさんのデータの中で最も距離が近いデータからK番目までを求める手法です。今回はK=1とし、最近傍点までの距離に焦点を置いています。正常動作時の動画データを距離計算に用いるデータとして与えK-近傍法のモデルを作成しました。作成したモデルに計算対象の動画データを与えることで異常度を計算していきます。具体的には以下の2ステップで異常度を計算します。

  • 正常動作を網羅した動画データを用いてモデルを作成する
  • 異常検知をしたい動画データを用いて異常度を計算する

正常データを用いてモデルを作成するため、入力した動画データが正常動作をしている限りは最近傍点までの距離が近く、異常度は低くなります。逆に正常状態にはない動作をした場合は、最近傍点までの距離が遠くなり、異常度も高くなります。異常度は動画の1フレーム毎に計算されるように仕掛けたため、いつ異常動作を起こしているのかを検知することが可能になりました。K-近傍法について詳しくはこちら「k近傍法による時系列データの異常検知」の記事にも記載しておりますのでぜひご覧ください。
K-近傍法イメージ
異常度計算結果

独自関数による高速化

K-近傍法による異常度の計算を行うことで異常検知が可能にはなりましたが、解析対象の動画データは24時間休みなく撮影されている為、ストリーミングでのリアルタイム解析とまではいかないものの、動画の撮影時間以上の速度で解析を行う必要がありました。撮影時間より計算に時間がかかった場合、処理されていない動画データであふれてしまうことになります。ここで問題となったのは既存のK-近傍法ライブラリでは撮影時間より短い時間内での計算が難しいということです。そこでK-近傍法の手法は踏襲しつつ独自に関数を作成し、高速化を検討することとなりました。結果、動画データの画質やフレームレートを調整せずとも従来手法の10倍以上の計算速度となり、十分に短い時間内での解析が可能となりました。

システム化へ向けた提案

動画データを用いた異常検知が可能であることを示すことができ、お客様にも大変高評価を頂いております。次のフェイズとして、異常検知の手法のシステム化を提案させて頂いております。システムの概要としては動画データを常に解析し続け、異常度と異常度から判定された異常かどうかを示すフラグをファイル出力する方針で進めさせて頂いております。異常かどうかを示すフラグをファイル出力することにより当初のご要望にあった、異常動作を人力で監視する負荷の大幅な低下が期待できます。今回はファイル出力という形をとりましたが、異常を検知した場合メールによるアラートを送付する等、ご要望次第で対応可能です。

このように弊社では動画データを活用した解析、システム化を対応させていただいております。本事例のような既存の関数では充足できない要件でもオリジナルの実装で課題を解決することも可能です。これは基礎理論を理解して、それを重視することで様々な応用ができるという
弊社の方針の強みであると考えております。また、動画データはあるがどのように活用したらよいかといったご相談や、動画撮影に使用するカメラの選定や設置についてのアドバイスなど幅広くサポートさせていただいておりますのでお気軽にお問合せいただければと思います。