OJT2021:Vieureka を用いた三密判定と性格行動診断の同時推論「密カッター」

こんにちは、リサーチャーの鈴木です。今年度の新人研修で、私達のグループは「密カッター」というシステムを開発しました。本記事では、このシステムの開発の目的、および、本システムで実装されている要素技術についてご紹介いたします。

本研修ではPanasonic様の提供するIoTカメラ「Vieureka*1」を使用しました。

「密カッター」による三密判定+性格行動診断

新型コロナウイルスの感染防止対策として「三密防止」が重要であることは言うまでもありません。「人が多数集まる密集状態」「換気が悪い密閉空間」「間近で会話や発声をする密接場面」を常時監視することは、店舗運営等において望ましい環境作りとなります。さらに、今後はワクチン接種後に戻ってくる顧客の傾向をいち早く掴んでマーケティングに活用するチャンスと考えることもできます。心理学の分野では人の行動傾向が姿勢に表れるという示唆があります。このような心理学的研究をうまく活用することで、カメラの映像から適切なマーケティングにつなげられる可能性があります。

私達は、これらの課題に対して、「密集検知」「密閉検知」「密接検知」「性格行動診断」の4つの機能を、AI搭載の監視カメラVieureka上に実装しました。そして、新人研修の成果物として、これら4つの機能を備える監視システム「密カッター」を開発しました。

密カッターは、カメラ視野における人の密集度、会話ペア数、ドアの開閉時間、人々の性格傾向を可視化します。さらに、AIによる自動監視システムという特徴を活用して、密カッターは音や光による三密の危険度の注意喚起や、性格傾向に合致した電子広告提示を、人の手を介さずに実行することができます。

密集検知

「画像中のどこに何があるか」を出力する物体検出は、深層学習が得意とするタスクの一つです。特に人間の検出に関しては研究が進んでおり、駅や商業施設など日常的な場面で実用化されるほど高性能なモデルが次々と登場しています。

狭い領域に人が多く位置する「密集」を検知するためには、分割した画像中の位置毎に人数をカウントするタスクを物体検出に追加することで実現可能となります。セキュアとモルフォが共同開発したSECURE群衆カウントソリューションは、画像中の領域ごとの人数をカウントし、混雑度を表示するソリューションを提供しています。

今回のプロジェクトでは、カメラと被写体がより近くに位置するシーンを想定しているため、エッジデバイスVieurekaで高速推論を行わせることを重視し、YOLOv3モデルによる物体検出に簡便な後処理を施すことで「密集」の検知を実現しました。さらに、Vieurekaカメラ上でのYOLOv3モデルの推論処理の高速化には当社製品である高速ディープラーニング推論エンジンSoftNeuro®を利用しました。

図1.密カッターによる密集検知

図1は、密カッターが密集検知を行っている様子を示す画面例です。図1のgif動画のように画面中の人を検出し、8分割した各領域に位置する人数が数値として表示されています。カメラと被写体の距離がこの程度(2~10メートル)の場合YOLOv3モデルは誤検出や取り逃しのほとんどない推論が可能です。画像の分割数は実シーンに合わせた調整が可能です。

密閉検知

密閉回避による感染リスク低減のためには1時間あたり5分程度の換気が望ましいとされています。一般的に、小規模な店舗ではドアが換気経路であることから、本プロジェクトではドアの開閉による換気頻度をモニタリングする機能を開発しました。

具体的には、物体検知の深層学習モデルに「開いたドア」「閉まったドア」「半開きのドア」を区別して学習させ、未知の開閉状態を区別して検知させます。この深層学習モデルには密集検知と同じくYOLOv3を用いました。開閉状態を分類してドアを取り扱った研究は数少なく、学習済みのモデルもほとんど公開されておりません。今回はその数少ないドアのデータセットの一つであるDeepDoors2を用いて「開いたドア」「半開きのドア」「閉まったドア」の特徴をYOLOv3に一から学習させました。

