(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】推論装置、物体カウント方法、及びプログラム
(51)【国際特許分類】
G06T 7/254 20170101AFI20241126BHJP
G06M 7/00 20060101ALI20241126BHJP
【FI】
G06T7/254
G06M7/00 301Q
(21)【出願番号】P 2020192531
(22)【出願日】2020-11-19
【審査請求日】2023-07-13
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】田良島 周平
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開平08-136219(JP,A)
【文献】国際公開第2015/075870(WO,A1)
【文献】特開2021-022315(JP,A)
【文献】特開2015-018330(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/254
G06M 7/00
(57)【特許請求の範囲】
【請求項1】
物体が撮影された映像から、予め定めたラインを通過する物体をカウントする推論装置であって、
ライン通過のカウントの対象となる対象物体を、前記映像から検出する検出部と、
前記対象物体が、前記ラインを通過して、第1領域から第2領域に移動したことを検出した場合にカウント値を増加させるカウント部と、を備え、
前記映像上で、前記ラインの近傍にライン近傍領域が設定され、当該ライン近傍領域は、前記第1領域と前記第2領域のいずれにも属さ
ず、
前記カウント部は、
前記対象物体が位置する領域として、前記第1領域又は前記第2領域を記憶部に記憶し、前記対象物体が位置する領域が前記ライン近傍領域である場合には、前記記憶部に記憶されている領域を更新せず、
前記記憶部に記憶されている領域が、前記第1領域である状態において、前記対象物体が位置する領域が前記第2領域になった場合に、前記カウント値を増加させる
推論装置。
【請求項2】
前記カウント部は、前記対象物体が、前記ラインを通過して、前記第1領域から前記第2領域に移動したことを検出した場合に、前記第1領域から前記第2領域への移動に対応するカウント値を増加させるとともに、別の対象物体が、前記ラインを通過して、前記第2領域から前記第1領域に移動したことを検出した場合に、前記第2領域から前記第1領域への移動に対応するカウント値を増加させる
請求項1に記載の推論装置。
【請求項3】
前記検出部により検出された複数の対象物体のサイズに基づいて、前記ライン近傍領域のサイズであるライン近傍サイズを算出し、当該ライン近傍サイズを前記カウント部に入力するバッファサイズ更新部を更に備える
請求項1
又は2に記載の推論装置。
【請求項4】
物体が撮影された映像から、予め定めたラインを通過する物体をカウントする推論装置が実行する物体カウント方法であって、
ライン通過のカウントの対象となる対象物体を、前記映像から検出する検出ステップと、
前記対象物体が、前記ラインを通過して、第1領域から第2領域に移動したことを検出した場合にカウント値を増加させるカウントステップと、を備え、
前記映像上で、前記ラインの近傍にライン近傍領域が設定され、当該ライン近傍領域は、前記第1領域と前記第2領域のいずれにも属さ
ず、
前記カウントステップにおいて、
前記対象物体が位置する領域として、前記第1領域又は前記第2領域を記憶部に記憶し、前記対象物体が位置する領域が前記ライン近傍領域である場合には、前記記憶部に記憶されている領域を更新せず、
前記記憶部に記憶されている領域が、前記第1領域である状態において、前記対象物体が位置する領域が前記第2領域になった場合に、前記カウント値を増加させる
物体カウント方法。
【請求項5】
コンピュータを、請求項1ないし
3のうちいずれか1項に記載の推論装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像データに映り込む物体のうち、予め決められたラインを通過する物体をカウントする技術に関連するものである。
【背景技術】
【0002】
映像データから物体(例えば人間)を検出して、例えば施設の内部と外部の境界部分に引かれたラインを通過する物体をカウントする物体カウント技術がある。
【0003】
映像データに映り込む物体のうち、予め決められたラインを通過する物体をカウントすることは、所定の空間内に存在する物体の数の把握につながり、施設内の混雑度判定やマーケティングへ応用することができる。昨今のコロナ禍に伴うニューノーマルワークスタイル/ライフスタイルへの転換の要請を併せて鑑みても、物体カウント技術の産業応用性は極めて高いといえる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、オプティカルフロー計算や汎用的な物体検出器等の従来技術を使用して物体カウントを行う場合には、訓練に高いコストを要することや、カウントの精度が低いといった点で課題がある。
【0006】
本発明は上記の点に鑑みてなされたものであり、低コストで高精度に物体カウントを行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術によれば、物体が撮影された映像から、予め定めたラインを通過する物体をカウントする推論装置であって、
ライン通過のカウントの対象となる対象物体を、前記映像から検出する検出部と、
前記対象物体が、前記ラインを通過して、第1領域から第2領域に移動したことを検出した場合にカウント値を増加させるカウント部と、を備え、
前記映像上で、前記ラインの近傍にライン近傍領域が設定され、当該ライン近傍領域は、前記第1領域と前記第2領域のいずれにも属さず、
前記カウント部は、
前記対象物体が位置する領域として、前記第1領域又は前記第2領域を記憶部に記憶し、前記対象物体が位置する領域が前記ライン近傍領域である場合には、前記記憶部に記憶されている領域を更新せず、
前記記憶部に記憶されている領域が、前記第1領域である状態において、前記対象物体が位置する領域が前記第2領域になった場合に、前記カウント値を増加させる
推論装置が提供される。
【発明の効果】
【0008】
開示の技術によれば、低コストで高精度に物体カウントを行うことを可能とする技術が提供される。
【図面の簡単な説明】
【0009】
【
図5】実施例1の推論装置の動作を説明するための図である。
【
図7】ライン近傍領域とラインとの関係の例を説明するための図である。
【
図9】実施例1の学習装置の動作を説明するための図である。
【
図11】実施例2の推論装置の動作を説明するための図である。
【
図12】装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
(本実施の形態の概要)
本実施の形態では、後述する推論装置100(及び推論装置300)が、映像データに映り込む1以上の物体のうち、予め決められたラインを通過する物体をカウントする。
図1は、物体カウントの例を示している。
【0012】
図1の例においてカウントの対象となる物体は人間であり、ラインは施設の内部と外部の境界部分に引かれている。
図1の左側では、物体が施設の外部から内部に入るようにラインを通過しているため、施設内部に入る物体の数が1インクリメント(「In+1」と表す)されることが示されている。
図1の右側では、物体が施設の内部から外部に出るようにラインを通過しているため、施設から出る物体の数が1インクリメント(「Out+1」と表す)されることが示されている。
【0013】
(課題について)
物体カウントを行うために、例えば、従来技術であるオプティカルフロー計算で得られたライン上での速度場に基づいて、入力映像から移動物体領域を抽出し、得られた各々の領域に対して含まれる対象物体の数をカウントする方法(方法1とする)を用いることが考えられる。
【0014】
この方法1では、移動物体領域から対象物体の数をカウントするにあたり、正解データの付与された訓練データを用いて、移動物体領域から抽出された色やエッジ等に関する見えの特徴領域を入力として物体の数を出力する回帰モデルを学習する。しかし、移動物体領域は、撮像デバイスが対象領域や物体を捉える傾斜角度によって、その見えが大きく変化する。そのため、この方法1では、カメラの傾斜角毎に訓練データを取得準備する必要が生じ、このコストが高くなるという問題がある。
【0015】
物体カウントを行うその他の方法として、各画像フレームから対象物体を検出し、得られた検出結果を画像フレーム間で対応付けて物体毎の軌跡を抽出し、各時刻で物体毎の位置判定を通じてカウントを行う方法(方法2とする)が考えられる。この方法2では、物体の位置と、ラインの位置とを単純に比較することで、ラインの通過を判定することを想定する。
【0016】
この方法2では、物体検出器として、汎用的なもの、例えばオープンソースや商用ソフトを用いることが可能である。方法2により、方法1における、訓練データを取得準備するコストが高い問題を解決している。しかし、物体の位置と、ラインの位置とを単純に比較する方法2では、物体検出処理の位置検出精度の劣化に、カウント結果が影響を受けやすいという問題がある。
【0017】
図2に例を示す。この例では、左、中央、右の3つの画像フレームが示さている。また、左、中央、右の3つの画像フレームそれぞれについてのInとOutの正解と、方法2での予測が示されている。
【0018】
図2に示すとおり、Aで示す物体が、中央の画像フレームでラインの外に出ており(Out:0→Out:1)、その後はラインの外側を移動し続けている。しかし、右の画像フレームの物体検出結果が正確ではなく、推定されたAの物体位置が実際のそれと異なっているため、ライン内に入った(In:0→In:1)と誤カウントを発生させてしまっている。
【0019】
物体の位置検出精度が低下する理由としては、画質や解像度が低いことや、複数の物体が密集しオクルージョンが生じていることなどが挙げられるが、これらの要因はごく一般的に発生し得る。従って、方法2では、多くの状況でそのカウント精度が低いという問題がある。
【0020】
すなわち、方法1、2では、訓練データを取得準備するコストが高い、あるいはカウントの精度が低いという問題がある。以下、低コストでカウント精度の高い本実施の形態に係る技術を説明する。以下、本実施の形態に係る技術として、実施例1と実施例2を説明する。
【0021】
(実施例1)
<推論装置100の構成>
図3に、実施例1における推論装置100の構成例を示す。
図3に示すように、推論装置100は、検出部110、追跡部120、カウント部130、映像データ格納部140、ライン情報格納部150、ライン近傍バッファサイズ格納部160を有する。なお、検出部110と追跡部120とをまとめた機能部を「検出部」と称してもよい。各部の機能概要は下記のとおりである。
【0022】
映像データ格納部140には、映像データとして、時系列の画像フレームが格納されている。映像データ格納部140には、リアルタイムの映像データが順次蓄積され、その映像データに対する処理を行うことで、物体カウントをリアルタイムに行うこととしてもよいし、映像データ格納部140には、過去の映像データが蓄積され、その映像データに対する処理を行うことで、過去の時点における物体カウントを行うこととしてもよい。
【0023】
ライン情報格納部150には、物体カウントの基準となるラインの情報が格納されている。ライン近傍バッファサイズ格納部160には、後述する学習装置200により得られたライン近傍バッファサイズが格納されている。ライン近傍バッファサイズ格納部160に格納するライン近傍バッファサイズとして、学習装置200を使用せずに、システム管理者等が決めたライン近傍バッファサイズを使用してもよい。
【0024】
なお、
図3の例では、各格納部が推論装置100の中に備えられる例を示しているが、これは一例である。映像データ格納部140、ライン情報格納部150、ライン近傍バッファサイズ格納部160のうちのいずれか1つ又は複数又は全部が推論装置100の外部に備えられてもよい。格納部が外部に備えられる場合、例えば、推論装置100はネットワークを介して格納部にアクセスして情報を取得する。
【0025】
検出部110は、映像データ格納部140から読み出した映像データを構成する各画像フレームから、対象物体を検出する。「対象物体」とは、ライン通過判定の対象となる物体である。
【0026】
追跡部120は、現在時刻の画像フレーム、現在時刻の検出結果、及び過去の追跡結果を入力として、現在時刻の物体の追跡結果を出力する。なお、「現在時刻」とは、検出・追跡の処理対象となっている最新の画像フレームの時刻である。
【0027】
カウント部130は、各時刻の追跡結果を入力として、各追跡結果のライン内外を判定し、物体カウントを行う。より具体的には、カウント部130は、物体の位置、ライン情報、ライン近傍バッファサイズに基づき、各時刻の各追跡結果に係る物体が位置する領域を、ラインによって分かたれたいずれかの領域、あるいは不明のいずれかに分類し、物体が位置する領域が、不明を除いたいずれかからいずれかへ変化したことをもって物体をカウントする。すなわち、ライン近傍領域に物体が位置する時点では、物体が位置する領域を陽に特定しない。これにより、ライン近傍で検出された物体の位置が不正確であっても、頑健にカウントを行うことができるようになる。
【0028】
この推論装置100の構成により、カメラの傾斜角毎に訓練データを取得準備する必要が生じず、低コストに物体カウントを実現することができる。また、ライン近傍バッファを用いることにより、精度の高いカウントを実現できる。
【0029】
<学習装置200の構成>
図4に、学習装置200の構成例を示す。
図4に示すように、学習装置200は、検出部210、バッファサイズ算出部220、映像データ格納部230、ライン情報格納部240を有する。各部の機能概要は下記のとおりである。
【0030】
映像データ格納部230には、映像データとして、時系列の画像フレームが格納されている。ライン情報格納部240には、物体カウントの基準となるラインの情報が格納されている。学習装置200と推論装置100とで用いる映像は同一であってもよいし、異なっていてもよい。ただし、映像を取得するカメラ場所や配置は、学習装置200と推論装置100とで統一されていることが望ましい。
【0031】
なお、
図4の例では、各格納部が学習装置200の中に備えられる例を示しているが、これは一例である。映像データ格納部230、ライン情報格納部240のうちのいずれか1つ又は複数が学習装置200の外部に備えられてもよい。格納部が外部に備えられる場合、例えば、学習装置200はネットワークを介して格納部にアクセスして情報を取得する。
【0032】
検出部210は、予め決められた数の画像フレームの各々から物体を検出する。バッファサイズ算出部220は、検出部210による物体検出結果に基づいて、ライン近傍バッファサイズを算出し出力する。
【0033】
ここで、ライン近傍バッファサイズは、ライン近傍領域の大きさを決定するパラメータであり、その領域が大きいほど、ライン近傍で物体が位置する領域が分類されにくくなる。バッファサイズ算出部220は、検出部210で検出された物体の位置及びサイズに対し適応的にライン近傍バッファサイズを決定することで、映像に映り込む物体のサイズに適したライン近傍バッファサイズを自動で決定することが可能となり、チューニングにかかるコストが削減されるとともに、精度良くカウントを行うことができるようになる。
【0034】
<推論装置100の動作詳細>
上述したとおり、推論装置100の映像データ格納部140には、時系列の画像フレームが格納されており、検出部110(及び、追跡部120、カウント部130)は、映像データ格納部140から読み出された画像フレーム毎に処理を行う。各時刻の画像フレームに対して処理を行うイメージを
図5に示す。
図5に示すように、時刻t=0の画像フレームから順次、各時刻の画像フレームに対して処理がなされる。以下、
図5~8を参照して推論装置100の動作の詳細を説明する。
【0035】
<ライン情報、ライン近傍バッファサイズ、領域について>
まず、本実施例におけるライン情報、ライン近傍バッファサイズ、領域について説明する。
【0036】
本実施例における1つのライン情報は、例えば、映像中でのその両端点の(x,y)座標で定義される。本実施例においては、映像中で定義されるラインをただ1つとしているが、本発明に係る技術は、ラインが複数存在していても同様に適用することが可能である。
【0037】
本実施例では、ライン情報とライン近傍バッファサイズとから、
図6に示すように、映像中の領域がIn領域、Out領域、ライン近傍領域、及び対象外領域に分割される。
【0038】
図6の例において、In領域は、ライン両端点を通るラインの法線で定義される領域のうち下側の領域である。「ラインの法線で定義される領域」とは、ラインに対して垂直の方向に領域が存在することを示す。ただし、これは領域の定義の一例であり、これに限定されるわけではない。
【0039】
図6の例において、Out領域は、ライン両端点を通るラインの法線で定義される領域のうち上側の領域である。ラインのどちら側をIn領域/Out領域にするかは、予め定めておく。
【0040】
ライン近傍領域は、ライン端点を通るラインの法線で定義される領域のうち大きさがライン近傍バッファサイズdで定義されるライン近くの領域である。
図6の例では、ラインに対して垂直方向の幅がd、長さ(ラインと平行の方向の長さ)がラインの長さである領域がライン近傍領域として定義されている。
【0041】
対象外領域は、In領域、Out領域、ライン近傍領域のいずれでもない領域である。In領域、Out領域は他の方法で定義してもよく、例えば、ライン情報で定義される領域下部のうちライン近傍領域以外の領域をIn領域、ライン情報で定義される領域上部のうちライン近傍領域以外の領域をOut領域としてもよい。
【0042】
上記のライン近傍バッファサイズの説明から明らかなように、ライン近傍バッファサイズは一次元のデータで定義され、ライン情報と組み合わせ、ライン近傍領域の定義に用いられる。本実施例では、
図6に示すように、ラインを中心線に持つ、ライン幅とライン近傍バッファサイズとで定義される長方形としてライン近傍領域を定義するが、ライン近傍領域を定義する方法はこれに限定されない。
【0043】
図6の例では、ライン近傍領域において、ラインからOut領域側への長さが0.5dであり、ラインからIn領域側への長さが0.5dであり、ライン近傍領域はラインに対して対称である。ただし、これは一例であり、例えば、
図7のAのケースやBのケースに示すように、ライン近傍領域は、ラインに対して非対称であってもよい。
【0044】
図5に示すように、推論装置100は、映像データ、ライン情報、ライン近傍バッファサイズに基づいて、映像における各時刻の物体カウント結果を出力する。ここで、映像各時刻のカウント結果は、映像開始時点から数えて、各時刻までに、In領域からOut領域へ移動した対象物体の数と、Out領域からIn領域へ移動した対象物体の数とから構成される。
【0045】
<検出部110>
次に、検出部110について説明する。検出部110は、映像を構成する各時刻の画像フレームを入力として、その中に映る対象物体の位置を出力する。本実施例では、対象物体の位置は、その対象物体を過不足なく囲う矩形の位置情報として出力される
対象物体を、その物体を過不足なく囲う矩形として表すことで、その対象物体を表現する方法は一例である。矩形の他にも、対象物体を捉えているピクセル位置の集合で構成されるマスク情報で対象物体とその位置を表すこととしてもよい。
【0046】
映像中から対象物体を検出する方法自体は従来技術であり、例えば参考文献1や参考文献2に開示された技術を用いることができる。なお、参考文献名については明細書の最後に記載した。
【0047】
<追跡部120>
次に、追跡部120について説明する。追跡部120は、現在時刻の画像フレーム、検出部120から出力された現在時刻の対象物体検出結果、及び、過去の追跡結果(具体的には、1つ前の時刻の追跡結果)を入力として、現在時刻の追跡結果を出力する。
【0048】
ここで、追跡結果は、映像に写る対象物体毎に割り当てられたIDと、現在の画像フレームにおける対象物体の位置とで構成される。検出部120が実行する追跡処理自体は従来技術であり、例えば、参考文献3や参考文献4等に開示された技術を使用することができる。
【0049】
参考文献3に開示された技術を使用する場合、追跡部120は、検出部110から出力された検出結果の位置近接性のみに基づき画像フレーム間で物体を対応付けるのに対し、参考文献4に開示された技術を使用する場合、追跡部120は、画像フレームのうち対象物体領域から抽出された見えの情報も考慮し、過去の追跡結果と現在の画像フレーム中の物体とを対応付ける。見えの情報を考慮する参考文献4の技術を使用する場合のほうが総じて追跡性能が高い。一方、処理速度については、位置のみから追跡を行う参考文献3の技術を用いた場合の方が高速であり、両者はトレードオフの関係にある。
【0050】
<カウント部130>
続いて、カウント部130について説明する。カウント部130は、追跡部120が出力する追跡結果を入力として、映像の各時刻におけるカウント結果を出力する。カウント部130が実行するカウントの手順は以下のとおりである。なお、カウント部130は、各対象物体について、それが位置している領域(In領域又はOut領域)を記憶する位置記憶部を備えている。
【0051】
カウント部130は、追跡されている各対象物体の現在時刻の位置に基づいて、各対象物体が位置する領域を、In領域、Out領域、ライン近傍領域、対象外領域のいずれかに分類する。この分類を行う方法は任意であり、例えば対象物体に対応する矩形の代表点(例:矩形の下辺の中央のx,y座標)が、上記のいずれの領域に含まれているかを判定すればよい。
【0052】
次に、カウント部130は、各対象物体について、現時点までに位置記憶部に記憶されている領域がIn領域で、現在時刻の位置がOut領域と判定された場合、In領域からOut領域へ移動したことを示すカウント値を1インクリメントする(カウント値に1を加算する)。同様に、現時点までに位置記憶部に記憶されている領域がOut領域で、現在時刻の位置がIn領域と判定された場合、Out領域からIn領域へ移動したことを示すカウント値を1インクリメントする。
【0053】
最後に、カウント部130は、対象物体の現在位置がIn領域又はOut領域であった場合、位置記憶部に記憶されている当該対象物体の位置する領域を現在の対象物体の位置する領域に更新する。
【0054】
より詳細には、ある対象物体について、時刻t=k時点で位置記憶部にIn領域が記憶されている場合、時刻t=k+1での領域判定結果がIn領域、ライン近傍領域、対象外領域のいずれかであれば、位置記憶部の記憶情報はIn領域のままであり、時刻t=k+1での領域判定結果がOut領域であれば、位置記憶部の記憶情報はOut領域に更新される。
【0055】
同様に、ある対象物体について、時刻t=k時点で位置記憶部にOut領域が記憶されている場合、時刻t=k+1での領域判定結果がOut領域、ライン近傍領域、対象外領域のいずれかであれば、位置記憶部の記憶情報はOut領域のままであり、時刻t=k+1での領域判定結果がIn領域であれば、位置記憶部の記憶情報はIn領域に更新される。
【0056】
図8に例を示す。対象物体の軌跡(矢印で接続された点)として示されているとおり、t=1とt=2の時点では対象物体はIn領域に位置しており、これらの時点において、対象物体の存在する領域としてIn領域が位置記憶部に記憶されている。t=3及びt=4の時点で対象物体はライン近傍領域に位置するので、位置記憶部に記憶されている領域は更新されず、In領域のままである。
【0057】
t=5の時点で、対象物体はOut領域に到達する。この時点で、対象物体の存在する領域が、In領域からOut領域に変化するので、カウント部130は、対象物体のIn領域からOut領域への移動のカウント値を1インクリメントし、位置記憶部に記憶する領域をIn領域からOut領域に更新する。
【0058】
カウント部130は、上記の処理を全ての対象物体の追跡結果に対して実施し、In領域からOut領域への移動の総数を示すカウント値と、Out領域からIn領域への移動の総数を示すカウント値とを、現在時刻におけるカウント結果として出力する。
【0059】
<学習装置200の動作詳細>
次に、学習装置200について詳細に説明する。上述したとおり、学習装置200の映像データ格納部230には、時系列の画像フレームが格納されており、検出部210は、映像データ格納部230から読み出された画像フレーム毎に処理を行う。各時刻の画像フレームに対して処理を行うイメージを
図9に示す。
【0060】
検出部210の動作は、推論装置100における検出部110の動作と同じである。以下、学習装置200におけるバッファサイズ算出部220の動作の詳細を説明する。
【0061】
<バッファサイズ算出部220>
バッファサイズ算出部220220は、所定の数の画像フレームに対して検出部210により得られた物体検出結果を入力として、ライン近傍バッファサイズを算出する。バッファサイズ算出部220は、検出部210により検出された物体の大きさや位置に応じて、適応的にライン近傍バッファサイズを決定する。
【0062】
物体検出結果に基づいてライン近傍バッファサイズを算出する方法は特定の方法に限定されないが、例えば、バッファサイズ算出部220は、検出部210により検出された対象物体の平均サイズに比例するようにライン近傍バッファサイズを算出してもよい。ここでの対象物体のサイズは、例えば検出結果として得られる矩形の高さ、あるいは、矩形の対角線の長さにより定義することができる。
【0063】
例えば、ラインを通過する対象物体が、主に人間である場合において、対象物体の平均サイズ(身長)を例えば165cmとして設定し、バッファサイズ算出部220は、ラインの位置において映像に映る165cmの人間の映像上での高さh×定数をライン近傍バッファサイズとして設定することができる。
【0064】
また、バッファサイズ算出部220は、物体検出結果から、ライン代表点の、カメラからの奥行きを間接的に算出し、その値に比例するようにライン近傍バッファサイズを決定してもよい。具体的な決定方法の例は下記のとおりである。
【0065】
検出部210により検出され、バッファサイズ算出部220に入力される、検出された対象物体の集合を{(xi,yi,wi,hi)}N
i=1で表す。ここで、(xi,yi)は、映像上で対象物体を表す矩形における代表点である。この点は、例えば、矩形の重心でもよいし、矩形のある頂点であってもよいし、矩形における辺上の点(例えば辺の中央の点)であってもよいし、これら以外の点であってもよい。wiは矩形の幅であり、hiは矩形の高さである。Nは物体の個数である。wiとhiはいずれも対象物体のサイズの例である。
【0066】
ここでは、ラインと検出された対象物体とが同一平面上に存在し、検出された複数の対象物体の高さが概ね一定であると仮定する。例えば、ラインが、施設の出入口の境界の床(又は地面)に引かれていて、物体(ここでは人間とする)が床(又は地面)を歩行して、その施設を出入りするような状況を想定する。
【0067】
この場合、a、b、cをそれぞれ1次元のパラメータとして、全ての物体検出結果に対し、
hi=axi+byi+c (式1)
が成立する。バッファサイズ算出部220は、物体検出集合を用いて、最小二乗法等の最適化手法を用いることで式1におけるパラメータa、b、cを求める。
【0068】
ここで、ラインの代表xy座標を(xl,yl)、定数をd0とすると、バッファサイズ算出部220は、ライン近傍バッファサイズdを、
d=d0(axl+byl+c) (式2)
として計算することができる。
【0069】
なお、上記の例は、検出された複数の対象物体の高さが概ね一定である場合である。対象物体が複数種類ある場合には、種類毎にdを算出してもよい。
【0070】
例えば、子供と大人が混在する場合を想定する。バッファサイズ算出部220は、対象物体としての大人の集合から上述した方法でライン近傍バッファサイズd1を算出し、象物体としての子供の集合から上述した方法でライン近傍バッファサイズd2を算出し、d1とd2を出力する。
【0071】
この場合、推論装置100の検出部110は、検出した対象物体が大人か子供かを判別する。カウント部130は、大人の対象物体に対するライン近傍バッファサイズとしてd1を使用し、子供の対象物体に対するライン近傍バッファサイズとしてd2を使用する。
【0072】
(実施例2)
次に、実施例2を説明する。実施例1では、学習装置200によるライン近傍バッファサイズの算出と、推論装置100によるカウント処理は独立していた。一方、実施例2では、入力される映像データに対してカウント処理を行いながら、対象物体の検出結果に基づき、ライン近傍バッファサイズを逐次的に更新し、その結果を用いてカウント処理を行うこととしている。
【0073】
図10に、実施例2における推論装置300の構成例を示す。
図10に示すように、推論装置300は、検出部110、追跡部120、カウント部130、映像データ格納部140、ライン情報格納部150、バッファサイズ更新部310を有する。バッファサイズ更新部310をバッファサイズ算出部と称してもよい。
【0074】
なお、
図10の例では、各格納部が推論装置300の中に備えられる例を示しているが、これは一例である。映像データ格納部140、ライン情報格納部150のうちのいずれか1つ又は複数が推論装置300の外部に備えられてもよい。格納部が外部に備えられる場合、例えば、推論装置300はネットワークを介して格納部にアクセスして情報を取得する。
【0075】
実施例2における検出部110、追跡部120、カウント部130はそれぞれ、実施例1における検出部110、追跡部120、カウント部130と同一の処理を行う。
【0076】
映像データ格納部140には、時系列の画像フレームが格納されており、検出部110(及び、追跡部120、カウント部130、バッファサイズ更新部310)は、映像データ格納部140から読み出された画像フレーム毎に処理を行う。各時刻の画像フレームに対して処理を行うイメージを
図11に示す。
【0077】
実施例2において、バッファサイズ更新部310は、ある過去の時刻から現在時刻までの物体検出結果を入力として、実施例1で説明したバッファサイズ算出部220と同一の処理を行うことで、現在時刻におけるライン近傍バッファサイズを算出し、当該ライン近傍バッファサイズをカウント部130に入力する。
【0078】
ここで、過去のある時刻から現在時刻までのライン近傍バッファサイズ更新に用いる物体検出結果は、現在及び過去の保存している全ての検出結果を用いてもよいし、予め決められた数までの過去の画像フレームから得られた検出結果を用いてもよい。
【0079】
(ハードウェア構成例)
推論装置100、学習装置200、推論装置300はいずれも、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。なお、以下、推論装置100、学習装置200、推論装置300を総称して「装置」と呼ぶ。
【0080】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0081】
図12は、上記コンピュータのハードウェア構成例を示す図である。
図12のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、これらのうち、一部を備えないこととしてもよい。例えば、表示を行わない場合、表示装置1006を備えなくてもよい。
【0082】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0083】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられ、送信部及び受信部として機能する。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0084】
(実施の形態の効果)
以上、説明したとおり、本実施の形態によれば、低コストで高精度に物体カウントを行うことを可能とする技術が提供される。
【0085】
(実施の形態のまとめ)
本明細書には、少なくとも下記各項の推論装置、学習装置、物体カウント方法、及びプログラムが開示されている。
(第1項)
物体が撮影された映像から、予め定めたラインを通過する物体をカウントする推論装置であって、
ライン通過のカウントの対象となる対象物体を、前記映像から検出する検出部と、
前記対象物体が、前記ラインを通過して、第1領域から第2領域に移動したことを検出した場合にカウント値を増加させるカウント部と、を備え、
前記映像上で、前記ラインの近傍にライン近傍領域が設定され、当該ライン近傍領域は、前記第1領域と前記第2領域のいずれにも属さない
推論装置。
(第2項)
前記カウント部は、
前記対象物体が位置する領域として、前記第1領域又は前記第2領域を記憶部に記憶し、前記対象物体が位置する領域が前記ライン近傍領域である場合には、前記記憶部に記憶されている領域を更新せず、
前記記憶部に記憶されている領域が、前記第1領域である状態において、前記対象物体が位置する領域が前記第2領域になった場合に、前記カウント値を増加させる
第1項に記載の推論装置。
(第3項)
前記カウント部は、前記対象物体が、前記ラインを通過して、前記第1領域から前記第2領域に移動したことを検出した場合に、前記第1領域から前記第2領域への移動に対応するカウント値を増加させるとともに、別の対象物体が、前記ラインを通過して、前記第2領域から前記第1領域に移動したことを検出した場合に、前記第2領域から前記第1領域への移動に対応するカウント値を増加させる
第1項又は第2項に記載の推論装置。
(第4項)
前記検出部により検出された複数の対象物体のサイズに基づいて、前記ライン近傍領域のサイズであるライン近傍サイズを算出し、当該ライン近傍サイズを前記カウント部に入力するバッファサイズ更新部を更に備える
第1項ないし第3項のうちいずれか1項に記載の推論装置。
(第5項)
第1項ないし第3項のうちいずれか1項に記載の推論装置において使用される前記ライン近傍領域のサイズであるライン近傍サイズを算出する学習装置であって、
映像から検出された複数の対象物体のサイズに基づいて、前記ライン近傍サイズを算出するバッファサイズ算出部を備える
学習装置。
(第6項)
前記バッファサイズ算出部は、前記複数の対象物体の映像上の位置とサイズに基づいて、映像上の対象物体の位置とサイズとの間の関係を示す関係式を生成し、前記ラインの位置を当該関係式に適用することにより、前記ライン近傍サイズを算出する
第5項に記載の学習装置。
(第7項)
物体が撮影された映像から、予め定めたラインを通過する物体をカウントする推論装置が実行する物体カウント方法であって、
ライン通過のカウントの対象となる対象物体を、前記映像から検出する検出ステップと、
前記対象物体が、前記ラインを通過して、第1領域から第2領域に移動したことを検出した場合にカウント値を増加させるカウントステップと、を備え、
前記映像上で、前記ラインの近傍にライン近傍領域が設定され、当該ライン近傍領域は、前記第1領域と前記第2領域のいずれにも属さない
物体カウント方法。
(第8項)
コンピュータを、第1項ないし第4項のうちいずれか1項に記載の推論装置における各部として機能させるためのプログラム。
(第9項)
コンピュータを、第5項又は第6項に記載の学習装置におけるバッファサイズ算出部として機能させるためのプログラム。
【0086】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0087】
[参考文献]
参考文献1:X. Zhou, D. Wang, and P. Krahenbuhl. Objects as points. In arXiv preprint arXiv:1904.07850, 2019.
参考文献2:E. Xie, P. Sun, X. Song, W. Wang, D. Liang, C. Shen, and P. Luo. Polarmask: Single shot instance segmentation with polar representation. In CVPR, 2020.
参考文献3:A. Bewley, Z. Ge, L. Ott, F. Ramos, and B. Upcroft. 7Simple online and realtime tracking. In ICIP, 2016.
参考文献4:Y. Zhang, C. Wang, X. Wang, W. Zeng, and W. Liu. Fairmot: On the fairness of detection and re-identification in multiple object tracking. In arXiv preprint arXiv:, 2020.
【符号の説明】
【0088】
100 推論装置
110 検出部
120 追跡部
130 カウント部
140 映像データ格納部
150 ライン情報格納部
160 ライン近傍バッファサイズ格納部
200 学習装置
210 検出部
220 バッファサイズ算出部
230 映像データ格納部
240 ライン情報格納部
300 推論装置
310 バッファサイズ更新部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置