JP2020086879A - 座標変換行列推定方法及びコンピュータプログラム - Google Patents

座標変換行列推定方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2020086879A
JP2020086879A JP2018219735A JP2018219735A JP2020086879A JP 2020086879 A JP2020086879 A JP 2020086879A JP 2018219735 A JP2018219735 A JP 2018219735A JP 2018219735 A JP2018219735 A JP 2018219735A JP 2020086879 A JP2020086879 A JP 2020086879A
Authority
JP
Japan
Prior art keywords
unit
person
node
detection result
association
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018219735A
Other languages
English (en)
Other versions
JP7195892B2 (ja
Inventor
周平 田良島
Shuhei Tarashima
周平 田良島
啓仁 野村
Keiji Nomura
啓仁 野村
和彦 太田
Kazuhiko Ota
和彦 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2018219735A priority Critical patent/JP7195892B2/ja
Publication of JP2020086879A publication Critical patent/JP2020086879A/ja
Application granted granted Critical
Publication of JP7195892B2 publication Critical patent/JP7195892B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】座標変換行列の推定精度を向上させること。【解決手段】複数枚の画像それぞれから物体を検出する検出ステップと、複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、物体対応付けステップにおける対応付け結果と、物体の検出結果とに基づいて画像間の座標変換行列を推定する変換行列推定ステップと、を有する座標変換行列推定方法。【選択図】図1

Description

本発明は、座標変換行列推定方法及びコンピュータプログラムに関する。
従来、サッカーやラグビー等のスポーツを撮影し、撮影された映像を解析してチームの戦術や各選手のパフォーマンスを分析することは戦術の立案や将来性の高い選手のリクルーティングにつながる。
一方で、解析の対象となり得る潜在的なスポーツ映像の規模は極めて大きく、これらを全て人手で分析するには膨大なコストと時間がかかる。スポーツ映像の分析を機械で自動的に行うことができれば、大規模なデータに潜む有益な知見をもれなく収集することが可能になると考えられる。したがって、スポーツ映像の自動分析の実現に寄与する技術の産業価値は極めて高い。
通常、スポーツ映像は、スポーツの競技フィールド側面に配置されたカメラによって選手に追従して撮影されることが多い。スポーツ映像から分析されうる代表的な統計値として、選手の活動量(例えば、試合中の選手の走行距離)や選手の移動軌跡が挙げられる。しかしながら、映像中の選手を検出・追跡するのみでは、上記の統計値を取得するには不十分である。上記の統計値を取得するには、映像を構成する複数の映像フレームの中にフィールドがどのように映っているかが明らかである必要がある。より具体的には、映像中のある時刻t、t+tにおける映像フレームに撮像されているフィールドの物理的に同一な地点を対応付ける座標変換行列が既知である必要がある。フィールドが二次元平面である場合、上記の座標変換行列は3行3列の行列として表現されることが知られている。座標変換行列のパラメータが未知である場合に、入力された映像フレームの情報から座標変換行列を推定する技術をレジストレーションという。
映像フレームに基づいてレジストレーションを行う最も単純な方法として以下の方法がある。まず、時刻t、t+tにおける映像フレーム間でフィールド中の同一位置をとらえた任意の4点を人手で対応付ける。次に、その対応関係からDLT(Direct Linear Transform)によって座標変換行列のパラメータを推定する。この方法では、カメラが試合状況に応じて動く場合、連続する時刻の映像フレーム全てに人手で対応点を与える必要があり、そのコストが膨大であるとともに、リアルタイムな分析にも向かないという問題点がある。
人手で対応点を与えることを回避して座標変換行列のパラメータを推定する方法として、非特許文献1及び2のような技術が提案されている。
非特許文献1では、各映像フレームに撮像されているフィールド中の特徴的な領域(例えば、ラインやサークル)を予め検出しておき、特徴的な領域を複数の映像フレーム間で対応付けることで座標変換行列のパラメータを推定している。
また、非特許文献2では、画像中の各ピクセルを「センターサークル」、「サイドライン」、「芝」などといったクラスに割り当てるニューラルネットワークを事前に学習しておき、その出力に基づいて映像フレームを対応付けて座標変換行列のパラメータを推定している。
Ankur Gupta, James J. Little, Robert J. Woodham, "Using Line and Ellipse Features for Rectification of Broadcast Hockey Video", Computer and Robot Vision (CRV), 2011 Canadian Conference on Namdar Homayounfar, Sanja Fidler, Raquel Urtasun, "Sports Field Localization via Deep Structured Models", In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, p.5212-5220
複数の映像フレーム間に特徴的な領域が撮像されている場合には、非特許文献1及び2それぞれの方法で座標変換行列のパラメータを推定することができる。しかしながら、フィールド中の特徴的な領域がほとんど映っていない映像フレームが対象の場合には、非特許文献1及び2の方法では座標変換行列のパラメータの推定精度が低下する。このような問題を解決する手段として、時系列の情報をより明示的に活用する方法がある。
具体的には、撮影時刻の近い複数の映像フレーム間では、状況が滑らかに変化しているという仮定のもと、公知のオプティカルフロー推定手法を用いて映像フレーム間の対応点を推定し、座標変換行列を推定するといった方法がある。しかしこの方法では、前述の仮定を逸脱するような場合、例えば、連続して撮像された映像フレーム間でカメラが撮像する領域が急激に変化する場合には、オプティカルフローの推定精度が低下してしまう。その結果、座標変換行列のパラメータを正確に推定することができなくなってしまう。連続して撮像された映像フレーム間でカメラが撮像する領域が急激に変化することは、視聴用途の映像の場合ごく一般的である。そのため、このような状況に対応できないことは解析対象として得る映像の種類を大きく制約してしまうことにつながりかねない。
以上のように、従来の方法では、撮影対象領域における特徴的な領域が撮像されていない場合や、カメラが撮像する領域が急激に変化する場合には、座標変換行列の推定精度が低下してしまうという問題があった。
上記事情に鑑み、本発明は、座標変換行列の推定精度を向上させることができる技術の提供を目的としている。
本発明の一態様は、複数枚の画像それぞれから物体を検出する検出ステップと、前記複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、前記対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、前記物体対応付けステップにおける対応付け結果と、前記物体の検出結果とに基づいて前記画像間の座標変換行列を推定する変換行列推定ステップと、を有する座標変換行列推定方法である。
本発明の一態様は、上記の座標変換行列推定方法であって、前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記物体対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として対応付ける。
本発明の一態様は、上記の座標変換行列推定方法であって、前記物体対応付けステップは、前記画像間の物体の検出結果を暫定的に対応付ける暫定対応付けステップと、前記暫定対応付けステップにおいて暫定的に対応付けられた前記画像間の物体の検出結果の組それぞれをノードとしたグラフを構築するグラフ構築ステップと、前記グラフにおける複数のノードのうち、ノード間で関係性が高い順に割り当てられる優先度の高いノードから順番に、正しい対応付けであると想定される対応付けのノードを含むクラスタへの追加条件を満たすか否かを判定することによって、正しい対応付けであると想定される対応付けのノードを選択する選択ステップと、を有する。
本発明の一態様は、上記の座標変換行列推定方法であって、前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記暫定対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として暫定的に対応付ける。
本発明の一態様は、上記の座標変換行列推定方法であって、前記グラフ構築ステップにおいて、構築した前記グラフに含まれるノードペアの幾何的な一貫性の有無を評価し、幾何的な一貫性があると評価したノードペア間をエッジで接続し、前記選択ステップにおいて、前記エッジで接続されている数が多いノードを優先度の高いノードとして前記正しい対応付けであると想定される対応付けのノードを選択する。
本発明の一態様は、上記の座標変換行列推定方法であって、前記選択ステップにおいて、優先度の高いノードから順番に、前記ノードの特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていない場合に前記クラスタへの追加条件を満たすと判定し、前記クラスタへの追加条件を満たしたノードを前記クラスタに追加する。
本発明の一態様は、上記の座標変換行列推定方法であって、複数の撮像装置によって相対する方向で撮影対象領域が撮影された複数枚の画像それぞれに撮像されている物体の検出結果が入力された場合、前記物体対応付けステップにおいて、一方の物体の検出結果を逆転させた後に対応付けを行う。
本発明の一態様は、上記の座標変換行列推定方法を実行させるためのコンピュータプログラムである。
本発明により、座標変換行列の推定精度を向上させることが可能となる。
第1の実施形態における画像処理システム100の機能構成を示す図である。 第1の実施形態における画像処理装置10が行う座標変換行列の推定処理の流れを示すフローチャートである。 第1の実施形態における物体検出部102による人物検出の一例を示す図である。 第2の実施形態における画像処理装置10aの機能構成を表す概略ブロック図である。 第2の実施形態における物体対応付け部103aの機能構成を表す概略ブロック図である。 第2の実施形態における画像処理装置10aが行う座標変換行列の推定処理の流れを示すフローチャートである。 第2の実施形態における物体検出部102aによる人物検出の一例を示す図である。 第2の実施形態における暫定対応付け部1031による暫定対応付けの結果を示す図である。 第2の実施形態におけるグラフ構築部1032によるグラフの構築結果を示す図である。 第2の実施形態におけるグラフ構築部1032が構築したグラフにおける処理を示す図である。 第2の実施形態における画像処理装置10aが行うクラスタ抽出処理の流れを示すフローチャートである。 第2の実施形態におけるクラスタの抽出結果を示す図である。 第3の実施形態における画像処理装置10bの機能構成を表す概略ブロック図である。 第4の実施形態における画像処理システム100cの機能構成を示す図である。
以下、本発明の一実施形態を、図面を参照しながら説明する。
(第1の実施形態)
図1は、第1の実施形態における画像処理システム100の機能構成を示す図である。画像処理システム100は、撮像装置1及び画像処理装置10を備える。
撮像装置1は、撮影対象領域2を撮影する。撮影対象領域2は、例えばサッカーやラグビー等のスポーツが行われる競技場である。撮像装置1は、例えばカメラである。撮像装置1は、撮影対象領域2を動画で撮影することによって、撮影対象領域2の一部又は全てが撮像された複数の映像フレームを生成し、生成した複数の映像フレームを画像処理装置10に出力する。映像フレームは、撮像装置によって撮像された静止画像の一例である。
画像処理装置10は、入力した複数枚の映像フレームに基づいて映像フレーム間の座標変換行列のパラメータを推定し、推定した座標変換行列のパラメータにより映像フレームの画像変換を行う。例えば、画像処理装置10は、撮影時刻の異なる2枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。画像処理装置10に入力される複数枚の映像フレームは、映像中の異なる時刻t、t+tに撮像された画像である。映像中の異なる時刻t、t+tとの間は、所定の時間間隔差があり、例えば1フレーム、数フレーム、1秒、5秒、10秒、数時間、数年等である。時刻t、t+tの間隔は、0に近いほど好ましい。以下の説明では、時刻tに撮像された画像を映像フレームIと記載し、t+tに撮像された画像を映像フレームIt+t0と記載する。
次に、画像処理装置10の具体的な構成について説明する。
画像処理装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置10は、画像取得部101、物体検出部102、物体対応付け部103、変換行列推定部104及び画像処理部105を備える装置として機能する。なお、画像処理装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)やGPU(Graphics Processing Unit)等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像取得部101は、撮像装置1から出力された映像フレームを取得する。例えば、画像取得部101は、複数枚の映像フレームを取得する。
物体検出部102は、画像取得部101によって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。ここで、物体とは、人物、動物、ロボット、乗り物等の自律又は操作に応じて移動可能な移動物体である。以下の説明では、物体が人物である場合を例に説明する。
人物検出には、例えば以下の参考文献1に開示されている手法が用いられてもよい。なお、人物検出の手法は、参考文献1に開示されている手法に限らず、周知の技術を用いることが可能である。
(参考文献1:Joseph Redmon, Ali Farhadi, “YOLOv3: An Incremental Improvement”, In arXiv, 2018)
物体検出部102は、人物の検出結果として、映像フレームに撮像されている各人物を囲う矩形四隅の座標値、すなわちセグメンテーションされた人物の領域を検出する。人物検出の粒度については、映像フレームに撮像されている特定人物のラベルを付与して、矩形四隅の座標値とともに出力する検出器を用いてもよいし、映像フレームに撮像されている任意の人物を検出する検出器を用いてもよい。
以下の説明では、映像フレームに撮像されている特定人物のラベルを、矩形四隅の座標値とともに出力する検出器を特定物体検出器と記載し、映像フレームに撮像されている任意の人物を検出する検出器を一般物体検出器と記載する。特定物体検出器と一般物体検出器は同じ方法で実現することが可能である。しかしながら、一般的に、特定人物を検出するためには個々の対象人物に関する学習データを収集する必要がある。そのため、特定物体検出器は、任意の人物に関する学習データを用意すれば構築可能な一般物体検出器に比べて構築コストが高くなる傾向がある。第1の実施形態における物体検出部102は、特定物体検出器を用いる。
物体対応付け部103は、物体検出部102によって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、まず物体対応付け部103は、複数枚のフレームから所定の時間間隔差で撮像された対応付け対象となる複数枚の映像フレームを抽出する。次に、物体対応付け部103は、対応付け対象として抽出した複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、対応付け対象として抽出した複数枚の映像フレーム間の物体の検出結果を対応付ける。例えば、物体対応付け部103は、時刻tに撮像された映像フレームIで検出された物体の検出結果と、時刻tと所定の時間離れた時刻t+tに撮像された映像フレームIt+t0で検出された物体の検出結果とに基づいて、映像フレームIと映像フレームIt+t0との間の物体の検出結果を対応付ける。人物検出結果には、特定人物のラベルと、矩形四隅の座標値とが含まれる。
変換行列推定部104は、物体検出部102による人物の検出結果と、物体対応付け部103による対応付け結果とに基づいて、映像フレームI及びIt+t0の座標変換行列Ht,t+t0を推定する。
座標変換行列のうち、自由度が8であるものは射影変換行列、自由度が6であるものはアフィン変換行列、自由度が4であるものは相似変換行列と呼ばれ、本発明ではいずれの変換行列を用いてもよい。仮定した変換行列のパラメータは、対応付け結果で示される各対応を構成する人物の検出結果から、映像フレーム間で対応付く座標を算出したうえで公知のパラメータ推定方法を用いることで推定することができる。人物の検出結果から映像フレーム間で対応付く座標を算出する方法としては、矩形の重心座標間を対応点として算出したり、人物の下部が地面に接地していることに着目し、矩形の左下、右下の座標をそれぞれ(x,y)、(x,y)として、((x+x)/2,y)として算出したりすればよい。また、公知のパラメータ推定方法としては、得られた対応点の数に応じて、DLTや下記参考文献2に開示されているRANSACを用いればよい。
(参考文献2:Martin A. Fischler, Robert C. Bolles, “Random Sample Consensus: A paradigm for model fitting with applications to image analysis and automated cartography”, In Communications of the ACM, 1981)
画像処理部105は、変換行列推定部104によって推定された座標変換行列Ht,t+t0を用いて、入力された映像フレームに対して画像処理を行う。具体的には、画像処理部105は、映像フレームを特定の方向から見た画像に変換する。例えば、画像処理部105は、映像フレームIt+t0を、映像フレームIを撮影した方向から見た画像に変換する。
画像処理部105による画像変換が行われることによって、フィールド上の選手のフォーメーション、ある時刻における各選手の位置、選手の動きなどの情報を可視化することができる。
図2は、第1の実施形態における画像処理装置10が行う座標変換行列の推定処理の流れを示すフローチャートである。
画像取得部101は、複数枚の映像フレームを取得する(ステップS101)。画像取得部101は、取得した複数枚の映像フレームを物体検出部102に出力する。物体検出部102は、複数枚の映像フレームそれぞれに撮像されている人物を検出する(ステップS102)。第1の実施形態における物体検出部102は、上述したように特定物体検出器であり、映像フレームに撮像されている特定人物のラベルを矩形四隅の座標値とともに人物検出結果として物体対応付け部103及び変換行列推定部104に出力する。
図3は、第1の実施形態における物体検出部102による人物検出の一例を示す図である。図3に示すように、図3(A)は時刻tに撮像された映像フレーム20を示す図であり、図3(B)は時刻t+tに撮像された映像フレーム30を示す図である。
映像フレーム20では、4人の人物21−1〜21−4が検出されている。検出された人物21−1〜21−4には、特定物体検出器により各人物を特定するためのラベルが付与される。図3(A)では、人物21−1が物体検出部102により“人物1”に分類されて“人物1”のラベルが付与され、人物21−2が物体検出部102により“人物2”に分類されて“人物2”のラベルが付与され、人物21−3が物体検出部102により“人物3”に分類されて“人物3”のラベルが付与され、人物21−4が物体検出部102により“人物4”に分類されて“人物4”のラベルが付与されたことが示されている。
物体検出部102は、映像フレーム20の人物検出結果として、各人物21−1〜21−4の分類結果を示すラベルと、各人物21−1〜21−4を囲う領域22−1〜22−4の矩形四隅の座標値を取得する。
映像フレーム30では、3人の人物31−1〜31−3が検出されている。検出された人物31−1〜31−3には、特定物体検出器により各人物を特定するためのラベルが付与される。図3(B)では、人物31−1が物体検出部102により“人物3”に分類されて“人物3”のラベルが付与され、人物31−2が物体検出部102により“人物4”に分類されて“人物4”のラベルが付与され、人物31−3が物体検出部102により“人物2”に分類されて“人物2”のラベルが付与されたことが示されている。
物体検出部102は、映像フレーム30の人物検出結果として、各人物31−1〜31−3の分類結果を示すラベルと、各人物31−1〜31−3を囲う領域32−1〜32−3の矩形四隅の座標値を取得する。
図2に戻って説明を続ける。
物体対応付け部103は、複数枚の映像フレームから、所定の時間間隔差で撮像された対応付け対象となる複数枚(例えば、2つ)の映像フレームを抽出する(ステップS104)。なお、物体対応付け部103が抽出する映像フレームの抽出開始タイミング及び所定の時間間隔は、予め設定される。物体対応付け部103は、抽出した映像フレームにおける物体検出部102から出力された人物検出結果に基づいて、映像フレーム20における人物の検出結果と、映像フレーム30における人物の検出結果とを対応付ける(ステップS104)。具体的には、物体対応付け部103は、対応付け対象として抽出した複数枚の映像フレームそれぞれにおいて人物検出結果として得られたラベルを用いて映像フレーム20における人物の検出結果と、映像フレーム30における人物の検出結果とを対応付ける。例えば、物体対応付け部103は、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として対応付ける。物体対応付け部103は、対応付け結果を変換行列推定部104に出力する。
図3に示す例では、映像フレーム20における人物21−2と、映像フレーム30における人物31−3とには、“人物2”を示すラベルが付与されている。そこで、物体対応付け部103は、映像フレーム20における人物21−2と、映像フレーム30における人物31−3とを同一の人物の検出結果として対応付ける。
また、図3に示す例では、映像フレーム20における人物21−3と、映像フレーム30における人物31−1とには、“人物1”を示すラベルが付与されている。そこで、物体対応付け部103は、映像フレーム20における人物21−3と、映像フレーム30における人物31−1とを同一の人物の検出結果として対応付ける。
また、図3に示す例では、映像フレーム20における人物21−4と、映像フレーム30における人物31−2とには、“人物4”を示すラベルが付与されている。そこで、物体対応付け部103は、映像フレーム20における人物21−4と、映像フレーム30における人物31−2とを同一の人物の検出結果として対応付ける。
なお、物体対応付け部103は、映像フレーム20における人物の検出結果と、映像フレーム30における人物の検出結果とで、同じ情報を示すラベルが付与されている人物検出結果がない人物検出結果については対応付けを行わない。この場合、物体対応付け部103は、同じ情報を示すラベルが付与されている人物検出結果がない人物検出結果については対応付け結果を出力しない、又は、対応付け結果としてnull(検出無し)を変換行列推定部104に出力する。
変換行列推定部104は、物体検出部102による人物検出結果と、物体対応付け部103による対応付け結果とに基づいて、映像フレームI及びIt+t0の座標変換行列Ht,t+t0を推定する(ステップS105)。変換行列推定部104は、推定した座標変換行列Ht,t+t0を画像処理部105に出力する。
以上のように構成された第1の実施形態における画像処理システム100では、座標変換行列のパラメータの推定精度を向上させることができる。具体的には、画像処理装置10は、入力された複数枚の映像フレームそれぞれから人物を検出し、映像フレーム間における人物の検出結果をラベルに基づいて対応付ける。画像処理装置10は、ラベルに基づいて人物の検出結果の対応付けを行うため複雑な演算を行う必要がなく簡便に対応付けができる。そして、画像処理装置10は、対応付けの結果と、各映像フレームにおける人物の検出結果とに基づいて映像フレーム間の座標変換行列を推定する。このように、第1の実施形態における画像処理システム100では、従来のように、撮影対象領域2における特徴的な領域が撮像されていなくても座標変換行列を推定することができる。また、カメラが撮像する領域が急激に変化したとしても映像フレーム内に撮像されている人物を検出して対応付けすることによって座標変換行列を推定することができる。したがって、画像処理システム100は、従来の方法で座標変換行列のパラメータの推定精度が低下してしまう状況下であっても、座標変換行列のパラメータを推定することができる。そのため、座標変換行列のパラメータの推定精度を向上させることが可能になる。
<変形例>
画像処理装置10が備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部101、物体検出部102、物体対応付け部103及び変換行列推定部104、又は、物体対応付け部103及び変換行列推定部104が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置10は、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
(第2の実施形態)
第2の実施形態では、画像処理装置が、一般物体検出器を用いて映像フレームから人物検出を行い、その結果を用いて座標変換行列のパラメータを推定する構成について説明する。第2の実施形態において、画像処理システム100全体の構成については第1の実施形態と同様であり、画像処理装置の構成のみが異なる。
図4は、第2の実施形態における画像処理装置10aの機能構成を表す概略ブロック図である。
画像処理装置10aは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置10aは、画像取得部101、物体検出部102a、物体対応付け部103a、変換行列推定部104及び画像処理部105を備える装置として機能する。なお、画像処理装置10aの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置10aは、物体検出部102及び物体対応付け部103に代えて物体検出部102a及び物体対応付け部103aを備える点で画像処理装置10と構成が異なる。画像処理装置10aは、他の構成については画像処理装置10と同様である。そのため、画像処理装置10a全体の説明は省略し、物体検出部102a及び物体対応付け部103aについて説明する。
物体検出部102aは、画像取得部101によって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。第2の実施形態における物体検出部102aは、映像フレームI及びIt+t0それぞれに撮像されている人物を、一般物体検出器を用いて検出する。
物体対応付け部103aは、物体検出部102aによって検出された各映像フレーム映像フレームI及びIt+t0の人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。
図5は、第2の実施形態における物体対応付け部103aの機能構成を表す概略ブロック図である。物体対応付け部103aは、暫定対応付け部1031、グラフ構築部1032及び選択部1033で構成される。
暫定対応付け部1031は、物体検出部102aによって検出された各映像フレーム映像フレームI及びIt+t0の人物検出結果を暫定的に対応付ける。暫定的に対応付ける方法としては、映像フレームIで検出された人物検出結果と、映像フレームIt+t0で検出された人物検出結果とを総当たりで対応付ける方法がある。例えば、映像フレームIにおいて4つの人物検出結果が得られ、映像フレームIt+t0において3つの人物検出結果が得られた場合、暫定対応付け部1031は総当たりで対応付けて4×3=12の暫定対応付けの結果をグラフ構築部1032に出力する。
なお、暫定対応付け部1031は、総当たりの対応付け結果のうち尤もらしい対応付けのみを選択する方法を用いて、物体検出部102aによって検出された各映像フレームの人物検出結果を暫定的に対応付けてもよい。
1つ目の方法として、暫定対応付け部1031は、参考文献2に開示された方法により、映像フレームIにおける人物検出結果から抽出された画像特徴量と、映像フレームIt+t0における人物検出結果から抽出された画像特徴量との類似度を算出し、類似度が第1の閾値以上の人物検出結果同士を暫定的に対応付ける。
2つ目の方法として、暫定対応付け部1031は、映像フレームIにおける人物検出結果から得られる矩形領域の縦横比(アスペクト比)と、映像フレームIt+t0における人物検出結果から得られる矩形領域の縦横比(アスペクト比)とを比較して、矩形領域の縦横比が一致する人物検出結果同士を暫定的に対応付ける。
グラフ構築部1032は、暫定対応付け部1031で得られた暫定対応付けの結果を入力として、暫定対応付けされた人物検出結果の組それぞれをノードとするグラフを構築する。具体的には、グラフ構築部1032は、暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置したグラフを構築する。例えば、グラフ構築部1032は、暫定対応付け部1031で得られた暫定対応付けの結果が12個であれば、12個のノードを仮想上に配置したグラフを構築する。
選択部1033は、グラフ構築部1032で得られたグラフに基づいて、暫定対応付けの結果の中から、正しい対応付けであると想定される対応付けを選択する。
図6は、第2の実施形態における画像処理装置10aが行う座標変換行列の推定処理の流れを示すフローチャートである。
画像取得部101は、複数枚の映像フレームを取得する(ステップS201)。画像取得部101は、取得した複数枚の映像フレームを物体検出部102aに出力する。物体検出部102aは、複数枚の映像フレームそれぞれに撮像されている人物を検出する(ステップS202)。第2の実施形態における物体検出部102aは、上述したように一般物体検出器であり、検出された人物を囲う矩形四隅の座標値を人物検出結果として暫定対応付け部1031及び変換行列推定部104に出力する。
図7は、第2の実施形態における物体検出部102aによる人物検出の一例を示す図である。図7に示すように、図7(A)は時刻tに撮像された映像フレーム20を示す図であり、図7(B)は時刻t+tに撮像された映像フレーム30を示す図である。
映像フレーム20では、4人の人物21−1〜21−4が検出されている。物体検出部102aは、映像フレーム20の検出結果として、各人物21−1〜21−4を囲う領域22−1〜22−4の矩形四隅の座標値を取得する。
映像フレーム30では、3人の人物31−1〜31−3が検出されている。物体検出部102aは、映像フレーム30の検出結果として、各人物31−1〜31−3を囲う領域32−1〜32−3の矩形四隅の座標値を取得する。
図6に戻って説明を続ける。
暫定対応付け部1031は、複数枚の映像フレームから、所定の時間間隔差で撮像された対応付け対象となる複数枚(例えば、2つ)の映像フレームを抽出する(ステップS203)。なお、暫定対応付け部1031が抽出する映像フレームの抽出開始タイミング及び所定の時間間隔は、予め設定される。暫定対応付け部1031は、抽出した映像フレームにおける物体検出部102aから出力された人物検出結果に基づいて、映像フレーム20における人物の検出結果と、映像フレーム30における人物の検出結果とを暫定的に対応付ける(ステップS204)。暫定対応付け部1031は、暫定対応付けの結果をグラフ構築部1032に出力する。
図8は、第2の実施形態における暫定対応付け部1031による暫定対応付けの結果を示す図である。図8に示す例では、総当たりではなく、尤もらしい対応付け方法による暫定対応付けの結果を示している。その結果、図8に示す例では、7つの暫定対応付けの結果が示されている。図8に示すように、暫定的な対応付けであるため、人物21−2、21−3、21−4、31−1〜31−3のように一人の人物に対して複数の対応付けがなされている箇所も存在する。実際には、対応付けがなされない、又は、対応付けがなされたとしても1つの対応付けがなされることが正しい。そのため、画像処理装置10aは、後述の処理により、より正確な対応付けを行う。
図6に戻って説明を続ける。
グラフ構築部1032は、暫定対応付け部1031で得られた暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置することによって、暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置したグラフを構築する(ステップS205)。
図9は、第2の実施形態におけるグラフ構築部1032によるグラフの構築結果を示す図である。
図9の上部には暫定対応付け部1031で得られた暫定対応付けの結果が示され、図9の下部には暫定対応付けの結果それぞれをノードとし、各ノードが配置されたグラフが示されている。ノード40−21は、人物21−2の検出結果と、人物31−1の検出結果との対応付けを示すノードである。ノード40−41は、人物22−2の検出結果と、人物31−3の検出結果との対応付けを示すノードである。
ノード40−33は、人物21−3の検出結果と、人物31−3の検出結果との対応付けを示すノードである。ノード40−31は、人物21−3の検出結果と、人物31−1の検出結果との対応付けを示すノードである。ノード40−42は、人物21−4の検出結果と、人物31−2の検出結果との対応付けを示すノードである。ノード40−12は、人物21−1の検出結果と、人物31−2の検出結果との対応付けを示すノードである。ノード40−41は、人物21−4の検出結果と、人物31−1の検出結果との対応付けを示すノードである。
次に、グラフ構築部1032は、構築したグラフにおけるノードペアの中で幾何的な一貫性があるノードペア間をエッジで接続する。ここで、ノードペア間の幾何的な一貫性は、ノードペアを構成する人物検出結果の属性情報(例えば、矩形四隅の座標値)から評価することができる。例えば、対象となる2つのノードのいずれもが正しい対応であった場合、各映像フレームに撮像されている人物のスケールには一貫性があると考えられる。そこで、まずグラフ構築部1032は、映像フレームに撮像されている人物検出結果の領域の面積比をノード毎に算出する。次に、グラフ構築部1032は、算出した面積比の類似度を全てのノードペアで算出する。そして、グラフ構築部1032は、算出した類似度の値が第1の閾値以上であったノードペアのみノード間をエッジで接続する。
また、別の方法として、対象の2つのノードのいずれもが正しい対応であった場合、映像フレームに撮像されている人物検出結果の領域の距離と、検出された人物のスケールにも一貫性があると考えられる。そこで、まずグラフ構築部1032は、対象の2つのノードにおける時刻tの映像フレームに撮像されている2つの人物検出結果の領域間の距離と、時刻t+tの映像フレームに撮像されている2つの人物検出結果の領域間の距離とを算出する。次に、グラフ構築部1032は、映像フレームに撮像されている人物検出結果の領域の面積比をノード毎に算出する。次に、グラフ構築部1032は、算出した面積比の類似度を対象の2つのノードで算出する。そして、グラフ構築部1032は、算出した距離及び類似度の値が第2の閾値以上であったノードペアのみノード間をエッジで接続する。
図9に示す例では、ノード40−42と、ノード40−31と、ノード40−41で示される対応付けが正しい対応付けであるとする。この条件を加味して上記の評価方法を説明する。ここで、対象の2つのノードとして、ノード40−42と、ノード40−31を用いる。まずグラフ構築部1032は、映像フレームに撮像されている人物検出結果の領域の面積比をノード40−42及びノード40−31それぞれ算出する。すなわち、グラフ構築部1032は、ノード40−42における人物21−4を囲う領域22−4の面積と、ノード40−42における人物31−2を囲う領域32−2の面積との比を算出する。同様に、グラフ構築部1032は、ノード40−31における人物21−3を囲う領域22−3の面積と、ノード40−31における人物31−1を囲う領域32−1の面積との比を算出する。
次に、グラフ構築部1032は、算出した面積比の類似度を算出する。そして、グラフ構築部1032は、算出した類似度の値が第1の閾値以上であった場合に、ノード40−42と、ノード40−31との間に、幾何的な一貫性があると評価する。グラフ構築部1032は、このような処理を全てのノードペアで行う。そして、グラフ構築部1032は、幾何的な一貫性があると評価したノードペアの間をエッジで接続する。
図10は、第2の実施形態におけるグラフ構築部1032が構築したグラフにおける処理を示す図である。図10に示すように、ノード40−41、40−31及び40−42は、互いにエッジ42で接続されている。すなわち、エッジ42で接続されているノード40−41、40−31及び40−42は、グラフにおけるノードペアの中で幾何的な一貫性があるノードペアとして評価されたことが示されている。
一方、エッジ42で接続されていないノード40−21、40−33、40−12及び40−41は、グラフにおけるノードペアの中で幾何的な一貫性がないとして評価されたことが示されている。
グラフ構築部1032は、ノード毎に、映像フレーム20(例えば、映像フレームI)におけるどの人物検出結果と、映像フレーム30(例えば、It+t0)におけるどの人物検出結果との対応付けであるかを示す情報とともに、構築したエッジを含むグラフを選択部1033に出力する。
選択部1033は、グラフ構築部1032から出力された情報に基づいて、クラスタ抽出処理を実行する(ステップS206)。クラスタ抽出処理とは、正しい対応付けと予想されるノードを含むクラスタを抽出する処理である。クラスタ抽出処理の詳細については図11で説明する。
変換行列推定部104は、クラスタが抽出されたか否かを判定する(ステップS207)。選択部1033からの出力にクラスタの情報が含まれる場合、変換行列推定部104はクラスタが抽出されたと判定する。一方、選択部1033からの出力がNullである場合、変換行列推定部104はクラスタが抽出されなかったと判定する。クラスタが抽出されなかった場合(ステップS207−NO)、画像処理装置10aは図6の処理を終了する。すなわち、画像処理装置10aは、座標変換行列を取得できないとしてNullを出力する。
一方、クラスタが抽出された場合(ステップS207−YES)、変換行列推定部104は、クラスタに含まれるノードで特定される人物対応付け結果と、物体検出部102aによる人物検出結果とに基づいて、映像フレームI及びIt+t0の座標変換行列Ht,t+t0を推定する(ステップS208)。変換行列推定部104は、推定した座標変換行列Ht,t+t0を画像処理部105に出力する。
図11は、第2の実施形態における画像処理装置10aが行うクラスタ抽出処理の流れを示すフローチャートである。
選択部1033は、グラフ構築部1032によって構築されたエッジを含むグラフにおいて、最も次数の高いノードを選択する(ステップS301)。ここで次数とは、ノードに接続されているエッジの数を表す。エッジの数が多いということは、接続しているノードが多いということである。すなわち、選択部1033は、グラフにおいて、接続しているノードが最も多いノードを選択する。例えば、図10の場合、エッジの数が多いノードは、ノード40−41、40−31及び40−42である。そのため、選択部1033は、ノード40−41、40−31及び40−42のいずれかを選択する。
選択部1033は、選択したノードの次数が第3の閾値以上であるか否かを判定する(ステップS302)。選択したノードの次数が第3の閾値以上ではない場合(ステップS302−NO)、選択部1033はクラスタ抽出処理の結果としてNullを出力する(ステップS303)。その後、選択部1033は、クラスタ抽出処理を終了する。
一方、選択したノードの次数が第3の閾値以上である場合(ステップS302−YES)、選択部1033はクラスタの初期化を行う(ステップS304)。具体的には、選択部1033は、空集合でクラスタを初期化する。これにより、クラスタにはノードがいずれも含まれなくなる。選択部1033は、クラスタの初期化後に周辺ノードに対してランキング付けを行う(ステップS305)。周辺ノードとは、ステップS301の処理で選択されたノード以外のノードである。
具体的には、選択部1033は、ステップS301の処理で選択したノードを開始ノードとして、ページランクアルゴリズムを用いて周辺ノードをランキングする。このとき、下記参考文献3で開示されている近似ページランクアルゴリズムを用いることも可能であり、この場合にはグラフのサイズに依存しない計算コストで周辺ノードをランキングすることができる。一般的に、エッジの数が多いほどランキングが高くなる傾向がある。
(参考文献3:Reid Andersen, Fan Chung, Kevin Lang, “Local Graph Partitioning using PageRank Vectors”, In Proc. IEEE Annual Symposium on Foundations of Computer Science (FOCS), 2006)
選択部1033は、ランキング付けの結果、複数の周辺ノードのうちランキングN=1番目の周辺ノードを選択する(ステップS306)。選択部1033は、選択した周辺ノードがクラスタへの追加条件を満たすか否かを判定する(ステップS307)。クラスタへの追加条件とは、周辺ノードをクラスタに追加するために満たすべき条件であり、例えば選択された周辺ノードにおける特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていないことである。ここで、ノードにおける特徴点とは、ノードを構成している人物の検出結果である。
クラスタへの追加条件は、一つの映像フレームの中には、同一人物は高々一度のみ出現するという制約から導かれるものである。したがって、選択部1033は、選択した周辺ノードを構成する人物の検出結果が、既にクラスタに含まれているノードを構成する人物の検出結果として使用されている場合には、選択した周辺ノードをクラスタへの追加条件を満たさないと判定する。
一方、選択部1033は、選択した周辺ノードを構成する人物の検出結果が、既にクラスタに含まれているノードを構成する人物の検出結果として使用されていない場合には、選択した周辺ノードをクラスタへの追加条件を満たすと判定する。
選択した周辺ノードがクラスタへの追加条件を満たさない場合(ステップS307−NO)、選択部1033は選択した周辺ノードをクラスタに追加しない(ステップS308)。その後、選択部1033は、ランキングNの値に1を加算する(ステップS309)。選択部1033は、ランキングN番目の周辺ノードを選択する(ステップS310)。その後、選択部1033は、ステップS307以降の処理を実行する。
一方、選択した周辺ノードがクラスタへの追加条件を満たす場合(ステップS307−YES)、選択部1033は選択した周辺ノードをクラスタに追加する(ステップS311)。選択部1033は、周辺ノードがクラスタに追加されると、クラスタの精度を示す評価値score=δS/vol(S)を算出する(ステップS312)。ここで、δSはクラスタに含まれない周辺ノードと、クラスタ内のノードとを接続するエッジの数を表し、vol(S)はクラスタ内のノードの次数の総和を表す。選択部1033は、クラスタ内のノードを特定する情報と、算出した評価値scoreとを対応付けて記憶する。このように、選択部1033は、評価値scoreを算出する度に、評価値scoreに対応付けて、クラスタに含まれるノードを特定する情報を記憶する。
選択部1033は、記憶している情報に基づいて、算出した評価値scoreが前回の評価値scoreよりも高くなっているか否かを判定する(ステップS313)。評価値scoreが前回の評価値scoreよりも高くなっていない場合(ステップS313−NO)、選択部1033はステップS309以降の処理を実行する。
一方、評価値scoreが前回の評価値scoreよりも高くなっている場合(ステップS313−YES)、選択部1033は前回の評価値scoreを算出した際のクラスタを選択する。そして、選択部1033は、選択したクラスタを最適なクラスタとして抽出する(ステップS314)。なお、選択部1033は、前回の評価値scoreが記憶されていない場合には、比較ができないため高くなっていないと判定する。
評価値scoreは、クラスタを構成する組み合わせがいいほど小さい値となる。そのため、評価値scoreが前回の評価値scoreよりも高くなった場合には、新たに周辺ノードが追加されたことによりクラスタを構成するノードの組み合わせが良くなくなっていく可能性がある。そこで、選択部1033は、算出した評価値scoreが前回の評価値scoreよりも高くなっている場合には、前回の評価値scoreを算出した際のクラスタを最適なクラスタとして抽出する。
選択部1033は、抽出したクラスタのサイズが第4の閾値以上であるか否かを判定する(ステップS315)。クラスタのサイズは、例えばクラスタを構成するノードの数である。抽出したクラスタのサイズが第4の閾値未満である場合(ステップS315−NO)、選択部1033はステップS303の処理を実行する。
一方、抽出したクラスタのサイズが第4の閾値以上である場合(ステップS315−YES)、選択部1033は選択したクラスタをクラスタ抽出処理の結果として出力する(ステップS316)。選択部1033で出力されるクラスタは、クラスタに含まれる全てのノードに対応する人物検出結果が、クラスタに含まれるノード間で共有されないという制約を満たしている。
図12は、第2の実施形態におけるクラスタの抽出結果を示す図である。
図12に示すように、図11の処理で選択されたクラスタ41には、ノード40−41、40−31及び40−42が含まれている。変換行列推定部104では、選択部1033によって抽出されたクラスタ41に含まれるノード40−41、40−31及び40−42で示される映像フレーム間の対応付けの結果を用いて座標変換行列を推定する。
以上のように構成された第2の実施形態における画像処理システム100では、座標変換行列のパラメータの推定精度を向上させることができる。具体的には、まず画像処理装置10aは、映像フレーム間における人物検出結果の対応付けを暫定的に行う。これにより、一人の人物において1又は複数の対応付けがなされる。次に、画像処理装置10aは、暫定対応付けをそれぞれノードとして仮想上にノードを配置したグラフを構築する。次に、画像処理装置10aは、構築したグラフにおいて幾何的な一貫性があるノードペアを探し出し、エッジで接続する。次に、画像処理装置10aは、エッジに基づいて、正しい対応付けと想定される対応付けのノードを選択し、選択したノードと、クラスタへの追加条件を満たすノードを含むクラスタを抽出する。抽出されたクラスタには、正しい対応付けと想定されるノードが含まれているため、画像処理装置10aはクラスタに含まれるノードで示される対応付けの結果と、各映像フレームにおける人物の検出結果とに基づいて映像フレーム間の座標変換行列を推定する。このように、第3の実施形態における画像処理システム100では、従来のように、撮影対象領域2における特徴的な領域が撮像されていなくても座標変換行列を推定することができる。また、カメラが撮像する領域が急激に変化したとしても映像フレーム内に撮像されている人物を検出して対応付けすることによって座標変換行列を推定することができる。したがって、画像処理システム100は、従来の方法で座標変換行列のパラメータの推定精度が低下してしまう状況下であっても、座標変換行列のパラメータを推定することができる。そのため、座標変換行列のパラメータの推定精度を向上させることが可能になる。
また、画像処理装置10aは、クラスタへの追加条件を満たすか否かを判定し、クラスタへの追加条件を満たすノードのみをクラスに追加している。これにより、クラスタ内において同一の人物検出結果が含まれなくなる。したがって、誤った対応付けを軽減することができる。その結果、座標変換行列のパラメータの推定精度を向上させることが可能になる。
<変形例>
画像処理装置10aが備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部101、物体検出部102a、物体対応付け部103a及び変換行列推定部104、又は、物体対応付け部103a及び変換行列推定部104が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置10aは、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
選択部1033は、周辺ノード全てに対してクラスタへの追加条件を満たすか否かの判定を行うように構成されてもよい。このように構成される場合、選択部1033は、図11のステップS313の処理に代えて、ランキング付けされた周辺ノード全てに対して処理を行ったか否かを判定する。そして、ランキング付けされた周辺ノード全てに対して処理を行っていない場合には、選択部1033はステップS309以降の処理を実行する。一方。ランキング付けされた周辺ノード全てに対して処理を行った場合には、選択部1033は評価値が最小となるクラスタを構成するノードの組み合わせを選択する。そして、選択部1033は、選択したノードの組み合わせで構成されるクラスタを処理結果として抽出する。評価値が最小となるクラスタが複数ある場合には、選択部1033は評価値が最小となるクラスタの中からランダムにクラスタを選択してもよい。
(第3の実施形態)
第1の実施形態で説明したように、特定物体人物検出器を用いた場合には特定人物毎のラベルがあるが、学習の精度が低い場合には誤ったラベルが付与されてしまうことや、複数の人物に同じラベルが付与されてしまうことも想定される。そのような場合に第1の実施形態のようにラベルに基づいて人物の検出結果の対応付けを行ってしまうと、座標変換行列のパラメータの推定精度が低下してしまう場合もある。そこで、第3の実施形態では、第1の実施形態のように特定物体人物検出器により特定の人物を検出した後に、第2の実施形態のように暫定対応付けを行って座標変換行列を推定する。
図13は、第3の実施形態における画像処理装置10bの機能構成を表す概略ブロック図である。
画像処理装置10bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置10aは、画像取得部101、物体検出部102、物体対応付け部103b、変換行列推定部104及び画像処理部105を備える装置として機能する。なお、画像処理装置10bの各機能の全て又は一部は、ASICやPLDやFPGAやGPU等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置10bは、物体対応付け部103に代えて物体対応付け部103bを備える点で画像処理装置10と構成が異なる。画像処理装置10bは、他の構成については画像処理装置10と同様である。そのため、画像処理装置10b全体の説明は省略し、物体対応付け部103bについて説明する。
物体対応付け部103bは、物体検出部102によって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、物体対応付け部103bは、人物検出結果として得られたラベルを用いて、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として暫定的に対応付ける。上述したように、学習の精度が低い場合には誤ったラベルが付与されてしまうことや、複数の人物に同じラベルが付与されてしまうことがあるため、物体対応付け部103bは同じ情報を示すラベルが付与されている人物検出結果を暫定的に対応付ける。その後、物体対応付け部103bは、第2の実施形態と同様の処理を行う。
また、物体対応付け部103bは、第2の実施形態と同様の方法で暫定的に人物検出結果を対応付け、同じ情報を示すラベルが付与されている人物検出結果の組が、同じ情報を示すラベルが付与されていない人物検出結果の組よりも選択されやすいように重みづけしてもよい。
以上のように構成された第3の実施形態における画像処理システム100では、映像フレームそれぞれで検出された、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として対応付けるのではなく、暫定的に対応付けて他の検出結果との対応関係を踏まえて最終的な対応付けを選択する。これにより、特定物体人物検出器の学習の精度が低い場合に、誤ったラベルが付与されていたり、複数の人物に同一のラベルが付与されていた場合であっても、より精度の高い対応付けを行うことができる。そのため、特定物体人物検出器の学習の精度が低い場合であっても、座標変換行列のパラメータの推定精度の低下を抑制することができる。
<変形例>
画像処理装置10bが備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部101、物体検出部102、物体対応付け部103b及び変換行列推定部104、又は、物体対応付け部103b及び変換行列推定部104が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置10bは、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
(第4の実施形態)
第4の実施形態では、複数台のカメラを用いて、異なる視点(例えば、相対する方向)で撮影した複数の画像を用いる場合を例に説明する。
図14は、第4の実施形態における画像処理システム100cの機能構成を示す図である。画像処理システム100cは、複数の撮像装置1、3及び画像処理装置10cを備える。撮像装置1及び3は、例えば撮影対象領域2を挟んで相対する向きに設置される。なお、複数の撮像装置1及び3の設置位置と撮影方向の向きは既知である。
撮像装置1は、撮影対象領域2を撮影する。撮像装置1は、例えばカメラである。撮像装置1は、撮影対象領域2を撮像することによって映像フレームを生成し、生成した映像フレームを画像処理装置10cに出力する。
撮像装置3は、撮影対象領域2を撮影する。撮像装置3は、例えばカメラである。撮像装置3は、撮影対象領域2を撮像することによって映像フレームを生成し、生成した映像フレームを画像処理装置10cに出力する。
画像処理装置10cは、入力した複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定し、推定した座標変換行列により映像フレームの画像変換を行う。例えば、画像処理装置10cは、撮像装置1によって撮像された映像フレームと、撮像装置3によって撮像された映像フレームとの2枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。また、例えば、画像処理装置10cは、撮像装置1によって撮像された複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。また、例えば、画像処理装置10cは、撮像装置3によって撮像された複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。
画像処理装置10cに入力される複数枚の映像フレームは、異なる撮像装置で撮像された画像又は異なる時刻に撮像された画像である。ただし、画像処理装置10cに入力される複数枚の映像フレームの撮影時刻が近いほど好ましい。以下の説明では、撮像装置1によって時刻tに撮像された画像を映像フレームIt1と記載し、撮像装置3によって時刻tに撮像された画像を映像フレームIt3と記載する。
図14に示すように、第4の実施形態では、第1の実施形態〜第3の実施形態とは異なり、画像処理装置10cが複数の撮像装置1及び3で撮像された映像フレームのいずれか又は両方を用いる。撮像装置1及び3は、相対する方向で撮影対象領域2を撮像する。したがって、撮像装置1によって撮像された映像フレームと、撮像装置3によって撮像された映像フレームとでは、物体の進行方向が反対になる。そのため、第1の実施形態〜第3の実施形態と同様に、得られた座標変換行列をそのまま用いて座標変換を行うと正しい画像が得られなくなる。
そこで、まず画像処理装置10cは、撮像装置1及び3の識別情報(例えば、カメラID)を用いて、入力された映像フレームが撮像装置1及び3のいずれで撮像された映像フレームであるのかを判定する。次に、画像処理装置10cは、判定結果により撮像装置が切り替わった場合には、撮像装置1と撮像装置3との相対的な関係性から一方の人物検出結果を逆転させて対応付けを行う。
次に、画像処理装置10cの具体的な構成について説明する。
画像処理装置10cは、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置10cは、画像取得部101c、物体検出部102c、物体対応付け部103c、変換行列推定部104c及び画像処理部105を備える装置として機能する。なお、画像処理装置10cの各機能の全て又は一部は、ASICやPLDやFPGAやGPU等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
画像処理装置10cは、画像取得部101、物体検出部102、物体対応付け部103及び変換行列推定部104に代えて画像取得部101c、物体検出部102c、物体対応付け部103c及び変換行列推定部104cを備える点で画像処理装置10と構成が異なる。画像処理装置10cは、他の構成については画像処理装置10と同様である。そのため、画像処理装置10c全体の説明は省略し、画像取得部101c、物体検出部102c、物体対応付け部103c及び変換行列推定部104cについて説明する。
画像取得部101cは、撮像装置1及び3のいずれか一方又はそれぞれから出力された映像フレームを取得する。また、画像取得部101cは、映像フレームからカメラIDを取得し、取得したカメラIDが変化した場合にはその変化を検出する。画像取得部101cは、カメラIDの変化を検出した場合には、カメラIDと、カメラIDが変化したときに取得された映像フレームがどの映像フレームであるのかを示す情報とを含む通知を物体対応付け部103cに出力する。
物体検出部102cは、画像取得部101cによって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。なお、物体検出部102cによる物体の検出方法は、第1の実施形態〜第3の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。すなわち、物体検出部102cは、一般物体検出器又は特定物体検出器のいずれかを用いて、映像フレームから人物検出を行う。
物体対応付け部103cは、物体検出部102cによって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、まず物体対応付け部103cは、複数枚のフレームから所定の時間間隔差で撮像された対応付け対象となる複数枚の映像フレームを抽出する。次に、物体対応付け部103cは、対応付け対象として抽出した複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、対応付け対象として抽出した複数枚の映像フレーム間の物体の検出結果を対応付ける。物体対応付け部103cにおける対応付け対象となる複数枚の映像フレームは、所定の時間間隔差で同じ撮像装置又は異なる撮像装置によって撮像された映像フレーム、及び、同時刻に異なる撮像装置によって撮像された映像フレームである。このように、物体対応付け部103cは、物体検出部102cによって検出された各映像フレームのうち所定の時間間隔差で撮像された又は同時刻に異なる撮像装置によって撮像された複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、所定の時間間隔差で撮像された又は同時刻に異なる撮像装置によって撮像された複数枚の映像フレーム間の物体の検出結果を対応付ける。
例えば、物体対応付け部103cは、撮像装置1によって時刻tに撮像された映像フレームIで検出された物体の検出結果と、時刻tと所定の時間離れた時刻又は同時刻に撮像装置3によって撮像された映像フレームで検出された物体の検出結果とに基づいて、当該映像フレーム間の物体の検出結果を対応付ける。また、例えば、物体対応付け部103cは、撮像装置1によって時刻tに撮像された映像フレームIで検出された物体の検出結果と、時刻tと所定の時間離れた時刻t+tに撮像装置1によって撮像された映像フレームIt+t0で検出された物体の検出結果とに基づいて、映像フレームIと映像フレームIt+t0との間の物体の検出結果を対応付ける。また、例えば、物体対応付け部103cは、撮像装置3によって時刻tに撮像された映像フレームIt3で検出された物体の検出結果と、時刻tと所定の時間離れた時刻t+tに撮像装置3によって撮像された映像フレームIt3+t0で検出された物体の検出結果とに基づいて、映像フレームIt3と映像フレームIt3+t0との間の物体の検出結果を対応付ける。
なお、物体対応付け部103cは、第1の実施形態〜第3の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。例えば、物体対応付け部103cは、物体検出部102cが一般物体検出器を用いる場合には、第1の実施形態又は第3の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。また、例えば、物体対応付け部103cは、物体検出部102cが特定物体検出器を用いる場合には、第2の実施形態における同名の機能部と同様の処理を行う。物体対応付け部103cが、第1の実施形態〜第3の実施形態と異なる点は、画像取得部101cから通知を取得した場合の映像フレーム間における人物の検出結果の処理が異なる点である。
具体的には、物体対応付け部103cは、カメラIDが変化したときに取得された映像フレームと、その直前又は直後に取得された映像フレームとの対応付けにおいて、撮像装置1と撮像装置3との相対的な関係性から一方の人物検出結果を逆転させて対応付けを行う。
変換行列推定部104cは、物体検出部102cによる人物の検出結果と、物体対応付け部103cによる対応付け結果とに基づいて、映像フレームIの座標変換行列を推定する。
以上のように構成された画像処理システム100cでは、複数のカメラで互いに異なる方向から撮影対象領域2を撮影した映像フレームが取得された場合には、映像フレーム間の人物検出結果において、一方の人物検出結果を逆転した後に対応付けを行う。これにより、複数のカメラで互いに異なる方向から撮影対象領域2を撮影した映像フレームが取得された場合であっても、座標変換行列のパラメータの推定することができる。
<変形例>
撮像装置1及び3は、同じ方向を撮影するように設置されてもよいし、異なる方向を撮影するように設置されてもよい。撮像装置1及び3が同じ方向を撮影するように設置される場合、画像取得部101cはカメラIDによる判定処理を行う必要はない。撮像装置1及び3が異なる方向を撮影するように設置される場合、例えば撮像装置1と撮像装置3とは、直交する方向を向くように設置される。
<第1の実施形態から第4の実施形態に共通する変形例>
画像取得部101,101cは、映像フレームを撮像装置以外から取得するように構成されてもよい。具体的には、画像取得部101,101cは、撮影対象領域2の一部又は全てが撮像されている映像フレームを記憶する記憶装置から映像フレームを取得してもよいし、USB(Universal Serial Bus)やSDカードのように持ち運び可能な記録媒体から映像フレームを取得してもよいし、ネットワーク上から映像フレームを取得してもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、3…撮像装置, 10、10a、10b、10c…画像処理装置, 101、101c…画像取得部, 102、102a、102c…物体検出部, 103、103a、103b、103c…物体対応付け部, 1031…暫定対応付け部, 1032…グラフ構築部, 1033…選択部, 104、104c…変換行列推定部, 105…画像処理部

