はじめに
現在、ハードウェアの向上と技術的進歩によりAIは実用段階に達し、分野を問わず普及し始めています。身近なところでは音声検索や顔認識システムなどで利用されており、一般の人々にも見慣れたものになっているといっても過言ではないでしょう。産業界でも業種を問わず「AIをいかに取り込むことができるか」というのが重要なテーマのひとつになっています。AIを活用することで新たな仕事を生み出したり、これまで人手で行われていたことをAIによって代替することが積極的に目指されています。しかし、一口にAIと言っても、多種多様な技術が存在し、実際には現場の実情に合わせた工夫をエンジニアが施す必要があります。
今回、商店街内の歩行者交通量の計測をAI技術を活用して実施しました。その際に出てきた課題と解決策についてご紹介します。
基本的な技術について
まず、歩行者計測を行うための基礎的な技術について簡単にご説明します。
歩行者計測を支える技術は、基本的に「物体検出(Object Detection)」と呼ばれるものです。ひとつの画像内に写っている物体(人間、動物、車など)を検出します。(動画の場合、複数の画像のまとまりなので、画像ごとに処理した結果を表示している形になります。)物体検出技術を利用することで「画像内に写っている物体が何なのか」、そして「その物体は画像内にどのくらいの数存在しているのか」という情報を取得します。
※Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi,2015, [You Only Look Once: Unified, Real-Time Object Detection]
そのうえで、今回は「トラッキング技術(Object Tracking)」も利用しています。トラッキング技術とは、検出された物体の移動を捕捉する技術のことです。連続する画像(=動画)において、検出される物体が前の画像に写っていた物体と「同一物体」なのか、「異なる物体」なのかを判定することで移動を補足しています。より詳しい説明は以下で行いますが、人数を計測する際に同じ人物を計測しないようにするために利用しました。
歩行者計測について
本題である歩行者計測についてご説明します。
今回、ご依頼により商店街内の歩行者計測を行いました。歩行者計測といっても、単純に歩行者の数をカウントするだけのものから、年代や性別、方向なども含めて計測するものまで様々存在します。今回は、マーケティング利用や防犯対策の理由から、以下の計測対象のカウント及び対象属性の判定をご希望されました。
●計測対象
①歩行
②自転車
③バイク
④車
●対象属性
①性別(男女)
②年代(~10、10~19、…、60~69、70~)
③進行方向
※一人当たりの計測結果は以下のようになります。
⑴歩行【男性、20代、上り方向】
⑵自転車【女性、30代、下り方向】
計測における問題
計測モデルを構築する際、以下の問題が浮上しました。
①重複計測してしまう問題
②属性判定が困難である問題
重複計測してしまう問題
通常、車などの交通量を計測する場合、ある程度速度と方向性が一定のため、単純に特定の個所にある物体(動画として言えばある箇所を通過した物体)の数をカウントする方法でもある程度の精度で計測することが可能です。しかし、商店街の歩行者交通量など測定対象となる人が異なる速度・方向で行きかうという条件下で計測する場合には、このような単純な物体検出技術を用いただけの方法では、計測の精度を保つことは難しくなります。(例えば、ショッピングなどでお店前を前後している人は、本来交通量的には一人と計測されるべきですが、この方法だと何回も計測してしまう危険性があります。)
ポイントは、商店街内を歩行する人々が、車のように一定の速度、方向では進んではくれないということです。人々は直進だけではなく、画面内をカーブや停止、Uターンなどさまざまな動きを組み合わせて進んでいくため、前述の単純な物体検出では重複して計測してしまうことが多くなってしまいます。
この問題には、物体検出技術と深層学習による物体追跡技術を組み合わせることで解決しました。物体を検出するだけでなく、一度出現した物体は計測ずみ物体として画面内で追跡することで重複してカウントすることを防ぎ、正しい数をカウントすることができました。
しかし、この方法を採用してカウントする場合、人の流れを俯瞰した動画を利用する方が良いのですが、その場合、人の属性を判断することが難しいという問題が発生します。
属性判定が困難である問題
人数をカウントする場合、重複してカウントを避けるために、ある程度俯瞰した映像が好ましくなります。このことは、カメラと人の距離が遠くなってしまうことを意味します。
一方で、人の属性情報を取得しようとした場合、主に顔の情報(例えば、顔認証などからわかるように顔だけで個人を判別するだけの豊富な属性情報を得ることができます)を利用するため、カメラと人の距離は近いほうがよくなります。
しかし、前述のように人数カウントの関係から遠景の方が望ましいため、遠景から属性を判別する方法を模索することにしました。(遠景から得られる情報は少ないため、属性まで判別しようとする試み自体が限られていました。なお、この問題はカメラの画質を向上させることで、遠景からでも人の顔で属性判定することが不可能ではありませんが、カメラの価格やモデルの処理速度などを考慮すると実用的ではないという判断をくだしています。)
今回の場合、まず遠景の画像をアノテーションし、年代と性別を同時に識別できるようにモデル学習しました。(予測結果と同時にコンフィデンス(自信度)が出てくる設計にしました。)このモデルを利用したところ、遠景でもしっかりと全身が見えていれば属性判定がある程度可能であることがわかりました。
そのため、単純に人物をカウントしたい場合、理想的な画角は真上から撮影したものになりますが、属性を判別するためにはある程度全身の情報が必要なため、画角が真上(カウントには理想)と真横(属性判別には理想)の間の角度であるものを利用しました。
測定可能な画角
※プライバシー保護の観点上、画像をぼかしています。
また属性判定を正確に行うには人物の全身のデータを取得する必要がありましたが、人同士が重なりあうなど、全身のデータが一回の画像から必ず取得することができない場合があります。その場合、すべての画面上の人物を「人物として検出する」ことは可能でも「属性まで正しく判定すること」は多くの場合難しいということがわかりました。
ここで視点を変え、同一人物でも映り方・見え方がフレームごとに違うことに着目し、一度の検出で属性までを完全に判定するのではなく、トラッキング技術を応用し、同じ人物に対し、数フレームごとに複数回属性を予測するシステムに変更しました。こうして得られた複数の予測結果と付随するコンフィデンスを元に、最も可能性の高い属性を推測するモデルが構築されました。
最終的な計測結果
構築されたモデルと人力による計測を比較したところ、人数計測では約1万5000人あたり99%の精度を達成しました。実際に構築されたモデルによる測定は以下のようになります。
最終的な計測図
※プライバシー保護の観点上、画像をぼかしています。
①様々な年代・性別の人物をカウント、属性予測しています。
②人物だけでなく、自転車なども同時に測定することができます。
(搭乗者の性別・年齢も測定しています)
③自転車とバイクも区別して測定することができます。
まとめ
今回の計測は2020年現在の最新技術を利用して行われました。現在の技術でも実用には十分耐えうる精度ではありますが、計測後も様々な最新技術が発表されており、今後新たに計測する際にはよりよい結果を出すことが可能になるのではないかという思いもあります。
また商店街だけでなく、人々が行きかう様々な場所で応用することが可能であり、歩行者交通量をAIで計測することが普通になる日も近いのではないかとおもっています。
お問い合わせについて
歩行者交通量の計測にご興味・ご相談・ご質問がある方は以下のフォームより、ご連絡お願い致します。