JP6365117B2 - Information processing apparatus, image determination method, and program - Google Patents

Information processing apparatus, image determination method, and program

Info

Publication number
JP6365117B2
JP6365117B2 JP2014171298A JP2014171298A JP6365117B2 JP 6365117 B2 JP6365117 B2 JP 6365117B2 JP 2014171298 A JP2014171298 A JP 2014171298A JP 2014171298 A JP2014171298 A JP 2014171298A JP 6365117 B2 JP6365117 B2 JP 6365117B2
Authority
JP
Japan
Prior art keywords
feature
image
distance
group
region
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.)
Expired - Fee Related
Application number
JP2014171298A
Other languages
Japanese (ja)
Other versions
JP2016045837A (en
Inventor
昌彦 杉村
昌彦 杉村
松田 裕司
裕司 松田
正樹 石原
正樹 石原
遠藤 進
進 遠藤
馬場 孝之
孝之 馬場
上原 祐介
祐介 上原
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 JP2014171298A priority Critical patent/JP6365117B2/en
Publication of JP2016045837A publication Critical patent/JP2016045837A/en
Application granted granted Critical
Publication of JP6365117B2 publication Critical patent/JP6365117B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、情報処理装置、画像判定方法、及びプログラムに関する。   The present invention relates to an information processing apparatus, an image determination method, and a program.

様々な分野で画像のマッチング技術が広く利用されるようになってきた。例えば、顔認証や生体認証の分野では、可視光カメラや赤外線カメラで撮像した画像とテンプレート画像とをマッチングする技術が利用されている。より一般的な用途では、カメラ付き携帯端末やデジタルカメラで撮像した画像とランドマークの画像とをマッチングする技術が利用されている。   Image matching technology has been widely used in various fields. For example, in the fields of face authentication and biometric authentication, a technique for matching an image captured with a visible light camera or an infrared camera and a template image is used. In a more general application, a technique for matching an image captured by a mobile terminal with a camera or a digital camera with a landmark image is used.

画像同士のマッチングには、例えば、入力画像の特徴点における特徴量(以下、局所特徴量)と、参照画像の特徴点における局所特徴量とを比較して、入力画像の特徴点に対応する参照画像の特徴点(以下、対応点)を探索する手法が利用される。探索により発見された対応点の集合を統計処理することで入力画像中における参照画像の存在や参照画像の位置を認識できる。統計処理の一例として、参照画像内に設定した基準点と各特徴点との相対位置を保持しておき、対応点の候補として抽出された各特徴点からの基準点の位置に投票し、その投票数の集計値を閾値判定する処理方法が提案されている。   For matching between images, for example, a feature amount at a feature point of an input image (hereinafter referred to as a local feature amount) is compared with a local feature amount at a feature point of a reference image, and a reference corresponding to the feature point of the input image is compared. A technique for searching for feature points (hereinafter referred to as corresponding points) of an image is used. By statistically processing the set of corresponding points found by the search, it is possible to recognize the presence of the reference image and the position of the reference image in the input image. As an example of statistical processing, the relative position between the reference point set in the reference image and each feature point is held, and the position of the reference point from each feature point extracted as a corresponding point candidate is voted, A processing method for determining a threshold value of the total number of votes has been proposed.

対応点の探索には、例えば、SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、BRIEF(Binary Robust Independent Elementary Features)などの特徴が利用される。SIFTやSURFを利用すると高精度に対応点を検出することができる。但し、SIFTやSURFの局所特徴量はデ−タサイズが大きく、SIFTやSURFを利用すると探索時の計算負荷が高くなる。   For the search for the corresponding points, for example, features such as SIFT (Scale-Invariant Feature Transform), SURF (Speeded Up Robust Features), BREF (Binary Robust Independent Elementary Features) are used. When SIFT or SURF is used, the corresponding points can be detected with high accuracy. However, the local feature amount of SIFT or SURF has a large data size, and the use of SIFT or SURF increases the calculation load during search.

BRIEFは、各特徴点周囲の特徴領域に設定された複数の画素ペアのそれぞれについて計算された画素間の輝度差に基づく局所特徴量で表現される。例えば、輝度差の符号(正負)に対応するビット値の集合が局所特徴量となる。そのため、BRIEFはSIFTやSURFに比べて少ない計算量で高速に抽出することができる。つまり、BRIEFを利用すれば、サーバ装置などに比べて計算能力の低い携帯端末でも入力画像から高速に局所特徴量を抽出することが可能になる。   BRIEF is expressed by a local feature amount based on a luminance difference between pixels calculated for each of a plurality of pixel pairs set in a feature region around each feature point. For example, a set of bit values corresponding to the sign (positive / negative) of the luminance difference is the local feature amount. Therefore, BRIEF can be extracted at a high speed with a small amount of calculation compared to SIFT and SURF. In other words, if BREF is used, a local feature amount can be extracted from an input image at high speed even with a portable terminal having a lower calculation capability than a server device or the like.

BRIEFと同様に画素間の輝度差に基づく局所特徴量を用いて画像の特徴を表現する他の特徴としては、例えば、ORB(Oriented Fast and Rotated BRIEF)やFREAK(Fast Retina Keypoint)がある。ORBは、画素ペアの配置を決める際に多数の画像に基づく学習を利用する。FREAKは、画素ペアの配置を決める際に人間の網膜パターンに関する情報を利用する。ORBやFREAKを利用した場合も入力画像から高速に局所特徴量を抽出することができる。   Other features that express the features of an image using local feature amounts based on the luminance difference between pixels as in BREF include, for example, ORB (Oriented Fast and Rotated BRIEF) and FRAK (Fast Retina Keypoint). The ORB uses learning based on a large number of images when determining the arrangement of pixel pairs. FREEK uses information about the human retina pattern when determining the arrangement of pixel pairs. Even when ORB or FREEK is used, a local feature can be extracted from an input image at high speed.

画素ペアに基づく局所特徴量を利用する方式ではないが、画像内の小領域に含まれる画素の特徴量から、各小領域が特徴領域であるかを判定する特徴領域識別方式が提案されている。この方式は、小領域同士が互いに重複するように画像内に小領域を設定し、画素毎の判定回数及び特徴量計算の途中結果を記憶しておいて、重複部分の特徴量計算を省く仕組みを採用している。   Although it is not a method that uses local feature amounts based on pixel pairs, a feature region identification method that determines whether each small region is a feature region from the feature amount of a pixel included in a small region in an image has been proposed. . This method sets a small area in the image so that the small areas overlap each other, stores the number of determinations for each pixel and the intermediate result of the feature amount calculation, and eliminates the feature amount calculation of the overlapping portion Is adopted.

特開2011−210054号公報Japanese Unexamined Patent Publication No. 2011-210054 特開昭61−217884号公報JP-A-61-217884

David G.Lowe, "Distinctive image features from scale-invariant keypoints", International Journal of Computer Vision, 60, 2 (2004), pp.91-110.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.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.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.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.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.

上記のように、画素ペアに基づく局所特徴量は抽出にかかる処理負荷が低く、マッチング処理の負荷低減に寄与する。一方で、入力画像の各特徴点と参照画像の各特徴点との組み合わせの数が大きいため、対応点の探索にかかる処理負荷は高い。この組み合わせ数は、特徴点を多く配置すればするほど増加する。一方、特徴点を多く配置することで、より精密な対応点の探索が可能になるほか、統計処理による判定精度が向上する可能性もある。   As described above, the local feature amount based on the pixel pair has a low processing load for extraction, and contributes to a reduction in matching processing load. On the other hand, since the number of combinations of each feature point of the input image and each feature point of the reference image is large, the processing load for searching for corresponding points is high. The number of combinations increases as more feature points are arranged. On the other hand, by arranging many feature points, it becomes possible to search for more precise corresponding points, and there is a possibility that the determination accuracy by statistical processing may be improved.

そこで、1つの側面によれば、本発明の目的は、対応する特徴点の探索にかかる処理負荷を低減することが可能な情報処理装置、画像判定方法、及びプログラムを提供することにある。   Therefore, according to one aspect, an object of the present invention is to provide an information processing apparatus, an image determination method, and a program that can reduce a processing load for searching for a corresponding feature point.

本開示の1つの側面によれば、一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、画像領域が重複する重複領域において各画像領域に配置された各画素ペアの位置が一致するように設定した配置規則を表す配置情報を記憶する記憶部と、画像領域に配置規則で配置された各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された各画像領域の特徴量と第2の画像に設定された各画像領域の特徴量との距離に基づいて第1の画像と第2の画像との類否を判定する計算部とを有し、計算部は、重複領域に位置する画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の画像領域における画素ペアの特徴量に関する計算の際に記憶部に格納した計算結果を利用する情報処理装置が提供される。   According to one aspect of the present disclosure, among a plurality of pixel pairs arranged in a common arrangement rule in each of a plurality of image areas that partially overlap, the image areas are arranged in each of the image areas in the overlap area. A storage unit for storing arrangement information indicating an arrangement rule set so that the positions of the respective pixel pairs coincide with each other, and a feature amount set of each pixel pair arranged in the image area according to the arrangement rule. The first image and the second image based on the distance between the feature amount of each image region set in the first image and the feature amount of each image region set in the second image. A calculation unit that determines the similarity of the image pair, the calculation unit stores a calculation result related to the feature amount of the pixel pair located in the overlapping region in the storage unit, and another image region at the same position as the pixel pair. When calculating the feature value of a pixel pair in The information processing apparatus is provided that utilizes a calculation result of the.

また、本開示の他の1つの側面によれば、コンピュータが、一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、画像領域が重複する重複領域において各画像領域に配置された各画素ペアの位置が一致するように設定した配置規則を表す配置情報を取得し、画像領域に配置規則で配置された各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された各画像領域の特徴量と第2の画像に設定された各画像領域の特徴量との距離に基づいて第1の画像と第2の画像との類否を判定する処理を実行し、距離を計算する処理において、重複領域に位置する画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の画像領域における画素ペアの特徴量に関する計算の際に記憶部に格納した計算結果を利用する画像判定方法が提供される。   In addition, according to another aspect of the present disclosure, the computer overlaps the image regions of a plurality of pixel pairs that are arranged in a common arrangement rule in each of the plurality of image regions that are partially overlapped. In the area, obtain arrangement information indicating an arrangement rule set so that the positions of the pixel pairs arranged in each image area coincide with each other, and set a feature amount set of each pixel pair arranged in the image area according to the arrangement rule. The first image and the first image are used based on the distance between the feature amount of each image region set in the first image and the feature amount of each image region set in the second image. In the process of determining the similarity with the image of 2 and calculating the distance, the calculation result relating to the feature amount of the pixel pair located in the overlapping region is stored in the storage unit and is located at the same position as the pixel pair. Special characteristics of pixel pairs in other image areas Image judging method utilizing the calculation results stored in the storage unit in the calculation for the amount is provided.

また、本開示の他の1つの側面によれば、コンピュータに、一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、画像領域が重複する重複領域において各画像領域に配置された各画素ペアの位置が一致するように設定した配置規則を表す配置情報を取得し、画像領域に配置規則で配置された各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された各画像領域の特徴量と第2の画像に設定された各画像領域の特徴量との距離に基づいて第1の画像と第2の画像との類否を判定する処理を実行させ、距離を計算する処理において、重複領域に位置する画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の画像領域における画素ペアの特徴量に関する計算の際に記憶部に格納した計算結果を利用する処理を実行させるためのプログラムが提供される。   In addition, according to another aspect of the present disclosure, overlapping of overlapping image areas among a plurality of pixel pairs arranged in a common arrangement rule in each of a plurality of overlapping image areas on the computer. In the area, obtain arrangement information indicating an arrangement rule set so that the positions of the pixel pairs arranged in each image area coincide with each other, and set a feature amount set of each pixel pair arranged in the image area according to the arrangement rule. The first image and the first image are used based on the distance between the feature amount of each image region set in the first image and the feature amount of each image region set in the second image. In the process of determining the similarity with the image of 2 and calculating the distance, the calculation result related to the feature amount of the pixel pair located in the overlapping region is stored in the storage unit, and is in the same position as the pixel pair. Of pixel pairs in other image areas Program for executing a process to utilize the calculation results stored in the storage unit in the calculation regarding symptoms amount is provided.

本発明によれば、対応する特徴点の探索にかかる処理負荷を低減することが可能になる。   According to the present invention, it is possible to reduce the processing load for searching for a corresponding feature point.

第1実施形態に係る情報処理装置の一例を示した図である。It is the figure which showed an example of the information processing apparatus which concerns on 1st Embodiment. 第2実施形態に係るシステムの一例を示した図である。It is the figure which showed an example of the system which concerns on 2nd Embodiment. 第2実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。It is the figure which showed an example of the hardware which can implement | achieve the function which the terminal device which concerns on 2nd Embodiment has. 第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。It is the block diagram which showed an example of the function which the terminal device which concerns on 2nd Embodiment has. 第2実施形態に係る画素ペア情報の一例を示した図である。It is the figure which showed an example of the pixel pair information which concerns on 2nd Embodiment. 第2実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。It is a figure for demonstrating the feature point and feature area of the input image which concern on 2nd Embodiment. 第2実施形態に係る特徴量の計算について説明するための図である。It is a figure for demonstrating calculation of the feature-value which concerns on 2nd Embodiment. 第2実施形態に係る特徴点計算の効率化について説明するための第1の図である。It is a 1st figure for demonstrating efficiency improvement of the feature point calculation which concerns on 2nd Embodiment. 第2実施形態に係る特徴点計算の効率化について説明するための第2の図である。It is a 2nd figure for demonstrating efficiency improvement of the feature point calculation which concerns on 2nd Embodiment. 第2実施形態に係る特徴点計算の効率化について説明するための第3の図である。It is a 3rd figure for demonstrating efficiency improvement of the feature point calculation which concerns on 2nd Embodiment. 第2実施形態に係る特徴点計算の効率化について説明するための第4の図である。It is a 4th figure for demonstrating efficiency improvement of the feature point calculation which concerns on 2nd Embodiment. 第2実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。It is the block diagram which showed an example of the function which the server apparatus which concerns on 2nd Embodiment has. 第2実施形態に係る参照画像情報(参照画像管理テーブル)の一例を示した図である。It is the figure which showed an example of the reference image information (reference image management table) which concerns on 2nd Embodiment. 第2実施形態に係る参照画像情報(特徴量管理テーブル)の一例を示した図である。It is the figure which showed an example of the reference image information (feature quantity management table) which concerns on 2nd Embodiment. 第2実施形態に係る距離情報(距離記録テーブル)の一例を示した図である。It is the figure which showed an example of the distance information (distance recording table) which concerns on 2nd Embodiment. 第2実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。It is a figure for demonstrating the feature point and feature area of a reference image which concern on 2nd Embodiment. 第2実施形態に係る投票処理について説明するための図である。It is a figure for demonstrating the voting process which concerns on 2nd Embodiment. 第2実施形態に係る判定について説明するための図である。It is a figure for demonstrating the determination which concerns on 2nd Embodiment. 第2実施形態に係る対応点探索(距離計算)の効率化について説明するための第1の図である。It is a 1st figure for demonstrating efficiency improvement of the corresponding point search (distance calculation) which concerns on 2nd Embodiment. 第2実施形態に係る対応点探索(距離計算)の効率化について説明するための第2の図である。It is a 2nd figure for demonstrating efficiency improvement of the corresponding point search (distance calculation) which concerns on 2nd Embodiment. 第2実施形態に係る端末装置の動作について説明するためのフロー図である。It is a flowchart for demonstrating operation | movement of the terminal device which concerns on 2nd Embodiment. 第2実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。It is a flowchart for demonstrating the operation | movement regarding calculation of a feature-value among operation | movement of the terminal device which concerns on 2nd Embodiment. 第2実施形態に係るサーバ装置の動作について説明するためのフロー図である。It is a flowchart for demonstrating operation | movement of the server apparatus which concerns on 2nd Embodiment. 第2実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。It is a flowchart for demonstrating the operation | movement regarding the search of a reference image among the operation | movement of the server apparatus which concerns on 2nd Embodiment. 第2実施形態に係るサーバ装置の動作のうち、距離計算に関する動作について説明するためのフロー図である。It is a flowchart for demonstrating operation | movement regarding distance calculation among operation | movement of the server apparatus which concerns on 2nd Embodiment. 第2実施形態の一変形例(変形例#1)に係る特徴点の配置について説明するための図である。It is a figure for demonstrating arrangement | positioning of the feature point which concerns on the modification (modification # 1) of 2nd Embodiment. 第2実施形態の一変形例(変形例#1)に係る画素ペアの配置及び局所特徴量の構造について説明するための図である。It is a figure for demonstrating the arrangement | positioning of the pixel pair and the structure of a local feature-value which concern on the modification (modification example # 1) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係る特徴点の配置について説明するための図である。It is a figure for demonstrating arrangement | positioning of the feature point which concerns on the modification (modification example # 2) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係る画素ペアの配置及び局所特徴量の構造について説明するための図である。It is a figure for demonstrating arrangement | positioning of a pixel pair and the structure of a local feature-value which concern on the modification (modification example # 2) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係る距離情報の一例を示した図である。It is the figure which showed an example of the distance information which concerns on the modification (modification # 2) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第1のフロー図である。It is a 1st flowchart for demonstrating operation | movement regarding distance calculation among operation | movement of the server apparatus which concerns on the modification (modification example # 2) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第2のフロー図である。It is a 2nd flowchart for demonstrating operation | movement regarding distance calculation among operation | movement of the server apparatus which concerns on the modification (modification example # 2) of 2nd Embodiment. 第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第3のフロー図である。It is a 3rd flowchart for demonstrating operation | movement regarding distance calculation among operation | movement of the server apparatus which concerns on the modification (modification example # 2) of 2nd Embodiment.

以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。   Embodiments of the present invention will be described below with reference to the accompanying drawings. In addition, about the element which has the substantially same function in this specification and drawing, duplication description may be abbreviate | omitted by attaching | subjecting the same code | symbol.

<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。図1に例示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
<1. First Embodiment>
The first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of an information processing apparatus according to the first embodiment. An information processing apparatus 10 illustrated in FIG. 1 is an example of an information processing apparatus according to the first embodiment.

図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又は他のメモリに記憶されたプログラムを実行する。
As illustrated in FIG. 1, the information processing apparatus 10 includes a storage unit 11 and a calculation unit 12.
The storage unit 11 is a volatile storage device such as a RAM (Random Access Memory) or a nonvolatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The calculation unit 12 is a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). However, the calculation unit 12 may be an electronic circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). For example, the calculation unit 12 executes a program stored in the storage unit 11 or another memory.

記憶部11は、一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、画像領域が重複する重複領域において各画像領域に配置された各画素ペアの位置が一致するように設定した配置規則を表す配置情報を記憶する。   The storage unit 11 includes a plurality of pixel pairs arranged in a common arrangement rule in each of a plurality of overlapping image areas, and each pixel pair arranged in each image area in the overlapping area where the image areas overlap. The arrangement information indicating the arrangement rule set so that the positions of the two coincide with each other is stored.

例えば、画像領域Ain1の右半分の領域(右領域R2)と、画像領域Ain2の左半分の領域(左領域R1)とが重複するように設定されている場合、画像領域Ain1の右領域R2及び画像領域Ain2の左領域R1が上記の重複領域(図1でハッチングを付した領域)に該当する。また、画像領域Ar1の右領域R2と、画像領域Ar2の左領域R1とが重複するように設定されている場合、画像領域Ar1の右領域R2及び画像領域Ar2の左領域R1が上記の重複領域に該当する。   For example, when the right half area (right area R2) of the image area Ain1 and the left half area (left area R1) of the image area Ain2 are set to overlap, the right area R2 of the image area Ain1 and The left region R1 of the image region Ain2 corresponds to the overlapping region (the hatched region in FIG. 1). When the right region R2 of the image region Ar1 and the left region R1 of the image region Ar2 are set to overlap, the right region R2 of the image region Ar1 and the left region R1 of the image region Ar2 are the above overlapping regions. It corresponds to.

図1の例において、記憶部11は、右領域R2に各画素が配置される画素ペアの情報と、左領域R1に各画素が配置される画素ペアの情報と、領域R1、R2にそれぞれ1つずつ画素が配置される画素ペアの情報とを配置情報として記憶している。以下、領域R1、R2にそれぞれ1つずつ画素が配置される画素ペアの集合をA群、左領域R1に各画素が配置される画素ペアの集合をB群、右領域R2に各画素が配置される画素ペアの集合をC群と表現する。   In the example of FIG. 1, the storage unit 11 includes information on a pixel pair in which each pixel is arranged in the right region R2, information on a pixel pair in which each pixel is arranged in the left region R1, and 1 in each of the regions R1 and R2. Information on pixel pairs in which pixels are arranged one by one is stored as arrangement information. Hereinafter, a set of pixel pairs in which one pixel is arranged in each of the regions R1 and R2, a group A, a set of pixel pairs in which each pixel is arranged in the left region R1, a group B, and each pixel in the right region R2 A set of pixel pairs to be processed is expressed as a group C.

配置情報が示す配置規則は、B群の画素ペアとC群の画素ペアとが同じ配置となるように設定される。例えば、この配置規則に従って画像領域Ain1、Ain2に画素ペアを配置した場合、画像領域Ain1の右領域R2に配置される画素ペアの位置と、画像領域Ain2の左領域R1に配置される画素ペアの位置とが一致する。画像領域Ar1、Ar2に画素ペアを配置した場合も同様である。   The arrangement rule indicated by the arrangement information is set so that the B group pixel pair and the C group pixel pair have the same arrangement. For example, when pixel pairs are arranged in the image areas Ain1 and Ain2 in accordance with this arrangement rule, the positions of the pixel pairs arranged in the right area R2 of the image area Ain1 and the pixel pairs arranged in the left area R1 of the image area Ain2 The position matches. The same applies when pixel pairs are arranged in the image areas Ar1 and Ar2.

計算部12は、画像領域に配置規則で配置された各画素ペアの特徴量の組を当該画像領域の特徴量として利用する。また、計算部12は、第1の画像に設定された各画像領域の特徴量と第2の画像に設定された各画像領域の特徴量との距離に基づいて第1の画像と第2の画像との類否を判定する。   The calculation unit 12 uses a set of feature quantities of each pixel pair arranged in the image area according to the arrangement rule as a feature quantity of the image area. The calculation unit 12 also determines the first image and the second image based on the distance between the feature amount of each image region set in the first image and the feature amount of each image region set in the second image. The similarity with the image is determined.

特徴量としては、例えば、BRIEF、SIFT、SURF、CARD(Compact And Realtime Descriptors)、FREAK、BRISK(Binary Robust Invariant Scalable Keypoints)などが利用可能である。例えば、BRIEFを利用する場合、画素ペアの2つの画素における輝度差の符号(正負)に基づくビット値が、画素ペアの特徴量となる。輝度差の符号(正負)と、特徴量となるビット値とは予め対応付けられている。また、各画素ペアの特徴を表すビット値を並べたビット列(特徴量の組)は、各画素ペアが配置された画像領域の特徴を表す特徴量となる。   For example, BREF, SIFT, SURF, CARD (Compact And Realtime Descriptors), FRAK, BRISK (Binary Robust Invariant Scalable Keypoints) and the like can be used as the feature amount. For example, when BRIEF is used, the bit value based on the sign (positive / negative) of the luminance difference between the two pixels of the pixel pair becomes the feature amount of the pixel pair. The sign (positive / negative) of the luminance difference is associated with the bit value serving as the feature amount in advance. In addition, a bit string (a set of feature amounts) in which bit values representing the features of each pixel pair are arranged is a feature amount representing the features of the image area in which each pixel pair is arranged.

