Case Study
カメラ画像認識
監視カメラやドローンなど画像入力デバイスが普及したことで、数多くの画像情報が利用可能になりました。こうした画像情報から特徴量を抽出・解析することで、画像の意味するところを高い精度で推定できるようになってきました。
既にAI技術を活用したカメラ画像認識が、工場や店舗などで人物や商品の判定・検査などに使われ始めています。
カメラ画像認識の用途
-
顔画像から、人物の識別・分類・認証
-
姿勢画像から、動作や作業状態の識別・分類・判定
-
場面画像から、稼働状況や安全状況の識別・判定
-
アイテム画像から、正誤・不良品・故障の識別・判定
開発具体例
屋内における人の位置検知と姿勢認識判定
受託までの経緯
現在、工場や施設などで働く人の状況把握のため、監視カメラなどにより解析するニーズが増えています。特に厳しい環境で働く場合の安全管理や作業効率を上げるための研究が進められています。
例えば、安全管理方面では、マイナス数十度の冷凍室内で働く人や夜間など人が少ない時間帯に働く人、また老人介護施設など看護師の目が届かない場合などの安全管理も重要となっています。
もしこういう人が突然の体調不全や事故などで倒れた場合に発見するのが遅れれば、人命にかかわる
事故に繋がるかも知れません。
また効率面でいうと働いている人が何人いて、どのような動きをしているかを解析すれば、もっと効率を上げる作業手順および環境や設備配置などを改善することが出来るかも知れません。
某ソフト開発会社から、このような要求に対応する製品の開発に向け、ある部屋の中で、カメラに写った人の画像から人の動きや姿勢を解析する研究案件として弊社に委託開発の相談がありました。
要求内容として、部屋の中にいる人は複数人でも検知できること、またお客様の希望としてオープンソースを使っての開発、出来ればOpenPoseを使って実施してほしいとの要望もありました。
課題
指定したカメラに写る人物(複数人)の4つの姿勢(しゃがむ、歩く、立つ、立って作業をする)をカメラ画像認識技術を使って判別出来ること実証し、いずれは製品開発に結び付けたい。
画像は静止画、動画ファイル、動画ストリームの3種類に対応すること。機械学習AIエンジンにはOSSを使用すること、希望としてはOpenPoseを使ってほしい。
解決策
まずお客様は画像認識OSSのOpenPoseを使って、システム開発したいとの要望があり、我々はこのOSSがお客様の要求を満たすのにベストなものかどうか別のOSSと比較した結果、今回のお客様要求に合っているOSSとしてOpenPoseとDensePoseの2つを選定しました。
それぞれに方式は違うもののお客様の要求範囲からみて、大きな違いは無いと判断し、お客様の要求どおり、OpenPoseで開発することを決定しました。
その上でOpenPoseについてすべての要求を満たす為の詳細な調査と使用方法について整理しました。
お客様の要求画像は静止画、動画ファイル、動画ストリームの3種類あります。
まずは静止画を最初に設計しました。
OpenPoseは人の画像から骨格を測定し、骨格座標を作成します。我々はその骨格座標を今回要求の4つの姿勢に座標軸を分類する作業を行いました。
姿勢判定にはCNN/分類(畳み込みニューラルネットワーク)を使い学習トレーニングをおこないました。
畳み込みニューラルネットワークについては以下をご参照ください。
まず、最初にそれぞれの姿勢毎に100~150枚の画像を作成し、教師あり学習で人の姿勢を分類分けするモデルを作成しました。
また骨格座標から姿勢認識表示させる上で、別のOSSであるTensorFlowを連携させ、最終的に(しゃがむ、歩く、立つ、立って作業をする)の区別を出力させるシステム設計をしました。
OpenPoseとTensorFlow連携のイメージについては以下をご参照ください。
姿勢認識モデルを作成した後は少し曖昧な姿勢も含め、多くのテスト画像を読み込ませ、結果をチェックしました。
予想値と違っている場合は結果を分析した上で、さらに強化学習する画像を作成しました。その画像から再度、機械学習トレーニングを追加し、精度を上げて行きました。
この一連の流れを繰り返すことで、徐々に精度を上げて行きました。
姿勢認識システムの概要は以下をご参照ください。
次に静止画像の認識以外に動画ファイルの認識と動画フレームの認識を行います。
動画ファイルについては、静止画像の仕組みと大きくは変わりません。動画の中のある一場面の画像を切り取って静止画と同様にシステムに入力するだけです。
例えば、3秒毎に動画を切り取ってシステムに渡します。システムは入力された画像を静止画像と同様に測定して姿勢を表示します。
動画ストリームの場合は少し考慮が必要です。ストリームは常に動いているので、もし処理に時間が掛かると画面上に表示した姿勢結果と実際の姿勢は変わっている可能性があります。
つまり、より処理時間を早くする工夫が必要です。
我々はその対応として、フレームレイトと前後画像との調整を実施しました。
以下にその概要を示します。
効果
お客様希望のOpenPoseを使って、静止画、動画ファイル、動画ストリームの3種類について開発しました。
お客様側で最終試験を実施頂き、予想を上回る結果だとご満足頂きました。またお客様は、この研究開発製品を幕張の東京ビッグサイトで開催されたフォーラムで展示しました。
サマリー
工場や施設などで、作業員の位置と姿勢を把握したい
安全管理の品質と作業効率の向上を狙う
静止画・動画・動画ストリームから、複数人の位置と姿勢を認識
4つの姿勢(しゃがむ、歩く、立つ、立って作業する)を高い精度で判別
使われている技術