Claims (8)

  1. 複数枚の画像それぞれから物体を検出する検出ステップと、
    前記複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、
    前記対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、
    前記物体対応付けステップにおける対応付け結果と、前記物体の検出結果とに基づいて前記画像間の座標変換行列を推定する変換行列推定ステップと、
    を有する座標変換行列推定方法。
  2. 前記検出ステップにおいて、前記物体を検出し、検出した前記物体の分類の判定を行うことによって前記物体を分類し、
    前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記物体対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として対応付ける、請求項1に記載の座標変換行列推定方法。
  3. 前記物体対応付けステップは、
    前記画像間の物体の検出結果を暫定的に対応付ける暫定対応付けステップと、
    前記暫定対応付けステップにおいて暫定的に対応付けられた前記画像間の物体の検出結果の組それぞれをノードとしたグラフを構築するグラフ構築ステップと、
    前記グラフにおける複数のノードのうち、ノード間で関係性が高い順に割り当てられる優先度の高いノードから順番に、正しい対応付けであると想定される対応付けのノードを含むクラスタへの追加条件を満たすか否かを判定することによって、正しい対応付けであると想定される対応付けのノードを選択する選択ステップと、
    を有する請求項1に記載の座標変換行列推定方法。
  4. 前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、
    前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記暫定対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として暫定的に対応付ける、請求項3に記載の座標変換行列推定方法。
  5. 前記グラフ構築ステップにおいて、構築した前記グラフに含まれるノードペアの幾何的な一貫性の有無を評価し、幾何的な一貫性があると評価したノードペア間をエッジで接続し、
    前記選択ステップにおいて、前記エッジで接続されている数が多いノードを優先度の高いノードとして前記正しい対応付けであると想定される対応付けのノードを選択する、請求項3又は4に記載の座標変換行列推定方法。
  6. 前記選択ステップにおいて、優先度の高いノードから順番に、前記ノードの特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていない場合に前記クラスタへの追加条件を満たすと判定し、前記クラスタへの追加条件を満たしたノードを前記クラスタに追加する、請求項3から5のいずれか一項に記載の座標変換行列推定方法。
  7. 複数の撮像装置によって相対する方向で撮影対象領域が撮影された複数枚の画像それぞれに撮像されている物体の検出結果が入力された場合、
    前記物体対応付けステップにおいて、一方の物体の検出結果を逆転させた後に対応付けを行う、請求項1から6のいずれか一項に記載の座標変換行列推定方法。
  8. 請求項1〜7のいずれか一項に記載の座標変換行列推定方法を実行させるためのコンピュータプログラム。