図1の例において、画像領域Ain1の特徴量Qin1は、A群の画素ペアの特徴量を並べたビット列と、B群の画素ペアの特徴量を並べたビット列と、C群の画素ペアの特徴量を並べたビット列とを結合したビット列で表現されている。また、画像領域Ain2の特徴量Qin2は、A群の画素ペアの特徴量を並べたビット列と、B群の画素ペアの特徴量を並べたビット列と、C群の画素ペアの特徴量を並べたビット列とを結合したビット列で表現されている。   In the example of FIG. 1, the feature quantity Qin1 of the image area Ain1 is a bit string in which the feature quantities of the A group pixel pairs are arranged, a bit string in which the feature quantities of the B group pixel pairs are arranged, and the characteristics of the C group pixel pairs. It is expressed as a bit string obtained by combining a bit string in which quantities are arranged. The feature amount Qin2 of the image area Ain2 is a bit string in which the feature amounts of the pixel pairs in the A group are arranged, a bit string in which the feature amounts of the B group pixel pairs are arranged, and the feature amounts of the C group pixel pairs are arranged. It is expressed as a bit string combined with a bit string.

画像領域Ain1が第1の画像に設定された画像領域であり、画像領域Ar1が第2の画像に設定された画像領域であるとすると、計算部12は、特徴量Qin1、Qr1の距離を計算する。このとき、計算部12は、A群のビット列同士の距離dA11、B群のビット列同士の距離dB11、C群のビット列同士の距離dC11を計算し、距離dA11、dB11、dC11の和を特徴量Qin1、Qr1の距離とする。   If the image area Ain1 is an image area set as the first image and the image area Ar1 is an image area set as the second image, the calculation unit 12 calculates the distance between the feature quantities Qin1 and Qr1. To do. At this time, the calculation unit 12 calculates the distance dA11 between the bit strings in the A group, the distance dB11 between the bit strings in the B group, and the distance dC11 between the bit strings in the C group, and calculates the sum of the distances dA11, dB11, and dC11 as the feature amount Qin1. , Qr1 distance.

同様に、計算部12は、他の画像領域(例えば、画像領域Ain2、Ar2)の組についても距離を計算する。例えば、計算部12は、特徴量Qin2、Qr2の距離を計算する。このとき、計算部12は、A群のビット列同士の距離dA22、B群のビット列同士の距離dB22、C群のビット列同士の距離dC22を計算し、距離dA22、dB22、dC22の和を特徴量Qin2、Qr2の距離とする。そして、計算部12は、計算した距離に基づいて第1の画像と第2の画像との類否を判定する。   Similarly, the calculation unit 12 calculates a distance for a set of other image regions (for example, image regions Ain2, Ar2). For example, the calculation unit 12 calculates the distance between the feature amounts Qin2 and Qr2. At this time, the calculation unit 12 calculates the distance dA22 between the bit strings of the A group, the distance dB22 between the bit strings of the B group, and the distance dC22 between the bit strings of the C group, and the sum of the distances dA22, dB22, and dC22 is the feature amount Qin2. , Qr2 distance. Then, the calculation unit 12 determines the similarity between the first image and the second image based on the calculated distance.

但し、計算部12は、重複領域に位置する画素ペアの特徴量に関する計算結果を記憶部11に格納し、当該画素ペアと同じ位置にある、他の画像領域における画素ペアの特徴量に関する計算の際に記憶部11に格納した計算結果を利用する。   However, the calculation unit 12 stores the calculation result regarding the feature amount of the pixel pair located in the overlapping region in the storage unit 11, and performs the calculation regarding the feature amount of the pixel pair in the other image region at the same position as the pixel pair. The calculation result stored in the storage unit 11 is used.

例えば、画像領域Ain1、Ar1の距離を計算する場合(比較#1)、計算部12は、C群の画素ペアに関する距離dC11を計算する。その後、画像領域Ain2、Ar2の距離を計算する場合(比較#2)、計算部12は、B群の画素ペアに関する距離dB22を求めることになる。   For example, when calculating the distance between the image areas Ain1 and Ar1 (comparison # 1), the calculation unit 12 calculates the distance dC11 related to the pixel pair of the C group. Thereafter, when calculating the distance between the image areas Ain2 and Ar2 (comparison # 2), the calculation unit 12 obtains the distance dB22 related to the group B pixel pair.

画像領域Ain1に配置されたC群の画素ペアと、画像領域Ain2に配置されたB群の画素ペアとは同じ位置に設定される。そのため、画像領域Ain1に配置されたC群の画素ペアの特徴を表すビット列と、画像領域Ain2に配置されたB群の画素ペアの特徴を表すビット列とは同じビット列となる。同様に、画像領域Ar1に配置されたC群の画素ペアの特徴を表すビット列と、画像領域Ar2に配置されたB群の画素ペアの特徴を表すビット列とは同じビット列となる。   The group C pixel pair arranged in the image area Ain1 and the group B pixel pair arranged in the image area Ain2 are set at the same position. Therefore, the bit string representing the characteristics of the C group pixel pairs arranged in the image area Ain1 and the bit string representing the characteristics of the B group pixel pairs arranged in the image area Ain2 are the same bit string. Similarly, the bit string representing the characteristics of the group C pixel pair arranged in the image area Ar1 and the bit string representing the characteristics of the group B pixel pair arranged in the image area Ar2 are the same bit string.

従って、距離dC11と距離dB22とは同じ値になる。そこで、計算部12は、距離dC11を計算した際に、その計算結果を記憶部11に格納する。そして、距離dB22を計算する際に、その計算を省略して記憶部11に格納しておいた距離dC11を利用する。つまり、計算部12は、画像領域Ain2、Ar2の距離を計算する際、距離dA22、dC22を計算し、dA22、dC22、dC11の和を特徴量Qin2、Qr2の距離とする。このように、重複領域に関する一部の計算結果を記憶部11に格納しておき、以後の計算に利用することで、距離計算の計算量を低減することが可能になる。   Therefore, the distance dC11 and the distance dB22 have the same value. Therefore, when the calculation unit 12 calculates the distance dC11, the calculation unit 12 stores the calculation result in the storage unit 11. When calculating the distance dB22, the calculation is omitted and the distance dC11 stored in the storage unit 11 is used. That is, when calculating the distance between the image areas Ain2 and Ar2, the calculation unit 12 calculates the distances dA22 and dC22, and sets the sum of dA22, dC22, and dC11 as the distance between the feature amounts Qin2 and Qr2. As described above, it is possible to reduce the calculation amount of the distance calculation by storing a part of the calculation result regarding the overlapping area in the storage unit 11 and using it for the subsequent calculation.

第1及び第2の画像に設定された画像領域同士の距離計算にかかる負荷が低減されることで、少ない計算量で高速に最小距離の画像領域の組を抽出することができ、対応する特徴点の探索にかかる処理負荷を低減することが可能になる。   By reducing the load on the distance calculation between the image areas set in the first and second images, a set of image areas with the minimum distance can be extracted at a high speed with a small amount of calculation, and corresponding features It becomes possible to reduce the processing load for the point search.

以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
The first embodiment has been described above.
<2. Second Embodiment>
Next, a second embodiment will be described.

[2−1.システム]
図2を参照しながら、第2実施形態に係るシステムについて説明する。図2は、第2実施形態に係るシステムの一例を示した図である。
[2-1. system]
A system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a system according to the second embodiment.

図2に示すように、第2実施形態に係るシステムは、端末装置100及びサーバ装置200を含む。携帯電話、スマートフォン、デジタルカメラ、パーソナルコンピュータなどのデバイスは、端末装置100の一例である。アプリケーションサーバやコンテンツマネジメントシステムなどは、サーバ装置200の一例である。   As shown in FIG. 2, the system according to the second embodiment includes a terminal device 100 and a server device 200. Devices such as a mobile phone, a smartphone, a digital camera, and a personal computer are examples of the terminal device 100. An application server, a content management system, and the like are examples of the server device 200.

端末装置100は、無線基地局BS及びネットワークNWを介してサーバ装置200にアクセスできる。無線基地局BSは、例えば、移動体通信用の基地局や無線LAN(Local Area Network)用の基地局などである。ネットワークNWは、移動体通信の基幹回線網やWAN(Wide Area Network)などである。   The terminal device 100 can access the server device 200 via the radio base station BS and the network NW. The radio base station BS is, for example, a mobile communication base station or a wireless LAN (Local Area Network) base station. The network NW is a backbone network for mobile communication, a WAN (Wide Area Network), or the like.

図2のシステムは、例えば、端末装置100で撮像した撮像画像を、サーバ装置200で管理できるようにする写真管理サービスなどに適用できる。また、このシステムは、写真管理機能を有するSNS(Social Networking Service)などのソーシャルメディアサービスにも適用できる。以下では、写真管理サービスの例について説明するが、第2実施形態に係るシステムの適用範囲はこれに限定されない。   The system in FIG. 2 can be applied to, for example, a photo management service that enables the server device 200 to manage a captured image captured by the terminal device 100. This system can also be applied to social media services such as SNS (Social Networking Service) having a photo management function. Hereinafter, an example of the photo management service will be described, but the application range of the system according to the second embodiment is not limited to this.

多くの場合、画像の管理には、時間情報や位置情報が用いられる。例えば、撮影日時を利用して画像をグループ化して管理する方法や、GPS(Global Positioning System)で取得した撮影場所の情報を利用して画像をグループ化して管理する方法などがある。画像をグループ化しておけば、撮影時間や撮影場所の情報をヒントに画像を検索することが容易になる。その他にも、「家族旅行」や「結婚式」などのタグを画像に付し、タグを利用して画像を管理する方法などがある。   In many cases, time information and position information are used for image management. For example, there are a method of grouping and managing images using shooting date and time, and a method of grouping and managing images using shooting location information acquired by GPS (Global Positioning System). If the images are grouped, it becomes easy to search for images with hints of shooting time and shooting location. In addition, there are methods of tagging images such as “family trip” and “wedding” and managing the images using the tags.

第2実施形態は、画像から特定の物体(以下、ランドマーク)を自動認識し、その認識結果を画像にタグ付けする仕組みに関する。例えば、図2のシステムは、端末装置100により旅行先で撮影した画像の情報をサーバ装置200へと送信すると、サーバ装置200がランドマークを自動認識してタグを付与する仕組みを提供できる。この仕組みがあれば、ランドマークを指定した画像検索や画像の自動整理の実現が容易になる。   The second embodiment relates to a mechanism for automatically recognizing a specific object (hereinafter referred to as a landmark) from an image and tagging the recognition result to the image. For example, the system of FIG. 2 can provide a mechanism in which the server apparatus 200 automatically recognizes a landmark and attaches a tag when information of an image taken at a travel destination by the terminal apparatus 100 is transmitted to the server apparatus 200. With this mechanism, it is easy to realize image search specifying landmarks and automatic image organization.

ランドマークの認識は、ランドマークの画像(以下、参照画像)と類似する部分が入力画像に含まれるかを判定する処理により実現される。参照画像は複数利用される。また、参照画像は、ランドマークを正面から撮影した画像、他の方向から撮影した画像、同じ方向から異なる画角や明るさで撮影した画像などである。同じランドマークに対して複数の参照画像を利用することで、認識の失敗や誤認識の発生が少なくなる。   Landmark recognition is realized by a process of determining whether a portion similar to a landmark image (hereinafter referred to as a reference image) is included in the input image. A plurality of reference images are used. The reference image is an image of the landmark taken from the front, an image taken from another direction, an image taken from the same direction with a different angle of view or brightness, and the like. By using a plurality of reference images for the same landmark, the occurrence of recognition failure or erroneous recognition is reduced.

ランドマークの認識は、例えば、次のような手順で行われる。
まず、端末装置100が、ランドマークの認識対象とする入力画像に対して複数の特徴点を設定する。但し、特徴点の位置は予め設定されている。特徴点の配置は、例えば、予め決められた間隔で等間隔に配置する方法や、ランダムに決められた不規則な配置パターンで配置する方法などにより決定される。但し、参照画像における特徴点の配置と、入力画像に設定される特徴点の配置とは同じである。
The landmark is recognized, for example, by the following procedure.
First, the terminal device 100 sets a plurality of feature points for an input image that is a landmark recognition target. However, the position of the feature point is set in advance. The arrangement of the feature points is determined by, for example, a method of arranging the feature points at an equal interval at a predetermined interval or a method of arranging an irregular arrangement pattern determined at random. However, the arrangement of the feature points in the reference image is the same as the arrangement of the feature points set in the input image.

特徴点を設定した端末装置100は、入力画像に設定した特徴点の周辺領域(以下、特徴領域)から特徴量を抽出する。特徴領域は、例えば、特徴点を中心とする矩形領域(例えば、一辺が48画素の矩形領域)である。特徴量は、例えば、BRIEF、SIFT、SURF、CARD、FREAK、BRISKなどである。以下では、BRIEFを利用する例について説明する。   The terminal device 100 that has set a feature point extracts a feature amount from a peripheral region (hereinafter referred to as a feature region) around the feature point set in the input image. The feature area is, for example, a rectangular area having a feature point as the center (for example, a rectangular area having 48 pixels on one side). The feature amount is, for example, BRIEF, SIFT, SURF, CARD, FREEK, BRISK, or the like. In the following, an example using BRIEF will be described.

端末装置100により抽出された特徴量はサーバ装置200に送信される。サーバ装置200は、参照画像の各特徴領域から抽出した特徴量を利用して、端末装置100から受信した特徴量に対応する特徴領域を特定する。例えば、サーバ装置200は、入力画像の各特徴領域と参照画像の各特徴領域との組について特徴量同士の距離を計算し、距離が最小となる特徴領域の組を特定する。つまり、サーバ装置200は、特徴点のペアを抽出する。   The feature amount extracted by the terminal device 100 is transmitted to the server device 200. The server device 200 specifies a feature region corresponding to the feature amount received from the terminal device 100 using the feature amount extracted from each feature region of the reference image. For example, the server device 200 calculates the distance between feature amounts for a set of each feature area of the input image and each feature area of the reference image, and specifies a set of feature areas that minimizes the distance. That is, the server device 200 extracts a feature point pair.

次に、サーバ装置200は、抽出した特徴点のペアについて統計処理を実行し、入力画像中に参照画像が含まれているか否かを判定する。サーバ装置200は、全ての参照画像について上記の判定処理を実行し、入力画像に含まれる参照画像を特定する。そして、サーバ装置200は、特定した参照画像に対応するランドマークの情報を端末装置100に送信する。端末装置100は、サーバ装置200から受信したランドマークの情報を画面に表示する処理や画像に付与する処理を実行する。   Next, the server apparatus 200 performs statistical processing on the extracted feature point pair and determines whether or not a reference image is included in the input image. The server device 200 executes the above determination process for all reference images, and identifies the reference image included in the input image. Then, the server device 200 transmits landmark information corresponding to the identified reference image to the terminal device 100. The terminal device 100 executes processing for displaying the landmark information received from the server device 200 on the screen and processing for adding the information to the image.

上記のように、図2のシステムは、端末装置100からサーバ装置200へと入力画像を送らず、特徴量だけを送る仕組みとしている。そのため、個人情報である入力画像がネットワークNWなどを介して端末装置100の外部へ漏れる心配が少なくなる。また、図2のシステムは、BRIEFなどの画素ペアに基づく特徴量を利用しており、端末装置100に過度な負荷をかけずにサービスを提供することができる。   As described above, the system in FIG. 2 is configured to send only the feature amount without sending the input image from the terminal device 100 to the server device 200. For this reason, there is less concern that an input image, which is personal information, leaks outside the terminal device 100 via the network NW or the like. Further, the system of FIG. 2 uses a feature amount based on a pixel pair such as BRIEF, and can provide a service without imposing an excessive load on the terminal device 100.

以上、第2実施形態に係るシステムについて説明した。以下、このシステムに含まれる端末装置100及びサーバ装置200について、さらに説明する。
[2−2.ハードウェア]
図3を参照しながら、端末装置100が有する機能を実現することが可能なハードウェアについて説明する。図3は、第2実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。
The system according to the second embodiment has been described above. Hereinafter, the terminal device 100 and the server device 200 included in this system will be further described.
[2-2. hardware]
With reference to FIG. 3, hardware capable of realizing the functions of the terminal device 100 will be described. FIG. 3 is a diagram illustrating an example of hardware capable of realizing the functions of the terminal device according to the second embodiment.

端末装置100が有する機能は、例えば、図3に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置100が有する機能は、コンピュータプログラムを用いて図3に示すハードウェアを制御することにより実現される。   The functions of the terminal device 100 can be realized using, for example, hardware resources of the information processing apparatus illustrated in FIG. That is, the functions of the terminal device 100 are realized by controlling the hardware shown in FIG. 3 using a computer program.

図3に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。   As shown in FIG. 3, this hardware mainly includes a CPU 902, a ROM (Read Only Memory) 904, a RAM 906, a host bus 908, and a bridge 910. Further, this hardware includes an external bus 912, an interface 914, an input unit 916, an output unit 918, a storage unit 920, a drive 922, a connection port 924, and a communication unit 926.

CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。   The CPU 902 functions as, for example, an arithmetic processing unit or a control unit, and controls the overall operation of each component or a part thereof based on various programs recorded in the ROM 904, the RAM 906, the storage unit 920, or the removable recording medium 928. . The ROM 904 is an example of a storage device that stores a program read by the CPU 902, data used for calculation, and the like. The RAM 906 temporarily or permanently stores, for example, a program read by the CPU 902 and various parameters that change when the program is executed.

これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。   These elements are connected to each other via, for example, a host bus 908 capable of high-speed data transmission. On the other hand, the host bus 908 is connected to an external bus 912 having a relatively low data transmission speed via a bridge 910, for example. As the input unit 916, for example, a mouse, a keyboard, a touch panel, a touch pad, a button, a switch, a lever, or the like is used. Furthermore, as the input unit 916, a remote controller capable of transmitting a control signal using infrared rays or other radio waves may be used.

出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。   As the output unit 918, for example, a display device such as a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), or an ELD (Electro-Luminescence Display) is used. As the output unit 918, an audio output device such as a speaker or headphones, or a printer may be used. In other words, the output unit 918 is a device that can output information visually or audibly.

記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。   The storage unit 920 is a device for storing various data. As the storage unit 920, for example, a magnetic storage device such as an HDD is used. Further, as the storage unit 920, a semiconductor storage device such as an SSD (Solid State Drive) or a RAM disk, an optical storage device, a magneto-optical storage device, or the like may be used.

ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。   The drive 922 is a device that reads information recorded on a removable recording medium 928 that is a removable recording medium or writes information on the removable recording medium 928. As the removable recording medium 928, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is used.

接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタやカメラなどが用いられる。   The connection port 924 is a port for connecting an external connection device 930 such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal. For example, a printer or a camera is used as the external connection device 930.

通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。   The communication unit 926 is a communication device for connecting to the network 932. As the communication unit 926, for example, a communication circuit for wired or wireless LAN (Local Area Network), a communication circuit for WUSB (Wireless USB), a communication circuit or router for optical communication, an ADSL (Asymmetric Digital Subscriber Line) Communication circuits, routers, communication circuits for mobile phone networks, and the like are used. A network 932 connected to the communication unit 926 is a wired or wireless network, and includes, for example, the Internet, a LAN, a broadcast network, a satellite communication line, and the like.

以上、端末装置100のハードウェアについて説明した。なお、上記のハードウェアは、サーバ装置200が有する機能を実現することも可能である。従って、サーバ装置200のハードウェアについては説明を省略する。   The hardware of the terminal device 100 has been described above. Note that the above hardware can also realize the functions of the server device 200. Therefore, description of the hardware of the server device 200 is omitted.

[2−3.端末装置の機能]
次に、図4〜図11を参照しながら、端末装置100の機能について説明する。
図4は、第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。図5は、第2実施形態に係る画素ペア情報の一例を示した図である。図6は、第2実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。図7は、第2実施形態に係る特徴量の計算について説明するための図である。
[2-3. Terminal device functions]
Next, functions of the terminal device 100 will be described with reference to FIGS.
FIG. 4 is a block diagram illustrating an example of functions of the terminal device according to the second embodiment. FIG. 5 is a diagram illustrating an example of pixel pair information according to the second embodiment. FIG. 6 is a diagram for explaining feature points and feature regions of an input image according to the second embodiment. FIG. 7 is a diagram for explaining calculation of feature amounts according to the second embodiment.

図8は、第2実施形態に係る特徴点計算の効率化について説明するための第1の図である。図9は、第2実施形態に係る特徴点計算の効率化について説明するための第2の図である。図10は、第2実施形態に係る特徴点計算の効率化について説明するための第3の図である。図11は、第2実施形態に係る特徴点計算の効率化について説明するための第4の図である。   FIG. 8 is a first diagram for explaining the efficiency of the feature point calculation according to the second embodiment. FIG. 9 is a second diagram for explaining the efficiency of the feature point calculation according to the second embodiment. FIG. 10 is a third diagram for explaining the efficiency of the feature point calculation according to the second embodiment. FIG. 11 is a fourth diagram for explaining the efficiency of the feature point calculation according to the second embodiment.

図4に示すように、端末装置100は、記憶部101、画像取得部102、特徴点設定部103、特徴量計算部104、及び送信部105を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。画像取得部102、特徴点設定部103、及び特徴量計算部104の機能は、上述したCPU902などを用いて実現できる。送信部105の機能は、上述した接続ポート924や通信部926などを用いて実現できる。
As illustrated in FIG. 4, the terminal device 100 includes a storage unit 101, an image acquisition unit 102, a feature point setting unit 103, a feature amount calculation unit 104, and a transmission unit 105.
Note that the function of the storage unit 101 can be realized by using the above-described RAM 906, the storage unit 920, or the like. The functions of the image acquisition unit 102, the feature point setting unit 103, and the feature amount calculation unit 104 can be realized using the above-described CPU 902 or the like. The function of the transmission unit 105 can be realized by using the connection port 924, the communication unit 926, or the like described above.

(画素ペア情報101aについて)
記憶部101には、画素ペア情報101aが格納される。画素ペア情報101aは、画像の特徴点毎に設定される特徴領域の特徴量を計算する際に用いる画素のペア(以下、画素ペア)を表す情報である。例えば、画素ペア情報101aには、画素ペアを成す2つの画素の位置を示す位置情報が含まれる。なお、特徴領域は、例えば、特徴点を中心とする矩形領域であり、32画素×32画素や48画素×48画素などのサイズに設定される。
(Regarding pixel pair information 101a)
The storage unit 101 stores pixel pair information 101a. The pixel pair information 101a is information representing a pixel pair (hereinafter referred to as a pixel pair) used when calculating a feature amount of a feature region set for each feature point of an image. For example, the pixel pair information 101a includes position information indicating the positions of two pixels that form a pixel pair. The feature region is, for example, a rectangular region centered on the feature point, and is set to a size of 32 pixels × 32 pixels, 48 pixels × 48 pixels, or the like.

