(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022152202
(43)【公開日】2022-10-12
(54)【発明の名称】歩行追跡装置、及び歩行追跡プログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20221004BHJP
H04N 7/18 20060101ALI20221004BHJP
【FI】
G06T7/20 300Z
H04N7/18 K
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021054885
(22)【出願日】2021-03-29
(71)【出願人】
【識別番号】000000011
【氏名又は名称】株式会社アイシン
(71)【出願人】
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
(74)【代理人】
【識別番号】100096655
【弁理士】
【氏名又は名称】川井 隆
(74)【代理人】
【識別番号】100091225
【弁理士】
【氏名又は名称】仲野 均
(72)【発明者】
【氏名】山田 英夫
(72)【発明者】
【氏名】柴田 雅聡
(72)【発明者】
【氏名】榎田 修一
(72)【発明者】
【氏名】本村 太一
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054EA01
5C054EA05
5C054EA07
5C054FC01
5C054FC12
5C054FC13
5C054FD07
5C054GB01
5C054GB05
5C054HA31
5L096AA06
5L096BA02
5L096CA04
5L096GA51
5L096JA03
(57)【要約】
【課題】歩行者を高精度で追跡する。
【解決手段】追跡対象である人物の歩行状態による類似度を加えた拡張DeepSORTを構成し、これによって歩行状態推定を用いた頑健な複数人物追跡を行う。歩行状態はフレーム画像間の人物の姿勢変化が微小なことから対応付けに用いやすく、また、隠れなどによって一定時間の間、観測が不可能でもその時刻の姿勢を予測することが可能である。歩行状態は、矩形運動情報や外観情報とは異なった性質を有しているため、矩形運動情報や外観情報を補う新たな情報として適している。また、歩行状態は、歩行者の関節に基づく骨格情報から抽出するところ、必要な関節の未検出などによって歩行状態推定の精度が低下する場合があるため、関節の未検出の割合に基づく指標を設定する。当該指標によって歩行状態の有効性を判断し、これに基づいて歩行者対応付けの可否判断を行う。
【選択図】
図2
【特許請求の範囲】
【請求項1】
動画から追跡対象の候補となる1又は複数の歩行者を検出する歩行者検出手段と、
前記検出した検出歩行者と、前記動画で既に追跡している1又は複数の追跡歩行者と、を対応付ける歩行者対応付け手段と、
前記検出歩行者と前記追跡歩行者の連続する歩行動作に基づく歩行状態を取得する歩行状態取得手段と、
前記取得した歩行状態によって、前記対応付けた検出歩行者と追跡歩行者が同一人である程度を取得する同一人程度取得手段と、
前記取得した同一人である程度に基づいて、前記対応付けた検出歩行者によって前記追跡歩行者を更新する更新手段と、
を具備したことを特徴とする歩行追跡装置。
【請求項2】
前記取得した歩行状態が信頼できるか否かを判定する歩行状態判定手段を具備し、
前記更新手段は、更に、前記判定に基づいて前記更新を行う、
ことを特徴とする請求項1に記載の歩行追跡装置。
【請求項3】
前記歩行状態取得手段は、前記検出歩行者と前記追跡歩行者の画像から、それぞれの関節を検出することにより前記歩行状態を取得し、
前記歩行状態判定手段は、前記関節の検出率に基づいて前記判定を行う、
ことを特徴とする請求項2に記載の歩行追跡装置。
【請求項4】
前記歩行状態判定手段は、前記検出歩行者の関節の検出率に基づいて前記判定を行う、
ことを特徴とする請求項3に記載の歩行追跡装置。
【請求項5】
前記歩行状態判定手段は、前記検出歩行者と前記追跡歩行者で共通して検出した関節の検出率に基づいて前記判定を行う、
ことを特徴とする請求項3、又は請求項4に記載の歩行追跡装置。
【請求項6】
前記歩行状態判定手段は、同一人である程度が所定値より低く、かつ、前期関節の検出率が所定値より高い場合に更新しないと判定し、これに該当しない場合は、更新すると判定することを特徴とする請求項3、請求項4、又は請求項5に記載の歩行追跡装置。
【請求項7】
前記検出歩行者と前記追跡歩行者の外観による外観対応度を取得する外観対応度取得手段を具備し、
前記歩行者対応付け手段は、前記取得した外観対応度を用いて前記対応付けを行う、
ことを特徴とする請求項1から請求項6までのうちの何れか1の請求項に記載の歩行追跡装置。
【請求項8】
前記検出歩行者と前記追跡歩行者の歩行による運動状態の運動対応度を取得する運動対応度取得手段を更に具備し、
前記歩行者対応付け手段は、前記取得した運動対応度を更に用いて前記対応付けを行う、
ことを特徴とする請求項7に記載の歩行追跡装置。
【請求項9】
前記歩行者対応付け手段は、更に、前記同一人程度取得手段で取得した同一人である程度を用いて前記対応付けを行う、
ことを特徴とする請求項7、又は請求項8に記載の歩行追跡装置。
【請求項10】
動画から追跡対象の候補となる1又は複数の歩行者を検出する歩行者検出機能と、
前記検出した検出歩行者と、前記動画で既に追跡している1又は複数の追跡歩行者と、を対応付ける歩行者対応付け機能と、
前記検出歩行者と前記追跡歩行者の連続する歩行動作に基づく歩行状態を取得する歩行状態取得機能と、
前記取得した歩行状態によって、前記対応付けた検出歩行者と追跡歩行者が同一人である程度を取得する同一人程度取得機能と、
前記取得した同一人である程度に基づいて、前記対応付けた検出歩行者によって前記追跡歩行者を更新する更新機能と、
をコンピュータで実現する歩行追跡プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩行追跡装置、及び歩行追跡プログラムに関し、例えば、動画によって歩行者を追跡するものに関する。
【背景技術】
【0002】
近年、公共の場所、車両、ロボット、工場などに設置したカメラで動画撮影した人物を画像認識して追跡する技術が大いに求められている。
このような追跡技術では、カメラ画像に写る人物を一人一人見失わず追跡するための人物追跡技術の精度向上が重要である。
動画によるカメラ画像を基に複数物体を追跡する手法として、追跡対象の運動に基づいて追跡を行う非特許文献1の技術がある。
【0003】
このような追跡対象の運動に基づく追跡はSORTと呼ばれており、SORTでは、検出器によってフレーム画像から追跡対象を矩形によって検出し、検出器によって得られた矩形運動情報を基に追跡する。
ところが、SORTでは、単純に矩形運動情報だけを頼りに追跡しているため、追跡対象の隠れ等は考慮しておらず、追跡の割り当てが失敗する問題があった。そこで、更に外観情報を考慮し、矩形運動情報に加えて矩形領域の見た目の類似度を測ることで誤追跡の確率を減らすDeepSORTという手法が開発された。
【0004】
しかし、複数人物追跡においては、歩行者の外観が似ている場合も多く、例えば、類似色の服(スーツなど)を着用した人々が交差するといった場面では、矩形運動情報と外観情報だけでは、追跡対象を見失うことがあるという問題があった。
また、照明変化や姿勢変化、あるいは隠れなどによっても外観情報は変化するため、これによる誤追跡が発生してしまう場合もあった。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Alex Bewley,Zongyuan Ge、Lionel Ott、Fabio Ramos、Ben Upcroft、”Simple Online and Realtime Tracking”、2016 IEEE International Conference on Image Processing (ICIP)、 pp. 3464-3468、 2016。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、歩行者を高精度で追跡することを目的とする。
【課題を解決するための手段】
【0007】
(1)請求項1に記載の発明では、動画から追跡対象の候補となる1又は複数の歩行者を検出する歩行者検出手段と、前記検出した検出歩行者と、前記動画で既に追跡している1又は複数の追跡歩行者と、を対応付ける歩行者対応付け手段と、前記検出歩行者と前記追跡歩行者の連続する歩行動作に基づく歩行状態を取得する歩行状態取得手段と、前記取得した歩行状態によって、前記対応付けた検出歩行者と追跡歩行者が同一人である程度を取得する同一人程度取得手段と、前記取得した同一人である程度に基づいて、前記対応付けた検出歩行者によって前記追跡歩行者を更新する更新手段と、を具備したことを特徴とする歩行追跡装置を提供する。
(2)請求項2に記載の発明では、前記取得した歩行状態が信頼できるか否かを判定する歩行状態判定手段を具備し、前記更新手段は、更に、前記判定に基づいて前記更新を行うことを特徴とする請求項1に記載の歩行追跡装置を提供する。
(3)請求項3に記載の発明では、前記歩行状態取得手段が、前記検出歩行者と前記追跡歩行者の画像から、それぞれの関節を検出することにより前記歩行状態を取得し、前記歩行状態判定手段は、前記関節の検出率に基づいて前記判定を行うことを特徴とする請求項2に記載の歩行追跡装置を提供する。
(4)請求項4に記載の発明では、前記歩行状態判定手段が、前記検出歩行者の関節の検出率に基づいて前記判定を行うことを特徴とする請求項3に記載の歩行追跡装置を提供する。
(5)請求項5に記載の発明では、前記歩行状態判定手段が、前記検出歩行者と前記追跡歩行者で共通して検出した関節の検出率に基づいて前記判定を行うことを特徴とする請求項3、又は請求項4に記載の歩行追跡装置を提供する。
(6)請求項6に記載の発明では、前記歩行状態判定手段が、同一人である程度が所定値より低く、かつ、前期関節の検出率が所定値より高い場合に更新しないと判定し、これに該当しない場合は、更新すると判定することを特徴とする請求項3、請求項4、又は請求項5に記載の歩行追跡装置を提供する。
(7)請求項7に記載の発明では、前記検出歩行者と前記追跡歩行者の外観による外観対応度を取得する外観対応度取得手段を具備し、前記歩行者対応付け手段は、前記取得した外観対応度を用いて前記対応付けを行うことを特徴とする請求項1から請求項6までのうちの何れか1の請求項に記載の歩行追跡装置を提供する。
(8)請求項8に記載の発明では、前記検出歩行者と前記追跡歩行者の歩行による運動状態の運動対応度を取得する運動対応度取得手段を更に具備し、前記歩行者対応付け手段は、前記取得した運動対応度を更に用いて前記対応付けを行うことを特徴とする請求項7に記載の歩行追跡装置を提供する。
(9)請求項9に記載の発明では、前記歩行者対応付け手段が、更に、前記同一人程度取得手段で取得した同一人である程度を用いて前記対応付けを行うことを特徴とする請求項7、又は請求項8に記載の歩行追跡装置を提供する。
(10)請求項10に記載の発明では、動画から追跡対象の候補となる1又は複数の歩行者を検出する歩行者検出機能と、前記検出した検出歩行者と、前記動画で既に追跡している1又は複数の追跡歩行者と、を対応付ける歩行者対応付け機能と、前記検出歩行者と前記追跡歩行者の連続する歩行動作に基づく歩行状態を取得する歩行状態取得機能と、前記取得した歩行状態によって、前記対応付けた検出歩行者と追跡歩行者が同一人である程度を取得する同一人程度取得機能と、前記取得した同一人である程度に基づいて、前記対応付けた検出歩行者によって前記追跡歩行者を更新する更新機能と、をコンピュータで実現する歩行追跡プログラムを提供する。
【発明の効果】
【0008】
本発明によれば、歩行状態を用いることにより、歩行者を高精度で追跡することができる。
【図面の簡単な説明】
【0009】
【
図1】歩行追跡装置1のハードウェア的な構成を示した図である。
【
図2】歩行追跡処理の概要を説明するための図である。
【
図3】矩形運動情報による距離を説明するための図である。
【
図4】外観情報による距離を説明するための図である。
【
図5】歩行状態の検出手順を説明するための図である。
【
図11】歩行状態による距離を説明するための図である。
【
図12】追跡歩行者と検出歩行者のマッチング方法を説明するための図である。
【
図13】歩行追跡処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
(1)実施形態の概要
従来のDeepSORTでは、人物の矩形運動情報と外観情報を用いて複数の歩行者を追跡していたが、外観の類似や、照明の変化、及び隠れなどの発生等によって外観の類似度が変化し、追跡対象の識別が困難となる場合がある。そこで、本実施形態では、追跡対象である人物の歩行状態による類似度を加えた拡張DeepSORTを構成し、これによって歩行状態推定を用いた頑健な複数人物追跡を行う。
【0011】
歩行状態はフレーム画像間の人物の姿勢変化が微小なことから対応付けに用いやすく、また、隠れなどによって一定時間の間、観測が不可能でもその時刻の姿勢を予測することが可能である。このように歩行状態は、矩形運動情報や外観情報とは異なった性質を有しているため、矩形運動情報や外観情報を補う新たな情報として適している。
また、歩行状態は、歩行者の関節に基づく骨格情報から抽出するところ、必要な関節の未検出などによって歩行状態推定の精度が低下する場合がある。そのため、関節の未検出の割合に基づく指標を設定する。そして、当該指標によって歩行状態の有効性を判断し、これに基づいて歩行者対応付けの可否判断を行う。
【0012】
(2)実施形態の詳細
図1は、歩行追跡装置1のハードウェア的な構成を示した図である。
歩行追跡装置1は、CPU(Central Processing Unit)2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、表示部5、入力部6、通信制御部7、カメラ8、記憶部10などから構成されている。
【0013】
歩行追跡装置1は、歩行者を動画撮影して、動画内で歩行者を追跡する。骨格を有する対象であれば、歩行状態を検出して歩行を追跡できるが、本実施形態では、追跡対象を人物とする。人物の他に、動物や歩行ロボットなど、骨格を有し、周期的な動作によって歩行する対象に対して適用することができる。
【0014】
図では、単一の歩行者を図示しているが、歩行追跡装置1は、集団で歩行している複数の歩行者を個別に追跡する。
CPU2は、記憶部10やROM3などに記憶されたプログラムに従って、各種の情報処理や制御を行う中央処理装置である。
本実施形態では、歩行追跡プログラムに従って情報処理することにより、動画データを構成する現フレーム画像の歩行者と、追跡中の他のフレーム画像の歩行者を対応付ける処理を繰り返すことによって歩行者を動画内で追跡する。
【0015】
ROM3は、読み取り専用メモリであって、歩行追跡装置1を動作させるための基本的なプログラムやパラメータなどを記憶している。
RAM4は、読み書きが可能なメモリであって、CPU2が動作する際のワーキングメモリを提供する。
本実施形態では、動画を構成するフレーム画像(1コマの静止画像)の画像データを展開して記憶したり、追跡対象候補として検出した歩行者の検出データや追跡中の歩行者の追跡データを記憶したりすることにより、CPU2が、歩行者を追跡するのを支援する。
【0016】
表示部5は、液晶画面などの表示デバイスを用いて構成されており、歩行追跡装置1の操作画面や動画の表示などを行う。
入力部6は、キーボードやマウスなどの入力デバイスを用いて構成されており、操作画面への入力などを受け付ける。
【0017】
通信制御部7は、インターネットやLAN(Local Area Network)などの通信ネットワーク11を介して、外部の装置との通信を行う。
本実施形態では、例えば、商店街の人通りを外部のカメラで撮影した動画データを通信ネットワーク11経由で受信して、この動画について歩行追跡処理を行うことができる。
【0018】
カメラ8は、汎用の動画撮影カメラであって、レンズで構成された光学系と、これによって結像した像を電気信号に変換する画像素子を用いて構成されている。
カメラ8は、歩行者が歩行している場所を所定のフレームレートで撮影し、これら連続するフレーム画像で構成された動画をRGB信号などの所定の画像信号によって出力する。
【0019】
記憶部10は、ハードディスクやEEPROM(Electrically Erasable Programmable Read-Only Memory)などの記憶媒体を用いて構成されており、歩行追跡プログラムやその他のプログラム、及びデータを記憶している。
【0020】
歩行追跡装置1は、ニューラルネットワークの一種であるMLP(Multilayer perceptron)による深層学習を用いて歩行者の歩行状態などを解析するが、これを高速化するためにGPGPU(General-Purpose computing on Graphics Processing Units)を用いたり、あるいは、CPU、GPU、メモリなどを一体にモジュール化した小型コンピュータを用いて小型化することもできる。この小型コンピュータは、自律走行ロボットに搭載して人物を自動追尾するのに適している。
【0021】
図2は、歩行追跡装置1が行う歩行追跡処理の概要を説明するための図である。
歩行追跡装置1は、カメラ8で、例えば、商店街の通りを定点から動画撮影し、動画内の歩行者を画像内で追跡する。
まず、歩行追跡装置1は、動画から現時刻のフレーム画像31を取得して、画像内の歩行者を、検出器を用いた画像認識によって検出し、それぞれを矩形33、33、・・・で囲んで抽出する。
そして、歩行追跡装置1は、抽出した矩形領域画像に含まれる歩行者に検出番号j=1、2、・・・を付与する。
このように、歩行追跡装置1は、動画から追跡対象の候補となる1又は複数の歩行者を検出する歩行者検出手段を備えている。
【0022】
以下、矩形33により検出した歩行者を検出歩行者と記し、検出番号jの検出歩行者を検出歩行者jと記す。
また、現時刻におけるフレーム画像を現フレーム画像と記す。現フレーム画像は、ライブ動画の場合は最新のフレーム画像であり、録画済みの動画の場合は、再生に係る最新のフレーム画像である。
以上により、歩行追跡装置1は、追跡中の歩行者とマッチングするための候補として現フレーム画像から検出した検出歩行者jからなる検出データ37を得る。
【0023】
一方、歩行追跡装置1は、現時刻まで追跡していた追跡中の歩行者のそれぞれに、追跡番号i=1、2、・・・を付与し、これらの歩行者の追跡データ38を記憶している。
以下、追跡中の歩行者を追跡歩行者と記し、追跡番号iの追跡歩行者を追跡歩行者iと記す。
追跡データ38には、検出歩行者jとの同一人物である程度を後で計算するための、追跡歩行者iごとの情報が含まれている。
【0024】
歩行追跡装置1は、矩形運動情報、外観情報、及び歩行状態を用いて、同一人物と推測される追跡歩行者iと検出歩行者jをマッチング(対応付け)し、当該マッチングさせた検出歩行者jの情報に追跡番号iを付与してこれを追跡データ38に追加することによって追跡データ38を更新する。
【0025】
このように、歩行追跡装置1は、検出した検出歩行者と、動画で既に追跡している1又は複数の追跡歩行者と、を対応付ける歩行者対応付け手段と、対応付けた検出歩行者によって追跡歩行者を更新する更新手段を備えている。
歩行追跡装置1は、この処理を単位時間ごと(例えば、フレーム画像ごと)繰り返すことにより、各歩行者を追跡する。
【0026】
詳細は後述するが、矩形運動情報、外観情報、歩行状態による同一人程度(両者の、矩形運動情報、外観情報、歩行状態における類似性に基づく、両者が同一人である可能性)の計量は概略以下のように行う。
まず、矩形運動情報に関しては、歩行追跡装置1は、単位時間前の追跡歩行者iの矩形運動情報(後述する矩形の動的な変化に基づく情報)からカルマンフィルタによって現時刻での矩形運動情報を予想する。
一方、検出歩行者jについても矩形運動情報を計算する。そして、所定の式によって矩形運動情報の距離を計測する距離空間における両者の遠近によって追跡歩行者iと検出歩行者jの同一人程度を計量する。この距離が近いほど両者の同一人程度は高くなる。
【0027】
より詳細に述べると、動画中で追跡歩行者iが歩行するとそれに伴って矩形が移動したり拡大縮小したり、アスペクト比が変化したりする。この変化と変化の早さを表すのが矩形運動情報である。そこで、単位時間前の矩形運動情報から現時刻での矩形運動情報をカルマンフィルタによって予想し、予想した矩形運動情報と、検出歩行者jの矩形運動情報が近いほど(矩形運動情報が類似しているほど)同一人程度が高い、即ち、同一人物である可能性が高いことになる。
【0028】
なお、SORT(Simple Online and Realtime Tracking)と呼ばれる手法では、矩形運動情報による同一人程度によって追跡歩行者iと検出歩行者jをマッチングする。
このように、歩行追跡装置1は、検出歩行者と追跡歩行者の歩行による運動状態の運動対応度を取得する運動対応度取得手段を備えており、歩行者対応付け手段は、当該取得した運動対応度を用いて対応付けを行う。
【0029】
一方、外観情報は、歩行者の見た目を表す情報であり、本実施形態では、矩形領域画像をCNN(Convolutional Neural Network)に入力して抽出した特徴ベクトルによって表す。なお、この他にも画像から抽出する特徴には、HOG(Histogram of Oriented Gradients)特徴量など各種のものが存在し、これらを用いることもできる。
【0030】
このようにして抽出した特徴ベクトルは、同じ方向を向くほど見た目が類似していることを意味する。そこで、本実施形態では、追跡歩行者iの特徴ベクトルと検出歩行者jの特徴ベクトルを計算し、これらのコサイン距離によって、両者の同一人程度(外観による類似度)を計量する。
このように、歩行追跡装置1は、検出歩行者と追跡歩行者の外観による外観対応度を取得する外観対応度取得手段を備えており、歩行者対応付け手段は、外観対応度を用いて対応付けを行う。
【0031】
追跡歩行者iに関しては、過去100単位時間前位までさかのぼって特徴ベクトルによる類似度を計算する。
これは、追跡歩行者iと検出歩行者jの外観類似度を計量するところ、歩行中に体が揺れたり隠れたりなど、歩行者の見え方が時間ごとに変わるので、100単位時間位まで遡って計算するのである。
【0032】
なお、SORTを発展させたDeepSORTと呼ばれる手法では、矩形運動情報による同一人程度と外観情報による同一人程度を相補的に組合せ、矩形運動情報による同一人程度と外観情報による同一人程度を用いたコスト(矩形運動情報による同一人程度と外観情報による同一人程度の和)が最低となるように追跡歩行者iと検出歩行者jを組合せて対応付けることにより両者をマッチングする。
【0033】
歩行状態は、歩行方向と歩行周期を組合せたベクトル量であって、当該ベクトルが同じ方向を向くほど、歩行動作が連続しており、同一人程度(歩行状態における類似度)が高くなる。
本実施形態では、追跡歩行者iの歩行状態と検出歩行者jの歩行状態とのコサイン距離によって、両者の同一人程度を計量する。
このように、歩行追跡装置1は、検出歩行者と追跡歩行者の連続する歩行動作に基づく歩行状態を取得する歩行状態取得手段と、歩行状態によって検出歩行者と追跡歩行者が同一人である程度を取得する同一人程度取得手段を備えている。
【0034】
歩行状態は、矩形領域画像から関節検出により抽出した追跡歩行者iや検出歩行者jの骨格情報を用いて計算するため、関節の検出率が歩行状態の質を左右する。
そこで、本実施形態では、関節の検出率に基づいて歩行状態の信頼度を定義し、当該信頼度と歩行状態による同一人程度に基づいて、DeepSORTにおける矩形運動情報と外観情報を用いたマッチングの可否を判定する。
本実施形態では、上記のDeepSORTに、更に、歩行状態に基づく可否の判定を加えて頑健性を高める。この手法を拡張DeepSORTと呼ぶことにする。
このように、歩行追跡装置1は、歩行状態が信頼できるか否かを判定する歩行状態判定手段を備えている。
【0035】
図2の右側に示したように、拡張DeepSORTによる追跡歩行者iに対する検出歩行者jの割り当てが成功した場合(即ち、コストが最低となる追跡歩行者iと検出歩行者jの組合せが探索できた場合)、歩行追跡装置1は、検出歩行者jに追跡番号iを付与して追跡データ38に追加することにより追跡データ38を更新する。
このように、更新手段は、歩行状態が信頼できるか否かの判定と同一人程度に基づいて追跡歩行者の更新を行う。
【0036】
一方、追跡歩行者iに対する検出歩行者jの割り当てが失敗して検出歩行者jが余った場合(1)、あるいは、検出歩行者jに対する追跡歩行者iの割り当てに失敗して追跡歩行者iが余った場合(2)、歩行追跡装置1は、IOU(Intersection over Union)マッチングを試みる。
【0037】
IOUマッチングは、検出歩行者jの矩形領域と追跡歩行者iの矩形領域の重なり率によってマッチングする手法であって、カルマンフィルタで予想した追跡歩行者iの現時刻における矩形領域の面積をX、検出歩行者jの矩形領域の面積をY、両者の重なった領域の面積をZとした場合の重なり率Z/(X+Y-Z)×100が所定の閾値以上の場合に両者を対応付ける。
【0038】
歩行追跡装置1は、IOUマッチングで割り当てに成功した場合、検出歩行者jに追跡番号iを付与して追跡データ38に追加することにより追跡データ38を更新する。
一方、追跡歩行者iに対する検出歩行者jの割り当てが失敗して検出歩行者jが余った場合(1)、歩行追跡装置1は、新規の歩行者が画面に入ってきたと判断し、当該検出歩行者jに追跡番号を新規に付与して追跡データ38に追加することにより追跡データ38を更新する。
また、検出歩行者jに対する追跡歩行者iの割り当てに失敗して追跡歩行者iが余った場合(2)、これは追跡歩行者iが画面から出て行ったか、あるいは一時的に隠れたためと考えられるため、当該追跡歩行者を追跡データ38で保持するか、又は解除する。
【0039】
図3は、矩形運動情報による距離を説明するための図である。
本実施形態では、フレーム画像で歩行者(追跡歩行者や検出歩行者)を、
図3(a)に示したような、中心の座標が(u、v)で、高さがhの矩形33で囲み、矩形領域画像とする。
そして、
図3(b)の式(3-1)で示したように、矩形の中心座標(u、v)、アスペクト比γ、高さh、及び、それぞれの時間微分をパラメータとして有する8次元のベクトルxで矩形運動情報を表す。
なお、xは、ベクトル量であるため、太文字で表すべきであるが、文字の誤変換を防ぐために、ベクトル量を通常の書体で記すことにする。また、数式中の上下付き文字や中抜き文字も通常の書体で記すことにする。
【0040】
そして、単位時間前の追跡歩行者iの矩形運動情報からカルマンフィルタによって予想した現時刻での矩形運動情報と現時刻の検出歩行者jの距離d(1)(i、j)を式(3-2)のマハラノビス距離で計量する。マハラノビス距離は、相関を持つデータ間の、当該相関を考慮した距離である。
式中のdjは、検出歩行者jの矩形運動情報であり、yiとs-1iは、カルマンフィルタによって予想した追跡歩行者iの矩形運動情報と共分散行列である。また、Tはベクトルの転置を表している。
ここでは、カルマンフィルタとして、等速直線運動を仮定した線形モデルを使用した。
このように計量が定義された距離空間で、追跡歩行者iの予想に係る矩形運動情報と検出歩行者jの矩形運動情報との距離d(1)を計算すると、両者が近いほど、追跡歩行者iと検出歩行者jが類似しており、同一人程度が高いことになる。
【0041】
更に、歩行追跡装置1は、追跡歩行者iと検出歩行者jの矩形運動情報による対応の不確定性を表す2値判定式b(1)i、jを式(3-3)で定義する。
ここで1[Q]は、[ ]内の条件式Qが満たされたとき、1を返し、それ以外では0を返す関数であり(以下同じ)、d(1)が閾値t(1)以下の場合に1を返し、t(1)より大きい場合に0を返す。
本実施形態では閾値t(1)を自由度4の逆カイ二乗分布で、信頼度95%区間の値であるt(1)=9.488に設定した。
2値判定式b(1)i、jは、検出歩行者jの矩形運動情報が追跡歩行者iの矩形の予測に基づく矩形運動情報から大きく外れているときは、矩形の大きさや速度が両者で大きく異なるなどして別人である可能性が高いため0を返し、これらが大きく異ならない場合には1を返す。
【0042】
図4は、外観情報による距離を説明するための図である。
本実施形態では、Triplet Loss関数による損失関数を用いてCNNによる深層距離学習を行うことにより、外観情報による類似度を計量するための距離空間として当該CNNを用いた計量空間を用意した。
この計量空間は、
図4の式(4-1)に示したTripletの組(qA、qP、qN)を、CNNによって特徴空間に写像し、写像したf(qA)とf(qP)の間の距離が、f(qA)とf(qN)の間の距離よりも小さくなるように、CNNを学習させることにより構築したものである。
【0043】
ここで、qAは、Anchorとなる歩行者が写った画像であり、qPは、qAと同一歩行者が写った別の画像であり、qNは、qAと異なる歩行者が写った別の画像である。
この学習を多数の組(qAi、qPi、qNi)で繰り返すと、
図4(a)で示した学習前の計量空間41と学習後の計量空間42のように、同一人物間の距離はより小さく、異なる人物間の距離はより大きくなるように写像する計量空間が形成される。
【0044】
本実施形態では、追跡歩行者iの矩形領域画像と検出歩行者jの矩形領域画像をCNNによって当該構成した計量空間に写像し、両者の外観類似による同一人程度を
図4(c)の式(4-2)に示したコサイン距離d(2)(i、j)によって計量する。
rTjは、CNNによって写像した検出歩行者jの特徴ベクトルであって、r(i)kは、CNNによって写像した追跡歩行者iの特徴ベクトルであり、何れも正規化されている。
ここで、kは、過去時刻t-1、t-2、・・・をk=1、2、・・・、Lkに対応させたものであり、Lkは、一例として、100とした。
【0045】
式(4-2)の意味するところは次の通りである。
例えば、検出歩行者jと追跡歩行者iの距離d(2)(i、j)を求める場合、検出歩行者jの特徴ベクトルiと、追跡歩行者iの過去100単位時間(一例としてLk=100とした)まで遡った各特徴ベクトルr(i)kとの内積を計算し、1から当該内積を減算した値を比較する。そして、最も小さい距離をd(2)(i、j)として採用する。
内積は-1から1までの値を取るので、検出歩行者jと追跡歩行者iの特長ベクトルが同じ方向を向いているほど(即ち、外観が類似しているほど)d(2)(i、j)は0に近い値を取る。
【0046】
例えば、検出歩行者jと、追跡番号1の追跡歩行者1との距離d(2)(1、j)を求める場合、
図4(b)に示したように、rjと、集合Rkに含まれるi=1の行の各r(1)kとの内積から、(1-内積)の値を求め、その最小値を距離d(2)(1、j)とする。なお、集合Rkは検出データ37から取得する。
歩行追跡装置1は、この処理を各追跡歩行者iに対して行い、検出歩行者jと各追跡歩行者i(i=1、2、・・・)とのそれぞれの距離d(2)(i、j)を計量する。
【0047】
更に、本実施形態では、外観情報による追跡歩行者iと検出歩行者jの同一人程度の不確定性を表す2値判定式b(2)i、jを式(4-3)で定義する。
b(2)i、jは、d(2)(i、j)が閾値t(2)以下の場合は1を返し、t(2)より大きい場合は0を返す。これにより、b(2)i、jは、検出歩行者jの外観が、追跡歩行者iの外観から大きく異なるときに0を返す。
【0048】
次に、歩行状態について説明する。
図5は、歩行状態の検出手順の全体像を説明するための図である。
まず、歩行追跡装置1は、フレーム画像から歩行者9(検出歩行者、追跡歩行者の何れでもよい)を矩形により人物検出する。そして、検出した歩行者9の関節を検出し、これに基づいて歩行者9の姿勢を推定するために骨格情報15を抽出する。
【0049】
骨格情報15の抽出には、例えば、OpenPoseやPoseNetといったソフトウェアで一般的に利用されている技術を用いることができる。
次に、歩行追跡装置1は、抽出した骨格情報15を、予め骨格情報に対応する歩行状態を学習しておいたMLP16に入力して歩行状態sを推定する。
【0050】
後述するように、本実施形態では、歩行者が歩行する際の周期的な歩行動作に基づいて歩行状態sを定義し、歩行方向の2次元と、歩行段階の2次元で張られた4次元の歩行状態空間17における4次元ベクトルとして歩行状態sを表す。
【0051】
図6は、骨格情報を説明するための図である。
本実施形態では、骨格情報15をジョイント番号0~24の合計25個のジョイントで定義した。以下、ジョイント番号0のジョイントをJ0などと略記する。ジョイントは、骨格情報において関節として機能する部位であって、ジョイントを中心としてこれらを結ぶ線分を回転させることにより姿勢を変化させることができる。本実施形態で用いたジョイントと人体部位との対応関係は次の通りである。
【0052】
J0:鼻、J1:首、J2:右肩、J3:右肘、J4:右手首、J8:腰部中心、J9:腰部右、J10:右膝、J11:右足首、J15:右目、J17:右耳、J22:右足親指、J23:右足小指、J24:右かかと、以下、対応する左半身も同様である。
【0053】
歩行追跡装置1は、矩形で検出した人物の画像において、各ジョイントの画像上での2次元座標値を取得することにより、姿勢に応じた骨格情報を2次元データとして抽出する。
座標を取得する元となる画像は、フレーム画像から人物検出で切り出した矩形領域画像における座標でもよいし、フレーム画像上での座標でもよい。
【0054】
図7は、歩行方向を説明するための図である。
図7(a)は、撮影エリアを上から見たところを示しており、歩行者の歩行方向dを、歩行面に平行な平面上の単位ベクトルで表す。
図の例では、撮影方向のD1軸と、これに垂直なD2軸で張られるD平面を設定し、歩行者を中心として回転する単位ベクトルによって歩行方向dを定義した。
【0055】
計測する角度の基点は、どこでもよいが、図の例のようにD1を基点とする反時計回りの角度θ(0°≦θ<360°)で計測すると、歩行方向dの成分は、
図7(b)に示したように、d=(d1、d2)=(cosθ、sinθ)となる。
【0056】
図8は、歩行段階を説明するための図である。
図8(a)に示したように、歩行動作(足や手を運動させて体の重心を移動させる全身の連続動作)を歩行方向に垂直な方向から観察すると、歩行者は、同じ周期的な動作を連続的に繰り返している。
【0057】
1歩行周期は、例えば、右足を着地する(歩行者9a)→右足に重心を乗せる(歩行者9b)→左足を振り出す(歩行者9c)→左足を着地する(歩行者9d)→右足を振り出す(歩行者9e、図は省略)、の各歩行段階で構成されている。
このように歩行動作は周期的な動作であるため、歩行段階は1歩行周期の位相で表すことができる。
【0058】
そこで、
図8(b)で示したように直交するP1、P2軸で張られるP平面を想定し、歩行の位相の位相角φ(0°≦φ<360°)に対応してP平面上を回転する単位ベクトル(p1,p2)によって歩行段階pを定義した。
位相角の起点は、どこでもよいが、図の例では、歩行者9aの段階を位相角φの起点とし、歩行者9b~9eの段階に進むに従って反時計回りに増大するようにφを定義した。
なお、
図8(b)では、歩行者9eを省略し、P1、P2軸による単位円上に歩行者9a~9dを順に表示した概念図であって、P1、P2軸と、歩行者9a~9dの正確な対応関係を示すものではない。
【0059】
このように歩行段階pを2次元ベクトルで表すと、その成分は、
図8(c)に示したように、p=(p1、p2)=(cosφ、sinφ)となる。
【0060】
図9は、歩行状態を説明するための図である。
図9(a)に示したように、歩行方向dと歩行段階pを合わせた4次元ベクトルで歩行状態s=(d1、d2、p1、p2)を定義する。
図示すると、歩行状態sは、
図9(b)で示したようなD1、D2、P1、P2軸で張られる4次元の歩行状態空間17内の正規化されたベクトルsで表される。
4次元空間は図示することはできないため、図では、模式的にD1~P2軸を示してある。
【0061】
このように歩行方向dと歩行段階pを組合せて歩行状態sを定義すると、歩行方向dや歩行段階pのばらつきによる歩行状態sのずれが小さくなるように、これらが相補的に機能するため、歩行状態検出の頑健性を高めることができる。
【0062】
ところで、歩行者が歩行する様子、即ち歩容によって歩行者を識別する技術は、従来各種のものが提案されているが、これらは何れも、歩行者がある時間歩いたシーケンスにおいて歩容を取得している。これに対し、本実施形態の歩行追跡装置1は、歩行者が歩いている一場面を切り取ったワンショットの画像から歩行状態を推定できるところが大きな特徴の1つである。
【0063】
そのため、単位時間前の追跡歩行者iの矩形領域画像1枚と検出歩行者jの矩形領域画像1枚から歩行状態の同一性を計量することができる。
このように、歩行追跡装置1が備える歩行状態取得手段は、検出歩行者と追跡歩行者の画像から、それぞれの関節を検出することにより歩行状態を取得する。
【0064】
図10は、MLPを説明するための図である。
歩行追跡装置1は、MLP(多層パーセプトロン:ニューラルネットワークの一種)による深層学習によって歩行状態sを計算する。
MLP16は、入力層、中間層、及び出力層を備えている。中間層の層数は3、各中間層のノード数は64とした。
【0065】
入力層は、フレーム画像上でのJ0の座標値(x0、y0)、J1の座標値(x1、y1)、・・・、J24の座標値(x24、y24)の、それぞれを入力する50個のノードを備えている。
出力層は、歩行状態s=(d1、d2、p1、p2)の各成分を出力する4個のノードを備えている。
【0066】
活性化関数はReLUを用い、エポック数を100、バッチサイズを256とした。ReLUは、MLPで一般的に使われる非線形の関数である。活性化関数の非線形性により、対象(ここでは歩行状態)を非線形分離することができる。
エポック数は、学習回数であり、バッチサイズは、学習データをバッチに分けて学習させる際の各バッチに含まれる学習データ数である。
【0067】
学習については、様々な歩行状態の画像を用意し、これらのジョイント座標値j=[x0、y0、・・・、x24、y24]と歩行状態s=[d1、d2、p1、p2]からなる学習データ(j、s)を用いて教師あり学習を行った。
つまり、学習データ(j、s)のjを入力すると、MLP16はsを出力するが、これを正解であるところの学習データ(j、s)のsと比較し、その誤差が小さくなるように中間層などのパラメータを調整した。
このようにパラメータが調整されたMLP16を用いると、あるフレーム画像から抽出た骨格情報15のジョイント座標値を入力するだけで、歩行状態s、即ち、歩行方向dと歩行段階pを同時に算出することができる。
【0068】
図11は、歩行状態による距離を説明するための図である。
本実施形態では、追跡歩行者iの歩行状態siと、検出歩行者jの歩行状態sjとの距離を
図11(a)の式(11-1)に示したコサイン距離d(3)(i、j)によって計量する。
即ち、単位時間前の追跡歩行者iの歩行状態siと、検出歩行者jの歩行状態sjの内積をとり、1から当該内積を減算してd(3)(i、j)を計算する。
【0069】
内積は-1から1までの値を取るので、検出歩行者jと追跡歩行者iの歩行状態によるベクトルが同じ方向を向いているほど(即ち、歩行状態が同じほど)d(3)(i、j)は0に近い値を取る。
歩行は連続動作であるため、1フレーム間隔での単位時間では、歩行状態はほとんど変わらない。そのため、d(3)(i、j)によって、追跡歩行者iと検出歩行者jの同一程度を式(11-1)で距離が定義された距離空間で計量することができる。
【0070】
次に、歩行状態による同一人程度の信頼度について説明する。
歩行者の骨格検出には関節の検出落ちが発生するため、骨格検出に基づいた歩行状態を追跡に直接用いると誤検出となる場合がある。
そこで、本実施形態では、検出率に基づく指標として、式(11-2)の指標r1(j)と式(11-3)の指標r2(i、j)を設定した。
【0071】
指標r1(j)は、現時刻の検出歩行者jにおける関節点の検出率を表している。
njは、検出歩行者jの矩形領域画像で検出した関節数であり、mは、最大の関節数(総関節数であり、ここでは、m=25)である。これにより、指標r1(j)は、0以上1以下の値となる。
【0072】
指標r2(i、j)は、単位時刻前の追跡歩行者iと現時刻の検出歩行者jで共通して検出した関節点の割合を表している。
ここで、oi、ojは、関節検出フラグであって、式(11-4)で表され、それぞれ、追跡歩行者iと検出歩行者jにおける各関節の未検出/検出を0/1で表現したm次元ベクトルである。oiとojの内積によって、共通して検出した関節の数を得ることができる。
また、njは、検出歩行者jで検出した関節数である。これにより、指標r2(i、j)は、0以上1以下の値となる。
【0073】
そして、本実施形態では、指標r1(j)、指標r2(i、j)を組合せて歩行状態の信頼度ω(i、j)を式(11-5)で定義した。
第1項は、指標r1(j)が閾値τ1以下のときに1を返し、τ1より大きい場合は0を返す。
第2項は、指標r2(i、j)が閾値τ2以下のときに1を返し、τ2より大きい場合は0を返す。τ1、τ2には、実験に基づく適当な値を設定する。
【0074】
このため、指標r1(j)≦τ1、かつ、指標r2(i、j)≦τ2のとき信頼度ωは1となり、少なくとも何れか一方が条件を満たさない場合は、0となる。
このように、歩行追跡装置1が有する歩行状態判定手段は、検出歩行者の関節の検出率、具体的には、検出歩行者の関節の検出率r1(j)と、検出歩行者と追跡歩行者で共通して検出した関節の検出率r2(i、j)に基づいて判定する。
【0075】
更に、本実施形態では、信頼度ω(i、j)を用いて、歩行状態による追跡歩行者iと検出歩行者jの対応の不確定性を表す2値判定式b(3)i、jを式(11-6)のとおり定義する。t(3)は、実験に基づく適当な値に設定した閾値であり、式中の1[Q]は、d(3)がt(3)以下のときに1を返す。
【0076】
2値判定式b(3)i、jの値は、
図11(b)の表に示したように、ω(i、j)が1で、1[Q]のとき0となり、他の場合には1となる。
そして、本実施形態では、2値判定式b(3)i、j=1の場合は、不確定性無しとし、2値判定式b(3)i、j=0の場合は不確定性有りとする。
【0077】
即ち、追跡歩行者iと検出歩行者jの歩行状態が異なっており、かつ、関節の検出率が高い場合に不確定性有りとし、他の場合は不確定性無しとする。
これによって、表に示した上段2つのb(3)i、jと最下段のb(3)i、jが1となるが、これらの1は、意味合いが異なる。
上段2つのb(3)i、j=1は、消極的な1であり「不確定性有りとは言えない」を意味し、最下段のb(3)i、j=1は、積極的な1であり「不確定性無し」を意味する。
【0078】
歩行追跡装置1は、後述するように2値判定式b(3)i、jを判定指標Bi、jに含め、2値判定式b(3)i、j=0の場合は、当該追跡歩行者iと検出歩行者jの組による追跡歩行者iの更新を行わない。
このように、歩行追跡装置1が備える歩行状態判定手段は、歩行状態による同一人である程度が所定値より低く(この場合、1[Q]=0)、かつ、関節の検出率が所定値より高い場合(この場合ω(i、j)=1)に更新しないと判定し、これに該当しない場合は、更新すると判定する。
【0079】
なお、以上では、単位時間前の追跡歩行者iの歩行状態siを用いたが、歩行状態は、短時間では大きく変化しないため、更に、以前の追跡歩行者iの歩行状態siを単位時間前の予想値として用いることも可能である。
このため、例えば、隠れなどの影響により、単位時間前の追跡歩行者iで関節の未検出率が高かった場合、更に過去に遡って関節の検出率の高い追跡歩行者iを探索して、これを用いることも可能である。
【0080】
図12は、追跡歩行者iと検出歩行者jのマッチング方法を説明するための図である。
本実施形態では、
図12(a)の式(12-1)に示したように、d(1)(i、j)とd(2)(i、j)の線形結合により、コスト指標Ci、jを定義した。λは、0≦λ≦1を満たすパラメータであり、適当な値に設定する。特にカメラに動きがある場合には、経験的にλ=0がよいとされている。この場合は、外観情報だけで計算する。
このように、歩行追跡装置1は、矩形運動情報と外観情報を相補的に組合せることによりコスト指標Ci、jを計算する。
【0081】
また、本実施形態では、コスト指標Ci、jの信頼性を評価するために、式(12-2)に示した判定指標Bi、jを定義した。
図12(b)に示したように、判定指標Bi、jは、追跡歩行者iと検出歩行者jの組合せにおいてb(1)×b(2)×b(3)(煩雑を避けるため下付きのi、jを略した)を計算するものであり、全てが1のとき1となり、少なくとも1つが0のときは、0となる。そして、ここでは、式(12-3)で示したように、B=0のときはB=∞とおく。
【0082】
本実施形態では、コスト指標Ci、jに判定指標Bi、jを乗じた値を追跡歩行者iと検出歩行者jの組合せのコストとし、追跡歩行者iと検出歩行者jを組合せた各組のコストの総和が最小となるような追跡歩行者iと検出歩行者jの組の組合せを探索する。
例えば、(追跡歩行者1、検出歩行者3)、(追跡歩行者2、検出歩行者5)、(追跡歩行者3、検出歩行者1)、・・・などと各組を組合せて、各組のコストの総和である、(C1、3×B1、3)+(C2、5×B2、5)+(C3、1×B3、1)+・・・を計算する。この際に、総和の式に追跡歩行者iや検出歩行者jが重複して現れないようにする。
【0083】
そして、総コストが最小となる組の組合せを探索し、当該組合せに係る追跡歩行者iと検出歩行者jを対応付ける。
この際に、判定指標Bi、jが∞(無限大)となる項が含まれるものについては、総和が無限大に発散するため、追跡歩行者iと検出歩行者jの対応付けの対象外となる。
【0084】
図12(b)は、追跡歩行者iと検出歩行者jの各組合せに対するコストの一例を示している。行は追跡歩行者1、2、・・・、Nを表し、列は検出歩行者1、2、・・・、Mを表している。
コストは、判定指標Bi、jが1の場合はコスト指標Ci、jになり、判定指標Bi、jが無限大の場合は無限大になる。
図の例では、例えば、(追跡歩行者1、検出歩行者1)の組合せではコストが0.1となっており、(追跡歩行者1、検出歩行者2)の組合せではコストが∞となっている。
このため、追跡歩行者iと検出歩行者jを組合せるに際して、(追跡歩行者1、検出歩行者2)の組は、組合せ対象外となる。
【0085】
上にも述べたように、歩行追跡装置1は、この表から追跡歩行者iと検出歩行者jの重複が無いように選択し、総コストが最小となる追跡歩行者iと検出歩行者jの組の組合せによって、追跡歩行者iと検出歩行者jを対応付ける。
何れの選択によっても総コストが無限大となって最小コストが存在しない場合は、追跡歩行者iと検出歩行者jの割り当ては失敗したことになる。
【0086】
以上に説明した実施形態では、矩形運動情報と外観情報を用いてコスト指標Ci、jを構成したが、
図12(c)の式(12-4)に示したように、更に、歩行情報を用いることもできる。
この例では、d(1)(i、j)、d(2)(i、j)、d(3)(i、j)をα、β、γの割合で線形結合することによりCi、jを構成する。ただし、式(12-5)に示したように、α、β、γの総計を1とする。ただし、0≦α、β、γ≦1である。
この例は、拡張DeepSORTでコスト計算部分に更に歩行状態による同一人度を含めるように、更に拡張するものである。
この例に係る歩行者対応付け手段は、同一人程度取得手段で取得した同一人である程度を用いて対応付けを行う。
【0087】
図13は、歩行追跡装置1が行う拡張DeepSORTによる歩行追跡処理を説明するためのフローチャートである。
以下の処理は、記憶部10が記憶する歩行追跡プログラムをCPU2が実行することにより行うものである。
既に追跡を開始しており、対応付けが済んだ追跡歩行者iの追跡データ38をRAM4に記憶しているものとする。
まず、CPU2は、現時刻において、カメラ8から現フレーム画像を取得してRAM4に記憶する(ステップ5)。
【0088】
次に、CPU2は、記憶したフレーム画像で検出器による矩形を用いた人物検出を行い、検出歩行者j(j=1、2、・・・)の矩形領域画像を検出データ37(
図2)としてRAM4に記憶する(ステップ10)。
次に、CPU2は、単位時間前の追跡歩行者i(i=1、2、・・・)の矩形領域画像を追跡データ38から取得し、これら追跡歩行者iの矩形運動情報xを式(3-1)に従って算出してRAM4に記憶する(ステップ15)。
【0089】
次に、CPU2は、各検出歩行者jの矩形領域画像から、それぞれの外観情報をCNNによって計量空間42(
図4(a))に写像することにより算出してRAM4に記憶し、更に、追跡データ38が有する集合Rk(
図4(b))に含まれる各追跡歩行者iについても同様にして内積計算用に外観情報を算出してRAM4に記憶する(ステップ20)。
なお、集合Rkについて外観情報を計算する場合、これまでの追跡で既に外観情報を計算済みの矩形領域画像については、それをRAM4から読み出して流用するように構成することもできる。
【0090】
次に、CPU2は、各検出歩行者jの矩形領域画像において骨格情報15(
図6)を検出してRAM4に記憶すると共に、単位時間前の各追跡歩行者iの矩形領域画像をRAM4から読み出して骨格情報15を検出し、RAM4に記憶する(ステップ25)。
なお、追跡歩行者iの骨格情報15に関しては、これまでの追跡で既に抽出済みの骨格情報15をRAM4から読み出して流用するように構成することもできる。
【0091】
次に、CPU2は、RAM4に記憶した各検出歩行者jと各追跡歩行者iの骨格情報15に基づいて、各検出歩行者jの歩行状態sjと、各追跡歩行者iの歩行状態siを算出してRAM4に記憶する(ステップ30)。
【0092】
次に、CPU2は、追跡歩行者iと検出歩行者jの全ての組合せを生成し、各組について、ステップ15でRAM4に記憶した矩形運動情報と、ステップ20でRAM4に記憶した外観情報を用いて、式(3-2)のd(1)(i、j)と、式(4-2)のd(2)(i、j)の各距離を計算してRAM4に記憶する。更に、CPU2は、当該記憶したd(1)、d(2)を用いて各組のコスト指標Ci、jを式(12-1)によって計算してRAM4に記憶する(ステップ35)。
【0093】
次に、CPU2は、追跡歩行者iと検出歩行者jの各組について式(12-2)の判定指標Bi、jを計算してRAM4に記憶する(ステップ40)。
ここで、CPU2は、判定指標Bi、jを計算するのに用いる2値判定式b(1)i、j、2値判定式b(2)i、jを、それぞれ式(3-3)、式(4-3)に従って計算する。
【0094】
2値判定式b(3)i、jについては、次の通りである。
CPU2は、RAM4に記憶した各検出歩行者jの矩形領域画像について、検出した関節数njをカウントして式(11-2)の指標r1(j)を計算し、これをRAM4に記憶する。
更に、CPU2は、各追跡歩行者iの矩形領域画像から式(11-4)の関節検出フラグoiを生成してRAM4に記憶すると共に、各検出歩行者jの矩形領域画像から式(11-4)の関節フラグojを生成してRAM4に記憶する。
そして、CPU2は、各組についてのoiとojの内積を用いて式(11-3)の指標r2(i、j)を算出してRAM4に記憶する。
【0095】
次に、CPU2は、RAM4に記憶した指標r1、指標r2を用いて各組ごとに式(11-5)の信頼度ω(i、j)を計算してRAM4に記憶し、更に、当該記憶した信頼度ω(i、j)を用いて式(11-6)のb(3)i、jを算出してRAM4に記憶する。
【0096】
次に、CPU2、ステップ35でRAM4に記憶したコスト指標Ci、jと、ステップ40でRAM4に記憶した判定指標Bi、jを用いて、各組のコストを計算してRAM4に記憶する。
そして、CPU2は、総コストが最低となる組の組合せを探索することにより追跡歩行者iと検出歩行者jのコストによる対応付けを行う。
【0097】
当該対応付けが成功した場合(ステップ45;Y)、CPU2は、当該対応付けに基づいて追跡データ38を更新する(ステップ50)。
コストによる対応付けが失敗した場合(ステップ45;N)(
図2の割り当て失敗(1)又は割り当て失敗(2))、CPU2は、IOUマッチングによる対応付けを試みる。
IOUマッチングによる対応付けが成功した場合(ステップ55;Y)、CPU2は、追跡データ38を更新する(ステップ50)。
【0098】
IOUマッチングによる対応付けが失敗した場合(ステップ55;N)、CPU2は、検出に成功したが追跡歩行者との対応付けに失敗した検出歩行者に関しては(ステップ60;Y)、新たに画面に入ってきた歩行者であると判断して追跡データ38に追加する(ステップ65)。
一方、追跡歩行者に対応する検出歩行者が検出されなかった場合(ステップ60;N)、CPU2は、画面から消えた歩行者であると判断し、当該追跡歩行者を、例えば、再度画面に現れる可能性を考慮して一定時間保持した後、追跡データ38に対する登録を解除するなどの処理を行う(ステップ70)。
【0099】
図14は、実験結果を説明するための図である。
本実験では、DeepSORTと拡張DeepSORTで歩行者を追跡し、IDF1(Identification F1)を比較した。
IDF1は、真の追跡対象をどれくらい長い間追跡できているかを表す評価指標であり、1に近いほど精度が高いことを示している。
【0100】
また、評価実験には、
図14(a)に示したA~Eの5種の動画データを用いた。何れも、追跡精度の評価用に公開されている動画であって、一般に使用されているものである。
例えば、Aは、商店街の通りの人通りを撮影したものであり、Bは、キャンパスを行き交う人々を撮影したものである。
【0101】
図14(b)は、評価を表した表であり、これをグラフ化したのが
図14(a)である。
図14に示したように、A~Eの何れにおいても、本実施形態の拡張DeepSORTは、DeepSORTよりも高い精度を示している。
IDF1の平均値は、拡張DeepSORTが0.712で、DeepSORTが0.687であり、拡張DeepSORTを採用することにより、精度が3.6%ほど向上した。
【0102】
以上に説明した本実施形態により次のような効果を得ることができる。
(1)矩形運動情報(外接矩形の運動情報)と外観情報に加えて歩行状態を考慮することで頑健な複数人数の追跡を行うことができる。
(2)歩行状態はフレーム画像間の人物の姿勢変化が微小なことから対応付けに用いやすく、また、隠れなどによって一定時間の間観測が不可能であっても、その時刻の姿勢を予想することが可能である。
(3)骨格情報の未検出などによって歩行状態推定の精度が低下する場合があることを考慮し、歩行状態を有効に使用するための使用判断の指標として、骨格情報の未検出の割合を用いることができる。
【符号の説明】
【0103】
1 歩行追跡装置
2 CPU
3 ROM
4 RAM
5 表示部
6 入力部
7 通信制御部
8 カメラ
9 歩行者
10 記憶部
11 通信ネットワーク
15 骨格情報
16 MLP
17 歩行状態空間
31 フレーム画像
33 矩形
37 検出データ
38 追跡データ
41、42 計量空間