ailia APPS People Counter : 人流解析を行うことができるAIアプリ
ailia SDKを使用して人流解析を行うことができるailia APPS People Counterのご紹介です。任意の直線をGUIで設定し、入場と退場の人数を数えることができます。
ailia APPS People Counterについて
ailia APPS People Counterはailia SDKを使用して開発した人流解析を行うことができるAIアプリです。オープンソースで開発しており、ailia SDKのライセンスがあれば自由に使用することが可能です。
実行例の動画は下記となります。
ailia APPS People Counterの動作環境
Windows、macOS、Linux、Jetsonで動作します。実行にはPythonが必要です。
ailia APPS People Counterの使用方法
ソースコードをcloneします。
git clone https://github.com/ailia-ai/ailia-apps-people-counter
依存ライブラリをインストールします。
pip3 install lap
GUIを起動します。
python3 ailia-apps-people-counter.py

起動したGUI
Input videoボタンを押して動画ファイルを選択します。Set crossing lineボタンを押して、画面をクリックすることで、2本の線を引きます。

計測線の指定
Runボタンを押して、計測を開始します。人物の中心点の軌跡が、OUT -> INの線と交差したら入場、IN -> OUTの線と交差したら退場としてカウントします。

計測画面
ailia APPS People Counterの動画出力
Output videoボタンで出力先の動画ファイルを指定することができます。

出力動画の例
ailia APPS People CounterのCSV出力
Output csvボタンで出力先のcsvファイルを指定することができます。CSVファイルの出力の例です。1秒ごとに、通過人数が記載されます。
time(sec) , count(in) , count(out) , total_count(in) , total_count(out)
0 , 0 , 0 , 0 , 0
1 , 1 , 1 , 1 , 1
2 , 1 , 1 , 2 , 2
ailia APPS People Counterのアーキテクチャ
mot17データセットで学習されたyolox_sで人物を検出します。次に、bytetrackを使用して人物をトラッキングしてIDを付与します。最後に、IDごとの軌跡と直線との交差判定を行い、カウントアップを行います。AIの高速推論にはailia SDKを使用しています。

アーキテクチャ
mot17_sは1088x608解像度、mot17_tinyは416x416解像度で人物検知を行います。
ailia APPS People Counterのオプション
人が線を横切った際に、人に対して属性推定を行うことができます。属性推定を有効にするには、Clip classificationもしくはAge Gender classificationのチェックボックスを有効にします。
Clip classification
任意のテキストで属性を指定し、全身の画像を使用して最もマッチしたテキストを属性として反映します。例えば、”man”と”woman”という属性を指定することで、性別推定を行うことが可能です。
CSVには末尾に属性ごとのカウントが付与されます。
time(sec) , count(in) , count(out) , total_count(in) , total_count(out) , man , woman
0 , 0 , 0 , 0 , 0 , 0 , 0
1 , 1 , 1 , 1 , 1 , 1 , 1
Age gender classification
Intelの開発したAgeGenderRecognitionRetailを使用して、顔の画像を使用して性別と年齢を属性として反映します。顔が検知できなかった場合はUnknownとなります。

CSVには末尾に属性情報が付与されます。
time(sec) , count(in) , count(out) , total_count(in) , total_count(out) , age_gender(list)
0 , 0 , 0 , 0 , 0
1 , 1 , 0 , 1 , 0 , Male 25
2 , 1 , 1 , 2 , 1 , Unknown , Male 38
属性推定の精度検証用のオプション
Always classify for debugのチェックボックスを有効にすることで、線を横切っていない場合も常に属性検出を有効化することができます。このオプションを使用することで、より簡易的にWEBカメラや動画などを使用した属性推定の精度検証が可能です。
Google Analyticsとの連携
Google Analytics (GA4)のMeasurement APIを使用したGoogle Analyticsへの連携が可能です。
GA4のデータストリームから測定IDを取得します。

測定IDの取得
GA4のデータストリームのMeasurement ProtocolからAPI Secretを取得します。

API Secretの取得
ailia APPS People CounterのメニューバーのAnalyticsに取得したAPI Secretと測定IDを設定します。

IDの設定
ailia APPS People Counterを実行すると、イベントとしてperson_inとperson_outが反映されます。

イベントの確認
ailia APPS People Counterへの機能追加
ailia APPS People CounterはOSSで開発しているため、自由に機能を拡張することが可能です。また、アイリア株式会社にご要望いただければ、弊社側で機能を追加することも可能です。
ailia APPS People Counterの応用
ショッピングセンターやイベントにおける来店客数の計測や、どの入り口が最も使用されているかの計測、交通量調査などにご利用いただけます。
アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。
ailia Tech BLOG