画素ペア情報101aの一例を図5に示す。図5に示すように、画素ペア情報101aには、画素ペアLk(k=1、2、…)を成す2つの画素の座標(X1,Y1)及び(X2,Y2)が含まれる。画素の座標は、特徴領域の左上を原点(0,0)とした座標値で表現される。また、画素ペアの数は、例えば、128個、256個、512個などに設定される。例えば、画素ペアの数を256個に設定した場合、特徴領域毎に256個の画素ペアが設定される。   An example of the pixel pair information 101a is shown in FIG. As shown in FIG. 5, the pixel pair information 101a includes the coordinates (X1, Y1) and (X2, Y2) of two pixels forming the pixel pair Lk (k = 1, 2,...). The coordinates of the pixel are expressed by coordinate values with the upper left corner of the feature area as the origin (0, 0). Also, the number of pixel pairs is set to 128, 256, 512, for example. For example, when the number of pixel pairs is set to 256, 256 pixel pairs are set for each feature region.

(特徴点の設定について)
再び図4を参照する。画像取得部102は、ランドマークの認識対象となる画像(以下、入力画像Pin)を取得する。例えば、画像取得部102は、外部の記憶装置(非図示)又は端末装置100に接続されたカメラ(非図示)から入力画像Pinを取得する。また、画像取得部102は、端末装置100が有するカメラ機能を利用して入力画像Pinを取得してもよい。このようにして画像取得部102により取得された入力画像Pinは、記憶部101に格納される。
(About feature point settings)
Refer to FIG. 4 again. The image acquisition unit 102 acquires an image (hereinafter referred to as an input image Pin) that is a landmark recognition target. For example, the image acquisition unit 102 acquires an input image Pin from an external storage device (not shown) or a camera (not shown) connected to the terminal device 100. In addition, the image acquisition unit 102 may acquire the input image Pin using a camera function of the terminal device 100. The input image Pin acquired by the image acquisition unit 102 in this way is stored in the storage unit 101.

特徴点設定部103は、記憶部101に格納された入力画像Pinを読み出し、読み出した入力画像Pinに複数の特徴点を設定する。例えば、特徴点設定部103は、図6に示すように、等間隔に配置された複数の特徴点を抽出する方法(Dense Sampling)を用いて入力画像Pinに特徴点を設定する。但し、特徴点の設定にはFAST(Features from Accelerated Segment Test)などの方法も適用できる。   The feature point setting unit 103 reads the input image Pin stored in the storage unit 101, and sets a plurality of feature points in the read input image Pin. For example, as shown in FIG. 6, the feature point setting unit 103 sets feature points in the input image Pin by using a method (Dens Sampling) of extracting a plurality of feature points arranged at equal intervals. However, a method such as FAST (Features from Accelerated Segment Test) can also be applied for setting the feature points.

図6に示すように、特徴点Winを基準に特徴領域Ainが設定される。なお、入力画像Pinに設定される特徴点をWinと表記する。また、m番目の特徴点をWin(m)、m+1番目の特徴点をWin(m+1)と表記する。さらに、m番目の特徴点Win(m)を基準に設定される特徴領域をAin(m)と表記する。特徴点設定部103により設定された特徴点Win及び特徴領域Ainの情報は、記憶部101に格納されると共に、特徴量計算部104に入力される。   As shown in FIG. 6, a feature area Ain is set with reference to the feature point Win. Note that the feature point set in the input image Pin is denoted as Win. In addition, the m-th feature point is represented as Win (m), and the m + 1-th feature point is represented as Win (m + 1). Further, a feature region set with the m-th feature point Win (m) as a reference is denoted as Ain (m). Information on the feature points Win and the feature area Ain set by the feature point setting unit 103 is stored in the storage unit 101 and input to the feature amount calculation unit 104.

(特徴量の計算及び送信について)
再び図4を参照する。特徴量計算部104は、画素ペア情報101aを参照し、特徴点設定部103により設定された各特徴領域Ainの特徴量を計算する。
(About feature amount calculation and transmission)
Refer to FIG. 4 again. The feature amount calculation unit 104 refers to the pixel pair information 101a and calculates the feature amount of each feature region Ain set by the feature point setting unit 103.

例えば、特徴量計算部104は、図7に示すように、入力画像Pinの特徴領域Ainに設定された画素ペアに含まれる各画素の輝度を抽出する(C1)。次いで、特徴量計算部104は、抽出した2つの輝度の差分を求めて、各画素ペアの輝度差を計算する(C2)。但し、特徴量計算部104は、後述する効率化手法により一部の画素ペアについて輝度差の計算を省略してもよい。次いで、特徴量計算部104は、計算した輝度差の符号(正負)を表すビット値を並べたビット列(以下、局所特徴量)を生成する(C3)。   For example, as shown in FIG. 7, the feature amount calculation unit 104 extracts the luminance of each pixel included in the pixel pair set in the feature area Ain of the input image Pin (C1). Next, the feature amount calculation unit 104 obtains a difference between the two extracted luminances, and calculates a luminance difference between each pixel pair (C2). However, the feature amount calculation unit 104 may omit the calculation of the luminance difference for some pixel pairs by an efficiency method described later. Next, the feature amount calculation unit 104 generates a bit string (hereinafter referred to as a local feature amount) in which bit values representing the sign (positive / negative) of the calculated luminance difference are arranged (C3).

輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「1」に対応付けられ、負の符号がビット値「0」に対応付けられている。また、輝度差を計算する際、画素ペアを成す2つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。例えば、座標(X1,Y1)に位置する画素の輝度から座標(X2,Y2)に位置する画素の輝度を減算した輝度差の符号を局所特徴量の生成に利用することが予め設定されている。また、上記C3の工程でビット値を並べる順番も予め設定されている。   The sign of the luminance difference and the bit value are associated in advance. For example, a positive sign is associated with the bit value “1”, and a negative sign is associated with the bit value “0”. In addition, when calculating the luminance difference, it is also set in advance which one of the two pixels forming the pixel pair is subtracted from the luminance of the other pixel. For example, it is preset that the sign of the luminance difference obtained by subtracting the luminance of the pixel located at the coordinates (X2, Y2) from the luminance of the pixel located at the coordinates (X1, Y1) is used for generating the local feature amount. . The order in which the bit values are arranged in the step C3 is also set in advance.

256個の画素ペアが設定された場合、256ビットのビット列で表現された局所特徴量が得られる。局所特徴量は、入力画像Pinに含まれる全ての特徴領域Ainについて計算される。入力画像Pinについて特徴量計算部104により計算された局所特徴量の組は、送信部105に入力される。送信部105は、特徴量計算部104から入力された局所特徴量をサーバ装置200へ送信する。このように、入力画像Pinそのものは送信されないため、ユーザの個人情報が外部へ漏洩するリスクを低減できる。   When 256 pixel pairs are set, a local feature amount expressed by a 256-bit bit string is obtained. The local feature amount is calculated for all feature regions Ain included in the input image Pin. A set of local feature amounts calculated by the feature amount calculation unit 104 for the input image Pin is input to the transmission unit 105. The transmission unit 105 transmits the local feature amount input from the feature amount calculation unit 104 to the server device 200. In this way, since the input image Pin itself is not transmitted, it is possible to reduce the risk of leaking personal information of the user to the outside.

(特徴量計算の効率化手法について)
ここで、図6、図8〜図11を参照しながら、上述した特徴量計算の効率化手法について説明する。
(About efficient feature calculation)
Here, the above-described technique for improving the amount of feature calculation will be described with reference to FIGS. 6 and 8 to 11.

既に説明したように、特徴点Winの配置及び特徴領域Ainのサイズは予め設定される。設定の例としては、図6に示すように、隣り合う特徴領域Ain同士が一部で重なるように各特徴領域Ainを配置する設定や、隣り合う特徴領域Ain同士が接するように各特徴領域Ainを配置する設定などがある。   As already described, the arrangement of the feature points Win and the size of the feature area Ain are set in advance. As an example of the setting, as shown in FIG. 6, each feature region Ain is set so that adjacent feature regions Ain are in contact with each other, or the feature regions Ain are arranged so that the adjacent feature regions Ain partially overlap each other. There is a setting to arrange.

図6の例は、左右の方向(X方向)に並んで配置された特徴領域Ain同士について、特徴領域Ainの1/2の部分だけ重なるように設定した場合を示している。この例において、m番目の特徴点Win(m)を基準に設定された特徴領域Ain(m)の右1/2の部分は、m+1番目の特徴点Win(m+1)を基準に設定された特徴領域Ain(m+1)の左1/2の部分と重複している。また、この例において、上下に隣り合う特徴領域Ain同士は接するように設定されている。   The example of FIG. 6 shows a case where the characteristic areas Ain arranged side by side in the left-right direction (X direction) are set so as to overlap only a half of the characteristic area Ain. In this example, the right half portion of the feature area Ain (m) set with the mth feature point Win (m) as a reference is a feature set with the m + 1th feature point Win (m + 1) as a reference. It overlaps with the left half of the area Ain (m + 1). Further, in this example, the feature areas Ain that are vertically adjacent to each other are set to contact each other.

特徴領域Ain(m)、Ain(m+1)の局所特徴量を計算する場合、特徴量計算部104は、特徴領域Ain(m)、Ain(m+1)にそれぞれ画素ペアLk(k=1,2,…)を配置し、各画素ペアLkの輝度差に基づくビット値を計算する。   When calculating the local feature quantities of the feature areas Ain (m) and Ain (m + 1), the feature quantity calculation unit 104 adds pixel pairs Lk (k = 1, 2, 2, respectively) to the feature areas Ain (m) and Ain (m + 1). ...) And a bit value based on the luminance difference of each pixel pair Lk is calculated.

特徴領域Ain(m)、Ain(m+1)について各々独立にビット値の計算を実行してもよいが、特徴領域Ain(m)、Ain(m+1)の重複部分に関するビット値の計算は冗長である。特徴領域Ain(m+1)の左半分についてビット値を計算する際に、特徴領域Ain(m)の右半分について計算したビット値を流用できれば、局所特徴量の計算量を低減することができる。   The bit values may be calculated independently for the feature areas Ain (m) and Ain (m + 1), but the calculation of the bit values regarding the overlapping portions of the feature areas Ain (m) and Ain (m + 1) is redundant. . When calculating the bit value for the left half of the feature area Ain (m + 1), if the bit value calculated for the right half of the feature area Ain (m) can be used, the amount of calculation of the local feature amount can be reduced.

ビット値を流用するためには、特徴領域Ain(m)の右半分の領域(右領域)における画素ペアの配置と、特徴領域Ain(m+1)の左半分の領域(左領域)における画素ペアの配置とが同じであることが前提となる。但し、特徴領域Ain(m)の右領域にある画素ペアの一部だけが、特徴領域Ain(m+1)の左領域にある画素ペアと同じ配置であっても、ビット値の流用による計算量の低減効果は得られる。   In order to use the bit value, the pixel pair arrangement in the right half area (right area) of the feature area Ain (m) and the pixel pair in the left half area (left area) of the feature area Ain (m + 1) It is assumed that the arrangement is the same. However, even if only a part of the pixel pair in the right region of the feature region Ain (m) has the same arrangement as the pixel pair in the left region of the feature region Ain (m + 1), the calculation amount due to the diversion of the bit value is reduced. A reduction effect is obtained.

そこで、各特徴領域Ainにおいて、右領域と左領域とで同じ配置となる画素ペア(流用可能な画素ペア)が含まれるように画素ペア情報101aが設定される。この場合、特徴量計算部104は、図8に示すように、特徴領域Ain(m)の局所特徴量を計算した後、流用可能な画素ペアに対応するビット値を保持する。   Therefore, in each feature area Ain, the pixel pair information 101a is set so as to include a pixel pair (a divertable pixel pair) having the same arrangement in the right area and the left area. In this case, as shown in FIG. 8, the feature amount calculation unit 104 calculates the local feature amount of the feature region Ain (m), and then holds the bit value corresponding to the divertable pixel pair.

次いで、特徴量計算部104は、特徴領域Ain(m+1)の局所特徴量を計算する際、特徴領域Ain(m+1)の左領域にある流用可能な画素ペアに対応するビット値の計算を省略し、保持していたビット値を利用して局所特徴量を求める。また、特徴量計算部104は、特徴領域Ain(m+1)の局所特徴量を計算した後、特徴領域Ain(m+2)の計算に流用可能な画素ペアに対応するビット値を保持する。   Next, when calculating the local feature amount of the feature region Ain (m + 1), the feature amount calculation unit 104 omits the calculation of the bit value corresponding to the divertable pixel pair in the left region of the feature region Ain (m + 1). Then, the local feature amount is obtained by using the held bit value. In addition, after calculating the local feature amount of the feature region Ain (m + 1), the feature amount calculation unit 104 holds bit values corresponding to pixel pairs that can be used for calculation of the feature region Ain (m + 2).

上記のように、重複領域に設定される画素ペアの一部について局所特徴量の計算時に、既に計算済みのビット値を流用することで、局所特徴量の計算量を低減できる。
ここで、上記の計算方法を適用可能にする画素ペアの配置について、さらに説明する。
As described above, the calculation amount of the local feature amount can be reduced by diverting the already calculated bit value when calculating the local feature amount for a part of the pixel pairs set in the overlapping region.
Here, the arrangement of the pixel pair that allows the above calculation method to be applied will be further described.

図9に示すように、画素ペアは、特徴領域Ainの右領域と左領域との境界を跨ぐように2つの画素が配置されるもの(A群)と、左領域に各画素が配置されるもの(B群)と、右領域に各画素が配置されるもの(C群)とに分類できる。B群に属する画素ペアの左領域における配置と、C群に属する画素ペアの右領域における配置とは同じである。つまり、左領域と右領域とを重ねた場合、左領域に設定された各画素ペアの位置と右領域に設定された各画素ペアの位置とが一致する。   As shown in FIG. 9, in the pixel pair, two pixels are arranged so as to straddle the boundary between the right region and the left region of the feature region Ain (Group A), and each pixel is arranged in the left region. It can be classified into one (group B) and one in which each pixel is arranged in the right region (group C). The arrangement of the pixel pairs belonging to the B group in the left region and the arrangement of the pixel pairs belonging to the C group in the right region are the same. That is, when the left area and the right area are overlapped, the position of each pixel pair set in the left area matches the position of each pixel pair set in the right area.

上記のようにA群、B群、C群に属する画素ペアの配置を決定し、全ての画素ペアの配置を統合した全体が、画素ペア情報101aに記録されて局所特徴量の計算に利用される。画素ペア情報101aは、画素ペア毎にA群、B群、C群を特定する属性情報を含んでいてもよい。例えば、図10に示すように、特徴領域Ain(m)、Ain(m+1)に画素ペアL1、L2、…、L6を配置すると、重複領域において画素ペアL5、L6の位置が一致する。よって、図8に示した局所特徴量の効率的な計算が実現可能になる。   As described above, the arrangement of the pixel pairs belonging to the A group, the B group, and the C group is determined, and the whole arrangement of all the pixel pairs is recorded in the pixel pair information 101a and used for the calculation of the local feature amount. The The pixel pair information 101a may include attribute information for specifying the A group, the B group, and the C group for each pixel pair. For example, as shown in FIG. 10, when the pixel pairs L1, L2,..., L6 are arranged in the feature areas Ain (m), Ain (m + 1), the positions of the pixel pairs L5, L6 coincide in the overlapping area. Therefore, efficient calculation of the local feature amount shown in FIG. 8 can be realized.

A群、B群、C群に属する各画素ペアの特徴を表すビット値を流用しやすくするため、図11に示すように、A群のビット列、B群のビット列、C群のビット列を区分けした局所特徴量の構造を採用することが好ましい。この構造を採用した場合、例えば、図11に示すように、特徴領域Ain(m)の局所特徴量からC群のビット列を抽出し、特徴領域Ain(m+1)の局所特徴量のうちB群のビット列の部分に挿入することで、計算結果の流用が実現できる。   In order to facilitate the diversion of the bit values representing the characteristics of the pixel pairs belonging to the A group, the B group, and the C group, the bit string of the A group, the bit string of the B group, and the bit string of the C group are divided as shown in FIG. It is preferable to adopt a structure of local feature amounts. When this structure is adopted, for example, as shown in FIG. 11, a group C bit string is extracted from the local feature quantity of the feature area Ain (m), and the B group of the local feature quantity of the feature area Ain (m + 1) is extracted. By inserting it in the bit string portion, the calculation result can be diverted.

上記のように、図8に示した計算結果の流用、図9に示した画素ペアの配置、及び図11に示した局所特徴量の構造を組み合わせることで、局所特徴量の計算を効率化することが可能になる。また、後述するように、図9に示した画素ペアの配置、及び図11に示した局所特徴量の構造を採用することで、サーバ装置200の処理も効率化される。   As described above, by combining the calculation result shown in FIG. 8, the arrangement of the pixel pairs shown in FIG. 9, and the structure of the local feature shown in FIG. 11, the calculation of the local feature is made efficient. It becomes possible. Further, as will be described later, the processing of the server apparatus 200 is also made efficient by adopting the arrangement of the pixel pairs shown in FIG. 9 and the structure of the local feature quantity shown in FIG.

以上、端末装置の機能について説明した。
[2−4.サーバ装置の機能]
次に、図12〜図20を参照しながら、サーバ装置200の機能について説明する。
The function of the terminal device has been described above.
[2-4. Server device functions]
Next, functions of the server device 200 will be described with reference to FIGS.

図12は、第2実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。図13は、第2実施形態に係る参照画像情報(参照画像管理テーブル)の一例を示した図である。図14は、第2実施形態に係る参照画像情報(特徴量管理テーブル)の一例を示した図である。図15は、第2実施形態に係る距離情報(距離記録テーブル)の一例を示した図である。   FIG. 12 is a block diagram illustrating an example of functions of the server device according to the second embodiment. FIG. 13 is a diagram illustrating an example of reference image information (reference image management table) according to the second embodiment. FIG. 14 is a diagram illustrating an example of reference image information (feature amount management table) according to the second embodiment. FIG. 15 is a diagram illustrating an example of distance information (distance recording table) according to the second embodiment.

図16は、第2実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。図17は、第2実施形態に係る投票処理について説明するための図である。図18は、第2実施形態に係る判定について説明するための図である。図19は、第2実施形態に係る対応点探索(距離計算)の効率化について説明するための第1の図である。図20は、第2実施形態に係る対応点探索(距離計算)の効率化について説明するための第2の図である。   FIG. 16 is a diagram for explaining feature points and feature regions of a reference image according to the second embodiment. FIG. 17 is a diagram for explaining voting processing according to the second embodiment. FIG. 18 is a diagram for describing determination according to the second embodiment. FIG. 19 is a first diagram for explaining the efficiency of the corresponding point search (distance calculation) according to the second embodiment. FIG. 20 is a second diagram for explaining the efficiency of the corresponding point search (distance calculation) according to the second embodiment.

図12に示すように、サーバ装置200は、記憶部201、受信部202、距離計算部203、投票処理部204、及び判定部205を有する。
記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。受信部202の機能は、上述した接続ポート924や通信部926などを用いて実現できる。距離計算部203、投票処理部204、及び判定部205の機能は、上述したCPU902などを用いて実現できる。
As illustrated in FIG. 12, the server device 200 includes a storage unit 201, a reception unit 202, a distance calculation unit 203, a voting processing unit 204, and a determination unit 205.
The function of the storage unit 201 can be realized using the above-described RAM 906, the storage unit 920, or the like. The function of the reception unit 202 can be realized by using the connection port 924, the communication unit 926, and the like described above. The functions of the distance calculation unit 203, the voting processing unit 204, and the determination unit 205 can be realized using the above-described CPU 902 or the like.

(画素ペア情報201a、参照画像情報201b、距離情報201cについて)
記憶部201には、参照画像Prが格納されている。また、記憶部201には、画素ペア情報201a、参照画像情報201b、及び距離情報201cが格納される。
(Regarding pixel pair information 201a, reference image information 201b, distance information 201c)
The storage unit 201 stores a reference image Pr. The storage unit 201 stores pixel pair information 201a, reference image information 201b, and distance information 201c.

画素ペア情報201aは、端末装置100の記憶部101に格納されている画素ペア情報101aと同じ画素ペアに関する情報である。参照画像情報201bは、参照画像Prに関連する情報である。距離情報201cは、局所特徴点同士の距離を計算する際に一部の計算結果が格納される距離記録テーブルを含む情報である。   The pixel pair information 201a is information related to the same pixel pair as the pixel pair information 101a stored in the storage unit 101 of the terminal device 100. The reference image information 201b is information related to the reference image Pr. The distance information 201c is information including a distance record table in which a part of calculation results is stored when calculating the distance between local feature points.

参照画像情報201bは、参照画像管理テーブル、及び特徴量管理テーブルを含む。記憶部201には、様々なランドマークに対応する参照画像Prが格納されている。また、1つのランドマークについて複数のサイズ、複数の撮影方向に対応する複数の参照画像Prが記憶部201に格納されている。これらの参照画像Prのデータとランドマークとを対応付ける情報が参照画像管理テーブルである。   The reference image information 201b includes a reference image management table and a feature amount management table. The storage unit 201 stores reference images Pr corresponding to various landmarks. In addition, a plurality of reference images Pr corresponding to a plurality of sizes and a plurality of photographing directions for one landmark are stored in the storage unit 201. Information that associates the data of the reference image Pr with the landmark is a reference image management table.

参照画像管理テーブルは、図13に示すように、ランドマーク名と参照画像Prの画像データ(又は画像データへのリンク)とを対応付けるデータベースである。参照画像管理テーブルの各レコードは識別番号ID#1により特定される。   As shown in FIG. 13, the reference image management table is a database that associates landmark names with image data (or links to image data) of the reference image Pr. Each record in the reference image management table is specified by the identification number ID # 1.

特徴量管理テーブルは、図14に示すように、参照画像Prに含まれる各特徴点と、特徴点毎に計算された局所特徴量とを対応付けるデータベースである。特徴量管理テーブルは、識別番号ID#1で特定される各参照画像Prについて生成される。特徴量管理テーブルの各レコードは識別番号ID#2により特定される。   As shown in FIG. 14, the feature amount management table is a database that associates each feature point included in the reference image Pr with a local feature amount calculated for each feature point. The feature amount management table is generated for each reference image Pr specified by the identification number ID # 1. Each record of the feature quantity management table is specified by the identification number ID # 2.

距離記録テーブルは、図15に示すように、入力画像Pinの特徴領域Ain(m)(m=1,2,…,M)と、参照画像Prの特徴領域Ar(n)(n=1,2,…,N)との距離Dを計算する際に、計算結果の一部(距離d)が記録されるデータベースである。距離dについては、後述する特徴量計算の効率化手法に関する説明の中で詳述する。   As shown in FIG. 15, the distance recording table includes a feature area Ain (m) (m = 1, 2,..., M) of the input image Pin and a feature area Ar (n) (n = 1, 1) of the reference image Pr. 2,.., N) is a database in which a part of the calculation result (distance d) is recorded when the distance D is calculated. The distance d will be described in detail in the description of the method for improving the characteristic amount calculation described later.

(特徴点の設定について)
参照画像Prの特徴点は、入力画像Pinに特徴点を設定する場合と同様に、Dense SamplingやFASTなどの方法により設定される。
(About feature point settings)
The feature points of the reference image Pr are set by a method such as Dense Sampling or FAST as in the case of setting feature points in the input image Pin.