学習後、当社オフィスのドア画像を用いてモデルの精度確認を行いました。結果としては、開いたドアの検出がよくできており、画像中24枚の開いたドアに対して、正しい検出(True Positive)が16枚、見落とし(False Negative)が8枚、誤検出(False Positive)が2枚でした。

しかし閉まったドアの検出の精度は悪く、画像中12枚の閉まったドアに対して、正しい検出は0枚、見落としが12枚、誤検出が43枚でした。

原因として、データセットと違い、オフィスのドアは周囲の壁と色が同じ(真っ白)であり、閉じた状態での検出が困難であったことが考えられます。閉じたドアを正確に検出するためには、それに見合ったデータセットでの学習が必須であることが分かりました。

反面、学習データセットと違う性質のドアであっても「開いたドア」の検出は十分な精度で行えることを実証しました。密カッターではこれを活用し、ドアが開いている時間を累積して換気時間を提供することで「密閉」検知を実現します。

図2.密カッターによる密閉検知

図2は、密カッターが密閉検知を行っている様子を示す画面例です。図2のgif動画のように開いたドアを検出した場合に換気が行われていると判断し、画像下部に1時間あたりの換気時間が表示されています。

密接検知

「間近で会話や発声をする密接場面」を判定するために、人と人が至近距離で向かい合う「向き合い検知」と、特定の方向からの音声を検知する「音源定位」の二つの処理を組み合わせました。

向き合い検知

剛体である顔の6自由度(3次元位置と3次元向き)推定によって顔の向きを検知する手法が提案されています。今回は見ている方向や目線の厳密な推定は不要なため、その中でも高速かつ高性能なimg2poseを採用しました。img2poseを用いて画像中の全ての顔について6自由度推定を行い、その後任意の2人ペアに対して向き合い判定を行います。

「向き合っている」というのは、「距離が近く、顔ベクトルが逆向きで対面している(背を向け合っていない)」という状況で定義できます。まず、両者の顔の大きさの比が±50%以下(奥行き方向で近接)かつ、顔6個以内の距離に位置していれば、「距離が近い」と定義しました。さらに、両者の顔の向きのベクトルの内積が負であれば、「逆向き」と定義し、最後に顔の向き方向に相手の顔が存在する場合を「対面」と定義しました。これら3つ全てを満たしたペアについて「向き合っている」と判定させています。

図3はこれらの状況を模式的に示しており、A、B、Cの場合は、いずれかの条件を満たしていないため向き合いと判定しません。Dの場合のみ、向き合いと判定しています。

図3.図中のAは顔ベクトルが同じ向き、図中のBは距離が遠く、図中のCは背を向けあっている
音源定位

単一のマイクではなく、複数のマイクロフォンで集音して到達する音の時間差を用いることで音源の位置を推定することが可能です。音源定位と呼ばれるこの技術は20世紀から開発が進む汎用的な技術であり、Web会議用の指向性マイクやロボット開発などに活用されています参考[1]

今回はマイクが単一のVieurekaカメラに安価かつ簡便に音源定位を実装するため、こちらの記事を参考に、Sipeed社製のマイクロコンピュータMaix bitとそのアタッチメントである6+1マイクロフォンアレイを増設しました。

Sipeed社の公式ページからMaix bitに音源定位を実行させるプログラムをダウンロードすることができます。マイクロフォンアレイとVieurekaでは画角も分解能も全く違うため、両者の出力を合成するための校正実験を行いました。

VieurekaカメラとMaix bitで得られた向き合い検知と音源定位の両方の出力を用いることで、「密接な会話」を自動検知し、そのペア数を提示するシステムの開発に成功しました。

図4.密カッターによる会話検知

性格行動診断

「性格行動診断」は、姿勢と心理状態の関連性を利用し、カメラ画像に映る被写体の心理的傾向を計測する機能です。

心理学的研究として、姿勢は身体の状態だけでなく精神状態をも表し、性格の一指標になりうるものとする説があります。先行研究[2]では、被験者の映った画像から客観的に評価した姿勢とストレスに対する8つの対処傾向(肯定的解釈、カタルシス、回避的思考、気晴らし、計画立案、情報収集、放棄・諦め、責任転嫁)を示すTAC-24尺度との相関を調査し、首の角度と心理学的傾向が関連することを示しました。

