JP2016045538A - 情報処理装置、画像判定方法、及びプログラム - Google Patents

情報処理装置、画像判定方法、及びプログラム Download PDF

Info

Publication number
JP2016045538A
JP2016045538A JP2014167128A JP2014167128A JP2016045538A JP 2016045538 A JP2016045538 A JP 2016045538A JP 2014167128 A JP2014167128 A JP 2014167128A JP 2014167128 A JP2014167128 A JP 2014167128A JP 2016045538 A JP2016045538 A JP 2016045538A
Authority
JP
Japan
Prior art keywords
reference image
image
input image
value
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2014167128A
Other languages
English (en)
Inventor
松田 裕司
Yuji Matsuda
裕司 松田
昌彦 杉村
Masahiko Sugimura
昌彦 杉村
正樹 石原
Masaki Ishihara
正樹 石原
遠藤 進
Susumu Endo
進 遠藤
馬場 孝之
Takayuki Baba
孝之 馬場
上原 祐介
Yusuke Uehara
祐介 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014167128A priority Critical patent/JP2016045538A/ja
Publication of JP2016045538A publication Critical patent/JP2016045538A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】判定精度を向上させること。【解決手段】参照画像Prの第1特徴点と特定位置との位置関係を示す位置情報と、入力画像Pinの各小領域に対応するカウント値とを記憶し、入力画像Pinの第2特徴点のうち第1特徴点に類似する第2特徴点に当該第1特徴点を一致させた場合に特定位置にある小領域を特定し、当該小領域に対応するカウント値を増加させる処理を、各第1特徴点について実行し、カウント値の最大値Maxが設定した閾値Thより大きい場合に、入力画像Pinに参照画像Prが含まれると判定し、最大値Maxが閾値Thより小さく、カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って最大値Maxを基準とする設定した範囲内のカウント値の合算値Sumが閾値Thより大きい場合に、入力画像Pinに参照画像Prが含まれると判定する情報処理装置10が提供される。【選択図】図1

Description