図16に示すように、特徴点Wrを基準に特徴領域Arが設定される。参照画像Prに設定される特徴点をWrと表記する。また、n番目の特徴点をWr(n)、n+1番目の特徴点をWr(n+1)と表記する。さらに、n番目の特徴点Wr(n)を基準に設定される特徴領域をAr(n)と表記する。特徴領域Ar(n)(n=1,2,…,N)の局所特徴量は、予め計算されて特徴量管理テーブルに格納されている。局所特徴量の計算は、特徴領域Ainの局所特徴量を計算する方法と同じである。   As shown in FIG. 16, a feature area Ar is set based on the feature point Wr. A feature point set in the reference image Pr is denoted as Wr. In addition, the nth feature point is denoted as Wr (n), and the (n + 1) th feature point is denoted as Wr (n + 1). Further, a feature region set based on the nth feature point Wr (n) is denoted as Ar (n). Local feature amounts of the feature region Ar (n) (n = 1, 2,..., N) are calculated in advance and stored in the feature amount management table. The calculation of the local feature amount is the same as the method of calculating the local feature amount of the feature region Ain.

(距離計算について)
再び図12を参照する。受信部202は、端末装置100から入力画像Pinの局所特徴量を受信する。受信部202により受信された入力画像Pinの局所特徴量は、距離計算部203に入力される。距離計算部203は、局所特徴量に基づき、入力画像Pinの各特徴領域Ainと、参照画像Prの各特徴領域Arとの距離Dを計算する。距離Dは、特徴領域Ain、Ar間における特徴の違いを表す。
(About distance calculation)
Refer to FIG. 12 again. The receiving unit 202 receives a local feature amount of the input image Pin from the terminal device 100. The local feature amount of the input image Pin received by the reception unit 202 is input to the distance calculation unit 203. The distance calculation unit 203 calculates the distance D between each feature area Ain of the input image Pin and each feature area Ar of the reference image Pr based on the local feature amount. The distance D represents the difference in features between the feature regions Ain and Ar.

ここで、特徴領域Ain、Arの距離Dを計算する方法について、さらに説明する。
以下では、特徴領域Ainの局所特徴量をLFinと表記し、特徴領域Arの局所特徴量をLFrと表記する。距離計算部203は、下記の式(1)により、局所特徴量LFin、LFrからビット列HVを計算する。次いで、距離計算部203は、ビット列HVの長さ(HVに含まれるビット値1の数)を計算する。ビット列HVの長さは、距離Dであり、特徴領域Ain、Ar間における特徴の違いを表す。
Here, a method for calculating the distance D between the feature regions Ain and Ar will be further described.
Hereinafter, the local feature amount of the feature region Ain is denoted as LFin, and the local feature amount of the feature region Ar is denoted as LFr. The distance calculation unit 203 calculates a bit string HV from the local feature values LFin and LFr by the following equation (1). Next, the distance calculation unit 203 calculates the length of the bit string HV (the number of bit values 1 included in the HV). The length of the bit string HV is the distance D, and represents the difference in features between the feature regions Ain and Ar.

HV={LFin XOR LFr}
…(1)
上記の式(1)に含まれるXORは排他的論理和演算を表す。この演算は、局所特徴量LFin、LFrの各ビット値について、一致する場合に1、不一致の場合に0とする演算である。そのため、この演算により1となったビット値の数を合計することで、局所特徴量に基づく特徴領域Ain、Ar間の距離D(特徴の違い)が得られる。
HV = {LFin XOR LFr}
... (1)
XOR included in the above equation (1) represents an exclusive OR operation. This calculation is an operation in which the bit values of the local feature values LFin and LFr are set to 1 when they match and 0 when they do not match. Therefore, by summing the number of bit values that are 1 by this calculation, the distance D (feature difference) between the feature regions Ain and Ar based on the local feature amount is obtained.

距離計算部203は、全ての参照画像Prについて、上記の方法により入力画像Pinの各特徴領域Ainと、参照画像Prの各特徴領域Arとの間の距離Dを計算する。但し、距離計算部203は、後述する効率化手法により一部の計算を省略し、効率的に上記の距離Dを計算する。距離計算部203により計算された距離Dの情報は、投票処理部204に入力される。   The distance calculation unit 203 calculates the distance D between each feature region Ain of the input image Pin and each feature region Ar of the reference image Pr for all the reference images Pr by the above method. However, the distance calculation unit 203 omits a part of the calculation by an efficiency method described later, and efficiently calculates the distance D. Information on the distance D calculated by the distance calculation unit 203 is input to the voting processing unit 204.

(投票処理について)
投票処理部204は、特徴領域Ar、Ainの各組について計算された距離Dに基づき、類似度が最も高い(距離Dが最も小さくなる)特徴領域Ar、Ainの組を抽出する。例えば、投票処理部204は、図17に示すように、特徴領域Ar(n)について、特徴領域Ain(1)、…、Ain(M)の中から距離Dが最小となる特徴領域Ain(m)を抽出する(対応点探索)。
(About voting process)
The voting processing unit 204 extracts a pair of feature areas Ar and Ain having the highest similarity (the distance D is the smallest) based on the distance D calculated for each pair of feature areas Ar and Ain. For example, as shown in FIG. 17, the voting processing unit 204, for the feature region Ar (n), the feature region Ain (m) having the smallest distance D from the feature regions Ain (1),. ) Are extracted (corresponding point search).

また、投票処理部204は、特徴領域Arの特徴点Wrと参照画像Prの中心との位置関係(例えば、ベクトル)を利用し、抽出した特徴領域Ainの特徴点Winを基準に、参照画像Prの中心に対応する点(以下、特定点)を特定する(中心推定)。例えば、投票処理部204は、既知である特徴領域Arの特徴点から参照画像Prの中心への向き及び距離(ベクトル)に基づき、対応する入力画像Pinの特徴点から同じ向き及び距離へ移動した点を特定点とする。   The voting processing unit 204 uses the positional relationship (for example, a vector) between the feature point Wr of the feature area Ar and the center of the reference image Pr, and uses the extracted feature point Win of the feature area Ain as a reference. A point corresponding to the center (hereinafter referred to as a specific point) is specified (center estimation). For example, the voting processing unit 204 has moved from the feature point of the corresponding input image Pin to the same direction and distance based on the direction and distance (vector) from the known feature point of the feature region Ar to the center of the reference image Pr. A point is a specific point.

図17の場合、投票処理部204は、特徴領域Ar(n)の特徴点Wr(n)と参照画像Prの中心との位置関係を利用し、特徴領域Ain(m)の特徴点Win(m)を基準に特定点(白矩形の点)を特定する。この特定処理は、入力画像Pinの特徴点と、対応する参照画像Prの特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合に、入力画像Pinにおける参照画像Prの中心を特定する処理に相当する。   In the case of FIG. 17, the voting processing unit 204 uses the positional relationship between the feature point Wr (n) of the feature area Ar (n) and the center of the reference image Pr, and uses the feature point Win (m) of the feature area Ain (m). ) To identify a specific point (white rectangular point). This specifying process is performed when the reference image Pr is superimposed on the input image Pin so that the feature point of the input image Pin matches the feature point of the corresponding reference image Pr, and the center of the reference image Pr in the input image Pin is determined. This corresponds to the process to be specified.

入力画像Pinの横幅をwi、高さをhi、参照画像Prの横幅をwr、高さをhrとすると、特定点の座標(Xv,Yv)は、下記の式(2)及び式(3)により計算できる。下記の式(2)及び式(3)において、特徴点Wrの座標を(Xr,Yr)と表記し、特徴点Wrに対応する特徴点Winの座標を(Xi,Yi)と表記している。   When the horizontal width of the input image Pin is wi, the height is hi, the horizontal width of the reference image Pr is wr, and the height is hr, the coordinates (Xv, Yv) of the specific point are expressed by the following equations (2) and (3). Can be calculated by In the following equations (2) and (3), the coordinates of the feature point Wr are expressed as (Xr, Yr), and the coordinates of the feature point Win corresponding to the feature point Wr are expressed as (Xi, Yi). .

Xv = Xi−Xr+wr/2
…(2)
Yv = Yi−Yr+hr/2
…(3)
特定点の座標を計算した投票処理部204は、統計的手法(例えば、投票)により入力画像Pinに参照画像Prが含まれるか否かを判定する。投票は、図17に示すように、入力画像Pinと同じサイズの領域に枡目を設けた投票マップを利用して行われる。投票マップの各枡目にはカウンタが対応付けられている。投票処理部204は、特定点の座標を含む枡目を特定し、特定した枡目に対応するカウンタのカウント値(投票数)をカウントアップする。このカウントアップに係る処理が投票である。
Xv = Xi-Xr + wr / 2
... (2)
Yv = Yi-Yr + hr / 2
... (3)
The voting processing unit 204 that has calculated the coordinates of the specific point determines whether or not the reference image Pr is included in the input image Pin by a statistical method (for example, voting). As shown in FIG. 17, the voting is performed using a voting map in which a grid is provided in an area having the same size as the input image Pin. A counter is associated with each cell of the voting map. The voting processing unit 204 identifies a cell including the coordinates of the specific point, and counts up the count value (the number of votes) of the counter corresponding to the identified cell. The process related to this count-up is voting.

投票処理部204は、参照画像Prの各特徴点について投票を行う。投票が終了した後の投票マップから、図18に示すように投票数の分布が得られる。投票が終了すると、判定部205は、投票数の最大値を抽出する。判定部205は、抽出した最大数と予め設定した閾値Thとを比較する。一変形例として、判定部205は、最大数を投票マップ内の全投票数で割った正規化値と閾値とを比較してもよい。なお、閾値は、様々な画像を用いて実験し、正解確率などの評価値が許容範囲内になるように設定される。   The voting processing unit 204 votes for each feature point of the reference image Pr. As shown in FIG. 18, a distribution of the number of votes is obtained from the vote map after the vote is completed. When the voting ends, the determination unit 205 extracts the maximum number of votes. The determination unit 205 compares the extracted maximum number with a preset threshold Th. As a modification, the determination unit 205 may compare a normalized value obtained by dividing the maximum number by the total number of votes in the vote map with a threshold value. Note that the threshold value is set so that an evaluation value such as a correct answer probability falls within an allowable range by performing experiments using various images.

最大数が閾値Thより大きい場合、判定部205は、入力画像Pinの中に参照画像Prが存在すると判定する。この場合、判定部205は、最大数に対応する枡目の位置を参照画像Prの中心位置と判断する。一方、最大数が閾値Thより小さい場合、判定部205は、入力画像Pinの中に参照画像Prが存在しないと判定する。投票マップを利用して判定を行うことで、入力画像Pinと参照画像Prとの間に存在する軽微な誤差を吸収し、ロバストな判定を行うことができる。   When the maximum number is larger than the threshold Th, the determination unit 205 determines that the reference image Pr exists in the input image Pin. In this case, the determination unit 205 determines the position of the cell corresponding to the maximum number as the center position of the reference image Pr. On the other hand, when the maximum number is smaller than the threshold Th, the determination unit 205 determines that the reference image Pr does not exist in the input image Pin. By performing the determination using the voting map, it is possible to absorb a slight error existing between the input image Pin and the reference image Pr and perform a robust determination.

入力画像Pinの中に参照画像Prが存在すると判定した場合、判定部205は、その参照画像Prに対応する参照画像管理テーブルを記憶部201から読み出し、参照画像Prに対応するランドマークの情報を端末装置100に送信する。ランドマークの情報は、例えば、ランドマークの名称や位置、参照画像管理テーブルのIDなどである。   If it is determined that the reference image Pr exists in the input image Pin, the determination unit 205 reads the reference image management table corresponding to the reference image Pr from the storage unit 201, and obtains information on the landmark corresponding to the reference image Pr. It transmits to the terminal device 100. The landmark information includes, for example, a landmark name and position, an ID of a reference image management table, and the like.

ランドマーク毎にタグ情報を用意しておき、判定結果に応じてランドマークに対応するタグ情報が端末装置100に送信されるようにしてもよい。この場合、端末装置100でタグ情報が入力画像Pinに自動付与される仕組みとしてもよい。   Tag information may be prepared for each landmark, and tag information corresponding to the landmark may be transmitted to the terminal device 100 according to the determination result. In this case, the terminal device 100 may be configured to automatically add tag information to the input image Pin.

複数のランドマークが存在すると判定された場合、判定部205は、それら全てのランドマークの情報を端末装置100に送信してもよいし、投票数の合計値や最大数が最も大きいランドマークの情報を端末装置100に送信してもよい。   When it is determined that there are a plurality of landmarks, the determination unit 205 may transmit information on all the landmarks to the terminal device 100, or the landmark having the largest total number or maximum number of votes. Information may be transmitted to the terminal device 100.

参照画像管理テーブルに含まれる全ての参照画像Prについて、入力画像Pinの中に参照画像Prが存在しないと判定した場合、判定部205は、ランドマークが存在しない旨を示すエラー情報を端末装置100に送信する。   When it is determined that the reference image Pr does not exist in the input image Pin for all the reference images Pr included in the reference image management table, the determination unit 205 displays error information indicating that no landmark is present in the terminal device 100. Send to.

(対応点探索の効率化手法について)
ここで、図9、図17、図19及び図20を参照しながら、対応点探索の効率化手法について説明する。
(About efficient search method for corresponding points)
Here, a method for improving the efficiency of the corresponding point search will be described with reference to FIGS. 9, 17, 19, and 20.

既に説明したように、距離計算部203は、対応点探索のために、参照画像Prの各特徴点Wrと、入力画像Pinの各特徴点Winとの間で局所特徴量の距離Dを計算する。例えば、図17に示すように、距離計算部203は、特徴点Wr(n)(n=1,2,…,N)を基準に設定された特徴領域Ar(n)と、特徴点Win(m)(m=1,2,…,M)を基準に設定された特徴領域Ain(m)とについて距離Dを計算する。特徴点Wr、Winの数が多くなればなるほど、距離Dの計算にかかる負荷は高くなる。そのため、距離Dの計算にかかる負荷を低減できれば、対応点探索の処理を効率化できる。   As already described, the distance calculation unit 203 calculates the distance D of the local feature amount between each feature point Wr of the reference image Pr and each feature point Win of the input image Pin for corresponding point search. . For example, as shown in FIG. 17, the distance calculation unit 203 includes a feature area Ar (n) set on the basis of feature points Wr (n) (n = 1, 2,..., N), and feature points Win ( m) The distance D is calculated with respect to the feature area Ain (m) set with reference to m = 1, 2,..., M. As the number of feature points Wr and Win increases, the load for calculating the distance D increases. Therefore, if the load for calculating the distance D can be reduced, the corresponding point search process can be made more efficient.

例えば、特徴点Win(m)、Win(m+1)と、特徴点Wr(n)、Wr(n+1)との距離Dを計算する場合、図19に示すように、距離計算部203は、4通りの計算S1、…、S4を実行する。   For example, when calculating the distance D between the feature points Win (m) and Win (m + 1) and the feature points Wr (n) and Wr (n + 1), as shown in FIG. Calculations S1,..., S4 are executed.

距離計算部203は、(S1)特徴領域Ain(m)の局所特徴量及び特徴領域Ar(n)の局所特徴量に基づく距離Dの計算、(S2)特徴領域Ain(m)の局所特徴量及び特徴領域Ar(n+1)の局所特徴量に基づく距離Dの計算を実行する。また、距離計算部203は、(S3)特徴領域Ain(m+1)の局所特徴量及び特徴領域Ar(n)の局所特徴量に基づく距離Dの計算、(S4)特徴領域Ain(m+1)の局所特徴量及び特徴領域Ar(n+1)の局所特徴量に基づく距離Dの計算を実行する。   The distance calculation unit 203 calculates (S1) the distance D based on the local feature amount of the feature region Ain (m) and the local feature amount of the feature region Ar (n), and (S2) the local feature amount of the feature region Ain (m). The calculation of the distance D based on the local feature amount of the feature area Ar (n + 1) is executed. The distance calculation unit 203 calculates (S3) the distance D based on the local feature amount of the feature region Ain (m + 1) and the local feature amount of the feature region Ar (n), and (S4) the local feature amount of the feature region Ain (m + 1). Calculation of the distance D based on the feature amount and the local feature amount of the feature region Ar (n + 1) is executed.

特徴領域Ain(m)の右領域と特徴領域Ain(m+1)の左領域とは重複領域である。また、特徴領域Ar(n)の右領域と特徴領域Ain(n+1)の左領域とは重複領域である。また、図9に示すように、左領域に配置されるB群の画素ペアと、右領域に配置されるC群の画素ペアとは同じ配置である。   The right area of the feature area Ain (m) and the left area of the feature area Ain (m + 1) are overlapping areas. Further, the right region of the feature region Ar (n) and the left region of the feature region Ain (n + 1) are overlapping regions. Further, as shown in FIG. 9, the group B pixel pair arranged in the left region and the group C pixel pair arranged in the right region are the same arrangement.

つまり、特徴領域Ain(m)の局所特徴量のうちC群のビット列は、特徴領域Ain(m+1)の局所特徴量のうちB群のビット列と同じである。さらに、特徴領域Ar(n)の局所特徴量のうちC群のビット列は、特徴領域Ar(n+1)の局所特徴量のうちB群のビット列と同じである。従って、S1で計算される距離DのうちC群のビット列に関する計算結果(距離d)は、S4で計算される距離DのうちB群のビット列に関する計算結果と一致する。そのため、S1で計算した計算結果の一部(距離d)をS4の計算に流用すれば、D4の計算の一部を省略して距離Dの計算にかかる負荷を低減できる。   That is, the group C bit string of the local feature quantities of the feature area Ain (m) is the same as the group B bit string of the local feature quantities of the feature area Ain (m + 1). Further, the bit string of group C among the local feature values of the feature area Ar (n) is the same as the bit string of group B of the local feature values of the feature area Ar (n + 1). Therefore, the calculation result (distance d) regarding the bit string of the C group in the distance D calculated in S1 coincides with the calculation result regarding the bit string of the B group among the distance D calculated in S4. Therefore, if a part of the calculation result (distance d) calculated in S1 is diverted to the calculation of S4, a part of the calculation of D4 can be omitted and the load on the calculation of the distance D can be reduced.

距離計算部203は、図20に示すように、A群のビット列同士、B群のビット列同士、C群のビット列同士で排他的論理和演算を実行し、それぞれA群の距離DA、B群の距離DB、C群の距離DCを計算する。そして、距離計算部203は、A群の距離DA、B群の距離DB、C群の距離DCを合計して距離Dを求める。例えば、特徴領域Ain(m)、Ar(n)の距離D(m,n)は、A群の距離DA(m,n)、B群の距離DB(m,n)、C群の距離DC(m,n)の和で与えられる。   As shown in FIG. 20, the distance calculation unit 203 performs an exclusive OR operation between the bit strings of the A group, the bit strings of the B group, and the bit strings of the C group. Distance DB, distance C of group C is calculated. The distance calculation unit 203 calculates the distance D by adding up the distance DA of the A group, the distance DB of the B group, and the distance DC of the C group. For example, the distance D (m, n) between the feature areas Ain (m) and Ar (n) is the distance DA (m, n) of the A group, the distance DB (m, n) of the B group, and the distance DC of the C group. It is given as the sum of (m, n).

距離D(m,n)を計算した距離計算部203は、特徴領域Ain(m+1)、Ar(n+1)の距離D(m+1,n+1)を計算する際に流用するため、C群の距離DC(m,n)を保持する。このとき、距離計算部203は、距離DC(m,n)を距離記録テーブル(図15を参照)のd(m,n)の欄に格納する。   The distance calculation unit 203 that has calculated the distance D (m, n) is used when calculating the distance D (m + 1, n + 1) of the feature areas Ain (m + 1) and Ar (n + 1). m, n). At this time, the distance calculation unit 203 stores the distance DC (m, n) in the column of d (m, n) of the distance recording table (see FIG. 15).

距離計算部203は、特徴領域Ain(m+1)、Ar(n+1)の距離D(m+1,n+1)を計算する際、B群の距離DB(m+1,n+1)の計算を省略し、距離記録テーブルのd(m,n)の欄に格納した値をB群の距離DB(m+1,n+1)として利用する。つまり、距離計算部203は、A群の距離DA(m+1,n+1)、d(m,n)欄の値(距離DC(m,n))、C群の距離DC(m+1,n+1)の和を距離D(m+1,n+1)とする。   When calculating the distance D (m + 1, n + 1) between the feature areas Ain (m + 1) and Ar (n + 1), the distance calculation unit 203 omits the calculation of the distance DB (m + 1, n + 1) of the B group, The value stored in the column of d (m, n) is used as the group B distance DB (m + 1, n + 1). That is, the distance calculation unit 203 calculates the sum of the distance DA (m + 1, n + 1) in the A group, the value in the d (m, n) column (distance DC (m, n)), and the distance DC (m + 1, n + 1) in the C group. Is a distance D (m + 1, n + 1).

上記の例は、画像内に配置された複数の特徴点のうち、左上に配置された特徴点を始点として、右側へと順番に処理対象を移動させ、右端の特徴点の次に、下段の左端の特徴点を処理対象とし、右下の特徴点まで順次処理を行う場合を示した。この場合、左端に位置する特徴点については流用可能な距離dはないため、距離計算部203は、右端に位置する特徴点について距離を計算する際にC群の距離DCを保持しない。このように、端部に位置する特徴点に関する処理を実行する際、距離計算部203は、流用可能な距離dの有無に応じて図20に示した処理を実行するか否かを判断する。   In the above example, among the plurality of feature points arranged in the image, the feature point arranged at the upper left is used as the starting point, the processing target is moved in order to the right side, and the lowermost feature point is followed by the lower row. The case is shown in which the leftmost feature point is the target of processing, and processing is performed sequentially up to the lower right feature point. In this case, since there is no divertable distance d for the feature point located at the left end, the distance calculation unit 203 does not hold the distance DC of the C group when calculating the distance for the feature point located at the right end. As described above, when executing the process related to the feature point located at the end, the distance calculation unit 203 determines whether or not to execute the process illustrated in FIG. 20 according to the presence or absence of the divertable distance d.

上記の方法を適用すると、図19の例では計算量が3/4に削減される。このように、距離Dの計算負荷を低減することで、対応点探索にかかる処理が効率化され、画像同士のマッチングにかかる処理が高速化される。   When the above method is applied, the calculation amount is reduced to 3/4 in the example of FIG. In this way, by reducing the calculation load of the distance D, the processing for searching for corresponding points is made efficient, and the processing for matching images is accelerated.

以上、サーバ装置の機能について説明した。
[2−5.処理の流れ]
次に、図21〜図33を参照しながら、端末装置100及びサーバ装置200が実行する処理の流れについて説明する。
The function of the server device has been described above.
[2-5. Process flow]
Next, the flow of processing executed by the terminal device 100 and the server device 200 will be described with reference to FIGS.

(2−5−1.端末装置の動作)
まず、図21及び図22を参照しながら、端末装置100の動作に係る処理の流れについて説明する。
(2-5-1. Operation of terminal device)
First, the flow of processing related to the operation of the terminal device 100 will be described with reference to FIGS. 21 and 22.

図21は、第2実施形態に係る端末装置の動作について説明するためのフロー図である。図22は、第2実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。   FIG. 21 is a flowchart for explaining the operation of the terminal device according to the second embodiment. FIG. 22 is a flowchart for explaining operations related to feature quantity calculation among the operations of the terminal device according to the second embodiment.

(端末装置の動作)
(S101)画像取得部102は、ランドマークの認識対象となる画像(入力画像Pin)を取得する。
(Operation of terminal equipment)
(S101) The image acquisition unit 102 acquires an image (input image Pin) that is a landmark recognition target.

例えば、画像取得部102は、外部の記憶装置又は端末装置100に接続されたカメラから入力画像Pinを取得する。また、画像取得部102は、端末装置100が有するカメラ機能を利用して入力画像Pinを取得してもよい。画像取得部102により取得された入力画像Pinは、記憶部101に格納される。   For example, the image acquisition unit 102 acquires the input image Pin from an external storage device or a camera connected to the terminal device 100. In addition, the image acquisition unit 102 may acquire the input image Pin using a camera function of the terminal device 100. The input image Pin acquired by the image acquisition unit 102 is stored in the storage unit 101.