JP2018219735A 2018-11-22 2018-11-22 座標変換行列推定方法及びコンピュータプログラム Active JP7195892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018219735A JP7195892B2 (ja) 2018-11-22 2018-11-22 座標変換行列推定方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018219735A JP7195892B2 (ja) 2018-11-22 2018-11-22 座標変換行列推定方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2020086879A true JP2020086879A (ja) 2020-06-04
JP7195892B2 JP7195892B2 (ja) 2022-12-26

Family

ID=70909997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018219735A Active JP7195892B2 (ja) 2018-11-22 2018-11-22 座標変換行列推定方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7195892B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125178A (zh) * 2021-11-16 2022-03-01 阿里巴巴达摩院(杭州)科技有限公司 视频拼接方法、设备和可读介质
JP7497223B2 (ja) 2020-06-16 2024-06-10 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130889A (ja) * 2016-01-22 2017-07-27 Kddi株式会社 カメラのキャリブレーション装置、方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130889A (ja) * 2016-01-22 2017-07-27 Kddi株式会社 カメラのキャリブレーション装置、方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7497223B2 (ja) 2020-06-16 2024-06-10 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN114125178A (zh) * 2021-11-16 2022-03-01 阿里巴巴达摩院(杭州)科技有限公司 视频拼接方法、设备和可读介质

