アルゴリズム開発、データ解析、視覚化、数値計算のためのプログラミング環境「MATLAB」の最新動向を知ることのできる「MATLAB EXPO 2016」(主催:MathWorks Japan)が、10月19日に開催された。東京大学 杉山将教授による「人工知能研究の現状と今後の展望」と題した基調講演をはじめ、ユーザーによる先進事例、MathWorks Japanスタッフによるテクニカルセッションなど盛りだくさんの内容で、「データアナリティクス/IoT」「機械学習・ディープラーニング」「ADAS/ロボット」など幅広い分野において、最新のソリューションが紹介された。ここでは、データアナリティクス/IoTの分野の2つのセッションについてレポートする。
作業異常検知システムの開発にMATLABを採用した日立製作所
データアナリティクス/IoTの分野における事例セッションでは、日立製作所より「MATLABによる作業異常検知システムの開発」をテーマに、アルゴリズムの開発から実装までの流れを紹介した。
日立の生産イノベーションセンタ 生産システム研究部は、工場におけるものづくりの効率化や品質の向上を目的としたシステムを研究している。研究の一環として、作業異常検知システムを開発し、2016年より製品としてリリース。このアルゴリズム開発からシステムの実装、リリースまでにMATLABが活用されている。
作業異常検知システムは、工場に監視カメラを設置し、撮影した映像データから人の動きや動線を抽出し構造化データに変換することで、機械学習により正常な動きや動線の確率分布モデルを生成。確率分布モデルに基づいて、異常な行動をリアルタイムに検知し、作業不良の防止やスキル向上に役立てる仕組みだ。
講演では、「作業異常検知システムは、ものづくりにおける品質バラツキの解消や作業起因の場外不良の低減、品質トレーサビリティの確保によるリコール対応の迅速化などに貢献できるシステムです。すでに、いくつかの企業の工場に導入され、評価を行っています」と話す。
デモでは、作業異常検知システムで開発した製造作業リアルタイム異常検知システムが、MATLABでどのように開発されたかが紹介された。このシステムは、
- 画像取得
- 作業開始の検出
- 人の検出
- 動線追跡
- 異常判定
- 結果の表示と保存
の6つのステップで構成されている。
アルゴリズム開発からシステム開発までの流れは、
- アルゴリズム評価用プロトタイプ作成
- PoC用簡易プロトタイプ作成
- PoC用プロトタイプ作成
- 製品開発
の4つのステップとなる。
まずステップ1では、人の動きや動線の異常を検知するためのアルゴリズムを構築する、アルゴリズム評価用プロトタイプを作成する。「この段階では、映像データを研究所に持ち帰り、MATLABファイルを実行して、オフラインで技術開発と評価を行いました」と振り返る。
ステップ2では、ステップ1である程度アルゴリズムが作成できた状態で、MATLABをコンパイルしたPoC用簡易プロトタイプを作成し、オンサイトに導入。正しく機能するかをオンラインで技術評価を行った。
またステップ3では、MATLABだけでなくC++を利用して、実際にユーザーが利用する製品を意識したPoC用プロトタイプを作成している。「C++からMATLABを呼び出すにあたり、MATLAB Coderで作成したC++のDLLを呼び出す仕組みを構築しています。これによりユーザービリティの評価や製品仕様を検討しています」と話す。
最後のステップ4では、ステップ3で開発したプロトシステムの課題を解消し、製品化を行い、品質テストを実施している。この仕組みの応用例として、作業異常検知システムとヘッドマウントディスプレイを組み合わせた手の動きに対する異常を検知するための仕組みも紹介された。
「作業異常検知システムは、人の動きや動線に対する異常を検知する仕組みです。これを応用例すると、作業者の手元を監視カメラで撮影しヘッドマウントディスプレイに投影することで、誤った作業をしたときにヘッドマウントディスプレイに異常を表示したり、次の作業手順を指示したりする仕組みとして活用できます」と、作業異常検知システムの応用例についても言及した。