(S102)特徴点設定部103は、記憶部101に格納された入力画像Pinを読み出し、読み出した入力画像Pinに複数の特徴点Winを設定する。
例えば、特徴点設定部103は、等間隔に配置された複数の特徴点Winを抽出する方法(Dense Sampling)を用いて入力画像Pinに特徴点Winを設定する。但し、特徴点Winの設定にはFASTなどの方法も適用できる。特徴点設定部103により設定された特徴点Win及び特徴領域Ainの情報は、記憶部101に格納される。また、特徴点Win及び特徴領域Ainの情報は、特徴量計算部104に入力される。
(S102) The feature point setting unit 103 reads the input image Pin stored in the storage unit 101, and sets a plurality of feature points Win in the read input image Pin.
For example, the feature point setting unit 103 sets the feature points Win in the input image Pin using a method (Dens Sampling) of extracting a plurality of feature points Win arranged at equal intervals. However, a method such as FAST can also be applied to set the feature point Win. Information on the feature points Win and feature areas Ain set by the feature point setting unit 103 is stored in the storage unit 101. Information about the feature point Win and the feature area Ain is input to the feature amount calculation unit 104.

(S103)特徴量計算部104は、S102で設定された特徴点Winの1つを選択する。
(S104)特徴量計算部104は、画素ペア情報101aを参照し、S103で選択した特徴点Winに対応する特徴領域Ainの局所特徴量を計算する。
(S103) The feature amount calculation unit 104 selects one of the feature points Win set in S102.
(S104) The feature amount calculation unit 104 refers to the pixel pair information 101a, and calculates the local feature amount of the feature region Ain corresponding to the feature point Win selected in S103.

例えば、特徴量計算部104は、入力画像Pinの特徴領域Ainから画素ペア毎に各画素の輝度を抽出する(C1)。次いで、特徴量計算部104は、画素ペア毎に抽出した2つの輝度の差分を求めることで、各画素ペアの輝度差を計算する(C2)。次いで、特徴量計算部104は、計算した輝度差の符号(正負)を表すビット値を並べたビット列(局所特徴量)を生成する(C3)。   For example, the feature amount calculation unit 104 extracts the luminance of each pixel for each pixel pair from the feature region Ain of the input image Pin (C1). Next, the feature amount calculation unit 104 calculates a luminance difference between each pixel pair by obtaining a difference between the two luminances extracted for each pixel pair (C2). Next, the feature amount calculation unit 104 generates a bit string (local feature amount) in which bit values representing the sign (positive / negative) of the calculated luminance difference are arranged (C3).

(S105)特徴量計算部104は、入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えたか否かを判定する。入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えた場合、処理はS106へと進む。一方、入力画像Pinに含まれる全ての特徴点Winについて特徴量の計算を終えていない場合、処理はS103へと進む。   (S105) The feature amount calculation unit 104 determines whether or not the feature amount calculation has been completed for all feature points Win included in the input image Pin. When the feature amount calculation has been completed for all feature points Win included in the input image Pin, the process proceeds to S106. On the other hand, if the feature amount calculation has not been completed for all feature points Win included in the input image Pin, the process proceeds to S103.

(S106)特徴量計算部104は、入力画像Pinについて計算した局所特徴量の組を送信部105に入力する。そして、送信部105は、特徴量計算部104から入力された局所特徴量をサーバ装置200へ送信する。S106の処理が完了すると、図21に示した一連の処理は終了する。   (S106) The feature amount calculation unit 104 inputs a set of local feature amounts calculated for the input image Pin to the transmission unit 105. Then, the transmission unit 105 transmits the local feature amount input from the feature amount calculation unit 104 to the server device 200. When the process of S106 is completed, the series of processes shown in FIG.

ここで、S104の処理について、さらに説明する。
(S111)特徴量計算部104は、画素ペア情報101aを参照し、特徴点Winの周辺に設定された特徴領域Ainに複数の画素ペアを設定する。
Here, the process of S104 will be further described.
(S111) The feature amount calculation unit 104 refers to the pixel pair information 101a, and sets a plurality of pixel pairs in the feature region Ain set around the feature point Win.

S111の処理後、S112〜S116の処理は、A群、B群、C群の順に、各群に属する画素ペアの集合について順次実行される。A群は、特徴領域Ainの左側1/2の範囲に一方の画素が含まれ、右側1/2の範囲に他方の画素が含まれる画素ペアの集合である。B群は、特徴領域Ainの左側1/2の範囲に両方の画素が含まれる画素ペアの集合である。C群は、特徴領域Ainの右側1/2の範囲に両方の画素が含まれる画素ペアの集合である。   After the process of S111, the processes of S112 to S116 are sequentially executed for a set of pixel pairs belonging to each group in the order of the A group, the B group, and the C group. The group A is a set of pixel pairs in which one pixel is included in the left half range of the feature area Ain and the other pixel is included in the right half range. Group B is a set of pixel pairs in which both pixels are included in the left half of the feature area Ain. Group C is a set of pixel pairs in which both pixels are included in the right half of the feature area Ain.

(S112)特徴量計算部104は、流用可能なビット列があるか否かを判定する。B群の画素ペアとC群の画素ペアとは同じ配置である。そのため、例えば、特徴領域Ain(m)の左隣に位置する特徴領域Ain(m−1)の局所特徴量が計算済みの場合、特徴領域A(m−1)のC群のビット列を特徴領域A(m)のB群のビット列に流用できる。   (S112) The feature amount calculation unit 104 determines whether there is a divertable bit string. The group B pixel pair and the group C pixel pair have the same arrangement. Therefore, for example, when the local feature amount of the feature area Ain (m−1) located to the left of the feature area Ain (m) has been calculated, the bit string of group C of the feature area A (m−1) is used as the feature area. It can be used for the bit string of group B of A (m).

処理対象がA群又はC群である場合、流用可能なビット列はないため、処理はS113へと進む。処理対象がB群であり、流用可能なビット列がある場合、特徴量計算部104は、流用元となるC群のビット列を流用先となるB群のビット列とする。そして、S113〜S116の処理は省略され、処理対象がC群に切り替わる。処理対象がB群であり、流用可能なビット列がない場合、処理はS113へと進む。   When the processing target is the A group or the C group, there is no divertable bit string, so the process proceeds to S113. When the processing target is the group B and there is a divertable bit string, the feature quantity calculation unit 104 sets the diversion source C group bit string as the diversion destination B group bit string. And the process of S113-S116 is abbreviate | omitted, and a process target switches to C group. If the processing target is group B and there is no divertable bit string, the process proceeds to S113.

(S113)特徴量計算部104は、処理対象の群に属する画素ペアを1つ選択する。
(S114)特徴量計算部104は、S113で選択した画素ペアの輝度差を計算する。例えば、特徴量計算部104は、入力画像Pinの特徴領域Ainから画素ペアの各画素の輝度を抽出する。そして、特徴量計算部104は、抽出した2つの輝度の差分を求めることで、画素ペアの輝度差を計算する。
(S113) The feature amount calculation unit 104 selects one pixel pair belonging to the group to be processed.
(S114) The feature amount calculation unit 104 calculates the luminance difference of the pixel pair selected in S113. For example, the feature amount calculation unit 104 extracts the luminance of each pixel of the pixel pair from the feature area Ain of the input image Pin. Then, the feature amount calculation unit 104 calculates the luminance difference between the pixel pairs by obtaining the difference between the two extracted luminances.

(S115)特徴量計算部104は、S114で計算した輝度差の符号(正負)に対応するビット値を選択し、選択したビット値を局所特徴量のビット値に設定する。
輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「1」に対応付けられ、負の符号がビット値「0」に対応付けられている。また、輝度差を計算する際、画素ペアを成す2つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。例えば、座標(X1,Y1)に位置する画素の輝度から座標(X2,Y2)に位置する画素の輝度を減算した輝度差の符号を局所特徴量の生成に利用することが予め設定されている。
(S115) The feature amount calculation unit 104 selects a bit value corresponding to the sign (positive / negative) of the luminance difference calculated in S114, and sets the selected bit value as the bit value of the local feature amount.
The sign of the luminance difference and the bit value are associated in advance. For example, a positive sign is associated with the bit value “1”, and a negative sign is associated with the bit value “0”. In addition, when calculating the luminance difference, it is also set in advance which one of the two pixels forming the pixel pair is subtracted from the luminance of the other pixel. For example, it is preset that the sign of the luminance difference obtained by subtracting the luminance of the pixel located at the coordinates (X2, Y2) from the luminance of the pixel located at the coordinates (X1, Y1) is used for generating the local feature amount. .

(S116)特徴量計算部104は、処理対象の群に属する全ての画素ペアを選択し終えたか否かを判定する。全ての画素ペアを選択し終えていない場合、処理はS113へと進む。一方、全ての画素ペアを選択し終えた場合、処理はS117へと進む。   (S116) The feature amount calculation unit 104 determines whether all pixel pairs belonging to the group to be processed have been selected. If all pixel pairs have not been selected, the process proceeds to S113. On the other hand, when all the pixel pairs have been selected, the process proceeds to S117.

(S117)特徴量計算部104は、各群のビット列を結合して局所特徴量とする。また、特徴量計算部104は、C群のビット列を記憶部101に格納して保存する。S117の処理が完了すると、図22に示した一連の処理は終了する。   (S117) The feature amount calculation unit 104 combines the bit strings of each group into a local feature amount. In addition, the feature amount calculation unit 104 stores the bit string of the C group in the storage unit 101 and saves it. When the process of S117 is completed, the series of processes shown in FIG.

以上、端末装置100の動作に係る処理の流れについて説明した。
(2−5−2.サーバ装置の動作)
次に、図23〜図25を参照しながら、サーバ装置200の動作に係る処理の流れについて説明する。
The processing flow related to the operation of the terminal device 100 has been described above.
(2-5-2. Operation of server device)
Next, the flow of processing related to the operation of the server device 200 will be described with reference to FIGS.

図23は、第2実施形態に係るサーバ装置の動作について説明するためのフロー図である。図24は、第2実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。図25は、第2実施形態に係るサーバ装置の動作のうち、距離計算に関する動作について説明するためのフロー図である。   FIG. 23 is a flowchart for explaining the operation of the server apparatus according to the second embodiment. FIG. 24 is a flowchart for explaining the operation related to the search for the reference image among the operations of the server apparatus according to the second embodiment. FIG. 25 is a flowchart for explaining operations related to distance calculation among the operations of the server device according to the second embodiment.

(S201)受信部202は、端末装置100から入力画像Pinの局所特徴量を受信する。受信部202により受信された入力画像Pinの局所特徴量は、距離計算部203に入力される。   (S201) The receiving unit 202 receives the local feature amount of the input image Pin from the terminal device 100. The local feature amount of the input image Pin received by the reception unit 202 is input to the distance calculation unit 203.

(S202)距離計算部203は、参照画像管理テーブルに含まれる参照画像Prを1つ選択する。
(S203)距離計算部203、投票処理部204、及び判定部205は、S202で選択した参照画像Prの探索処理を実行する。
(S202) The distance calculation unit 203 selects one reference image Pr included in the reference image management table.
(S203) The distance calculation unit 203, the voting processing unit 204, and the determination unit 205 execute search processing for the reference image Pr selected in S202.

例えば、距離計算部203は、参照画像Prの特徴領域Arと入力画像Pinの特徴領域Ainとの相違度を表す距離Dを計算する。投票処理部204は、距離計算部203が計算した距離Dに基づいて投票マップMPを生成する。判定部205は、投票処理部204が生成した投票マップMPを利用し、最大の投票数と閾値Thとの比較結果に基づいて参照画像Prが入力画像Pinに存在するか否かを判断する。   For example, the distance calculation unit 203 calculates a distance D representing the degree of difference between the feature area Ar of the reference image Pr and the feature area Ain of the input image Pin. The voting processing unit 204 generates a voting map MP based on the distance D calculated by the distance calculating unit 203. The determination unit 205 uses the voting map MP generated by the voting processing unit 204 to determine whether or not the reference image Pr exists in the input image Pin based on the comparison result between the maximum number of votes and the threshold Th.

(S204)判定部205は、参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えたか否かを判定する。参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えていない場合、処理はS202へと進む。一方、参照画像管理テーブルに含まれる全ての参照画像Prを選択し終えた場合、処理はS205へと進む。   (S204) The determination unit 205 determines whether all the reference images Pr included in the reference image management table have been selected. If all the reference images Pr included in the reference image management table have not been selected, the process proceeds to S202. On the other hand, when all the reference images Pr included in the reference image management table have been selected, the process proceeds to S205.

(S205)判定部205は、S203の結果に基づき、少なくとも1つの参照画像Prが入力画像Pinに存在したか否かを判定する。少なくとも1つの参照画像Prが入力画像Pinに存在した場合、処理はS206へと進む。一方、S203の結果から、少なくとも1つの参照画像Prが入力画像Pinに存在すると判定されなかった場合、処理はS207へと進む。   (S205) The determination unit 205 determines whether or not at least one reference image Pr exists in the input image Pin based on the result of S203. If at least one reference image Pr exists in the input image Pin, the process proceeds to S206. On the other hand, if it is not determined from the result of S203 that at least one reference image Pr exists in the input image Pin, the process proceeds to S207.

(S206)判定部205は、対応する参照画像Prの参照画像管理テーブルを記憶部201から読み出し、参照画像Prに含まれるランドマークの情報を端末装置100に送信する。S206の処理が完了すると、図23に示した一連の処理は終了する。   (S206) The determination unit 205 reads the reference image management table of the corresponding reference image Pr from the storage unit 201, and transmits landmark information included in the reference image Pr to the terminal device 100. When the process of S206 is completed, the series of processes illustrated in FIG.

(S207)判定部205は、ランドマークの検出に失敗した旨を示すエラー情報を端末装置100に送信する。S207の処理が完了すると、図23に示した一連の処理は終了する。   (S207) The determination unit 205 transmits error information indicating that the landmark detection has failed to the terminal device 100. When the process of S207 is completed, the series of processes illustrated in FIG.

ここで、S203の処理について、さらに説明する。
(S221)距離計算部203は、参照画像Prの特徴点Wrを1つ選択する。
(S222)距離計算部203は、受信部202により受信された入力画像Pinの局所特徴量に基づき、入力画像Pinの各特徴領域Ainと参照画像Prの各特徴領域Arとの距離D(特徴の相違度)を計算する。例えば、距離計算部203は、上記の式(1)に従って、局所特徴量LFin、LFrからビット列HVを計算する。但し、LFinは特徴領域Ainの局所特徴量であり、LFrは特徴領域Arの局所特徴量である。
Here, the process of S203 will be further described.
(S221) The distance calculation unit 203 selects one feature point Wr of the reference image Pr.
(S222) The distance calculation unit 203, based on the local feature amount of the input image Pin received by the receiving unit 202, the distance D (feature of each feature region Ain of the input image Pin and each feature region Ar of the reference image Pr). Difference). For example, the distance calculation unit 203 calculates a bit string HV from the local feature amounts LFin and LFr according to the above equation (1). However, LFin is a local feature amount of the feature region Ain, and LFr is a local feature amount of the feature region Ar.

距離計算部203は、ビット列HVの長さ(HVに含まれるビット値1の数)を計算する。ビット列HVの長さは、特徴領域Ain、Ar間における特徴の相違度を表す距離Dとなる。つまり、距離Dが大きいほど特徴領域Ain、Arの特徴が大きく相違し、距離Dが小さいほど特徴領域Ain、Arの特徴が類似していることを表す。距離計算部203により計算された距離Dは、投票処理部204に入力される。   The distance calculation unit 203 calculates the length of the bit string HV (the number of bit values 1 included in the HV). The length of the bit string HV is a distance D representing the degree of feature difference between the feature areas Ain and Ar. That is, as the distance D is larger, the features of the feature regions Ain and Ar are greatly different, and as the distance D is smaller, the features of the feature regions Ain and Ar are similar. The distance D calculated by the distance calculation unit 203 is input to the voting processing unit 204.

(S223)投票処理部204は、参照画像Prの特徴領域Arと、入力画像Pinの各特徴領域Ainとの組について計算された距離Dに基づき、類似度が最も高い(距離Dが最も小さくなる)特徴領域Ar、Ainの組を抽出する。また、投票処理部204は、抽出した組に対応する特徴点Win、Wrの組を特定する。投票処理部204は、特徴領域Arの特徴点Wrと参照画像Prの中心との位置関係に基づき、参照画像Prの中心が位置する入力画像Pin内の位置(特定点)を検出(特定)する。   (S223) The voting processing unit 204 has the highest similarity (the distance D is the smallest) based on the distance D calculated for the set of the feature area Ar of the reference image Pr and each feature area Ain of the input image Pin. ) A set of feature areas Ar and Ain is extracted. Further, the voting processing unit 204 identifies a set of feature points Win and Wr corresponding to the extracted set. The voting processing unit 204 detects (specifies) the position (specific point) in the input image Pin where the center of the reference image Pr is located based on the positional relationship between the feature point Wr of the feature area Ar and the center of the reference image Pr. .

(S224)投票処理部204は、S223で特定した特定点に対応する投票マップMPの位置(枡目)に投票する。つまり、投票処理部204は、特定点の座標を含む投票マップMPの枡目を抽出し、抽出した枡目に対応するカウンタのカウント値(投票数)をカウントアップする。   (S224) The voting processing unit 204 votes for the position (the grid) of the voting map MP corresponding to the specific point specified in S223. That is, the voting processing unit 204 extracts a cell of the voting map MP including the coordinates of the specific point, and counts up the count value (the number of votes) of the counter corresponding to the extracted cell.

(S225)投票処理部204は、参照画像Prに含まれる全ての特徴点を選択し終えたか否かを判定する。参照画像Prに含まれる全ての特徴点を選択し終えていない場合、処理はS221へと進む。一方、参照画像Prに含まれる全ての特徴点を選択し終えた場合、処理はS226へと進む。   (S225) The voting processing unit 204 determines whether or not all feature points included in the reference image Pr have been selected. If all feature points included in the reference image Pr have not been selected, the process proceeds to S221. On the other hand, if all feature points included in the reference image Pr have been selected, the process proceeds to S226.

(S226)判定部205は、投票マップMPから投票数の最大値を抽出する。
(S227)判定部205は、S226で抽出した投票数の最大値が閾値Thより大きいか否かを判定する。投票数の最大値が閾値Thより大きい場合、処理はS229へと進む。一方、投票数の最大値が閾値Thより大きくない場合、処理はS228へと進む。
(S226) The determination unit 205 extracts the maximum number of votes from the vote map MP.
(S227) The determination unit 205 determines whether or not the maximum value of the number of votes extracted in S226 is larger than the threshold value Th. When the maximum value of the number of votes is larger than the threshold value Th, the process proceeds to S229. On the other hand, when the maximum value of the number of votes is not larger than the threshold value Th, the process proceeds to S228.

(S228)判定部205は、S203の処理結果として、入力画像Pin中に参照画像Prが存在しないと判定する。S228の処理が完了すると、図24に示した一連の処理は終了する。   (S228) The determination unit 205 determines that the reference image Pr does not exist in the input image Pin as the processing result of S203. When the process of S228 is completed, the series of processes shown in FIG. 24 ends.

(S229)判定部205は、S203の処理結果として、入力画像Pin中に参照画像Prが存在すると判定する。S229の処理が完了すると、図24に示した一連の処理は終了する。   (S229) The determination unit 205 determines that the reference image Pr exists in the input image Pin as the processing result of S203. When the process of S229 is completed, the series of processes shown in FIG.

ここで、S222の処理について、さらに説明する。
(S231)距離計算部203は、入力画像Pinに配置された複数の特徴点Win(m)(m=1,2,…、M)について、左上を始点として、右下を終点とする特徴点Winの位置を示すインデックスjを1に初期化する。つまり、Win(1)を左上の特徴点とし、jが大きくなるにつれて、特徴点の位置が右側へと移動し、右端に位置する特徴点の次は下段左端の特徴点に位置が移動し、Win(M)が右下の特徴点となるようにjに応じて特徴点Win(j)の位置が特定される。
Here, the process of S222 will be further described.
(S231) The distance calculation unit 203, for a plurality of feature points Win (m) (m = 1, 2,..., M) arranged in the input image Pin, feature points having an upper left as a start point and a lower right as an end point. An index j indicating the position of Win is initialized to 1. That is, with Win (1) as the upper left feature point, the position of the feature point moves to the right as j increases, the position of the feature point located at the right end moves to the feature point at the lower left end, The position of the feature point Win (j) is specified according to j so that Win (M) is the lower right feature point.

(S232)距離計算部203は、処理対象の特徴領域Ar(n)の局所特徴量のうちA群のビット列と、特徴領域Ain(j)の局所特徴量のうちA群のビット列との距離DAを計算する。つまり、距離計算部203は、距離DAとして、A群のビット列同士の排他的論理和を計算する。   (S232) The distance calculation unit 203 determines the distance DA between the group A bit string of the local feature values of the feature area Ar (n) to be processed and the group A bit string of the local feature values of the feature area Ain (j). Calculate That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the A group as the distance DA.