Also Published As

Publication number Publication date
JP7195892B2 (ja) 2022-12-26

Similar Documents

Publication Publication Date Title
Shen et al. Multiobject tracking by submodular optimization
CN111462200B (zh) 一种跨视频行人定位追踪方法、系统及设备
US9117147B2 (en) Marginal space learning for multi-person tracking over mega pixel imagery
Tran et al. Optimal spatio-temporal path discovery for video event detection
Ren et al. Multi-camera video surveillance for real-time analysis and reconstruction of soccer games
CN110781733B (zh) 图像去重方法、存储介质、网络设备和智能监控系统
Ratan et al. Object detection and localization by dynamic template warping
Kumar et al. Discriminative label propagation for multi-object tracking with sporadic appearance features
Xu et al. Wide-baseline multi-camera calibration using person re-identification
JP7195892B2 (ja) 座標変換行列推定方法及びコンピュータプログラム
Hsieh et al. Abnormal scene change detection from a moving camera using bags of patches and spider-web map
Huang et al. Tracking multiple deformable objects in egocentric videos
JP7334058B2 (ja) 幾何パラメータ推定装置、幾何パラメータ推定システム、幾何パラメータ推定方法及びコンピュータプログラム
Gad et al. Crowd density estimation using multiple features categories and multiple regression models
Chen et al. Player trajectory reconstruction for tactical analysis
CN113793362B (zh) 基于多镜头视频的行人轨迹提取方法和装置
Kim et al. Directional pedestrian counting with a hybrid map-based model
Yu et al. Playfield and ball detection in soccer video
Chen et al. Player trajectory reconstruction from broadcast basketball video
Arbués-Sangüesa et al. Multi-Person tracking by multi-scale detection in Basketball scenarios
CN111191524A (zh) 运动人群计数方法
Fu et al. Crowd counting via head detection and motion flow estimation
JP7253969B2 (ja) 幾何パラメータ推定装置、幾何パラメータ推定システム、幾何パラメータ推定方法及びコンピュータプログラム
Malon et al. Story comparison for estimating field of view overlap in a video collection
Hassen et al. Mono-camera person tracking based on template matching and covariance descriptor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221214

R150 Certificate of patent or registration of utility model

Ref document number: 7195892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150