本発明は、情報処理装置、画像判定方法、及びプログラムに関する。
様々な分野で画像のマッチング技術が広く利用されるようになってきた。例えば、顔認証や生体認証の分野では、可視光カメラや赤外線カメラで撮像した画像とテンプレート画像とをマッチングする技術が利用されている。より一般的な用途では、カメラ付き携帯端末やデジタルカメラで撮像した画像とランドマークの画像とをマッチングする技術が利用されている。
画像同士のマッチングには、例えば、入力画像の特徴点における特徴量(以下、局所特徴量)と、参照画像の特徴点における局所特徴量とを比較して、入力画像の特徴点に対応する参照画像の特徴点(以下、対応点)を探索する手法が利用される。探索により発見された対応点の集合を統計処理することで入力画像中における参照画像の存在や参照画像の位置を認識できる。なお、対応点の探索は、画像の重畳表示などにも利用される。
上記のような対応点の探索には、例えば、SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、BRIEF(Binary Robust Independent Elementary Features)などの特徴が利用される。SIFTやSURFを利用すると高精度に対応点を検出することができる。但し、SIFTやSURFの局所特徴量はデ−タサイズが大きく、SIFTやSURFを利用すると探索時の計算負荷が高くなる。
一方、BRIEFは、特徴点の周囲に設定された複数の画素ペアのそれぞれについて計算された画素間の輝度差に基づく局所特徴量で表現される。例えば、輝度差の符号(正負)に対応するビット値の集合が局所特徴量として利用される。従って、BRIEFはSIFTやSURFに比べて少ない計算量で高速に抽出することができ、探索にかかる計算負荷の軽減に寄与する。BRIEFを利用すると、サーバ装置などに比べて計算能力の低い携帯端末でも入力画像から高速に局所特徴量を抽出することが可能になる。
なお、BRIEFと同様に画素間の輝度差に基づく局所特徴量を用いて画像の特徴を表現する他の特徴としては、例えば、ORB(Oriented Fast and Rotated BRIEF)やFREAK(Fast Retina Keypoint)がある。ORBは、画素ペアの配置を決める際に多数の画像に基づく学習を利用する。FREAKは、画素ペアの配置を決める際に人間の網膜パターンに関する情報を利用する。ORBやFREAKを利用した場合も入力画像から高速に局所特徴量を抽出することができる。
また、記憶画像の特徴点に対応する対応特徴点を入力画像から抽出し、記憶画像の特徴点の位置関係情報に基づいて投票点を算出し、投票点を入力画像に投票する方法(以下、提案方法)が提案されている。この提案方法では、投票点が集中し、かつ、投票数が多いほど、入力画像と記憶画像との類似度が高いと判定される。
特開2012−83855号公報
David G.Lowe, "Distinctive image features from scale-invariant keypoints", International Journal of Computer Vision, 60, 2 (2004), pp.91-110 H.Bay,T.Tuytelaars, and L.V.Gool, "SURF:Speed Up Robust Features", Proc. of Int. Conf. of ECCV, 2006 M. Calonder, V. Lepetit, C. Strecha, and P. Fua., "BRIEF: Binary Robust Independent Elementary Features.", In Proceedings of the European Conference on Computer Vision (ECCV), 2010 Alexandre Alahi, Raphael Ortiz, Pierre Vandergheynst, "FREAK: Fast Retina Keypoint", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2012 E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, "ORB: An efficient alternative to SIFT or SURF", In Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2011
上記の提案方法を適用した場合、記憶画像を撮影した際の撮影方向と入力画像を撮影した際の撮影方向とが大きく異なる場合、両画像が同じ対象物を撮影した画像であっても、投票点の分布が拡がってしまい、類似度が低いと判定されるリスクがある。
例えば、対象物を正面から撮影した記憶画像と、対象物を載置した面上で45度回転した方向から同じ対象物を撮影した入力画像との類似度を計算する場合、入力画像中で対象物の正面が占める領域は、記憶画像中で対象物の正面が占める領域に比べて小さくなる。この場合、記憶画像中の特徴点の位置関係情報に基づいて投票点を算出すると、水平方向に投票点の分布が拡がる。その結果、投票点が1カ所に集中せず、分布のピーク位置でも投票数が多くならず、類似度が低いと判定されることがある。
そこで、1つの側面によれば、本発明の目的は、判定精度を向上させることが可能な情報処理装置、画像判定方法、及びプログラムを提供することにある。
本開示の1つの側面によれば、参照画像の特徴を表す複数の第1特徴点それぞれと参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の各小領域の位置を示す領域情報と、各小領域に対応するカウント値とを記憶する記憶部と、入力画像の特徴を表す複数の第2特徴点のうち第1特徴点に類似する第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に位置情報が示す特定位置にある小領域を特定し、当該小領域に対応するカウント値を増加させる処理を、各第1特徴点について実行し、カウント値の最大値が設定した閾値より大きい場合に、入力画像に参照画像が含まれると判定する演算部と、を有する情報処理装置が提供される。演算部は、最大値が閾値より小さく、カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って最大値を基準とする設定した範囲内のカウント値を合算して合算値を計算し、合算値が閾値より大きい場合に、入力画像に参照画像が含まれると判定する。
また、本開示の他の1つの側面によれば、コンピュータが、参照画像の特徴を表す複数の第1特徴点それぞれと参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の各小領域の位置を示す領域情報と、各小領域に対応するカウント値とを取得し、入力画像の特徴を表す複数の第2特徴点のうち第1特徴点に類似する第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に位置情報が示す特定位置にある小領域を特定し、当該小領域に対応するカウント値を増加させる処理を、各第1特徴点について実行し、カウント値の最大値が設定した閾値より大きい場合に、入力画像に参照画像が含まれると判定し、判定の処理において、最大値が閾値より小さく、カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って最大値を基準とする設定した範囲内のカウント値を合算して合算値を計算し、合算値が閾値より大きい場合に、入力画像に参照画像が含まれると判定する画像判定方法が提供される。
また、本開示の他の1つの側面によれば、コンピュータに、参照画像の特徴を表す複数の第1特徴点それぞれと参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の各小領域の位置を示す領域情報と、各小領域に対応するカウント値とを取得し、入力画像の特徴を表す複数の第2特徴点のうち第1特徴点に類似する第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に位置情報が示す特定位置にある小領域を特定し、当該小領域に対応するカウント値を増加させる処理を、各第1特徴点について実行し、カウント値の最大値が設定した閾値より大きい場合に、入力画像に参照画像が含まれると判定し、判定の処理において、最大値が閾値より小さく、カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って最大値を基準とする設定した範囲内のカウント値を合算して合算値を計算し、合算値が閾値より大きい場合に、入力画像に参照画像が含まれると判定する処理を実行させるためのプログラムが提供される。
本発明によれば、判定精度を向上させることが可能になる。
第1実施形態に係る情報処理装置の一例を示した図である。 第2実施形態に係るシステムの一例を示した図である。 第2実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。 第2実施形態に係る画素ペア情報の一例を示した図である。 第2実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。 第2実施形態に係る特徴量の計算について説明するための図である。 第2実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。 第2実施形態に係る参照画像情報(参照画像管理テーブル)の一例を示した図である。 撮影方向の例について説明するための図である。 第2実施形態に係る参照画像情報(隣接画像管理テーブル)の一例を示した図である。 第2実施形態に係る参照画像情報(特徴量管理テーブル)の一例を示した図である。 第2実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。 第2実施形態に係る投票処理について説明するための図である。 第2実施形態に係る物体の端部から中心までの距離について説明するための図である。 第2実施形態に係る判定処理(最大検出、水平判定、左右判定)について説明するための図である。 第2実施形態に係る判定処理(集約、判定、有無判断)について説明するための図である。 第2実施形態に係る判定用情報(集約範囲調整用パラメータ)の一例を示した図である。 第2実施形態に係る端末装置の動作について説明するためのフロー図である。 第2実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。 第2実施形態に係るサーバ装置の動作について説明するためのフロー図である。 第2実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。 第2実施形態に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。 第2実施形態の一変形例(変形例#1)に係る参照画像情報(隣接画像管理テーブル)の一例を示した図である。 第2実施形態の一変形例(変形例#1)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。 第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。 第2実施形態の一変形例(変形例#3)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。 第3実施形態に係る判定方法の一例を示した図である。 第3実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するための第1のフロー図である。 第3実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するための第2のフロー図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。なお、図1に例示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
図1に示すように、情報処理装置10は、記憶部11及び演算部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、参照画像Prの特徴を表す複数の第1特徴点それぞれと参照画像Prの特定位置との位置関係を示す位置情報と、入力画像Pinを複数の小領域に分けた場合の各小領域の位置を示す領域情報と、各小領域に対応するカウント値とを記憶する。
特定位置は、例えば、参照画像Prの中心である。位置情報は、第1特徴点を始点として中心を終点とするベクトルで表現できる。図1に例示した投票マップMPは領域情報の一例である。投票マップMPは、入力画像Pinと同じサイズの領域を区切った複数の枡目により入力画像Pinに設定した小領域を表す情報である。つまり、投票マップMPの枡目は小領域の一例である。投票マップMPに記載の数値はカウント値の一例である。
演算部12は、入力画像Pinの特徴を表す複数の第2特徴点のうち第1特徴点に類似する第2特徴点を特定する。第2特徴点を特定する処理は、対応する特徴点同士を探索する処理(対応点探索)である。第1特徴点及び第2特徴点の特徴は、例えば、SIFT、SURF、BRIEF、ORB、FREAKなどの特徴量により表現できる。また、第1特徴点と第2特徴点との類似度は特徴量同士の距離で表現できる。そのため、演算部12は、両特徴点について距離を計算し、距離が最小となる特徴点の組を、対応する特徴点として特定することができる。特徴量がビット列で表現されている場合、距離は、例えば、ビット列同士の排他的論理和で表現できる。
演算部12は、特定した第2特徴点に、類似する第1特徴点を一致させた場合に位置情報が示す特定位置にある小領域を特定する。演算部12は、特定した小領域に対応するカウント値を増加させる。演算部12は、上記の第2特徴点の特定、小領域の特定、及びカウント値の増加に係る処理を、各第1特徴点について実行する。
入力画像Pinと参照画像Prとが同じであればカウント値が一カ所に集中する。少なくとも入力画像Pinと参照画像Prとに同じ被写体が写っていれば、カウント値の分布は一カ所に高いピークを持つ。そこで、演算部12は、カウント値の最大値Maxが設定した閾値Thより大きい場合に、入力画像Pinに参照画像Prが含まれると判定する。
但し、両画像に同じ被写体が写っていても、それぞれ撮影した方向が異なる場合、カウント値の分散(ピークを中心とする散らばり具合)が大きくなる。図1の例は、参照画像Prに被写体の正面が写っており、入力画像Pinに被写体の正面と右側面とが写っている場合を示している。つまり、参照画像Prの撮影方向を基準として、入力画像Pinの撮影方向は、被写体の載置面(図面の横方向に対応する。)上で右方向に一定角度だけ回転した方向にある。
この場合、カウント値の分布は横方向への分散が大きくなる。カウント値を増加させる処理の回数は同じであるから、横方向へ分散した分だけピークのカウント値が小さくなる。その結果、参照画像Prと同じ被写体を写した入力画像Pinであるのに、カウント値の最大値Maxが閾値Thより小さくなり、入力画像Pin中に参照画像Prが含まれないと判定されることがある。
そこで、演算部12は、最大値Maxが閾値Thより小さく、カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って最大値Maxを基準とする設定した範囲内のカウント値を合算して合算値Sumを計算する。図1の例は横方向にカウント値の分布が延伸する場合を示している。但し、実際には撮影方向が上下に異なる場合には縦方向にカウント値の分布が延伸する。つまり、撮影方向が異なる場合、一の方向にカウント値の分布が延伸する。
上記の合算対象の範囲は、例えば、最大値Maxを中心として一の方向に沿って予め設定した小領域分の長さと、一の方向と垂直方向に予め設定した小領域分の幅とで決まる範囲に設定される。あるいは、合算対象の範囲は、最大値Maxの小領域から連続し、カウント値が予め設定した閾値(後述する二値化閾値ThBなど)より大きい小領域を含む範囲に設定することもできる。
演算部12は、合算値Sumが閾値Thより大きい場合に、入力画像Pinに参照画像Prが含まれると判定する。合算値Sumが閾値Thより大きくなる程度に最大値Max周辺にカウント値が集中していなければ、入力画像Pinに参照画像Prが含まれると判定されない。さらに、両画像で同じ被写体を含まない場合には、一の方向にカウント値の分布が延伸した形状となる可能性は低いため、誤判定のリスクは低い。
ここで、図1の例について、一の方向に延伸した形状であるかを判定する方法について述べる。この例において、演算部12は、最大値Maxが閾値Thより小さい場合、投票マップMPのカウント値と二値化閾値ThB(この例では3)とを比較し、二値化閾値ThBがカウント値より大きい場合に1、小さい場合に0とする。そして、演算部12は、1とした範囲の横幅WBと縦幅HBとの比WB/HBを計算し、比WB/HBが形状判定閾値ThHWより大きいか否かを判定する。
比WB/HBが形状判定閾値ThHWより大きい場合、演算部12は、合算値Sumの計算(集約)を実行する(集約OK)。一方、比WB/HBが形状判定閾値ThHWより小さい場合、演算部12は、合算値Sumの計算(集約)を実行せず(集約NG)、入力画像Pinに参照画像Prが含まれないと判定する。
集約OKの場合、演算部12は、合算値Sumと閾値Thとを比較する。そして、演算部12は、合算値Sumが閾値Thより大きい場合には入力画像Pinに参照画像Prが含まれると判定し、小さい場合には入力画像Pinに参照画像Prが含まれないと判定する。このような方法を適用することで、演算部12は、一の方向に延伸した形状であるかを判定できる。
上記のように、カウント値の合計値Sumを利用して判定を行えるようにすることで、参照画像Prと同じ被写体を含む異なる方向から撮影した入力画像Pinに対して正しく類似判断を行うことが可能になる。また、カウント値の分布形状の判定をさらに行っているため、類似判断の正確性もさらに高まっている。結果として、撮影方向の異なる参照画像Prを多数用いずとも正しく画像認識できるようになり、参照画像Prの保持に用いる記憶容量の節約効果や処理負荷の低減効果が得られる。さらに、1枚の入力画像Pinに対して照合する参照画像Prの数を減らすことができるため、処理速度も高速化され、短い時間で認識結果を応答することが可能になる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
[2−1.システム]
図2を参照しながら、第2実施形態に係るシステムについて説明する。図2は、第2実施形態に係るシステムの一例を示した図である。
図2に示すように、第2実施形態に係るシステムは、端末装置100及びサーバ装置200を含む。なお、携帯電話、スマートフォン、デジタルカメラ、パーソナルコンピュータなどのデバイスは、端末装置100の一例である。また、アプリケーションサーバやコンテンツマネジメントシステムなどは、サーバ装置200の一例である。
端末装置100は、無線基地局BS及びネットワークNWを介してサーバ装置200にアクセスすることができる。例えば、無線基地局BSは、移動体通信用の基地局や無線LAN(Local Area Network)用の基地局などである。また、ネットワークNWは、移動体通信の基幹回線網やWAN(Wide Area Network)などである。
第2実施形態に係るシステムは、例えば、ユーザが端末装置100を利用して撮像した撮像画像をサーバ装置200が管理する写真管理サービスなどに適用できる。また、第2実施形態に係るシステムは、写真管理機能を有するSNS(Social Networking Service)などのソーシャルメディアサービスにも適用可能である。ここでは、説明の都合上、写真管理サービスを例に説明を進める。もちろん、第2実施形態に係るシステムの適用対象となりうるサービスの範囲はこれに限定されない。
多くの場合、画像の管理には、時間情報や位置情報が用いられる。例えば、撮影日時に応じて画像をグループ化する方法や、GPS(Global Positioning System)を利用して撮影時に取得した位置情報に基づき同じ地域で撮影された画像をグループ化する方法などがある。このような方法により画像をグループ化しておけば、ユーザが記憶している撮影時間や撮影場所の情報をヒントに、後日、所望の画像を容易に見つけ出すことが可能になる。また、イベントなどの情報をもとに画像を検索できるようにするため、「家族旅行」や「結婚式」などのタグを画像に付してタグ毎に画像を整理する方法もある。
上記の方法はいずれも画像の管理に有用である。第2実施形態に係るシステムは、さらに画像管理の有用性を高めるため、画像から特定物(以下、ランドマーク)を自動認識し、その認識結果を画像にタグ付けする仕組みを提供する。例えば、端末装置100を利用して旅行先で撮影した画像から、サーバ装置200がランドマーク(例えば、有名な寺や城など)を自動認識してタグを付与する。この仕組みによれば、ランドマークを指定した画像検索や、ランドマークを基準とする画像の自動整理を実現することができる。
ランドマークの認識は、ランドマークの画像(以下、参照画像)と類似する画像が入力画像に含まれるか否かを判定する処理に基づいて行われる。なお、参照画像としては、ランドマークを正面から撮影した画像の他、様々な角度から撮影した画像が利用されることもある。また、様々なサイズで撮影したランドマークの画像が利用されることもある。このように、同じランドマークに対して複数の参照画像が利用されることで、認識の失敗や誤認識の発生を低減することができる。但し、多くの参照画像を利用すれば、演算負荷や参照画像を保持するための記憶容量も増加するため、限られた数の参照画像を利用して効率的に精度を高める工夫をすることが好ましい。こうした工夫については後述する。
ランドマークの認識は、例えば、次のような手順で行われる。
まず、端末装置100が、ランドマークの認識対象とする入力画像に対して複数の特徴点を設定する。但し、特徴点の位置は予め設定されているものとする。特徴点を配置する方法としては、例えば、予め決められた間隔で等間隔に配置する方法や、ランダムに決められた不規則な配置パターンで配置する方法などがある。なお、サーバ装置200において参照画像に設定される特徴点と同じ配置方法で入力画像に特徴点が設定される。
特徴点を設定した端末装置100は、入力画像に設定した特徴点の周辺領域(以下、特徴領域)から特徴量を抽出する。特徴領域としては、例えば、特徴点を中心とする矩形領域(例えば、一辺が48画素の矩形領域)が利用される。また、特徴量としては、例えば、BRIEF、SIFT、SURF、CARD、FREAK、BRISKなどを利用可能である。以下では、BRIEFを利用する方法について例示する。
端末装置100が抽出した特徴量はサーバ装置200に送信される。サーバ装置200は、参照画像に設定した特徴点について特徴領域から特徴量を抽出する。但し、予め抽出された参照画像の特徴量をサーバ装置200が保持している場合、サーバ装置200は、保持している特徴量を利用する。サーバ装置200は、特徴量を利用して入力画像の特徴領域と参照画像の特徴領域との類似度を計算し、類似度が高い特徴領域に対応する特徴点の組を抽出する。
特徴点の組を抽出したサーバ装置200は、抽出した特徴点の組について統計処理を実行し、入力画像中に参照画像が含まれるか否かを判定する。なお、統計処理としては、例えば、後述する投票処理などを利用可能である。サーバ装置200は、全ての参照画像について判定処理を実行して入力画像中に含まれる参照画像を特定する。参照画像を特定したサーバ装置200は、特定した参照画像に対応するランドマークの情報を端末装置100に送信する。
このように、第2実施形態に係るシステムでは、ランドマークの認識に係る主な処理をサーバ装置200が実行する。
上記のように、第2実施形態に係るシステムでは、端末装置100からサーバ装置200へと入力画像を送らず、特徴量だけを送る仕組みとしているため、個人情報である入力画像がネットワークNWなどを介して端末装置100の外部へ漏れる心配がない。
また、BRIEFなどの特徴量を利用するため、端末装置100に過度な負荷をかけずにサービスの提供を受けることができる。つまり、第2実施形態に係るシステムを適用すれば、ユーザが気軽に安心して利用できる情報サービスを提供することが可能になる。
以上、第2実施形態に係るシステムについて説明した。以下、このシステムに含まれる端末装置100及びサーバ装置200について、さらに説明する。
[2−2.ハードウェア]
図3を参照しながら、端末装置100が有する機能を実現することが可能なハードウェアについて説明する。図3は、第2実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。
端末装置100が有する機能は、例えば、図3に示すハードウェア資源を用いて実現することが可能である。つまり、端末装置100が有する機能は、コンピュータプログラムを用いて図3に示すハードウェアを制御することにより実現される。
図3に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタやカメラなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、端末装置100のハードウェアについて説明した。なお、上記のハードウェアは、サーバ装置200が有する機能を実現することも可能である。従って、サーバ装置200のハードウェアについては説明を省略する。
[2−3.端末装置の機能]
次に、図4〜図7を参照しながら、端末装置100の機能について説明する。
図4は、第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。また、図5は、第2実施形態に係る画素ペア情報の一例を示した図である。また、図6は、第2実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。また、図7は、第2実施形態に係る特徴量の計算について説明するための図である。
図4に示すように、端末装置100は、記憶部101、画像取得部102、特徴点設定部103、特徴量計算部104、及び送信部105を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。画像取得部102、特徴点設定部103、及び特徴量計算部104の機能は、上述したCPU902などを用いて実現できる。送信部105の機能は、上述した接続ポート924や通信部926などを用いて実現できる。
(画素ペア情報101aについて)
記憶部101には、画素ペア情報101aが格納される。画素ペア情報101aは、画像の特徴点毎に設定される特徴領域の特徴量を計算する際に用いる画素のペア(以下、画素ペア)を表す情報である。例えば、画素ペア情報101aには、画素ペアを成す2つの画素の位置を示す位置情報が含まれる。なお、特徴領域は、例えば、特徴点を中心とする矩形領域であり、32画素×32画素や48画素×48画素などのサイズに設定される。
画素ペア情報101aの一例を図5に示す。図5に示すように、画素ペア情報101aには、画素ペアLk(k=1、2、…)を成す2つの画素の座標(X1,Y1)及び(X2,Y2)が含まれる。画素の座標は、例えば、特徴領域の左上を原点(0,0)とした座標値で表現される。また、画素ペアの数は、例えば、128個、256個、512個などに設定される。画素ペアの数を256個に設定した場合、特徴領域毎に256個の画素ペアが設定される。
(特徴点の設定について)
再び図4を参照する。画像取得部102は、ランドマークの認識対象となる画像(以下、入力画像Pin)を取得する。例えば、画像取得部102は、外部の記憶装置(非図示)又は端末装置100に接続されたカメラ(非図示)から入力画像Pinを取得する。また、画像取得部102は、端末装置100が有するカメラ機能を利用して入力画像Pinを取得してもよい。このようにして画像取得部102により取得された入力画像Pinは、記憶部101に格納される。
特徴点設定部103は、記憶部101に格納された入力画像Pinを読み出し、読み出した入力画像Pinに複数の特徴点を設定する。例えば、特徴点設定部103は、図6に示すように、等間隔に配置された複数の特徴点を抽出する方法(Dense Sampling)を用いて入力画像Pinに特徴点を設定する。但し、特徴点の設定にはFAST(Features from Accelerated Segment Test)などの方法も適用できる。
以下、入力画像Pinに設定される特徴点をWinと表記する場合がある。また、図6に示すように、特徴点Winを基準に設定される特徴領域をAinと表記する場合がある。このようにして特徴点設定部103により設定された特徴点Win及び特徴領域Ainの情報は、記憶部101に格納される。また、特徴点Win及び特徴領域Ainの情報は、特徴量計算部104に入力される。
(特徴量の計算について)
再び図4を参照する。特徴量計算部104は、画素ペア情報101aを参照し、特徴点設定部103により設定された特徴領域Ainの特徴量を計算する。
例えば、特徴量計算部104は、図7に示すように、入力画像Pinの特徴領域Ainから画素ペア毎に各画素の輝度を抽出する(C1)。次いで、特徴量計算部104は、画素ペア毎に抽出した2つの輝度の差分を求めることで、各画素ペアの輝度差を計算する(C2)。次いで、特徴量計算部104は、計算した輝度差の符号(正負)を表すビット値を並べたビット列(以下、局所特徴量)を生成する(C3)。
なお、輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「1」に対応付けられ、負の符号がビット値「0」に対応付けられている。また、輝度差を計算する際、画素ペアを成す2つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。例えば、座標(X1,Y1)に位置する画素の輝度から座標(X2,Y2)に位置する画素の輝度を減算した輝度差の符号を局所特徴量の生成に利用することが予め設定されている。
また、局所特徴量を生成する際、ビット値を並べる順番も予め設定されている。例えば、画素ペア情報101aに記載された画素ペアのIndex順にビット値が計算され、計算された順に並べて局所特徴量が生成される。例えば、256個の画素ペアが設定されている場合、256ビットのビット列で表現された局所特徴量が得られる。局所特徴量は、入力画像Pinに含まれる全ての特徴領域Ainについて計算される。そして、入力画像Pinについて特徴量計算部104により計算された局所特徴量の組は、送信部105に入力される。
(特徴量の送信について)
再び図4を参照する。上記のようにして入力画像Pinについて特徴量計算部104により計算された局所特徴量は、送信部105に入力される。送信部105は、特徴量計算部104から入力された局所特徴量をサーバ装置200へ送信する。このとき、入力画像Pinがサーバ装置200へと送信されないため、入力画像Pinに含まれるユーザの個人的な情報がネットワークNWを介して外部へと漏洩するリスクを抑制することが可能になる。
以上、端末装置100の機能について説明した。
[2−4.サーバ装置の機能]
次に、図8〜図18を参照しながら、サーバ装置200の機能について説明する。
図8は、第2実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。また、図9は、第2実施形態に係る参照画像情報(参照画像管理テーブル)の一例を示した図である。図10は、撮影方向の例について説明するための図である。図11は、第2実施形態に係る参照画像情報(隣接画像管理テーブル)の一例を示した図である。
図12は、第2実施形態に係る参照画像情報(特徴量管理テーブル)の一例を示した図である。また、図13は、第2実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。図14は、第2実施形態に係る投票処理について説明するための図である。図15は、第2実施形態に係る物体の端部から中心までの距離について説明するための図である。
図16は、第2実施形態に係る判定処理(最大検出、水平判定、左右判定)について説明するための図である。図17は、第2実施形態に係る判定処理(集約、判定、有無判断)について説明するための図である。図18は、第2実施形態に係る判定用情報(集約範囲調整用パラメータ)の一例を示した図である。
図8に示すように、サーバ装置200は、記憶部201、受信部202、距離計算部203、投票処理部204、及び判定処理部205を有する。
なお、記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。受信部202の機能は、上述した接続ポート924や通信部926などを用いて実現できる。距離計算部203、投票処理部204、及び判定処理部205の機能は、上述したCPU902などを用いて実現できる。
(画素ペア情報201a、参照画像情報201b、判定用情報201cについて)
記憶部201には、ランドマークを撮影した画像(参照画像Pr)、画素ペア情報201a、参照画像情報201b、及び判定用情報201cが格納される。
画素ペア情報201aは、端末装置100の記憶部101に格納されている画素ペア情報101aと同じ画素ペアに関する情報である。参照画像情報201bは、参照画像Prに関連する情報である。判定用情報201cは、複数の参照画像Prを利用してランドマークの有無を判断する際に行う判定処理(後述)に用いる情報である。
参照画像情報201bは、参照画像管理テーブル、隣接画像管理テーブル、及び特徴量管理テーブルを含む。
(参照画像管理テーブル)
記憶部201には、様々なランドマークに対応する参照画像Prが格納されている。また、1つのランドマークについて複数のサイズ、複数の撮影方向に対応する複数の参照画像Prが記憶部201に格納されている。これらの参照画像Prのデータとランドマークとを対応付ける情報が参照画像管理テーブルである。
例えば、参照画像管理テーブルは、図9に示すように、ランドマークを特定する識別情報(以下、物体ID)と、ランドマークの名称(以下、物体名)と、参照画像Prの画像データを特定する識別情報(以下、画像ID)とを対応付ける。なお、以下の説明において、画像IDをID#1と表記する場合がある。
図9に例示した参照画像管理テーブルの場合、画像IDが001、002、003、004のレコードには、いずれも物体ID「1001」及び物体名「XYZ城」が対応付けられている。このことから、画像IDが001、002、003、004の画像データは、いずれもXYZ城を撮影した画像データであることが分かる。例えば、画像IDが001、002、003、004の画像データは、それぞれ異なる撮影方向からXYZ城を撮影した画像データである。
以下、説明の都合上、画像ID「001」の画像データは、XYZ城を正面から撮影した画像データであるとする。また、画像ID「002」の画像データは、XYZ城を右90度の方向から撮影した画像データであるとする。同様に、画像ID「003」、「004」の画像データは、それぞれXYZ城を180度、左90度の方向から撮影した画像データであるとする。
なお、「右90度」、「左90度」の「右」、「左」とは、図10に示すように、ランドマークとなる物体の正面に向かって右方向に位置するか、左方向に位置するかを表す。また、「右90度」、「180度」、「左90度」の「90度」、「180度」とは、物体の正面に向かう方向を0度とし、物体が載置された平面(以下、平面G)上で回転した角度を表す。
図10に示すように、物体の正面に向かう方向をX軸、平面GをX−Y面、平面Gに垂直な方向をZ軸とすると、撮影方向は、例えば、X−Y面内の回転角度aを用いて表現することもできる。但し、以下では「右90度」などの表現を用いる。なお、撮影方向の一例として、「正面」、「右90度」、「180度」、「左90度」を示したが、「右45度」、「左45度」など、任意の撮影方向を設定し、その撮影方向に対応する参照画像Prを記憶部201に格納しておくことも可能である。
(隣接画像管理テーブル)
上記の撮影方向は、例えば、互いに隣接する複数の参照画像Prを特定する際に用いられる。例えば、記憶部201には、図11に示すように、相対的に右側、左側に位置する参照画像Prの画像データを対応付ける隣接画像管理テーブルが格納される。図11の例では、右側に位置する参照画像Prの画像IDと、左側に位置する参照画像Prの画像IDとが対応付けられている。なお、右側を「基準」、左側を「隣接」と表現する場合がある。
例えば、物体を正面から撮影した参照画像Prを基準にすると、その左側に隣接する参照画像Prは、物体を左90度から撮影した参照画像Prとなる。従って、図11に例示した隣接画像管理テーブルでは、画像ID「001」(基準)と画像ID「004」(隣接)とが対応付けられている。同様に、画像ID「002」(基準)と画像ID「001」(隣接)とが対応付けられている。他の画像IDについても同様である。このような隣接画像管理テーブルを参照すれば、隣接する参照画像Prの特定が容易になる。
なお、図11には、2つの参照画像Prについて隣接する参照画像Prの関係を隣接画像管理テーブルに記録する例を示したが、隣接画像管理テーブルで3つ以上の隣接する参照画像Prの位置関係を管理する仕組みに変形してもよい。例えば、基準とする方向に対応する参照画像Prと、基準とする方向の右側及び左側に対応する2つの参照画像Prとを対応付けるように隣接画像管理テーブルを変形してもよい。このような変形についても第2実施形態の技術的範囲に含まれる。
(特徴量管理テーブル)
特徴量管理テーブルは、参照画像Prに含まれる各特徴点と、特徴点毎に計算された局所特徴量とを対応付ける情報である。特徴量管理テーブルは、参照画像Pr毎に設けられる。つまり、参照画像管理テーブルのレコード毎に特徴量管理テーブルが設けられる。一例として、画像IDが001、002、003のレコードに対応する特徴量管理テーブルを図12に示した。
図12に示すように、特徴量管理テーブルの各レコードは識別番号ID#2により特定される。例えば、ID#1が001、ID#2が002のレコードを参照すると、特徴点(X2,Y2)に対し、局所特徴量01100…が対応付けられている。参照画像Prの特徴点は、入力画像Pinに特徴点を設定する場合と同様に、Dense Samplingなどの方法により設定される(図13を参照)。
なお、参照画像Prに設定される特徴点をWrと表記する場合がある。また、図13に示すように、特徴点Wrを基準に設定される特徴領域をArと表記する場合がある。特徴量管理テーブルには、特徴点Wr毎に設定された参照画像Prの特徴領域Arから予め計算された局所特徴量が記録される。なお、特徴領域Arから局所特徴量を計算する方法は、入力画像Pinの特徴領域Ainから局所特徴量を計算する方法(図7を参照)と同様である。
(距離計算について)
再び図8を参照する。受信部202は、端末装置100から入力画像Pinの局所特徴量を受信する。受信部202により受信された入力画像Pinの局所特徴量は、距離計算部203に入力される。距離計算部203は、局所特徴量に基づき、入力画像Pinの各特徴領域Ainと参照画像Prの各特徴領域Arとの距離(特徴の相違度)を計算する。このとき、距離計算部203は、参照画像管理テーブルに含まれる各参照画像Prについて距離を計算する。
ここで、1つの特徴領域Ainと1つの特徴領域Arとの距離(以下、距離D)を計算する方法について説明する。なお、特徴領域Ainの局所特徴量をLFin、特徴領域Arの局所特徴量をLFrと表記する。
距離計算部203は、下記の式(1)に従って、局所特徴量LFin、LFrからビット列HVを計算する。但し、下記の式(1)において、ANDは論理積演算を表し、XORは排他的論理和演算を表す。また、下記の式(1)は、局所特徴量LFin、LFrの各ビット値について、一致する場合に1、不一致の場合に0とする演算を表す。
また、距離計算部203は、ビット列HVの長さ(HVに含まれるビット値1の数)を計算する。ビット列HVの長さは、特徴領域Ain、Ar間における特徴の相違度を表す距離Dとなる。つまり、距離Dが大きいほど特徴領域Ain、Arの特徴が大きく相違し、距離Dが小さいほど特徴領域Ain、Arの特徴が類似していることを表す。距離計算部203により計算された距離Dは、投票処理部204に入力される。
HV=LFin XOR LFr
…(1)
(投票処理について)
投票処理部204は、参照画像Prの特徴領域Arと、入力画像Pinの各特徴領域Ainとの組について計算された距離Dに基づき、類似度が最も高い(距離Dが最も小さくなる)特徴領域Ar、Ainの組を抽出する。つまり、投票処理部204は、参照画像Prの各特徴領域Arについて、類似度が最も高い特徴領域Ain、Arの組に対応する特徴点の組を抽出する(対応点探索)。以下の説明において、投票処理部204が抽出した特徴点の組のうち、特徴領域Arの特徴点に対応する特徴領域Ainの特徴点を「対応点」と呼ぶ場合がある。
図14に示すように、対応点探索により特徴点の組が得られると、投票処理部204は、特徴領域Arの特徴点と参照画像Prの中心との位置関係に基づき、参照画像Prの中心が位置する入力画像Pin内の位置(以下、「特定点」と呼ぶ場合がある。)を特定する(中心推定)。なお、参照画像Prの中心に代えて、参照画像Prの他の点(例えば、画像全体を上下左右に三分割する線の交点など)を利用してもよい。
つまり、投票処理部204は、既知である特徴領域Arの特徴点から参照画像Prの中心への向き及び距離を利用し、対応点から同じ向きへ同じ距離だけ移動した位置を、参照画像Prの中心が一致する可能性の高い点(特定点)として特定する。この特定は、対応点と、特徴領域Arの特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合に、入力画像Pinにおける参照画像Prの中心を計算する処理に相当する。
例えば、特定点の座標を(Xv,Yv)、入力画像Pinの横幅をwi、高さをhi、参照画像Prの横幅をwr、高さをhrとすると、座標(Xv,Yv)は、下記の式(2)及び式(3)により計算できる。但し、参照画像Prの特徴点を座標(Xr,Yr)と表記し、対応点の座標を(Xi,Yi)と表記している。
Figure 2016045538
Figure 2016045538
また、投票処理部204は、計算した特定点の座標に基づいて統計的手法により入力画像Pinに参照画像Prが含まれるか否かを判定する。このとき、投票処理部204は、統計的手法として、例えば、投票を採用する。投票には、図14に示すように、入力画像Pinと同じサイズの領域に枡目を設けた投票マップ(以下、投票マップMP)が利用される。また、投票マップMPの各枡目にはカウンタが対応付けられている。
投票処理部204は、特定点の座標を含む枡目を抽出し、抽出した枡目に対応するカウンタのカウント値(投票数)をカウントアップする。このカウントアップの処理を投票と呼ぶ。投票処理部204は、参照画像Prの各特徴点について同様に投票を行う。入力画像Pinに参照画像Prの物体が含まれている場合、投票マップMPにおける投票数の分布は、参照画像Prの中心に対応する位置にピークを有する。なお、投票マップMPの情報は、判定処理部205に入力される。
投票が終了すると、判定処理部205は、投票マップMPの中から投票数が最大の枡目を検出し、最大の投票数と予め設定されている第1閾値Th1とを比較する。第1閾値Th1は、例えば、様々な入力画像Pin、参照画像Prの組み合わせについて実験又はシミュレーションを行い、許容可能な精度で正しい判定結果が得られる値に設定される。なお、最大の投票数を投票マップMP内の全投票数で割って正規化した値と第1閾値Th1とを比較するように判定処理部205の機能を変形してもよい。
最大の投票数が第1閾値Th1より大きい場合、判定処理部205は、入力画像Pinの中に参照画像Prが存在すると判定する。一方、最大の投票数が第1閾値Th1より小さい場合、判定処理部205は、投票を実行した参照画像Prの投票マップMPと、当該参照画像Prに隣接する他の参照画像Prの投票マップMPとを用いて物体の有無を判断する。
図14の例において、入力画像Pinは、物体を左45度の方向から撮影した画像である。この場合、画像IDが004の参照画像Pr(撮影方向が左90度の場合)を用いて投票処理を実行すると、投票マップMPにおける投票数の分布は、物体を左90度の方向から撮影した入力画像Pinについて計算した投票数の分布に比べて幅の広い分布となる。ここで、このような分布の違いが生じる理由について説明する。
既に説明したように、投票処理は、参照画像Prにおける特徴点と中心との位置関係から特定される特定点に基づいて実行される。図15に示すように、参照画像Prの撮影方向と入力画像Pinの撮影方向とが異なる場合、参照画像Prにおける物体の領域(左90度から見た面)と、当該領域に対応する入力画像Pin中の領域との間で幅が異なる。
参照画像Prにおける物体の領域の幅をW1、この領域に対応する入力画像Pin中の領域の幅をW2と表記すると、図15に示すように、W2/2<W1/2となる。なお、W1/2は、参照画像Prにおける物体の端部に位置する特徴点から中心までの距離である。また、参照画像Prの中心に対応する物体の部分と同じ部分に対応する入力画像Pin中の点を特定点0と呼ぶと、W2/2は、入力画像Pinにおける物体の端部に位置する特徴点から特定点0までの距離である。
また、参照画像Prにおける物体の端部に位置する特徴領域Arについて対応点探索及び中心推定により特定された特定点を特定点1とすると、特定点0と特定点1との間に、(W1/2−W2/2)のずれが生じる。ここでは物体の端部に注目して特定点0、1のずれについて説明したが、他の特徴点についても同様にずれが生じる。このずれは、物体の端部に近いほど大きくなる。結果として、特定点の分布が拡がり、投票マップMPにおける投票数の分布の幅が大きくなる。
投票マップMPにおける分布の幅が大きくなると最大の投票数が小さくなる。そして、分布の拡がりに起因して最大の投票数が第1閾値Th1より小さくなる可能性がある。そこで、判定処理部205は、投票を実行した参照画像Prの投票マップMPと、当該参照画像Prに隣接する参照画像Prの投票マップMPとを用いて物体の有無を判断する。
判定処理部205は、投票処理を実行した参照画像Prに隣接する他の参照画像Prについて実行した投票マップMPの情報を投票処理部204から取得する。例えば、投票処理を実行した参照画像Prの画像IDが001である場合、判定処理部205は、隣接画像管理テーブルを参照して画像IDが004の参照画像Prを特定する。そして、判定処理部205は、画像IDが004の参照画像Prに関する投票マップMPの情報を投票処理部204から取得する。
なお、画像IDが001の参照画像Prを参照画像Pr(001)と表記し、画像IDが004の参照画像Prを参照画像Pr(004)と表記する。また、参照画像Pr(001)の投票マップMPを投票マップMP(001)と表記し、参照画像Pr(004)の投票マップMPを投票マップMP(004)と表記する。
図16に示すように、判定処理部205は、投票マップMP(001)から最大の投票数に対応する枡目の座標(H1,V1)を取得する。また、判定処理部205は、投票マップMP(004)から最大の投票数に対応する枡目の座標(H4,V4)を取得する。なお、図16の例では、投票マップMPの左上を原点(0,0)とし、右方向にH個、下方向にV個移動した枡目の座標を(H,V)と表現する方法で枡目の座標を表現している。もちろん、投票マップMPにおける座標の表現方法はこれに限定されない。
図16の例では、(H1,V1)=(5,3)であり、(H4,V4)=(3,3)である。判定処理部205は、平面Gに垂直な方向(Z方向;投票マップMPの上下方向)に関する座標値の差(つまり、|V1−V4|)を計算する。そして、判定処理部205は、計算した差|V1−V4|と予め設定されている第2閾値Th2とを比較する(水平判定)。但し、|…|は絶対値を表す。
第2閾値Th2は、例えば、物体が載置された平面G上で撮影方向を様々に変えて撮影した参照画像Pr及び入力画像Pinを用いて実験やシミュレーションなどを行い、平面Gに垂直な方向に生じる最大の投票数のばらつきなどに基づいて決定できる。
差|V1−V4|が第2閾値Th2より小さい場合、判定処理部205は、参照画像Pr(004)の撮影方向と参照画像Pr(001)の撮影方向とが許容可能な誤差の範囲内で同じ面内にあると判定する。一方、差|V1−V4|が第2閾値Th2より大きい場合、判定処理部205は、入力画像Pinの中に参照画像Pr(001)及び参照画像Pr(004)に含まれる物体が存在しないと判定する。
また、判定処理部205は、最大の投票数の枡目が位置する座標について、平面Gに並行な方向(X−Y面内の方向;投票マップMPの左右方向)に関する座標値の大小関係が、撮影方向の関係(隣接方向)と整合するか否かを判定する(左右判定)。
例えば、撮影方向の関係から、参照画像Pr(001)は右側、参照画像Pr(004)は左側に位置する(図11を参照)。そのため、参照画像Pr(001)及び参照画像Pr(004)の物体が入力画像Pinに含まれる場合、参照画像Pr(001)に関する最大の投票数の枡目は、参照画像Pr(004)に関する最大の投票数の枡目よりも右側に位置する。つまり、この場合にはH1>H4となる。
そこで、判定処理部205は、H1がH4より大きいか否かを判定する。H1>H4の場合、判定処理部205は、投票マップMPの左右方向に関する座標値の大小関係が、撮影方向の関係(隣接方向)と整合すると判定する。一方、H1<H4の場合、判定処理部205は、入力画像Pinの中に参照画像Pr(001)及び参照画像Pr(004)に含まれる物体が存在しないと判定する。なお、H1=H4の場合については、H1>H4と同じ判定を行うか、H1<H4と同じ判定を行うかを予め任意に設定してよい。
水平判定において差|V1−V2|が第2閾値Th2より大きいと判定され、左右判定においてH1>H4と判定された場合、判定処理部205は、投票数を集約する処理を実行する。投票数の集約は、図17に示すように、投票マップMPの中で最大の投票数を有する枡目を基準に、設定した範囲(以下、集約範囲)内にある投票数を最大の投票数に合算する処理である。集約範囲の設定方法については後述する。
図17の例において、判定処理部205は、投票マップMP(004)の最大の投票数に集約範囲内の投票数を合算する(S11;集約)。また、判定処理部205は、合算した投票数が第3閾値Th3より大きいか否かを判定する(S12;判定)。第3閾値Th3は、第1閾値Th1と同じ値に設定されてもよいし、第1閾値Th1より小さい値に設定されてもよい。
同様に、判定処理部205は、投票マップMP(001)の最大の投票数に集約範囲内の投票数を合算する(S21;集約)。また、判定処理部205は、合算した投票数が第3閾値Th3より大きいか否かを判定する(S22;判定)。そして、判定処理部205は、S12及びS22における判定の結果に基づいて参照画像Pr(001)及び参照画像Pr(004)の物体が入力画像Pinに含まれるか否かを判断する(S31;有無判断)。
例えば、判定処理部205は、S12又はS22の少なくとも一方で、合算した投票数が第3閾値Th3より大きいと判定された場合に、入力画像Pinに物体が含まれると判断する。但し、判定処理部205は、S12又はS22の両方で、合算した投票数が第3閾値Th3より大きいと判定された場合に、入力画像Pinに物体が含まれると判断してもよい。
上記のように、投票マップを利用して判定を行うことで、入力画像Pinと参照画像Prとの間に生じた許容可能な誤差を吸収し、ロバストな判定を行うことができる。
また、投票数を集約することにより、参照画像Prと入力画像Pinとの撮影方向の違いによる投票数の分散に起因して、同じ物体が含まれるにもかかわらず、その物体が存在しないと誤判定されるリスクを低減することができる。さらに、水平判定及び左右判定を行うことにより、集約した投票数が偶然に第3閾値Th3より大きくなるような場合に誤判断が生じにくくすることができる。
上述した処理により、入力画像Pinの中に物体が存在すると判定した場合、判定処理部205は、対応する参照画像Prの参照画像管理テーブルを記憶部201から読み出し、参照画像Prに含まれるランドマークの情報を端末装置100に送信する。
端末装置100に送信されるランドマークの情報は、例えば、入力画像Pinに含まれると判定された物体の物体名や画像IDなどである。また、ランドマーク毎にタグ情報を用意しておき、判定結果に応じてランドマークに対応するタグ情報が端末装置100に送信されるようにしてもよい。この場合、端末装置100でタグ情報が入力画像Pinに自動付与される仕組みを実現することができる。
また、複数のランドマークが存在すると判定された場合、判定処理部205は、それら全てのランドマークの情報を端末装置100に送信してもよいし、投票マップMP全体における投票数の合計値や最大の投票数が最も大きいランドマークの情報だけを端末装置100に送信してもよい。
また、参照画像管理テーブルに含まれる全ての参照画像Prについて、入力画像Pinの中に参照画像Prが存在しないと判定した場合、判定処理部205は、ランドマークが存在しない旨を示すエラー情報を端末装置100に送信する。
(集約範囲について)
ここで、集約範囲について、さらに説明する。
既に説明したように、投票マップMPにおける投票数の分散は、参照画像Prの撮影方向と入力画像Pinの撮影方向との差に起因して生じる。つまり、参照画像Prにおける物体の幅と入力画像Pinにおける物体の幅とが異なることにより、参照画像Prにおける特徴点と中心との位置関係に基づく投票を行うと、投票数の分布が拡がる。
参照画像Prにおける物体の横幅をW1、入力画像Pinにおける物体(但し、参照画像Prに写っている物体の部分)の横幅をW2とすると、参照画像Prにおける特徴点から中心までの距離は、最大でW1/2となる。また、入力画像Pinにおける特徴点から中心までの距離は、最大でW2/2となる。
1とW2とが同じであれば、投票位置のずれは理論上0となる。また、W2が小さくなると投票位置のずれが拡大し、最大でW1/2の投票位置のずれが生じる。そこで、集約範囲は、投票位置のずれが最大となる場合を基準に実験又はシミュレーションにより決定される。
ここで、投票マップMPの中で集約範囲の左上座標を(HL,VL)、右下座標を(HR,VR)と表記する。また、参照画像Prにおける物体の幅を参照画像Prの横幅wrと同じに設定すると、投票位置のずれは、最大でwr/2となる。投票マップMPの左上を原点(0,0)とし、最大の投票数を有する枡目の座標を(HM,VM)とすると、例えば、HL、VL、HR、VRは、それぞれ下記の式(4)〜式(7)で与えられる。
L = HM−(wr/2)×d
…(4)
L = VM
…(5)
R = HM+(wr/2)×d
…(6)
R = VM
…(7)
但し、上記の式(4)及び式(6)に含まれるパラメータdは、0以上、1以下の実数である。パラメータdは、予め設定された1つの値であってもよいし、予め設定された複数の値に基づいて離散的又は連続的に変化する値であってもよい。
例えば、図18に示すように、参照画像Prと入力画像Pinとの撮影方向の差(角度)に応じたパラメータdを用意しておき、判定処理部205が、そのパラメータdを利用する方法を適用できる。なお、パラメータdは、様々な参照画像Prと入力画像Pinとを用意し、実験又はシミュレーションにより撮影方向の差毎に誤判定が少なくなるように設定される。
上記の方法を適用する場合、判定処理部205は、パラメータdを順次選択して集約範囲を設定し、設定した集約範囲毎に、合算した投票数と第3閾値Th3とを比較する。このとき、判定処理部205は、少なくとも1つの集約範囲について、合算した投票数が第3閾値Th3より大きくなるか否かを判定し、その判定の結果に基づいて物体の有無を判断する。
上記の式(4)〜式(7)に基づく集約範囲の設定方法は、最大の投票数を有する枡目の座標(HM,VM)を基準としているが、基準座標に幅を持たせることもできる。例えば、座標(HM,VM)の周辺10画素四方の範囲内で、上記の式(4)〜式(7)に含まれるHM、VMを変化させ、HM、VMの組毎に設定される集約範囲内で合算した投票数の最大値を集約結果として採用する方法を適用することができる。この方法によれば、入力画像Pinと参照画像Prとの差に対してよりロバストな判定ができるようになる。
以上、サーバ装置200の機能について説明した。
[2−5.処理の流れ]
次に、端末装置100及びサーバ装置200が実行する処理の流れについて説明する。
(端末装置の動作について)
図19及び図20を参照しながら、端末装置100の動作に係る処理の流れについて説明する。
なお、図19は、第2実施形態に係る端末装置の動作について説明するためのフロー図である。図20は、第2実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。
(S101)画像取得部102は、ランドマークの認識対象となる画像(入力画像Pin)を取得する。
例えば、画像取得部102は、外部の記憶装置又は端末装置100に接続されたカメラから入力画像Pinを取得する。また、画像取得部102は、端末装置100が有するカメラ機能を利用して入力画像Pinを取得してもよい。画像取得部102により取得された入力画像Pinは、記憶部101に格納される。
(S102)特徴点設定部103は、記憶部101に格納された入力画像Pinを読み出し、読み出した入力画像Pinに複数の特徴点Winを設定する。
例えば、特徴点設定部103は、図6に示すように、等間隔に配置された複数の特徴点Winを抽出する方法(Dense Sampling)を用いて入力画像Pinに特徴点Winを設定する。但し、特徴点Winの設定にはFASTなどの方法も適用できる。
特徴点設定部103により設定された特徴点Win及び特徴領域Ainの情報は、記憶部101に格納される。また、特徴点Win及び特徴領域Ainの情報は、特徴量計算部104に入力される。
(S103)特徴量計算部104は、S102で設定された特徴点Winの1つを選択する。
(S104)特徴量計算部104は、画素ペア情報101aを参照し、S103で選択した特徴点Winに対応する特徴領域Ainの特徴量を計算する。
例えば、特徴量計算部104は、図7に示すように、入力画像Pinの特徴領域Ainから画素ペア毎に各画素の輝度を抽出する(C1)。次いで、特徴量計算部104は、画素ペア毎に抽出した2つの輝度の差分を求めることで、各画素ペアの輝度差を計算する(C2)。次いで、特徴量計算部104は、計算した輝度差の符号(正負)を表すビット値を並べたビット列(局所特徴量)を生成する(C3)。
(S105)特徴量計算部104は、入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えたか否かを判定する。入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えた場合、処理はS106へと進む。一方、入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えていない場合、処理はS103へと進む。
(S106)特徴量計算部104は、入力画像Pinについて計算した局所特徴量の組を送信部105に入力する。そして、送信部105は、特徴量計算部104から入力された局所特徴量をサーバ装置200へ送信する。S106の処理が完了すると、図19に示した一連の処理は終了する。
ここで、S104の処理について、さらに説明する。
(S111)特徴量計算部104は、画素ペア情報101aを参照し、特徴点Winの周辺に設定された特徴領域Ainに複数の画素ペアを設定する。
(S112)特徴量計算部104は、S111で設定した画素ペアを1つ選択する。
(S113)特徴量計算部104は、S112で選択した画素ペアの輝度差を計算する。例えば、特徴量計算部104は、入力画像Pinの特徴領域Ainから画素ペアの各画素の輝度を抽出する。そして、特徴量計算部104は、抽出した2つの輝度の差分を求めることで、画素ペアの輝度差を計算する。
(S114)特徴量計算部104は、S113で計算した輝度差の符号(正負)に対応するビット値を選択し、選択したビット値を局所特徴量のビット値に設定する。
なお、輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「1」に対応付けられ、負の符号がビット値「0」に対応付けられている。また、輝度差を計算する際、画素ペアを成す2つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。例えば、座標(X1,Y1)に位置する画素の輝度から座標(X2,Y2)に位置する画素の輝度を減算した輝度差の符号を局所特徴量の生成に利用することが予め設定されている。
(S115)特徴量計算部104は、全ての画素ペアを選択し終えたか否かを判定する。全ての画素ペアを選択し終えていない場合、処理はS112へと進む。一方、全ての画素ペアを選択し終えた場合、図20に示した一連の処理は終了する。
以上、端末装置100の動作に係る処理の流れについて説明した。
(サーバ装置の動作について)
次に、図21〜図23を参照しながら、サーバ装置200の動作に係る処理の流れについて説明する。
なお、図21は、第2実施形態に係るサーバ装置の動作について説明するためのフロー図である。図22は、第2実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。図23は、第2実施形態に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。
(S201)受信部202は、端末装置100から入力画像Pinの局所特徴量を受信する。受信部202により受信された入力画像Pinの局所特徴量は、距離計算部203に入力される。
(S202)距離計算部203は、参照画像管理テーブルに含まれる参照画像Prを1つ選択する。
(S203)距離計算部203、投票処理部204、及び判定処理部205は、S202で選択した参照画像Prを探索する処理を実行する。
例えば、距離計算部203は、参照画像Prの特徴領域Arと入力画像Pinの特徴領域Ainとの相違度を表す距離Dを計算する。投票処理部204は、距離計算部203が計算した距離Dに基づいて投票マップMPを生成する。判定処理部205は、投票処理部204が生成した投票マップMPを利用し、最大の投票数と第1閾値Th1との比較結果に基づいて参照画像Prが入力画像Pinに存在するか否かを判断する。
(S204)判定処理部205は、参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えたか否かを判定する。参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えていない場合、処理はS202へと進む。一方、参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えた場合、処理はS205へと進む。
(S205)判定処理部205は、S203の結果に基づき、少なくとも1つの参照画像Prが入力画像Pinに存在したか否かを判定する。少なくとも1つの参照画像Prが入力画像Pinに存在した場合、処理はS206へと進む。一方、S203の結果から、少なくとも1つの参照画像Prが入力画像Pinに存在すると判定されなかった場合、処理はS207へと進む。
(S206)判定処理部205は、対応する参照画像Prの参照画像管理テーブルを記憶部201から読み出し、参照画像Prに含まれるランドマークの情報を端末装置100に送信する。S206の処理が完了すると、図21に示した一連の処理は終了する。
(S207)判定処理部205は、隣接する複数の参照画像Prに基づいて、入力画像Pinに参照画像Prが存在するか否かを判定する。
例えば、判定処理部205は、隣接画像管理テーブルを参照し、隣接する2つの参照画像Prの組を選択する。また、判定処理部205は、選択した2つの参照画像Prに対応する2つの投票マップMPに基づいて、2つの参照画像Prが水平方向に隣接するか否かを判定する(水平判定)。また、判定処理部205は、2つの参照画像Prの左右の位置関係が正しいか否かを判定する(左右判定)。
2つの参照画像Prが水平方向に隣接し、左右の位置関係が正しい場合、判定処理部205は、予め設定した集約範囲内で投票数を合算し、合算した投票数と第3閾値Th3とを比較する。そして、判定処理部205は、その比較の結果に基づいて入力画像Pinに参照画像Prが存在するか否かを判断する。
(S208)判定処理部205は、S207の結果に基づき、少なくとも1つの参照画像Prが入力画像Pinに存在したか否かを判定する。少なくとも1つの参照画像Prが入力画像Pinに存在した場合、処理はS209へと進む。一方、参照画像Prが入力画像Pinに存在しないと判定された場合、処理はS210へと進む。
(S209)判定処理部205は、対応する参照画像Prの参照画像管理テーブルを記憶部201から読み出し、参照画像Prに含まれるランドマークの情報を端末装置100に送信する。S206の処理が完了すると、図21に示した一連の処理は終了する。
(S210)判定処理部205は、ランドマークの検出に失敗した旨を示すエラー情報を端末装置100に送信する。S210の処理が完了すると、図21に示した一連の処理は終了する。
ここで、S203の処理について、さらに説明する。
(S221)距離計算部203は、参照画像Prの特徴点Wrを1つ選択する。
(S222)距離計算部203は、受信部202により受信された入力画像Pinの局所特徴量に基づき、入力画像Pinの各特徴領域Ainと参照画像Prの各特徴領域Arとの距離D(特徴の相違度)を計算する。
例えば、距離計算部203は、上記の式(1)に従って、局所特徴量LFin、LFrからビット列HVを計算する。但し、特徴領域Ainの局所特徴量をLFin、特徴領域Arの局所特徴量をLFrと表記した。
また、距離計算部203は、ビット列HVの長さ(HVに含まれるビット値1の数)を計算する。ビット列HVの長さは、特徴領域Ain、Ar間における特徴の相違度を表す距離Dとなる。つまり、距離Dが大きいほど特徴領域Ain、Arの特徴が大きく相違し、距離Dが小さいほど特徴領域Ain、Arの特徴が類似していることを表す。距離計算部203により計算された距離Dは、投票処理部204に入力される。
(S223)投票処理部204は、参照画像Prの特徴領域Arと、入力画像Pinの各特徴領域Ainとの組について計算された距離Dに基づき、類似度が最も高い(距離Dが最も小さくなる)特徴領域Ar、Ainの組を抽出し、抽出した組に対応する特徴点Win、Wrの組を特定する。そして、投票処理部204は、特徴領域Arの特徴点Wrと参照画像Prの中心との位置関係に基づき、参照画像Prの中心が位置する入力画像Pin内の位置(特定点)を特定する。
(S224)投票処理部204は、S223で特定した特定点に対応する投票マップMPの位置(枡目)に投票する。つまり、投票処理部204は、特定点の座標を含む投票マップMPの枡目を抽出し、抽出した枡目に対応するカウンタのカウント値(投票数)をカウントアップする。
(S225)投票処理部204は、参照画像Prに含まれる全ての特徴点を選択し終えたか否かを判定する。参照画像Prに含まれる全ての特徴点を選択し終えていない場合、処理はS221へと進む。一方、参照画像Prに含まれる全ての特徴点を選択し終えた場合、処理はS226へと進む。
(S226)判定処理部205は、投票マップMPから投票数の最大値を抽出する。
(S227)判定処理部205は、S226で抽出した投票数の最大値が第1閾値Th1より大きいか否かを判定する。投票数の最大値が第1閾値Th1より大きい場合、処理はS229へと進む。一方、投票数の最大値が第1閾値Th1より大きくない場合、処理はS228へと進む。
(S228)判定処理部205は、S203の処理結果として、入力画像Pin中に参照画像Prが存在しないと判定する。S228の処理が完了すると、図22に示した一連の処理は終了する。
(S229)判定処理部205は、入力画像Pin中に参照画像Prが存在すると判定する。S229の処理が完了すると、図22に示した一連の処理は終了する。
ここで、S207の処理について、さらに説明する。
(S231)判定処理部205は、隣接画像管理テーブルを参照し、隣接する参照画像Prの組を選択する。また、判定処理部205は、選択した各参照画像Prに関する投票マップMPの情報を投票処理部204から取得する。例えば、判定処理部205は、参照画像Pr(001)及び参照画像Pr(004)を選択し、投票マップMP(001)及び投票マップMP(004)を取得する。
(S232)判定処理部205は、S231で取得した投票マップMPを参照し、投票数が最大となる投票マップMPの位置(枡目)を特定する。例えば、判定処理部205は、投票マップMP(001)から最大の投票数に対応する枡目の座標(H1,V1)を取得する。また、判定処理部205は、投票マップMP(004)から最大の投票数に対応する枡目の座標(H4,V4)を取得する。
(S233)判定処理部205は、S232で各参照画像Prについて特定した投票マップMP内の位置が互いに水平の位置関係にあるか否かを判定する。水平の位置関係にある場合、処理はS234へと進む。一方、水平の位置関係にない場合、処理はS238へと進む。
例えば、判定処理部205は、平面Gに垂直な方向(Z方向;投票マップMPの上下方向)に関する座標値の差(つまり、|V1−V4|)を計算する。そして、判定処理部205は、計算した差|V1−V4|と第2閾値Th2とを比較する。差|V1−V4|が第2閾値Th2より小さい場合、水平の位置関係にあると判定される。一方、差|V1−V4|が第2閾値Th2より大きい場合、水平の位置関係にないと判定される。
(S234)判定処理部205は、S232で各参照画像Prについて特定した投票マップMP内の位置が、相対的に正しい位置関係にあるか否かを判定する。つまり、判定処理部205は、特定した投票マップMP内の位置関係と、参照画像Prの相対的な位置関係(左右関係)とが矛盾しないかを判定する。正しい位置関係にある場合、処理はS235へと進む。一方、正しい位置関係にない場合、処理はS238へと進む。
例えば、判定処理部205は、最大の投票数の枡目が位置する座標について、平面Gに並行な方向(X−Y面内の方向;投票マップMPの左右方向)に関する座標値の大小関係が、撮影方向の関係(隣接方向)と整合するか否かを判定する。参照画像Pr(001)は右側、参照画像Pr(004)は左側に位置する場合、H1>H4となるか否かが判定される。H1>H4となる場合には正しい位置関係にあり、H1<H4となる場合には正しい位置関係にないと判定される。
(S235)判定処理部205は、参照画像Pr毎に、S232で特定した位置を基準に設定した集約範囲内の投票数を合算する集約の処理を実行する。例えば、S232で特定した位置を中心とし、予め設定された幅と高さを有する左右に拡がった矩形の領域が集約範囲として設定される。また、図18に示したパラメータdを利用し、上記の式(4)〜式(7)に基づいて集約範囲を設定することができる。
(S236)判定処理部205は、S231で選択した隣接する複数の参照画像Prのうち、少なくとも1つの参照画像Prについて、S235で合算した投票数が第3閾値Th3より大きいか否かを判定する。S235で合算した投票数が第3閾値Th3より大きい場合、処理はS237へと進む。一方、S235で合算した投票数が第3閾値Th3より大きくない場合、処理はS238へと進む。なお、第3閾値Th3は、第1閾値Th1と同じ値に設定されてもよいし、第1閾値Th1より小さい値に設定されてもよい。
(S237)判定処理部205は、入力画像Pin中に、S231で選択した参照画像Prが存在すると判定する。
(S238)判定処理部205は、入力画像Pin中に、S231で選択した参照画像Prが存在しないと判定する。
(S239)判定処理部205は、隣接画像管理テーブルに含まれる参照画像Prの組を全て選択し終えたか否かを判定する。参照画像Prの組を全て選択し終えていない場合、処理はS231へと進む。一方、参照画像Prの組を全て選択し終えた場合、図23に示した一連の処理は終了する。
以上、サーバ装置200の動作に係る処理の流れについて説明した。
[2−6.変形例#1(上下に隣接する参照画像Prの利用)]
ここで、図24及び図25を参照しながら、第2実施形態の一変形例(変形例#1)について説明する。
なお、図24は、第2実施形態の一変形例(変形例#1)に係る参照画像情報(隣接画像管理テーブル)の一例を示した図である。図25は、第2実施形態の一変形例(変形例#1)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。
これまでの説明では、平面G上で水平に隣接する複数の参照画像Prを利用して、入力画像Pin中に参照画像Prの物体が存在するか否かを判定する方法について述べてきた。変形例#1では、平面Gと垂直な面上で隣接する複数の参照画像Prを利用して、入力画像Pin中に参照画像Prの物体が存在するか否かを判定する方法を提案する。
変形例#1の方法では、物体を垂直方向に異なる角度から撮影した複数の参照画像Prが利用される。また、図24に示すように、隣接画像管理テーブルが、上下に隣接する参照画像Prの組を対応付ける内容に変形される。例えば、平面G上から物体の正面を撮影した参照画像Prと、上方斜め45度から物体の正面を撮影した参照画像Prとが隣接画像管理テーブルで対応付けられる。上方から撮影した参照画像Prとしては、例えば、展望台から見下ろすように建築物を撮影した画像や、航空写真などが利用できる。
変形例#1においては、上述したサーバ装置200の動作に係る処理の流れにおいて、S207の処理(図23を参照)が図25に示すような処理の流れに変形される。以下、この処理の流れについて説明する。但し、図23に係る説明と重複する部分については、詳細な説明を省略する場合がある。
(S301)判定処理部205は、隣接画像管理テーブルを参照し、隣接する参照画像Prの組を選択する。また、判定処理部205は、選択した各参照画像Prに関する投票マップMPの情報を投票処理部204から取得する。
(S302)判定処理部205は、S301で取得した投票マップMPを参照し、投票数が最大となる投票マップMPの位置(枡目)を特定する。例えば、特定した位置の座標を(H5,V5)、(H6,V6)とする。
(S303)判定処理部205は、S302で各参照画像Prについて特定した投票マップMP内の位置が互いに垂直の位置関係にあるか否かを判定する。垂直の位置関係にある場合、処理はS304へと進む。一方、垂直の位置関係にない場合、処理はS308へと進む。
例えば、判定処理部205は、平面Gに水平な方向(X−Y面内の方向;投票マップMPの左右方向)に関する座標値の差(つまり、|H5−H6|)を計算する。そして、判定処理部205は、計算した差|H5−H6|と第2閾値Th2とを比較する。差|H5−H6|が第2閾値Th2より小さい場合、垂直の位置関係にあると判定される。一方、差|H5−H6|が第2閾値Th2より大きい場合、垂直の位置関係にないと判定される。
(S304)判定処理部205は、S302で各参照画像Prについて特定した投票マップMP内の位置が、相対的に正しい位置関係にあるか否かを判定する。つまり、判定処理部205は、特定した投票マップMP内の位置関係と、参照画像Prの相対的な位置関係(上下関係)とが矛盾しないかを判定する。正しい位置関係にある場合、処理はS305へと進む。一方、正しい位置関係にない場合、処理はS308へと進む。
例えば、V5>V6が正しい位置関係を示す場合、判定処理部205は、V5>V6となるか否かを判定し、V5>V6となる場合には正しい位置関係にあると判断する。一方、V5<V6となる場合、判定処理部205は、正しい位置関係にないと判定する。V5=V6の場合については、V5>V6となる場合の判定結果又はV5<V6となる場合の判定結果のいずれか任意のものに予め設定してよい。
(S305)判定処理部205は、参照画像Pr毎に、S302で特定した位置を基準に設定した集約範囲内の投票数を合算する集約の処理を実行する。例えば、S302で特定した位置を中心とし、予め設定された幅と高さを有する上下に拡がった矩形の領域が集約範囲として設定される。また、図18に示したパラメータd及び上記の式(4)〜式(7)に基づく集約範囲の設定方法を上下方向に隣接する場合に応用して集約範囲を設定することができる。
(S306)判定処理部205は、S301で選択した隣接する複数の参照画像Prのうち、少なくとも1つの参照画像Prについて、S305で合算した投票数が第3閾値Th3より大きいか否かを判定する。S305で合算した投票数が第3閾値Th3より大きい場合、処理はS307へと進む。一方、S305で合算した投票数が第3閾値Th3より大きくない場合、処理はS308へと進む。
(S307)判定処理部205は、入力画像Pin中に、S301で選択した参照画像Prが存在すると判定する。
(S308)判定処理部205は、入力画像Pin中に、S301で選択した参照画像Prが存在しないと判定する。
(S309)判定処理部205は、隣接画像管理テーブルに含まれる参照画像Prの組を全て選択し終えたか否かを判定する。参照画像Prの組を全て選択し終えていない場合、処理はS301へと進む。一方、参照画像Prの組を全て選択し終えた場合、図25に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#1)について説明した。
[2−7.変形例#2(閾値判定の条件に関する変形)]
次に、図26を参照しながら、第2実施形態の一変形例(変形例#2)について説明する。図26は、第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。
図23に示した処理においては、少なくとも1つの参照画像Prについて、集約処理の中で合算した投票数が第3閾値Th3より大きい場合に、入力画像Pin中に参照画像Prが存在すると判定されていた。変形例#2では、隣接する全ての参照画像Prについて、集約処理の中で合算した投票数が第3閾値Th3より大きい場合にだけ、入力画像Pin中に参照画像Prが存在すると判定される方法を提案する。
変形例#2においては、上述したサーバ装置200の動作に係る処理の流れにおいて、S207の処理(図23を参照)が図26に示すような処理の流れに変形される。以下、この処理の流れについて説明する。但し、図23に係る説明と重複する部分については、詳細な説明を省略する場合がある。
(S321)判定処理部205は、隣接画像管理テーブルを参照し、隣接する参照画像Prの組を選択する。また、判定処理部205は、選択した各参照画像Prに関する投票マップMPの情報を投票処理部204から取得する。
(S322)判定処理部205は、S321で取得した投票マップMPを参照し、投票数が最大となる投票マップMPの位置(枡目)を特定する。
(S323)判定処理部205は、S322で各参照画像Prについて特定した投票マップMP内の位置が互いに水平の位置関係にあるか否かを判定する。水平の位置関係にある場合、処理はS324へと進む。一方、水平の位置関係にない場合、処理はS328へと進む。
(S324)判定処理部205は、S322で各参照画像Prについて特定した投票マップMP内の位置が、相対的に正しい位置関係にあるか否かを判定する。つまり、判定処理部205は、特定した投票マップMP内の位置関係と、参照画像Prの相対的な位置関係(左右関係)とが矛盾しないかを判定する。正しい位置関係にある場合、処理はS325へと進む。一方、正しい位置関係にない場合、処理はS328へと進む。
(S325)判定処理部205は、参照画像Pr毎に、S322で特定した位置を基準に設定した集約範囲内の投票数を合算する集約の処理を実行する。
(S326)判定処理部205は、S321で選択した隣接する複数の参照画像Prのうち、全ての参照画像Prについて、S325で合算した投票数が第3閾値Th3より大きいか否かを判定する。S325で合算した投票数が第3閾値Th3より大きい場合、処理はS327へと進む。一方、S325で合算した投票数が第3閾値Th3より大きくない場合、処理はS328へと進む。
(S327)判定処理部205は、入力画像Pin中に、S321で選択した参照画像Prが存在すると判定する。
(S328)判定処理部205は、入力画像Pin中に、S321で選択した参照画像Prが存在しないと判定する。
(S329)判定処理部205は、隣接画像管理テーブルに含まれる参照画像Prの組を全て選択し終えたか否かを判定する。参照画像Prの組を全て選択し終えていない場合、処理はS321へと進む。一方、参照画像Prの組を全て選択し終えた場合、図26に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#2)について説明した。
[2−8.変形例#3(最大投票数が低い場合の処理を省略)]
次に、図27を参照しながら、第2実施形態の一変形例(変形例#3)について説明する。図27は、第2実施形態の一変形例(変形例#3)に係るサーバ装置の動作のうち、隣接する参照画像に基づく判定に関する動作について説明するためのフロー図である。
変形例#3では、投票マップMPから抽出される最大の投票数が第1閾値Th1を大きく下回る場合に、集約処理に基づく判定処理を省略して、入力画像Pin中に参照画像Prが存在しないと判定する方法を提案する。この方法によれば、存在しないと判定される可能性の高い参照画像Prについて一部の処理を省略することができ、処理負荷の低減及び処理の高速化を実現することが可能になる。
変形例#3においては、上述したサーバ装置200の動作に係る処理の流れにおいて、S207の処理(図23を参照)が図27に示すような処理の流れに変形される。以下、この処理の流れについて説明する。但し、図23に係る説明と重複する部分については、詳細な説明を省略する場合がある。
(S341)判定処理部205は、隣接画像管理テーブルを参照し、隣接する参照画像Prの組を選択する。また、判定処理部205は、選択した各参照画像Prに関する投票マップMPの情報を投票処理部204から取得する。
(S342)判定処理部205は、S341で取得した投票マップMPを参照し、投票数の最大値、及び投票数が最大となる投票マップMPの位置(枡目)を特定する。
(S343)判定処理部205は、S341で選択した隣接する複数の参照画像Prのうち、少なくとも1つの参照画像Prについて、投票数の最大値が第4閾値Th4より大きいか否かを判定する。但し、第4閾値Th4は、第1閾値Th1より小さい値である。
例えば、第4閾値Th4は、様々な参照画像Prや入力画像Pinを用いて実験やシミュレーションを行い、誤判定が生じる割合や演算負荷の状態などを考慮して決定される。投票数の最大値が第4閾値Th4より大きい場合、処理はS344へと進む。一方、投票数の最大値が第4閾値Th4より大きくない場合、処理はS349へと進む。
(S344)判定処理部205は、S342で各参照画像Prについて特定した投票マップMP内の位置が互いに水平の位置関係にあるか否かを判定する。水平の位置関係にある場合、処理はS345へと進む。一方、水平の位置関係にない場合、処理はS349へと進む。
(S345)判定処理部205は、S342で各参照画像Prについて特定した投票マップMP内の位置が、相対的に正しい位置関係にあるか否かを判定する。つまり、判定処理部205は、特定した投票マップMP内の位置関係と、参照画像Prの相対的な位置関係(左右関係)とが矛盾しないかを判定する。正しい位置関係にある場合、処理はS346へと進む。一方、正しい位置関係にない場合、処理はS349へと進む。
(S346)判定処理部205は、参照画像Pr毎に、S342で特定した位置を基準に設定した集約範囲内の投票数を合算する集約の処理を実行する。
(S347)判定処理部205は、S341で選択した隣接する複数の参照画像Prのうち、少なくとも1つの参照画像Prについて、S346で合算した投票数が第3閾値Th3より大きいか否かを判定する。S346で合算した投票数が第3閾値Th3より大きい場合、処理はS348へと進む。一方、S346で合算した投票数が第3閾値Th3より大きくない場合、処理はS349へと進む。
(S348)判定処理部205は、入力画像Pin中に、S341で選択した参照画像Prが存在すると判定する。
(S349)判定処理部205は、入力画像Pin中に、S341で選択した参照画像Prが存在しないと判定する。
(S350)判定処理部205は、隣接画像管理テーブルに含まれる参照画像Prの組を全て選択し終えたか否かを判定する。参照画像Prの組を全て選択し終えていない場合、処理はS341へと進む。一方、参照画像Prの組を全て選択し終えた場合、図27に示した一連の処理は終了する。
以上、第2実施形態の一変形例(変形例#3)について説明した。
以上説明したように、参照画像と入力画像が同じ水平レベルから撮影されたものであれば、異なる向きの場合でも、類似部分を認識することが可能となる。これにより、様々な方向から撮影されるランドマークを画像から認識する際に、認識対象の物体1つ当たりの参照画像の数を少なくすることができる。その結果、サーバなどに比べて演算能力が低い携帯端末などを用いて機能やサービスの提供を容易に実現できるようになる。
例えば、ランドマークの正面から撮影した参照画像Prしか持たない場合、ランドマークを斜めから撮影した入力画像Pinに対する判定精度は、投票数の分散に起因して低下する。一方、ランドマークを斜めから撮影した入力画像Pinに対する判定精度を上げるために、様々な角度から撮影した多数の参照画像Prを持つと、参照画像Prが増えた分だけ対応点探索などの処理を実行する回数が増加する。
一方、上述した第2実施形態に係る技術を利用すれば、例えば、斜め45度から撮影した入力画像Pinに対する判定処理を正面及び90度方向から撮影した2つの参照画像Prを用いて精度良く実行することができる。その結果、斜め45度から撮影した参照画像Prを利用した対応点探索などの処理を省略することができ、処理負荷が低減できる。また、参照画像Prの数を減らせるため、参照画像Prを格納する記憶領域の節約にもなる。
以上、第2実施形態について説明した。
なお、上記の説明では、撮影方向を水平、垂直、角度などで表現したが、他の表現方法で撮影方向が規定される場合であっても、第2実施形態の技術を適用可能である。また、用意される参照画像Prの数や、参照画像Prの撮影方向は任意である。また、水平、垂直、平面という表現は、厳密に水平であることや、厳密に垂直であること、厳密に平らな面であることを意味するものではなく、現実的に水平、垂直、平面とみなせる範囲において誤差が許容される。こうした誤差や変形の範囲内における相違点があったとしても、当然に第2実施形態の技術的範囲に含まれる。
<第3実施形態>
次に、第3実施形態について説明する。
上記の第2実施形態は、異なる撮影方向から撮影した複数の参照画像Prを利用し、投票数の分布が広がる原因が、入力画像Pinの撮影方向と参照画像Prの撮影方向との違いにあるのか、被写体の違いにあるのかを判定して精度を向上させる技術であった。
一方、第3実施形態は、1枚の参照画像Prについて計算された投票マップMPを利用し、上記の原因を判定して精度を向上させる技術に関する。但し、端末装置100及びサーバ装置200のハードウェアは両実施形態で共通であり、上述した機能及び処理の流れについても後述する内容以外は共通である。
(集約判断)
図28を参照しながら、第3実施形態に係る判定方法について説明する。図28は、第3実施形態に係る判定方法の一例を示した図である。
上記の第2実施形態に係る判定処理部205は、2枚の参照画像Prの投票結果から左側の参照画像Prと右側の参照画像Prとが水平であることが導かれるか否かを判定し、導かれる場合に投票数を集約すると判断(集約判断)した。第3実施形態に係る判定処理部205は、図28に示すように、1枚の参照画像Prについて計算された投票マップMPを利用して集約判断を実行する。
図28の例は、被写体の正面が写った参照画像Prと、同じ被写体の正面及び右側面が写った入力画像Pinとの間で対応点探索を実施し、投票処理部204により投票マップMPが得られている場合の集約判断の処理を示している。
判定処理部205は、投票マップMPを二値化した二値化マップMPBを集約判断に利用する。例えば、判定処理部205は、予め設定された閾値ThB(図28の例では3)と投票数とを比較し、投票数が閾値ThBより大きい場合には値を1に設定し、小さい場合には値を0に設定した二値化マップMPBを生成する。
また、判定処理部205は、二値化マップMPBのうち値が1の範囲を特定し、特定した範囲の縦幅HBと横幅WBとを検出する。さらに、判定処理部205は、縦幅HBと横幅WBとの比WB/HBを計算し、予め設定された閾値ThHWと比WB/HBとを比較する。比WB/HBが閾値ThHWより大きい場合(横長の場合)、判定処理部205は、投票数を集約する。一方、比WB/HBが閾値ThHWより小さい場合(横長でない場合)、判定処理部205は、投票数を集約しない。
図28の例と同様に同じ被写体を水平面上の異なる撮影方向から撮影した場合、投票数の分布は横方向に細長く拡がる。一方、被写体自体が異なる場合、縦方向にも拡がりを持つ。この性質を利用し、判定処理部205は、上記の方法で集約判断を行う。
二値化に用いる閾値ThBは、実験的に決めることができる。横長であるかを判断するための閾値ThHWは、例えば、参照画像Prと同じ被写体を水平に45度回転した撮影方向から撮影した入力画像Pinを利用して比WB/HBを計算し、計算した値又は許容誤差を考慮した値に決めることができる。
例えば、被写体の正面が写った参照画像Prと、同じ被写体を右方向に回転角度Rdから撮った入力画像Pinとについて比WB/HBを求めると、回転角度Rdが大きくなるにつれて投票数の分布が拡がり、比WB/HBは大きくなる。但し、回転角度Rdが45度より大きくなると、入力画像Pinの中で被写体の右側面が占める割合が大きくなる。そのため、回転角度Rdが45度より大きい場合には、被写体の右側面が写った参照画像を利用する方が、被写体の正面が写った参照画像Prを利用するより好ましい。よって、上記のように閾値ThHWは、回転角度Rdが45度の場合を基準に決めることができる。
ここでは比WB/HBを利用して集約判断を行う方法について述べたが、例えば、判定処理部205は、比WB/HBに代えて横幅WBを利用することもできる。
他の変形例として、二値化マップMPBの中で値が1の範囲が複数のブロックに分断された場合に、判定処理部205が、ブロック間の間隔が予め設定した閾値より小さい場合にブロックを連結してもよい。また、判定処理部205が、分断されたブロックのうち、水平方向に位置するブロックを連結してもよい。このようなブロックの連結を行うことで、二値化時に生じるノイズを低減することができる。
(処理の流れ)
次に、図29及び図30を参照しながら、サーバ装置200の動作のうち、参照画像の探索に関する動作について説明する。
図29は、第3実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するための第1のフロー図である。図30は、第3実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するための第2のフロー図である。
サーバ装置200の動作の中で上記の第2実施形態と異なる点は主に次の2点である。1点目は、図21のS207〜S209が省略され、S205で参照画像が存在しないと判定された場合(NOの場合)に、処理がS210へと進む点である。但し、サーバ装置200の処理能力が高い場合には図21のS207〜S209を省略しなくてもよく、この場合には探索精度がさらに向上する。2点目は、図22のS229が、図29及び図30に示す処理に置き換えられる点である。以下、この処理について説明する。
(S401)判定処理部205は、投票マップMPの枡目を1つ選択する。例えば、判定処理部205は、投票マップMPの左上を始点とし、右下が終点となるように水平方向に順次各段を走査するようにS401の処理を実行する度に1つずつ枡目を選択する。但し、選択する順序は予め任意に設定されていてもよい。
(S402)判定処理部205は、S401で選択した枡目の投票数が閾値ThBより大きいか否かを判定する。閾値ThBは、例えば、様々な被写体を撮影した画像を参照画像及び入力画像として利用し、許容可能な精度で正しい判定結果が得られるように実験的に決められる。投票数が閾値ThBより大きい場合、処理はS403へと進む。一方、投票数が閾値ThBより大きくない場合、処理はS404へと進む。
(S403)判定処理部205は、S401で選択した枡目に対応する二値化マップMPBの値を1に設定する。S403の処理が完了すると、処理はS405へと進む。
(S404)判定処理部205は、S401で選択した枡目に対応する二値化マップMPBの値を0に設定する。S404の処理が完了すると、処理はS405へと進む。
(S405)判定処理部205は、投票マップMPの全枡目を選択し終えたか否かを判定する。全枡目を選択し終えている場合、処理はS406へと進む。一方、未選択の枡目がある場合、処理はS401へと進む。
(S406)判定処理部205は、二値化マップMPBの中で値が1の範囲を特定し、特定した範囲の縦横比を計算する。なお、特定した範囲が複数のブロックに分断されている場合、判定処理部205は、ブロック間の間隔が予め設定した閾値より小さいブロックを連結してもよい。この場合、判定処理部205は、連結後に最大サイズとなる範囲の縦横比を計算する。S406の処理が完了すると、処理は図30のS407へと進む。
(S407)判定処理部205は、S406で計算した縦横比が閾値ThHWより大きいか否かを判定する。閾値ThHWは、例えば、参照画像と同じ被写体を水平に45度回転した撮影方向から撮影した入力画像Pinを利用して縦横比を計算し、計算した値又は許容誤差を考慮した値に決めることができる。縦横比が閾値ThHWより大きい場合、処理はS408へと進む。一方、縦横比が閾値ThHWより大きくない場合、処理はS410へと進む。
(S408)判定処理部205は、投票マップMPの中で投票数が最大となる枡目の周辺(最大投票数周辺)の投票数を合算する(集約)。例えば、判定処理部205は、二値化マップMPBで値が1となった範囲に対応する各枡目の投票数を合算する。投票数を合算する範囲は、例えば、図23のS235と同じ方法で決めてもよい。
(S409)判定処理部205は、S408で合算した投票数の合算値が第1閾値より大きいか否かを判定する。第1閾値は、第2実施形態の第1閾値と同じである。合算値が第1閾値より大きい場合、処理はS411へと進む。一方、合算値が第1閾値より大きくない場合、処理はS410へと進む。
(S410)判定処理部205は、入力画像中に参照画像が存在しないと判定する。S410の処理が完了すると、図29及び図30に示した一連の処理は終了する。
(S411)判定処理部205は、入力画像中に参照画像が存在すると判定する。S411の処理が完了すると、図29及び図30に示した一連の処理は終了する。
以上、第3実施形態について説明した。
なお、上記の説明では、撮影方向を水平などで表現したが、他の表現方法で撮影方向が規定される場合であっても、第3実施形態の技術を適用可能である。また、用意される参照画像Prの数や、参照画像Prの撮影方向は任意である。また、水平という表現は、厳密に水平であることを意味するものではなく、現実的に水平とみなせる範囲において誤差が許容される。また、第2実施形態と同様に、垂直方向などへの応用も可能である。こうした誤差や変形の範囲内における相違点があったとしても、当然に第3実施形態の技術的範囲に含まれる。
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを記憶する記憶部と、
前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する演算部と、
を有し、
前記演算部は、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
情報処理装置。
(付記2) 前記演算部は、同じ対象を異なる方向から撮影した複数の前記参照画像の前記各第1特徴点について前記処理を実行し、前記参照画像毎に計算した前記最大値が位置する前記小領域を特定し、特定した前記小領域同士の位置関係を特定し、当該小領域同士の位置関係と前記複数の参照画像の撮影方向の位置関係とが一致する場合に前記合算値を計算する
付記1に記載の情報処理装置。
(付記3) 前記演算部は、前記カウント値が設定した二値化閾値より大きい場合に当該カウント値に対応する前記小領域に第1の値を対応付け、当該カウント値が前記二値化閾値より小さい場合に当該小領域に第2の値を対応付ける処理を、前記各小領域について実行し、前記第1の値を対応付けた前記小領域の集合の形状から前記カウント値の分布が前記一の方向に延伸した形状であるか否かを判断する
付記1に記載の情報処理装置。
(付記4) コンピュータが、
参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを取得し、
前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定し、
前記判定の処理において、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
画像判定方法。
(付記5) コンピュータに、
参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを取得し、
前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定し、
前記判定の処理において、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
処理を実行させるためのプログラム。
(付記6) 同じ対象を異なる方向から撮影した複数の参照画像、及び、各参照画像に設定される特徴領域と参照画像内の特定位置との位置関係を示す情報を記憶する記憶部と、
前記参照画像の各特徴領域について、特徴領域と類似する入力画像内の領域を検出し、当該領域の位置を特徴領域の位置とした場合に前記位置関係から得られる特定位置を求め、前記入力画像に設定される複数の分割領域のうち当該特定位置を含む分割領域を抽出する処理を実行し、分割領域毎に抽出回数を計数し、最大領域として前記抽出回数が最大となった分割領域を特定し、
設定した平面上で前記対象を異なる角度から撮影した複数の前記参照画像について、特定した最大領域の、前記平面に垂直な方向における位置の差が、設定した第1閾値より小さいとき、前記最大領域毎に、当該最大領域を基準に設定した範囲にある分割領域の抽出回数を当該最大領域の抽出回数に合算し、合算した抽出回数が設定した第2閾値より大きい場合に、前記入力画像に前記対象が含まれると判定する演算部と
を有する、情報処理装置。
(付記7) 前記演算部は、前記分割領域を特定した後で前記最大領域の抽出回数と前記第2閾値とを比較し、前記最大領域の抽出回数が前記第2閾値より大きい場合、前記設定した範囲内にある分割領域の抽出回数を前記最大領域の抽出回数に合算する処理及び前記合算した抽出回数と前記第2閾値とを比較する処理を回避して、前記入力画像に前記対象が含まれると判定する
付記6に記載の情報処理装置。
(付記8) 前記記憶部は、前記入力画像に前記対象が含まれる場合に、当該入力画像において、撮影方向の違いから特定される前記参照画像間の相対的な位置関係に関する情報を記憶し、
前記演算部は、前記位置の差が前記第1閾値より小さいとき、複数の前記参照画像について特定した最大領域間の相対的な位置関係が、前記記憶部が記憶している情報に基づく前記相対的な位置関係と一致するか否かを判定し、一致する場合に、前記設定した範囲内にある分割領域の抽出回数を前記最大領域の抽出回数に合算する処理及び前記合算した抽出回数と前記第2閾値とを比較する処理を実行する
付記6又は7に記載の情報処理装置。
(付記9) 前記演算部は、少なくとも1つの前記参照画像について前記抽出回数が前記第2閾値より大きい場合に前記入力画像に前記対象が含まれると判定する
付記6〜8のいずれかに記載の情報処理装置。
(付記10) 付記5に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
10 情報処理装置
11 記憶部
12 演算部
r 参照画像
in 入力画像
WB 横幅
HB 縦幅
MP 投票マップ
Max 最大値
Sum 合計値
Th 閾値
ThB 二値化閾値
ThHW 形状判定閾値

Claims (5)

  1. 参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを記憶する記憶部と、
    前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する演算部と、
    を有し、
    前記演算部は、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
    情報処理装置。
  2. 前記演算部は、同じ対象を異なる方向から撮影した複数の前記参照画像の前記各第1特徴点について前記処理を実行し、前記参照画像毎に計算した前記最大値が位置する前記小領域を特定し、特定した前記小領域同士の位置関係を特定し、当該小領域同士の位置関係と前記複数の参照画像の撮影方向の位置関係とが一致する場合に前記合算値を計算する
    請求項1に記載の情報処理装置。
  3. 前記演算部は、前記カウント値が設定した二値化閾値より大きい場合に当該カウント値に対応する前記小領域に第1の値を対応付け、当該カウント値が前記二値化閾値より小さい場合に当該小領域に第2の値を対応付ける処理を、前記各小領域について実行し、前記第1の値を対応付けた前記小領域の集合の形状から前記カウント値の分布が前記一の方向に延伸した形状であるか否かを判断する
    請求項1に記載の情報処理装置。
  4. コンピュータが、
    参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを取得し、
    前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定し、
    前記判定の処理において、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
    画像判定方法。
  5. コンピュータに、
    参照画像の特徴を表す複数の第1特徴点それぞれと前記参照画像の特定位置との位置関係を示す位置情報と、入力画像を複数の小領域に分けた場合の前記各小領域の位置を示す領域情報と、前記各小領域に対応するカウント値とを取得し、
    前記入力画像の特徴を表す複数の第2特徴点のうち前記第1特徴点に類似する前記第2特徴点を特定し、当該第2特徴点に当該第1特徴点を一致させた場合に前記位置情報が示す前記特定位置にある前記小領域を特定し、当該小領域に対応する前記カウント値を増加させる処理を、前記各第1特徴点について実行し、前記カウント値の最大値が設定した閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定し、
    前記判定の処理において、前記最大値が前記閾値より小さく、前記カウント値の分布が一の方向に延伸した形状であるとき、当該一の方向に沿って前記最大値を基準とする設定した範囲内の前記カウント値を合算して合算値を計算し、前記合算値が前記閾値より大きい場合に、前記入力画像に前記参照画像が含まれると判定する
    処理を実行させるためのプログラム。
JP2014167128A 2014-08-20 2014-08-20 情報処理装置、画像判定方法、及びプログラム Withdrawn JP2016045538A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014167128A JP2016045538A (ja) 2014-08-20 2014-08-20 情報処理装置、画像判定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014167128A JP2016045538A (ja) 2014-08-20 2014-08-20 情報処理装置、画像判定方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016045538A true JP2016045538A (ja) 2016-04-04

Family

ID=55636093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014167128A Withdrawn JP2016045538A (ja) 2014-08-20 2014-08-20 情報処理装置、画像判定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016045538A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019091293A (ja) * 2017-11-15 2019-06-13 日本電信電話株式会社 検証装置、方法、及びプログラム
CN110928893A (zh) * 2019-11-18 2020-03-27 中国建设银行股份有限公司 一种标签查询方法、装置、设备和存储介质
JP2020087165A (ja) * 2018-11-29 2020-06-04 富士通株式会社 学習データ生成プログラム、学習データ生成装置、及び学習データ生成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019091293A (ja) * 2017-11-15 2019-06-13 日本電信電話株式会社 検証装置、方法、及びプログラム
JP2020087165A (ja) * 2018-11-29 2020-06-04 富士通株式会社 学習データ生成プログラム、学習データ生成装置、及び学習データ生成方法
JP7220062B2 (ja) 2018-11-29 2023-02-09 富士通株式会社 学習データ生成プログラム、学習データ生成装置、及び学習データ生成方法
CN110928893A (zh) * 2019-11-18 2020-03-27 中国建设银行股份有限公司 一种标签查询方法、装置、设备和存储介质
CN110928893B (zh) * 2019-11-18 2022-10-21 中国建设银行股份有限公司 一种标签查询方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US11062123B2 (en) Method, terminal, and storage medium for tracking facial critical area
WO2020151489A1 (zh) 基于面部识别的活体检测的方法、电子设备和存储介质
CN109284729B (zh) 基于视频获取人脸识别模型训练数据的方法、装置和介质
WO2016127736A1 (zh) 指纹重叠区域面积的计算方法及电子装置
US20150098645A1 (en) Method, apparatus and system for selecting a frame
JP5538868B2 (ja) 画像処理装置、その画像処理方法及びプログラム
CN111046752B (zh) 一种室内定位方法、计算机设备和存储介质
WO2022041830A1 (zh) 行人重识别方法和装置
WO2015149712A1 (zh) 一种指向交互方法、装置及系统
CN106446223B (zh) 地图数据的处理方法和装置
US10528844B2 (en) Method and apparatus for distance measurement
US8805056B2 (en) Automatic detection and grouping of straight lines in images for personalization
JP6347155B2 (ja) 画像処理装置、画像判断方法、及びプログラム
US20210124978A1 (en) Automatic ruler detection
US20170323149A1 (en) Rotation invariant object detection
JP6465215B2 (ja) 画像処理プログラムおよび画像処理装置
WO2021136386A1 (zh) 数据处理方法、终端和服务器
CN110648363A (zh) 相机姿态确定方法、装置、存储介质及电子设备
CN110910445A (zh) 一种物件尺寸检测方法、装置、检测设备及存储介质
JP2016045538A (ja) 情報処理装置、画像判定方法、及びプログラム
EP3890312A1 (en) Distributed image analysis method and system, and storage medium
CN108255352B (zh) 一种投影交互系统中多点触摸实现方法及系统
CN113158773B (zh) 一种活体检测模型的训练方法及训练装置
JP6365117B2 (ja) 情報処理装置、画像判定方法、及びプログラム
JP6244887B2 (ja) 情報処理装置、画像探索方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171225