(57)【要約】【課題】座標変換行列の推定精度を向上させること。【解決手段】複数枚の画像それぞれから物体を検出する検出ステップと、複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、物体対応付けステップにおける対応付け結果と、物体の検出結果とに基づいて画像間の座標変換行列を推定する変換行列推定ステップと、を有する座標変換行列推定方法。【選択図】図１
2020086879.tif 000002
【特許請求の範囲】
【請求項１】
複数枚の画像それぞれから物体を検出する検出ステップと、
前記複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、
前記対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、
前記物体対応付けステップにおける対応付け結果と、前記物体の検出結果とに基づいて前記画像間の座標変換行列を推定する変換行列推定ステップと、
を有する座標変換行列推定方法。
【請求項２】
前記検出ステップにおいて、前記物体を検出し、検出した前記物体の分類の判定を行うことによって前記物体を分類し、
前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記物体対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として対応付ける、請求項１に記載の座標変換行列推定方法。
【請求項３】
前記物体対応付けステップは、
前記画像間の物体の検出結果を暫定的に対応付ける暫定対応付けステップと、
前記暫定対応付けステップにおいて暫定的に対応付けられた前記画像間の物体の検出結果の組それぞれをノードとしたグラフを構築するグラフ構築ステップと、
前記グラフにおける複数のノードのうち、ノード間で関係性が高い順に割り当てられる優先度の高いノードから順番に、正しい対応付けであると想定される対応付けのノードを含むクラスタへの追加条件を満たすか否かを判定することによって、正しい対応付けであると想定される対応付けのノードを選択する選択ステップと、
を有する請求項１に記載の座標変換行列推定方法。
【請求項４】
前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、
前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記暫定対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として暫定的に対応付ける、請求項３に記載の座標変換行列推定方法。
【請求項５】
前記グラフ構築ステップにおいて、構築した前記グラフに含まれるノードペアの幾何的な一貫性の有無を評価し、幾何的な一貫性があると評価したノードペア間をエッジで接続し、
前記選択ステップにおいて、前記エッジで接続されている数が多いノードを優先度の高いノードとして前記正しい対応付けであると想定される対応付けのノードを選択する、請求項３又は４に記載の座標変換行列推定方法。
【請求項６】
前記選択ステップにおいて、優先度の高いノードから順番に、前記ノードの特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていない場合に前記クラスタへの追加条件を満たすと判定し、前記クラスタへの追加条件を満たしたノードを前記クラスタに追加する、請求項３から５のいずれか一項に記載の座標変換行列推定方法。
【請求項７】
複数の撮像装置によって相対する方向で撮影対象領域が撮影された複数枚の画像それぞれに撮像されている物体の検出結果が入力された場合、
前記物体対応付けステップにおいて、一方の物体の検出結果を逆転させた後に対応付けを行う、請求項１から６のいずれか一項に記載の座標変換行列推定方法。
【請求項８】
請求項１〜７のいずれか一項に記載の座標変換行列推定方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標変換行列推定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、サッカーやラグビー等のスポーツを撮影し、撮影された映像を解析してチームの戦術や各選手のパフォーマンスを分析することは戦術の立案や将来性の高い選手のリクルーティングにつながる。
一方で、解析の対象となり得る潜在的なスポーツ映像の規模は極めて大きく、これらを全て人手で分析するには膨大なコストと時間がかかる。スポーツ映像の分析を機械で自動的に行うことができれば、大規模なデータに潜む有益な知見をもれなく収集することが可能になると考えられる。したがって、スポーツ映像の自動分析の実現に寄与する技術の産業価値は極めて高い。
【０００３】
通常、スポーツ映像は、スポーツの競技フィールド側面に配置されたカメラによって選手に追従して撮影されることが多い。スポーツ映像から分析されうる代表的な統計値として、選手の活動量（例えば、試合中の選手の走行距離）や選手の移動軌跡が挙げられる。しかしながら、映像中の選手を検出・追跡するのみでは、上記の統計値を取得するには不十分である。上記の統計値を取得するには、映像を構成する複数の映像フレームの中にフィールドがどのように映っているかが明らかである必要がある。より具体的には、映像中のある時刻ｔ、ｔ＋ｔ０における映像フレームに撮像されているフィールドの物理的に同一な地点を対応付ける座標変換行列が既知である必要がある。フィールドが二次元平面である場合、上記の座標変換行列は３行３列の行列として表現されることが知られている。座標変換行列のパラメータが未知である場合に、入力された映像フレームの情報から座標変換行列を推定する技術をレジストレーションという。
【０００４】
映像フレームに基づいてレジストレーションを行う最も単純な方法として以下の方法がある。まず、時刻ｔ、ｔ＋ｔ０における映像フレーム間でフィールド中の同一位置をとらえた任意の４点を人手で対応付ける。次に、その対応関係からＤＬＴ（Direct Linear Transform）によって座標変換行列のパラメータを推定する。この方法では、カメラが試合状況に応じて動く場合、連続する時刻の映像フレーム全てに人手で対応点を与える必要があり、そのコストが膨大であるとともに、リアルタイムな分析にも向かないという問題点がある。
【０００５】
人手で対応点を与えることを回避して座標変換行列のパラメータを推定する方法として、非特許文献１及び２のような技術が提案されている。
非特許文献１では、各映像フレームに撮像されているフィールド中の特徴的な領域（例えば、ラインやサークル）を予め検出しておき、特徴的な領域を複数の映像フレーム間で対応付けることで座標変換行列のパラメータを推定している。
また、非特許文献２では、画像中の各ピクセルを「センターサークル」、「サイドライン」、「芝」などといったクラスに割り当てるニューラルネットワークを事前に学習しておき、その出力に基づいて映像フレームを対応付けて座標変換行列のパラメータを推定している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数の映像フレーム間に特徴的な領域が撮像されている場合には、非特許文献１及び２それぞれの方法で座標変換行列のパラメータを推定することができる。しかしながら、フィールド中の特徴的な領域がほとんど映っていない映像フレームが対象の場合には、非特許文献１及び２の方法では座標変換行列のパラメータの推定精度が低下する。このような問題を解決する手段として、時系列の情報をより明示的に活用する方法がある。
【０００８】
具体的には、撮影時刻の近い複数の映像フレーム間では、状況が滑らかに変化しているという仮定のもと、公知のオプティカルフロー推定手法を用いて映像フレーム間の対応点を推定し、座標変換行列を推定するといった方法がある。しかしこの方法では、前述の仮定を逸脱するような場合、例えば、連続して撮像された映像フレーム間でカメラが撮像する領域が急激に変化する場合には、オプティカルフローの推定精度が低下してしまう。その結果、座標変換行列のパラメータを正確に推定することができなくなってしまう。連続して撮像された映像フレーム間でカメラが撮像する領域が急激に変化することは、視聴用途の映像の場合ごく一般的である。そのため、このような状況に対応できないことは解析対象として得る映像の種類を大きく制約してしまうことにつながりかねない。
【０００９】
以上のように、従来の方法では、撮影対象領域における特徴的な領域が撮像されていない場合や、カメラが撮像する領域が急激に変化する場合には、座標変換行列の推定精度が低下してしまうという問題があった。
上記事情に鑑み、本発明は、座標変換行列の推定精度を向上させることができる技術の提供を目的としている。
【課題を解決するための手段】
【００１０】
本発明の一態様は、複数枚の画像それぞれから物体を検出する検出ステップと、前記複数枚の画像から所定の時間間隔差で撮像された又は、同時刻に異なる撮像装置で撮像された対応付け対象となる複数枚の画像を抽出する抽出ステップと、前記対応付け対象として抽出された複数枚の画像間における物体の検出結果を対応付ける物体対応付けステップと、前記物体対応付けステップにおける対応付け結果と、前記物体の検出結果とに基づいて前記画像間の座標変換行列を推定する変換行列推定ステップと、を有する座標変換行列推定方法である。
【００１１】
本発明の一態様は、上記の座標変換行列推定方法であって、前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記物体対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として対応付ける。
【００１２】
本発明の一態様は、上記の座標変換行列推定方法であって、前記物体対応付けステップは、前記画像間の物体の検出結果を暫定的に対応付ける暫定対応付けステップと、前記暫定対応付けステップにおいて暫定的に対応付けられた前記画像間の物体の検出結果の組それぞれをノードとしたグラフを構築するグラフ構築ステップと、前記グラフにおける複数のノードのうち、ノード間で関係性が高い順に割り当てられる優先度の高いノードから順番に、正しい対応付けであると想定される対応付けのノードを含むクラスタへの追加条件を満たすか否かを判定することによって、正しい対応付けであると想定される対応付けのノードを選択する選択ステップと、を有する。
【００１３】
本発明の一態様は、上記の座標変換行列推定方法であって、前記検出ステップにおいて、前記物体を検出した後に、検出した前記物体の分類の判定を行うことによって前記物体を分類し、前記画像間の物体の検出結果に前記物体の分類結果を示す情報が含まれる場合、前記暫定対応付けステップにおいて、前記画像間で同一の分類結果を示す情報が含まれる物体の検出結果を同一の物体の検出結果として暫定的に対応付ける。
【００１４】
本発明の一態様は、上記の座標変換行列推定方法であって、前記グラフ構築ステップにおいて、構築した前記グラフに含まれるノードペアの幾何的な一貫性の有無を評価し、幾何的な一貫性があると評価したノードペア間をエッジで接続し、前記選択ステップにおいて、前記エッジで接続されている数が多いノードを優先度の高いノードとして前記正しい対応付けであると想定される対応付けのノードを選択する。
【００１５】
本発明の一態様は、上記の座標変換行列推定方法であって、前記選択ステップにおいて、優先度の高いノードから順番に、前記ノードの特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていない場合に前記クラスタへの追加条件を満たすと判定し、前記クラスタへの追加条件を満たしたノードを前記クラスタに追加する。
【００１６】
本発明の一態様は、上記の座標変換行列推定方法であって、複数の撮像装置によって相対する方向で撮影対象領域が撮影された複数枚の画像それぞれに撮像されている物体の検出結果が入力された場合、前記物体対応付けステップにおいて、一方の物体の検出結果を逆転させた後に対応付けを行う。
【００１７】
本発明の一態様は、上記の座標変換行列推定方法を実行させるためのコンピュータプログラムである。
【発明の効果】
【００１８】
本発明により、座標変換行列の推定精度を向上させることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態における画像処理システム１００の機能構成を示す図である。
【図２】第１の実施形態における画像処理装置１０が行う座標変換行列の推定処理の流れを示すフローチャートである。
【図３】第１の実施形態における物体検出部１０２による人物検出の一例を示す図である。
【図４】第２の実施形態における画像処理装置１０ａの機能構成を表す概略ブロック図である。
【図５】第２の実施形態における物体対応付け部１０３ａの機能構成を表す概略ブロック図である。
【図６】第２の実施形態における画像処理装置１０ａが行う座標変換行列の推定処理の流れを示すフローチャートである。
【図７】第２の実施形態における物体検出部１０２ａによる人物検出の一例を示す図である。
【図８】第２の実施形態における暫定対応付け部１０３１による暫定対応付けの結果を示す図である。
【図９】第２の実施形態におけるグラフ構築部１０３２によるグラフの構築結果を示す図である。
【図１０】第２の実施形態におけるグラフ構築部１０３２が構築したグラフにおける処理を示す図である。
【図１１】第２の実施形態における画像処理装置１０ａが行うクラスタ抽出処理の流れを示すフローチャートである。
【図１２】第２の実施形態におけるクラスタの抽出結果を示す図である。
【図１３】第３の実施形態における画像処理装置１０ｂの機能構成を表す概略ブロック図である。
【図１４】第４の実施形態における画像処理システム１００ｃの機能構成を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態を、図面を参照しながら説明する。
（第１の実施形態）
図１は、第１の実施形態における画像処理システム１００の機能構成を示す図である。画像処理システム１００は、撮像装置１及び画像処理装置１０を備える。
撮像装置１は、撮影対象領域２を撮影する。撮影対象領域２は、例えばサッカーやラグビー等のスポーツが行われる競技場である。撮像装置１は、例えばカメラである。撮像装置１は、撮影対象領域２を動画で撮影することによって、撮影対象領域２の一部又は全てが撮像された複数の映像フレームを生成し、生成した複数の映像フレームを画像処理装置１０に出力する。映像フレームは、撮像装置によって撮像された静止画像の一例である。
【００２１】
画像処理装置１０は、入力した複数枚の映像フレームに基づいて映像フレーム間の座標変換行列のパラメータを推定し、推定した座標変換行列のパラメータにより映像フレームの画像変換を行う。例えば、画像処理装置１０は、撮影時刻の異なる２枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。画像処理装置１０に入力される複数枚の映像フレームは、映像中の異なる時刻ｔ、ｔ＋ｔ０に撮像された画像である。映像中の異なる時刻ｔ、ｔ＋ｔ０との間は、所定の時間間隔差があり、例えば１フレーム、数フレーム、１秒、５秒、１０秒、数時間、数年等である。時刻ｔ、ｔ＋ｔ０の間隔は、０に近いほど好ましい。以下の説明では、時刻ｔに撮像された画像を映像フレームＩｔと記載し、ｔ＋ｔ０に撮像された画像を映像フレームＩｔ+ｔ0と記載する。
【００２２】
次に、画像処理装置１０の具体的な構成について説明する。
画像処理装置１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置１０は、画像取得部１０１、物体検出部１０２、物体対応付け部１０３、変換行列推定部１０４及び画像処理部１０５を備える装置として機能する。なお、画像処理装置１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）やＧＰＵ(Graphics Processing Unit)等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【００２３】
画像取得部１０１は、撮像装置１から出力された映像フレームを取得する。例えば、画像取得部１０１は、複数枚の映像フレームを取得する。
物体検出部１０２は、画像取得部１０１によって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。ここで、物体とは、人物、動物、ロボット、乗り物等の自律又は操作に応じて移動可能な移動物体である。以下の説明では、物体が人物である場合を例に説明する。
【００２４】
人物検出には、例えば以下の参考文献１に開示されている手法が用いられてもよい。なお、人物検出の手法は、参考文献１に開示されている手法に限らず、周知の技術を用いることが可能である。
（参考文献１：Joseph Redmon, Ali Farhadi, “YOLOv3: An Incremental Improvement”, In arXiv, 2018）
【００２５】
物体検出部１０２は、人物の検出結果として、映像フレームに撮像されている各人物を囲う矩形四隅の座標値、すなわちセグメンテーションされた人物の領域を検出する。人物検出の粒度については、映像フレームに撮像されている特定人物のラベルを付与して、矩形四隅の座標値とともに出力する検出器を用いてもよいし、映像フレームに撮像されている任意の人物を検出する検出器を用いてもよい。
【００２６】
以下の説明では、映像フレームに撮像されている特定人物のラベルを、矩形四隅の座標値とともに出力する検出器を特定物体検出器と記載し、映像フレームに撮像されている任意の人物を検出する検出器を一般物体検出器と記載する。特定物体検出器と一般物体検出器は同じ方法で実現することが可能である。しかしながら、一般的に、特定人物を検出するためには個々の対象人物に関する学習データを収集する必要がある。そのため、特定物体検出器は、任意の人物に関する学習データを用意すれば構築可能な一般物体検出器に比べて構築コストが高くなる傾向がある。第１の実施形態における物体検出部１０２は、特定物体検出器を用いる。
【００２７】
物体対応付け部１０３は、物体検出部１０２によって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、まず物体対応付け部１０３は、複数枚のフレームから所定の時間間隔差で撮像された対応付け対象となる複数枚の映像フレームを抽出する。次に、物体対応付け部１０３は、対応付け対象として抽出した複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、対応付け対象として抽出した複数枚の映像フレーム間の物体の検出結果を対応付ける。例えば、物体対応付け部１０３は、時刻ｔに撮像された映像フレームＩｔで検出された物体の検出結果と、時刻ｔと所定の時間離れた時刻ｔ＋ｔ０に撮像された映像フレームＩｔ+ｔ0で検出された物体の検出結果とに基づいて、映像フレームＩｔと映像フレームＩｔ+ｔ0との間の物体の検出結果を対応付ける。人物検出結果には、特定人物のラベルと、矩形四隅の座標値とが含まれる。
変換行列推定部１０４は、物体検出部１０２による人物の検出結果と、物体対応付け部１０３による対応付け結果とに基づいて、映像フレームＩｔ及びＩｔ+ｔ0の座標変換行列Ｈｔ，ｔ+ｔ0を推定する。
【００２８】
座標変換行列のうち、自由度が８であるものは射影変換行列、自由度が６であるものはアフィン変換行列、自由度が４であるものは相似変換行列と呼ばれ、本発明ではいずれの変換行列を用いてもよい。仮定した変換行列のパラメータは、対応付け結果で示される各対応を構成する人物の検出結果から、映像フレーム間で対応付く座標を算出したうえで公知のパラメータ推定方法を用いることで推定することができる。人物の検出結果から映像フレーム間で対応付く座標を算出する方法としては、矩形の重心座標間を対応点として算出したり、人物の下部が地面に接地していることに着目し、矩形の左下、右下の座標をそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ１）として、（（ｘ１＋ｘ２）／２，ｙ１）として算出したりすればよい。また、公知のパラメータ推定方法としては、得られた対応点の数に応じて、ＤＬＴや下記参考文献２に開示されているＲＡＮＳＡＣを用いればよい。
（参考文献２：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）
【００２９】
画像処理部１０５は、変換行列推定部１０４によって推定された座標変換行列Ｈｔ，ｔ+ｔ0を用いて、入力された映像フレームに対して画像処理を行う。具体的には、画像処理部１０５は、映像フレームを特定の方向から見た画像に変換する。例えば、画像処理部１０５は、映像フレームＩｔ+ｔ0を、映像フレームＩｔを撮影した方向から見た画像に変換する。
【００３０】
画像処理部１０５による画像変換が行われることによって、フィールド上の選手のフォーメーション、ある時刻における各選手の位置、選手の動きなどの情報を可視化することができる。
【００３１】
図２は、第１の実施形態における画像処理装置１０が行う座標変換行列の推定処理の流れを示すフローチャートである。
画像取得部１０１は、複数枚の映像フレームを取得する（ステップＳ１０１）。画像取得部１０１は、取得した複数枚の映像フレームを物体検出部１０２に出力する。物体検出部１０２は、複数枚の映像フレームそれぞれに撮像されている人物を検出する（ステップＳ１０２）。第１の実施形態における物体検出部１０２は、上述したように特定物体検出器であり、映像フレームに撮像されている特定人物のラベルを矩形四隅の座標値とともに人物検出結果として物体対応付け部１０３及び変換行列推定部１０４に出力する。
【００３２】
図３は、第１の実施形態における物体検出部１０２による人物検出の一例を示す図である。図３に示すように、図３（Ａ）は時刻ｔに撮像された映像フレーム２０を示す図であり、図３（Ｂ）は時刻ｔ＋ｔ０に撮像された映像フレーム３０を示す図である。
映像フレーム２０では、４人の人物２１−１〜２１−４が検出されている。検出された人物２１−１〜２１−４には、特定物体検出器により各人物を特定するためのラベルが付与される。図３（Ａ）では、人物２１−１が物体検出部１０２により“人物１”に分類されて“人物１”のラベルが付与され、人物２１−２が物体検出部１０２により“人物２”に分類されて“人物２”のラベルが付与され、人物２１−３が物体検出部１０２により“人物３”に分類されて“人物３”のラベルが付与され、人物２１−４が物体検出部１０２により“人物４”に分類されて“人物４”のラベルが付与されたことが示されている。
物体検出部１０２は、映像フレーム２０の人物検出結果として、各人物２１−１〜２１−４の分類結果を示すラベルと、各人物２１−１〜２１−４を囲う領域２２−１〜２２−４の矩形四隅の座標値を取得する。
【００３３】
映像フレーム３０では、３人の人物３１−１〜３１−３が検出されている。検出された人物３１−１〜３１−３には、特定物体検出器により各人物を特定するためのラベルが付与される。図３（Ｂ）では、人物３１−１が物体検出部１０２により“人物３”に分類されて“人物３”のラベルが付与され、人物３１−２が物体検出部１０２により“人物４”に分類されて“人物４”のラベルが付与され、人物３１−３が物体検出部１０２により“人物２”に分類されて“人物２”のラベルが付与されたことが示されている。
物体検出部１０２は、映像フレーム３０の人物検出結果として、各人物３１−１〜３１−３の分類結果を示すラベルと、各人物３１−１〜３１−３を囲う領域３２−１〜３２−３の矩形四隅の座標値を取得する。
【００３４】
図２に戻って説明を続ける。
物体対応付け部１０３は、複数枚の映像フレームから、所定の時間間隔差で撮像された対応付け対象となる複数枚（例えば、２つ）の映像フレームを抽出する（ステップＳ１０４）。なお、物体対応付け部１０３が抽出する映像フレームの抽出開始タイミング及び所定の時間間隔は、予め設定される。物体対応付け部１０３は、抽出した映像フレームにおける物体検出部１０２から出力された人物検出結果に基づいて、映像フレーム２０における人物の検出結果と、映像フレーム３０における人物の検出結果とを対応付ける（ステップＳ１０４）。具体的には、物体対応付け部１０３は、対応付け対象として抽出した複数枚の映像フレームそれぞれにおいて人物検出結果として得られたラベルを用いて映像フレーム２０における人物の検出結果と、映像フレーム３０における人物の検出結果とを対応付ける。例えば、物体対応付け部１０３は、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として対応付ける。物体対応付け部１０３は、対応付け結果を変換行列推定部１０４に出力する。
【００３５】
図３に示す例では、映像フレーム２０における人物２１−２と、映像フレーム３０における人物３１−３とには、“人物２”を示すラベルが付与されている。そこで、物体対応付け部１０３は、映像フレーム２０における人物２１−２と、映像フレーム３０における人物３１−３とを同一の人物の検出結果として対応付ける。
また、図３に示す例では、映像フレーム２０における人物２１−３と、映像フレーム３０における人物３１−１とには、“人物１”を示すラベルが付与されている。そこで、物体対応付け部１０３は、映像フレーム２０における人物２１−３と、映像フレーム３０における人物３１−１とを同一の人物の検出結果として対応付ける。
【００３６】
また、図３に示す例では、映像フレーム２０における人物２１−４と、映像フレーム３０における人物３１−２とには、“人物４”を示すラベルが付与されている。そこで、物体対応付け部１０３は、映像フレーム２０における人物２１−４と、映像フレーム３０における人物３１−２とを同一の人物の検出結果として対応付ける。
【００３７】
なお、物体対応付け部１０３は、映像フレーム２０における人物の検出結果と、映像フレーム３０における人物の検出結果とで、同じ情報を示すラベルが付与されている人物検出結果がない人物検出結果については対応付けを行わない。この場合、物体対応付け部１０３は、同じ情報を示すラベルが付与されている人物検出結果がない人物検出結果については対応付け結果を出力しない、又は、対応付け結果としてｎｕｌｌ（検出無し）を変換行列推定部１０４に出力する。
【００３８】
変換行列推定部１０４は、物体検出部１０２による人物検出結果と、物体対応付け部１０３による対応付け結果とに基づいて、映像フレームＩｔ及びＩｔ+ｔ0の座標変換行列Ｈｔ，ｔ+ｔ0を推定する（ステップＳ１０５）。変換行列推定部１０４は、推定した座標変換行列Ｈｔ，ｔ+ｔ0を画像処理部１０５に出力する。
【００３９】
以上のように構成された第１の実施形態における画像処理システム１００では、座標変換行列のパラメータの推定精度を向上させることができる。具体的には、画像処理装置１０は、入力された複数枚の映像フレームそれぞれから人物を検出し、映像フレーム間における人物の検出結果をラベルに基づいて対応付ける。画像処理装置１０は、ラベルに基づいて人物の検出結果の対応付けを行うため複雑な演算を行う必要がなく簡便に対応付けができる。そして、画像処理装置１０は、対応付けの結果と、各映像フレームにおける人物の検出結果とに基づいて映像フレーム間の座標変換行列を推定する。このように、第１の実施形態における画像処理システム１００では、従来のように、撮影対象領域２における特徴的な領域が撮像されていなくても座標変換行列を推定することができる。また、カメラが撮像する領域が急激に変化したとしても映像フレーム内に撮像されている人物を検出して対応付けすることによって座標変換行列を推定することができる。したがって、画像処理システム１００は、従来の方法で座標変換行列のパラメータの推定精度が低下してしまう状況下であっても、座標変換行列のパラメータを推定することができる。そのため、座標変換行列のパラメータの推定精度を向上させることが可能になる。
【００４０】
＜変形例＞
画像処理装置１０が備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部１０１、物体検出部１０２、物体対応付け部１０３及び変換行列推定部１０４、又は、物体対応付け部１０３及び変換行列推定部１０４が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置１０は、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
【００４１】
（第２の実施形態）
第２の実施形態では、画像処理装置が、一般物体検出器を用いて映像フレームから人物検出を行い、その結果を用いて座標変換行列のパラメータを推定する構成について説明する。第２の実施形態において、画像処理システム１００全体の構成については第１の実施形態と同様であり、画像処理装置の構成のみが異なる。
【００４２】
図４は、第２の実施形態における画像処理装置１０ａの機能構成を表す概略ブロック図である。
画像処理装置１０ａは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置１０ａは、画像取得部１０１、物体検出部１０２ａ、物体対応付け部１０３ａ、変換行列推定部１０４及び画像処理部１０５を備える装置として機能する。なお、画像処理装置１０ａの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【００４３】
画像処理装置１０ａは、物体検出部１０２及び物体対応付け部１０３に代えて物体検出部１０２ａ及び物体対応付け部１０３ａを備える点で画像処理装置１０と構成が異なる。画像処理装置１０ａは、他の構成については画像処理装置１０と同様である。そのため、画像処理装置１０ａ全体の説明は省略し、物体検出部１０２ａ及び物体対応付け部１０３ａについて説明する。
【００４４】
物体検出部１０２ａは、画像取得部１０１によって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。第２の実施形態における物体検出部１０２ａは、映像フレームＩｔ及びＩｔ+ｔ0それぞれに撮像されている人物を、一般物体検出器を用いて検出する。
【００４５】
物体対応付け部１０３ａは、物体検出部１０２ａによって検出された各映像フレーム映像フレームＩｔ及びＩｔ+ｔ0の人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。
【００４６】
図５は、第２の実施形態における物体対応付け部１０３ａの機能構成を表す概略ブロック図である。物体対応付け部１０３ａは、暫定対応付け部１０３１、グラフ構築部１０３２及び選択部１０３３で構成される。
【００４７】
暫定対応付け部１０３１は、物体検出部１０２ａによって検出された各映像フレーム映像フレームＩｔ及びＩｔ+ｔ0の人物検出結果を暫定的に対応付ける。暫定的に対応付ける方法としては、映像フレームＩｔで検出された人物検出結果と、映像フレームＩｔ+ｔ0で検出された人物検出結果とを総当たりで対応付ける方法がある。例えば、映像フレームＩｔにおいて４つの人物検出結果が得られ、映像フレームＩｔ+ｔ0において３つの人物検出結果が得られた場合、暫定対応付け部１０３１は総当たりで対応付けて４×３＝１２の暫定対応付けの結果をグラフ構築部１０３２に出力する。
【００４８】
なお、暫定対応付け部１０３１は、総当たりの対応付け結果のうち尤もらしい対応付けのみを選択する方法を用いて、物体検出部１０２ａによって検出された各映像フレームの人物検出結果を暫定的に対応付けてもよい。
１つ目の方法として、暫定対応付け部１０３１は、参考文献２に開示された方法により、映像フレームＩｔにおける人物検出結果から抽出された画像特徴量と、映像フレームＩｔ+ｔ0における人物検出結果から抽出された画像特徴量との類似度を算出し、類似度が第１の閾値以上の人物検出結果同士を暫定的に対応付ける。
【００４９】
２つ目の方法として、暫定対応付け部１０３１は、映像フレームＩｔにおける人物検出結果から得られる矩形領域の縦横比（アスペクト比）と、映像フレームＩｔ+ｔ0における人物検出結果から得られる矩形領域の縦横比（アスペクト比）とを比較して、矩形領域の縦横比が一致する人物検出結果同士を暫定的に対応付ける。
【００５０】
グラフ構築部１０３２は、暫定対応付け部１０３１で得られた暫定対応付けの結果を入力として、暫定対応付けされた人物検出結果の組それぞれをノードとするグラフを構築する。具体的には、グラフ構築部１０３２は、暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置したグラフを構築する。例えば、グラフ構築部１０３２は、暫定対応付け部１０３１で得られた暫定対応付けの結果が１２個であれば、１２個のノードを仮想上に配置したグラフを構築する。
【００５１】
選択部１０３３は、グラフ構築部１０３２で得られたグラフに基づいて、暫定対応付けの結果の中から、正しい対応付けであると想定される対応付けを選択する。
【００５２】
図６は、第２の実施形態における画像処理装置１０ａが行う座標変換行列の推定処理の流れを示すフローチャートである。
画像取得部１０１は、複数枚の映像フレームを取得する（ステップＳ２０１）。画像取得部１０１は、取得した複数枚の映像フレームを物体検出部１０２ａに出力する。物体検出部１０２ａは、複数枚の映像フレームそれぞれに撮像されている人物を検出する（ステップＳ２０２）。第２の実施形態における物体検出部１０２ａは、上述したように一般物体検出器であり、検出された人物を囲う矩形四隅の座標値を人物検出結果として暫定対応付け部１０３１及び変換行列推定部１０４に出力する。
【００５３】
図７は、第２の実施形態における物体検出部１０２ａによる人物検出の一例を示す図である。図７に示すように、図７（Ａ）は時刻ｔに撮像された映像フレーム２０を示す図であり、図７（Ｂ）は時刻ｔ＋ｔ０に撮像された映像フレーム３０を示す図である。
映像フレーム２０では、４人の人物２１−１〜２１−４が検出されている。物体検出部１０２ａは、映像フレーム２０の検出結果として、各人物２１−１〜２１−４を囲う領域２２−１〜２２−４の矩形四隅の座標値を取得する。
映像フレーム３０では、３人の人物３１−１〜３１−３が検出されている。物体検出部１０２ａは、映像フレーム３０の検出結果として、各人物３１−１〜３１−３を囲う領域３２−１〜３２−３の矩形四隅の座標値を取得する。
【００５４】
図６に戻って説明を続ける。
暫定対応付け部１０３１は、複数枚の映像フレームから、所定の時間間隔差で撮像された対応付け対象となる複数枚（例えば、２つ）の映像フレームを抽出する（ステップＳ２０３）。なお、暫定対応付け部１０３１が抽出する映像フレームの抽出開始タイミング及び所定の時間間隔は、予め設定される。暫定対応付け部１０３１は、抽出した映像フレームにおける物体検出部１０２ａから出力された人物検出結果に基づいて、映像フレーム２０における人物の検出結果と、映像フレーム３０における人物の検出結果とを暫定的に対応付ける（ステップＳ２０４）。暫定対応付け部１０３１は、暫定対応付けの結果をグラフ構築部１０３２に出力する。
【００５５】
図８は、第２の実施形態における暫定対応付け部１０３１による暫定対応付けの結果を示す図である。図８に示す例では、総当たりではなく、尤もらしい対応付け方法による暫定対応付けの結果を示している。その結果、図８に示す例では、７つの暫定対応付けの結果が示されている。図８に示すように、暫定的な対応付けであるため、人物２１−２、２１−３、２１−４、３１−１〜３１−３のように一人の人物に対して複数の対応付けがなされている箇所も存在する。実際には、対応付けがなされない、又は、対応付けがなされたとしても１つの対応付けがなされることが正しい。そのため、画像処理装置１０ａは、後述の処理により、より正確な対応付けを行う。
【００５６】
図６に戻って説明を続ける。
グラフ構築部１０３２は、暫定対応付け部１０３１で得られた暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置することによって、暫定対応付けされた人物検出結果の組それぞれをノードとして仮想上に配置したグラフを構築する（ステップＳ２０５）。
【００５７】
図９は、第２の実施形態におけるグラフ構築部１０３２によるグラフの構築結果を示す図である。
図９の上部には暫定対応付け部１０３１で得られた暫定対応付けの結果が示され、図９の下部には暫定対応付けの結果それぞれをノードとし、各ノードが配置されたグラフが示されている。ノード４０−２１は、人物２１−２の検出結果と、人物３１−１の検出結果との対応付けを示すノードである。ノード４０−４１は、人物２２−２の検出結果と、人物３１−３の検出結果との対応付けを示すノードである。
【００５８】
ノード４０−３３は、人物２１−３の検出結果と、人物３１−３の検出結果との対応付けを示すノードである。ノード４０−３１は、人物２１−３の検出結果と、人物３１−１の検出結果との対応付けを示すノードである。ノード４０−４２は、人物２１−４の検出結果と、人物３１−２の検出結果との対応付けを示すノードである。ノード４０−１２は、人物２１−１の検出結果と、人物３１−２の検出結果との対応付けを示すノードである。ノード４０−４１は、人物２１−４の検出結果と、人物３１−１の検出結果との対応付けを示すノードである。
【００５９】
次に、グラフ構築部１０３２は、構築したグラフにおけるノードペアの中で幾何的な一貫性があるノードペア間をエッジで接続する。ここで、ノードペア間の幾何的な一貫性は、ノードペアを構成する人物検出結果の属性情報（例えば、矩形四隅の座標値）から評価することができる。例えば、対象となる２つのノードのいずれもが正しい対応であった場合、各映像フレームに撮像されている人物のスケールには一貫性があると考えられる。そこで、まずグラフ構築部１０３２は、映像フレームに撮像されている人物検出結果の領域の面積比をノード毎に算出する。次に、グラフ構築部１０３２は、算出した面積比の類似度を全てのノードペアで算出する。そして、グラフ構築部１０３２は、算出した類似度の値が第１の閾値以上であったノードペアのみノード間をエッジで接続する。
【００６０】
また、別の方法として、対象の２つのノードのいずれもが正しい対応であった場合、映像フレームに撮像されている人物検出結果の領域の距離と、検出された人物のスケールにも一貫性があると考えられる。そこで、まずグラフ構築部１０３２は、対象の２つのノードにおける時刻ｔの映像フレームに撮像されている２つの人物検出結果の領域間の距離と、時刻ｔ＋ｔ０の映像フレームに撮像されている２つの人物検出結果の領域間の距離とを算出する。次に、グラフ構築部１０３２は、映像フレームに撮像されている人物検出結果の領域の面積比をノード毎に算出する。次に、グラフ構築部１０３２は、算出した面積比の類似度を対象の２つのノードで算出する。そして、グラフ構築部１０３２は、算出した距離及び類似度の値が第２の閾値以上であったノードペアのみノード間をエッジで接続する。
【００６１】
図９に示す例では、ノード４０−４２と、ノード４０−３１と、ノード４０−４１で示される対応付けが正しい対応付けであるとする。この条件を加味して上記の評価方法を説明する。ここで、対象の２つのノードとして、ノード４０−４２と、ノード４０−３１を用いる。まずグラフ構築部１０３２は、映像フレームに撮像されている人物検出結果の領域の面積比をノード４０−４２及びノード４０−３１それぞれ算出する。すなわち、グラフ構築部１０３２は、ノード４０−４２における人物２１−４を囲う領域２２−４の面積と、ノード４０−４２における人物３１−２を囲う領域３２−２の面積との比を算出する。同様に、グラフ構築部１０３２は、ノード４０−３１における人物２１−３を囲う領域２２−３の面積と、ノード４０−３１における人物３１−１を囲う領域３２−１の面積との比を算出する。
【００６２】
次に、グラフ構築部１０３２は、算出した面積比の類似度を算出する。そして、グラフ構築部１０３２は、算出した類似度の値が第１の閾値以上であった場合に、ノード４０−４２と、ノード４０−３１との間に、幾何的な一貫性があると評価する。グラフ構築部１０３２は、このような処理を全てのノードペアで行う。そして、グラフ構築部１０３２は、幾何的な一貫性があると評価したノードペアの間をエッジで接続する。
【００６３】
図１０は、第２の実施形態におけるグラフ構築部１０３２が構築したグラフにおける処理を示す図である。図１０に示すように、ノード４０−４１、４０−３１及び４０−４２は、互いにエッジ４２で接続されている。すなわち、エッジ４２で接続されているノード４０−４１、４０−３１及び４０−４２は、グラフにおけるノードペアの中で幾何的な一貫性があるノードペアとして評価されたことが示されている。
一方、エッジ４２で接続されていないノード４０−２１、４０−３３、４０−１２及び４０−４１は、グラフにおけるノードペアの中で幾何的な一貫性がないとして評価されたことが示されている。
【００６４】
グラフ構築部１０３２は、ノード毎に、映像フレーム２０（例えば、映像フレームＩｔ）におけるどの人物検出結果と、映像フレーム３０（例えば、Ｉｔ+ｔ0）におけるどの人物検出結果との対応付けであるかを示す情報とともに、構築したエッジを含むグラフを選択部１０３３に出力する。
選択部１０３３は、グラフ構築部１０３２から出力された情報に基づいて、クラスタ抽出処理を実行する（ステップＳ２０６）。クラスタ抽出処理とは、正しい対応付けと予想されるノードを含むクラスタを抽出する処理である。クラスタ抽出処理の詳細については図１１で説明する。
【００６５】
変換行列推定部１０４は、クラスタが抽出されたか否かを判定する（ステップＳ２０７）。選択部１０３３からの出力にクラスタの情報が含まれる場合、変換行列推定部１０４はクラスタが抽出されたと判定する。一方、選択部１０３３からの出力がＮｕｌｌである場合、変換行列推定部１０４はクラスタが抽出されなかったと判定する。クラスタが抽出されなかった場合（ステップＳ２０７−ＮＯ）、画像処理装置１０ａは図６の処理を終了する。すなわち、画像処理装置１０ａは、座標変換行列を取得できないとしてＮｕｌｌを出力する。
【００６６】
一方、クラスタが抽出された場合（ステップＳ２０７−ＹＥＳ）、変換行列推定部１０４は、クラスタに含まれるノードで特定される人物対応付け結果と、物体検出部１０２ａによる人物検出結果とに基づいて、映像フレームＩｔ及びＩｔ+ｔ0の座標変換行列Ｈｔ，ｔ+ｔ0を推定する（ステップＳ２０８）。変換行列推定部１０４は、推定した座標変換行列Ｈｔ，ｔ+ｔ0を画像処理部１０５に出力する。
【００６７】
図１１は、第２の実施形態における画像処理装置１０ａが行うクラスタ抽出処理の流れを示すフローチャートである。
選択部１０３３は、グラフ構築部１０３２によって構築されたエッジを含むグラフにおいて、最も次数の高いノードを選択する（ステップＳ３０１）。ここで次数とは、ノードに接続されているエッジの数を表す。エッジの数が多いということは、接続しているノードが多いということである。すなわち、選択部１０３３は、グラフにおいて、接続しているノードが最も多いノードを選択する。例えば、図１０の場合、エッジの数が多いノードは、ノード４０−４１、４０−３１及び４０−４２である。そのため、選択部１０３３は、ノード４０−４１、４０−３１及び４０−４２のいずれかを選択する。
【００６８】
選択部１０３３は、選択したノードの次数が第３の閾値以上であるか否かを判定する（ステップＳ３０２）。選択したノードの次数が第３の閾値以上ではない場合（ステップＳ３０２−ＮＯ）、選択部１０３３はクラスタ抽出処理の結果としてＮｕｌｌを出力する（ステップＳ３０３）。その後、選択部１０３３は、クラスタ抽出処理を終了する。
一方、選択したノードの次数が第３の閾値以上である場合（ステップＳ３０２−ＹＥＳ）、選択部１０３３はクラスタの初期化を行う（ステップＳ３０４）。具体的には、選択部１０３３は、空集合でクラスタを初期化する。これにより、クラスタにはノードがいずれも含まれなくなる。選択部１０３３は、クラスタの初期化後に周辺ノードに対してランキング付けを行う（ステップＳ３０５）。周辺ノードとは、ステップＳ３０１の処理で選択されたノード以外のノードである。
【００６９】
具体的には、選択部１０３３は、ステップＳ３０１の処理で選択したノードを開始ノードとして、ページランクアルゴリズムを用いて周辺ノードをランキングする。このとき、下記参考文献３で開示されている近似ページランクアルゴリズムを用いることも可能であり、この場合にはグラフのサイズに依存しない計算コストで周辺ノードをランキングすることができる。一般的に、エッジの数が多いほどランキングが高くなる傾向がある。
（参考文献３：Reid Andersen, Fan Chung, Kevin Lang, “Local Graph Partitioning using PageRank Vectors”, In Proc. IEEE Annual Symposium on Foundations of Computer Science (FOCS), 2006）
【００７０】
選択部１０３３は、ランキング付けの結果、複数の周辺ノードのうちランキングＮ＝１番目の周辺ノードを選択する（ステップＳ３０６）。選択部１０３３は、選択した周辺ノードがクラスタへの追加条件を満たすか否かを判定する（ステップＳ３０７）。クラスタへの追加条件とは、周辺ノードをクラスタに追加するために満たすべき条件であり、例えば選択された周辺ノードにおける特徴点が、既にクラスタに追加されているノードにおける特徴点として使用されていないことである。ここで、ノードにおける特徴点とは、ノードを構成している人物の検出結果である。
【００７１】
クラスタへの追加条件は、一つの映像フレームの中には、同一人物は高々一度のみ出現するという制約から導かれるものである。したがって、選択部１０３３は、選択した周辺ノードを構成する人物の検出結果が、既にクラスタに含まれているノードを構成する人物の検出結果として使用されている場合には、選択した周辺ノードをクラスタへの追加条件を満たさないと判定する。
一方、選択部１０３３は、選択した周辺ノードを構成する人物の検出結果が、既にクラスタに含まれているノードを構成する人物の検出結果として使用されていない場合には、選択した周辺ノードをクラスタへの追加条件を満たすと判定する。
【００７２】
選択した周辺ノードがクラスタへの追加条件を満たさない場合（ステップＳ３０７−ＮＯ）、選択部１０３３は選択した周辺ノードをクラスタに追加しない（ステップＳ３０８）。その後、選択部１０３３は、ランキングＮの値に１を加算する（ステップＳ３０９）。選択部１０３３は、ランキングＮ番目の周辺ノードを選択する（ステップＳ３１０）。その後、選択部１０３３は、ステップＳ３０７以降の処理を実行する。
【００７３】
一方、選択した周辺ノードがクラスタへの追加条件を満たす場合（ステップＳ３０７−ＹＥＳ）、選択部１０３３は選択した周辺ノードをクラスタに追加する（ステップＳ３１１）。選択部１０３３は、周辺ノードがクラスタに追加されると、クラスタの精度を示す評価値ｓｃｏｒｅ＝δＳ／ｖｏｌ（Ｓ）を算出する（ステップＳ３１２）。ここで、δＳはクラスタに含まれない周辺ノードと、クラスタ内のノードとを接続するエッジの数を表し、ｖｏｌ（Ｓ）はクラスタ内のノードの次数の総和を表す。選択部１０３３は、クラスタ内のノードを特定する情報と、算出した評価値ｓｃｏｒｅとを対応付けて記憶する。このように、選択部１０３３は、評価値ｓｃｏｒｅを算出する度に、評価値ｓｃｏｒｅに対応付けて、クラスタに含まれるノードを特定する情報を記憶する。
【００７４】
選択部１０３３は、記憶している情報に基づいて、算出した評価値ｓｃｏｒｅが前回の評価値ｓｃｏｒｅよりも高くなっているか否かを判定する（ステップＳ３１３）。評価値ｓｃｏｒｅが前回の評価値ｓｃｏｒｅよりも高くなっていない場合（ステップＳ３１３−ＮＯ）、選択部１０３３はステップＳ３０９以降の処理を実行する。
一方、評価値ｓｃｏｒｅが前回の評価値ｓｃｏｒｅよりも高くなっている場合（ステップＳ３１３−ＹＥＳ）、選択部１０３３は前回の評価値ｓｃｏｒｅを算出した際のクラスタを選択する。そして、選択部１０３３は、選択したクラスタを最適なクラスタとして抽出する（ステップＳ３１４）。なお、選択部１０３３は、前回の評価値ｓｃｏｒｅが記憶されていない場合には、比較ができないため高くなっていないと判定する。
【００７５】
評価値ｓｃｏｒｅは、クラスタを構成する組み合わせがいいほど小さい値となる。そのため、評価値ｓｃｏｒｅが前回の評価値ｓｃｏｒｅよりも高くなった場合には、新たに周辺ノードが追加されたことによりクラスタを構成するノードの組み合わせが良くなくなっていく可能性がある。そこで、選択部１０３３は、算出した評価値ｓｃｏｒｅが前回の評価値ｓｃｏｒｅよりも高くなっている場合には、前回の評価値ｓｃｏｒｅを算出した際のクラスタを最適なクラスタとして抽出する。
【００７６】
選択部１０３３は、抽出したクラスタのサイズが第４の閾値以上であるか否かを判定する（ステップＳ３１５）。クラスタのサイズは、例えばクラスタを構成するノードの数である。抽出したクラスタのサイズが第４の閾値未満である場合（ステップＳ３１５−ＮＯ）、選択部１０３３はステップＳ３０３の処理を実行する。
一方、抽出したクラスタのサイズが第４の閾値以上である場合（ステップＳ３１５−ＹＥＳ）、選択部１０３３は選択したクラスタをクラスタ抽出処理の結果として出力する（ステップＳ３１６）。選択部１０３３で出力されるクラスタは、クラスタに含まれる全てのノードに対応する人物検出結果が、クラスタに含まれるノード間で共有されないという制約を満たしている。
【００７７】
図１２は、第２の実施形態におけるクラスタの抽出結果を示す図である。
図１２に示すように、図１１の処理で選択されたクラスタ４１には、ノード４０−４１、４０−３１及び４０−４２が含まれている。変換行列推定部１０４では、選択部１０３３によって抽出されたクラスタ４１に含まれるノード４０−４１、４０−３１及び４０−４２で示される映像フレーム間の対応付けの結果を用いて座標変換行列を推定する。
【００７８】
以上のように構成された第２の実施形態における画像処理システム１００では、座標変換行列のパラメータの推定精度を向上させることができる。具体的には、まず画像処理装置１０ａは、映像フレーム間における人物検出結果の対応付けを暫定的に行う。これにより、一人の人物において１又は複数の対応付けがなされる。次に、画像処理装置１０ａは、暫定対応付けをそれぞれノードとして仮想上にノードを配置したグラフを構築する。次に、画像処理装置１０ａは、構築したグラフにおいて幾何的な一貫性があるノードペアを探し出し、エッジで接続する。次に、画像処理装置１０ａは、エッジに基づいて、正しい対応付けと想定される対応付けのノードを選択し、選択したノードと、クラスタへの追加条件を満たすノードを含むクラスタを抽出する。抽出されたクラスタには、正しい対応付けと想定されるノードが含まれているため、画像処理装置１０ａはクラスタに含まれるノードで示される対応付けの結果と、各映像フレームにおける人物の検出結果とに基づいて映像フレーム間の座標変換行列を推定する。このように、第３の実施形態における画像処理システム１００では、従来のように、撮影対象領域２における特徴的な領域が撮像されていなくても座標変換行列を推定することができる。また、カメラが撮像する領域が急激に変化したとしても映像フレーム内に撮像されている人物を検出して対応付けすることによって座標変換行列を推定することができる。したがって、画像処理システム１００は、従来の方法で座標変換行列のパラメータの推定精度が低下してしまう状況下であっても、座標変換行列のパラメータを推定することができる。そのため、座標変換行列のパラメータの推定精度を向上させることが可能になる。
【００７９】
また、画像処理装置１０ａは、クラスタへの追加条件を満たすか否かを判定し、クラスタへの追加条件を満たすノードのみをクラスに追加している。これにより、クラスタ内において同一の人物検出結果が含まれなくなる。したがって、誤った対応付けを軽減することができる。その結果、座標変換行列のパラメータの推定精度を向上させることが可能になる。
【００８０】
＜変形例＞
画像処理装置１０ａが備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部１０１、物体検出部１０２ａ、物体対応付け部１０３ａ及び変換行列推定部１０４、又は、物体対応付け部１０３ａ及び変換行列推定部１０４が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置１０ａは、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
選択部１０３３は、周辺ノード全てに対してクラスタへの追加条件を満たすか否かの判定を行うように構成されてもよい。このように構成される場合、選択部１０３３は、図１１のステップＳ３１３の処理に代えて、ランキング付けされた周辺ノード全てに対して処理を行ったか否かを判定する。そして、ランキング付けされた周辺ノード全てに対して処理を行っていない場合には、選択部１０３３はステップＳ３０９以降の処理を実行する。一方。ランキング付けされた周辺ノード全てに対して処理を行った場合には、選択部１０３３は評価値が最小となるクラスタを構成するノードの組み合わせを選択する。そして、選択部１０３３は、選択したノードの組み合わせで構成されるクラスタを処理結果として抽出する。評価値が最小となるクラスタが複数ある場合には、選択部１０３３は評価値が最小となるクラスタの中からランダムにクラスタを選択してもよい。
【００８１】
（第３の実施形態）
第１の実施形態で説明したように、特定物体人物検出器を用いた場合には特定人物毎のラベルがあるが、学習の精度が低い場合には誤ったラベルが付与されてしまうことや、複数の人物に同じラベルが付与されてしまうことも想定される。そのような場合に第１の実施形態のようにラベルに基づいて人物の検出結果の対応付けを行ってしまうと、座標変換行列のパラメータの推定精度が低下してしまう場合もある。そこで、第３の実施形態では、第１の実施形態のように特定物体人物検出器により特定の人物を検出した後に、第２の実施形態のように暫定対応付けを行って座標変換行列を推定する。
【００８２】
図１３は、第３の実施形態における画像処理装置１０ｂの機能構成を表す概略ブロック図である。
画像処理装置１０ｂは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置１０ａは、画像取得部１０１、物体検出部１０２、物体対応付け部１０３ｂ、変換行列推定部１０４及び画像処理部１０５を備える装置として機能する。なお、画像処理装置１０ｂの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡやＧＰＵ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【００８３】
画像処理装置１０ｂは、物体対応付け部１０３に代えて物体対応付け部１０３ｂを備える点で画像処理装置１０と構成が異なる。画像処理装置１０ｂは、他の構成については画像処理装置１０と同様である。そのため、画像処理装置１０ｂ全体の説明は省略し、物体対応付け部１０３ｂについて説明する。
【００８４】
物体対応付け部１０３ｂは、物体検出部１０２によって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、物体対応付け部１０３ｂは、人物検出結果として得られたラベルを用いて、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として暫定的に対応付ける。上述したように、学習の精度が低い場合には誤ったラベルが付与されてしまうことや、複数の人物に同じラベルが付与されてしまうことがあるため、物体対応付け部１０３ｂは同じ情報を示すラベルが付与されている人物検出結果を暫定的に対応付ける。その後、物体対応付け部１０３ｂは、第２の実施形態と同様の処理を行う。
【００８５】
また、物体対応付け部１０３ｂは、第２の実施形態と同様の方法で暫定的に人物検出結果を対応付け、同じ情報を示すラベルが付与されている人物検出結果の組が、同じ情報を示すラベルが付与されていない人物検出結果の組よりも選択されやすいように重みづけしてもよい。
【００８６】
以上のように構成された第３の実施形態における画像処理システム１００では、映像フレームそれぞれで検出された、同じ情報を示すラベルが付与されている人物検出結果を同一の人物の検出結果として対応付けるのではなく、暫定的に対応付けて他の検出結果との対応関係を踏まえて最終的な対応付けを選択する。これにより、特定物体人物検出器の学習の精度が低い場合に、誤ったラベルが付与されていたり、複数の人物に同一のラベルが付与されていた場合であっても、より精度の高い対応付けを行うことができる。そのため、特定物体人物検出器の学習の精度が低い場合であっても、座標変換行列のパラメータの推定精度の低下を抑制することができる。
【００８７】
＜変形例＞
画像処理装置１０ｂが備える一部の機能部は、別の筐体で構成されてもよい。例えば、画像取得部１０１、物体検出部１０２、物体対応付け部１０３ｂ及び変換行列推定部１０４、又は、物体対応付け部１０３ｂ及び変換行列推定部１０４が、別の筐体で座標変換行列推定装置として構成されてもよい。このように構成される場合、画像処理装置１０ｂは、座標変換行列推定装置から座標変換行列を取得して、映像フレームの画像処理を行う。
【００８８】
（第４の実施形態）
第４の実施形態では、複数台のカメラを用いて、異なる視点（例えば、相対する方向）で撮影した複数の画像を用いる場合を例に説明する。
図１４は、第４の実施形態における画像処理システム１００ｃの機能構成を示す図である。画像処理システム１００ｃは、複数の撮像装置１、３及び画像処理装置１０ｃを備える。撮像装置１及び３は、例えば撮影対象領域２を挟んで相対する向きに設置される。なお、複数の撮像装置１及び３の設置位置と撮影方向の向きは既知である。
【００８９】
撮像装置１は、撮影対象領域２を撮影する。撮像装置１は、例えばカメラである。撮像装置１は、撮影対象領域２を撮像することによって映像フレームを生成し、生成した映像フレームを画像処理装置１０ｃに出力する。
撮像装置３は、撮影対象領域２を撮影する。撮像装置３は、例えばカメラである。撮像装置３は、撮影対象領域２を撮像することによって映像フレームを生成し、生成した映像フレームを画像処理装置１０ｃに出力する。
【００９０】
画像処理装置１０ｃは、入力した複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定し、推定した座標変換行列により映像フレームの画像変換を行う。例えば、画像処理装置１０ｃは、撮像装置１によって撮像された映像フレームと、撮像装置３によって撮像された映像フレームとの２枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。また、例えば、画像処理装置１０ｃは、撮像装置１によって撮像された複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。また、例えば、画像処理装置１０ｃは、撮像装置３によって撮像された複数枚の映像フレームに基づいて映像フレーム間の座標変換行列を推定する。
【００９１】
画像処理装置１０ｃに入力される複数枚の映像フレームは、異なる撮像装置で撮像された画像又は異なる時刻に撮像された画像である。ただし、画像処理装置１０ｃに入力される複数枚の映像フレームの撮影時刻が近いほど好ましい。以下の説明では、撮像装置１によって時刻ｔに撮像された画像を映像フレームＩｔ１と記載し、撮像装置３によって時刻ｔに撮像された画像を映像フレームＩｔ３と記載する。
【００９２】
図１４に示すように、第４の実施形態では、第１の実施形態〜第３の実施形態とは異なり、画像処理装置１０ｃが複数の撮像装置１及び３で撮像された映像フレームのいずれか又は両方を用いる。撮像装置１及び３は、相対する方向で撮影対象領域２を撮像する。したがって、撮像装置１によって撮像された映像フレームと、撮像装置３によって撮像された映像フレームとでは、物体の進行方向が反対になる。そのため、第１の実施形態〜第３の実施形態と同様に、得られた座標変換行列をそのまま用いて座標変換を行うと正しい画像が得られなくなる。
【００９３】
そこで、まず画像処理装置１０ｃは、撮像装置１及び３の識別情報（例えば、カメラＩＤ）を用いて、入力された映像フレームが撮像装置１及び３のいずれで撮像された映像フレームであるのかを判定する。次に、画像処理装置１０ｃは、判定結果により撮像装置が切り替わった場合には、撮像装置１と撮像装置３との相対的な関係性から一方の人物検出結果を逆転させて対応付けを行う。
【００９４】
次に、画像処理装置１０ｃの具体的な構成について説明する。
画像処理装置１０ｃは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、画像処理プログラムを実行する。画像処理プログラムの実行によって、画像処理装置１０ｃは、画像取得部１０１ｃ、物体検出部１０２ｃ、物体対応付け部１０３ｃ、変換行列推定部１０４ｃ及び画像処理部１０５を備える装置として機能する。なお、画像処理装置１０ｃの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡやＧＰＵ等のハードウェアを用いて実現されてもよい。また、画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、画像処理プログラムは、電気通信回線を介して送受信されてもよい。
【００９５】
画像処理装置１０ｃは、画像取得部１０１、物体検出部１０２、物体対応付け部１０３及び変換行列推定部１０４に代えて画像取得部１０１ｃ、物体検出部１０２ｃ、物体対応付け部１０３ｃ及び変換行列推定部１０４ｃを備える点で画像処理装置１０と構成が異なる。画像処理装置１０ｃは、他の構成については画像処理装置１０と同様である。そのため、画像処理装置１０ｃ全体の説明は省略し、画像取得部１０１ｃ、物体検出部１０２ｃ、物体対応付け部１０３ｃ及び変換行列推定部１０４ｃについて説明する。
【００９６】
画像取得部１０１ｃは、撮像装置１及び３のいずれか一方又はそれぞれから出力された映像フレームを取得する。また、画像取得部１０１ｃは、映像フレームからカメラＩＤを取得し、取得したカメラＩＤが変化した場合にはその変化を検出する。画像取得部１０１ｃは、カメラＩＤの変化を検出した場合には、カメラＩＤと、カメラＩＤが変化したときに取得された映像フレームがどの映像フレームであるのかを示す情報とを含む通知を物体対応付け部１０３ｃに出力する。
【００９７】
物体検出部１０２ｃは、画像取得部１０１ｃによって取得された複数枚の映像フレームそれぞれから、映像フレームに撮像されている物体を検出する。なお、物体検出部１０２ｃによる物体の検出方法は、第１の実施形態〜第３の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。すなわち、物体検出部１０２ｃは、一般物体検出器又は特定物体検出器のいずれかを用いて、映像フレームから人物検出を行う。
【００９８】
物体対応付け部１０３ｃは、物体検出部１０２ｃによって検出された各映像フレームの人物検出結果に基づいて、映像フレーム間における人物の検出結果を対応付ける。具体的には、まず物体対応付け部１０３ｃは、複数枚のフレームから所定の時間間隔差で撮像された対応付け対象となる複数枚の映像フレームを抽出する。次に、物体対応付け部１０３ｃは、対応付け対象として抽出した複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、対応付け対象として抽出した複数枚の映像フレーム間の物体の検出結果を対応付ける。物体対応付け部１０３ｃにおける対応付け対象となる複数枚の映像フレームは、所定の時間間隔差で同じ撮像装置又は異なる撮像装置によって撮像された映像フレーム、及び、同時刻に異なる撮像装置によって撮像された映像フレームである。このように、物体対応付け部１０３ｃは、物体検出部１０２ｃによって検出された各映像フレームのうち所定の時間間隔差で撮像された又は同時刻に異なる撮像装置によって撮像された複数枚の映像フレームそれぞれで検出された物体の検出結果に基づいて、所定の時間間隔差で撮像された又は同時刻に異なる撮像装置によって撮像された複数枚の映像フレーム間の物体の検出結果を対応付ける。
【００９９】
例えば、物体対応付け部１０３ｃは、撮像装置１によって時刻ｔに撮像された映像フレームＩｔで検出された物体の検出結果と、時刻ｔと所定の時間離れた時刻又は同時刻に撮像装置３によって撮像された映像フレームで検出された物体の検出結果とに基づいて、当該映像フレーム間の物体の検出結果を対応付ける。また、例えば、物体対応付け部１０３ｃは、撮像装置１によって時刻ｔに撮像された映像フレームＩｔで検出された物体の検出結果と、時刻ｔと所定の時間離れた時刻ｔ＋ｔ０に撮像装置１によって撮像された映像フレームＩｔ+ｔ0で検出された物体の検出結果とに基づいて、映像フレームＩｔと映像フレームＩｔ+ｔ0との間の物体の検出結果を対応付ける。また、例えば、物体対応付け部１０３ｃは、撮像装置３によって時刻ｔに撮像された映像フレームＩｔ３で検出された物体の検出結果と、時刻ｔと所定の時間離れた時刻ｔ＋ｔ０に撮像装置３によって撮像された映像フレームＩｔ３+ｔ0で検出された物体の検出結果とに基づいて、映像フレームＩｔ３と映像フレームＩｔ３+ｔ0との間の物体の検出結果を対応付ける。
【０１００】
なお、物体対応付け部１０３ｃは、第１の実施形態〜第３の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。例えば、物体対応付け部１０３ｃは、物体検出部１０２ｃが一般物体検出器を用いる場合には、第１の実施形態又は第３の実施形態のいずれかの実施形態における同名の機能部と同様の処理を行う。また、例えば、物体対応付け部１０３ｃは、物体検出部１０２ｃが特定物体検出器を用いる場合には、第２の実施形態における同名の機能部と同様の処理を行う。物体対応付け部１０３ｃが、第１の実施形態〜第３の実施形態と異なる点は、画像取得部１０１ｃから通知を取得した場合の映像フレーム間における人物の検出結果の処理が異なる点である。
【０１０１】
具体的には、物体対応付け部１０３ｃは、カメラＩＤが変化したときに取得された映像フレームと、その直前又は直後に取得された映像フレームとの対応付けにおいて、撮像装置１と撮像装置３との相対的な関係性から一方の人物検出結果を逆転させて対応付けを行う。
【０１０２】
変換行列推定部１０４ｃは、物体検出部１０２ｃによる人物の検出結果と、物体対応付け部１０３ｃによる対応付け結果とに基づいて、映像フレームＩの座標変換行列を推定する。
【０１０３】
以上のように構成された画像処理システム１００ｃでは、複数のカメラで互いに異なる方向から撮影対象領域２を撮影した映像フレームが取得された場合には、映像フレーム間の人物検出結果において、一方の人物検出結果を逆転した後に対応付けを行う。これにより、複数のカメラで互いに異なる方向から撮影対象領域２を撮影した映像フレームが取得された場合であっても、座標変換行列のパラメータの推定することができる。
【０１０４】
＜変形例＞
撮像装置１及び３は、同じ方向を撮影するように設置されてもよいし、異なる方向を撮影するように設置されてもよい。撮像装置１及び３が同じ方向を撮影するように設置される場合、画像取得部１０１ｃはカメラＩＤによる判定処理を行う必要はない。撮像装置１及び３が異なる方向を撮影するように設置される場合、例えば撮像装置１と撮像装置３とは、直交する方向を向くように設置される。
【０１０５】
＜第１の実施形態から第４の実施形態に共通する変形例＞
画像取得部１０１，１０１ｃは、映像フレームを撮像装置以外から取得するように構成されてもよい。具体的には、画像取得部１０１，１０１ｃは、撮影対象領域２の一部又は全てが撮像されている映像フレームを記憶する記憶装置から映像フレームを取得してもよいし、ＵＳＢ（Universal Serial Bus）やＳＤカードのように持ち運び可能な記録媒体から映像フレームを取得してもよいし、ネットワーク上から映像フレームを取得してもよい。
【０１０６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１０７】
１、３…撮像装置，  １０、１０ａ、１０ｂ、１０ｃ…画像処理装置，  １０１、１０１ｃ…画像取得部，  １０２、１０２ａ、１０２ｃ…物体検出部，  １０３、１０３ａ、１０３ｂ、１０３ｃ…物体対応付け部，  １０３１…暫定対応付け部，  １０３２…グラフ構築部，  １０３３…選択部，  １０４、１０４ｃ…変換行列推定部，  １０５…画像処理部
【図１】
2020086879.tif 000003
【図２】
2020086879.tif 000004
【図３】
2020086879.tif 000005
【図４】
2020086879.tif 000006
【図５】
2020086879.tif 000007
【図６】
2020086879.tif 000008
【図７】
2020086879.tif 000009
【図８】
2020086879.tif 000010
【図９】
2020086879.tif 000011
【図１０】
2020086879.tif 000012
【図１１】
2020086879.tif 000013
【図１２】
2020086879.tif 000014
【図１３】
2020086879.tif 000015
【図１４】
2020086879.tif 000016