以下、図面を参照して実施の形態について説明する。各図面においては、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略される。
(実施の形態に至る検討)
上記のように関連する技術では、画像から人物の姿勢を推定し、推定された姿勢に類似する姿勢を含む画像を検索する。しかしながら、人物の姿勢のみに基づいて検索を行うと、必ずしもユーザが望む画像(シーン)を検索できない場合がある。
例えば、図1に示すように、車いすが自走するシーンを検索したい場合、人物が車いすに座った状態の画像を検索クエリQ1として、検索クエリQ1に類似する類似画像を検索する。そうすると、関連する技術では、検索対象の画像の中から検索対象P1や検索対象P2のような画像を類似画像として抽出する。関連する技術では、人物の姿勢のみに基づいて検索を行うため、検索対象P1のように、人物が車いすに座っている画像に限らず、検索対象P2のように、単に人物がいすに座っている画像も抽出してしまう。すなわち、姿勢のみの特徴量から類似判断を行うと、人物がいすに座っている画像も類似画像であると判定してしまう。このため、関連する技術は、ユーザが検索したい画像(シーン)に近い画像を精度よく検索することはできない場合がある。
また、非特許文献1に記載のHOI(Human-Object-Interaction)検出を用いて類似画像を検索する方法が考えられる。HOI検出により、画像から関連する人物と物体のペアを検出し、人物の動詞(行動)を検出できる。検索クエリから検出される人物の動詞と、検索対象から検出される人物の動詞に基づいて、画像の類似判定を行うことにより、人物と物体を考慮した類似画像の検索が可能である。
しかしながら、HOI検出では、機械学習による事前準備が前提となる。このため、人物と物体が相互作用している画像を予め大量に学習する必要がある。そうすると、事前に学習されていない動詞の画像を検索することは困難である。このため、この場合でも、ユーザが望む画像を精度よく検索することはできない。
(実施の形態の概要)
図2は、実施の形態に係る画像処理システム10の概要を示している。図2に示すように、画像処理システム10は、姿勢推定取得部11、物体認識取得部12、類似判定部13を備えている。なお、画像処理システム10は、1つの装置により構成してもよいし、複数の装置により構成してもよい。
姿勢推定取得部11は、第1及び第2の画像に含まれる人物の姿勢を推定した推定結果を取得する。姿勢推定取得部11は、データベース等から推定結果を取得してもよいし、第1または第2の画像に基づいて姿勢推定処理を行い、第1または第2の画像に含まれる人物の姿勢を推定してもよい。例えば、姿勢推定取得部11は、第1または第2の画像に基づいて、第1または第2の画像に含まれる人物の姿勢として人物の骨格構造を推定する。物体認識取得部12は、第1及び第2の画像に含まれる人物以外の物体を認識した認識結果を取得する。物体認識取得部12は、データベース等から認識結果を取得してもよいし、第1または第2の画像に基づいて物体認識処理を行い、第1または第2の画像に含まれる物体を認識してもよい。例えば、物体認識取得部12は、第1または第2の画像に基づいて、第1または第2の画像に含まれる物体の物体クラスを認識する。
類似判定部13は、第1及び第2の画像に対する人物の姿勢の推定結果と、第1及び第2の画像に対する物体の認識結果に基づいて、第1の画像と第2の画像との類似判定を行う。類似判定部13は、データベース等から取得した推定結果及び認識結果を使用してもよいし、第1または第2の画像に基づいた姿勢推定処理により推定された推定結果及び第1または第2の画像に基づいた物体認識処理により認識された認識結果を使用してもよい。例えば、類似判定部13は、第1の画像に基づいて推定した人物の姿勢の推定結果及び第1の画像に基づいて認識した物体の認識結果と、取得した第2の画像の人物の姿勢の推定結果及び取得した第2の画像の物体の認識結果とに基づいて、類似判定を行う、例えば、類似判定部13は、人物の姿勢の推定結果に基づいた姿勢特徴量の類似度と、物体の認識結果に基づいた物体特徴量の類似度に基づいて、第1の画像と第2の画像の類似判定を行う。類似判定とは、2つの画像が類似しているか否かの判定である。例えば、所定値よりも類似度が高い場合、2つの画像は類似していると判定し、所定値よりも類似度が低い場合、2つの画像は類似していないと判定する。
また、第1の画像をクエリ画像とし、第2の画像を複数の検索対象画像として、類似判定部13は、類似判定した結果に基づいて、複数の検索対象画像からクエリ画像に類似する画像を検索してもよい。
このように、実施の形態では、人物の姿勢の推定結果に加えて、物体の認識結果も用いて、画像の類似判断を行う。これにより、関連する技術のように姿勢のみを用いる場合と比べて、精度よく類似判断を行うことができる。例えば、図1の例について、実施の形態によれば、検索クエリQ1と検索対象P1は姿勢及び物体の類似度が高いため、2つの画像は類似していると判断でき、検索クエリQ1と検索対象P2は姿勢の類似度が高いものの物体の類似度が低いため、2つの画像は非類似であると判断できる。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。図3は、本実施の形態に係る画像処理装置100の構成を示している。
画像処理装置100は、データベース(DB)110とともに画像処理システム1を構成する。画像処理装置100を含む画像処理システム1は、画像から推定される人物の姿勢と画像から認識される物体に基づき、検索クエリに類似する画像(シーン)を検索するシステムである。
また、画像処理システム1は、画像処理装置100に画像(検索対象)を提供する画像提供装置200を備えていてもよい。例えば、画像提供装置200は、画像を撮像するカメラでもよいし、予め画像が格納された画像記憶装置でもよい。画像提供装置200は、人物や物体を含む2次元の画像を生成(記憶)し、生成した画像を画像処理装置100へ出力する。画像提供装置200は、画像(映像)を画像処理装置100へ出力可能に直接接続、もしくはネットワーク等を介して接続されている。なお、画像提供装置200を画像処理装置100の内部に設けてもよい。
データベース110は、画像処理装置100の処理に必要な情報や処理結果のデータ等を格納するデータベースである。データベース110は、画像取得部101が取得した画像(検索対象)や、姿勢推定部102の推定結果、物体認識部103の認識結果、機械学習用のデータ、特徴量算出部104が算出した特徴量、検索部105の検索結果等を記憶する。データベース110は、画像処理装置100とデータを入出力可能に直接接続、もしくはネットワーク等を介して接続されている。なお、データベース110をフラッシュメモリなどの不揮発性メモリやハードディスク装置等として、画像処理装置100の内部に設けてもよい。
図3に示すように、画像処理装置100は、画像取得部101、姿勢推定部102、物体認識部103、特徴量算出部104、検索部105、入力部106、表示部107を備えている。なお、各部(ブロック)の構成は一例であり、後述の動作(方法)が可能であれば、その他の各部で構成されてもよい。また、画像処理装置100は、例えば、プログラムを実行するパーソナルコンピュータやサーバ等のコンピュータ装置で実現されるが、1つの装置で実現してもよいし、ネットワーク上の複数の装置で実現してもよい。例えば、姿勢推定部102や物体認識部103等を外部の装置としてもよい。
画像取得部101は、画像提供装置200から画像を取得する。画像取得部101は、画像提供装置200が生成(記憶)した人物や物体を含む2次元の画像(複数の画像を含む映像)を取得する。例えば、取得する画像は検索対象となる画像であり、画像取得部101は、取得した画像をデータベース110に格納する。
姿勢推定部102は、画像に基づいて画像内の人物の姿勢を推定する。なお、姿勢推定部102は、外部の装置(画像提供装置200やデータベース110、入力部106等)から、予め画像内の人物の姿勢を推定した推定結果を取得してもよい。姿勢推定部102は、取得された検索対象の画像内の人物の姿勢を推定し、また、検索時に検索クエリの画像内の人物の姿勢を推定する。姿勢推定部102は、検索対象の人物の姿勢を推定する第1の姿勢推定部と、検索クエリの人物の姿勢を推定する第2の姿勢推定部を含むとも言える。
この例では、姿勢推定部102は、人物の姿勢として、画像から人物の骨格構造を検出する。なお、骨格構造の検出に限らず、機械学習を用いたその他の姿勢推定エンジンより、画像内の人物の姿勢(姿勢ラベル)を推定してもよい。姿勢推定部102は、2次元の画像に基づき、画像内の人物の2次元の骨格構造を検出する。姿勢推定部102は、取得された画像の中で認識される全ての人物について、骨格構造を検出する。姿勢推定部102は、機械学習を用いた骨格推定技術を用いて、認識される人物の関節等の特徴に基づき人物の骨格構造を検出する。姿勢推定部102は、例えば、非特許文献2のOpenPose等の骨格推定技術を用いる。姿勢推定部102は、推定した人物の姿勢(骨格構造)とともに、推定の確かさを示す確信度を出力する。確信度が高いほど、推定した人物の姿勢が正しい(人物である)可能性が高い。姿勢推定部102は、検出対象の人物の姿勢推定結果(骨格構造及び確信度)をデータベース110に格納する。
OpenPose等の骨格推定技術では、様々なパターンの正解付けされた画像データを学習することで、人物の骨格を推定する。OpenPose等の骨格推定技術により推定される骨格構造は、関節等の特徴的な点である「キーポイント」と、キーポイント間のリンクを示す「ボーン(ボーンリンク)」とから構成される。このため、以下では、骨格構造について「キーポイント」と「ボーン」という用語を用いて説明する場合があるが、特に限定されない限り、「キーポイント」は人物の「関節」に対応し、「ボーン」は人物の「骨」に対応している。
物体認識部103は、画像に基づいて画像内の物体を認識する。なお、物体認識部103は、外部の装置(画像提供装置200やデータベース110、入力部106等)から、予め画像内の物体を認識した認識結果を取得してもよい。認識する物体は、人物以外の物体、すなわち、姿勢を推定した人物を含む人以外の物(例えば、クラスが人以外の物)である。物体認識部103は、取得された検索対象の画像内の物体を認識し、また、検索時に検索クエリの画像内の物体を認識する。物体認識部103は、検索対象の物体を認識する第1の物体認識部と、検索クエリの物体を認識する第2の物体認識部を含むとも言える。
物体認識部103は、画像内の物体のクラスを認識する。物体のクラスは、物体の種類やカテゴリを示す。物体のクラスは、検索条件等に応じて、階層化(細分化)されてもよい。物体認識部103は、取得された画像内の全ての物体について、クラスを認識する。例えば、物体認識部103は、機械学習を用いた物体認識エンジンにより画像内の物体のクラスを認識してもよい。物体の画像の特徴(パターン)と物体のクラスを機械学習することで物体を認識できる。物体認識部103は、画像内の物体領域を検出し、検出した物体領域内の物体のクラスを認識する。また、物体認識部103は、認識した物体のクラスとともに、認識の確かさを示す確信度を出力する。確信度が高いほど、認識した物体のクラスが正しい可能性が高い。物体認識部103は、検索対象の物体認識結果(物体クラス及び確信度)をデータベース110に格納する。
なお、物体認識部103は、物体のクラスに限らず、物体の特徴に関するその他の情報を認識してもよい。一例として、物体の画像の各部の特徴から物体の状態を認識してもよい。例えば、物体の状態は、ノートPC(Personal Computer)が開いている状態/閉じている状態、PCの画面が表示されている状態/消えている状態、車のヘッドライトやウインカーが点灯している状態/消灯しっている状態、車のドアが開いている状態/閉じている状態等である。対象画像の物体の状態を格納し、検索クエリの物体の状態に類似する画像を検索可能としてもよい。
特徴量算出部104は、画像から推定された(取得された)人物の姿勢の推定結果に基づいた姿勢特徴量を算出するとともに、画像から認識された(取得された)物体の認識結果に基づいた物体特徴量を算出する。また、特徴量算出部104は、検索対象の画像内の人物の姿勢特徴量及び物体の物体特徴量を算出し、検索クエリの画像内の人物の姿勢特徴量及び物体の物体特徴量を算出する。特徴量算出部104は、検索対象の姿勢特徴量及び物体特徴量を算出する第1の特徴量算出部と、検索クエリの姿勢特徴量及び物体特徴量を算出する第2の特徴量算出部を含むとも言える。特徴量算出部104は、算出した検索対象の姿勢特徴量及び物体特徴量(正規化した場合は正規化値)をデータベース110に格納する。なお、特徴量算出部104は、姿勢特徴量と物体特徴量の両方を算出してもよいし、姿勢特徴量のみを算出してもよい。例えば、物体の認識結果の情報(物体のクラス)のみを用いて物体の類似度の判断を行う場合は、物体特徴量の算出を省略してもよい。この場合、物体の認識結果の情報が物体特徴量を示しているとも言える。
特徴量算出部104は、人物の姿勢として検出された2次元の骨格構造の特徴量を算出する。骨格構造の特徴量(姿勢特徴量)は、人物の骨格(姿勢)の特徴を示しており、人物の骨格に基づいて画像を検索するための要素となる。骨格構造の特徴量は、骨格構造の全体の特徴量でもよいし、骨格構造の一部の特徴量でもよく、骨格構造の各部のように複数の特徴量を含んでもよい。一例として、特徴量は、骨格構造を機械学習することで得られた特徴量や、骨格構造の頭部から足部までの画像上の大きさ等である。骨格構造の大きさは、画像上の骨格構造を含む骨格領域の上下方向の高さや面積等である。上下方向(高さ方向または縦方向)は、画像における上下の方向(Y軸方向)であり、例えば、地面(基準面)に対し垂直な方向である。また、左右方向(横方向)は、画像における左右の方向(X軸方向)であり、例えば、地面に対し平行な方向である。
また、特徴量算出部104は、算出した姿勢特徴量を正規化してもよい。例えば、正規化パラメータとして、骨格領域の最小値や最大値、人物の身長等を用いてもよい。例えば、特徴量算出部104は、2次元の画像内の人物の直立時の高さ(身長画素数)を算出し、算出された人物の身長画素数に基づいて、人物の骨格構造(骨格情報)を正規化する。身長画素数は、2次元の画像における人物の身長(2次元画像空間上の人物の全身の長さ)である。特徴量算出部104は、検出された骨格構造の各ボーンの長さ(2次元画像空間上の長さ)から身長画素数(ピクセル数)を求める。特徴量算出部104は、骨格構造に含まれる各キーポイント(特徴点)の画像上での高さを、身長画素数で正規化する。キーポイントの高さは、キーポイントのY座標の値(画素数)から求めることができる。
あるいは、高さ方向は、実世界の3次元座標空間における地面(基準面)に対し垂直な鉛直軸の方向を、2次元座標空間に投影した鉛直投影軸の方向(鉛直投影方向)でもよい。この場合、キーポイントの高さは、実世界における地面に対し垂直な軸を、カメラパラメータに基づいて2次元座標空間に投影した鉛直投影軸を求め、この鉛直投影軸に沿った値(画素数)から求めることができる。なお、カメラパラメータは、画像の撮像パラメータであり、例えば、カメラパラメータは、カメラの姿勢、位置、撮像角度、焦点距離等である。カメラにより、予め長さや位置が分かっている物体を撮像し、その画像からカメラパラメータを求めることができる。
特徴量算出部104は、物体特徴量を算出する場合、画像から認識された物体の特徴量を算出する。物体特徴量は、画像における物体の特徴を示しており、物体に基づいて画像を検索するための要素となる。例えば、物体特徴量は、認識した物体の画像の特徴量である。物体特徴量は、物体の全体の特徴量でもよいし、物体の一部の特徴量でもよく、物体の各部のように複数の特徴量を含んでもよい。一例として、特徴量は、物体を機械学習することで得られた特徴量や、認識した物体の画像上の大きさや形状等である。物体の大きさは、画像上の物体を含む物体領域の上下方向の高さや左右方向の幅、面積等である。
また、特徴量算出部104は、算出した物体特徴量を正規化してもよい。例えば、正規パラメータとして、物体クラスに対応した物体領域の最小値や最大値、物体の高さや幅等を用いてもよい。例えば、特徴量算出部104は、画像内の物体の物体領域の面積を算出し、物体クラスに対応した面積の最小値または最大値に基づいて、当該物体の物体領域の面積を正規化する。
検索部(類似判定部)105は、データベース110に格納された検索対象の複数の画像の中から、検索クエリの画像と類似度の高い画像を検索する。この例では、検索クエリ(検索条件)は、人物の姿勢及び物体である。検索部105は、画像における人物の姿勢の特徴量及び物体の特徴量(物体クラスを含む)に基づいて、検索クエリに該当する画像を検索する。
検索部105は、検索クエリの姿勢特徴量と検索対象の姿勢特徴量との類似度、及び、検索クエリの物体特徴量と検索対象の物体特徴量との類似度に基づいて、画像の類似判定を行い、検索クエリに類似する画像を抽出する。検索部105は、検索クエリの姿勢特徴量と類似度が高い姿勢特徴量を有し、かつ、検索クエリの物体特徴量と類似度が高い物体の特徴量を有する画像を検索する。特徴量間の類似度は、特徴量間の距離である。例えば、姿勢特徴量の類似度及び物体特徴量の類似度の重みに基づいて、類似判断を行ってもよい。また、姿勢を推定した人物の確信度と推定した物体の確信度に基づいて、類似判断を行ってもよい。
検索部105は、姿勢の類似度を求める場合、骨格構造の全体の特徴量の類似度を求めてもよいし、骨格構造の一部の特徴量の類似度を求めてもよい。例えば、骨格構造の第1の部分(例えば両手)及び第2の部分(例えば両足)の特徴量の類似度を求めてもよい。また、検索部105は、物体の類似度を求める場合、物体の全体の特徴量の類似度を求めてもよいし、物体の一部の特徴量の類似度を求めてもよい。検索部105は、物体のクラスが一致しているか否かを判定した結果を類似度としてもよいし、物体のクラスが階層化されている場合には、物体のクラスの全部または一部が一致しているか判定した結果を類似度としてもよい。
なお、検索部105は、各画像における姿勢特徴量及び物体特徴量に基づいて検索してもよいし、時系列に連続する複数の画像(映像)における姿勢特徴量及び物体特徴量(物体クラスを含む)の変化に基づいて検索してもよい。すなわち、画像に限らず取得した映像を格納し、検索クエリの映像から、人物の姿勢及び物体が類似する映像を検索してもよい。検索部105は、特徴量の類似度の検出をフレーム(画像)単位で行う。例えば、複数のフレームからキーフレームを抽出し、抽出したキーフレームを用いて類似度を判定してもよい。検索クエリの映像と類似する映像を検索することで、人物の姿勢や人物と物体の関係の変化を検索キーとして検索できる。例えば、人物がコップを置いてスマホを持つ場合のように、物体の変化を検索キーとして検索できる。
入力部106は、画像処理装置100を操作するユーザから入力された情報を取得する入力インタフェースである。入力部106は、例えば、GUI(Graphical User Interface)であり、キーボードやマウス、タッチパネル等の入力装置から、ユーザの操作に応じた情報が入力される。例えば、入力部106は、複数の画像の中から、指定された人物の姿勢及び物体を検索クエリとして受け付ける。また、検索クエリとなる人物の姿勢(骨格)及び物体のクラスをユーザが手動で入力してもよい。
表示部107は、画像処理装置100の動作(処理)の結果等を表示する表示部であり、例えば、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイ等のディスプレイ装置である。表示部107は、検索部105の検索結果等、各部の処理結果をGUIに表示する。
なお、図4に示すように、画像処理装置100は、検索部105に加えて、または、検索部105の代わりに、画像を分類する分類部108を備えていてもよい。分類部108は、データベース110に格納された複数の画像を特徴量に基づいて分類する(クラスタリングする)。分類部108は、検索部105と同様に、各画像間の姿勢特徴量及び物体特徴量の類似度に基づいて、画像の類似判定を行い、類似する画像を分類する。分類部108は、姿勢特徴量の類似度が高く、かつ、物体特徴量の類似度が高い画像を同じクラスタ(グループ)となるように分類する。分類部108は、検索部105のように、指定されたクエリ(分類条件)に基づいて画像を分類してもよい。
図5は、本実施の形態に係る画像処理装置100の動作例を示し、検索対象の画像を取得しデータベースに格納する処理の流れを示している。
図5に示すように、画像処理装置100は、画像提供装置200から画像を取得する(S101)。画像取得部101は、人物の姿勢及び物体に基づいて検索を行うための検索対象である画像を画像提供装置200から取得し、取得した画像をデータベース110に格納する。画像取得部101は、カメラから所定の期間に撮像された複数の画像を取得してもよいし、記憶装置に格納された複数の画像を取得してもよい。取得された複数の画像について以降の処理を行う。
続いて、画像処理装置100は、取得した画像に基づいて人物の姿勢を推定する(S102a)。例えば、取得した検索対象の画像には複数の人物が含まれており、姿勢推定部102は、画像に含まれる各人物について、人物の姿勢として骨格構造を検出する。
図6は、このとき検出する人体モデル300の骨格構造を示している。姿勢推定部102は、OpenPose等の骨格推定技術を用いて、2次元の画像から図6のような人体モデル(2次元骨格モデル)300の骨格構造を検出する。人体モデル300は、人物の関節等のキーポイントと、各キーポイントを結ぶボーンから構成された2次元モデルである。
姿勢推定部102は、例えば、画像の中からキーポイントとなり得る特徴点を抽出し、キーポイントの画像を機械学習した情報を参照して、人物の各キーポイントを検出する。図6の例では、人物のキーポイントとして、頭A1、首A2、右肩A31、左肩A32、右肘A41、左肘A42、右手A51、左手A52、右腰A61、左腰A62、右膝A71、左膝A72、右足A81、左足A82を検出する。さらに、これらのキーポイントを連結した人物の骨として、頭A1と首A2を結ぶボーンB1、首A2と右肩A31及び左肩A32をそれぞれ結ぶボーンB21及びボーンB22、右肩A31及び左肩A32と右肘A41及び左肘A42をそれぞれ結ぶボーンB31及びボーンB32、右肘A41及び左肘A42と右手A51及び左手A52をそれぞれ結ぶボーンB41及びボーンB42、首A2と右腰A61及び左腰A62をそれぞれ結ぶボーンB51及びボーンB52、右腰A61及び左腰A62と右膝A71及び左膝A72をそれぞれ結ぶボーンB61及びボーンB62、右膝A71及び左膝A72と右足A81及び左足A82をそれぞれ結ぶボーンB71及びボーンB72を検出する。姿勢推定部102は、骨格推定技術により検出した人物の骨格構造とその確信度をデータベース110に格納する。
続いて、画像処理装置100は、推定された人物の姿勢の姿勢特徴量を算出する(S103a)。例えば、骨格領域の高さや面積を特徴量とする場合、特徴量算出部104は、骨格構造を含む領域を抽出し、その領域の高さ(画素数)や面積(画素面積)を求める。骨格領域の高さや面積は、抽出される骨格領域の端部の座標や端部のキーポイントの座標から求められる。特徴量算出部104は、求めた骨格構造の特徴量をデータベース110に格納する。
図6の例では、直立した人物の骨格構造から全てのボーンを含む骨格領域を抽出する。この場合、骨格領域の上端は頭部のキーポイントA1、骨格領域の下端は右足のキーポイントA81または左足のキーポイントA82、骨格領域の左端は右手のキーポイントA51、骨格領域の右端は左手のキーポイントA52となる。このため、キーポイントA1とキーポイントA81またはA82のY座標の差分から骨格領域の高さを求める。また、キーポイントA51とキーポイントA52のX座標の差分から骨格領域の幅を求め、骨格領域の高さと幅から面積を求める。
また、姿勢特徴量を正規化する場合、例えば、特徴量算出部104は、検出された骨格構造に基づいて身長画素数などの正規化パラメータを算出する。特徴量算出部104は、身長画素数等により骨格領域の高さや面積などの特徴量を正規化する。
図6の例では、画像における直立時の人物の骨格構造の高さである身長画素数と、画像の人物の骨格構造の各キーポイントの高さであるキーポイント高さを求める。骨格構造の各ボーンのうち、頭部から足部までのボーンの長さを合計することで、身長画素数を求めてもよい。姿勢推定部102(骨格推定技術)が頭頂と足元を出力しない場合は、必要に応じて定数を乗じて補正してもよい。
具体的には、特徴量算出部104は、人物の頭部から足部の2次元の画像上のボーンの長さを取得し、身長画素数を求める。図6のボーンのうち、ボーンB1(長さL1)、ボーンB51(長さL21)、ボーンB61(長さL31)及びボーンB71(長さL41)、もしくは、ボーンB1(長さL1)、ボーンB52(長さL22)、ボーンB62(長さL32)及びボーンB72(長さL42)の各長さ(画素数)を取得する。各ボーンの長さは、2次元の画像における各キーポイントの座標から求めることができる。これらを合計した、L1+L21+L31+L41、もしくは、L1+L22+L32+L42に補正定数を乗じた値を身長画素数として算出する。両方の値を算出できる場合、例えば、長い方の値を身長画素数とする。すなわち、各ボーンは正面から撮像された場合が画像中での長さが最も長くなり、カメラに対して奥行き方向に傾くと短く表示される。従って、長いボーンの方が正面から撮像されている可能性が高く、真実の値に近いと考えられる。このため、長い方の値を選択することが好ましい。
なお、その他の算出方法により、身長画素数を算出してもよい。例えば、各ボーンの長さと2次元画像空間上の身長との関係(比率)を示す平均的な人体モデルを予め用意し、用意した人体モデルを用いて検出した各ボーンの長さから身長画素数を算出してもよい。
特徴量算出部104は、身長画素数とともに、各キーポイントの高さを算出し、正規化のための基準点を特定し、各キーポイントの高さを身長画素数で正規化する。特徴量算出部104は、正規化した姿勢特徴量をデータベース110に格納する。
キーポイント高さは、骨格構造の最下端(例えばいずれかの足のキーポイント)からそのキーポイントまでの高さ方向の長さ(画素数)である。ここでは、一例として、キーポイント高さを、画像におけるキーポイントのY座標から求める。なお、キーポイント高さは、カメラパラメータに基づいた鉛直投影軸に沿った方向の長さから求めてもよい。また、特定する基準点は、キーポイントの相対的な高さを表すための基準となる点である。基準点は、予め設定されていてもよいし、ユーザが選択できるようにしてもよい。基準点は、骨格構造の中心もしくは中心よりも高い(画像の上下方向における上である)ことが好ましく、例えば、首のキーポイントの座標を基準点とする。なお、首に限らず頭やその他のキーポイントの座標を基準点としてもよい。キーポイントに限らず、任意の座標(例えば骨格構造の中心座標等)を基準点としてもよい。各キーポイントのキーポイント高さ、基準点、身長画素数を用いて、各キーポイントを正規化する。具体的には、特徴量算出部104は、基準点に対するキーポイントの相対的な高さを身長画素数により正規化する。ここでは、高さ方向のみに着目する例として、Y座標のみを抽出し、また、基準点を首のキーポイントとして正規化を行う。正規化値は、キーポイント高さから基準点の高さを差し引き、差し引いた値を身長画素数により除算した値となる。
また、S101に続いて、画像処理装置100は、取得した画像に基づいて物体を認識する(S104a)。例えば、取得した検索対象の画像には人物の他に複数の物体が含まれており、物体認識部103は、画像に含まれる各物体のクラスを認識する。物体認識部103は、物体認識エンジンを用いて、画像内の物体領域を検出し、検出した物体領域内の物体のクラスを認識する。物体認識部103は、物体認識エンジンにより認識した物体のクラスとその確信度をデータベース110に格納する。
続いて、画像処理装置100は、物体特徴量を算出する場合、認識された物体の物体特徴量を算出する(S105a)。例えば、物体を認識した物体領域の大きさを特徴量とする場合、特徴量算出部104は、検出された矩形の物体領域の高さ(画素数)や幅(画素数)、面積(画素面積)等を求める。特徴量算出部104は、求めた物体の特徴量をデータベース110に格納する。また、物体特徴量を正規化する場合、特徴量算出部104は、算出した物体領域の大きさを、物体クラスに対応した物体領域の最小値や最大値により正規化する。例えば、画像内の物体の物体領域の面積を算出し、認識した物体のクラスに対応した面積の最小値や最大値により物体領域の面積を除算した値を正規化値とする。特徴量算出部104は、正規化した物体特徴量をデータベース110に格納する。
図7は、本実施の形態に係る画像処理装置100の動作例を示し、図5の処理によりデータベースに格納された検索対象の画像から検索クエリに類似する画像を検索する処理の流れを示している。
図7に示すように、検索を行う際、ユーザは画像処理装置100に検索クエリを入力する(S111)。検索部105は、入力部106を介して、ユーザの操作に応じて検索条件である検索クエリの入力を受け付ける。例えば、表示部107に複数の画像を表示し、ユーザは、検索クエリ(検索キー)の人物の姿勢及び物体を含む画像を選択してもよい。検索クエリに使用する画像は、データベース110に格納された画像でもよいし、画像提供装置200から提供される画像やその他の画像でもよい。例えば、各画像に姿勢推定結果の人物の骨格や物体の認識結果の物体の領域及び物体クラスを表示し、選択可能としてもよい。
1つの画像の中から検索クエリの姿勢及び物体を選択してもよいし、検索クエリの姿勢と物体を別の画像で選択してもよい。検索クエリの姿勢と物体を別の画像で選択する場合、検索部105は、それぞれ選択した姿勢の画像と物体の画像を合成(マージ)して1つの検索クエリ画像を生成する。また、1つの画像に複数の姿勢及び物体が含まれる場合、ユーザは検索クエリとする1つの姿勢と1つの物体を選択する。なお、検索クエリは、1つの姿勢と1つの物体に限らず、任意の数の姿勢と任意の数の物体を含んでもよい。例えば、各画像に姿勢推定結果の確信度や物体の認識結果の確信度を表示し、確信度の高い姿勢(骨格)や確信度の高い物体を検索クエリとして推薦(リコメンド)するよう表示してもよい。所定値以上の確信度の姿勢及び物体を強調表示してもよい。また、検索クエリ(検索条件)として、人物の姿勢の確信度や物体の確信度を入力してもよい。
また、画像に限らず、その他の方法で検索クエリとなる人物の姿勢(骨格)及び物体をユーザが入力してもよい。例えば、検索クエリとして、ユーザの操作に応じて骨格構造の各部を動かすことで姿勢を入力してもよいし、物体のクラスをユーザが入力してもよい。骨格構造を入力した場合、姿勢推定処理(S102b)は省略してもよい。また、物体のクラスを入力した場合、物体認識処理(S104b)は省略してもよい。
検索クエリが入力されると、画像処理装置100は、検索対象格納時と同様に、検索クエリの人物の姿勢の推定(S102b)及び姿勢特徴量の算出(S103b)を行う。姿勢推定部102は、検索クエリの画像における人物(検索クエリとして指定された人物)の骨格構造を検出し、検出した骨格構造とその確信度を出力する。特徴量算出部104は、検出した骨格構造の特徴量として骨格領域の高さや面積等を算出し、身長画素数等の正規化パラメータにより骨格領域の高さや面積等の特徴量を正規化する。
また、画像処理装置100は、検索対象格納時と同様に、検索クエリの物体の認識(S104b)及び物体特徴量の算出(S105b)を行う。物体認識部103は、検索クエリの画像における物体(検索クエリとして指定された物体)のクラスを認識し、認識した物体のクラスとその確信度を出力する。特徴量算出部104は、物体特徴量を算出する場合、認識した物体の特徴量として物体領域の面積等を算出し、面積の最小値や最大値等の正規化パラメータにより物体領域の面積等の特徴量を正規化する。
続いて、画像処理装置100は、検索クエリに基づいて画像を検索する(S112)。検索部105は、ユーザにより指定された人物の姿勢及び物体を検索クエリとして、検索対象であるデータベース110に格納されている全ての画像の中から、人物の姿勢の特徴量及び物体の特徴量の類似度が高い画像を検索する。
検索部105は、データベース110に格納された検索対象の各画像について検索クエリとの類似度を算出する。検索部105は、データベース110に格納された検索対象の人物の姿勢特徴量と、算出した検索クエリの人物の姿勢特徴量との類似度を求める。また、データベース110に格納された検索対象の物体特徴量と、算出した検索クエリの物体特徴量との類似度を求める。検索部105は、求めた姿勢特徴量の類似度及び物体特徴量の類似度に基づいて、画像の類似判定を行う。例えば、検索部105は、求めた姿勢特徴量の類似度及び物体特徴量の類似度のそれぞれが、閾値よりも大きい画像を類似画像として抽出する。姿勢特徴量の類似度及び物体特徴量の類似度のいずれか、または両方に重みを付けて類似判定を行ってもよい。例えば、求めた姿勢特徴量の類似度及び物体特徴量の類似度にそれぞれ重みを付け(例えば、1.0、0.8など)し、重み付けた類似度の合計値と閾値を比較して類似判定を行ってもよい。また、重みに応じて各類似度を判定する閾値を変えてもよい。
また、姿勢推定の確信度を姿勢特徴量の類似度に反映させ、物体認識の確信度を物体特徴量の類似度に反映させてもよい。例えば、検索対象の人物の姿勢の確信度と検索クエリの人物の姿勢の確信度との類似度を求め、検索対象の物体の確信度と検索クエリの物体の確信度との類似度を求めてもよい。また、それぞれの確信度により特徴量に重みをつけて類似度を求めてもよい。例えば、検索対象の人物の姿勢特徴量にその姿勢の確信度を乗算し、検索クエリの人物の姿勢特徴量にその姿勢の確信度を乗算し、乗算した結果により姿勢特徴量の類似度を求める。検索対象の物体特徴量にその物体の確信度を乗算し、検索クエリの物体特徴量にその物体の確信度を乗算し、乗算した結果により物体特徴量の類似度を求める。
また、確信度と閾値を比較して、確信度が閾値を超えている特徴量のみを類似度計算に用いても良い。例えば、検索クエリの人物及び物体、検索対象の人物は認識の確信度が閾値を超えているが、検索対象の物体の認識の確信度が閾値を下回っていた場合、物体の類似度は考慮せず、人物の姿勢に関する特徴量のみの類似度に基づいて検索を行っても良い。
続いて、画像処理装置100は、画像の検索結果を表示する(S113)。検索部105は、検索結果として得られた画像(類似画像)をデータベース110から取得し、表示部107に表示する。類似画像及び検索クエリ画像を表示し、各画像における人物の姿勢(骨格構造)及び人物領域(骨格領域)、物体のクラス及び物体領域等を表示してもよい。類似画像が複数ある場合、類似度に応じて各画像の表示を変えてもよい。類似度の高い順に画像を並べて表示してもよいし、類似度の高い画像を強調表示してもよい。
図8は、本実施の形態に係る画像処理装置100による画像検索の具体例を示している。図8に示すように、例えば、交通事故のシーン(画像)を検索したい場合、交通事故を撮像した画像内のしゃがみ込んでいる姿勢の人物との車を選択し、検索クエリQ2として画像処理装置100に入力する。そうすると、画像処理装置100は、検索クエリQ2の画像から人物のしゃがみ姿勢の骨格を推定し、検索クエリQ2の画像から物体のクラスの車を認識する。データベース110の検索対象の画像から、しゃがみ姿勢の骨格と類似度が高い姿勢を含み、車と類似度が高いクラスの物体を含む画像を抽出する。その結果、検索対象P3や検索対象P4のように、しゃがみ込んでいる姿勢の人物と車が写った画像を抽出することができ、所望の交通事故のシーンを検索することができる。
以上のように、本実施の形態では、画像における人物の姿勢特徴量と物体の物体特徴量を検索クエリとして、類似する画像を検索する。すなわち、検索対象の画像について人物の姿勢を推定し姿勢特徴量を算出するとともに、物体を認識し物体特徴量を算出する。さらに、検索クエリについても人物の姿勢を推定し姿勢特徴量を算出するとともに、物体を認識し物体特徴量を算出する。それぞれの姿勢特徴量及び物体特徴量の類似度に基づいて、検索対象の画像の中から検索クエリに類似する画像を抽出する。これにより、姿勢が類似し、かつ、物体が類似する画像を検索できるため、より検索したい画像(シーン)に近い画像を検索することができる。
(実施の形態2)
以下、図面を参照して実施の形態2について説明する。本実施の形態では、実施の形態1において、さらに人物と物体の関係の特徴を用いて類似画像を検索する例について説明する。
実施の形態1では、人物の姿勢の特徴と物体の特徴を組み合わせることで、類似する画像を検索した。これにより、上記のように、人物の姿勢及び物体が類似する画像を検索できる。一方で、実施の形態1においても、場合によっては、ユーザが検索したい画像に近い画像を検索できない可能性がある。
例えば、図9に示すように、PCを操作する人物のシーンを検索したい場合、画像内の座り姿勢の人物とPCを選択し検索クエリQ3とする。そうすると、実施の形態1では、人物の姿勢及び物体が類似する画像を検索するため、座り姿勢の人物とPCを含む画像が抽出される。その結果、検索対象P5のように、PCを操作する人物に限らず、PCから離れて座っている人物を含む画像も抽出されてしまう。すなわち、実施の形態1では、たまたま類似する姿勢及び類似する物体を含む画像が検出されてしまう場合がある。そこで、本実施の形態では、人物と物体との関係性を考慮した画像検索を可能とする。
画像処理装置100の構成は、実施の形態1と同様である。本実施の形態では、画像処理装置100は、各画像における人物と物体との関係に基づいて類似判定を行い、類似画像を検索する。
特徴量算出部104は、人物の姿勢特徴量及び物体の物体特徴量に加えて、人物と物体との関係に関する関係性特徴量を算出する。特徴量算出部104は、検索対象の画像内の人物の姿勢特徴量、物体の物体特徴量、人物及び物体の関係性特徴量を算出し、また、検索クエリの画像内の人物の姿勢特徴量、物体の物体特徴量、人物及び物体の関係性特徴量を算出する。
検索部105は、姿勢特徴量の類似度、物体特徴量の類似度、及び関係性特徴量の類似度に基づいて、類似判定を行う。姿勢特徴量の類似度、物体特徴量の類似度、及び関係性特徴量の類似度の重みに基づいて、類似判定を行ってもよい。
本実施の形態における関係性特徴量は、例えば、人物と物体の距離に基づいた距離関係性特徴量、人物と物体の向きに基づいた向き関係性特徴量、人物と物体の位置関係に基づいた位置関係性特徴量を含む。特徴量算出部104は、距離関係性特徴量、向き関係性特徴量、位置関係性特徴量のいずれかを算出してもよいし、任意の組み合わせの関係性特徴量を算出してもよい。以下に各関係性特徴量の算出例を示す。
<距離関係性特徴量>
特徴量算出部104は、検索クエリの画像または検索対象の画像から、人物と物体間の距離を抽出して特徴量(距離関係性特徴量)に用いる。図10A及び図10Bは、距離関係性特徴量に用いる距離の抽出例を示している。図10Aは、図9の検索クエリQ3における距離の抽出例、図10Bは、図9の検索対象P5における距離の抽出例である。
距離関係性特徴量に用いる人物と物体間の距離は、例えば、姿勢を推定した人物の人物領域と、認識した物体の物体領域との間の距離である。人物領域は、姿勢を推定した人物を含む矩形領域であり、例えば、実施の形態1で示したように姿勢推定で推定した人物の骨格を含む骨格領域である。人物領域は、その他の方法で姿勢を検出する場合に検出した姿勢の人物を含む姿勢領域でもよいし、人物を画像認識する場合に認識した人物を含む人物領域でもよい。また、物体領域は、認識した物体を含む矩形領域であり、物体認識で検出した物体を含む物体領域である。
特徴量算出部104は、画像における人物領域に含まれる任意の点の座標と物体領域に含まれる任意の点の座標間を結ぶ線の距離(画素数)を求める。図10A及び図10Bの例では、人物領域の中心点と物体領域の中心点の間の距離を求める。すなわち、矩形の人物領域の各頂点の座標から人物領域の中心点の座標を求め、矩形の物体領域の各頂点の座標から物体領域の中心点の座標を求め、人物領域の中心点と物体領域の中心点の距離を求める。
また、特徴量算出部104は、人物領域と物体領域の最近傍点間の距離を求めてもよい。例えば、人物領域の全ての点と物体領域の全ての点のうち最近傍点を求めて、最近傍点間の距離を求めてもよいし、人物領域の各頂点と物体領域の各頂点のうち最も近い頂点間の距離を求めてもよい。また、人物領域と物体領域の最遠方点間の距離を求めてもよい。例えば、人物領域の全ての点と物体領域の全ての点のうち最遠方点を求めて、最遠方点間の距離を求めてもよいし、人物領域の各頂点と物体領域の各頂点のうち最も遠い頂点間の距離を求めてもよい。さらに、人物領域の任意の頂点と物体領域の任意の頂点の間の距離を求めてもよい。
また、特徴量算出部104は、求めた人物と物体間の距離を正規化パラメータにより正規化し、正規化した距離を特徴量としてもよい。正規化パラメータには、例えば、検索クエリや対象画像の画像サイズ、姿勢を推定した人物の身長(実施の形態1で示した身長画素数)、人物領域と物体領域のサイズ(高さ、幅、面積等)の平均、人物領域と物体領域の重なり具合を示すIoU(Intersection over Union)等を用いてもよい。特徴量算出部104は、人物と物体間の距離を正規化パラメータにより除算することで距離を正規化する。
このような距離関係性特徴量により、例えば、図10Aの検索クエリQ3のようにPCの近くに人物が座っている場合の物体と人物の関係や、図10Bの検索対象P5のようにPCから離れて人物が座っている場合の物体と人物の関係の特徴を示す特徴量を求めることができる。このため、距離関係性特徴量に基づいて類似判断することで、検索クエリQ3と検索対象P5は非類似であると判定できる。
<向き関係性特徴量>
特徴量算出部104は、検索クエリの画像または検索対象の画像から、人物の向きを求めて特徴量(向き関係性特徴量)に用いる。図11A及び図11Bは、向き関係性特徴量に用いる人物の向きの抽出例を示している。図11Aは、図9の検索クエリQ3における人物の向きの抽出例、図11Bは、図9の検索対象P5における人物の向きの抽出例である。
向き関係性特徴量に用いる人物の向きは、図11A及び図11Bのように、例えば、人物の姿勢推定で推定した人物の姿勢から抽出してもよい。すなわち、推定した骨格構造から人物の前後左右が検出できるため、画像における人物の前方向を人物の向きを抽出する。骨格構造に限らず、その他の方法で姿勢を推定した場合でも、同様に人物の向きを抽出できる。また、人物の姿勢に限らず、人物の顔の向きから人物の向きを抽出してもよい。例えば、画像から人物の顔を認識し、認識した顔の向きを人物の向きとする。また、人物の視線から人物の向きを抽出してもよい。例えば、画像から人物の視線を認識し、認識した視線の方向を人物の方向とする。
また、特徴量算出部104は、例えば、抽出した人物の向きと、人物と物体間を結ぶ線の向きとの類似度(関係)を特徴量として求める。一例として、特徴量算出部104は、人物と物体間を結ぶ線と人物の向き間のコサイン類似度を求める。人物と物体間を結ぶ線は、上記の距離関係性特徴量の場合と同様、矩形の中心間を結ぶ線や矩形の任意の点間を結ぶ線でもよい。
なお、物体認識において、画像から物体の向きを検出できる場合、検出した物体の向きを特徴量に用いてもよい。例えば、物体としてPCを認識した場合、PCの画面の向きを物体の向きとしてもよい。物体として車を認識した場合、車の前方向を物体の向きとしてもよい。この場合、抽出した物体の向きと人物の向きの類似度(関係)を特徴量として求めてもよい。
このような向き関係性特徴量により、例えば、図11Aの検索クエリQ3のようにPCの方に向いて人物が座っている場合の物体と人物の関係や、図11Bの検索対象P5のようにPCと反対の方に向いて人物が座っている場合の物体と人物の関係の特徴を示す特徴量を求めることができる。このため、向き関係性特徴量に基づいて類似判断することで、検索クエリQ3と検索対象P5は非類似であると判定できる。
<位置関係性特徴量>
特徴量算出部104は、検索クエリの画像または検索対象の画像から、人物と物体の位置関係を求めて特徴量(位置関係性特徴量)に用いる。図12A及び図12Bは、位置関係性特徴量に用いる位置関係の抽出例を示している。図12Aは、図9の検索クエリQ3における位置関係の抽出例、図12Bは、図9の検索対象P5における位置関係の抽出例である。
位置関係性特徴量に用いる位置関係は、例えば、姿勢を推定した人物と認識した物体との間の複数の距離から抽出できる。すなわち、姿勢を推定した人物及び推定した物体のうちの一方における一点と他方における複数の点との間の位置関係を用いる。例えば、姿勢を推定した人物における複数の点と推定した物体における一点との間の1対多の位置関係、または、姿勢を推定した人物における一点と前定した物体における複数の点との間の1対多の位置関係でもよい。なお、2つの領域における複数の点と複数の点の位置関係を使用してもよい。
特徴量算出部104は、画像における人物領域と物体領域の間を結ぶ複数の線の距離を求める。図12A及び図12Bの例では、物体領域の一点と人物領域の複数の点の間の距離を求める。物体領域の一点は、上記の距離関係性特徴量の場合と同様、物体領域の中心点や物体領域の任意の点でもよい。物体の画像から認識できる場合には、PCの画面等の注目点を物体の一点としてもよい。人物領域の複数の点は、認識した人物の骨格(姿勢)に含まれる人物の関節点(キーポイント、部位)でもよい。図12A及び図12Bでは、一例として、人物の頭部(例えばキーポイントA1)、手首(キーポイントA51またはA52)、足首(キーポイントA81またはA82)の3点を抽出している。認識した骨格(姿勢)に限らず、画像認識により認識される頭部、手首、足首等の各部位の点を抽出してもよい。
特徴量算出部104は、求めた人物領域と物体領域間の複数の距離、複数の距離を正規化した値(距離関係性特徴量と同様の正規化)、または、距離及び向きを含む複数のベクトルに基づいて特徴量を算出する。特徴量の算出後、検索部105における類似判定では、クエリ画像の特徴量と検索対象画像の特徴量に対して、例えば、複数の距離の類似度、複数の距離の正規化値の類似度、または、複数のベクトルの類似度(Lk距離(ユークリッド距離やマンハッタン距離)、コサイン類似度)を類似度としてもよい。検索部105では、クエリ画像の特徴量と検索対象画像の特徴量に対して、距離または類似度を判定してもよい。例えば、複数の距離、複数の距離の正規化値、または、複数のベクトル間における距離(ユークリッド距離やマンハッタン距離など)や類似度(コサイン類似度など)に基づいて類似判定を行ってもよい。
また、算出した複数の距離の長さに応じた人物または物体の各点の序列を特徴量としてもよい。例えば、物体の一点と複数の関節点との距離を用いる場合、各関節点の近さの序列を特徴量としてもよい。例えば、図12Aの検索クエリQ3では、PCに対し人物の各関節点の距離は、手首<足首<頭部の関係であるため、特徴量を(1手首、2足首、3頭部)とする。図12Bの検索対象P5では、PCに対し人物の各関節点の距離は、頭部<手首<足首の関係であるため、特徴量を(1頭部、2手首、3足首)とする。
このような位置関係性特徴量により、例えば、図12Aの検索クエリQ3のようにPCの近くで人物がPC側に手を置いて座っている場合の物体と人物の関係や、図12Bの検索対象P5のようにPCから離れて人物がPCと反対側に手を置いて座っている場合の物体と人物の関係の特徴を示す特徴量を求めることができる。このため、位置関係し特徴量に基づいて類似判断することで、検索クエリQ3と検索対象P5は非類似であると判定できる。
さらに、距離関係性特徴量、向き関係性特徴量、位置関係性特徴量は、三次元空間内での距離、向き、位置関係の特徴量であっても良い。検索クエリや検索対象画像を取得したカメラパラメータを用いることで、人物の姿勢や、人物と物体の三次元空間内での位置関係(距離、向き、位置関係)を推定し、前述した方法によりそれぞれの特徴量を算出しても良い。この場合、画像処理装置100は、画像を撮像したカメラ等からカメラパラメータを取得するカメラパラメータ取得部を備えても良い。例えば、実施の形態1と同様、カメラにより、予め長さや位置が分かっている物体を撮像し、その画像からカメラパラメータを求めてもよい。
図13は、本実施の形態に係る画像処理装置100の動作例を示し、検索対象の画像を取得しデータベースに格納する処理の流れを示している。
図13に示すように、実施の形態1と同様、画像処理装置100は、検索対象の画像を取得すると(S101)、取得した画像における人物の姿勢推定(S102a)及び姿勢特徴量の算出(S103a)を行い、また、取得した画像における物体の認識(S104a)及び物体特徴量の算出(S105a)を行う。
本実施の形態では、S103a及びS105aに続いて、画像処理装置100は、取得した画像における人物と物体との関係に関する関係性特徴量を算出する(S106a)。特徴量算出部104は、検索対象の画像からS102aで姿勢を推定した人物とS104aで認識した物体との関係に基づいて関係性特徴量を算出する。特徴量算出部104は、関係性特徴量として、例えば、上記のように、距離関係性特徴量、向き関係性特徴量、位置関係性特徴量を算出する。特徴量算出部104は、算出した関係性特徴量をデータベース110に格納する。
図14は、本実施の形態に係る画像処理装置100の動作例を示し、図13の処理によりデータベースに格納された検索対象の画像から検索クエリに類似する画像を検索する処理の流れを示している。
図14に示すように、実施の形態1と同様、画像処理装置100は、検索クエリが入力されると(S111)、検索クエリにおける人物の姿勢推定(S102b)及び姿勢特徴量の算出(S103b)を行い、また、検索クエリにおける物体の認識(S104b)及び物体特徴量の算出(S105b)を行う。
本実施の形態では、S103b及びS105bに続いて、画像処理装置100は、検索クエリにおける人物と物体との関係に関する関係性特徴量を算出する(S106b)。特徴量算出部104は、検索クエリの画像からS102bで姿勢を推定した人物とS104bで認識した物体との関係に基づいて関係性特徴量を算出する。検索対象格納時と同様に、特徴量算出部104は、関係性特徴量として、例えば、距離関係性特徴量、向き関係性特徴量、位置関係性特徴量を算出する。
続いて、画像処理装置100は、検索クエリに基づいて画像を検索する(S112)。検索部105は、検索クエリの人物の姿勢特徴量と検索対象の人物の姿勢特徴量との類似度を算出し、検索クエリの物体の物体特徴量と検索対象の物体の物体特徴量との類似度を算出し、さらに、検索クエリの人物と物体の関係性特徴量と検索対象の人物と物体の関係性特徴量の類似度を算出する。検索部105は、求めた姿勢特徴量の類似度、物体特徴量の類似度及び関係性特徴量の類似度に基づいて、画像の類似判定を行う。例えば、検索部105は、求めた姿勢特徴量の類似度、物体特徴量の類似度及び関係性特徴量の類似度それぞれが、閾値よりも大きい画像を類似画像として抽出する。姿勢特徴量の類似度、物体特徴量の類似度及び関係性特徴量の類似度いずれか、または選択された類似度に重みを付けて類似判定を行ってもよい。例えば、求めた姿勢特徴量の類似度、物体特徴量の類似度及び関係性特徴量の類似度のそれぞれに重みを付け(例えば、1.0、0.8、0.5など)、重みを付けた類似度の合計値と閾値を比較して類似判定を行ってもよい。また、重みに応じて各類似度を判定する閾値を変えてもよい。
さらに、検索部105は、関係性特徴量の類似度として、距離関係性特徴量の類似度、向き関係性特徴量の類似度、位置関係性特徴量の類似度(いずれかの特徴量を算出している場合はいずれかの類似度)を算出してもよい。検索部105は、求めた距離関係性特徴量の類似度、向き関係性特徴量の類似度、位置関係性特徴量の類似度を含めて、画像の類似判定を行う。例えば、距離関係性特徴量の類似度、向き関係性特徴量の類似度、位置関係性特徴量の類似度のそれぞれが、閾値よりも大きいか否か判定する。距離関係性特徴量の類似度、向き関係性特徴量の類似度、位置関係性特徴量の類似度のいずれか、または選択された類似度に重みを付けて類似判定を行ってもよい。例えば、求めた距離関係性特徴量の類似度、向き関係性特徴量の類似度、位置関係性特徴量の類似度のそれぞれに重みを付け、重みを付けた類似度の合計値と閾値を比較して類似判定を行ってもよい。また、重みに応じて各類似度を判定する閾値を変えてもよい。
以上のように、本実施の形態では、実施の形態1の構成に加えて、人物と物体との関係に関する関係性特徴量を用いて、類似する画像を検索する。さらに、関係性特徴量として、人物と物体間の距離、人物と物体の向き、人物と物体の位置関係に関する特徴量を用いる。これにより、人物の姿勢及び物体の類似に加えて、人物と物体の関係についても類似している画像を検索できるため、さらに検索したい画像(シーン)に近い画像を検索することができる。
(実施の形態3)
以下、図面を参照して実施の形態3について説明する。本実施の形態では、実施の形態1または2において、さらにHOI検出と組み合わせて類似画像を検索する例について説明する。
図15は、本実施の形態に係る画像処理装置100の構成を示している。図15に示すように、本実施の形態に係る画像処理装置100は、実施の形態1または2の構成に加えて、HOI検出部109を備えている。
HOI検出部109は、非特許文献1に記載のHOI検出を行う。HOI検出部109は、HOI検出により、画像から関連のある人物及び物体のペアと、人物の動詞(例えば、人物とサッカーボールから人物がキックしている等の行動)を検出する。図16は、HOI検出の検出例を示している。図16の例では、画像から関連のある人物と携帯電話(物体)のペアを検出し、人物が電話で通話しているという動詞を検出している。また、HOI検出部109は、HOI検出により検出した人物の動詞の関連性スコア(確信度)を生成する。関連性スコアが高いほど、検出した人物の動詞(人物と物体のペアを含む)が正しい可能性が高い。
なお、HOI検出に限らずその他の機械学習を用いた検出技術により、関連のある人物及び物体のペアと、人物の動詞を検出してもよい。例えば、人物の動詞のラベルを用いて関連のある人物及び物体のペアの画像を機械学習することで、HOI検出と同様の検出を行ってもよい。
また、HOI検出部109は、外部の装置(画像提供装置200やデータベース110、入力部106等)から、予め画像にHOI検出を行ったHOI検出結果を取得してもよい。検索部105は、外部から取得したHOI検出結果を使用して類似判定を行ってもよいし、HOI検出部109のHOI検出処理で検出したHOI検出結果を使用して類似判定を行ってもよい。例えば、検索部105は、第1の画像に基づいてHOI検出処理を行ったHOI検出結果と、外部から取得した第2の画像のHOI検出結果とに基づいて、第1の画像と第2の画像の類似判定を行ってもよい。
図17は、本実施の形態に係る画像処理装置100の動作例を示し、検索対象の画像を取得しデータベースに格納する処理の流れを示している。なお、ここでは、実施の形態2の動作に本実施の形態を適用した例を示すが、実施の形態1の動作に本実施の形態を適用してもよい。
図17に示すように、実施の形態2と同様、画像処理装置100は、検索対象の画像を取得すると(S101)、取得した画像における人物の姿勢推定(S102a)及び姿勢特徴量の算出(S103a)を行うとともに、取得した画像における物体の認識(S104a)及び物体特徴量の算出(S105a)を行い、さらに、取得した画像における人物と物体の関係性特徴量を算出する(S106a)。
また、本実施の形態では、画像処理装置100は、画像取得(S101)に続いて、取得した画像に基づいてHOI検出を行う(S201a)。HOI検出部109は、取得した画像に対しHOI検出を行い、画像における関連のある人物及び物体のペアと、人物の動詞(行動)を検出し、また、検出した人物の動詞の関連性スコア(確信度)を生成する。HOI検出部109は、検出した人物及び物体のペア、人物の動詞、関連性スコアをデータベース110に格納する。
図18は、本実施の形態に係る画像処理装置100の動作例を示し、図17の処理によりデータベースに格納された検索対象の画像から検索クエリに類似する画像を検索する処理の流れを示している。なお、ここでは、実施の形態2の動作に本実施の形態を適用した例を示すが、実施の形態1の動作に本実施の形態を適用してもよい。
図18に示すように、実施の形態2と同様、画像処理装置100は、検索クエリが入力されると(S111)、検索クエリにおける人物の姿勢推定(S102b)及び姿勢特徴量の算出(S103b)を行うとともに、検索クエリにおける物体の認識(S104b)及び物体特徴量の算出(S105b)を行い、さらに、検索クエリにおける人物と物体の関係性特徴量を算出する(S106b)。
また、本実施の形態では、画像処理装置100は、検索クエリの入力(S111)に続いて、HOI検出を行う(S201b)。検索対象格納時と同様、HOI検出部109は、検索クエリの画像に対しHOI検出を行い、画像における関連のある人物及び物体のペアと、人物の動詞を検出し、また、検出した人物の動詞の関連性スコアを生成する。
続いて、画像処理装置100は、検索クエリに基づいて画像を検索する(S112)。検索部105は、S102a~S106a及びS102b~S106bによる姿勢推定結果及び物体認識結果を用いた姿勢-物体検索(第1の類似判断)と、S201a及びS201bによるHOI検出結果を用いたHOI検索(第2の類似判断)を組み合わせて行うことで、類似画像を検索する。
姿勢-物体検索は、実施の形態1または2で示した検索方法である。すなわち、検索対象の画像と検索クエリの画像について、人物の姿勢特徴量の類似度及び物体特徴量の類似度(さらに関係性特徴量の類似度)を求め、求めた類似度により類似判定を行い、類似画像を検索する。
HOI検索は、検索対象の画像に対するHOI検出結果と、検索クエリの画像に対するHOI検出結果の類似度を求め、求めた類似度により類似判定を行い、類似画像を検索する。すなわち、HOI検出により得られる、関連のある人物及び物体のペアと人物の動詞の類似度により類似判定を行い、類似画像を検索する。
検索部105は、姿勢-物体検索とHOI検索のいずれかを選択して検索を行ってもよい。例えば、HOI検出結果の関連性スコア(確信度)に基づいて姿勢-物体検索とHOI検索のいずれかを選択して検索を行う。検索部105は、検索クエリのHOI検出結果の関連性スコアが閾値よりも高い場合、すなわち、検索クエリの画像から確信度の高い動詞が推定されている場合、HOI検索により類似画像を検索する。また、検索部105は、検索クエリのHOI検出結果の関連性スコアが閾値よりも低い場合、すなわち、検索クエリの画像から確信度の高い動詞が推定されていない場合、姿勢-物体検索により類似画像を検索する。
また、検索部105は、姿勢-物体検索とHOI検索の両方を用いて検索を行ってもよい。例えば、HOI検索結果の関連性スコアに基づいて姿勢-物体検索とHOI検索に重みを付けて検索を行う。検索部105は、検索クエリ及び検索対象のHOI検出結果の関連性スコアが閾値よりも高い場合、すなわち、検索クエリの画像及び検索対象の画像の双方から確信度の高い動詞が推定されている場合(通話:0.8など)、HOI検索に重みをつけて類似画像を検索する。また、検索クエリ及び検索対象のHOI検出結果の関連性スコアが閾値よりも低い場合、すなわち、検索クエリの画像及び検索対象の画像の双方から確信度の高い動詞が推定されていない場合(拾う:0.03など)、姿勢-物体検索に重みをつけて類似画像を検索する。
HOI検索結果の関連性スコアに限らず、姿勢推定及び物体認識の確信度(例えば姿勢推定の確信度と物体認識の確信度の平均値)に基づいて、姿勢-物体検索とHOI検索のいずれかを選択したり、姿勢-物体検索とHOI検索に重みを付けてもよい。HOI検索結果の関連性スコアと姿勢推定及び物体認識の確信度の比較結果に応じて、姿勢-物体検索とHOI検索のいずれかを選択したり、姿勢-物体検索とHOI検索に重みを付けてもよい。
また、ユーザが手動で姿勢-物体検索とHOI検索の重みを調整してもよい。例えば、姿勢-物体検索とHOI検索に重みを付ける場合、姿勢-物体検索で使用する類似度とHOI検索で使用する類似度に重みを付けてもよい。人物の姿勢特徴量の類似度及び物体特徴量の類似度(さらに関係性特徴量の類似度)に重みを付け、HOI検出の関連のある人物及び物体のペアと人物の動詞の類似度に重みを付け、重みを付けたいずれかの類似度が閾値よりも大きい画像を抽出してもよいし、重みを付けた類似度の合計が閾値よりも大きい画像を抽出してもよい。
以上のように、本実施の形態では、実施の形態1または2の構成に加えて、HOI検出の検出結果を用いて類似画像を検索する。実施の形態1または2による姿勢-物体検索と、HOI検出によるHOI検索を用いて画像を検索することで、効果的に類似画像を検索できる。
HOI検出では、学習データにある事象しか検索することはできない。例えば交通事故という動詞を学習していない場合、類似画像を検索できない。また、HOI検出では、姿勢を認識していないため、類似度を誤判定する場合がある。例えば、人物とサッカーボールが近くにあると、キックしていない場合でも、キックしていると判定する可能性がある。一方で、HOI検出では、無関係な人物と物体のペアを除外し、関連のある人物と物体のペアに絞り込んで検索が可能である。このため、HOI検出の確信度等に応じて、姿勢-物体検索とHOI検索のいずれか、または、姿勢-物体検索とHOI検索に重みを付けて検索を行うことで、HOI検出のメリットを生かしつつ、HOI検出のデメリットを補い、精度よく類似画像を検索できる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。各装置及び各機能(処理)を、図19に示すような、CPU(Central Processing Unit)等のプロセッサ21及び記憶装置であるメモリ22を有するコンピュータ20により実現してもよい。例えば、メモリ22に実施形態における方法(画像処理方法)を行うためのプログラムを格納し、各機能を、メモリ22に格納されたプログラムをプロセッサ21で実行することにより実現してもよい。
これらのプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
以上、実施の形態を参照して本開示を説明したが、本開示は上記実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第1及び第2の画像に含まれる人物の姿勢を推定した推定結果を取得する姿勢推定取得手段と、
前記第1及び第2の画像に含まれる前記人物以外の物体を認識した認識結果を取得する物体認識取得手段と、
前記人物の姿勢の推定結果と前記物体の認識結果に基づいて、前記第1の画像と前記第2の画像との類似判定を行う類似判定手段と、
を備える、画像処理システム。
(付記2)
前記類似判定手段は、前記人物の姿勢の推定結果に基づいた姿勢特徴量の類似度及び前記物体の認識結果に基づいた物体特徴量の類似度に基づいて、前記類似判定を行う、
付記1に記載の画像処理システム。
(付記3)
前記類似判定手段は、前記姿勢特徴量の類似度及び前記物体特徴量の類似度の重みに基づいて、前記類似判定を行う、
付記2に記載の画像処理システム。
(付記4)
前記類似判定手段は、前記姿勢を推定した人物の確信度と前記推定した物体の確信度に基づいて、前記類似判定を行う、
付記1乃至3のいずれか一項に記載の画像処理システム。
(付記5)
前記第1及び第2の画像は、それぞれ時系列に連続する複数の画像を含み、
前記類似判定手段は、前記推定された人物の姿勢の変化及び前記認識された物体の変化に基づいて、前記類似判定を行う、
付記1乃至4のいずれか一項に記載の画像処理システム。
(付記6)
前記類似判定手段は、前記人物の姿勢の推定結果と前記物体の認識結果に基づいた前記人物と前記物体との関係に基づいて、前記類似判定を行う、
付記1乃至5のいずれか一項に記載の画像処理システム。
(付記7)
前記類似判定手段は、前記人物の姿勢の姿勢特徴量の類似度、前記物体の物体特徴量の類似度、及び前記人物と前記物体の関係に基づいた関係性特徴量の類似度に基づいて、前記類似判定を行う、
付記6に記載の画像処理システム。
(付記8)
前記類似判定手段は、前記姿勢特徴量の類似度、前記物体特徴量の類似度、及び前記関係性特徴量の類似度の重みに基づいて、前記類似判定を行う、
付記7に記載の画像処理システム。
(付記9)
前記人物と前記物体の関係を示す関係性特徴量は、前人物と前記物体の距離に基づいた距離関係性特徴量、前記人物と前記物体の向きに基づいた向き関係性特徴量、前記人物と前記物体の位置関係に基づいた位置関係性特徴量のいずれかを含む、
付記7または8に記載の画像処理システム。
(付記10)
前記距離関係性特徴量で使用する前記人物と前記物体の距離は、前記姿勢を推定した人物を含む人物領域と、前記認識した物体を含む物体領域との距離である、
付記9に記載の画像処理システム。
(付記11)
前記人物と前記物体の距離は、前記人物領域の中心点と前記物体領域の中心点との間の距離、前記人物領域と前記物体領域の最近傍点間の距離、前記人物領域と前記物体領域の最遠方点間の距離、前記人物領域の任意の頂点と前記物体領域の任意の頂点との間の距離のいずれかを含む、
付記10に記載の画像処理システム。
(付記12)
前記距離関係性特徴量は、前記人物と前記物体の距離を正規化パラメータにより正規化した特徴量である、
付記10または11に記載の画像処理システム。
(付記13)
前記正規化パラメータは、前記第1及び第2の画像の画像サイズ、前記推定した人物の姿勢に基づいた前記人物の身長、前記人物領域と前記物体領域のサイズの平均、前記人物領域と前記物体領域の間のIoU(Intersection over Union)のいずれかを含む、
付記12に記載の画像処理システム。
(付記14)
前記人物と前記物体の距離は、前記第1及び第2の画像を撮像したカメラパラメータから求められた三次元空間における距離である、
付記10乃至13のいずれか一項に記載の画像処理システム。
(付記15)
前記向き関係性特徴量で使用する人物の向きは、前記推定した人物の姿勢に基づいた前記人物の体の向き、前記人物の画像から認識される前記人物の顔の向き、前記人物の画像から認識される前記人物の視線の向きのいずれかを含む、
付記9乃至14のいずれか一項に記載の画像処理システム。
(付記16)
前記向き関係性特徴量は、前記人物の向きと、前記人物と前記物体とを結ぶ線の向きとの類似度に基づいた特徴量である、
付記15に記載の画像処理システム。
(付記17)
前記人物の向きは、前記第1及び第2の画像を撮像したカメラパラメータから求められた三次元空間における向きである、
付記15または16に記載の画像処理システム。
(付記18)
前記位置関係性特徴量で使用する位置関係は、前記姿勢を推定した人物及び前記推定した物体のうちの一方における一点と他方における複数の点との間の位置関係である、
付記9乃至17のいずれか一項に記載の画像処理システム。
(付記19)
前記人物における点は、前記推定した人物の姿勢に基づいた前記人物の関節点である、
付記18に記載の画像処理システム。
(付記20)
前記一点と複数の点との間の位置関係は、前記人物の点と前記物体の点とを結ぶ複数の線の距離、前記複数の線の距離の正規化値、前記複数の線のベクトルのいずれかを含む、
付記18または19に記載の画像処理システム。
(付記21)
前記類似判定手段は、前記複数の線における距離の類似度、前記複数の線における距離の正規化値の類似度、前記複数の線におけるベクトルの類似度のいずれかに基づいて類似判定を行う、
付記20に記載の画像処理システム。
(付記22)
前記位置関係性特徴量は、前記複数の線の距離に応じた、前記人物または前記物体の複数の点の序列を示す、
付記20に記載の画像処理システム。
(付記23)
前記一点と複数の点との間の位置関係は、前記第1及び第2の画像を撮像したカメラパラメータから求められた三次元空間における位置関係である、
付記18乃至22のいずれか一項に記載の画像処理システム。
(付記24)
前記第1及び第2の画像に対するHOI(Human Object Interaction)検出のHOI検出結果を取得するHOI検出取得手段を備え、
前記類似判定手段は、前記人物の姿勢の推定結果と前記物体の認識結果に基づいた第1の類似判断と、前記HOI検出結果に基づいた第2の類似判断を行う、
付記1乃至23のいずれか一項に記載の画像処理システム。
(付記25)
前記HOI検出取得手段は、前記第1または第2の画像に基づいて、記第1または第2の画像に対しHOI検出を行う、
付記24に記載の画像処理システム。
(付記26)
前記類似判定手段は、前記第1の画像に基づいてHOI検出を行ったHOI検出結果と、前記取得した前記第2の画像のHOI検出結果とに基づいて、前記第2の類似判断を行う、
付記24または25に記載の画像処理システム。
(付記27)
前記類似判定手段は、前記HOI検出の検出結果の確信度に応じて、前記第1の類似判断と前記第2の類似判断のいずれか、または、前記第1の類似判断と前記第2の類似判断に重みを付けて類似判断を行う、
付記24乃至26のいずれか一項に記載の画像処理システム。
(付記28)
前記第1の画像は、クエリ画像であり、
前記第2の画像は、複数の検索対象画像を含み、
前記類似判定手段は、前記類似判定の結果に基づいて、前記複数の検索対象画像から前記クエリ画像に類似する画像を検索する、
付記1乃至27のいずれか一項に記載の画像処理システム。
(付記29)
前記複数の検索対象画像における前記人物の姿勢の推定結果と前記物体の認識結果を格納するデータベースを備え、
前記類似判定手段は、前記データベースを参照し、前記複数の検索対象画像から前記クエリ画像に類似する画像を検索する、
付記28に記載の画像処理システム。
(付記30)
前記姿勢推定取得手段は、前記第1または第2の画像に基づいて、前記第1または第2の画像に含まれる人物の姿勢を推定し、
前記物体認識取得手段は、前記第1または第2の画像に基づいて、前記第1または第2の画像に含まれる物体を認識する、
付記1乃至29のいずれか一項に記載の画像処理システム。
(付記31)
前記姿勢推定取得手段は、前記第1または第2の画像に基づいて、前記第1または第2の画像に含まれる人物の姿勢として前記人物の骨格構造を推定する、
付記30に記載の画像処理システム。
(付記32)
前記物体認識取得手段は、前記第1及び第2の画像に基づいて、前記第1または第2の画像に含まれる物体の物体クラスを認識する、
付記30または31に記載の画像処理システム。
(付記33)
前記類似判定手段は、前記第1の画像に基づいて推定した人物の姿勢の推定結果及び前記第1の画像に基づいて認識した物体の認識結果と、前記取得した前記第2の画像の人物の姿勢の推定結果及び前記取得した前記第2の画像の物体の認識結果とに基づいて、前記類似判定を行う、
付記30乃至32のいずれか一項に記載の画像処理システム。
(付記34)
第1及び第2の画像に含まれる人物の姿勢を推定した推定結果を取得し、
前記第1及び第2の画像に含まれる前記人物以外の物体を認識した認識結果を取得し、
前記人物の姿勢の推定結果と前記物体の認識結果に基づいて、前記第1の画像と前記第2の画像との類似判定を行う、
画像処理方法。
(付記35)
第1及び第2の画像に含まれる人物の姿勢を推定した推定結果を取得し、
前記第1及び第2の画像に含まれる前記人物以外の物体を認識した認識結果を取得し、
前記人物の姿勢の推定結果と前記物体の認識結果に基づいて、前記第1の画像と前記第2の画像との類似判定を行う、
処理をコンピュータに実行させるための画像処理プログラムが格納された非一時的なコンピュータ可読媒。