今回はこの研究から着想を得て、深層学習を用いてカメラに映る人物の姿勢情報を取得し、心理学的知見から人々の消費行動傾向を提示する「性格行動診断」の機能を開発し、密カッターに実装しました。

当社社員を対象として写真一枚とアンケートの収集を行い、性格を示す尺度であるBig Five、ストレス対処法を示すTAC-24、さらに消費習慣や生活習慣のデータと姿勢の相関を調査しました。

結果として、首を右に傾ける人ほど調和性(思いやりがあり協力的)が高くなるという有意な相関結果が得られました。さらに首を左に傾ける人ほど外向性が高く、衝動的な購買に対する抑制傾向が強く、毎月の運動回数は少ないという結果が得られました。なお、左右は被写体本人から見た向きを基準としています。

姿勢推定には当社製品のMorpho Pose Estimator™をVieurekaカメラに組み込みました。Morpho Pose Estimator™は深層学習を利用した人体姿勢の推定技術であり、18か所(鼻・眼・耳・首・肩・肘・手首・腰・膝・足首)の特徴点の検出を可能とします。 当社の高速推論エンジンSoftNeuro®の技術も利用することで、エッジデバイスであるVieureka上での推論を可能としました。 今回は検出された特徴点のうち、両肩と鼻の位置を利用することで先行研究[2]において用いられた首の角度を計算します。

「密カッター」では画像中の人物の首の角度を計算し、右に傾ける人が多ければ「調和性が高い」、左に傾ける人が多ければ「消費抑制傾向が高い」と表示します。下処理として、動き回っている人や横を向いている人は首の角度が安定しないため判定からは除外しています。

下の画像ではテストのため首の傾きを意図的に変え、密カッターが正しく性格行動傾向を出力することを確認しました。

図5.密カッターによる性格行動分析

将来的には駅や大型施設にいる人の性格行動傾向を診断し、最も多い顧客層を把握することで最適な電子広告のリアルタイム表示を行うことを想定しています。

まとめ

今年の新人研修において、「密集」「密閉」「密接」の検知、および、「性格行動診断」の4機能を盛り込んだ「密カッター」の開発を行いました。これらの機能に必要な、混雑検知、ドア開閉検知、向き合い検知、音源定位、首の角度判定、心理学的特徴の判定といった要素技術をVieureka上に実装しました。

本プロジェクトでは、緊急事態宣言が発令されていたため、リモートワークでシステム開発を進めたという経緯があります。そのため、実機での試験がなかなかできないという苦労がありました。出社時にまとめて実機の性能試験を行ったところ、カメラの設定等で想定外のエラーが何度も発生してしまい、実験撮影開始までに想定を大きく超える時間を要してしまいました。

一方、うまくいったところもありました。チームメンバーのほとんどが初めてGitHubを利用したのですが、Issuesの管理などの機能を活用することで、効率的なチーム開発につなげることができました。その他、音源定位に用いる機器の選定、購入、初期設定、校正、実装までの一通りを2か月という短期間で達成できたことは誇れる成果であると自負しています。

本プロジェクトでは「人の役に立つものを作りたい」という思いを形にするべく、要件定義から技術調査、開発までを新人チームで完遂し、「新しい製品を作る喜び」を強く体験することができました。 この喜びを胸に、本プロジェクトを通して得られた経験・スキルを今後の業務に活かしていきます。

[1] 浅野太 ”音のアレイ信号処理 -音源の定位・追跡と分離-" 音響テクノロジーシリーズ コロナ社

[2] 内田, 森川 "姿勢とストレスコーピングとの関係 : TAC-24との比較から"  九州産業大学国際文化学部紀要 九州産業大学国際文化学部紀要 (57), 127-140, 2014-03 九州産業大学国際文化学会 http://54.64.211.208/dspace/bitstream/11178/102/1/kokubun57-6.pdf

*1:「Vieureka」および「Vieureka」ロゴはパナソニック株式会社の登録商標です。