(S233)距離計算部203は、B群について流用可能な計算結果があるか否かを判定する。
(判定#1)距離計算部203は、特徴領域Ain(j)、Ain(j−1)の重複領域があるか否かを判定する。例えば、jが1の場合、Ain(j−1)がないため、距離計算部203は、重複領域がないと判定する。また、特徴領域Ain(j)が左端に位置する場合、特徴領域Ain(j)、Ain(j−1)は重複しないため、距離計算部203は、重複領域がないと判定する。
(S233) The distance calculation unit 203 determines whether there is a divertable calculation result for the group B.
(Decision # 1) The distance calculation unit 203 determines whether or not there is an overlapping region of the feature regions Ain (j) and Ain (j−1). For example, when j is 1, since there is no Ain (j−1), the distance calculation unit 203 determines that there is no overlapping region. When the feature area Ain (j) is located at the left end, the feature areas Ain (j) and Ain (j−1) do not overlap, and the distance calculation unit 203 determines that there is no overlap area.

(判定#2)判定#1で重複領域があると判定した場合、距離計算部203は、特徴領域Ar(n)、Ar(n−1)の重複領域があるか否かを判定する。例えば、Ar(n)が左上に位置する場合、Ar(n−1)がないため、距離計算部203は、重複領域がないと判定する。また、特徴領域Ar(n)が左端に位置する場合、特徴領域Ar(n)、Ar(n−1)は重複しないため、距離計算部203は、重複領域がないと判定する。   (Decision # 2) When it is determined in the determination # 1 that there is an overlapping area, the distance calculation unit 203 determines whether there is an overlapping area of the feature areas Ar (n) and Ar (n−1). For example, when Ar (n) is located at the upper left, there is no Ar (n−1), and therefore the distance calculation unit 203 determines that there is no overlapping region. When the feature area Ar (n) is located at the left end, the feature areas Ar (n) and Ar (n−1) do not overlap, and the distance calculation unit 203 determines that there is no overlap area.

上記の判定#1で特徴領域Ain(j)、Ain(j−1)の重複領域がないと判定した場合、距離計算部203は、流用可能な計算結果がないと判定する。また、上記の判定#2で特徴領域Ar(n)、Ar(n−1)の重複領域がないと判定した場合も、距離計算部203は、流用可能な計算結果がないと判定する。一方、上記の判定#2で特徴領域Ar(n)、Ar(n−1)の重複領域があると判定した場合、距離計算部203は、流用可能な計算結果があると判定する。   When it is determined in the determination # 1 that there is no overlapping area of the feature areas Ain (j) and Ain (j−1), the distance calculation unit 203 determines that there is no divertable calculation result. Also, when it is determined in the determination # 2 that there is no overlapping area of the feature areas Ar (n) and Ar (n−1), the distance calculation unit 203 determines that there is no calculation result that can be used. On the other hand, when it is determined in the determination # 2 that there is an overlapping area of the feature areas Ar (n) and Ar (n−1), the distance calculation unit 203 determines that there is a divertable calculation result.

流用可能な計算結果があると判定された場合、処理はS235へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS234へと進む。
(S234)距離計算部203は、処理対象の特徴領域Ar(n)の局所特徴量のうちB群のビット列と、特徴領域Ain(j)の局所特徴量のうちB群のビット列との距離DB(j,n)を計算する。つまり、距離計算部203は、距離DB(j,n)として、B群のビット列同士の排他的論理和を計算する。
If it is determined that there is a divertable calculation result, the process proceeds to S235. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S234.
(S234) The distance calculation unit 203 calculates the distance DB between the bit string of the B group among the local feature values of the feature area Ar (n) to be processed and the bit string of the B group among the local feature values of the feature area Ain (j). Calculate (j, n). That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the group B as the distance DB (j, n).

(S235)距離計算部203は、処理対象の特徴領域Ar(n)の局所特徴量のうちB群のビット列と、特徴領域Ain(j)の局所特徴量のうちB群のビット列との距離DB(j,n)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(n−1)の局所特徴量のC群のビット列と、特徴領域Ain(j−1)の局所特徴量のうちC群のビット列との距離DC(j−1,n−1)を距離DB(j,n)とする。距離DC(j−1,n−1)は、距離記録テーブルに格納されている。   (S235) The distance calculation unit 203 is a distance DB between the bit string of the B group among the local feature values of the feature area Ar (n) to be processed and the bit string of the B group among the local feature values of the feature area Ain (j). A divertable calculation result calculated in the past is used as (j, n). That is, the distance calculation unit 203 determines the distance DC () between the bit string of the C group of the local feature amount of the feature area Ar (n−1) and the bit string of the C group of the local feature quantity of the feature area Ain (j−1). j-1, n-1) is defined as a distance DB (j, n). The distance DC (j-1, n-1) is stored in the distance recording table.

(S236)距離計算部203は、処理対象の特徴領域Ar(n)の局所特徴量のうちC群のビット列と、特徴領域Ain(j)の局所特徴量のうちC群のビット列との距離DC(j,n)を計算する。つまり、距離計算部203は、距離DC(j,n)として、C群のビット列同士の排他的論理和を計算する。   (S236) The distance calculation unit 203 calculates the distance DC between the C group bit string of the local feature values of the feature area Ar (n) to be processed and the C group bit string of the local feature values of the feature area Ain (j). Calculate (j, n). That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the group C as the distance DC (j, n).

(S237)距離計算部203は、S236で計算した距離DC(j,n)を距離記録テーブルに格納する。このとき、距離計算部203は、距離DC(j,n)を距離記録テーブルのd(j,n)欄に格納する。   (S237) The distance calculation unit 203 stores the distance DC (j, n) calculated in S236 in the distance recording table. At this time, the distance calculation unit 203 stores the distance DC (j, n) in the d (j, n) column of the distance recording table.

(S238)距離計算部203は、距離DA(j,n)、距離DB(j,n)、及び距離DC(j,n)を加算して、特徴領域Ain(j)、Ar(n)の距離D(j,n)を求める。   (S238) The distance calculation unit 203 adds the distance DA (j, n), the distance DB (j, n), and the distance DC (j, n) to calculate the feature regions Ain (j) and Ar (n). A distance D (j, n) is obtained.

(S239)距離計算部203は、インデックスjをインクリメント(j=j+1)する。つまり、距離計算部203は、処理対象とする特徴領域Ainを移動させる。
(S240)距離計算部203は、jがNより大きい(j>N)か否かを判定する。j>Nである場合、図25に示した一連の処理は終了する。一方、j>Nでない場合、処理はS232へと進む。
(S239) The distance calculation unit 203 increments the index j (j = j + 1). That is, the distance calculation unit 203 moves the feature area Ain to be processed.
(S240) The distance calculation unit 203 determines whether j is greater than N (j> N). When j> N, the series of processes shown in FIG. 25 ends. On the other hand, if j> N is not true, the process proceeds to S232.

上記のように、重複領域について流用可能な計算結果がある場合に、その計算結果を流用(S235)して一部の計算(S234)を省略することで、距離計算の負荷が低減される。その結果、対応点探索にかかる処理負担の軽減及び処理の高速化が実現される。   As described above, when there is a calculation result that can be used for the overlapping region, the calculation result can be used (S235) and a part of the calculation (S234) can be omitted to reduce the load of distance calculation. As a result, it is possible to reduce the processing load related to the corresponding point search and to speed up the processing.

以上、サーバ装置200の動作に係る処理の流れについて説明した。
[2−6.変形例#1(重複領域を大きくする例)]
ここで、第2実施形態に係る一変形例(変形例#1)について説明する。変形例#1は、重複領域が特徴領域に占める割合を大きくする方法に関する。例えば、変形例#1の技術は、図6に例示した特徴点の配置よりも密に特徴点を配置する場合や、特徴点の密度を変えずに、特徴領域のサイズを大きくする場合に適用できる。ここでは、図26及び図27を参照しながら、密に特徴点を配置する場合を例に説明する。
The flow of processing related to the operation of the server device 200 has been described above.
[2-6. Modification # 1 (Example of Enlarging Overlapping Area)]
Here, a modification (modification # 1) according to the second embodiment will be described. Modification # 1 relates to a method for increasing the ratio of overlapping regions to feature regions. For example, the technique of the modified example # 1 is applied when the feature points are arranged more densely than the feature point arrangement illustrated in FIG. 6 or when the size of the feature region is increased without changing the feature point density. it can. Here, a case where feature points are densely arranged will be described as an example with reference to FIGS. 26 and 27.

図26は、第2実施形態の一変形例(変形例#1)に係る特徴点の配置について説明するための図である。図27は、第2実施形態の一変形例(変形例#1)に係る画素ペアの配置及び局所特徴量の構造について説明するための図である。   FIG. 26 is a diagram for explaining the arrangement of feature points according to a modification (Modification # 1) of the second embodiment. FIG. 27 is a diagram for explaining the arrangement of pixel pairs and the structure of local feature amounts according to a modified example (modified example # 1) of the second embodiment.

既に説明した図6の例において、隣り合う特徴領域Ain同士の重複領域は、特徴領域Ainの1/2の範囲に設定されていた。一方、図26の例は、隣り合う特徴領域Ain同士の重複領域が、特徴領域Ainの3/4の範囲に設定されている。この場合、特徴領域Ain(1)には、特徴領域Ain(2)、Ain(3)、Ain(4)の一部が重なる。そのため、画素ペアの配置は、図27に示すように、特徴領域Ainを4つに分割した小領域のいずれに各画素が位置するかを考慮して設定される。   In the example of FIG. 6 which has already been described, the overlapping region between adjacent feature regions Ain is set to a range of 1/2 of the feature region Ain. On the other hand, in the example of FIG. 26, the overlapping area between adjacent characteristic areas Ain is set to a range of 3/4 of the characteristic area Ain. In this case, a part of the feature areas Ain (2), Ain (3), and Ain (4) overlaps the feature area Ain (1). Therefore, the arrangement of the pixel pairs is set in consideration of which of the small regions obtained by dividing the feature region Ain into four as shown in FIG.

既に説明した図9の例は、一方の画素が右領域、他方の画素が左領域に位置する画素ペアをA群、両画素が左領域に位置する画素ペアをB群、両画素が右領域に位置する画素ペアをC群とする画素ペアの分類を示していた。一方、図27の例は、画素ペアを結ぶ線が小領域の境界を跨ぐ数で、A群、B群、C群、D群を分類し、さらに、画素の位置に応じてB群を2つの群に分け、C群を3つの群に分け、D群を4つの群に分けた分類を示している。以下、小領域を左から順に、小領域#1、小領域#2、小領域#3、小領域#4と呼ぶことにする。   In the example of FIG. 9 already described, one pixel is in the right region, the other pixel is in the left region, the pixel pair is A group, both pixels are in the left region, the pixel pair is B group, and both pixels are in the right region. The pixel pair classification in which the pixel pair located at C is the C group is shown. On the other hand, the example of FIG. 27 classifies the A group, the B group, the C group, and the D group by the number of lines connecting the pixel pairs across the boundaries of the small regions, and further sets the B group to 2 according to the pixel position. The grouping is divided into three groups, group C is divided into three groups, and group D is divided into four groups. Hereinafter, the small areas are referred to as small area # 1, small area # 2, small area # 3, and small area # 4 in order from the left.

(A群について)
A群に属する画素ペアは、一方の画素が小領域#1に位置し、他方の画素が小領域#4に位置する。そのため、A群に属する画素ペアを結ぶ線は3つの境界を跨ぐことになる。
(About Group A)
In the pixel pair belonging to the A group, one pixel is located in the small area # 1, and the other pixel is located in the small area # 4. Therefore, a line connecting pixel pairs belonging to the A group straddles three boundaries.

(B群について)
B群は、B1群とB2群とに分けられる。B1群に属する画素ペアは、一方の画素が小領域#1に位置し、他方の画素が小領域#3に位置する。B2群に属する画素ペアは、一方の画素が小領域#2に位置し、他方の画素が小領域#4に位置する。そのため、B1、B2群に属する画素ペアを結ぶ線は2つの境界を跨ぐ。
(About Group B)
The B group is divided into a B1 group and a B2 group. In the pixel pair belonging to the group B1, one pixel is located in the small area # 1, and the other pixel is located in the small area # 3. In the pixel pair belonging to the group B2, one pixel is located in the small area # 2, and the other pixel is located in the small area # 4. Therefore, the line connecting the pixel pairs belonging to the groups B1 and B2 straddles two boundaries.

B1群の画素ペアとB2群の画素ペアとは同じ配置となるように設定される。そのため、B2群は、B1群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。   The pixel pairs in the B1 group and the pixel pairs in the B2 group are set to have the same arrangement. Therefore, the B2 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D regarding the B1 group.

例えば、特徴領域Ain(1)のB2群のビット列は、特徴領域Ain(2)のB1群のビット列と一致する。特徴領域Ain(2)の局所特徴量を計算する際に、特徴領域Ain(1)のB2群のビット列を流用できる。また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちB2群の距離DB2(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちB1群の距離DB1(2,2)と一致する。そのため、距離D(2,2)を計算する際に距離DB2(1,1)を流用することができる。   For example, the bit string of the B2 group in the feature area Ain (1) matches the bit string of the B1 group in the feature area Ain (2). When calculating the local feature amount of the feature region Ain (2), the bit string of the group B2 of the feature region Ain (1) can be used. In addition, among the distances D (1,1) between the feature regions Ar (1) and Ain (1), the distance DB2 (1,1) of the B2 group is the distance D (between the feature regions Ar (2) and Ain (2). 2, 2) coincides with the distance DB1 (2, 2) of the B1 group. Therefore, the distance DB2 (1, 1) can be used when calculating the distance D (2, 2).

(C群について)
C群は、C1群、C2群、C3群に分けられる。C1群に属する画素ペアは、一方の画素が小領域#1に位置し、他方の画素が小領域#2に位置する。C2群に属する画素ペアは、一方の画素が小領域#2に位置し、他方の画素が小領域#3に位置する。C3群に属する画素ペアは、一方の画素が小領域#3に位置し、他方の画素が小領域#4に位置する。そのため、C1、C2、C3群に属する画素ペアを結ぶ線は1つの境界を跨ぐ。
(About Group C)
Group C is divided into group C1, group C2, and group C3. In the pixel pair belonging to the group C1, one pixel is located in the small area # 1, and the other pixel is located in the small area # 2. In the pixel pair belonging to the group C2, one pixel is located in the small area # 2, and the other pixel is located in the small area # 3. In the pixel pair belonging to the group C3, one pixel is located in the small region # 3 and the other pixel is located in the small region # 4. Therefore, the line connecting the pixel pairs belonging to the groups C1, C2, and C3 straddles one boundary.

C1群の画素ペア、C2群の画素ペア、C3群の画素ペアは同じ配置となるように設定される。そのため、C2群は、C1群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。C3群は、C1群又はC2群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。   The pixel pair of the C1 group, the pixel pair of the C2 group, and the pixel pair of the C3 group are set to have the same arrangement. Therefore, the C2 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D related to the C1 group. The C3 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D related to the C1 group or the C2 group.

例えば、特徴領域Ain(1)のC2群のビット列は、特徴領域Ain(2)のC1群のビット列と一致する。特徴領域Ain(1)のC3群のビット列は、特徴領域Ain(2)のC2群のビット列、特徴領域Ain(3)のC1群のビット列と一致する。そのため、特徴領域Ain(2)の局所特徴量を計算する際に、特徴領域Ain(1)のC2群及びC3群のビット列を流用できる。また、特徴領域Ain(3)の局所特徴量を計算する際に、特徴領域Ain(1)のC3群のビット列を流用できる。   For example, the bit string of the C2 group of the feature area Ain (1) matches the bit string of the C1 group of the feature area Ain (2). The bit string of the C3 group of the feature area Ain (1) matches the bit string of the C2 group of the feature area Ain (2) and the bit string of the C1 group of the feature area Ain (3). Therefore, when calculating the local feature amount of the feature region Ain (2), the bit strings of the C2 group and the C3 group of the feature region Ain (1) can be used. Further, when calculating the local feature amount of the feature region Ain (3), the bit string of the C3 group of the feature region Ain (1) can be diverted.

また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちC2群の距離DC2(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちC1群の距離DC1(2,2)と一致する。特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちC3群の距離DC3(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちC2群の距離DC2(2,2)と一致する。そのため、距離D(2,2)を計算する際に距離DC2(1,1)、DC3(1,1)を流用することができる。   Further, among the distances D (1, 1) between the feature regions Ar (1) and Ain (1), the distance DC2 (1, 1) of the C2 group is the distance D () between the feature regions Ar (2) and Ain (2). 2, 2) which is the same as the distance DC1 (2, 2) of the C1 group. Among the distances D (1,1) between the feature areas Ar (1) and Ain (1), the distance DC3 (1,1) of the C3 group is the distance D (2,2) between the feature areas Ar (2) and Ain (2). It corresponds to the distance DC2 (2, 2) of the C2 group in 2). Therefore, the distances DC2 (1,1) and DC3 (1,1) can be used when calculating the distance D (2,2).

また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちC3群の距離DC3(1,1)は、特徴領域Ar(3)、Ain(3)の距離D(3,3)のうちC1群の距離DC1(3,3)と一致する。そのため、距離D(3,3)を計算する際に距離DC3(1,1)を流用することができる。   In addition, among the distances D (1,1) between the characteristic regions Ar (1) and Ain (1), the distance DC3 (1,1) of the C3 group is the distance D (between the characteristic regions Ar (3) and Ain (3). 3, 3) which is the same as the distance DC1 (3, 3) of the C1 group. Therefore, the distance DC3 (1, 1) can be used when calculating the distance D (3, 3).

(D群について)
D群は、D1群、D2群、D3群、D4群に分けられる。D1群に属する画素ペアは、両画素が小領域#1に位置する。D2群に属する画素ペアは、両画素が小領域#2に位置する。D3群に属する画素ペアは、両画素が小領域#3に位置する。D4群に属する画素ペアは、両画素が小領域#4に位置する。つまり、D1、D2、D3、D4群に属する画素ペアを結ぶ線は境界を跨がない。
(About Group D)
The D group is divided into a D1, D2, D3, and D4 groups. In the pixel pair belonging to the D1 group, both pixels are located in the small region # 1. In the pixel pair belonging to the group D2, both pixels are located in the small area # 2. In the pixel pair belonging to the group D3, both pixels are located in the small region # 3. In the pixel pair belonging to the group D4, both pixels are located in the small region # 4. That is, a line connecting pixel pairs belonging to the D1, D2, D3, and D4 groups does not straddle the boundary.

D1群の画素ペア、D2群の画素ペア、D3群の画素ペア、D4群の画素ペアは同じ配置となるように設定される。そのため、D2群は、D1群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。D3群は、D1群又はD2群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。D4群は、D1群、D2群、D3群に関する局所特徴量又は距離Dの計算時に流用可能なビット列又は距離Dの一部(距離d)を与える。   The pixel pair of the D1 group, the pixel pair of the D2 group, the pixel pair of the D3 group, and the pixel pair of the D4 group are set to have the same arrangement. Therefore, the D2 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D regarding the D1 group. The D3 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D regarding the D1 group or the D2 group. The D4 group gives a bit string or a part of the distance D (distance d) that can be used when calculating the local feature amount or the distance D regarding the D1, D2, and D3 groups.

例えば、特徴領域Ain(1)のD2群のビット列は、特徴領域Ain(2)のD1群のビット列と一致する。また、特徴領域Ain(1)のD3群のビット列は、特徴領域Ain(2)のD2群のビット列、特徴領域Ain(3)のD1群のビット列と一致する。特徴領域Ain(1)のD4群のビット列は、特徴領域Ain(2)のD3群のビット列、特徴領域Ain(3)のD2群のビット列、特徴領域Ain(4)のD1群のビット列と一致する。   For example, the bit string of the D2 group in the feature area Ain (1) matches the bit string of the D1 group in the feature area Ain (2). The bit string of the D3 group in the feature area Ain (1) matches the bit string of the D2 group in the feature area Ain (2) and the bit string of the D1 group in the feature area Ain (3). The bit string of the D4 group of the feature area Ain (1) matches the bit string of the D3 group of the feature area Ain (2), the bit string of the D2 group of the feature area Ain (3), and the bit string of the D1 group of the feature area Ain (4) To do.

そのため、特徴領域Ain(2)の局所特徴量を計算する際に、特徴領域Ain(1)のD2群、D3群、D4群のビット列を流用できる。また、特徴領域Ain(3)の局所特徴量を計算する際に、特徴領域Ain(1)のD3群、D4群のビット列を流用できる。また、特徴領域Ain(4)の局所特徴量を計算する際に、特徴領域Ain(1)のD4群のビット列を流用できる。   Therefore, when calculating the local feature amount of the feature region Ain (2), the bit strings of the D2, D3, and D4 groups of the feature region Ain (1) can be used. Further, when calculating the local feature amount of the feature region Ain (3), the bit strings of the D3 group and the D4 group of the feature region Ain (1) can be used. In addition, when calculating the local feature amount of the feature region Ain (4), the bit string of the D4 group of the feature region Ain (1) can be used.

また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちD2群の距離DD2(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちD1群の距離DD1(2,2)と一致する。また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちD3群の距離DD3(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちD2群の距離DD2(2,2)と一致する。さらに、距離DD3(1,1)は、特徴領域Ar(3)、Ain(3)の距離D(3,3)のうちD1群の距離DD1(3,3)と一致する。   Further, among the distances D (1, 1) of the feature areas Ar (1) and Ain (1), the distance DD2 (1, 1) of the D2 group is the distance D () of the feature areas Ar (2) and Ain (2). 2, 2) coincides with the distance DD1 (2, 2) of the D1 group. Further, among the distances D (1, 1) of the feature areas Ar (1) and Ain (1), the distance DD3 (1, 1) of the group D3 is the distance D () of the feature areas Ar (2) and Ain (2). 2, 2), which matches the distance DD2 (2, 2) of the D2 group. Further, the distance DD3 (1, 1) matches the distance DD1 (3, 3) of the D1 group among the distances D (3, 3) of the feature regions Ar (3), Ain (3).

また、特徴領域Ar(1)、Ain(1)の距離D(1,1)のうちD4群の距離DD4(1,1)は、特徴領域Ar(2)、Ain(2)の距離D(2,2)のうちD3群の距離DD3(2,2)と一致する。さらに、距離DD4(1,1)は、特徴領域Ar(3)、Ain(3)の距離D(3,3)のうちD2群の距離DD2(3,3)と一致する。そして、距離DD4(1,1)は、特徴領域Ar(4)、Ain(4)の距離D(4,4)のうちD1群の距離DD1(4,4)と一致する。   The distance DD4 (1,1) of the D4 group out of the distance D (1,1) between the feature regions Ar (1) and Ain (1) is the distance D () between the feature regions Ar (2) and Ain (2). 2, 2), which coincides with the distance DD3 (2, 2) of the D3 group. Furthermore, the distance DD4 (1, 1) matches the distance DD2 (3, 3) of the D2 group among the distances D (3, 3) of the feature regions Ar (3), Ain (3). The distance DD4 (1, 1) matches the distance DD1 (4, 4) of the D1 group among the distances D (4, 4) of the feature regions Ar (4), Ain (4).

そのため、距離D(2,2)を計算する際に距離DD2(1,1)、DD3(1,1)、DD4(1,1)を流用することができる。また、距離D(3,3)を計算する際に距離DD3(1,1)、DD4(1,1)を流用することができる。さらに、距離D(4,4)を計算する際に距離DD4(1,1)を流用することができる。   Therefore, when calculating the distance D (2, 2), the distances DD2 (1, 1), DD3 (1, 1), and DD4 (1, 1) can be used. Further, when calculating the distance D (3, 3), the distances DD3 (1, 1) and DD4 (1, 1) can be used. Furthermore, the distance DD4 (1, 1) can be used when calculating the distance D (4, 4).

上記の流用を容易にするため、図27に示すように、局所特徴量は、A群、B1群、B2群、C1群、…、C3群、D1群、…、D4群のビット列をそれぞれ結合したビット列で表現される。また、距離Dは、同じ群のビット列同士の距離を加算した値で表現される。変形例#1の場合、上記のように流用可能なビット列及び距離dの種類が変更されるが、図22や図25などに記載した処理フローの基本的な流れは同じである。   In order to facilitate the above-mentioned diversion, as shown in FIG. 27, the local feature amounts are obtained by combining bit groups of A group, B1 group, B2 group, C1 group,..., C3 group, D1 group,. It is expressed as a bit string. The distance D is expressed by a value obtained by adding the distances between bit strings of the same group. In the case of the modified example # 1, the divertable bit string and the type of the distance d are changed as described above, but the basic flow of the processing flow described in FIGS. 22 and 25 is the same.

以上、変形例#1について説明した。
[2−7.変形例#2(2次元的に特徴領域の一部が重複する配置)]
次に、第2実施形態に係る一変形例(変形例#2)について説明する。変形例#2は、上下左右に隣接する特徴領域が一部で重なるように配置する方法に関する。
The modification # 1 has been described above.
[2-7. Modification # 2 (Arrangement in which part of the feature region overlaps two-dimensionally)]
Next, a modification (modification # 2) according to the second embodiment will be described. The modified example # 2 relates to a method of arranging the feature regions adjacent vertically and horizontally so as to partially overlap.

(2−7−1.特徴点、画素ペア、距離記録テーブル)
図28〜図30を参照しながら、変形例#2に係る特徴点の配置、画素ペアの配置、距離記録テーブルの設定などについて説明する。
(2-7-1. Feature points, pixel pairs, distance recording table)
With reference to FIGS. 28 to 30, the arrangement of feature points, the arrangement of pixel pairs, the setting of a distance recording table, and the like according to the modified example # 2 will be described.

図28は、第2実施形態の一変形例(変形例#2)に係る特徴点の配置について説明するための図である。図29は、第2実施形態の一変形例(変形例#2)に係る画素ペアの配置及び局所特徴量の構造について説明するための図である。図30は、第2実施形態の一変形例(変形例#2)に係る距離情報の一例を示した図である。   FIG. 28 is a diagram for describing arrangement of feature points according to a modification (Modification # 2) of the second embodiment. FIG. 29 is a diagram for explaining the arrangement of pixel pairs and the structure of local feature amounts according to a modification (modification # 2) of the second embodiment. FIG. 30 is a diagram illustrating an example of distance information according to a modification (Modification # 2) of the second embodiment.

図28の例は、上下左右に隣接する特徴領域Ainが、特徴領域Ainの1/2の範囲で重なるように特徴点Winの配置及び特徴領域Ainのサイズを設定する場合を示している。この例では2次元的な座標表示を利用して特徴点Winの位置が表現されている。特徴領域Ainの位置についても同様である。   The example of FIG. 28 shows a case where the arrangement of the feature points Win and the size of the feature area Ain are set so that the feature areas Ain that are adjacent in the vertical and horizontal directions overlap in the range of ½ of the feature area Ain. In this example, the position of the feature point Win is expressed using a two-dimensional coordinate display. The same applies to the position of the feature region Ain.

例えば、左上端の特徴点がWin(1,1)、Win(1,1)の右隣の特徴点がWin(1,2)、Win(1,1)の下段の特徴点がWin(2,1)である。また、特徴領域Ain(1,1)の右領域と特徴領域Ain(1,2)の左領域とが重なり、特徴領域Ain(1,1)の下側1/2の領域(下領域)と特徴領域Ain(2,1)の上側1/2の領域(上領域)とが重なる。さらに、特徴領域Ain(1,2)の左下1/4の領域(左下領域)と、特徴領域Ain(2,1)の右上1/4の領域(右上領域)とが重なる。このように、変形例#2では様々な形状及びサイズの重複領域が考慮される。   For example, the feature point at the upper left corner is Win (1,1), the feature point right next to Win (1,1) is Win (1,2), and the feature point below Win (1,1) is Win (2 , 1). Further, the right region of the feature region Ain (1, 1) and the left region of the feature region Ain (1, 2) overlap, and the lower half region (lower region) of the feature region Ain (1, 1) The upper half region (upper region) of the feature region Ain (2, 1) overlaps. Furthermore, the lower left quarter area (lower left area) of the feature area Ain (1, 2) and the upper right quarter area (upper right area) of the feature area Ain (2, 1) overlap. As described above, the modified example # 2 considers overlapping regions having various shapes and sizes.

変形例#2の場合、図29に示すように、特徴領域Ainを上下左右に4分割した4つの小領域を利用して画素ペアが分類される。ここでは、右上の小領域(第1象限)を小領域#1、左上の小領域(第2象限)を小領域#2、左下の小領域(第3象限)を#3、右下の小領域(第4象限)を#4と表記する。   In the case of the modified example # 2, as shown in FIG. 29, pixel pairs are classified using four small regions obtained by dividing the feature region Ain into four parts in the vertical and horizontal directions. Here, the upper right small area (first quadrant) is small area # 1, the upper left small area (second quadrant) is small area # 2, the lower left small area (third quadrant) is # 3, and the lower right small area is # 3. The region (fourth quadrant) is denoted as # 4.

(A群について)
A群は、対角線上に配置される2つの小領域にそれぞれ画素がある画素ペアの集合である。つまり、A群は、一方の画素が小領域#1にあり、他方の画素が小領域#3にある画素ペア、及び一方の画素が小領域#2にあり、他方の画素が小領域#4にある画素ペアを含む。
(About Group A)
Group A is a set of pixel pairs each having a pixel in two small areas arranged on a diagonal line. That is, in the group A, a pixel pair in which one pixel is in the small region # 1 and the other pixel is in the small region # 3, and one pixel is in the small region # 2, and the other pixel is the small region # 4. Includes the pixel pair.

(B群について)
B群は、上下に配置される2つの小領域にそれぞれ画素が位置する画素ペアの集合である。B群は、B1群とB2群とに分けられる。B1群は、左領域を上下に分ける小領域#2、#3にそれぞれ画素が位置する画素ペアの集合である。B2群は、右領域を上下に分ける小領域#1、#4にそれぞれ画素が位置する画素ペアの集合である。B1群の画素ペアと、B2群の画素ペアとは同じ配置となるように設定される。
(About Group B)
Group B is a set of pixel pairs in which pixels are respectively located in two small areas arranged above and below. The B group is divided into a B1 group and a B2 group. The B1 group is a set of pixel pairs in which pixels are located in small areas # 2 and # 3 that divide the left area into upper and lower parts. The B2 group is a set of pixel pairs in which pixels are located in small areas # 1 and # 4 that divide the right area into upper and lower parts. The pixel pairs in the B1 group and the pixel pairs in the B2 group are set to have the same arrangement.

(C群について)
C群は、左右に配置される2つの小領域にそれぞれ画素が位置する画素ペアの集合である。C群は、C1群とC2群とに分けられる。C1群は、上領域を左右に分ける小領域#1、#2にそれぞれ画素が位置する画素ペアの集合である。C2群は、下領域を左右に分ける小領域#3、#4にそれぞれ画素が位置する画素ペアの集合である。C1群の画素ペアと、C2群の画素ペアとは同じ配置となるように設定される。
(About Group C)
Group C is a set of pixel pairs in which pixels are respectively located in two small regions arranged on the left and right. Group C is divided into group C1 and group C2. Group C1 is a set of pixel pairs in which pixels are located in small areas # 1 and # 2 that divide the upper area into left and right. Group C2 is a set of pixel pairs in which pixels are located in small regions # 3 and # 4 that divide the lower region into left and right. The pixel pairs in the C1 group and the pixel pairs in the C2 group are set to have the same arrangement.

(D群について)
D群は、各小領域に2つの画素が位置する画素ペアの集合である。D群は、D1群、D2群、D3群、D4群に分けられる。D1群は、小領域#1に各画素が位置する画素ペアである。D2群は、小領域#2に各画素が位置する画素ペアである。D3群は、小領域#3に各画素が位置する画素ペアである。D4群は、小領域#4に各画素が位置する画素ペアである。D1群、D2群、D3群、D4群の画素ペアは同じ配置となるように設定される。
(About Group D)
Group D is a set of pixel pairs in which two pixels are located in each small region. The D group is divided into a D1, D2, D3, and D4 groups. The D1 group is a pixel pair in which each pixel is located in the small area # 1. The group D2 is a pixel pair in which each pixel is located in the small area # 2. The group D3 is a pixel pair in which each pixel is located in the small area # 3. The D4 group is a pixel pair in which each pixel is located in the small region # 4. The pixel pairs of the D1, D2, D3, and D4 groups are set to have the same arrangement.

変形例#2の場合も、局所特徴量は、A群、B1群、B2群、C1群、C2群、D1群、…、D4群のビット列を結合したビット列で表現される。また、距離Dは、同じ群のビット列同士の距離を加算した値で表現される。また、流用可能な距離dを格納するための距離記録テーブルは、図30に示すように、B2群用テーブル、C2群用テーブル、D3群用テーブル、D4群用テーブルの4通り用意される。   Also in the modification # 2, the local feature amount is expressed as a bit string obtained by combining the bit strings of the A group, the B1 group, the B2 group, the C1 group, the C2 group, the D1 group,. The distance D is expressed by a value obtained by adding the distances between bit strings of the same group. Further, as shown in FIG. 30, four types of distance recording tables for storing the divertable distance d are prepared: a B2 group table, a C2 group table, a D3 group table, and a D4 group table.

(2−7−2.サーバ装置の動作)
ここで、図31〜図33を参照しながら、変形例#2に係るサーバ装置200の動作について説明する。但し、変形例#2において主に変形される部分は、上述したS222に係る処理の流れにある。そのため、この部分について説明する。
(2-7-2. Operation of server device)
Here, the operation of the server apparatus 200 according to the modified example # 2 will be described with reference to FIGS. However, the part which is mainly deformed in the modification # 2 is in the flow of the processing related to S222 described above. Therefore, this part will be described.

図31は、第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第1のフロー図である。図32は、第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第2のフロー図である。図33は、第2実施形態の一変形例(変形例#2)に係るサーバ装置の動作のうち、距離計算に関する動作について説明するための第3のフロー図である。   FIG. 31 is a first flowchart for explaining operations related to distance calculation among the operations of the server device according to the modified example (modified example # 2) of the second embodiment. FIG. 32 is a second flowchart for explaining the operation related to the distance calculation among the operations of the server device according to the modified example (modified example # 2) of the second embodiment. FIG. 33 is a third flowchart for explaining operations related to distance calculation among the operations of the server apparatus according to the modified example (modified example # 2) of the second embodiment.

(S301)距離計算部203は、入力画像Pinに配置された複数の特徴点Win(m)(m=1,2,…、M)について、左上を始点として、右下を終点とする特徴点Winの位置を示すインデックスjx、jyを1に初期化する。インデックスjx、Jyで表現される座標(jx,jy)は、特徴点Winの2次元的な位置(図28を参照)を表す。但し、座標(1,1)を左上端にある特徴点の位置とする。また、参照画像Prに配置された特徴点Wrも同様に、2次元的な座標(nx,ny)を用いて位置を表現する。   (S301) The distance calculation unit 203, for a plurality of feature points Win (m) (m = 1, 2,..., M) arranged in the input image Pin, feature points having the upper left as a start point and the lower right as an end point. Indexes jx and gy indicating the position of Win are initialized to 1. The coordinates (jx, jy) represented by the indexes jx and Jy represent the two-dimensional position of the feature point Win (see FIG. 28). However, the coordinate (1, 1) is the position of the feature point at the upper left corner. Similarly, the feature point Wr arranged in the reference image Pr also expresses the position using two-dimensional coordinates (nx, ny).

(S302)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちA群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちA群のビット列との距離DAを計算する。つまり、距離計算部203は、距離DAとして、A群のビット列同士の排他的論理和を計算する。   (S302) The distance calculation unit 203 includes a group A bit string of the local feature values of the feature area Ar (nx, ny) to be processed and a bit string of the group A of the local feature values of the feature area Ain (jx, jy). And calculate the distance DA. That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the A group as the distance DA.

(S303)距離計算部203は、B1群について流用可能な計算結果があるか否かを判定する。
距離計算部203は、特徴領域Ain(jx−1,jy)、Ar(nx−1,ny)があるか否かを判定する。例えば、特徴領域Ain(jx,jy)が左端に位置する場合(jx=1の場合)、Ain(jx−1,jy)はない。同様に、Ar(nx,ny)が左端に位置する場合(nx=1の場合)、Ar(nx−1,ny)はない。
(S303) The distance calculation unit 203 determines whether there is a divertable calculation result for the B1 group.
The distance calculation unit 203 determines whether or not there are feature regions Ain (jx−1, gy) and Ar (nx−1, ny). For example, when the feature area Ain (jx, gy) is located at the left end (when jx = 1), there is no Ain (jx−1, jy). Similarly, when Ar (nx, ny) is located at the left end (when nx = 1), there is no Ar (nx-1, ny).

特徴領域Ain(jx−1,jy)、Ar(nx−1,ny)がある場合、距離計算部203は、B1群について流用可能な計算結果があると判定する。少なくともAin(jx−1,jy)又はAr(nx−1,ny)がない場合、距離計算部203は、B1群について流用可能な計算結果がないと判定する。   When there are feature regions Ain (jx-1, yy) and Ar (nx-1, ny), the distance calculation unit 203 determines that there is a divertable calculation result for the B1 group. When at least Ain (jx-1, yy) or Ar (nx-1, ny) is absent, the distance calculation unit 203 determines that there is no calculation result applicable to the B1 group.

流用可能な計算結果があると判定された場合、処理はS305へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS304へと進む。
(S304)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちB1群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちB1群のビット列との距離DB1(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DB1(jx,jy,nx,ny)として、B1群のビット列同士の排他的論理和を計算する。
If it is determined that there is a divertable calculation result, the process proceeds to S305. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S304.
(S304) The distance calculation unit 203 includes a bit string of the B1 group among the local feature values of the feature area Ar (nx, ny) to be processed and a bit string of the B1 group among the local feature values of the feature area Ain (jx, jy). Distance DB1 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates an exclusive OR of the bit strings of the B1 group as the distance DB1 (jx, yy, nx, ny).

(S305)距離計算部203は、距離DB1(jx,jy,nx,ny)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(nx−1,ny)の局所特徴量のB2群のビット列と、特徴領域Ain(jx−1,jy)の局所特徴量のうちB2群のビット列との距離DB2(jx−1,jy,nx−1,ny)を距離DB1(jx,jy,nx,ny)とする。距離DB2(jx−1,jy,nx−1,ny)は、B2群用テーブルのd(jx−1,jy,nx−1,ny)欄に格納されている。   (S305) The distance calculation unit 203 uses a divertable calculation result calculated in the past as the distance DB1 (jx, jy, nx, ny). That is, the distance calculation unit 203 includes a bit string of the group B2 of the local feature amount of the feature area Ar (nx-1, ny) and a bit string of the group B2 of the local feature quantity of the feature area Ain (jx-1, yy). The distance DB2 (jx-1, jy, nx-1, ny) is defined as the distance DB1 (jx, jy, nx, ny). The distance DB2 (jx-1, jy, nx-1, ny) is stored in the column d (jx-1, jy, nx-1, ny) of the B2 group table.

(S306)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちB2群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちB2群のビット列との距離DB2(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DB2(jx,jy,nx,ny)として、B2群のビット列同士の排他的論理和を計算する。   (S306) The distance calculation unit 203 uses the B2 group bit string of the local feature values of the feature area Ar (nx, ny) to be processed and the B2 group bit string of the local feature values of the feature area Ain (jx, jy). Distance DB2 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the B2 group as the distance DB2 (jx, yy, nx, ny).

(S307)距離計算部203は、S306で計算した距離DB2(jx,jy,nx,ny)をB2群用テーブルに格納する。このとき、距離計算部203は、距離DB2(jx,jy,nx,ny)をB2群用テーブルのd(jx,jy,nx,ny)欄に格納する。   (S307) The distance calculation unit 203 stores the distance DB2 (jx, yy, nx, ny) calculated in S306 in the B2 group table. At this time, the distance calculation unit 203 stores the distance DB2 (jx, jy, nx, ny) in the d (jx, jy, nx, ny) column of the B2 group table.

(S308)距離計算部203は、C1群について流用可能な計算結果があるか否かを判定する。
距離計算部203は、特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)があるか否かを判定する。例えば、特徴領域Ain(jx,jy)が上端に位置する場合(jy=1の場合)、Ain(jx,jy−1)はない。同様に、Ar(nx,ny)が上端に位置する場合(ny=1の場合)、Ar(nx,ny−1)はない。
(S308) The distance calculation unit 203 determines whether there is a divertable calculation result for the C1 group.
The distance calculation unit 203 determines whether or not there are feature regions Ain (jx, gy−1) and Ar (nx, ny−1). For example, when the feature area Ain (jx, jy) is located at the upper end (when jy = 1), there is no Ain (jx, jy-1). Similarly, when Ar (nx, ny) is located at the upper end (when ny = 1), there is no Ar (nx, ny-1).

特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)がある場合、距離計算部203は、C1群について流用可能な計算結果があると判定する。少なくともAin(jx,jy−1)又はAr(nx,ny−1)がない場合、距離計算部203は、C1群について流用可能な計算結果がないと判定する。   When there are feature areas Ain (jx, gy−1) and Ar (nx, ny−1), the distance calculation unit 203 determines that there is a divertable calculation result for the C1 group. When there is no Ain (jx, gy-1) or Ar (nx, ny-1), the distance calculation unit 203 determines that there is no divertable calculation result for the C1 group.

流用可能な計算結果があると判定された場合、処理はS310へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS309へと進む。
(S309)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちC1群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちC1群のビット列との距離DC1(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DC1(jx,jy,nx,ny)として、C1群のビット列同士の排他的論理和を計算する。S309の処理が完了すると、処理は図32のS311へ進む。
If it is determined that there is a divertable calculation result, the process proceeds to S310. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S309.
(S309) The distance calculation unit 203 includes a bit string of the C1 group among the local feature values of the feature area Ar (nx, ny) to be processed and a bit string of the C1 group among the local feature quantities of the feature area Ain (jx, yy). The distance DC1 (jx, jy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates an exclusive OR of the bit strings of the C1 group as the distance DC1 (jx, yy, nx, ny). When the process of S309 is completed, the process proceeds to S311 in FIG.

(S310)距離計算部203は、距離DC1(jx,jy,nx,ny)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(nx,ny−1)の局所特徴量のC2群のビット列と、特徴領域Ain(jx,jy−1)の局所特徴量のうちC2群のビット列との距離DC2(jx,jy−1,nx,ny−1)を距離DC1(jx,jy,nx,ny)とする。距離DC2(jx,jy−1,nx,ny−1)は、C2群用テーブルのd(jx,jy−1,nx,ny−1)欄に格納されている。S310の処理が完了すると、処理は図32のS311へ進む。   (S310) The distance calculation unit 203 uses a divertable calculation result calculated in the past as the distance DC1 (jx, jy, nx, ny). That is, the distance calculation unit 203 includes the bit string of the C2 group of the local feature amount of the feature area Ar (nx, ny-1) and the bit string of the C2 group of the local feature quantity of the feature area Ain (jx, zy-1). The distance DC2 (jx, jy-1, nx, ny-1) is defined as the distance DC1 (jx, jy, nx, ny). The distance DC2 (jx, jy-1, nx, ny-1) is stored in the d (jx, jy-1, nx, ny-1) column of the C2 group table. When the process of S310 is completed, the process proceeds to S311 in FIG.

(S311)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちC2群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちC2群のビット列との距離DC2(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DC2(jx,jy,nx,ny)として、C2群のビット列同士の排他的論理和を計算する。   (S311) The distance calculation unit 203 uses the C2 group bit string of the local feature values of the feature area Ar (nx, ny) to be processed and the C2 group bit string of the local feature values of the feature area Ain (jx, jy). The distance DC2 (jx, jy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the C2 group as the distance DC2 (jx, gy, nx, ny).

(S312)距離計算部203は、S311で計算した距離DC2(jx,jy,nx,ny)をC2群用テーブルに格納する。このとき、距離計算部203は、距離DC2(jx,jy,nx,ny)をC2群用テーブルのd(jx,jy,nx,ny)欄に格納する。   (S312) The distance calculation unit 203 stores the distance DC2 (jx, yy, nx, ny) calculated in S311 in the C2 group table. At this time, the distance calculation unit 203 stores the distance DC2 (jx, jy, nx, ny) in the d (jx, jy, nx, ny) column of the C2 group table.

(S313)距離計算部203は、D1群について流用可能な計算結果があるか否かを判定する。
距離計算部203は、特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)があるか否かを判定する。例えば、特徴領域Ain(jx,jy)が上端に位置する場合(jy=1の場合)、Ain(jx,jy−1)はない。同様に、Ar(nx,ny)が上端に位置する場合(ny=1の場合)、Ar(nx,ny−1)はない。
(S313) The distance calculation unit 203 determines whether there is a divertable calculation result for the D1 group.
The distance calculation unit 203 determines whether or not there are feature regions Ain (jx, gy−1) and Ar (nx, ny−1). For example, when the feature area Ain (jx, jy) is located at the upper end (when jy = 1), there is no Ain (jx, jy-1). Similarly, when Ar (nx, ny) is located at the upper end (when ny = 1), there is no Ar (nx, ny-1).

特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)がある場合、距離計算部203は、D1群について流用可能な計算結果があると判定する。少なくともAin(jx,jy−1)又はAr(nx,ny−1)がない場合、距離計算部203は、D1群について流用可能な計算結果がないと判定する。   When there are feature regions Ain (jx, gy−1) and Ar (nx, ny−1), the distance calculation unit 203 determines that there is a divertable calculation result for the D1 group. If there is no Ain (jx, gy-1) or Ar (nx, ny-1), the distance calculation unit 203 determines that there is no divertable calculation result for the D1 group.

流用可能な計算結果があると判定された場合、処理はS315へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS314へと進む。
(S314)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちD1群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちD1群のビット列との距離DD1(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DD1(jx,jy,nx,ny)として、D1群のビット列同士の排他的論理和を計算する。
If it is determined that there is a divertable calculation result, the process proceeds to S315. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S314.
(S314) The distance calculation unit 203 includes a bit string of the D1 group among the local feature values of the feature area Ar (nx, ny) to be processed and a bit string of the D1 group among the local feature quantities of the feature area Ain (jx, yy). The distance DD1 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates an exclusive OR of the bit strings of the D1 group as the distance DD1 (jx, yy, nx, ny).

(S315)距離計算部203は、距離DD1(jx,jy,nx,ny)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(nx,ny−1)の局所特徴量のD4群のビット列と、特徴領域Ain(jx,jy−1)の局所特徴量のうちD4群のビット列との距離DD4(jx,jy−1,nx,ny−1)を距離DD1(jx,jy,nx,ny)とする。距離DD4(jx,jy−1,nx,ny−1)は、D4群用テーブルのd(jx,jy−1,nx,ny−1)欄に格納されている。   (S315) The distance calculation unit 203 uses a divertable calculation result calculated in the past as the distance DD1 (jx, jy, nx, ny). That is, the distance calculation unit 203 uses the D4 group bit string of the local feature amount of the feature area Ar (nx, ny-1) and the D4 group bit string of the local feature quantity of the feature area Ain (jx, jy-1). The distance DD4 (jx, jy-1, nx, ny-1) is a distance DD1 (jx, gy, nx, ny). The distance DD4 (jx, jy-1, nx, ny-1) is stored in the d (jx, jy-1, nx, ny-1) column of the D4 group table.

(S316)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちD4群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちD4群のビット列との距離DD4(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DD4(jx,jy,nx,ny)として、D4群のビット列同士の排他的論理和を計算する。   (S316) The distance calculation unit 203 uses the D4 group bit string of the local feature values of the feature area Ar (nx, ny) to be processed and the D4 group bit string of the local feature values of the feature area Ain (jx, jy). The distance DD4 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the D4 group as the distance DD4 (jx, yy, nx, ny).

(S317)距離計算部203は、S316で計算した距離DD4(jx,jy,nx,ny)をD4群用テーブルに格納する。このとき、距離計算部203は、距離DD4(jx,jy,nx,ny)をD4群用テーブルのd(jx,jy,nx,ny)欄に格納する。   (S317) The distance calculation unit 203 stores the distance DD4 (jx, yy, nx, ny) calculated in S316 in the D4 group table. At this time, the distance calculation unit 203 stores the distance DD4 (jx, jy, nx, ny) in the d (jx, jy, nx, ny) column of the D4 group table.

(S318)距離計算部203は、D2群について流用可能な計算結果があるか否かを判定する。
距離計算部203は、特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)があるか否かを判定する。例えば、特徴領域Ain(jx,jy)が上端に位置する場合(jy=1の場合)、Ain(jx,jy−1)はない。同様に、Ar(nx,ny)が上端に位置する場合(ny=1の場合)、Ar(nx,ny−1)はない。
(S318) The distance calculation unit 203 determines whether there is a divertable calculation result for the D2 group.
The distance calculation unit 203 determines whether or not there are feature regions Ain (jx, gy−1) and Ar (nx, ny−1). For example, when the feature area Ain (jx, jy) is located at the upper end (when jy = 1), there is no Ain (jx, jy-1). Similarly, when Ar (nx, ny) is located at the upper end (when ny = 1), there is no Ar (nx, ny-1).

特徴領域Ain(jx,jy−1)、Ar(nx,ny−1)がある場合、距離計算部203は、D2群について流用可能な計算結果があると判定する。少なくともAin(jx,jy−1)又はAr(nx,ny−1)がない場合、距離計算部203は、D2群について流用可能な計算結果がないと判定する。   When there are feature regions Ain (jx, gy−1) and Ar (nx, ny−1), the distance calculation unit 203 determines that there is a divertable calculation result for the D2 group. When there is no Ain (jx, gy-1) or Ar (nx, ny-1), the distance calculation unit 203 determines that there is no divertable calculation result for the D2 group.

流用可能な計算結果があると判定された場合、処理はS320へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS319へと進む。
(S319)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちD2群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちD2群のビット列との距離DD2(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DD2(jx,jy,nx,ny)として、D2群のビット列同士の排他的論理和を計算する。S319の処理が完了すると、処理は図33のS321へ進む。
If it is determined that there is a divertable calculation result, the process proceeds to S320. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S319.
(S319) The distance calculation unit 203 includes a bit string of the D2 group among the local feature values of the feature area Ar (nx, ny) to be processed and a bit string of the D2 group among the local feature values of the feature area Ain (jx, jy). The distance DD2 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates an exclusive OR between the bit strings of the D2 group as the distance DD2 (jx, yy, nx, ny). When the process of S319 is completed, the process proceeds to S321 in FIG.

(S320)距離計算部203は、距離DD2(jx,jy,nx,ny)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(nx,ny−1)の局所特徴量のD3群のビット列と、特徴領域Ain(jx,jy−1)の局所特徴量のうちD3群のビット列との距離DD3(jx,jy−1,nx,ny−1)を距離DD2(jx,jy,nx,ny)とする。距離DD3(jx,jy−1,nx,ny−1)は、D3群用テーブルのd(jx,jy−1,nx,ny−1)欄に格納されている。S320の処理が完了すると、処理は図33のS321へ進む。   (S320) The distance calculation unit 203 uses a divertable calculation result calculated in the past as the distance DD2 (jx, jy, nx, ny). That is, the distance calculation unit 203 includes a bit string of the D3 group of the local feature amount of the feature area Ar (nx, ny-1) and a bit string of the D3 group of the local feature quantity of the feature area Ain (jx, jy-1). The distance DD3 (jx, gy-1, nx, ny-1) is set as the distance DD2 (jx, gy, nx, ny). The distance DD3 (jx, jy-1, nx, ny-1) is stored in the d (jx, jy-1, nx, ny-1) column of the D3 group table. When the process of S320 is completed, the process proceeds to S321 in FIG.

(S321)距離計算部203は、D4群について流用可能な計算結果があるか否かを判定する。
距離計算部203は、特徴領域Ain(jx−1,jy)、Ar(nx−1,ny)があるか否かを判定する。例えば、特徴領域Ain(jx,jy)が左端に位置する場合(jx=1の場合)、Ain(jx−1,jy)はない。同様に、Ar(nx,ny)が左端に位置する場合(nx=1の場合)、Ar(nx−1,ny)はない。
(S321) The distance calculation unit 203 determines whether there is a divertable calculation result for the D4 group.
The distance calculation unit 203 determines whether or not there are feature regions Ain (jx−1, gy) and Ar (nx−1, ny). For example, when the feature area Ain (jx, gy) is located at the left end (when jx = 1), there is no Ain (jx-1, yy). Similarly, when Ar (nx, ny) is located at the left end (when nx = 1), there is no Ar (nx-1, ny).

特徴領域Ain(jx−1,jy)、Ar(nx−1,ny)がある場合、距離計算部203は、D4群について流用可能な計算結果があると判定する。少なくともAin(jx−1,jy)又はAr(nx−1,ny)がない場合、距離計算部203は、D4群について流用可能な計算結果がないと判定する。   When there are feature regions Ain (jx-1, yy) and Ar (nx-1, ny), the distance calculation unit 203 determines that there is a divertable calculation result for the D4 group. When at least Ain (jx-1, yy) or Ar (nx-1, ny) is absent, the distance calculation unit 203 determines that there is no calculation result applicable to the D4 group.

流用可能な計算結果があると判定された場合、処理はS323へと進む。一方、流用可能な計算結果がないと判定された場合、処理はS322へと進む。
(S322)距離計算部203は、処理対象の特徴領域Ar(nx,ny)の局所特徴量のうちD3群のビット列と、特徴領域Ain(jx,jy)の局所特徴量のうちD3群のビット列との距離DD3(jx,jy,nx,ny)を計算する。つまり、距離計算部203は、距離DD3(jx,jy,nx,ny)として、D3群のビット列同士の排他的論理和を計算する。S322の処理が完了すると、処理はS324へ進む。
If it is determined that there is a divertable calculation result, the process proceeds to S323. On the other hand, if it is determined that there is no divertable calculation result, the process proceeds to S322.
(S322) The distance calculation unit 203 uses the D3 group bit string of the local feature values of the feature area Ar (nx, ny) to be processed and the D3 group bit string of the local feature values of the feature area Ain (jx, jy). Distance DD3 (jx, gy, nx, ny) is calculated. That is, the distance calculation unit 203 calculates the exclusive OR of the bit strings of the D3 group as the distance DD3 (jx, yy, nx, ny). When the process of S322 is completed, the process proceeds to S324.

(S323)距離計算部203は、距離DD3(jx,jy,nx,ny)として、過去に計算した流用可能な計算結果を利用する。つまり、距離計算部203は、特徴領域Ar(nx−1,ny)の局所特徴量のD4群のビット列と、特徴領域Ain(jx−1,jy)の局所特徴量のうちD4群のビット列との距離DD4(jx−1,jy,nx−1,ny)を距離DD3(jx,jy,nx,ny)とする。距離DD4(jx−1,jy,nx−1,ny)は、D4群用テーブルのd(jx,jy−1,nx,ny−1)欄に格納されている。   (S323) The distance calculation unit 203 uses a divertable calculation result calculated in the past as the distance DD3 (jx, jy, nx, ny). That is, the distance calculation unit 203 includes the bit string of the D4 group of the local feature amount of the feature area Ar (nx-1, ny) and the bit string of the D4 group of the local feature quantity of the feature area Ain (jx-1, yy). The distance DD4 (jx-1, yy, nx-1, ny) is defined as the distance DD3 (jx, jy, nx, ny). The distance DD4 (jx-1, jy, nx-1, ny) is stored in the d (jx, jy-1, nx, ny-1) column of the D4 group table.

(S324)距離計算部203は、距離DA(jx,jy,nx,ny)、距離DB1(jx,jy,nx,ny)、…、距離DD4(jx,jy,nx,ny)を加算する。そして、距離計算部203は、加算値を特徴領域Ain(jx,jy)、Ar(nx,ny)の距離D(jx,jy,nx,ny)とする。   (S324) The distance calculation unit 203 adds the distance DA (jx, jy, nx, ny), the distance DB1 (jx, jy, nx, ny), ..., the distance DD4 (jx, jy, nx, ny). Then, the distance calculation unit 203 sets the addition value as the distance D (jx, gy, nx, ny) between the feature areas Ain (jx, yy) and Ar (nx, ny).

(S325)距離計算部203は、特徴点の座標(jx,jy)を表すインデックスjx、jyを更新する。例えば、jx<Mxである場合、距離計算部203は、jxをインクリメント(jx=jx+1)する。jx=Mxである場合、距離計算部203は、jxを1に更新し、jyをインクリメント(jy=jy+1)する。つまり、距離計算部203は、処理対象とする特徴領域Ainを移動させる。但し、jxの最大数がMxである。   (S325) The distance calculation unit 203 updates indexes jx and jy representing the coordinates (jx, jy) of the feature points. For example, when jx <Mx, the distance calculation unit 203 increments jx (jx = jx + 1). When jx = Mx, the distance calculation unit 203 updates jx to 1 and increments jy (jy = jy + 1). That is, the distance calculation unit 203 moves the feature area Ain to be processed. However, the maximum number of jx is Mx.

(S326)距離計算部203は、全ての特徴点Winについて処理を終えたか否かを判定する。全ての特徴点Winについて処理を終えている場合、図31〜図33に示した一連の処理は終了する。一方、処理を終えていない特徴点Winがある場合、処理は図31のS302へと進む。   (S326) The distance calculation unit 203 determines whether or not the processing has been completed for all feature points Win. When the processing has been completed for all the feature points Win, the series of processing illustrated in FIGS. 31 to 33 ends. On the other hand, if there is a feature point Win that has not been processed, the process proceeds to S302 in FIG.

上記のように、重複領域について流用可能な計算結果がある場合に、その計算結果を流用(S305、S310、S315、S320、S323)して一部の計算(S304、S309、S314、S319、S322)を省略することで、距離計算の負荷が低減される。その結果、対応点探索にかかる処理負担の軽減及び処理の高速化が実現される。   As described above, when there is a calculation result that can be diverted for the overlapping region, the calculation result is diverted (S305, S310, S315, S320, S323), and a part of the calculation (S304, S309, S314, S319, S322) is performed. ) Is omitted, the load of distance calculation is reduced. As a result, it is possible to reduce the processing load related to the corresponding point search and to speed up the processing.

以上、変形例#2について説明した。
以上説明したように、第2実施形態に係る技術を適用することにより、対応点探索にかかる処理負荷を低減でき、対象物の有無を高速に判断することが可能になる。
The modification # 2 has been described above.
As described above, by applying the technology according to the second embodiment, it is possible to reduce the processing load for the corresponding point search and to determine the presence or absence of the target object at high speed.

以上、第2実施形態について説明した。
上記説明においてはランドマークの認識機能を例に説明を進めてきたが、例えば、画像の類否判定を伴う任意のアプリケーションプログラムなどに応用することもできる。また、サーバ装置200で顔認識を行うアプリケーションプログラムやAR(Augmented Reality)を利用したアプリケーションプログラムなどにも応用できる。こうした応用例についても当然に第2実施形態の技術的範囲に属する。
The second embodiment has been described above.
In the above description, the landmark recognition function has been described as an example. However, the present invention can be applied to, for example, an arbitrary application program that involves image similarity determination. Further, the present invention can be applied to an application program for performing face recognition by the server device 200, an application program using AR (Augmented Reality), and the like. Such application examples naturally belong to the technical scope of the second embodiment.

<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を記憶する記憶部と、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する計算部と
を有し、
前記計算部は、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を前記記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
情報処理装置。
<3. Addendum>
The following additional notes are disclosed with respect to the embodiment described above.
(Supplementary Note 1) Among the plurality of pixel pairs arranged in a common arrangement rule in each of a plurality of image areas partially overlapping, each of the image areas arranged in each image area in the overlapping area where the image areas overlap A storage unit for storing arrangement information representing the arrangement rule set so that the positions of the pixel pairs match;
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount A calculation unit that determines similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
The calculation unit stores a calculation result related to the feature amount of the pixel pair located in the overlap region in the storage unit, and relates to the feature amount of the pixel pair in the other image region at the same position as the pixel pair. An information processing apparatus that uses the calculation result stored in the storage unit during calculation.

(付記2) 前記記憶部は、前記第1の画像に設定された前記各画像領域の特徴量を記憶し、
前記計算部は、前記第2の画像に設定された前記各画像領域に前記配置規則で配置される前記各画素ペアの特徴量を計算する際、前記重複領域に位置する前記画素ペアの特徴量を前記記憶部に格納し、当該画素ペアと同じ位置にある他の前記画素ペアの特徴量の計算を回避して前記記憶部に格納されている前記画素ペアの特徴量を利用する
付記1に記載の情報処理装置。
(Additional remark 2) The said memory | storage part memorize | stores the feature-value of each said image area | region set to the said 1st image,
The calculation unit calculates the feature amount of each pixel pair arranged in the arrangement rule in each image region set in the second image, and the feature amount of the pixel pair located in the overlap region Is stored in the storage unit, and the feature amount of the pixel pair stored in the storage unit is used while avoiding the calculation of the feature amount of the other pixel pair at the same position as the pixel pair. The information processing apparatus described.

(付記3) 前記記憶部は、両方の画素が前記重複領域に含まれる前記画素ペアの集合と、一方の画素が前記重複領域に含まれる前記画素ペアの集合と、両方の画素が前記重複領域に含まれない前記画素ペアの集合とを特定するための集合情報をさらに記憶し、
前記計算部は、前記集合情報に基づいて、両方の画素が前記重複領域に含まれる前記画素ペアを、前記重複領域に位置する前記画素ペアとして利用する
付記1又は2に記載の情報処理装置。
(Supplementary Note 3) The storage unit includes a set of pixel pairs in which both pixels are included in the overlapping region, a set of pixel pairs in which one pixel is included in the overlapping region, and both pixels in the overlapping region. Further storing set information for specifying the set of pixel pairs not included in
The information processing apparatus according to appendix 1 or 2, wherein the calculation unit uses the pixel pair in which both pixels are included in the overlapping area as the pixel pair located in the overlapping area based on the set information.

(付記4) コンピュータが、
一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を取得し、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する処理を実行し、
前記距離を計算する処理において、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
画像判定方法。
(Appendix 4) The computer
The position of each pixel pair arranged in each image region in the overlapping region where the image regions overlap among the plurality of pixel pairs arranged in a common arrangement rule in each of the plurality of image regions partially overlapping To obtain the placement information representing the placement rule set to match,
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount Executing a process of determining similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
In the process of calculating the distance, the calculation result relating to the feature amount of the pixel pair located in the overlap region is stored in the storage unit, and the feature of the pixel pair in the other image region at the same position as the pixel pair An image determination method that uses the calculation result stored in the storage unit when calculating a quantity.

(付記5) コンピュータに、
一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を取得し、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する処理を実行させ、
前記距離を計算する処理において、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
処理を実行させるためのプログラム。
(Supplementary note 5)
The position of each pixel pair arranged in each image region in the overlapping region where the image regions overlap among the plurality of pixel pairs arranged in a common arrangement rule in each of the plurality of image regions partially overlapping To obtain the placement information representing the placement rule set to match,
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount A process of determining similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
In the process of calculating the distance, the calculation result relating to the feature amount of the pixel pair located in the overlap region is stored in the storage unit, and the feature of the pixel pair in the other image region at the same position as the pixel pair A program for executing a process of using the calculation result stored in the storage unit when calculating the quantity.

(付記6) 付記5に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。   (Supplementary Note 6) A computer-readable recording medium in which the program according to Supplementary Note 5 is stored.

10 情報処理装置
11 記憶部
12 計算部
Ain1、Ain2、Ar1、Ar2 画像領域
dA11、dB11、dC11、dA22、dB22、dC22 距離
Qin1、Qr1、Qin2、Qr2 特徴量
R1 左領域
R2 右領域
10 Information processing device 11 Storage unit 12 Calculation unit Ain1, Ain2, Ar1, Ar2 Image region dA11, dB11, dC11, dA22, dB22, dC22 Distance Qin1, Qr1, Qin2, Qr2 Feature amount R1 Left region R2 Right region

Claims (5)

一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を記憶する記憶部と、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する計算部と
を有し、
前記計算部は、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を前記記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
情報処理装置。
The position of each pixel pair arranged in each image region in the overlapping region where the image regions overlap among the plurality of pixel pairs arranged in a common arrangement rule in each of the plurality of image regions partially overlapping A storage unit for storing arrangement information representing the arrangement rule set to match,
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount A calculation unit that determines similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
The calculation unit stores a calculation result related to the feature amount of the pixel pair located in the overlap region in the storage unit, and relates to the feature amount of the pixel pair in the other image region at the same position as the pixel pair. An information processing apparatus that uses the calculation result stored in the storage unit during calculation.
前記記憶部は、前記第1の画像に設定された前記各画像領域の特徴量を記憶し、
前記計算部は、前記第2の画像に設定された前記各画像領域に前記配置規則で配置される前記各画素ペアの特徴量を計算する際、前記重複領域に位置する前記画素ペアの特徴量を前記記憶部に格納し、当該画素ペアと同じ位置にある他の前記画素ペアの特徴量の計算を回避して前記記憶部に格納されている前記画素ペアの特徴量を利用する
請求項1に記載の情報処理装置。
The storage unit stores the feature amount of each image area set in the first image,
The calculation unit calculates the feature amount of each pixel pair arranged in the arrangement rule in each image region set in the second image, and the feature amount of the pixel pair located in the overlap region 2 is stored in the storage unit, and the feature amount of the pixel pair stored in the storage unit is used while avoiding the calculation of the feature amount of the other pixel pair at the same position as the pixel pair. The information processing apparatus described in 1.
前記記憶部は、両方の画素が前記重複領域に含まれる前記画素ペアの集合と、一方の画素が前記重複領域に含まれる前記画素ペアの集合と、両方の画素が前記重複領域に含まれない前記画素ペアの集合とを特定するための集合情報をさらに記憶し、
前記計算部は、前記集合情報に基づいて、両方の画素が前記重複領域に含まれる前記画素ペアを、前記重複領域に位置する前記画素ペアとして利用する
請求項1又は2に記載の情報処理装置。
The storage unit includes a set of pixel pairs in which both pixels are included in the overlap region, a set of pixel pairs in which one pixel is included in the overlap region, and both pixels are not included in the overlap region. Further storing set information for specifying the set of pixel pairs;
The information processing apparatus according to claim 1, wherein the calculation unit uses the pixel pair in which both pixels are included in the overlapping area as the pixel pair located in the overlapping area based on the set information. .
コンピュータが、
一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を取得し、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する処理を実行し、
前記距離を計算する処理において、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
画像判定方法。
Computer
The position of each pixel pair arranged in each image region in the overlapping region where the image regions overlap among the plurality of pixel pairs arranged in a common arrangement rule in each of the plurality of image regions partially overlapping To obtain the placement information representing the placement rule set to match,
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount Executing a process of determining similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
In the process of calculating the distance, the calculation result relating to the feature amount of the pixel pair located in the overlap region is stored in the storage unit, and the feature of the pixel pair in the other image region at the same position as the pixel pair An image determination method that uses the calculation result stored in the storage unit when calculating a quantity.
コンピュータに、
一部が重複する複数の画像領域の各々に共通の配置規則で配置される複数の画素ペアのうち、前記画像領域が重複する重複領域において前記各画像領域に配置された前記各画素ペアの位置が一致するように設定した前記配置規則を表す配置情報を取得し、
前記画像領域に前記配置規則で配置された前記各画素ペアの特徴量の組を当該画像領域の特徴量として利用し、第1の画像に設定された前記各画像領域の特徴量と第2の画像に設定された前記各画像領域の特徴量との距離に基づいて前記第1の画像と前記第2の画像との類否を判定する処理を実行させ、
前記距離を計算する処理において、前記重複領域に位置する前記画素ペアの特徴量に関する計算結果を記憶部に格納し、当該画素ペアと同じ位置にある、他の前記画像領域における前記画素ペアの特徴量に関する計算の際に前記記憶部に格納した前記計算結果を利用する
処理を実行させるためのプログラム。
On the computer,
The position of each pixel pair arranged in each image region in the overlapping region where the image regions overlap among the plurality of pixel pairs arranged in a common arrangement rule in each of the plurality of image regions partially overlapping To obtain the placement information representing the placement rule set to match,
A feature amount set of each pixel pair arranged in the image region according to the arrangement rule is used as a feature amount of the image region, and a feature amount of each image region set in the first image and a second amount A process of determining similarity between the first image and the second image based on a distance from the feature amount of each image region set in the image;
In the process of calculating the distance, the calculation result relating to the feature amount of the pixel pair located in the overlap region is stored in the storage unit, and the feature of the pixel pair in the other image region at the same position as the pixel pair A program for executing a process of using the calculation result stored in the storage unit when calculating the quantity.
JP2014171298A 2014-08-26 2014-08-26 Information processing apparatus, image determination method, and program Expired - Fee Related JP6365117B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014171298A JP6365117B2 (en) 2014-08-26 2014-08-26 Information processing apparatus, image determination method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014171298A JP6365117B2 (en) 2014-08-26 2014-08-26 Information processing apparatus, image determination method, and program

Publications (2)

Publication Number Publication Date
JP2016045837A JP2016045837A (en) 2016-04-04
JP6365117B2 true JP6365117B2 (en) 2018-08-01

Family

ID=55636313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014171298A Expired - Fee Related JP6365117B2 (en) 2014-08-26 2014-08-26 Information processing apparatus, image determination method, and program

Country Status (1)

Country Link
JP (1) JP6365117B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6997369B2 (en) 2017-02-28 2022-02-04 富士通株式会社 Programs, ranging methods, and ranging devices
JP6985132B2 (en) * 2017-12-20 2021-12-22 株式会社ダスキン Facility identification equipment and its program
CN111385489B (en) * 2020-03-20 2022-09-23 百度在线网络技术(北京)有限公司 Method, device and equipment for manufacturing short video cover and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61217884A (en) * 1985-03-25 1986-09-27 Hitachi Ltd Discrimination system for feature area of picture
JP2013037549A (en) * 2011-08-08 2013-02-21 Sumitomo Electric Ind Ltd Moving object detector, computer program, and moving object detection method
JP5625196B2 (en) * 2012-04-09 2014-11-19 株式会社モルフォ Feature point detection device, feature point detection method, feature point detection program, and recording medium

Also Published As

Publication number Publication date
JP2016045837A (en) 2016-04-04

Similar Documents

Publication Publication Date Title
US20190272438A1 (en) Method and apparatus for detecting text
US10528844B2 (en) Method and apparatus for distance measurement
US20110311100A1 (en) Method, Apparatus and Computer Program Product for Providing Object Tracking Using Template Switching and Feature Adaptation
CN105184238A (en) Human face recognition method and system
JP6347155B2 (en) Image processing apparatus, image determination method, and program
CN103577818A (en) Method and device for recognizing image characters
CN110852311A (en) Three-dimensional human hand key point positioning method and device
WO2017056312A1 (en) Image processing program and image processing device
JP6365117B2 (en) Information processing apparatus, image determination method, and program
CN101286230A (en) Image processing apparatus and method
US9087272B2 (en) Optical match character classification
Chen et al. Method on water level ruler reading recognition based on image processing
CN103955713B (en) A kind of icon-based programming method and apparatus
JP5430636B2 (en) Data acquisition apparatus, method and program
CN103733225A (en) Characteristic point coordination system, characteristic point coordination method, and recording medium
CN111881740A (en) Face recognition method, face recognition device, electronic equipment and medium
CN105190689A (en) Image processing including adjoin feature based object detection, and/or bilateral symmetric object segmentation
CN108255352B (en) Multi-touch implementation method and system in projection interaction system
CN112348008A (en) Certificate information identification method and device, terminal equipment and storage medium
JP6281207B2 (en) Information processing apparatus, information processing method, and program
JP2016045538A (en) Information processing apparatus, image determination method, and program
JP6244887B2 (en) Information processing apparatus, image search method, and program
WO2022205841A1 (en) Robot navigation method and apparatus, and terminal device and computer-readable storage medium
CN114359352A (en) Image processing method, apparatus, device, storage medium, and computer program product
JP2014225168A (en) Program, device, and method for calculating similarity between images represented by feature point set

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180521

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees