(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】情報処理装置、情報処理方法、情報処理プログラム、および算出方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20241004BHJP
G06T 7/70 20170101ALI20241004BHJP
【FI】
G06T7/00 300D
G06T7/70 A
(21)【出願番号】P 2020134460
(22)【出願日】2020-08-07
【審査請求日】2023-07-05
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】奥田 誠
(72)【発明者】
【氏名】佐藤 真一
(72)【発明者】
【氏名】佐藤 洋一
(72)【発明者】
【氏名】木俵 豊
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2011-003156(JP,A)
【文献】特表2014-527233(JP,A)
【文献】Zhenzhen Wang and Junsong Yuan,Simultaneously Discovering and Localizing Common Objects in Wild Images,IEEE Transactions on Image Processing,米国,IEEE,2018年05月25日,Vol. 27, No.9,pp.4503-4515,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8365833
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
物体を被写体として含む画像の集合である物体画像セットを取得する取得手段と、
前記物体画像セットに含まれる各画像から1または複数の物体候補領域を抽出する抽出手段と、
前記抽出された物体候補領域の各々をノードに対応付けるとともに、類似性が認められる2つの物体候補領域に対応付けられた2つのノード間にエッジを設定することで、マッチグラフを構築する構築手段と、
前記マッチグラフのコミュニティ構造を反映したノード中心性に基づいて、前記抽出された物体候補領域のうち、前記物体画像セットに含まれる物体を被写体として含む物体候補領域を決定する決定手段と
、
前記マッチグラフに含まれる各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながら前記マッチグラフ内を順次移動することで通過経路を取得し、当該取得した通過経路に含まれる通過したユニークなノード数の増加が所定の鈍化状態になると、前記マッチグラフ内の順次移動を制止し、各ノードを出発点とした場合に取得されたそれぞれの通過経路における各ノードの通過頻度に基づいて、当該ノードのノード中心性を決定する手段とを備える、情報処理装置。
【請求項2】
前記マッチグラフは、方向性をもつエッジを含み、
前記エッジの各々は、入り先のノードに対応する重みが付与されている、請求項1に記載の情報処理装置。
【請求項3】
前記所定の鈍化状態は、現在の通過数が第1のしきい値以上であり、かつ、通過数が前記第1のしきい値より小さいときのユニークなノード数からの現在のユニークなノード数の増加数が第2のしきい値以下である状態を含む、請求項1または2に記載の情報処理装置。
【請求項4】
物体を被写体として含む画像の集合である物体画像セットを取得するステップと、
前記物体画像セットに含まれる各画像から1または複数の物体候補領域を抽出するステップと、
前記抽出された物体候補領域の各々をノードに対応付けるとともに、類似性が認められる2つの物体候補領域に対応付けられた2つのノード間にエッジを設定することで、マッチグラフを構築するステップと、
前記マッチグラフのコミュニティ構造を反映したノード中心性に基づいて、前記抽出された物体候補領域のうち、前記物体画像セットに含まれる物体を被写体として含む物体候補領域を決定するステップと
、
前記マッチグラフに含まれる各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながら前記マッチグラフ内を順次移動することで通過経路を取得し、当該取得した通過経路に含まれる通過したユニークなノード数の増加が所定の鈍化状態になると、前記マッチグラフ内の順次移動を制止し、各ノードを出発点とした場合に取得されたそれぞれの通過経路における各ノードの通過頻度に基づいて、当該ノードのノード中心性を決定するステップとを備える、情報処理方法。
【請求項5】
請求項4に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
【請求項6】
ノード中心性を算出するための算出方法であって、
ノードおよびエッジを含むグラフにおいて、各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながら前記グラフ内を順次移動するステップと、
前記グラフ内を順次移動することで取得される通過経路に含まれる通過したユニークなノード数の増加が所定の鈍化状態になると、当該グラフ内の順次移動を制止するステップと、
各ノードを出発点とした場合に取得されたそれぞれの通過経路における各ノードの通過頻度に基づいて、当該ノードのノード中心性を決定するステップとを備える、算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、物体画像セットに多く含まれる物体の検出および検出された物体が存在する位置の推定に係る。
【背景技術】
【0002】
近年、ディープラーニングなどの機械学習技術の発展により、高速で正確な画像認識が可能となった。しかしながら、高速で正確な画像認識を実現するためには、各画像に物体名および物体位置などをラベリングした教師データセットを用意する必要がある。一般的に、教師データセットの用意には、多大な労力が必要である。
【0003】
例えば、非特許文献1に開示される画像セットのクラスタリング手法を用いることで、画像セットに含まれる各画像に対する物体名のラベリングを容易化できる。また、非特許文献2および非特許文献3は、教師なしで画像セット中に多く含まれる物体を検出し、検出した各物体が存在する画像中の位置を推定する手法を開示する。
【先行技術文献】
【非特許文献】
【0004】
【文献】M. Okuda et al., "Community Detection Using Restrained Random-walk Similarity," in IEEE Transactions on Pattern Analysis and Machine Intelligence, doi:10.1109/TPAMI.2019.2926033, 2019
【文献】M. Cho et al., "Unsupervised Object Discovery and Localization in the Wild: Part-based Matching with Bottom-up Region Proposals," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp.1201-1210, 2015
【文献】Z. Wang and J. Yuan, "Simultaneously Discovering and Localizing Common Objects in Wild Images," IEEE Transactions on Image Processing, vol.27, no.9, pp.4503-4515, 2018
【文献】M. Rubinstein et al., "Unsupervised Joint Object Discovery and Segmentation in Internet Images," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp.1939-1946, 2013
【文献】M. Everingham et al., "The PASCAL Visual Object Classes Challenge 2007 (VOC2007) Results," [online], [2020年7月2日検索], インターネット<http://www.pascal-network.org/challenges/VOC/voc2007/workshop/index.html>
【文献】T. Weyand and B. Leibe, "Visual Landmark Recognition from Internet Photo Collections: A Large-scale Evaluation," Computer Vision and Image Understanding, vol.135, pp.1-15, 2015
【文献】F. Radenovic et al., "Revisiting Oxford and Paris: Large-scale Image Retrieval Benchmarking," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp.5706-5715, 2018
【文献】C.L. Zitnick and P. Dollar, "Edge Boxes: Locating Object Proposals from Edges," Proceedings of the European Conference on Computer Vision, pp.391-405, 2014
【文献】L.C. Freeman, "Centrality in Social Networks Conceptual Clarification," Social Networks, vol.1, no.3, pp.215-239, 1979
【文献】P. Bonacich, "Power and Centrality: A Family of Measures," American Journal of Sociology, vol.92, no.5, pp.1170-1182, 1987
【文献】S. Brin and L. Page, "The Anatomy of a Large-scale Hypertexture Web Search Engine," Computer Networks and ISDN Systems, vol.30, pp.107-117, 1998
【文献】Xingqin Qi et al., "Terrorist Networks, Network Energy and Node Removal: A New Measure of Centrality Based on Laplacian Energy," Social Networking, doi:10.4236/sn.2013.21003, 2013
【文献】N. Gupta et al., "Centrality Measures for Networks with Community Structure," Physica A: Statistical Mechanics and its Applications, vol.452, pp.46-59, 2016
【文献】R. Saxena et al., "Social Centrality Using Network Hierarchy and Community Structure," Data Mining and Knowledge Discovery, vol.32, pp.1421-1443, 2018
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の非特許文献2および非特許文献3に開示される手法に比較して、画像セットに多く含まれる物体検出の精度を高める手法が要望されている。
【課題を解決するための手段】
【0006】
本発明のある局面に従う情報処理装置は、物体を被写体として含む画像の集合である物体画像セットを取得する取得手段と、物体画像セットに含まれる各画像から1または複数の物体候補領域を抽出する抽出手段と、抽出された物体候補領域の各々をノードに対応付けるとともに、類似性が認められる2つの物体候補領域に対応付けられた2つのノード間にエッジを設定することで、マッチグラフを構築する構築手段と、マッチグラフのコミュニティ構造を反映したノード中心性に基づいて、抽出された物体候補領域のうち、物体画像セットに含まれる物体を被写体として含む物体候補領域を決定する決定手段とを含む。
【0007】
情報処理装置は、物体画像セットに含まれる物体を被写体として含む物体候補領域として決定された物体候補領域が存在する画像中の位置を出力する出力手段を含んでいてもよい。
【0008】
抽出手段は、抽出された物体候補領域の物体らしさを示すスコアを算出してもよい。
マッチグラフは、抽出された物体候補領域の各々について算出された物体らしさを示すスコアに基づいて重み付けされていてもよい。
【0009】
マッチグラフは、方向性をもつエッジを含み、エッジの各々は、入り先のノードに対応する重みが付与されていてもよい。
【0010】
情報処理装置は、マッチグラフに含まれる各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながらマッチグラフ内を順次移動することで通過経路を取得し、当該取得した各ノードの通過経路に基づいて、ノード中心性を算出する手段をさらに含んでいてもよい。
【0011】
決定手段は、物体画像セットに含まれる各画像から抽出された複数の物体候補領域のうち、最も高いノード中心性を示す物体候補領域を、物体画像セットに含まれる物体を被写体として含む物体候補領域として決定するようにしてもよい。
【0012】
構築手段は、物体画像セットに含まれる同一の画像から抽出された物体候補領域に対応するノード間にはエッジを設定しないようにしてもよい。
【0013】
構築手段は、画像特徴量に基づく画像類似度が予め定められた条件を満たす2つの物体候補領域の組を決定する手段と、決定された2つの物体候補領域の組について局所特徴点が照合するか否かを判断する手段と、局所特徴点が照合する2つの物体候補領域の組に対応するノード間にエッジを設定する手段とを含んでいてもよい。
【0014】
本発明の別の局面に従う情報処理方法は、物体を被写体として含む画像の集合である物体画像セットを取得するステップと、物体画像セットに含まれる各画像から1または複数の物体候補領域を抽出するステップと、抽出された物体候補領域の各々をノードに対応付けるとともに、類似性が認められる2つの物体候補領域に対応付けられた2つのノード間にエッジを設定することで、マッチグラフを構築するステップと、マッチグラフのコミュニティ構造を反映したノード中心性に基づいて、抽出された物体候補領域のうち、物体画像セットに含まれる物体を被写体として含む物体候補領域を決定するステップとを含む。
【0015】
本発明のさらに別の局面に従えば、上記の情報処理方法をコンピュータに実行させるための情報処理プログラムが提供される。
【0016】
本発明のさらに別の局面に従えば、ノード中心性を算出するための算出方法が提供される。算出方法は、ノードおよびエッジを含むグラフにおいて、各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながらグラフ内を順次移動するステップと、グラフ内を順次移動することで取得される通過経路に含まれる通過したユニークなノード数の増加が所定の鈍化状態になると、当該グラフ内の順次移動を制止するステップと、各ノードを出発点とした場合に取得されたそれぞれの通過経路における各ノードの通過頻度に基づいて、当該ノードのノード中心性を決定するステップとを含む。
【発明の効果】
【0017】
本発明によれば、従来手法に比較して、画像セットに含まれる物体検出の精度を高めることができる。
【図面の簡単な説明】
【0018】
【
図1】本実施の形態に従う物体検出・位置推定方法の概要を説明するための図である。
【
図2】本実施の形態に従う物体検出・位置推定方法の処理手順を示すフローチャートである。
【
図3】本実施の形態に従う情報処理装置のハードウェア構成の一例を示す模式図である。
【
図4】本実施の形態に従う物体検出・位置推定方法における局所特徴点の照合例を示す図である。
【
図5】本実施の形態に従う物体検出・位置推定方法における局所特徴点の照合処理を示す図である。
【
図6】本実施の形態に従う物体検出・位置推定方法におけるマッチグラフの構築に係る詳細な処理手順を示すフローチャートである。
【
図7】本実施の形態に従う物体検出・位置推定方法におけるマッチグラフの変換を説明するための図である。
【
図8】本実施の形態に従う物体検出・位置推定方法におけるランダムウォーク中心性を説明するための図である。
【
図9】
図8のウォーカの移動に伴う通過ユニークノードの数の変化を示す図である。
【
図10】本実施の形態に従う物体検出・位置推定方法における抑制ランダムウォーク中心性を算出するための処理手順を示すフローチャートである。
【
図11】本実施の形態に従う物体検出・位置推定方法における物体検出および位置推定に係る処理手順を示すフローチャートである。
【
図12】本実施の形態に従う物体検出・位置推定方法による推定結果のいくつかの例を示す図である。
【
図13】本実施の形態に従う物体検出・位置推定方法の性能を従来手法と比較した結果の一例を示す。
【
図14】本実施の形態に従う物体検出・位置推定方法の性能をノード中心性の評価方法毎に比較した結果の一例を示す。
【
図15】本実施の形態に従う物体検出・位置推定方法を用いた観光支援アプリケーションの提供例を説明するための図である。
【発明を実施するための形態】
【0019】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0020】
<A.概要>
本実施の形態に従う物体検出・位置推定方法は、物体を被写体として含む画像の集合である物体画像セットに適用可能である。本明細書において、「物体画像セット」は、主として、任意の物体を被写体として含む画像の集合を意味するが、明確な物体を被写体としない画像(例えば、不鮮明な画像や被写体のサイズが大き過ぎるあるいは小さ過ぎる画像など)を含んでいてもよい。
【0021】
「物体画像セット」は、「一般物体画像セット」および「特定物体画像セット」を含み得る。
【0022】
「一般物体画像セット(a set of general object images)」は、「飛行機」や「馬」といった抽象的なカテゴリに分類される物体画像を多数含む画像セットを意味する。一般物体画像セットは、同じカテゴリに属する物体を含む画像の集合である。一般物体画像セットとしては、例えば、「Object Discovery dataset」(非特許文献4など参照)および「PASCAL VOC dataset」(非特許文献5など参照)が知られている。
【0023】
「特定物体画像セット(a set of specific object images)」は、特定の物体を被写体として含む画像の集合である。具体的には、特定物体画像セットは、「東大寺大仏殿」や「東大寺盧舎那仏像」といった特定の物体画像を多数含む画像セットを意味する。特定物体画像セットとしては、例えば、「日本寺社データセット」(非特許文献1など参照)、「Paris 500k」(非特許文献6など参照)、および「Oxford and Paris dataset」(非特許文献7など参照)が知られている。
【0024】
本実施の形態に従う物体検出・位置推定方法は、物体画像セット中の画像に多く含まれる物体を検出するとともに、検出した各物体が存在する画像中の位置を推定する。
【0025】
以下では、説明の便宜上、特定物体画像セットを対象とした場合の処理例について説明するが、一般物体画像セットについても適用可能である。一般物体画像セットに適用する場合には、特定物体画像セットに適用する場合に比較して、いくつかの処理が異なるので、この点については後述する。
【0026】
図1は、本実施の形態に従う物体検出・位置推定方法の概要を説明するための図である。
図1を参照して、まず、任意の特定物体画像セット10が用意される(特定物体画像セット)。
【0027】
続いて、特定物体画像セット10に含まれる各画像から物体候補領域12を抽出する(物体候補領域)。1つの画像から複数の物体候補領域12が抽出される場合もある。そのため、特定物体画像セット10からは複数の物体候補領域12が抽出されることになる。
【0028】
次に、特定物体画像セット10から抽出された複数の物体候補領域12を用いてマッチグラフ20を構築する(マッチグラフ)。本明細書において、「マッチグラフ」は、対象の物体画像セットに含まれる画像間の類似性をエッジおよびノードからなるグラフ構造として反映したグラフを意味する。マッチグラフ20においては、各物体候補領域12がノードに対応付けられる。類似性が認められる2つの物体候補領域12間には、対応する2つのノード間の結合(エッジ)が設定される。すなわち、マッチグラフ20の各エッジ(2つのノード間の結合)は、両端のノードに対応する物体候補領域12間に類似性がある(類似した模様が存在する)ことを意味する。
【0029】
典型例として、特定物体画像セット10に含まれる各画像から1または複数の物体候補領域12を抽出し、ノードが物体候補領域12を示し、エッジが物体候補領域12間の局所特徴点の照合を示すマッチグラフ20を構築する。
【0030】
このように、抽出された物体候補領域12の数と同数のノードと、類似性を有する任意の物体候補領域12の組に対応するエッジとを含むマッチグラフ20が構築される。
【0031】
次に、構築されたマッチグラフ20に含まれるノードを評価する(ノード評価)。ノードの評価手法として、例えば、マッチグラフ20のコミュニティ構造を反映したノード中心性に基づいて、物体候補領域12のうち特定物体画像セット10を代表するものを決定する。
【0032】
上述したように、類似性を有する物体候補領域12間にはエッジが存在することになるので、マッチグラフ20において、より多くエッジを有しているノード(物体候補領域12)ほど、多くの他の物体候補領域12との類似性が高いことを意味する。また、被写体が同じ物体候補領域12の集合は、より多くの類似性を示すことになるため、コミュニティを形成することになる。なお、「コミュニティ」は、エッジが密な部分グラフを意味する。
【0033】
ここで、「コミュニティ構造を反映したノード中心性」とは、各ノードがマッチグラフ20内でどれだけ中心にあるかを示す値を意味する。コミュニティ構造を反映して決定されたノード中心性を用いた場合には、ノード中心性が高いノードほどマッチグラフ20内でより中心に存在すると考えられ、コミュニティを代表するノードであると考えることができる。
【0034】
マッチグラフ20に含まれる各ノードのノード中心性を評価することで、コミュニティの存在、および、コミュニティを代表する物体候補領域12を検出できる(物体検出)。さらに、検出した物体が存在する画像中の位置(物体領域)を推定する(位置推定)。
【0035】
異なる物体を被写体とする物体候補領域12間には、まれに誤照合などによって生成されたエッジが存在するのみであるので、エッジはスパースとなる。したがって、特定物体画像セット10から構築されたマッチグラフ20は、コミュニティ構造を有するグラフとなる。
【0036】
本実施の形態に従う物体検出・位置推定方法は、検出すべき物体を被写体として含む物体候補領域12は大きなコミュニティの中心に集中する性質があることに着目する。マッチグラフ20中の各ノード(物体候補領域12)は、コミュニティ構造を有するグラフのノード中心性により評価できる。そして、各画像から抽出された物体候補領域12の中で相対的に高いノード中心性を示す物体候補領域12の被写体が物体として検出され、さらに検出された物体候補領域12の位置が推定結果として出力される。
【0037】
図2は、本実施の形態に従う物体検出・位置推定方法の処理手順を示すフローチャートである。
図2に示す各ステップは、典型的には、後述するようなコンピュータの一種である情報処理装置が実行するようにしてもよい。この場合、情報処理装置がプログラムを実行することで、各ステップに係る処理が実現されてもよい。
【0038】
図2を参照して、情報処理装置は、特定物体画像セット10を取得する(ステップS1)。特定物体画像セット10の取得方法としては、任意の方法を採用できる。
【0039】
情報処理装置は、取得した特定物体画像セット10に含まれる各画像から物体候補領域12を抽出する。さらに、情報処理装置は、抽出した物体候補領域12の「物体らしさ」を示すスコア(以下、単に「物体らしさスコア」とも称す。)を算出する(ステップS2)。このように、情報処理装置は、特定物体画像セット10に含まれる各画像から1または複数の物体候補領域12を抽出するとともに、当該抽出された物体候補領域12の物体らしさを示すスコアを算出する。
【0040】
続いて、情報処理装置は、抽出した物体候補領域12の各々をノードに割り当てるとともに、類似性を有する2つの物体候補領域12の間にエッジを設定することで、マッチグラフ20を構築する(ステップS3)。このように、情報処理装置は、抽出された物体候補領域12の各々をノードに対応付けるとともに、類似性が認められる2つの物体候補領域12に対応付けられた2つのノード間にエッジを設定することで、マッチグラフ20を構築する。
【0041】
情報処理装置は、構築したマッチグラフ20のノード中心性を算出する(ステップS4)。そして、情報処理装置は、算出されたノード中心性に基づいて、1または複数の物体候補領域12を特定物体画像セット10に含まれる物体として検出する(ステップS5)。このように、情報処理装置は、マッチグラフ20のノード中心性に基づいて、抽出された物体候補領域12のうち、特定物体画像セット10に多く含まれる物体を被写体として含む物体候補領域12を決定する。
【0042】
なお、特定物体画像セット10に多く含まれる物体とは、特定物体画像セット10に被写体として含まれる物体のうち、頻出頻度が相対的に高い物体を意味する。
【0043】
併せて、情報処理装置は、物体として検出した物体候補領域12が対応する画像から抽出された位置を、検出した物体が存在する画像中の位置(物体領域)として決定する(ステップS6)。このように、情報処理装置は、特定物体画像セット10に多く含まれる物体を被写体として含む物体候補領域12として決定された物体候補領域12が存在する画像中の位置を出力する。
【0044】
以上のような処理手順によって、物体検出および位置推定の処理が完了する。
各ステップの詳細については、後述する。
【0045】
<B.情報処理装置の構成例>
次に、本実施の形態に従う物体検出・位置推定方法を実現するためのハードウェア構成の一例について説明する。
【0046】
図3は、本実施の形態に従う情報処理装置100のハードウェア構成の一例を示す模式図である。典型的には、情報処理装置100は、パーソナルコンピュータなどの汎用コンピュータを用いて実現される。
【0047】
図3を参照して、情報処理装置100は、主要なハードウェアコンポーネントとして、プロセッサ102と、主メモリ104と、ディスプレイ106と、入力デバイス108と、ネットワークインターフェイス(I/F:interface)110と、光学ドライブ112と、補助記憶装置120とを含む。これらのコンポーネントは、内部バス116を介して互いに接続される。
【0048】
プロセッサ102は、後述するような各種プログラムを実行することで、本実施の形態に従う物体検出・位置推定方法に必要な処理を実現する演算主体であり、例えば、1または複数のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。複数のコアを有するようなCPUまたはGPUを用いてもよい。
【0049】
主メモリ104は、プロセッサ102がプログラムを実行するにあたって、プログラムコードやワークデータなどを一時的に格納する記憶領域であり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性メモリデバイスなどで構成される。
【0050】
ディスプレイ106は、処理に係るユーザインターフェイスや処理結果などを出力するデバイスであり、例えば、LCD(Liquid Crystal Display)や有機EL(electroluminescence)ディスプレイなどで構成される。入力デバイス108は、ユーザからの指示や操作を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。
【0051】
ネットワークインターフェイス110は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りするためのコンポーネントであり、例えば、イーサネット(登録商標)、無線LAN(Local Area Network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
【0052】
光学ドライブ112は、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)などの光学ディスク114に格納されている情報を読出して、内部バス116を介して他のコンポーネントへ出力する。光学ディスク114は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ112が光学ディスク114からプログラムを読み出して、補助記憶装置120などにインストールすることで、パーソナルコンピュータなどの汎用コンピュータが情報処理装置100として機能するようになる。したがって、本発明の主題は、補助記憶装置120などにインストールされたプログラム自体、または、本実施の形態に従う物体検出・位置推定方法を実現するためのプログラムを格納した光学ディスク114などの記録媒体でもあり得る。
【0053】
図3には、非一過的な記録媒体の一例として、光学ディスク114などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(Magneto-Optical disk)などの光磁気記録媒体を用いてもよい。
【0054】
補助記憶装置120は、プロセッサ102にて実行されるプログラム、プログラムが処理対象とする入力データ、および、プログラムの実行により生成される出力データなどを格納するコンポーネントであり、例えば、ハードディスク、SSD(Solid State Drive)などの不揮発性記憶装置で構成される。補助記憶装置120には、典型的には、図示しないOS(Operating System)の他、物体候補領域抽出プログラム122、画像照合プログラム124、マッチグラフ構築プログラム126、ノード中心性評価プログラム128、および、特定物体画像セット10などが格納される。
【0055】
物体候補領域抽出プログラム122は、特定物体画像セット10に含まれる各画像から物体候補領域12を抽出する処理を担当する。
【0056】
画像照合プログラム124は、物体候補領域12の間で画像照合処理を担当する。
マッチグラフ構築プログラム126は、画像照合プログラム124による画像照合処理の結果に基づいて、物体候補領域抽出プログラム122により抽出された物体候補領域12を反映したマッチグラフ20を構築する。
【0057】
ノード中心性評価プログラム128は、マッチグラフ構築プログラム126により構築されたマッチグラフ20のノード中心性を評価して、特定物体画像セット10に含まれる物体を検出するとともに、位置を推定する。
【0058】
物体候補領域抽出プログラム122、画像照合プログラム124、マッチグラフ構築プログラム126、および、ノード中心性評価プログラム128は、本実施の形態に従う物体検出・位置推定方法に係る処理をコンピュータに実行させるための情報処理プログラムの少なくとも一部に相当する。
【0059】
なお、物体候補領域抽出プログラム122、画像照合プログラム124、マッチグラフ構築プログラム126、および、ノード中心性評価プログラム128をプロセッサ102で実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールを用いて代替するようにしてもよい。この場合には、本実施の形態に従う物体検出・位置推定方法を実現するために必要なプログラムモジュールのすべてが記録媒体に格納されるわけではないが、OSの実行環境下にインストールされることで、本実施の形態に従う情報処理装置100を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【0060】
物体候補領域抽出プログラム122、画像照合プログラム124、マッチグラフ構築プログラム126、および、ノード中心性評価プログラム128は、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【0061】
図3には、単一の情報処理装置が情報処理装置100を構成する例を示すが、これに限らず、ネットワークを介して接続された複数の情報処理装置が明示的または黙示的に連携して、本実施の形態に従う情報処理装置100を実現するようにしてもよい。
【0062】
なお、
図3には、物体検出および位置推定の対象となる特定物体画像セット10が補助記憶装置120に格納される例を示すが、特定物体画像セット10をネットワーク上の1または複数のサーバ装置に格納するようにしてもよい。
【0063】
さらに、コンピュータ(プロセッサ102)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などを用いて実現してもよい。
【0064】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置100を実現できるであろう。
【0065】
以下、本実施の形態に従う物体検出・位置推定方法に係る処理について詳述する。
<C.特定物体画像セットの取得(ステップS1)>
特定物体画像セット10を取得する方法としては、「日本寺社データセット」(非特許文献1など参照)、「Paris 500k」(非特許文献6など参照)、および「Oxford and Paris dataset」(非特許文献7など参照)などの既存の特定物体画像セット10を利用することができる。
【0066】
特定物体画像セット10を取得する別の方法としては、例えば、Web上の検索エンジン、画像データベース、SNS(Social Network Service)において、「東大寺」や「日光東照宮」といった観光地の名称を検索クエリとして入力し、その検索結果を特定物体画像セット10としてもよい。
【0067】
なお、特定物体画像セット10については、どのような方法で取得してもよい。
<D.物体候補領域の抽出および物体らしさスコアの算出(ステップS2)>
特定物体画像セット10に含まれる各画像から物体候補領域12を抽出するとともに、物体らしさスコアを算出する方法としては、任意の方法を採用できるが、例えば、非特許文献8に開示される方法を採用してもよい。
【0068】
より具体的には、各画像に含まれる画像特徴量を算出し、算出した画像特徴量に基づいて1または複数の物体候補領域12が抽出される。抽出された物体候補領域12の各々について、物体らしさスコアが算出される。最終的には、各画像については、1または複数の物体候補領域12(領域を特定する座標情報を含む)と、対応する物体らしさスコアとのセットが出力される。
【0069】
基本的には、1つの画像から複数の物体候補領域12が抽出されることになる。また、1つの画像から抽出される物体候補領域12同士が一部重なることもある。
【0070】
なお、1つの画像から抽出される物体候補領域12の数を制限するようにしてもよいし、物体らしさスコアが予め定められた基準を満たす物体候補領域12だけを選択的に出力するようにしてもよい。
【0071】
また、抽出される物体候補領域12に関連する属性情報(例えば、抽出元の画像に付与されたメタ情報)を併せて出力するようにしてもよい。
【0072】
<E.マッチグラフの構築(ステップS3)>
物体候補領域12間の類似性を評価した上で、マッチグラフが構築される。物体候補領域12間の類似性として、本実施の形態に従う物体検出・位置推定方法においては、局所特徴点の照合の有無を用いる。
【0073】
図4は、本実施の形態に従う物体検出・位置推定方法における局所特徴点の照合例を示す図である。
図4には、物体候補領域12-1の被写体と物体候補領域12-2の被写体との間で照合する局所特徴点の例を示す。
【0074】
物体候補領域12-1から局所特徴点12-1A~12-1Dが抽出されるとともに、物体候補領域12-2から局所特徴点12-2A~12-2Dが抽出される。そして、局所特徴点12-1A~12-1Dは、局所特徴点12-2A~12-2Dとそれぞれ局所特徴点が照合していると判断されている。
【0075】
局所特徴点の照合を効率的に行うために、2段階の画像照合を行うようにしてもよい。例えば、先に、類似する画像特徴量を示す物体候補領域12の組を抽出し、抽出した物体候補領域12の組について、局所特徴点が照合するか否かを評価してもよい。
【0076】
より具体的には、先に、物体候補領域12の各々について画像特徴量を算出し、算出した画像特徴量に基づいて画像類似度を算出する。算出する画像特徴量としては、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて算出されるCNN特徴量などを採用してもよい。
【0077】
画像特徴量に基づく画像類似度を算出する方法としては、正規化相互相関、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)などの任意の手法を採用できる。
【0078】
そして、画像類似度が相対的に大きな物体候補領域12の組について、局所特徴点の照合が行われる。そして、局所特徴点が照合する物体候補領域12の組が抽出される。局所特徴点を照合するためには、例えば、SURF(Speeded-Up Robust Features)特徴量やSIFT(Scale-Invariant Feature Transform)特徴量などの局所特徴量を用いることができる。このようなSURF特徴量あるいはSIFT特徴量を用いることで、局所特徴点が照合するか否かを評価できる。
【0079】
このように、情報処理装置は、画像特徴量に基づく画像類似度が予め定められた条件を満たす2つの物体候補領域12の組を決定し、当該決定された2つの物体候補領域12の組について局所特徴点が照合するか否かを判断する。そして、情報処理装置は、局所特徴点が照合する2つの物体候補領域12の組に対応するノード間にエッジを設定する。
【0080】
なお、同一の画像から抽出された物体候補領域12間については、算出される画像類似度を強制的にゼロに設定してもよい。このような処理を採用することで、同一の画像から抽出された物体候補領域12間については、局所特徴点の照合は行われず、異なる画像からそれぞれ抽出された物体候補領域12間についてのみ局所特徴点の照合が行われるようになる。すなわち、情報処理装置は、特定物体画像セット10に含まれる同一の画像から抽出された物体候補領域12に対応するノード間にはエッジを設定しない。
【0081】
このような処理を採用することで、構築されるマッチグラフ20が画像間の関係をより適切に表現できるようになる。
【0082】
図5は、本実施の形態に従う物体検出・位置推定方法における局所特徴点の照合処理を示す図である。
【0083】
図5(A)を参照して、注目している物体候補領域12A(注目物体候補領域)と他の物体候補領域12B~12Iとの間で画像類似度がそれぞれ算出される。算出された画像類似度が相対的に高い1または複数の物体候補領域からなる物体候補領域群が抽出される。
図5(A)に示す例では、物体候補領域群として、いずれも画像類似度が「0.9」である物体候補領域12E,12G,12Iが選択されたとする。
【0084】
図5(B)を参照して、物体候補領域群として選択された物体候補領域12E,12G,12Iと、物体候補領域12A(注目物体候補領域)との間で、局所特徴点が照合するか否かが判断される。
【0085】
すべての物体候補領域12について、局所特徴点の照合を行うと膨大な時間を要することになるが、上述したような2段階の照合を行うことで、局所特徴点が照合する物体候補領域12の組を効率的に抽出できる。
【0086】
図6は、本実施の形態に従う物体検出・位置推定方法におけるマッチグラフ20の構築に係る詳細な処理手順を示すフローチャートである。
【0087】
図6を参照して、情報処理装置は、抽出した物体候補領域12の各々について画像特徴量を算出する(ステップS301)。
【0088】
情報処理装置は、抽出した物体候補領域12のうち任意の2つの物体候補領域12からなる組を選択する(ステップS302)。情報処理装置は、選択した組に含まれる2つの物体候補領域12が同一の画像から抽出されたものであるか否かを判断する(ステップS303)。
【0089】
選択した組に含まれる2つの物体候補領域12が同一の画像から抽出されたものである場合(ステップS303においてYES)には、情報処理装置は、選択した組についての画像類似度をゼロに設定する(ステップS304)。
【0090】
一方、選択した組に含まれる2つの物体候補領域12が同一の画像から抽出されたものではない場合(ステップS303においてNO)には、情報処理装置は、選択した組に含まれる2つの物体候補領域12の画像特徴量を用いて画像類似度を算出する(ステップS305)。
【0091】
情報処理装置は、2つの物体候補領域12からなる組のすべてを選択済であるか否かを判断する(ステップS306)。2つの物体候補領域12からなる組のうち未選択のものがある場合(ステップS306においてNO)、ステップS302以下の処理が繰り返される。
【0092】
2つの物体候補領域12からなる組のすべてを選択済である場合(ステップS306においてYES)、画像類似度の算出は終了する。
【0093】
続いて、情報処理装置は、抽出した物体候補領域12の各々を示すノードを生成する(ステップS307)とともに、各ノードに対応付けられた物体候補領域についての物体らしさスコアで当該ノードを重み付けする(ステップS308)。
【0094】
情報処理装置は、抽出した物体候補領域12のうち任意の1つを注目物体候補領域として選択し(ステップS309)、当該選択した注目物体候補領域との間の画像類似度が相対的に高い1または複数の物体候補領域12からなる物体候補領域群を選択する(ステップS310)。
【0095】
情報処理装置は、注目物体候補領域と物体候補領域群に含まれる1つの物体候補領域12との間で局所点の照合処理を実行し、局所特徴点が照合するか否かを判断する(ステップS311)。
【0096】
局所特徴点が照合する場合(ステップS311においてYES)には、情報処理装置は、注目物体候補領域に対応するノードと、物体候補領域群から選択された物体候補領域12に対応するノードとの間にエッジを設定する(ステップS312)。
【0097】
一方、局所特徴点が照合しない場合(ステップS311においてNO)には、ステップS312の処理はスキップされる。
【0098】
続いて、情報処理装置は、物体候補領域群に含まれる物体候補領域12のすべてを選択済であるか否かを判断する(ステップS313)。物体候補領域群に含まれる物体候補領域12のうち未選択のものがある場合(ステップS313においてNO)、ステップS311以下の処理が繰り返される。
【0099】
物体候補領域群に含まれる物体候補領域12のすべてを選択済である場合(ステップS313においてYES)、情報処理装置は、抽出した物体候補領域12のうちすべての物体候補領域12が注目物体候補領域として選択済であるか否かを判断する(ステップS314)。
【0100】
抽出した物体候補領域12のうち注目物体候補領域として未選択の物体候補領域12がある場合(ステップS314においてNO)、ステップS309以下の処理が繰り返される。
【0101】
抽出した物体候補領域12のすべての物体候補領域12が注目物体候補領域として選択済みである場合(ステップS314においてYES)、この時点で、ノードが重み付けされた無向マッチグラフ20Aが構築される。
【0102】
情報処理装置は、ノードが重み付けされた無向マッチグラフ20Aを重み付け有向マッチグラフ20Bに変換する(ステップS315)。
【0103】
以上の処理により、マッチグラフの構築処理は完了する。
図7は、本実施の形態に従う物体検出・位置推定方法におけるマッチグラフ20の変換を説明するための図である。
【0104】
図7(A)を参照して、抽出された物体候補領域12の各々をノード22に割り当てるとともに、局所特徴点が照合した2つの物体候補領域12の間にエッジ24を設定することで、ノードが重み付けされた無向マッチグラフ20Aが構築される。無向マッチグラフ20Aにおいては、ノード22の各々は、対応付けられた物体候補領域12についての物体らしさスコア28で重み付けされている。
【0105】
図7(A)に示すノードが重み付けされた無向マッチグラフ20Aは、各エッジに方向性をもたせるとともに、それぞれの方向成分に対応する物体らしさスコア28が重み付けされる。例えば、第1のノードから第2のノードに向かうエッジ成分については、第2のノードの重みが割り当てられる。すなわち、各ノードへの入来エッジに当該ノードの重みが付与される。
【0106】
この変換処理によって、
図7(A)に示すノードが重み付けされた無向マッチグラフ20Aから
図7(B)に示す重み付け有向マッチグラフ20Bが構築される。このような重み付け有向マッチグラフ20Bを構築することで、後述するように、ノード中心性に基づいて、各物体候補領域12の妥当性をより適切に評価できる。
【0107】
以上のような処理によって、物体候補領域12の各々がノードを示すマッチグラフ20が構築される。構築されるマッチグラフ20には、物体候補領域12の各々について算出された物体らしさスコアと、局所特徴点照合した物体候補領域12の組の情報とを反映するものとなる。
【0108】
また、マッチグラフ20は、抽出された物体候補領域12の各々について算出された物体らしさを示すスコアに基づいて重み付けされている。具体的には、マッチグラフ20は、
図7(B)に示すように、方向性をもつエッジを含み、エッジの各々は、入り先のノードに対応する重みが付与されている。
【0109】
<F.ノード中心性の算出(ステップS4)>
特定物体画像セット10からマッチグラフ20を構築すると、同じ物体が写った物体候補領域12はエッジが密に繋がったコミュニティを形成することになる(
図1のマッチグラフ20の4つの楕円参照)。このようなコミュニティ構造を反映したノード中心性をノード毎に算出する。
【0110】
本実施の形態に従う物体検出・位置推定方法において、抽出すべき物体候補領域は、各コミュニティの中心付近に位置する傾向があるため、以下のような条件(1)および(2)を満たすノード中心性を採用することが好ましい。
【0111】
(1)各ノードのノード中心性は、属するコミュニティにおけるノード中心性である(すなわち、外部コミュニティ内のノードの影響は受けない)
(2)大きいコミュニティ内のノード中心性は、小さいコミュニティ内のノード中心性より高い傾向にある
条件(2)に関して、特定物体画像セット10に含まれる画像の中には、特定物体画像セット10に頻出する物体とそうではない物体とが被写体として含まれる場合がある。このような場合、構築されたマッチグラフは、頻出する物体を被写体として含む物体候補領域12からなる大きなコミュニティと、そうではない物体を被写体として含む物体候補領域12からなる小さなコミュニティとを含むことになる。このような場合、条件(2)を適用することで、より大きなコミュニティ内の物体候補が最終的に選択されるようになる。
【0112】
なお、本実施の形態に従う物体検出・位置推定方法においては、重み付け有向マッチグラフが構築されるので、ノード中心性を評価する方法としては、有向マッチグラフに適用可能であることが好ましい。
【0113】
ノード中心性としては、例えば、Degree中心性(非特許文献9参照)、Eigenvector中心性(非特許文献10参照)、PageRank中心性(非特許文献11参照)、Closeness中心性(非特許文献9参照)、Betweenness中心性(非特許文献9参照)、Laplacian中心性(非特許文献12)、Commn中心性(非特許文献13参照)、Social中心性(非特許文献14参照)などが挙げられる。
【0114】
これらのノード中心性について説明する。
(f1:ローカル)
Degree中心性は、ローカルに分類されるノード中心性であり、各ノードが有するエッジの数に着目するものである。すなわち、ローカルに分類されるノード中心性は、エッジに直接接続された物体候補領域12を考慮するものである。
【0115】
Degree中心性を用いる場合には、エッジの数が相対的に多いノードに対応する物体候補領域12を特定物体画像セット10に含まれる物体として検出する。
【0116】
(f2:グローバル)
Eigenvector中心性、PageRank中心性、Closeness中心性、および、Betweenness中心性は、グローバルに分類されるノード中心性であり、異なるコミュニティに属する他のノード間の関係も考慮するものである。すなわち、グローバルに分類されるノード中心性は、マッチグラフ20全体での中心性を意味しており、各物体候補領域に対応するノードは、異なる物体を被写体とする物体候補領域に対応するノードの影響を受けることになる。
【0117】
(1)Eigenvector中心性
Eigenvector中心性は、隣接ノードのDegree中心性を再帰的に考慮するものである。
【0118】
(2)PageRank中心性
PageRank中心性は、Eigenvector中心性を有向マッチグラフに適用できるように拡張されたものである。
【0119】
(3)Closeness中心性
Closeness中心性は、グラフにおける近接性を考慮するものである。具体的には、Closeness中心性は、他ノードへの最短距離の合計の逆数に基づいて算出される。
【0120】
(4)Betweenness中心性は
Betweenness中心性は、グラフにおけるノード間の関係を考慮するものである。具体的には、Betweenness中心性は、2つのノード間の最短経路上に位置する程度に基づいて算出される。
【0121】
(f3:コミュニティ構造の考慮)
Laplacian中心性、Commn中心性およびSocial中心性は、コミュニティ構造を反映して算出されるノード中心性である。
【0122】
(1)Laplacian中心性
Laplacian中心性は、マッチグラフのラプラシアン行列固有値に基づいて算出される。Laplacian中心性は、各コミュニティにおけるノード中心性となる。
【0123】
(2)Commn中心性
Commn中心性は、マッチグラフに存在するコミュニティを検出した上で、コミュニティ内次数とコミュニティ間次数とを結合することで算出される。
【0124】
(3)Social中心性
Social中心性は、マッチグラフに存在するコミュニティを検出した上で、コミュニティ内次数とコミュニティ間次数とを結合することで算出される。コミュニティは、疑似コミュニティ検出の手法を採用することで、処理を高速化できる。
【0125】
(f4:ランダムウォーク中心性)
上述したようなノード中心性に代えて、ランダムウォーク中心性を用いてもよい。ランダムウォーク中心性は、マッチグラフに含まれる各ノードを出発点として、有限ステップ数のランダムウォークが実行することで、算出されるノード中心性である。
【0126】
「ランダムウォーク」は、現在のノードに接続されているエッジをランダムに選択しながら次のノードへ順次移動する運動を意味する。ノードを順次移動する仮想的な主体を「ウォーカ」と称する。「ウォーカ」は、マッチグラフ内の現在の位置を示す。
【0127】
ランダムウォーク中心性は、マッチグラフに含まれる各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながらマッチグラフ内を順次移動することで通過経路を取得し、当該取得した各ノードの通過経路に基づいて算出される。具体的には、全ノードから有限ステップのランダムウォークを実行し、ウォーカが各ノードを通過した頻度を各ノードのノード中心性とする。
【0128】
ランダムウォーク中心性は、次数(隣接ノード数)が大きく、また隣接ノードの次数が再帰的に大きなノードほど、大きくなる傾向にある。
【0129】
図8は、本実施の形態に従う物体検出・位置推定方法におけるランダムウォーク中心性を説明するための図である。
図9は、
図8のウォーカの移動に伴う通過ユニークノードの数の変化を示す図である。
【0130】
図8を参照して、マッチグラフのノード22Sから出発したウォーカは、出発したノード22Sが属するコミュニティ内を順次移動する。ウォーカの出発直後においては、ウォーカはコミュニティに属する様々なノードを通過することになるので、通過したユニークなノード(通過ユニークノード)の数は、ウォーカのステップ数の増加に伴って増加する(
図9のステージST1)。
【0131】
さらにステップ数が増加しても、ウォーカが出発したノード22Sが属するコミュニティ内を順次移動する限りにおいては、当該コミュニティ内の既に通過したノードを再度通過することになるので、通過ユニークノードの数は鈍化する(
図9のステージST2)。
【0132】
さらにステップ数が増加して、ウォーカが別のコミュニティに移動してしまうと、別のコミュニティに属する様々なノードを通過することになるので、通過ユニークノードの数は再度増加に転じる(
図9のステージST3)。
【0133】
各コミュニティ内でのランダムウォーク中心性を求めるためには、ランダムウォークがコミュニティ内を十分に周遊し終えているが、別のコミュニティに移ってはいないタイミングで、ランダムウォークを打ち切ることが好ましい。
【0134】
そのためには、通過ユニークノード数の増加が鈍化している区間でウォーカを制止するようにすることが好ましい。このようなウォーカを制止する条件としては、通過ユニークノード数の増加度合いを用いることができる。
【0135】
一例として、
図9に示すように、ウォーカの一定のステップ数幅wに対する通過ユニークノード数の増加数δが予め定められたしきい値Th以下になったことを、ウォーカを制止する条件として採用してもよい。
【0136】
ウォーカを制止する条件として用いるステップ数幅wは、対象のマッチグラフ20に含まれるコミュニティの大きさを示すパラメータh(例えば、特定物体画像セット10に含まれる画像数や、抽出された物体候補領域12の数などに応じて決定されてもよい)を基準として定めてもよい(例えば、w=α×h)。また、しきい値Thは、ステップ数幅wを基準として定めてもよい(例えば、Th=β×w;0<β<1)。
【0137】
これらのパラメータは、含まれるコミュニティのサイズなどが既知のネットワークに対して適用して得られる結果に基づいて、適宜調整するようにしてもよい。
【0138】
このように、ランダムウォークの振る舞いに応じて、ランダムウォークを抑止あるいは静止する機能をもつランダムウォーク中心性を「抑制ランダムウォーク中心性」と称する。
【0139】
図10は、本実施の形態に従う物体検出・位置推定方法における抑制ランダムウォーク中心性を算出するための処理手順を示すフローチャートである。
【0140】
図10を参照して、情報処理装置は、構築したマッチグラフ20に含まれるノード(総数m)の通過数c
i(i=1,2,・・・,m)をいずれも「0」に初期設定する(ステップS401)。
【0141】
情報処理装置は、構築したマッチグラフ20に含まれるノードのうちi番目のノードviを出発点として選択する(ステップS402)。情報処理装置は、通過数ciを1だけインクリメントする(ステップS403)とともに、通過頂点セットSj(ステップ数j=0)にノードviを追加する(ステップS404)。
【0142】
情報処理装置は、現在のウォーカが存在しているノードに繋がっているエッジの重みに応じて、移動先のノードをランダムに決定する(ステップS405)。
【0143】
情報処理装置は、移動先のノードが存在しているか否かを判断する(ステップS406)。移動先のノードが存在していない場合(ステップS406においてNO)には、ステップS407~S409の処理はスキップされる。
【0144】
有向マッチグラフを採用した場合には、ウォーカが出エッジをもたないノードに到達すると、それ以上移動できなくなる。このような場合においては、ランダムウォークを停止する。
【0145】
移動先のノードが存在している場合(ステップS406においてYES)には、情報処理装置は、移動先のノード(ノードvk)の通過数ckを1だけインクリメントする(ステップS407)とともに、通過頂点セットSj(ステップ数j)にノードvkを追加する(ステップS408)。なお、通過頂点セットSjにノードvkが既に含まれている場合には、ノードvkは通過頂点セットSjには追加されない。
【0146】
上述のステップS401~S408において、情報処理装置は、ノードおよびエッジを含むマッチグラフ20において、各ノードを出発点として選択するとともに、当該選択された出発点から接続されているノードを確率的に選択しながらグラフ内を順次移動する処理を実行する。
【0147】
続いて、情報処理装置は、マッチグラフ20内を順次移動することで取得される通過経路に含まれる通過したユニークなノード数の増加が所定の鈍化状態になると、当該グラフ内の順次移動を制止する処理を実行する。より具体的には、情報処理装置は、現在のステップ数jがステップ数幅w以上であり、かつ、ステップ数幅(w-1)前からの通過頂点セットSの要素数の増加数がしきい値以下であるか否か(|Sj|-|Sj-(w-1)|≦th)を判断する(ステップS409)。
【0148】
現在のステップ数jがステップ数幅w以上であり、あるいは、ステップ数幅(w-1)前からの通過頂点セットSの要素数の増加数がしきい値以下ではない場合(ステップS409においてNO)には、ステップS405以下の処理が繰り返される。
【0149】
現在のステップ数jがステップ数幅w以上であり、かつ、ステップ数幅(w-1)前からの通過頂点セットSの要素数の増加数がしきい値以下である場合(ステップS409においてYES)には、ランダムウォークは抑止される。
【0150】
なお、ユニークなノード数の増加が鈍化状態であるか否かの判断条件は、対象のマッチグラフ20の大きさなどに応じて任意に設定できる。
【0151】
このように、マッチグラフ20の全ノードからそれぞれランダムウォークが実行されるが、ウォーカが同じようなノードを繰り返し通過するようになったと判断されると、ランダムウォークは停止される。
【0152】
そして、情報処理装置は、構築したマッチグラフ20に含まれるすべてのノードを出発点として選択済であるか否かを判断する(ステップS410)。構築したマッチグラフ20に含まれるノードのうち出発点として未選択のものがある場合(ステップS410においてNO)には、ステップS402以下の処理が繰り返される。
【0153】
構築したマッチグラフ20に含まれるすべてのノードを出発点として選択済である場合(ステップS410においてYES)には、情報処理装置は、最終的に算出された各ノードの通過数ci(i=1,2,・・・,m)を、各ノードのノード中心性として決定する(ステップS411)。すなわち、情報処理装置は、各ノードを出発点とした場合に取得されたそれぞれの通過経路における各ノードの通過頻度に基づいて、当該ノードのノード中心性を決定する。
【0154】
なお、
図10に示す処理手順においては、各ノードを出発点とするランダムウォークは1回ずつ実行されるが、上述の非特許文献1に開示されるように、各ノードを出発点とするランダムウォークを複数回実行し、通過頻度の小さいノードについては、ランダムウォークの通過対象から除外するようにしてもよい。このような通過頻度の小さいノードを除外することで、ランダムウォークの例外的な動作を排除して、より検出精度を高めることができる。
【0155】
また、各ノードを出発点とするランダムウォークを有限ステップ数に制限するようにしてもよい。この場合には、ステップS405~S409(
図10に示す*1)の繰り返し実行回数が予め定められた上限数に到達すると、ステップS410以下に処理を遷移させてもよい。このような有限ステップ数に制限することで、ウォーカが別のコミュニティに移って、コミュニティの検出精度を劣化させることを防止できる。
【0156】
なお、上述のノード中心性を算出する方法は、マッチグラフ20に限らず、任意のグラフに適用可能である。すなわち、上述の処理手順によれば、任意のグラフのノード中心性を算出できる。
【0157】
<G.物体検出および位置推定(ステップS5およびS6)>
各ノード(物体候補領域12)についてノード中心性が算出されると、算出されたノード中心性に基づいて、1または複数の物体候補領域12が特定物体画像セット10に含まれる物体として検出される。また、物体として検出された物体候補領域12が対応する画像に存在していた位置(物体領域)が出力される。
【0158】
例えば、特定物体画像セット10の各画像に検出すべき物体が必ず1つ存在することを前提とすると、1つの画像から抽出された複数の物体候補領域12が存在する場合には、最も高いノード中心性を示す物体候補領域12を物体であると決定することができる。
【0159】
図11は、本実施の形態に従う物体検出・位置推定方法における物体検出および位置推定に係る処理手順を示すフローチャートである。
【0160】
図11を参照して、情報処理装置は、特定物体画像セット10に含まれる任意の画像を選択する(ステップS501)。情報処理装置は、選択した画像から抽出された1または複数の物体候補領域12を特定し(ステップS502)、特定した1または複数の物体候補領域12のノード中心性を取得する(ステップS503)。
【0161】
情報処理装置は、最も高いノード中心性を示す物体候補領域12を特定し(ステップS504)、特定した物体候補領域12を選択中の画像に含まれる物体として決定する(ステップS505)。そして、情報処理装置は、特定した物体候補領域12が対応する画像から抽出された位置を、検出した物体が存在する画像中の位置(物体領域)として決定する(ステップS6)。
【0162】
情報処理装置は、特定物体画像セット10に含まれるすべての画像を選択済であるか否かを判断する(ステップS506)。特定物体画像セット10に含まれる画像のうち未選択のものがある場合(ステップS506においてNO)、ステップS501以下の処理が繰り返される。
【0163】
特定物体画像セット10に含まれるすべての画像が選択済である場合(ステップS506においてYES)、物体検出および位置推定の処理は終了する。
【0164】
上述したように、情報処理装置は、特定物体画像セット10に含まれる各画像から抽出された複数の物体候補領域12のうち、最も高いノード中心性を示す物体候補領域12を、特定物体画像セット10に含まれる物体を被写体として含む物体候補領域12として決定してもよい。
【0165】
なお、上述の処理手順においては、特定物体画像セット10の各画像に検出すべき物体が必ず1つ存在することを前提としたが、現実には、この前提が満たされない場合も多い。例えば、特定の検索クエリを用いてインターネット上にある画像を収集した場合、特定物体画像セット10には、特定物体画像セット10において頻出しない物体を被写体とする画像や、特定物体画像セット10において頻出する複数の物体を被写体とする画像が含まれることが多い。
【0166】
すなわち、特定物体画像セット10の各画像に検出すべき物体が必ず1つ存在することを前提とした場合には、各画像から抽出された1または複数の物体候補領域12のうち、マッチグラフ20のノード中心性が最も高いものを当該画像の推定結果として決定することができる。
【0167】
しかしながら、特定物体画像セット10の中に検出すべき物体を被写体としない画像が含まれている場合には、各画像から必ず1つの物体候補領域12を選択するのではなく、所定条件を満たす物体候補領域12を選択するようにしてもよい。具体的には、算出されるノード中心性が予め定められたしきい値以上である物体候補領域12が存在する場合に、当該画像の物体候補領域12として選択するようにしてもよい。逆に言えば、ある画像から抽出された物体候補領域12のいずれについても、ノード中心性が予め定められたしきい値未満である場合には、当該画像から物体候補領域12を選択しないようにしてもよい。このようなノード中心性についての選択条件を採用することで、特定物体画像セット10において頻出しない物体を被写体とする画像をノイズとして排除できる。
【0168】
一方、同一の画像から予め定められたしきい値以上のノード中心性を示す物体候補領域12が複数抽出された場合には、それらのすべてを当該画像の推定結果として決定してもよい。このようなノード中心性についての選択条件を採用することで、検出すべき複数の物体が同一の画像中に存在する場合であっても、そのすべてを検出できる。
【0169】
<H.性能評価>
本実施の形態に従う物体検出・位置推定方法の性能評価の一例について説明する。
【0170】
図12は、本実施の形態に従う物体検出・位置推定方法による推定結果のいくつかの例を示す図である。
図12には、特定物体画像セット10に含まれる各画像について、抽出されるべき領域と正解領域(Ground Truth領域)と、本実施の形態に従う物体検出・位置推定方法により推定された物体領域(推定結果)とを示す。
【0171】
図12に示すように、物体領域を適切に推定できた画像と、物体領域を適切に推定できなかった画像とが存在し得るが、物体の見え方の多様性、背景ノイズ、遮蔽に対しロバストに物体領域を適切に推定できていることが分かる。
【0172】
図13は、本実施の形態に従う物体検出・位置推定方法の性能を従来手法と比較した結果の一例を示す。
図13において、[M. Cho et al., 2015]は、非特許文献2に提案される手法を意味し、[Z. Wang and J. Yuan, 2018]は、非特許文献3に提案される手法を意味する。
【0173】
図13に示す性能評価においては、日本の寺社を撮影した3037枚の画像からなる特定物体画像セット10を用いた。特定物体画像セット10に含まれる被写体数は56で、各画像には検出すべき物体が1つだけ存在するという条件で実験を行った。
【0174】
評価指標としては、物体位置精度(CorLoc:Correct Localization)を用いた。CorLocとは、全画像のうちPascal基準を満たした画像の割合を意味する。
図13には、被写体毎に算出されたCorLocの平均値が手法別に示されている。
【0175】
「Pascal基準を満たす」とは、各画像に対して推定された物体領域をbpとし、正解領域(Ground Truth領域)をbgtとすると、(area(bp∩bgt))/(area(bp∪bgt))>0.5であることを意味する。すなわち、物体領域bpと正解領域bgtとの共通領域に対する、物体領域bpと正解領域bgtとの和領域の比率が50%を超えていることを意味する。
【0176】
図13に示すように、本実施の形態に従う物体検出・位置推定方法は、従来手法に比較して、13%以上も精度が高くなっていることが分かる。
【0177】
図14は、本実施の形態に従う物体検出・位置推定方法の性能をノード中心性の評価方法毎に比較した結果の一例を示す。
図14に示す性能評価においても
図13に示す性能評価と同様の実験条件を採用した。
【0178】
図14を参照して、上述した抑制ランダムウォーク中心性を用いた場合の精度が最も高いことが分かる。
【0179】
<I.応用例>
次に、本実施の形態に従う物体検出・位置推定方法の応用例について説明する。
【0180】
本実施の形態に従う物体検出・位置推定方法により検出される物体および推定される物体領域の情報を用いて、例えば、観光アプリなどを構築することができる。
【0181】
本実施の形態に従う物体検出・位置推定方法によれば、特定物体画像セット10に頻出する物体とそうではない物体を検出できるとともに、検出された物体が存在する画像中の位置(物体領域)を推定できる。なお、特定物体画像セット10に頻出しない物体を被写体とする画像については、処理対象から除外することもできる。そのため、本実施の形態に従う物体検出・位置推定方法によれば、画像間の関係を的確に表現および処理できる。
【0182】
図15は、本実施の形態に従う物体検出・位置推定方法を用いた観光支援アプリケーションの提供例を説明するための図である。
【0183】
図15を参照して、特定の検索クエリを用いてインターネット上にある画像を収集するなどして構成された画像ビッグデータを構造化して、機械学習することで、携帯端末で撮像された画像が入力されると、その画像に被写体として含まれる物体についての説明などを提供する観光支援アプリケーションを実現する。
【0184】
画像ビッグデータを用いた機械学習においては、クラスタ化、位置推定、ラベルリング、解説の付与、位置情報の付与、多言語化処理などにより画像データベースを生成する。この画像データベースの生成に際して、本実施の形態に従う物体検出・位置推定方法を適用することで、特定物体画像セット10に頻出する物体を検出できるとともに、検出された物体が存在する位置を推定できる。このような本実施の形態に従う物体検出・位置推定方法により出力される推定結果を利用することで、機械学習に必要なトレーニングデータセットをより容易に生成できる。
【0185】
なお、本実施の形態に従う物体検出・位置推定方法は、
図15に示す応用例だけではなく、任意のアプリケーションに適用可能である。
【0186】
また、特定物体画像セット10に含まれる物体を被写体として含むとして選択された物体候補領域12に関して、画像中に存在する位置(物体領域)だけではなく、物体の種別や属性情報などを合わせて出力してもよい。
【0187】
<J.変形例>
上述の説明においては、物体画像セットのうち、特定物体画像セットを対象とする場合の処理例について説明したが、以下では、一般物体画像セットを対象とする場合の処理例について説明する。
【0188】
マッチグラフ20を構成する各ノードが、一般物体画像セットから抽出された物体候補領域を示す点については、特定物体画像セットの場合と同様である。また、特定物体画像セットの場合と同様に、各ノードに対応付けられた物体候補領域についての物体らしさスコアで各ノードが重み付けされる。
【0189】
物体候補領域間の画像類似度が相対的に高いノード間にエッジが設定される。一般物体画像セットは、飛行機とか車とかの抽象的なカテゴリに分類される物体画像を含むため、特定物体画像セットと同じように、局所特徴点の照合結果を用いると、スパースなグラフになってしまい、ノード中心性に基づく評価が難しくなる。そこで、一般物体画像セットを対象とする場合には、局所特徴点の照合結果ではなく、各画像から算出される画像特徴量(例えば、CNN特徴量)間の画像類似度が用いられる。例えば、各ノードについて、画像類似度が高い上位k個のノードとの間にのみエッジを設定するようにしてもよい。すなわち、画像類似度が上位k+1個以下のノードについては重みを強制的にゼロにして、実質的にエッジを設定しないようにしてもよい。このような方法でマッチグラフ20を構成できる。
【0190】
マッチグラフ20を構築した後の処理、例えば、マッチグラフ20のコミュニティ構造を反映したノード中心性を算出する方法については、特定物体画像セットを対象とする場合の処理例と同様であるので、詳細な説明は繰り返さない。
【0191】
<K.利点>
本実施の形態に従う物体検出・位置推定方法によれば、特定物体画像セット10に含まれる各画像から抽出された1または複数の物体候補領域12および抽出された物体候補領域12の物体らしさを示すスコアを反映したマッチグラフを構築し、構築したマッチグラフのノード中心性に基づいて、特定物体画像セットに含まれる物体を被写体として含む物体候補領域を決定する。物体候補領域12を反映したマッチグラフ20のノード中心性に基づいて物体候補領域を決定することで、物体検出の精度を高めることができる。また、物体検出の精度を高めることに伴って、検出した物体が存在する画像中の位置(物体領域)の推定精度を高めることもできる。
【0192】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0193】
10 特定物体画像セット、12,12A~12I,12-1,12-2 物体候補領域、12-1A~12-1D,12-2A~12-2D 局所特徴点、20 マッチグラフ、20A 無向マッチグラフ、20B 重み付け有向マッチグラフ、22,22S ノード、24 エッジ、28 物体らしさスコア、100 情報処理装置、102 プロセッサ、104 主メモリ、106 ディスプレイ、108 入力デバイス、110 ネットワークインターフェイス、112 光学ドライブ、114 光学ディスク、116 内部バス、120 補助記憶装置、122 物体候補領域抽出プログラム、124 画像照合プログラム、126 マッチグラフ構築プログラム、128 ノード中心性評価プログラム。