JP2015179426A - Information processing apparatus, parameter determination method, and program - Google Patents
Information processing apparatus, parameter determination method, and program Download PDFInfo
- Publication number
- JP2015179426A JP2015179426A JP2014056813A JP2014056813A JP2015179426A JP 2015179426 A JP2015179426 A JP 2015179426A JP 2014056813 A JP2014056813 A JP 2014056813A JP 2014056813 A JP2014056813 A JP 2014056813A JP 2015179426 A JP2015179426 A JP 2015179426A
- Authority
- JP
- Japan
- Prior art keywords
- feature point
- feature
- parameter
- image
- point
- 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.)
- Ceased
Links
Images
Abstract
Description
本発明は、情報処理装置、パラメータの決定方法、及びプログラムに関する。 The present invention relates to an information processing apparatus, a parameter determination method, and a program.
撮像デバイスとして利用できる身近な携帯機器には、例えば、デジタルカメラ、スマートフォン、及び携帯電話などがある。こうした撮像デバイスの処理能力は年々向上しており、最近では撮像デバイスの内部で高度な画像処理を行うことが可能になってきている。例えば、電子式手ぶれ補正の機能やHDR(High Dynamic Range)撮影の機能などは、連続して撮像された複数枚の画像に対する高度な画像処理により実現される。 Examples of familiar portable devices that can be used as imaging devices include digital cameras, smartphones, and mobile phones. The processing capability of such an imaging device is improving year by year, and recently it has become possible to perform advanced image processing inside the imaging device. For example, an electronic camera shake correction function, an HDR (High Dynamic Range) imaging function, and the like are realized by advanced image processing on a plurality of images captured continuously.
動画撮影時に適用される電子式手ぶれ補正は、連続する動画フレーム間で被写体の位置がずれないように位置を合わせて表示する技術である。また、静止画撮影時に適用される電子式手ぶれ補正は、速いシャッター速度で連続撮影された複数枚の画像を位置合わせして合成する技術である。また、HDR撮影は、露出を変えて撮像した複数枚の画像を合成して白飛びや黒つぶれの少ない画像を生成する技術である。HDR撮影の場合も画像同士の位置合わせが行われる。 The electronic camera shake correction applied at the time of moving image shooting is a technique for displaying the subject in alignment so that the position of the subject does not shift between consecutive moving image frames. Electronic camera shake correction applied during still image shooting is a technique for aligning and synthesizing a plurality of images continuously shot at a high shutter speed. HDR photography is a technique for generating an image with less whiteout or blackout by combining a plurality of images taken with different exposures. In HDR shooting, the images are aligned.
画像同士の位置合わせは、一方の画像に含まれる複数の特徴点と他方の画像に含まれる複数の特徴点とが最も良く適合するように一方の画像を変換する処理に相当する。例えば、手ぶれに伴う画像の並進移動、回転、拡大・縮小などをアフィン変換の変換パラメータで表現し、複数画像の特徴点を用いて変換パラメータを決め、その変換パラメータを適用して画像全体を変換することにより、画像同士の位置合わせが実現される。 The alignment between images corresponds to a process of converting one image so that a plurality of feature points included in one image and a plurality of feature points included in the other image are best matched. For example, the translation movement, rotation, enlargement / reduction, etc. of an image caused by camera shake are expressed by conversion parameters of affine transformation, conversion parameters are determined using feature points of multiple images, and the entire image is converted by applying the conversion parameters. By doing so, alignment between images is realized.
変換パラメータを計算する方法としては、例えば、RANSAC(RANdom SAmple Consensus)法がある。但し、RANSAC法による変換パラメータの計算は、ロバスト性に優れる一方で演算量が多い。そのため、RANSAC法に基づく変換パラメータの計算を上記のような撮像デバイスに実行させると処理に時間がかかる。また、考慮する変換の自由度が高く、変換パラメータの種類が多くなるほど、RANSAC法に基づく変換パラメータの計算に長い処理時間がかかる。 As a method for calculating the conversion parameter, for example, there is a RANSAC (RANdom SAmple Consensus) method. However, calculation of the conversion parameter by the RANSAC method is excellent in robustness but has a large amount of calculation. For this reason, if the above-described imaging device is caused to execute conversion parameter calculation based on the RANSAC method, it takes time for processing. In addition, the higher the degree of freedom of conversion to consider and the greater the number of types of conversion parameters, the longer it takes to calculate conversion parameters based on the RANSAC method.
このような事情を受け、RANSAC法に基づく変換パラメータの計算を2段階に分けて実行する技術が提案されている。この技術の1段階目では、並進移動に対応する変換パラメータだけを含む変換モデルを用いてRANSAC法により画像同士の位置合わせを行い、許容範囲内で一致する特徴点の組み合わせを抽出する。2段階目では、並進移動や回転に対応する変換パラメータを含む変換モデルを用い、1段階目で抽出した特徴点を利用してRANSAC法により変換パラメータを計算する。 Under such circumstances, a technique has been proposed in which conversion parameter calculation based on the RANSAC method is executed in two stages. In the first stage of this technique, images are aligned by the RANSAC method using a transformation model that includes only transformation parameters corresponding to translational movement, and combinations of feature points that match within an allowable range are extracted. In the second stage, a conversion model including a conversion parameter corresponding to translation and rotation is used, and the conversion parameter is calculated by the RANSAC method using the feature points extracted in the first stage.
上記の技術を適用した場合、計算負荷を低減できる可能性がある。但し、変換パラメータの計算を2段階に分ける技術を適用した場合、回転や拡大・縮小の成分が大きい画像に適用する場合には、1段階目で正しく特徴点の組み合わせが抽出できない可能性がある。この場合、2段階目の処理を実行しても正しい変換パラメータが得られない。また、1段階目の処理に適用する変換パラメータの種類を増加させたり、許容範囲を拡大して1段階目で抽出される特徴点の数を増加させたりすれば、演算量の削減効果が抑制される。つまり、変換パラメータの計算を高速化するに際し、現実的な撮影状況において変換パラメータを精度良く計算することが課題となる。 When the above technique is applied, there is a possibility that the calculation load can be reduced. However, when the technique for dividing the calculation of the conversion parameter into two stages is applied, there is a possibility that the combination of feature points cannot be correctly extracted at the first stage when applied to an image having a large rotation or enlargement / reduction component. . In this case, a correct conversion parameter cannot be obtained even if the second stage process is executed. Also, if the types of conversion parameters applied to the first stage processing are increased, or the allowable range is expanded to increase the number of feature points extracted in the first stage, the effect of reducing the amount of computation is suppressed. Is done. In other words, in order to speed up the calculation of the conversion parameter, it becomes a problem to accurately calculate the conversion parameter in a realistic shooting situation.
そこで、1つの側面によれば、本発明の目的は、画像同士の位置合わせに用いる変換モデルのパラメータを精度良く計算することが可能な情報処理装置、パラメータの決定方法、及びプログラムを提供することにある。 Therefore, according to one aspect, an object of the present invention is to provide an information processing apparatus, a parameter determination method, and a program capable of accurately calculating parameters of a conversion model used for registration between images. It is in.
本開示の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定する演算部とを有する、情報処理装置が提供される。 According to one aspect of the present disclosure, a first feature point included in the first image, a second feature point included in the second image, and a point on the first image are converted into corresponding points on the second image. Calculating a parameter estimated value included in the conversion model by using a storage unit that stores the conversion model to be used, and a set of first and second feature points having a feature amount larger than the set first threshold, A pair of first feature points and second feature points having a feature amount larger than a smaller second threshold and having an error with respect to the conversion model to which the estimated value is applied is set. An information processing apparatus is provided that includes a calculation unit that calculates a parameter and an evaluation value of the parameter, and that determines a parameter based on the evaluation value.
また、本開示の他の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、第1特徴点、第2特徴点、及び変換モデルの情報を取得可能なコンピュータが、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定するパラメータの決定方法が提供される。 According to another aspect of the present disclosure, a first feature point included in the first image, a second feature point included in the second image, and a point on the first image correspond to each other on the second image. A computer capable of acquiring information about the first feature point, the second feature point, and the conversion model from a storage unit that stores a conversion model to be converted into a point has a feature amount larger than a set first threshold value. And an estimated value of a parameter included in the conversion model using the set of the second feature points, and an error with respect to the conversion model in which the feature amount is larger than the second threshold smaller than the first threshold and the estimated value is applied. Select a set of first feature points and second feature points within a set range, calculate a parameter and an evaluation value of the parameter for each selected set, and determine a parameter for determining the parameter based on the evaluation value A method is provided.
また、本開示の他の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、第1特徴点、第2特徴点、及び変換モデルの情報を取得可能なコンピュータに、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定する処理を実行させる、プログラムが提供される。 According to another aspect of the present disclosure, a first feature point included in the first image, a second feature point included in the second image, and a point on the first image correspond to each other on the second image. A computer that can acquire information of a first feature point, a second feature point, and a conversion model from a storage unit that stores a conversion model to be converted into a point. And an estimated value of a parameter included in the conversion model using the set of the second feature points, and an error with respect to the conversion model in which the feature amount is larger than the second threshold smaller than the first threshold and the estimated value is applied. Select a set of first feature points and second feature points within the set range, calculate parameters and evaluation values of the parameters for each selected set, and execute a process of determining parameters based on the evaluation values A program is provided.
本発明によれば、画像同士の位置合わせに用いる変換モデルのパラメータを精度良く計算することが可能になる。 According to the present invention, it is possible to accurately calculate parameters of a conversion model used for alignment between images.
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。 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. Note that the
図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
The storage unit 11 is a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The
記憶部11は、第1画像P1が有する第1特徴点q1と、第2画像P2が有する第2特徴点q2と、第1画像P1上の点を第2画像P2上の対応する点へと変換する変換モデルTMとを記憶する。例えば、第1画像P1、第2画像P2は、連続して撮影された画像である。また、第1特徴点q1は、特徴量が設定した閾値より大きい点である。例えば、第1画像P1の画素毎に特徴量を検出し、検出した特徴量が設定した閾値より大きい画素を抽出することで、第1特徴点q1が得られる。 The storage unit 11 converts the first feature point q1 included in the first image P1, the second feature point q2 included in the second image P2, and the point on the first image P1 into a corresponding point on the second image P2. The conversion model TM to be converted is stored. For example, the first image P1 and the second image P2 are images that are continuously captured. The first feature point q1 is a point where the feature amount is larger than the set threshold value. For example, the first feature point q1 is obtained by detecting the feature amount for each pixel of the first image P1 and extracting pixels whose detected feature amount is larger than the set threshold value.
同様に、第2特徴点q2は、特徴量が設定した閾値より大きい点である。例えば、第2画像P2の画素毎に特徴量を検出し、検出した特徴量が設定した閾値より大きい画素を抽出することで、第2特徴点q2が得られる。特徴量としては、例えば、エッジ検出により得られるエッジの強度(勾配の大きさ)やエッジの方向(勾配方向)がある。勾配方向を利用する場合、注目画素の周囲にある画素のうち注目画素とは勾配方向が異なる画素の数を検出し、その数が設定した閾値より多い注目画素を抽出して特徴点とする。 Similarly, the second feature point q2 is a point where the feature amount is larger than the set threshold value. For example, the feature amount is detected for each pixel of the second image P2, and the second feature point q2 is obtained by extracting pixels whose detected feature amount is larger than a set threshold value. Examples of the feature amount include edge strength (gradient magnitude) obtained by edge detection and edge direction (gradient direction). When the gradient direction is used, the number of pixels having a gradient direction different from the pixel of interest among the pixels around the pixel of interest is detected, and pixels of interest whose number is larger than the set threshold value are extracted as feature points.
図1の例では、第1特徴点q1として、第1特徴点q11、q12、…、q16が示されている。第1特徴点q11、q12、q13は、対象物C11の特徴部分を示す特徴点である。また、第1特徴点q14、q15、q16は、対象物C12の特徴部分を示す特徴点である。 In the example of FIG. 1, first feature points q11, q12,..., Q16 are shown as the first feature points q1. The first feature points q11, q12, and q13 are feature points that indicate a feature portion of the object C11. In addition, the first feature points q14, q15, and q16 are feature points that indicate feature portions of the object C12.
また、図1の例では、第2特徴点q2として、第2特徴点q21、q22、…、q26が示されている。第2特徴点q21、q22、q23は、対象物C21の特徴部分を示す特徴点である。また、第2特徴点q24、q25、q26は、対象物C22の特徴部分を示す特徴点である。なお、対象物C11、C21は同じ被写体を表す。また、対象物C12、C22は同じ被写体を表す。但し、図1の例では、第1画像P1の撮影時と第2画像P2の撮影時とで撮影状況(露出の変化や撮影者の手ぶれによる撮像範囲のずれなど)が異なるため、第1特徴点q1と第2特徴点q2とが一致していない。 In the example of FIG. 1, second feature points q21, q22,..., Q26 are shown as the second feature points q2. The second feature points q21, q22, and q23 are feature points that indicate a feature portion of the object C21. In addition, the second feature points q24, q25, and q26 are feature points that indicate feature portions of the object C22. The objects C11 and C21 represent the same subject. The objects C12 and C22 represent the same subject. However, in the example of FIG. 1, since the shooting situation (such as a change in exposure or a shift in the imaging range due to camera shake of the photographer) differs when shooting the first image P1 and when shooting the second image P2. The point q1 and the second feature point q2 do not match.
演算部12は、設定された第1閾値Th1より特徴量が大きい第1特徴点q1及び第2特徴点q2の集合を用いて変換モデルTMに含まれるパラメータAの推定値A1を計算する。変換モデルTMとしては、例えば、アフィン変換の変換モデルなどを適用することが可能である。この場合、パラメータAは、並進移動、回転、拡大・縮小を表す複数のパラメータを含む変換行列となる。
The
なお、第1特徴点q1及び第2特徴点q2の抽出時に利用した閾値よりも第1閾値Th1を高く設定することで、対象物C11、C12、C21、C22の特徴を表す特徴点としての信頼度が高い第1特徴点q1及び第2特徴点q2の集合が得られる。そのため、第1閾値Th1を利用して特徴点を絞り込む上記の方法を適用すれば、推定値A1の計算に利用する特徴点をランダムに選択する方法に比べて高い推定精度を得ることができる。 Note that by setting the first threshold value Th1 higher than the threshold value used when extracting the first feature point q1 and the second feature point q2, the reliability as the feature point representing the features of the objects C11, C12, C21, and C22. A set of the first feature point q1 and the second feature point q2 having a high degree is obtained. Therefore, if the above-described method of narrowing down feature points using the first threshold Th1 is applied, higher estimation accuracy can be obtained compared to a method of randomly selecting feature points used for calculation of the estimated value A1.
推定値A1を計算した演算部12は、第1閾値Th1より小さい第2閾値Th2よりも特徴量が大きく、かつ、推定値A1を適用した変換モデルTMに対する誤差が設定した範囲内にある第1特徴点q1と第2特徴点q2との組を選択する。また、演算部12は、選択した組毎にパラメータA及び当該パラメータAの評価値を計算する。そして、演算部12は、評価値に基づいてパラメータAを決定する。
The
上記のように、第2閾値Th2が第1閾値Th1より小さいことで、推定値A1の計算に利用した第1特徴点q1及び第2特徴点q2よりも多くの特徴点が選択の対象となる。但し、推定値A1を適用した変換モデルTMに対する誤差が大きい組については評価値の計算が回避される。 As described above, since the second threshold Th2 is smaller than the first threshold Th1, more feature points than the first feature point q1 and the second feature point q2 used for calculating the estimated value A1 are selected. . However, calculation of an evaluation value is avoided for a set having a large error with respect to the conversion model TM to which the estimated value A1 is applied.
上記のように、推定値A1は、特徴量の大きな特徴点を利用して計算されており、すべての第1特徴点q1及び第2特徴点q2を利用して計算したパラメータAの値に近いと考えられる。そのため、誤差の大きい組を利用してパラメータAを計算しても、そのパラメータAの評価値は小さくなり、パラメータAの決定に寄与しない。このように、パラメータAの決定に寄与しない組を候補から除外して評価値の計算を回避することにより、パラメータAの計算精度を維持しつつ、演算量を低減することができる。 As described above, the estimated value A1 is calculated using feature points having a large feature amount, and is close to the value of the parameter A calculated using all the first feature points q1 and the second feature points q2. it is conceivable that. Therefore, even if the parameter A is calculated using a group having a large error, the evaluation value of the parameter A becomes small and does not contribute to the determination of the parameter A. In this way, by omitting the set that does not contribute to the determination of the parameter A from the candidates and avoiding the calculation of the evaluation value, the calculation amount can be reduced while maintaining the calculation accuracy of the parameter A.
なお、上記の誤差は、第1特徴点q1と第2特徴点q2との組から計算されたパラメータAと推定値A1との差や、推定値A1を適用した変換モデルTMを利用して第1特徴点q1を変換した点と第2特徴点q2との距離に基づいて評価することが可能である。また、評価値の計算方法としては、例えば、RANSAC法に基づく計算に利用される投票処理を適用可能である。この場合、評価値は投票数となり、投票数が最大となるパラメータAが決定される。なお、図1の例では、候補となるパラメータAとしてパラメータA21、A22、…が示され、投票によりパラメータA21が決定されている。 Note that the above error is obtained by using the difference between the parameter A calculated from the set of the first feature point q1 and the second feature point q2 and the estimated value A1, or the conversion model TM to which the estimated value A1 is applied. It is possible to evaluate based on the distance between the point obtained by converting the one feature point q1 and the second feature point q2. As a method for calculating the evaluation value, for example, a voting process used for calculation based on the RANSAC method can be applied. In this case, the evaluation value is the number of votes, and the parameter A that maximizes the number of votes is determined. In the example of FIG. 1, parameters A21, A22,... Are shown as candidate parameters A, and the parameter A21 is determined by voting.
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、RANSAC法に基づく変換パラメータの計算を2段階で実行する方法に関し、計算精度を維持しつつ演算量の削減を実現する仕組みを提案するものである。
The first embodiment has been described above.
<2. Second Embodiment>
Next, a second embodiment will be described. The second embodiment relates to a method of executing conversion parameter calculation based on the RANSAC method in two stages, and proposes a mechanism for realizing a reduction in the amount of calculation while maintaining calculation accuracy.
[2−1.RANSAC法について]
ここで、図2及び図3を参照しながら、RANSAC法について説明する。なお、図2は、RANSAC法について説明するための図である。また、図3は、RANSAC法によるパラメータの計算について処理の流れを示したフロー図である。
[2-1. About RANSAC method]
Here, the RANSAC method will be described with reference to FIGS. FIG. 2 is a diagram for explaining the RANSAC method. FIG. 3 is a flowchart showing a processing flow for parameter calculation by the RANSAC method.
RANSAC法は、多数のデータを良く表す数式モデルを推定する方法の一つである。RANSAC法では、ランダムに取り出したデータの組を用いて数式モデルのパラメータを計算する処理、及びそのパラメータを適用した数式モデルと他のデータとの誤差が許容可能な範囲に含まれるか否かを判定する処理が繰り返し実行される。 The RANSAC method is one of methods for estimating a mathematical model that well represents a large number of data. In the RANSAC method, a process for calculating a parameter of a mathematical model using a set of randomly extracted data, and whether or not an error between the mathematical model to which the parameter is applied and other data are included in an allowable range. The determination process is repeatedly executed.
データが許容可能な範囲に含まれることをインライヤと呼び、データが許容可能な範囲に含まれないことをアウトライヤと呼ぶ。RANSAC法では、パラメータ毎にインライヤとなるデータの数がカウントされ、カウント数が最も多いパラメータが最適なパラメータに決定される。つまり、決定されたパラメータを適用した数式モデルが、データを良く表す数式モデルの推定結果とされる。 When the data is included in the allowable range is called an inlier, and when the data is not included in the allowable range, it is called an outlier. In the RANSAC method, the number of inlier data is counted for each parameter, and the parameter with the largest count is determined as the optimum parameter. That is, the mathematical model to which the determined parameter is applied is the estimation result of the mathematical model that well represents the data.
図2には、x−y座標系に配置された複数のデータ(座標点)から数式モデル(y=ax)のパラメータ(a)を推定する方法が例示されている。この例では数式モデルが一次式であるため、2つのデータがあればパラメータを計算することができる。例えば、ランダムに2つのデータ(x1,y1)、(x2,y2)が取り出された場合、パラメータaは、(y2−y1)/(x2−x1)で与えられる。 FIG. 2 illustrates a method for estimating the parameter (a) of the mathematical model (y = ax) from a plurality of data (coordinate points) arranged in the xy coordinate system. In this example, since the mathematical model is a linear expression, the parameters can be calculated if there are two data. For example, when two pieces of data (x1, y1) and (x2, y2) are extracted at random, the parameter a is given by (y2-y1) / (x2-x1).
ランダムに取り出された2つのデータからパラメータaが計算されると、計算されたパラメータaを適用した数式モデル(y=ax)と他のデータとの距離dが計算される。そして、許容範囲(図2の例では2つの鎖線l1、l2間の領域)に含まれるデータの数(インライヤとなるデータの数)がカウントされる。同様に、データの取り出し、パラメータaの計算、及びインライヤとなるデータ数のカウントが繰り返し実行され、最大カウント数のパラメータaが最適なパラメータに決定される。
When the parameter a is calculated from two randomly extracted data, the distance d between the mathematical model (y = ax) to which the calculated parameter a is applied and other data is calculated. Then, the number of data included in the permissible range (the region between the two
なお、データの取り出し、パラメータaの計算、及びインライヤとなるデータ数のカウントを繰り返す回数は、下記の式(1)で与えられるサンプリング回数T以上に設定される。但し、Fは数式モデルの自由度を表し、Eはアウトライヤとなるデータの割合を表し、Pは正しい数式モデルが得られる確率を表す。つまり、繰り返し回数をT以上にすれば、確率P以上で正しい数式モデルが得られる。 Note that the number of repetitions of data extraction, parameter a calculation, and counting of the number of data serving as inliers is set to be equal to or greater than the number of sampling times T given by the following equation (1). Here, F represents the degree of freedom of the mathematical model, E represents the proportion of data that becomes an outlier, and P represents the probability that a correct mathematical model will be obtained. That is, if the number of repetitions is set to T or more, a correct mathematical model can be obtained with a probability P or more.
ここで、図3を参照しながら、RANSAC法によるパラメータの計算について処理の流れを説明する。
図3に示すように、まず、ランダムに2つのデータが選択される(S11)。次いで、S11で選択されたデータを用いてパラメータが計算される(S12)。次いで、S11で選択されたデータを除く残りのデータから1つのデータが抽出される(S13)。次いで、S13で抽出されたデータがインライヤか否かが判定される(S14)。インライヤである場合、処理はS15へと進む。一方、アウトライヤである場合、処理はS16へと進む。
Here, with reference to FIG. 3, the flow of processing for parameter calculation by the RANSAC method will be described.
As shown in FIG. 3, first, two pieces of data are selected at random (S11). Next, parameters are calculated using the data selected in S11 (S12). Next, one data is extracted from the remaining data excluding the data selected in S11 (S13). Next, it is determined whether or not the data extracted in S13 is an inlier (S14). If so, the process proceeds to S15. On the other hand, if it is an outlier, the process proceeds to S16.
処理がS15へと進んだ場合、S12で計算されたパラメータに対する投票が行われる(S15)。つまり、パラメータ毎に投票数が設定されており、S12で計算されたパラメータの投票数が1増加する。S15の処理が完了すると、処理はS16へと進む。 When the process proceeds to S15, voting is performed for the parameter calculated in S12 (S15). That is, the number of votes is set for each parameter, and the number of votes for the parameter calculated in S12 increases by one. When the process of S15 is completed, the process proceeds to S16.
処理がS16へと進んだ場合、S11で選択されたデータを除く残りのデータがすべてS13で抽出されたか否かが判定される(S16)。残りのデータがすべてS13で抽出されている場合、処理はS17へと進む。一方、S13で抽出されていないデータがある場合、処理はS13へと進む。 When the process proceeds to S16, it is determined whether all the remaining data except for the data selected in S11 has been extracted in S13 (S16). If all the remaining data has been extracted in S13, the process proceeds to S17. On the other hand, if there is data that has not been extracted in S13, the process proceeds to S13.
処理がS17へと進んだ場合、S11からS17へと至る一連の処理がT回実行されたか(T回ループしたか)が判定される(S17)。ループ回数を示すTは、例えば、上記の式(1)により与えられる。T回ループした場合、処理はS18へと進む。一方、T回ループしていない場合、処理はS11へと進む。 When the process proceeds to S17, it is determined whether a series of processes from S11 to S17 has been executed T times (whether T has been looped) (S17). T indicating the number of loops is given by, for example, the above equation (1). If the process loops T times, the process proceeds to S18. On the other hand, if it has not looped T times, the process proceeds to S11.
処理がS18へと進んだ場合、投票数が最大のパラメータが出力される(S18)。つまり、インライヤとなるデータの数が最大となるパラメータが出力される。S18の処理が完了すると、図3に示した一連の処理は終了する。 When the process proceeds to S18, the parameter with the largest number of votes is output (S18). That is, the parameter that maximizes the number of inliers is output. When the process of S18 is completed, the series of processes shown in FIG.
上記のように、RANSAC法による計算処理は、S11からS17へと至る外側のループ処理と、S13からS16へと至る内側のループ処理とを含む。内側のループ処理は、パラメータの計算に利用していないすべてのデータを対象に、インライヤとなるか否かの判定を実行して投票を行う処理(以下、投票処理)である。そのため、データの数が増加すると投票処理を実行する回数が飛躍的に増大する。第2実施形態では、計算精度を維持しつつ投票処理の実行回数を低減する仕組みを提案する。 As described above, the calculation process by the RANSAC method includes the outer loop process from S11 to S17 and the inner loop process from S13 to S16. The inner loop process is a process (hereinafter referred to as a voting process) in which voting is performed by determining whether or not to become an inlier for all data not used for parameter calculation. Therefore, when the number of data increases, the number of times that the voting process is executed increases dramatically. In the second embodiment, a mechanism for reducing the number of times the voting process is executed while maintaining calculation accuracy is proposed.
(画像処理への適用例)
ここで、図4を参照しながら、RANSAC法によるパラメータの計算を画像処理へと適用する例について説明する。図4は、RANSAC法によるパラメータの計算を画像処理へと適用する例を示した図である。
(Example of application to image processing)
Here, an example of applying the parameter calculation by the RANSAC method to image processing will be described with reference to FIG. FIG. 4 is a diagram showing an example in which parameter calculation by the RANSAC method is applied to image processing.
画像処理技術としては、複数の画像を利用して画質を向上させる技術や、複数の画像を照合して認証を行う技術などがある。例えば、動画撮影時に適用される電子式手ぶれ補正は、動画フレーム間で位置合わせを行い、重なる領域をクロップして表示することにより手ぶれによる表示画像の乱れを抑制する技術である。また、静止画撮影時に適用される電子式手ぶれ補正は、速いシャッター速度で複数枚の画像を撮像し、画像同士の位置を合わせて合成した上で重なる領域をクロップすることにより、手ぶれや被写体ぶれによる画像の乱れを抑制する技術である。 Image processing techniques include a technique for improving image quality using a plurality of images and a technique for performing authentication by collating a plurality of images. For example, electronic camera shake correction applied at the time of moving image shooting is a technology that suppresses disturbance of a display image due to camera shake by positioning between moving image frames and cropping and displaying an overlapping region. In addition, electronic image stabilization applied during still image shooting captures multiple images at a fast shutter speed, combines the images and combines them, and crops the overlapping area, thereby reducing camera shake and subject shake. This is a technology that suppresses image disturbance caused by.
また、HDR撮影は、露出の異なる複数の画像を連続して撮影し、画像同士の位置を合わせて合成した上で重なる領域をクロップすることにより、露光不足や露光過多による白飛びや黒つぶれを抑制したダイナミックレンジの広い画像を生成する技術である。また、静脈認証、光彩認証、顔認証などの認証技術は、テンプレート画像と撮像画像とを照合して本人確認を行う技術である。 In HDR shooting, multiple images with different exposures are shot in succession, the images are aligned and combined, and the overlapping areas are cropped, so that overexposure and overexposure cause overexposure and overexposure. This is a technique for generating a suppressed dynamic range image. Authentication techniques such as vein authentication, glow authentication, and face authentication are techniques for verifying the identity by comparing a template image and a captured image.
上記のような画像処理技術は、いずれも画像同士の位置合わせを利用する。なお、ここで言う画像同士の位置合わせとは、対象となる画像間における並進移動、回転、拡大・縮小などを補正することである。例えば、連続して撮像された画像であっても、被写体ぶれや手ぶれなどの影響で画像間に様々なずれが生じる。ずれが生じた状態で画像同士を重ね合わせても画質の向上や認証精度の向上などの効果は得られない。そこで、画像同士の位置合わせを実行してから表示、合成、認証などの各種処理が実行される。 All of the image processing techniques as described above use registration between images. Note that the registration of images referred to here is correction of translation, rotation, enlargement / reduction, and the like between target images. For example, even in the case of continuously captured images, various shifts occur between the images due to the effects of subject shake and camera shake. Even if the images are overlapped with each other in a state where a shift has occurred, effects such as an improvement in image quality and an improvement in authentication accuracy cannot be obtained. Therefore, various processes such as display, composition, and authentication are performed after the registration of the images.
図4には、連続して撮像された2つの画像P1、P2を合成する処理の流れが例示されている。図4の例では、画像P1に4つの特徴点q10、…、q13が含まれ、画像P2に4つの特徴点q20、…、q23が含まれている。画像P1の座標と画像P2の座標との関係は、例えば、アフィン変換の変換モデル(下記の式(2)を参照)により表現できる。但し、(x1,y1)は画像P1上の座標である。また、(x2,y2)は画像P2上の座標である。また、w11、w12、…、w23は変換パラメータである。 FIG. 4 illustrates a flow of processing for combining two images P1 and P2 captured in succession. In the example of FIG. 4, the image P1 includes four feature points q10,..., Q13, and the image P2 includes four feature points q20,. The relationship between the coordinates of the image P1 and the coordinates of the image P2 can be expressed by, for example, a conversion model of affine transformation (see the following formula (2)). However, (x1, y1) are coordinates on the image P1. Further, (x2, y2) are coordinates on the image P2. W11, w12,..., W23 are conversion parameters.
RANSAC法を適用する場合、特徴点q10、…、q22からランダムに取り出した特徴点の組み合わせを用いて変換パラメータw11、w12、…、w23が計算され、上述した投票処理が実行される。また、変換パラメータw11、w12、…、w23の計算及び投票処理が繰り返し行われ、最大の投票数を得た変換パラメータw11、w12、…、w23が画像P1の座標変換に利用される。但し、実際に画像に含まれる特徴点の数は多いため、第2実施形態では演算量を削減する仕組みを提案する。 When the RANSAC method is applied, conversion parameters w11, w12,..., W23 are calculated using a combination of feature points randomly extracted from the feature points q10,..., Q22, and the voting process described above is executed. In addition, the conversion parameters w11, w12,..., W23 are repeatedly calculated and voted, and the conversion parameters w11, w12,..., W23 obtained the maximum number of votes are used for the coordinate conversion of the image P1. However, since the number of feature points actually included in the image is large, the second embodiment proposes a mechanism for reducing the amount of calculation.
(その他の適用例)
RANSAC法によるパラメータの計算は、画像処理以外の用途にも利用可能である。例えば、声紋認証や音声解析などを行う際に音声データの特徴点をマッチングさせる用途で利用できる。この場合、2つの音声データに含まれる特徴点が抽出され、特徴点間の関係を表現した変換モデルのパラメータがRANSAC法により計算される。以下では、説明の都合上、画像同士の位置合わせを想定して説明を進めるが、第2実施形態に係る技術の適用範囲はこれに限定されず、RANSAC法を適用可能な任意の分野に及ぶ。
(Other application examples)
The parameter calculation by the RANSAC method can be used for purposes other than image processing. For example, it can be used to match feature points of voice data when performing voiceprint authentication or voice analysis. In this case, feature points included in the two audio data are extracted, and parameters of the conversion model expressing the relationship between the feature points are calculated by the RANSAC method. In the following, for the sake of explanation, the description will be made assuming that the images are aligned. However, the scope of application of the technique according to the second embodiment is not limited to this, and extends to any field to which the RANSAC method can be applied. .
以上、RANSAC法について説明した。
[2−2.ハードウェア]
次に、図5を参照しながら、第2実施形態に係る変換パラメータの計算方法を実現可能な情報処理装置100のハードウェアについて説明する。なお、情報処理装置100は、第2実施形態に係る情報処理装置の一例である。また、図5は、第2実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。
The RANSAC method has been described above.
[2-2. hardware]
Next, the hardware of the
後述する情報処理装置100の機能は、例えば、図5に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、情報処理装置100が有する機能は、コンピュータプログラムを用いて図5に示すハードウェアを制御することにより実現される。
The functions of the
図5に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
As shown in FIG. 5, this hardware mainly includes a
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
The
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
These elements are connected to each other via, for example, a
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
As the
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
The
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
The
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
The
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
The
以上、情報処理装置100のハードウェアについて説明した。
[2−3.情報処理装置の機能]
次に、図6を参照しながら、情報処理装置100の機能について説明する。図6は、第2実施形態に係る情報処理装置の機能について説明するためのブロック図である。なお、以下の説明において、適宜、図7〜図17を参照する。
The hardware of the
[2-3. Function of information processing apparatus]
Next, functions of the
図6に示すように、情報処理装置100は、記憶部101、撮像部102、特徴点抽出部103、前段処理部104、後段処理部105、及び画像処理部106を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。特徴点抽出部103、前段処理部104、後段処理部105、及び画像処理部106の機能は、上述したCPU902などを用いて実現できる。
As illustrated in FIG. 6, the
Note that the function of the
(記憶部101)
記憶部101には、特徴点情報101a、モデル情報101b、投票数テーブル101c、及びカウンタテーブル101dが格納される。特徴点情報101aは、画像から抽出された特徴点に関する情報である。モデル情報101bは、画像の位置合わせに利用する変換モデルに関する情報である。投票数テーブル101c、カウンタテーブル101dは、投票処理の中で投票数を管理するために利用されるテーブルである。
(Storage unit 101)
The
ここで、図7を参照しながら、特徴点情報101aについて、さらに説明する。図7は、第2実施形態に係る特徴点情報の一例を示した図である。
図7の例では、位置合わせの対象となる2つの画像P1、P2それぞれから抽出された特徴点に関する情報(座標、特徴量)が特徴点情報101aに含まれている。なお、画像P1の特徴点と画像P2の特徴点とは対応付けられていない。特徴量としては、例えば、エッジ検出により得られるエッジの強度(勾配の大きさ)やエッジの方向(勾配方向)がある。エッジの方向を示す特徴量は、例えば、注目画素の周囲にある画素のうち注目画素とは勾配方向が異なる画素の数に基づく指標で表現される。
Here, the
In the example of FIG. 7, information (coordinates and feature amounts) regarding feature points extracted from each of the two images P1 and P2 to be aligned is included in the
ここで、モデル情報101bについて、さらに説明する。
モデル情報101bには、変換モデルを表現する数式及び変換パラメータの情報が含まれる。変換モデルとしては、例えば、上記の式(1)で表現されるアフィン変換の変換モデルなどが適用可能である。アフィン変換の場合、変換パラメータは変換行列の形式で表現される。この変換行列は6つの変換パラメータを含む。そのため、画像P1の特徴点と画像P2の特徴点とのペア(以下、特徴点ペア)を3組用意すれば変換行列を計算することができる。
Here, the
The
ここで、図8を参照しながら、投票数テーブル101cについて、さらに説明する。図8は、第2実施形態に係る投票数テーブルの一例を示した図である。
図8に示すように、投票数テーブル101cは、変換行列の計算に利用した特徴点ペアと、計算した変換行列に含まれるパラメータと、投票処理の中で当該パラメータに投票された投票数とを対応付けるテーブルである。例えば、図8の例では、3組の特徴点ペア(q14,q22)、(q13,q22)、(q11,q27)について変換パラメータ(0.31,0.26,0.61,0.18,0.53,0.12)が得られている。また、この変換パラメータに対して投票数(10)が対応付けられている。
Here, the vote number table 101c will be further described with reference to FIG. FIG. 8 is a diagram showing an example of the vote number table according to the second embodiment.
As shown in FIG. 8, the vote number table 101c includes the feature point pairs used for calculating the transformation matrix, the parameters included in the calculated transformation matrix, and the number of votes voted for the parameters in the voting process. It is a table to associate. For example, in the example of FIG. 8, conversion parameters (0.31, 0.26, 0.61, 0.18) for three feature point pairs (q14, q22), (q13, q22), and (q11, q27). , 0.53, 0.12). The number of votes (10) is associated with this conversion parameter.
ここで、図9を参照しながら、カウンタテーブル101dについて、さらに説明する。図9は、第2実施形態に係るカウンタテーブルの一例を示した図である。
図9に示すように、カウンタテーブル101dは、一方の画像に含まれる特徴点と、カウンタ値とを対応付けるテーブルである。図9の例では、画像P1の特徴点q10、q11、…、q1nのそれぞれと、カウンタ値とが対応付けられている。カウンタ値は、投票処理の中でインライヤと判定された特徴点ペアに含まれる特徴点をカウントした値である。カウンタテーブル101dは、投票処理を実行する際にインライヤか否かの判定を行う特徴点の選択順序を制御する際に利用される。
Here, the counter table 101d will be further described with reference to FIG. FIG. 9 is a diagram illustrating an example of a counter table according to the second embodiment.
As illustrated in FIG. 9, the counter table 101 d is a table that associates feature points included in one image with a counter value. In the example of FIG. 9, each of the feature points q10, q11,..., Q1n of the image P1 is associated with a counter value. The counter value is a value obtained by counting feature points included in a feature point pair determined as an inlier in the voting process. The counter table 101d is used when controlling the selection order of feature points for determining whether or not an inlier is performed when executing a voting process.
(撮像部102、特徴点抽出部103)
再び図6を参照する。撮像部102は、カメラ機能を提供する要素であり、画像を撮像する。例えば、撮像部102は、光学系、撮像素子、アナログ/デジタル変換回路、及び制御回路などを含む。撮像部102により撮像された画像(以下、画像P1、P2)は、記憶部101に格納されると共に、特徴点抽出部103に入力される。特徴点抽出部103は、入力された画像P1、P2のそれぞれから特徴点を抽出し、特徴点情報101aを生成する。特徴点抽出部103により生成された特徴点情報101aは記憶部101に格納される。
(
Refer to FIG. 6 again. The
(前段処理部104)
前段処理部104は、特徴量の大きな特徴点を用いて変換行列の推定値(以下、推定変換行列)を計算する。なお、以下では、前段処理部104が実行する処理を「前段処理」と呼ぶ場合がある。前段処理を実行するために、前段処理部104は、図6に示すように、パラメータ計算部141、及び投票処理部142を含む。
(Pre-processing unit 104)
The
パラメータ計算部141は、記憶部101に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点のうち、特徴量が大きい順に予め設定された数(X個)の特徴点を抽出する。また、パラメータ計算部141は、画像P2から抽出された特徴点のうち、特徴量が大きい順に予め設定された数(X個)の特徴点を抽出する。そして、パラメータ計算部141は、抽出した特徴点から特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
The
パラメータ計算部141は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部141により計算された変換行列は、投票処理部142に入力される。投票処理部142は、パラメータ計算部141により画像P1について抽出されたX個の特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。
The
例えば、投票処理部142は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲内に画像P2の特徴点が存在するか否かを判定する。許容範囲内に画像P2の特徴点が存在する場合、投票処理部142は、選択した画像P1の特徴点がインライヤであると判定する。なお、投票処理部142は、変換後の点と画像P2の特徴点との最短距離が許容範囲内にあるか否かを判定し、最短距離が許容範囲内にある場合にインライヤであると判定してもよい。
For example, the
投票処理部142は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部142は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。X個の特徴点すべてについて上記の判定が終了した場合、投票処理部142は、入力された変換行列に関する投票処理の終了をパラメータ計算部141に通知する。この通知を受けたパラメータ計算部141は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
Each time the
パラメータ計算部141は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部141により計算された変換行列は、投票処理部142に入力される。投票処理部142は、パラメータ計算部141により画像P1について抽出されたX個の特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部142は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
The
上記と同様に、パラメータ計算部141は、画像P1、P2からX個ずつ抽出された特徴点から順次特徴点ペアを選択して変換行列を計算する。そして、投票処理部142は、計算された変換行列に対して投票処理を実行する。特徴点ペアとして抽出可能なすべての組み合わせを選択し終えた場合、前段処理部104は、投票数テーブル101cを参照し、投票数が最大の変換行列(推定変換行列)を抽出する。前段処理部104により抽出された推定変換行列の情報は、記憶部101に格納されると共に、後段処理部105に入力される。
Similarly to the above, the
(後段処理部105)
後段処理部105は、記憶部101に格納された特徴点情報101aに含まれる特徴点のうち、推定変換行列の計算に利用した特徴点の数よりも多くの特徴点を利用して画像P1、P2の位置合わせに用いる変換行列を計算する。このとき、後段処理部105は、推定変換行列に基づいて、変換行列の計算に用いる特徴点ペアを絞り込む。なお、以下では、後段処理部105が実行する処理を「後段処理」と呼ぶ場合がある。後段処理を実行するために、後段処理部105は、図6に示すように、パラメータ計算部151、候補抽出部152、及び投票処理部153を含む。
(Post-processing unit 105)
The
パラメータ計算部151は、記憶部101に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点と、画像P2から抽出された特徴点とのペアである特徴点ペアをランダムに選択し、変換モデルに含まれる変換行列を計算する。このとき、パラメータ計算部151は、記憶部101に格納されたカウンタテーブル101dを参照し、投票数が最小の特徴点から順に特徴点を選択してもよい。パラメータ計算部151により計算された変換行列は、候補抽出部152に入力される。
The
また、パラメータ計算部151は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。このとき、パラメータ計算部151は、推定変換行列の計算時に前段処理部104が利用した投票数テーブル101cとは異なる投票数テーブル101cを用意し、用意した投票数テーブル101cに特徴点ペアの情報と変換パラメータとを記録する。
Also, the
候補抽出部152は、入力された変換行列と推定変換行列との誤差を計算し、誤差が許容範囲内であるか否かを判定する。例えば、候補抽出部152は、変換パラメータの種類(回転、並進移動、拡大・縮小など)毎に、入力された変換行列に含まれる変換パラメータと、推定変換行列に含まれる変換パラメータとの差(差分絶対値など)を計算する。そして、候補抽出部152は、計算した差が予め設定された許容値より小さいか否かを判定する。但し、上記の許容値は、変換パラメータの種類毎に設定される。
The
誤差が許容範囲内である場合、候補抽出部152は、入力された変換行列を投票処理部153に入力する。この場合、誤差が許容範囲内であると判定された変換行列について、後述する投票処理部153による投票処理が実行される。一方、誤差が許容範囲外である場合、候補抽出部152は、誤差が許容範囲外である旨をパラメータ計算部151に通知する。この場合、誤差が許容範囲外であると判定された変換行列について、後述する投票処理部153による投票処理は実行されない。
If the error is within the allowable range, the
変換行列が入力された投票処理部153は、画像P1から抽出された特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。
The
例えば、投票処理部153は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲内に画像P2の特徴点が存在するか否かを判定する。許容範囲内に画像P2の特徴点が存在する場合、投票処理部153は、選択した画像P1の特徴点がインライヤであると判定する。なお、投票処理部153は、変換後の点と画像P2の特徴点との最短距離が許容範囲内にあるか否かを判定し、最短距離が許容範囲内にある場合にインライヤであると判定してもよい。
For example, the
投票処理部153は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部153は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。さらに、投票処理部153は、インライヤと判定した場合に、入力された変換行列の計算に利用された特徴点ペアに含まれる画像P1の特徴点について、カウンタテーブル101dのカウント値を増加させる。
Each time the
すべての特徴点について上記の判定が終了した場合、投票処理部153は、入力された変換行列に関する投票処理の終了をパラメータ計算部151に通知する。この通知を受けたパラメータ計算部151は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
When the above determination is completed for all the feature points, the
パラメータ計算部151は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部151により計算された変換行列は、候補抽出部152に入力される。候補抽出部152は、入力された変換行列に対する判定処理を実行する。投票処理部153は、変換行列が入力された場合に、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部153は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
The
上記と同様に、パラメータ計算部151は、画像P1、P2から抽出された特徴点から順次特徴点ペアを選択して変換行列を計算する。そして、候補抽出部152は、選択された変換行列に対する判定処理を実行する。また、投票処理部153は、変換行列が入力された場合に、計算された変換行列に対して投票処理を実行する。これらの処理が予め設定された回数(例えば、上記の式(1)で与えられるT)実行された場合、後段処理部105は、投票数テーブル101cを参照し、投票数が最大の変換行列を抽出する。
Similarly to the above, the
後段処理部105により抽出された変換行列の情報は、画像処理部106に入力される。画像処理部106は、入力された変換行列を用いて画像P1に含まれる画素の座標変換を実行する。そして、画像処理部106は、変換後の画像P1、及び画像P2を利用して予め設定された画像処理を実行する。例えば、画像処理部106は、電子式手ぶれ補正、HDR画像の生成、各種の認証処理などを実行する。
Information on the transformation matrix extracted by the
(前段処理:推定変換行列の計算)
ここで、図10〜図12を参照しながら、前段処理について、さらに説明する。
なお、図10は、第2実施形態に係る前段処理(特徴点ペアの抽出)について説明するための図である。また、図11は、第2実施形態に係る前段処理(投票処理)について説明するための図である。また、図12は、第2実施形態に係る前段処理(推定変換行列の決定)について説明するための図である。
(Pre-processing: Calculation of estimated transformation matrix)
Here, the pre-processing will be further described with reference to FIGS.
FIG. 10 is a diagram for explaining pre-processing (extraction of feature point pairs) according to the second embodiment. FIG. 11 is a diagram for explaining the pre-stage process (voting process) according to the second embodiment. FIG. 12 is a diagram for explaining pre-stage processing (determination of an estimated transformation matrix) according to the second embodiment.
図10に示すように、画像P1からn個(例えば、n=100)の特徴点q10、q11、…、q1nが検出され、画像P2からm個(例えば、m=80)の特徴点q20、q21、…、q2mが検出されている場合について考える。この場合、パラメータ計算部141は、画像P1から検出された特徴点のうち、特徴量が大きい順にX個(図10の例ではX=10)の特徴点を抽出する。また、パラメータ計算部141は、画像P2から検出された特徴点のうち、特徴量が大きい順にX個(図10の例ではX=10)の特徴点を抽出する。
As shown in FIG. 10, n (for example, n = 100) feature points q10, q11,..., Q1n are detected from the image P1, and m (for example, m = 80) feature points q20 are detected from the image P2. Consider the case where q21,..., q2m are detected. In this case, the
特徴量の大きな特徴点は、特徴点としての信頼性が高い特徴点である。また、特徴量の大きな特徴点を抽出することは、特徴点の選択基準となる閾値を上げることに相当する。上記のように、特徴点の数を減らすことで、画像P1の特徴点と画像P2の特徴点とを組み合わせて特徴点ペアを生成する際、組み合わせ数を大幅に低減することが可能になる。考え得る特徴点ペアの数が少なくなれば、投票処理部142による投票処理の実行回数が少なくなり、処理負荷が低減される。
A feature point having a large feature amount is a feature point having high reliability as a feature point. Further, extracting feature points having a large feature amount corresponds to increasing a threshold value that serves as a selection criterion for feature points. As described above, by reducing the number of feature points, it is possible to significantly reduce the number of combinations when generating feature point pairs by combining the feature points of the image P1 and the feature points of the image P2. If the number of possible feature point pairs decreases, the number of times the voting process is executed by the
パラメータ計算部141は、抽出した特徴点の中から特徴点の組み合わせを選択して、変換行列を計算するに足りる数の特徴点ペアを生成する。上記の式(2)で与えられるアフィン変換の変換モデルを利用する場合、少なくとも3組の特徴点ペアを利用すれば変換行列を計算することが可能である。そのため、図10には、3組の特徴点ペアを生成する例を示した。なお、特徴点を抽出する際、特徴点間の距離を考慮してもよい。特徴点間の距離を考慮する方法については後段において述べる。
The
上記のように特徴点ペアを生成した後、パラメータ計算部141は、図11に示すように、生成した特徴点ペアを利用して変換行列を計算する。なお、i番目に生成された特徴点ペアに対応する変換行列をRi(i=1,2,…)と表記する。つまり、パラメータ計算部141は、変換行列Riの変換パラメータr11、r12、…、r23を計算する。計算された変換行列Riは、投票処理部142による投票処理に利用される。
After generating the feature point pair as described above, the
投票処理部142は、パラメータ計算部141により抽出された画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を変換行列Riにより変換する。そして、投票処理部142は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
The
図11の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。インライヤと判定した場合、投票処理部142は、変換行列Riの投票数を増加させる。
In the example of FIG. 11, the converted coordinates a corresponding to the feature point q15 of the image P1 and the feature point q27 of the image P2 are within the allowable range. The same applies to the feature point q17 of the image P1. On the other hand, the feature point of the image P2 does not exist within the allowable range based on the coordinate b after conversion corresponding to the feature point q16 of the image P1. In this case, the feature points q15 and q17 are determined to be inliers, and the feature point q16 is determined to be an outlier. If it is determined as an inlier, the
パラメータ計算部141により抽出された画像P1の特徴点(X個)をすべて選択し終えた場合、投票処理部142は、変換行列Riに対する投票処理の完了をパラメータ計算部141に通知する。この通知を受けたパラメータ計算部141は、他の特徴点ペアを生成する。そして、再び投票処理部142による投票処理が実行される。図12に示すように、特徴点ペアの抽出、及び投票処理が繰り返し実行される。例えば、取り得るすべての特徴点ペアについて処理が完了するまで処理が繰り返し実行される。但し、繰り返し回数が予め設定されていてもよい。
When all feature points (X) of the image P1 extracted by the
繰り返し処理が完了すると、図12に示すような投票数テーブル101cが得られる。図12の例では、変換パラメータに対応する変換行列の情報を併せて記載している。例えば、投票処理部142は、投票数テーブル101cのレコードを投票数が多い順にソートし、最上位に位置するレコードに対応する変換行列を抽出する。図12の例では、変換行列R3が最大投票数に対応する。そして、投票処理部142は、抽出した変換行列(図12の例ではR3)を推定変換行列Rに設定する。推定変換行列Rの設定が完了すると、前段処理は終了する。
When the iterative process is completed, a vote number table 101c as shown in FIG. 12 is obtained. In the example of FIG. 12, information on the conversion matrix corresponding to the conversion parameter is also described. For example, the
(後段処理:変換行列の決定)
次に、図13〜図17を参照しながら、後段処理について、さらに説明する。
なお、図13は、第2実施形態に係る後段処理(最大投票数の計算)について説明するための図である。また、図14は、第2実施形態に係る後段処理(特徴点ペアの抽出)について説明するための図である。また、図15は、第2実施形態に係る後段処理(変換行列の比較)について説明するための図である。また、図16は、第2実施形態に係る後段処理(投票処理)について説明するための図である。また、図17は、第2実施形態に係る後段処理(変換行列の決定)について説明するための図である。
(Post-processing: Determination of transformation matrix)
Next, the subsequent processing will be further described with reference to FIGS.
FIG. 13 is a diagram for explaining post-processing (calculation of the maximum number of votes) according to the second embodiment. FIG. 14 is a diagram for explaining post-processing (extraction of feature point pairs) according to the second embodiment. FIG. 15 is a diagram for explaining post-stage processing (comparison of transformation matrices) according to the second embodiment. FIG. 16 is a diagram for explaining post-processing (voting processing) according to the second embodiment. FIG. 17 is a diagram for explaining post-processing (conversion matrix determination) according to the second embodiment.
図13に示すように、後段処理部105は、処理の過程で参照する指標(最大投票数)の初期値を計算する。この指標は、最終的に採用されない変換行列に対する投票処理を途中で判定するために利用される。例えば、現時点で投票数が最大となる変換行列があり、他の変換行列に対する投票処理の中でインライヤとなる特徴点の数が、現時点で最大の投票数を下回ることが確定した場合、他の変換行列は最終的に採用されない。この場合、他の変換行列に対する投票処理を継続しても無駄である。そこで、無駄な処理を省くために上記の指標(最大投票数)を導入する。
As illustrated in FIG. 13, the
投票処理部153は、画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を推定変換行列Rにより変換する。このとき、投票処理部153により選択される特徴点は、前段処理で利用されたX個の特徴点に制限されず、画像P1から抽出された特徴点すべて、又はX個以上の特徴点が利用される。投票処理部153は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
The
図13の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。インライヤと判定した場合、投票処理部153は、最大投票数を増加させる。
In the example of FIG. 13, the converted coordinates a corresponding to the feature point q15 of the image P1 and the feature point q27 of the image P2 are within the allowable range. The same applies to the feature point q17 of the image P1. On the other hand, the feature point of the image P2 does not exist within the allowable range based on the coordinate b after conversion corresponding to the feature point q16 of the image P1. In this case, the feature points q15 and q17 are determined to be inliers, and the feature point q16 is determined to be an outlier. When it is determined as an inlier, the
最大投票数が計算された後、パラメータ計算部151は、図14に示すように、画像P1、P2の特徴点から特徴点の組み合わせをランダムに選択して、変換行列を計算するに足りる数の特徴点ペアを生成する。但し、パラメータ計算部151は、推定変換行列Rの計算に利用した特徴点ペアとは異なる特徴点ペアを生成する。
After the maximum number of votes is calculated, the
特徴点ペアを生成した後、パラメータ計算部151は、図15に示すように、生成した特徴点ペアを利用して変換行列を計算する。なお、i番目に生成された特徴点ペアに対応する変換行列をHi(i=1,2,…)と表記する。つまり、パラメータ計算部151は、変換行列Hiの変換パラメータh11、h12、…、h23を計算する。計算された変換行列Hiは、候補抽出部152により利用される。
After generating the feature point pair, the
候補抽出部152は、推定変換行列Rの変換パラメータr11、r12、…、r23と、変換行列Hiの変換パラメータh11、h12、…、h23との差|rk−hk|(但し、k=11,12,…,23)をそれぞれ計算する。
The
また、候補抽出部152は、計算した差|rk−hk|が予め設定された閾値Thkより小さいか否かを判定する。計算した差|rk−hk|が閾値Thkより小さい場合、候補抽出部152は、変換行列Hiを候補として投票処理部153に入力する。この場合、変換行列Hiは投票処理部153による投票処理に利用される。一方、計算した差|rk−hk|が閾値Thkより小さくない場合、候補抽出部152は、変換行列Hiを候補外とし、投票処理部153に入力しない。この場合、変換行列Hiは投票処理部153による投票処理に利用されない。
Further, the
変換行列Hiが投票処理部153に入力された場合、投票処理部153は、画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を変換行列Hiにより変換する。このとき、投票処理部153により選択される特徴点は、前段処理で利用されたX個の特徴点に制限されず、画像P1から抽出された特徴点すべて、又はX個以上の特徴点が利用される。このとき、投票処理部153は、カウンタテーブル101dを参照し、投票数が小さい順に特徴点を選択する。また、投票処理部153は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
When the transformation matrix Hi is input to the
図16の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。 In the example of FIG. 16, the converted coordinates a corresponding to the feature point q15 of the image P1 and the feature point q27 of the image P2 are within the allowable range. The same applies to the feature point q17 of the image P1. On the other hand, the feature point of the image P2 does not exist within the allowable range based on the coordinate b after conversion corresponding to the feature point q16 of the image P1. In this case, the feature points q15 and q17 are determined to be inliers, and the feature point q16 is determined to be an outlier.
インライヤと判定した場合、投票処理部153は、変換行列Hiに対する投票数を増加させる。さらに、投票処理部153は、変換行列Hiの計算に利用した特徴点ペアに含まれる画像P1の特徴点についてカウンタテーブル101dのカウント値を増加させ、カウンタテーブル101dを更新する。
If it is determined as an inlier, the
また、投票処理部153は、現時点でアウトライヤと判定された特徴点の数をカウントする。現時点の最大投票数をNmaxとし、推定変換行列Rの計算に利用した画像P1の特徴点数をdとした場合に、投票処理部153は、アウトライヤと判定された特徴点の数が(n−d−Nmax)より大きいか否かを判定する。アウトライヤと判定された特徴点の数が(n−d−Nmax)より大きい場合、投票処理部153は、変換行列Hiに対する投票処理の中止をパラメータ計算部151に通知する。
In addition, the
また、画像P1の特徴点をすべて選択し終えた場合、投票処理部153は、変換行列Hiに対する投票処理の完了をパラメータ計算部151に通知する。完了又は中止の通知を受けたパラメータ計算部151は、他の特徴点ペアを生成する。そして、再び候補抽出部152、投票処理部153による処理が実行される。図17に示すように、特徴点ペアの抽出、変換行列の比較、及び投票処理が繰り返し実行される。例えば、予め設定された繰り返し回数(例えば、上記の式(1)で与えられるT)だけ処理が実行される。
When all the feature points of the image P1 have been selected, the
繰り返し処理が完了すると、図17に示すような投票数テーブル101cが得られる。図17の例では、変換パラメータに対応する変換行列の情報を併せて記載している。例えば、投票処理部153は、投票数テーブル101cのレコードを投票数が多い順にソートし、最上位に位置するレコードに対応する変換行列を抽出する。図17の例では、変換行列H9が最大投票数に対応する。そして、投票処理部153は、抽出した変換行列(図17の例ではH9)を画像P1の変換に利用する変換行列Hに設定する。変換行列Hの設定が完了すると、後段処理は終了する。
When the iterative process is completed, a vote number table 101c as shown in FIG. 17 is obtained. In the example of FIG. 17, information on the conversion matrix corresponding to the conversion parameter is also described. For example, the
(変形例:前段処理で特徴点間の距離を考慮する方法)
ここで、特徴点間の距離を考慮して前段処理に利用する特徴点ペアを抽出する方法(変形例)について、さらに説明する。
(Modification: A method that considers the distance between feature points in the previous process)
Here, a method (variation example) of extracting a feature point pair used for the pre-stage processing in consideration of the distance between the feature points will be further described.
前処理の中で特徴量が大きい順にX個の特徴点を抽出する方法については既に説明した。ここでは、特徴量の大きさだけでなく、特徴点間の距離が離れているものを優先的に抽出する方法について説明する。 The method of extracting X feature points in descending order of the feature amount in the preprocessing has already been described. Here, a method for preferentially extracting not only the size of the feature amount but also a distance between feature points will be described.
例えば、前段処理部104は、特徴量が大きい順にY個(Y>X)の特徴点を抽出し、抽出した特徴点の中から、他の特徴点との間の最短距離が長いものを順に選択してX個の特徴点を抽出する。他の例として、注目する画素と周囲の画素との間の距離が大きいほど値が大きくなる重み値を用いて注目する画素の特徴量に重み付けした上で、重み付き特徴量が大きい順にX個の特徴点を抽出する方法も考えられる。さらに他の例として、画像を複数の分割領域に分け、分割領域毎に特徴量が大きい順にZ個(但し、X=分割領域数×Z)の特徴点を選ぶ方法も考えられる。
For example, the
上記の方法を適用すれば、画像の全体に広く分散している特徴点が優先的に抽出されるため、特徴量の大きな特徴点が局所的に集まっている画像を対象とする場合でも量子誤差を少なくする効果が期待できる。さらに、特徴量の大きな特徴点を含む被写体が動体である場合に、その動体に画面全体が引きずられてしまうことを防止する効果が期待できる。 If the above method is applied, feature points that are widely dispersed throughout the entire image are preferentially extracted, so that quantum errors can be obtained even when targeting an image in which feature points with large feature quantities are gathered locally. The effect of reducing the amount can be expected. Furthermore, when a subject including a feature point having a large feature amount is a moving object, an effect of preventing the entire screen from being dragged by the moving object can be expected.
以上、情報処理装置100の機能について説明した。
[2−4.処理の流れ]
次に、図18〜図23を参照しながら、情報処理装置100が実行する処理の流れについて説明する。
The function of the
[2-4. Process flow]
Next, the flow of processing executed by the
(全体的な処理の流れ)
まず、図18を参照しながら、処理の全体的な流れについて説明する。なお、図18は、第2実施形態に係る情報処理装置が実行する処理の全体的な流れを示したフロー図である。
(Overall processing flow)
First, the overall flow of processing will be described with reference to FIG. FIG. 18 is a flowchart showing an overall flow of processing executed by the information processing apparatus according to the second embodiment.
図18に示すように、情報処理装置100は、画像P1、P2を取得する(S101)。例えば、情報処理装置100は、撮像部102の機能により、被写体の画像を連続的に撮像して画像P1、P2を取得する。但し、情報処理装置100は、ネットワーク932や接続ポート924に接続された外部の記憶装置から画像P1、P2を取得してもよい。また、情報処理装置100は、ドライブ922を介してリムーバブル記録媒体928に記録された画像P1、P2を取得してもよい。
As illustrated in FIG. 18, the
次いで、情報処理装置100は、特徴点抽出部103の機能により、画像P1、P2から特徴点(例えば、100個ずつ)を抽出する(S102)。次いで、情報処理装置100は、前段処理部104の機能により前段処理を実行する(S103)。S103の処理では、推定変換行列が計算される。
Next, the
次いで、情報処理装置100は、後段処理部105の機能により後段処理を実行する(S104)。S104の処理では、画像P1の変換に利用する変換行列が決定される。次いで、情報処理装置100は、画像処理部106の機能により、S104の処理で決定された変換行列を用いて画像処理を実行し(S105)、画像処理後の画像を出力する(S106)。S106の処理が完了すると、図18に示した一連の処理は終了する。
Next, the
(前段処理の流れ)
次に、図19及び図20を参照しながら、前段処理の流れについて、さらに説明する。なお、図19は、第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第1のフロー図である。また、図20は、第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第2のフロー図である。図19及び図20に示した処理は、主に前段処理部104により実行される。
(Flow of pre-processing)
Next, the flow of the pre-processing will be further described with reference to FIGS. FIG. 19 is a first flowchart illustrating a flow of pre-processing performed by the information processing apparatus according to the second embodiment. FIG. 20 is a second flowchart showing the flow of pre-processing performed by the information processing apparatus according to the second embodiment. The processes shown in FIGS. 19 and 20 are mainly executed by the
図19に示すように、前段処理部104は、パラメータ計算部141の機能により、画像P1の特徴点から特徴量が大きい順にX個(例えば、X=10)の特徴点を抽出する(S111)。次いで、前段処理部104は、パラメータ計算部141の機能により、画像P2の特徴点から特徴量が大きい順にX個の特徴点を抽出する(S112)。
As illustrated in FIG. 19, the
次いで、前段処理部104は、パラメータ計算部141の機能により、S111の処理で画像P1から抽出した特徴点と、S112の処理で画像P2から抽出した特徴点とを組み合わせたd組の特徴点ペアを生成する(S113)。次いで、前段処理部104は、S113の処理で生成したd組の特徴点ペアを用いて変換行列Riを計算する(S114)。但し、変換行列Riは、S113の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。
Next, the
次いで、前段処理部104は、投票処理部142の機能により、画像P1の特徴点のうち、変換行列Riの計算に利用していない特徴点を1個選択する(S115)。次いで、前段処理部104は、S115の処理で選択した特徴点の座標を変換行列Riで変換する(S116)。S116の処理が完了すると、処理は図20のS117へと進む。
Next, the
処理がS117へと進んだ場合、前段処理部104は、投票処理部142の機能により、S116の処理による変換後の点との距離が閾値ThD(例えば、5ピクセル)以下となる特徴点が画像P2に存在するか否かを判定する(S117)。変換後の点との距離が閾値ThD以下となる特徴点が画像P2に存在する場合、処理はS118へと進む。一方、S116の処理による変換後の点との距離が閾値ThD以下となる特徴点が画像P2に存在しない場合、処理はS119へと進む。
When the process proceeds to S117, the
処理がS118へと進んだ場合、前段処理部104は、投票処理部142の機能により、変換行列Riに投票する(S118)。S118の処理が完了すると、処理はS122へと進む。
When the process proceeds to S118, the
処理がS119へと進んだ場合、前段処理部104は、投票処理部142の機能により、現時点における最大投票数Nmaxに基づいて(X−d−Nmax)を計算する(S119)。次いで、前段処理部104は、投票処理部142の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S120)。
When the process proceeds to S119, the
次いで、前段処理部104は、投票処理部142の機能により、S120の処理における計算結果が(X−d−Nmax)より大きいか否かを判定する(S121)。計算結果が(X−d−Nmax)より大きい場合、処理は図19のS113へと進む。一方、計算結果が(X−d−Nmax)より大きくない場合、処理はS122へと進む。
Next, the
処理がS122へと進んだ場合、前段処理部104は、S115の処理で(X−d)個の特徴点をすべて選択したか否かを判定する(S122)。(X−d)個の特徴点をすべて選択した場合、処理はS123へと進む。一方、(X−d)個の特徴点のうち未選択の特徴点がある場合、処理は図19のS115へと進む。
When the process proceeds to S122, the
処理がS123へと進んだ場合、前段処理部104は、S111の処理で画像P1から抽出した特徴点と、S112の処理で画像P2から抽出した特徴点とを組み合わせて生成可能なすべての特徴点ペアをS113の処理で生成したか否かを判定する(S123)。すべての特徴点ペアをS113の処理で生成した場合、処理はS124へと進む。一方、S113の処理で生成していない特徴点ペアがある場合、処理は図19のS113へと進む。
When the process proceeds to S123, the
処理がS124へと進んだ場合、前段処理部104は、投票数が最大の変換行列Riを推定変換行列Rに設定する(S124)。S124の処理が完了すると、図19及び図20に示した一連の処理は終了する。なお、上記の説明では、可能なすべての特徴点ペアを生成する方法を示したが、予め設定した回数の処理を繰り返し、その回数分の特徴点ペアが生成されるように処理を変形することも可能である。
When the process proceeds to S124, the
(後段処理の流れ)
次に、図21〜図23を参照しながら、後段処理の流れについて、さらに説明する。なお、図21は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。また、図22は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。また、図23は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第3のフロー図である。図21〜図23に示した一連の処理は、主に後段処理部105により実行される。
(Flow of subsequent processing)
Next, the flow of the subsequent process will be further described with reference to FIGS. FIG. 21 is a first flowchart illustrating a flow of subsequent processing executed by the information processing apparatus according to the second embodiment. FIG. 22 is a second flowchart showing the flow of subsequent processing executed by the information processing apparatus according to the second embodiment. FIG. 23 is a third flowchart showing the flow of subsequent processing executed by the information processing apparatus according to the second embodiment. The series of processing illustrated in FIGS. 21 to 23 is mainly executed by the
図21に示すように、後段処理部105は、投票処理部153の機能により、画像P1の特徴点から、推定変換行列Rの計算に利用していない特徴点を1個選択する(S131)。次いで、後段処理部105は、投票処理部153の機能により、S131の処理で選択した特徴点の座標を推定変換行列Rで変換する(S132)。
As illustrated in FIG. 21, the
次いで、後段処理部105は、投票処理部153の機能により、S132の処理による変換後の点との距離が閾値ThD以下であり、推定変換行列Rの計算に利用していない画像P2の特徴点があるか否かを判定する。(S133)。変換後の点との距離が閾値ThD以下であり、推定変換行列Rの計算に利用していない画像P2の特徴点がある場合、処理はS134へと進む。一方、変換後の点との距離が閾値ThD以下となる、推定変換行列Rの計算に利用していない画像P2の特徴点がない場合、処理はS131へと進む。
Next, the
処理がS134へと進んだ場合、後段処理部105は、投票処理部153の機能により、推定変換行列Rに投票する(S134)。次いで、後段処理部105は、投票処理部153の機能により、S131の処理で(n−d)個の特徴点をすべて選択したか否かを判定する(S135)。(n−d)個の特徴点をすべて選択し終えている場合、処理はS136へと進む。一方、(n−d)個の特徴点のうち未選択の特徴点がある場合、処理はS131へと進む。
When the process proceeds to S134, the
処理がS136へと進んだ場合、後段処理部105は、投票処理部153の機能により、S134の処理で投票された推定変換行列Rの投票数(総数)をNmaxとする(S136)。次いで、後段処理部105は、カウンタテーブル101dを初期化(カウンタ値を0に設定)する(S137)。
When the process proceeds to S136, the subsequent
次いで、後段処理部105は、パラメータ計算部151の機能により、画像P1の特徴点と、画像P2の特徴点とをランダムに抽出し、d組の特徴点ペアを生成する(S138)。次いで、後段処理部105は、パラメータ計算部151の機能により、S138の処理で生成したd組の特徴点ペアを用いて変換行列Hiを計算する(S139)。但し、変換行列Hiは、S138の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。S139の処理が完了すると、処理は図22のS140へと進む。
Next, the
処理がS140へと進んだ場合、後段処理部105は、候補抽出部152の機能により、変換行列Hiと推定変換行列Rとの差が許容範囲内であるか否かを判定する(S140)。変換行列Hiと推定変換行列Rとの差が許容範囲内である場合、処理はS141へと進む。一方、変換行列Hiと推定変換行列Rとの差が許容範囲内でない場合、処理は図21のS138へと進む。
When the process proceeds to S140, the
処理がS141へと進んだ場合、後段処理部105は、投票処理部153の機能により、画像P1の特徴点から、変換行列Hiの計算に利用していない特徴点を選択する(S141)。このとき、カウンタテーブル101dのカウンタ値が小さい順に特徴点が選択される。次いで、後段処理部105は、投票処理部153の機能により、S141の処理で選択した特徴点の座標を変換行列Hiで変換する(S142)。
When the process proceeds to S141, the
次いで、後段処理部105は、投票処理部153の機能により、S142の処理による変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点があるか否かを判定する(S143)。変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がある場合、処理はS144へと進む。一方、変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がない場合、処理はS146へと進む。
Next, the
処理がS144へと進んだ場合、後段処理部105は、投票処理部153の機能により、変換行列Hiに投票する(S144)。次いで、後段処理部105は、投票処理部153の機能により、S141の処理で選択した特徴点のカウンタ値を増加させる(S145)。S145の処理が完了すると、処理は図23のS149へと進む。
When the process proceeds to S144, the
S143の処理における判定の結果、S146へと処理が進んだ場合、後段処理部105は、投票処理部153の機能により、(n−d−Nmax)を計算する(S146)。次いで、後段処理部105は、投票処理部153の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S147)。
As a result of the determination in the process of S143, when the process proceeds to S146, the
次いで、後段処理部105は、投票処理部153の機能により、S147の処理における計算結果が(n−d−Nmax)より大きいか否かを判定する(S148)。計算結果が(n−d−Nmax)より大きい場合、処理は図21のS138へと進む。一方、計算結果が(n−d−Nmax)より大きくない場合、処理は図23のS149へと進む。
Next, the
処理がS149へと進んだ場合、後段処理部105は、S141の処理で(X−d)個の特徴点をすべて選択したか否かを判定する(S149)。(X−d)個の特徴点をすべて選択し終えた場合、処理はS150へと進む。一方、(X−d)個の特徴点のうち未選択の特徴点がある場合、処理は図22のS141へと進む。
When the process proceeds to S149, the
処理がS150へと進んだ場合、後段処理部105は、変換行列Hiの投票数が最大投票数Nmaxを超えたか否かを判定する(S150)。変換行列Hiの投票数が最大投票数Nmaxを超えた場合、処理はS151へと進む。一方、変換行列Hiの投票数が最大投票数Nmaxを超えない場合、処理はS152へと進む。
When the process proceeds to S150, the
処理がS151へと進んだ場合、後段処理部105は、変換行列Hiの投票数で最大投票数Nmaxを更新する(S151)。S151の処理が完了すると、処理はS152へと進む。処理がS152へと進んだ場合、後段処理部105は、カウンタテーブル101dを投票数順にソートする(S152)。
When the process proceeds to S151, the
次いで、後段処理部105は、S138以降の処理をT回実行したか否かを判定する(S153)。但し、Tは、上記の式(1)で与えられる。処理をT回実行し終えた場合、処理はS154へと進む。一方、処理をT回実行し終えていない場合、処理は図21のS138へと進む。処理がS154へと進んだ場合、後段処理部105は、投票数が最大の変換行列Hiを画像処理に利用する変換行列Hに決定する(S154)。S154の処理が完了すると、図21〜図23に示した一連の処理は終了する。
Next, the
以上、情報処理装置100が実行する処理の流れについて説明した。上記のように、後段処理にて変換行列Hiと推定変換行列Rとの差を評価し、差が許容範囲外である変換行列Hiに対する投票処理を回避することで処理負荷が低減される。さらに、カウント値が小さい特徴点から順に処理が実行されることで、最大投票数Nmaxを更新する見込みのない変換行列Hiに対する投票処理が早期に回避されることで処理負荷が低減される。その結果、高速に変換行列Hを決定することが可能になる。
The flow of processing executed by the
以上、第2実施形態について説明した。
<3.第3実施形態>
次に、第3実施形態について説明する。
The second embodiment has been described above.
<3. Third Embodiment>
Next, a third embodiment will be described.
上記の第2実施形態は、前段処理で推定変換行列Rを計算し、後段処理で推定変換行列Rと特徴点ペア毎に計算した変換行列Hiとの差に基づいて無駄な投票処理を回避する方法であった。一方、第3実施形態は、図24に示すように、推定変換行列Rを利用して画像P1の特徴点を変換し、変換後の点を基準とする許容範囲(以下、インライヤ範囲)に収まる画像P2の特徴点を用いて特徴点ペアを生成する方法を提案する。なお、図24は、第3実施形態に係る後段処理の概要を示した図である。 In the second embodiment, the estimated transformation matrix R is calculated in the former stage process, and the useless voting process is avoided based on the difference between the estimated transformation matrix R and the transformation matrix Hi calculated for each feature point pair in the latter stage process. Was the way. On the other hand, as shown in FIG. 24, the third embodiment converts the feature points of the image P1 using the estimated conversion matrix R, and falls within an allowable range (hereinafter referred to as an inlier range) based on the converted points. A method for generating a feature point pair using the feature points of the image P2 is proposed. FIG. 24 is a diagram showing an outline of the post-stage processing according to the third embodiment.
図24の例では、画像P1の特徴点q11、q12、q13が推定変換行列Rで変換され、それぞれ変換後の点a、b、cの座標が得られている。この場合、点aを基準とするインライヤ範囲Daに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q11とのペアが特徴点ペアの候補とされる。また、点bを基準とするインライヤ範囲Dbに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q12とのペアが特徴点ペアの候補とされる。さらに、点cを基準とするインライヤ範囲Dcに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q13とのペアが特徴点ペアの候補とされる。 In the example of FIG. 24, the feature points q11, q12, and q13 of the image P1 are converted by the estimated conversion matrix R, and the coordinates of the converted points a, b, and c are obtained, respectively. In this case, a pair of each feature point of the image P2 included in the inlier range Da with the point a as a reference and the feature point q11 of the image P1 is a candidate feature point pair. In addition, a pair of each feature point of the image P2 included in the inlier range Db with the point b as a reference and the feature point q12 of the image P1 is a candidate feature point pair. Further, a pair of each feature point of the image P2 included in the inlier range Dc with the point c as a reference and the feature point q13 of the image P1 is a candidate feature point pair.
上記のようにして抽出された特徴点ペアの候補から、投票処理の対象とする特徴点ペアが順次選択されて投票処理が実行される。つまり、候補が絞り込まれた上で、その候補の中から特徴点ペアが選択される。そのため、投票処理の実行回数が削減され、後段処理の負荷が低減される。以下、上記のような後段処理を実行可能な情報処理装置200について説明する。情報処理装置200は、第3実施形態に係る情報処理装置の一例である。また、上記の第2実施形態に係る情報処理装置100と実質的に同じ要素については重複説明を避けるため、同一の符号を付して詳細な説明を省略する場合がある。
From the feature point pair candidates extracted as described above, the feature point pairs to be subjected to the voting process are sequentially selected, and the voting process is executed. That is, after the candidates are narrowed down, a feature point pair is selected from the candidates. For this reason, the number of times the voting process is executed is reduced, and the load of the subsequent process is reduced. Hereinafter, the
[3−1.情報処理装置の機能]
図25を参照しながら、情報処理装置200の機能について説明する。図25は、第3実施形態に係る情報処理装置の機能について説明するためのブロック図である。なお、以下の説明において、適宜、図26〜図30を参照する。
[3-1. Function of information processing apparatus]
The function of the
図25に示すように、情報処理装置200は、撮像部102、特徴点抽出部103、前段処理部104、画像処理部106、記憶部201、及び後段処理部205を有する。
なお、記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。特徴点抽出部103、前段処理部104、後段処理部205、及び画像処理部106の機能は、上述したCPU902などを用いて実現できる。
As illustrated in FIG. 25, the
Note that the function of the
(記憶部201)
記憶部201には、特徴点情報101a、モデル情報101b、投票数テーブル101c、許容範囲情報201a、及びペアマップリスト201bが格納される。なお、記憶部201には、カウンタテーブル101dが格納されてもよい。許容範囲情報201aは、特徴量ペアの候補を抽出する際に利用されるインライヤ範囲を決めるための情報である。また、ペアマップリスト201bは、特徴点ペアの候補が記載されるリストである。
(Storage unit 201)
The
ここで、図26を参照しながら、許容範囲情報201aについて、さらに説明する。図26は、第3実施形態に係る許容範囲情報の一例を示した図である。
図26に示すように、許容範囲情報201aは、変換パラメータの種類と、変換パラメータの許容範囲とを含む。図26の例は、上記の式(2)で与えられるアフィン変換の変換パラメータw11、w12、…、w23に関するものである。例えば、変換パラメータw11の許容範囲は、[w11−t11,w11+t11](つまり、w11−t11≦w11の許容範囲≦w11+t11)に設定されている。同様に、変換パラメータw12、w13、…、w23の許容範囲もそれぞれ設定されている。但し、t11、t12、…、t23は、許容範囲の幅を決める予め設定された設定値である。
Here, the
As shown in FIG. 26, the
例えば、画像P1の特徴点q11を推定変換行列Rで変換する場合、推定変換行列Rの変換パラメータr11、r12、…、r23を上記の幅で動かすと、変換後の点がとる領域(インライヤ範囲)が決まる。図24の例では、推定変換行列Rの変換パラメータw11、w12、…、w23を上記の幅で動かすことにより、特徴点q11に対応するインライヤ範囲Daが決まる。なお、変換後の点を基準に予め設定された半径の円領域や矩形領域をインライヤ範囲とする変形も可能であり、この場合には許容範囲情報201aとして半径や辺の長さを示す情報が予め設定される。
For example, when the feature point q11 of the image P1 is converted by the estimated conversion matrix R, when the conversion parameters r11, r12,..., R23 of the estimated conversion matrix R are moved by the above width, the area (inlier range) taken by the converted points is taken. ) Is decided. In the example of FIG. 24, the inlier range Da corresponding to the feature point q11 is determined by moving the conversion parameters w11, w12,..., W23 of the estimated conversion matrix R with the above width. Note that it is possible to transform the circular area or rectangular area having a radius set in advance with reference to the converted point as an inlier range. In this case, information indicating the radius and the side length is included as the
次に、図27を参照しながら、ペアマップリスト201bについて、さらに説明する。図27は、第3実施形態に係るペアマップリストの一例を示した図である。
図27に示すように、ペアマップリスト201bは、候補となる特徴点ペアを特定する情報と、その特徴点ペアに含まれる画像P1、P2の特徴点とを記載したリストである。図27の例では、候補となる特徴点ペアL1、L2、…、L8が示されている。例えば、特徴点ペアL1は、画像P1の特徴点q11と、画像P2の特徴点q21とを含む。このことは、特徴点q21が、特徴点q11を推定変換行列Rで変換した点を基準とするインライヤ範囲に含まれる特徴点であることを意味する。他の特徴点ペアL2、L3、…、L8についても同様である。
Next, the
As shown in FIG. 27, the
(撮像部102、特徴点抽出部103、前段処理部104、画像処理部106)
再び図25を参照する。撮像部102、特徴点抽出部103、前段処理部104、画像処理部106は、第2実施形態と実質的に同じである。前段処理部104により計算された推定変換行列Rの情報は、記憶部201に格納されると共に、後段処理部205に入力される。また、後段処理部205により決定された変換行列の情報は、画像処理部106に入力される。
(
Refer to FIG. 25 again. The
(後段処理部205)
後段処理部205は、記憶部201に格納された特徴点情報101aに含まれる特徴点のうち、推定変換行列の計算に利用した特徴点の数よりも多くの特徴点を利用して画像P1、P2の位置合わせに用いる変換行列を計算する。このとき、後段処理部205は、推定変換行列に基づいて、変換行列の計算に用いる特徴点ペアを絞り込む。後段処理を実行するために、後段処理部205は、図25に示すように、候補抽出部251、パラメータ計算部252、及び投票処理部253を含む。
(Post-processing unit 205)
The
候補抽出部251は、記憶部201に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点を1つ選択し、選択した特徴点の座標を推定変換行列Rにより変換する。また、候補抽出部251は、許容範囲情報201aに基づいて、変換後の座標を基準とするインライヤ範囲を計算する。さらに、候補抽出部251は、インライヤ範囲に含まれる画像P2の特徴点を抽出する。
The
そして、候補抽出部251は、選択した画像P1の特徴点と、抽出した画像P2の特徴点のそれぞれとを組み合わせて特徴点ペアの候補を生成する。また、候補抽出部251は、生成した特徴点ペアの候補の情報をペアマップリスト201bに記録する。また、候補抽出部251は、画像P1から抽出された特徴点を1つ選択し、選択した特徴点に対応する特徴点ペアの候補を生成する。これらの処理を繰り返し実行し、候補抽出部251は、ペアマップリスト201bを生成する。
Then, the
パラメータ計算部252は、ペアマップリスト201bに記録された特徴点ペアの候補からd組の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。また、パラメータ計算部252は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。投票処理部253は、画像P1から抽出された特徴点のうち、変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。パラメータ計算部252により計算された変換行列は投票処理部253に入力される。
The
例えば、投票処理部253は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲(上記のインライヤ範囲と異なる範囲でもよい。)内に画像P2の特徴点が存在するか否かを判定する。この許容範囲内に画像P2の特徴点が存在する場合、投票処理部253は、選択した画像P1の特徴点がインライヤであると判定する。
For example, the
投票処理部253は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部253は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。すべての特徴点について上記の判定が終了した場合、投票処理部253は、入力された変換行列に関する投票処理の終了をパラメータ計算部252に通知する。この通知を受けたパラメータ計算部252は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
Each time the
パラメータ計算部252は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部252により計算された変換行列は、投票処理部253に入力される。投票処理部253は、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部253は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
The
上記と同様に、パラメータ計算部252は、ペアマップリスト201bから順次特徴点ペアを選択して変換行列を計算する。また、投票処理部253は、入力された変換行列に対して投票処理を実行する。これらの処理が予め設定された回数(例えば、上記の式(1)で与えられるT)実行された場合、又はペアマップリスト201bの全特徴点ペアについて処理が実行された場合、後段処理部205は、投票数が最大の変換行列を抽出する。
Similarly to the above, the
(後段処理:変換行列の決定)
ここで、図28〜図30を参照しながら、後段処理について、さらに説明する。なお、図28は、第3実施形態に係るペアマップリストの生成方法について説明するための第1の図である。また、図29は、第3実施形態に係るペアマップリストの生成方法について説明するための第2の図である。また、図30は、第3実施形態に係る後段処理(変換行列の決定)について説明するための図である。
(Post-processing: Determination of transformation matrix)
Here, the subsequent processing will be further described with reference to FIGS. 28 to 30. FIG. 28 is a first diagram for explaining a pair map list generation method according to the third embodiment. FIG. 29 is a second diagram for explaining a pair map list generation method according to the third embodiment. FIG. 30 is a diagram for explaining post-processing (conversion matrix determination) according to the third embodiment.
いま、画像P1の特徴点q11、q12、…、q16を含む特徴点ペアのペアマップリスト201bを生成する方法について考える。以下、推定変換行列Rにより特徴点q11、q12、…、q16を変換した点をそれぞれQ11、Q12、…、Q16と表記する。
Consider a method of generating a
図28の例では、点Q11のインライヤ範囲に画像P2の特徴点q21が含まれる。そのため、特徴点ペアの候補として、画像P1の特徴点q11と、画像P2の特徴点q21とのペアがペアマップリスト201bに記録される。同様に、点Q12のインライヤ範囲に画像P2の特徴点q22が含まれるため、特徴点ペアの候補として、画像P1の特徴点q12と、画像P2の特徴点q22とのペアがペアマップリスト201bに記録される。
In the example of FIG. 28, the feature point q21 of the image P2 is included in the inlier range of the point Q11. Therefore, a pair of the feature point q11 of the image P1 and the feature point q21 of the image P2 is recorded in the
点Q13のインライヤ範囲には画像P2の特徴点q23が含まれる。この特徴点q23は、点Q15、Q16のインライヤ範囲にも含まれる。この場合、特徴点q13、q23のペア、特徴点q15、q23のペア、及び特徴点q16、q23のペアがペアマップリスト201bに記録される。同様に、画像P2の特徴点q26は点Q15、Q16のインライヤ範囲に含まれるため、特徴点q15、q26のペア、及び特徴点q16、q26のペアがペアマップリスト201bに記録される。
The inlier range of the point Q13 includes the feature point q23 of the image P2. This feature point q23 is also included in the inlier range of points Q15 and Q16. In this case, a pair of feature points q13 and q23, a pair of feature points q15 and q23, and a pair of feature points q16 and q23 are recorded in the
図28の例では、画像P2の特徴点q24、q27がいずれのインライヤ範囲にも含まれない。そのため、特徴点q24、q27に関するペアはペアマップリスト201bに記録されない。また、点Q14のインライヤ範囲には、画像P2の特徴点がいずれも含まれない。そのため、特徴点q14に関するペアはペアマップリスト201bに記録されない。上記の処理を実行することで、図29に示すような特徴点同士の対応関係が得られる。
In the example of FIG. 28, the feature points q24 and q27 of the image P2 are not included in any inlier range. Therefore, a pair related to the feature points q24 and q27 is not recorded in the
図29に示すように、画像P1の特徴点q11(点Q11に対応)と画像2の特徴点q21とはペア(特徴点ペアL1)となる。また、画像P1の特徴点q12(点Q12に対応)と画像2の特徴点q22とはペア(特徴点ペアL2)となる。また、画像P1の特徴点q13(点Q13に対応)と画像2の特徴点q23とはペア(特徴点ペアL3)となる。一方、画像P1の特徴点q14(点Q14に対応)はペアとならない。
As shown in FIG. 29, the feature point q11 (corresponding to the point Q11) of the image P1 and the feature point q21 of the
また、画像P1の特徴点q15(点Q15に対応)と画像2の特徴点q23とはペア(特徴点ペアL4)となる。さらに、画像P1の特徴点q15(点Q15に対応)は画像2の特徴点q25ともペア(特徴点ペアL5)を成す。また、画像P1の特徴点q15(点Q15に対応)は画像2の特徴点q26ともペア(特徴点ペアL6)を成す。
Further, the feature point q15 (corresponding to the point Q15) of the image P1 and the feature point q23 of the
また、画像P1の特徴点q16(点Q16に対応)と画像2の特徴点q23とペア(特徴点ペアL7)となる。さらに、画像P1の特徴点q16(点Q16に対応)は画像2の特徴点q26ともペア(特徴点ペアL8)を成す。一方、画像P2の特徴点q24、q27はペアとならない。これら特徴点同士の対応関係をまとめると、図30に示すようなペアマップリスト201bが得られる。
Also, the feature point q16 (corresponding to the point Q16) of the image P1 and the feature point q23 of the
ペアマップリスト201bが得られると、パラメータ計算部252は、図30に示すように、ペアマップリスト201bから抽出したd組の特徴点ペア(図30の例ではL1,L2,L3)を用いて変換行列を計算する。そして、投票処理部253は、パラメータ計算部252が計算した変換行列を対象に投票処理を実行する。これらの処理が繰り返し実行され、最終的に投票数が最大となる変換行列が、画像処理に利用される変換行列Hに決定される。上記のように、特徴点ペアの数が絞り込まれることにより、投票処理の回数が減り、処理負荷が低減される。
When the
以上、情報処理装置200の機能について説明した。
[3−2.処理の流れ]
次に、図31〜図33を参照しながら、情報処理装置200が実行する処理の流れについて説明する。なお、情報処理装置200が実行する処理のうち前段処理は第2実施形態と実質的に同じである。そのため、前段処理の流れについては詳細な説明を省略し、後段処理の流れについて説明する。
The function of the
[3-2. Process flow]
Next, the flow of processing executed by the
(後段処理の流れ)
図31及び図32を参照しながら、後段処理の流れについて説明する。なお、図31は、第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。また、図32は、第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。図31及び図32に示した一連の処理は、主に後段処理部205により実行される。
(Flow of subsequent processing)
With reference to FIG. 31 and FIG. 32, the flow of the post-stage processing will be described. FIG. 31 is a first flowchart illustrating a flow of subsequent processing executed by the information processing apparatus according to the third embodiment. FIG. 32 is a second flowchart showing the flow of subsequent processing executed by the information processing apparatus according to the third embodiment. The series of processing shown in FIGS. 31 and 32 is mainly executed by the
図31に示すように、後段処理部205は、投票処理部253の機能により、推定変換行列Rについて最大投票数Nmaxを計算する(S201)。S201の処理は、図21に示したS131〜S136の処理に相当する。次いで、後段処理部205は、候補抽出部251の機能により、ペアマップリスト201bを生成する(S202)。
As illustrated in FIG. 31, the
次いで、後段処理部205は、パラメータ計算部252の機能により、d組の特徴点ペアをペアマップリスト201bから選択する(S203)。次いで、後段処理部205は、パラメータ計算部252の機能により、S203の処理で選択したd組の特徴点ペアを用いて変換行列Hiを計算する(S204)。但し、変換行列Hiは、S203の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。
Next, the
次いで、後段処理部205は、投票処理部253の機能により、画像P1の特徴点から、変換行列Hiの計算に利用していない特徴点を選択する(S205)。次いで、後段処理部205は、投票処理部253の機能により、S205の処理で選択した特徴点の座標を変換行列Hiで変換する(S206)。S206の処理が完了すると、処理は図31のS207へと進む。
Next, the
処理がS207へ進んだ場合、後段処理部205は、投票処理部253の機能により、S206の処理による変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点があるか否かを判定する(S207)。変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がある場合、処理は、S208へと進む。一方、変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がない場合、処理はS209へと進む。
When the process proceeds to S207, the
処理がS208へと進んだ場合、後段処理部205は、投票処理部253の機能により、変換行列Hiに投票する(S208)。S208の処理が完了すると、処理はS212へと進む。
When the process proceeds to S208, the
処理がS209へと進んだ場合、後段処理部205は、投票処理部253の機能により、(n−d−Nmax)を計算する(S209)。なお、nは、画像P1から抽出された特徴点の数である。次いで、後段処理部205は、投票処理部253の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S210)。
When the process proceeds to S209, the
次いで、後段処理部205は、投票処理部253の機能により、S210の処理における計算結果が(n−d−Nmax)より大きいか否かを判定する(S211)。計算結果が(n−d−Nmax)より大きい場合、処理は図31のS203へと進む。一方、計算結果が(n−d−Nmax)より大きくない場合、処理はS212へと進む。
Next, the
処理がS212へと進んだ場合、後段処理部205は、投票処理部253の機能により、S205の処理において(n−d)個の特徴点をすべて選択したか否かを判定する(S212)。(n−d)個の特徴点をすべて選択した場合、処理はS213へと進む。一方、(n−d)個の特徴点のうち未選択の特徴点がある場合、処理は図31のS205へと進む。
When the process proceeds to S212, the
処理がS213へと進んだ場合、後段処理部205は、投票処理部253の機能により、変換行列Hiの投票数が最大投票数Nmaxを超えたか否かを判定する(S213)。変換行列Hiの投票数が最大投票数Nmaxを超えた場合、処理はS214へと進む。一方、変換行列Hiの投票数が最大投票数Nmaxを超えていない場合、処理はS215へと進む。
When the process proceeds to S213, the
処理がS214へと進んだ場合、後段処理部205は、変換行列Hiの投票数で最大投票数Nmaxを更新する(S214)。S214の処理が完了すると、処理はS215へと進む。処理がS215へと進んだ場合、後段処理部205は、S203以降の処理をT回(例えば、上記の式(1)で与えられるT)実行したか否かを判定する(S215)。処理をT回実行し終えた場合、処理はS216へと進む。一方、処理をT回実行し終えていない場合、処理は図31のS203へと進む。
When the process proceeds to S214, the
処理がS216へと進んだ場合、後段処理部205は、画像処理に利用する変換行列Hとして、投票数が最大の変換行列Hiを出力する(S216)。S216の処理が完了すると、図31及び図32に示した一連の処理は終了する。なお、上記の説明ではS203以降の処理をT回実行する例を示したが、ペアマップリスト201bの特徴点ペアがなくなるまでS203以降の処理を実行するように変形することも可能である。
When the process proceeds to S216, the
(ペアマップリストの生成に係る処理の流れ)
ここで、図33を参照しながら、上述した後段処理のうち、ペアマップリスト201bの生成に関する処理の流れについて説明する。なお、図33は、第3実施形態に係る情報処理装置が実行する後段処理のうち、ペアマップリストの生成に関する処理の流れを示したフロー図である。図33に示した一連の処理は、上述したS202の処理に対応し、主に候補抽出部251により実行される。
(Processing flow for generating a pair map list)
Here, with reference to FIG. 33, a flow of processing relating to generation of the
図33に示すように、候補抽出部251は、画像P1の特徴点を1個選択する(S221)。次いで、候補抽出部251は、S221の処理で選択した特徴点を推定変換行列Rで変換する(S222)。次いで、候補抽出部251は、S222の処理による変換後の点のインライヤ範囲に含まれる画像P2の特徴点をすべて抽出する(S223)。
As shown in FIG. 33, the
次いで、候補抽出部251は、S223の処理で抽出した特徴点と、S221の処理で選択した特徴点とのペアをペアマップリスト201bに記載する(S224)。次いで、候補抽出部251は、画像P1の全特徴点を選択したか否かを判定する(S225)。画像P1の全特徴点を選択し終えた場合、図33に示した一連の処理は終了する。一方、画像P1の特徴点のうち未選択の特徴点がある場合、処理はS221へと進む。
Next, the
以上、情報処理装置200が実行する処理の流れについて説明した。上記のように、インライヤ範囲に基づく特徴点ペアの絞り込みを行うことで投票処理の実行回数を減らすことが可能になり、画像処理に利用する変換行列Hの計算負荷を低減することができる。
The flow of processing executed by the
以上、第3実施形態について説明した。
<4.第2及び第3実施形態の組み合わせ>
ここで、図34〜図36を参照しながら、第2実施形態に係る方法と、第3実施形態に係る方法とを組み合わせる仕組みについて説明する。
The third embodiment has been described above.
<4. Combination of second and third embodiments>
Here, a mechanism for combining the method according to the second embodiment and the method according to the third embodiment will be described with reference to FIGS. 34 to 36.
なお、図34は、第2及び第3実施形態の組み合わせについて説明するための第1の図である。また、図35は、第2及び第3実施形態の組み合わせについて説明するための第2の図である。また、図36は、第2及び第3実施形態の組み合わせに係る後段処理の流れを示したフロー図である。 FIG. 34 is a first diagram for explaining a combination of the second and third embodiments. FIG. 35 is a second diagram for explaining a combination of the second and third embodiments. FIG. 36 is a flowchart showing the flow of subsequent processing according to the combination of the second and third embodiments.
既に説明したように、第3実施形態に係る方法によれば、ペアマップリスト201bを利用することで処理負荷が低減される。例えば、点Q11のインライヤ範囲に含まれる特徴点q21、q22がある場合、図34に示すようなペアマップリスト201bが得られる。この例のように、インライヤ範囲に含まれる特徴点の数が少ない場合、ペアマップリスト201bに記載される特徴点ペアの数が少ないため、処理負荷の低減効果が大きい。
As already described, according to the method according to the third embodiment, the processing load is reduced by using the
一方、図35に示すように、インライヤ範囲に含まれる特徴点の数が多い場合(図35の例では特徴点q21、q22、…、q25がインライヤ範囲に含まれる。)、ペアマップリスト201bに記載される特徴点ペアの数が多くなる。つまり、特徴点が局所的に密集しているような場合、ペアマップリスト201bを利用することで得られる処理負荷の低減効果が小さくなる。このような場合、第2実施形態に係る方法を適用する方が、より大きな処理負荷の低減効果が得られる可能性がある。
On the other hand, as shown in FIG. 35, when the number of feature points included in the inlier range is large (in the example of FIG. 35, feature points q21, q22,..., Q25 are included in the inlier range), the
そこで、図34に示すような状況では第3実施形態に係る方法を適用し、図35に示すような状況では第2実施形態に係る方法を適用して処理負荷の低減効果を向上させる組み合わせ方式を提案する。この組み合わせ方式を適用する場合、処理の流れは図36のようになる。ここで、図36に示した処理の実行主体を後段処理部300と呼ぶことにする。 Therefore, in the situation shown in FIG. 34, the method according to the third embodiment is applied, and in the situation shown in FIG. 35, the method according to the second embodiment is applied to improve the processing load reduction effect. Propose. When this combination method is applied, the processing flow is as shown in FIG. Here, the execution subject of the process illustrated in FIG. 36 is referred to as a post-processing unit 300.
図36に示すように、後段処理部300は、画像P1の特徴点を推定変換行列Rで変換する(S301)。次いで、後段処理部300は、S301の処理による変換後の点を基準とするインライヤ範囲に含まれる特徴点の数Zを計算する(S302)。 As illustrated in FIG. 36, the post-processing unit 300 converts the feature points of the image P1 using the estimated conversion matrix R (S301). Next, the post-processing unit 300 calculates the number Z of feature points included in the inlier range based on the point converted by the process of S301 (S302).
次いで、後段処理部300は、S302の処理で計算した数Zが、予め設定された閾値ThZより大きいか否かを判定する(S303)。Z≧ThZの場合、処理はS304へと進む。一方、Z<ThZの場合、処理はS305へと進む。 Next, the post-processing unit 300 determines whether or not the number Z calculated in the process of S302 is greater than a preset threshold ThZ (S303). If Z ≧ ThZ, the process proceeds to S304. On the other hand, if Z <ThZ, the process proceeds to S305.
処理がS304へと進んだ場合、後段処理部300は、第2実施形態の後段処理を実行する(S304)。一方、処理がS305へと進んだ場合、後段処理部300は、第3実施形態の後段処理を実行する(S305)。S304又はS305の処理が完了すると、図36に示した一連の処理は終了する。 When the process proceeds to S304, the post-processing unit 300 executes the post-process of the second embodiment (S304). On the other hand, when the process proceeds to S305, the post-processing unit 300 performs the post-process of the third embodiment (S305). When the process of S304 or S305 is completed, the series of processes illustrated in FIG. 36 ends.
上記のようにインライヤ範囲に含まれる特徴点の数に応じて第2実施形態の後段処理と第3実施形態の後段処理とを組み合わせることで、状況に応じた好適な処理が実現され、より大きな処理負荷の低減効果を得ることができる。 As described above, a combination of the post-stage process of the second embodiment and the post-stage process of the third embodiment according to the number of feature points included in the inlier range realizes a suitable process according to the situation, which is larger. An effect of reducing the processing load can be obtained.
以上、第2及び第3実施形態の組み合わせについて説明した。
<5.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
The combination of the second and third embodiments has been described above.
<5. Addendum>
The following additional notes are disclosed with respect to the embodiment described above.
(付記1) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する演算部と
を有する、情報処理装置。
(Supplementary Note 1) A first feature point included in the first image, a second feature point included in the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image; A storage unit for storing
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and An information processing apparatus comprising: an arithmetic unit that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
(付記2) 前記演算部は、
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
付記1に記載の情報処理装置。
(Additional remark 2) The said calculating part is
Selecting a set of the first feature point and the second feature point from a set of the first and second feature points having a feature amount larger than the second threshold, and calculating the parameter for each selected set; The information processing apparatus according to
(付記3) 前記演算部は、
抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
付記1又は2に記載の情報処理装置。
(Supplementary note 3)
From the set of the first and second feature points extracted so that the distance between the extracted first feature points and the distance between the extracted second feature points are larger than the first set value, the second feature points are extracted. The information processing apparatus according to
(付記4) 前記演算部は、
前記パラメータの評価値を計算する処理において、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
付記1〜3のいずれかに記載の情報処理装置。
(Supplementary Note 4)
In the process of calculating the evaluation value of the parameter, the first feature point that is not used in the calculation of the parameter is selected, the first feature point is converted by the conversion model to which the parameter is applied, and the converted point When the distance between the second feature point and the second feature point is smaller than the second set value, the first vote number for the parameter is increased, and the cumulative value of the first vote number for all the selected first feature points is the parameter. The information processing apparatus according to any one of
(付記5) 前記演算部は、
前記パラメータの評価値を計算する処理において、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
付記4に記載の情報処理装置。
(Supplementary Note 5)
In the process of calculating the evaluation value of the parameter, when increasing the first vote number for the parameter, the second vote number for the first feature point used for calculating the parameter is increased, and the first feature point The information processing apparatus according to
(付記6) 前記演算部は、
前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
付記5に記載の情報処理装置。
(Additional remark 6) The said calculating part is
The first feature point that is not used for calculation of the estimated value is selected, the first feature point is converted by the conversion model to which the estimated value is applied, and the distance between the converted point and the second feature point is converted When the value is smaller than the second set value, the third vote number for the first feature point is increased, and the cumulative value of the third vote number for all the selected first feature points is set as an upper limit value, When the second vote number is larger than the upper limit value, the upper limit value is updated with the second vote number,
In the process of calculating the evaluation value of the parameter, the number of the first feature points at which the distance between the converted point by the parameter and the second feature point is larger than the second set value reaches the upper limit value. The information processing apparatus according to appendix 5, wherein the calculation of the evaluation value for the parameter is avoided when the parameter is calculated.
(付記7) 前記演算部は、
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
付記1〜4のいずれかに記載の情報処理装置。
(Supplementary note 7)
A set of the first feature point and the second feature point is selected from the set of the first and second feature points having a feature amount larger than the second threshold value, and the estimated value is applied to each selected set. The first feature point is converted by the converted model, and it is determined whether or not the second feature point is included in a region set based on the converted point, and the second feature point is included in the region. The information processing apparatus according to any one of
(付記8) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータが、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
パラメータの決定方法。
(Supplementary Note 8) A first feature point included in the first image, a second feature point included in the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image A computer capable of acquiring information on the first feature point, the second feature point, and the conversion model from a storage unit that stores
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and A parameter determination method that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
(付記9) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータに、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
処理を実行させる、プログラム。
(Supplementary Note 9) A first feature point included in the first image, a second feature point included in the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image; A computer capable of acquiring information on the first feature point, the second feature point, and the conversion model from a storage unit storing
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and A program that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
(付記10) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータに、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
処理を実行させるプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
(Supplementary Note 10) A first feature point included in the first image, a second feature point included in the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image; A computer capable of acquiring information on the first feature point, the second feature point, and the conversion model from a storage unit storing
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and A computer-readable recording medium storing a program for executing a process of calculating an evaluation value of the parameter and determining the parameter based on the evaluation value.
(付記11) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、
一部の前記第1及び第2特徴点を用いて前記変換モデルに含まれるパラメータの推定値を計算し、全部の前記第1及び第2特徴点を対象に前記第1特徴点と前記第2特徴点との組を順次選択して組毎に前記パラメータを計算し、計算した前記パラメータと前記推定値との差が設定した範囲内となる場合に当該パラメータの評価値を計算し、前記評価値が最大となる前記パラメータを特定する演算部と
を有する、情報処理装置。
(Supplementary Note 11) A first feature point included in the first image, a second feature point included in the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image; A storage unit for storing
An estimated value of a parameter included in the conversion model is calculated using a part of the first and second feature points, and the first feature point and the second feature point are targeted for all the first and second feature points. A set of feature points is sequentially selected and the parameter is calculated for each set. If the difference between the calculated parameter and the estimated value is within a set range, an evaluation value of the parameter is calculated, and the evaluation An information processing apparatus comprising: an arithmetic unit that identifies the parameter having a maximum value.
(付記12) 前記コンピュータが、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
付記8に記載のパラメータの決定方法。
(Supplementary Note 12) The computer selects a set of the first feature point and the second feature point from a set of the first and second feature points having a feature amount larger than the second threshold, and the selected set The parameter determination method according to claim 8, wherein the parameter is calculated every time, and the error is determined to be within the set range when a difference between the parameter and the estimated value is smaller than a set allowable value.
(付記13) 前記コンピュータが、抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
付記8又は12に記載のパラメータの決定方法。
(Supplementary Note 13) The first and second features extracted by the computer so that the distance between the extracted first feature points and the distance between the extracted second feature points are larger than a first set value. The parameter determination method according to
(付記14) 前記パラメータの評価値を計算する処理において、前記コンピュータが、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
付記8、12、13のいずれかに記載のパラメータの決定方法。
(Additional remark 14) In the process which calculates the evaluation value of the said parameter, the said computer selects the said 1st feature point which is not used for the calculation of the said parameter, The said 1st feature point by the said conversion model which applied the said parameter And when the distance between the converted point and the second feature point is smaller than the second set value, the first vote number for the parameter is increased, and the first feature points for all the selected first feature points are The parameter determination method according to any one of
(付記15) 前記パラメータの評価値を計算する処理において、前記コンピュータが、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
付記14に記載のパラメータの決定方法。
(Supplementary Note 15) In the process of calculating the evaluation value of the parameter, when the computer increases the first vote number for the parameter, the second vote number for the first feature point used for calculating the parameter is calculated. The parameter determination method according to claim 14, wherein when the first feature point is selected, the first feature point is selected in ascending order of the second vote number.
(付記16) 前記コンピュータが、
前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
付記15に記載のパラメータの決定方法。
(Supplementary Note 16) The computer
The first feature point that is not used for calculation of the estimated value is selected, the first feature point is converted by the conversion model to which the estimated value is applied, and the distance between the converted point and the second feature point is converted When the value is smaller than the second set value, the third vote number for the first feature point is increased, and the cumulative value of the third vote number for all the selected first feature points is set as an upper limit value, When the second vote number is larger than the upper limit value, the upper limit value is updated with the second vote number,
In the process of calculating the evaluation value of the parameter, the number of the first feature points at which the distance between the converted point by the parameter and the second feature point is larger than the second set value reaches the upper limit value. The parameter determination method according to
(付記17) 前記コンピュータが、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
付記8、12〜14のいずれかに記載のパラメータの決定方法。
(Supplementary Note 17) The computer selects a set of the first feature point and the second feature point from a set of the first and second feature points having a feature amount larger than the second threshold, and the selected set Each time, the first feature point is converted by the conversion model to which the estimated value is applied, and it is determined whether or not the second feature point is included in an area set based on the converted point. The parameter determination method according to any one of
10 情報処理装置
11 記憶部
12 演算部
q1、q11、q12、q13、q14、q15、q16 第1特徴点
q2、q21、q22、q23、q24、q25、q26 第2特徴点
A、A21、A22 パラメータ
A1 推定値
C11、C12、C21、C22 対象物
P1 第1画像
P2 第2画像
TM 変換モデル
Th1 第1閾値
Th2 第2閾値
DESCRIPTION OF
Claims (9)
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する演算部と
を有する、情報処理装置。 A memory for storing a first feature point of the first image, a second feature point of the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image And
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and An information processing apparatus comprising: an arithmetic unit that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
請求項1に記載の情報処理装置。 The computing unit is
Selecting a set of the first feature point and the second feature point from a set of the first and second feature points having a feature amount larger than the second threshold, and calculating the parameter for each selected set; The information processing apparatus according to claim 1, wherein the error is determined to be within the set range when a difference between the parameter and the estimated value is smaller than a set allowable value.
抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
請求項1又は2に記載の情報処理装置。 The computing unit is
From the set of the first and second feature points extracted so that the distance between the extracted first feature points and the distance between the extracted second feature points are larger than the first set value, the second feature points are extracted. The information processing apparatus according to claim 1 or 2, wherein a set of the first and second feature points having a feature amount larger than a threshold value is specified.
前記パラメータの評価値を計算する処理において、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
請求項1〜3のいずれか1項に記載の情報処理装置。 The computing unit is
In the process of calculating the evaluation value of the parameter, the first feature point that is not used in the calculation of the parameter is selected, the first feature point is converted by the conversion model to which the parameter is applied, and the converted point When the distance between the second feature point and the second feature point is smaller than the second set value, the first vote number for the parameter is increased, and the cumulative value of the first vote number for all the selected first feature points is the parameter. The information processing apparatus according to any one of claims 1 to 3, wherein the information value is an evaluation value of the information.
前記パラメータの評価値を計算する処理において、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
請求項4に記載の情報処理装置。 The computing unit is
In the process of calculating the evaluation value of the parameter, when increasing the first vote number for the parameter, the second vote number for the first feature point used for calculating the parameter is increased, and the first feature point The information processing apparatus according to claim 4, wherein the first feature point is selected in ascending order of the second vote number.
前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
請求項5に記載の情報処理装置。 The computing unit is
The first feature point that is not used for calculation of the estimated value is selected, the first feature point is converted by the conversion model to which the estimated value is applied, and the distance between the converted point and the second feature point is converted When the value is smaller than the second set value, the third vote number for the first feature point is increased, and the cumulative value of the third vote number for all the selected first feature points is set as an upper limit value, When the second vote number is larger than the upper limit value, the upper limit value is updated with the second vote number,
In the process of calculating the evaluation value of the parameter, the number of the first feature points at which the distance between the converted point by the parameter and the second feature point is larger than the second set value reaches the upper limit value. The information processing apparatus according to claim 5, wherein calculation of the evaluation value with respect to the parameter is avoided when the parameter is set.
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
請求項1〜4のいずれか1項に記載の情報処理装置。 The computing unit is
A set of the first feature point and the second feature point is selected from the set of the first and second feature points having a feature amount larger than the second threshold value, and the estimated value is applied to each selected set. The first feature point is converted by the converted model, and it is determined whether or not the second feature point is included in a region set based on the converted point, and the second feature point is included in the region. The information processing apparatus according to claim 1, wherein the error is determined to be within the set range.
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
パラメータの決定方法。 A memory for storing a first feature point of the first image, a second feature point of the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image A computer capable of acquiring information on the first feature point, the second feature point, and the conversion model from
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and A parameter determination method that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
処理を実行させる、プログラム。 A memory for storing a first feature point of the first image, a second feature point of the second image, and a conversion model for converting a point on the first image into a corresponding point on the second image A computer capable of acquiring information on the first feature point, the second feature point, and the conversion model from
An estimated value of a parameter included in the conversion model is calculated using a set of the first and second feature points having a feature amount larger than the set first threshold, and the feature is smaller than the second threshold smaller than the first threshold. A set of the first feature point and the second feature point that is large and has an error with respect to the conversion model to which the estimated value is applied is within a set range, and for each selected set, the parameter and A program that calculates an evaluation value of the parameter and determines the parameter based on the evaluation value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014056813A JP2015179426A (en) | 2014-03-19 | 2014-03-19 | Information processing apparatus, parameter determination method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014056813A JP2015179426A (en) | 2014-03-19 | 2014-03-19 | Information processing apparatus, parameter determination method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015179426A true JP2015179426A (en) | 2015-10-08 |
Family
ID=54263414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014056813A Ceased JP2015179426A (en) | 2014-03-19 | 2014-03-19 | Information processing apparatus, parameter determination method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015179426A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017187990A (en) * | 2016-04-07 | 2017-10-12 | 株式会社デンソーアイティーラボラトリ | Arithmetic device, arithmetic method, and program |
JP2018072937A (en) * | 2016-10-25 | 2018-05-10 | 日本電信電話株式会社 | Template matching device, method and program |
US10186042B2 (en) * | 2015-11-20 | 2019-01-22 | Vivotek Inc. | Object matching method and camera system with an object matching function |
JP2023505379A (en) * | 2019-12-16 | 2023-02-08 | チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド | Method and Apparatus for Generating Panoramic Lookaround Images of Transportation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163357A (en) * | 2007-12-28 | 2009-07-23 | Casio Comput Co Ltd | Image composition device and program |
JP2011053937A (en) * | 2009-09-02 | 2011-03-17 | Nec Corp | Image conversion parameter calculation device, image conversion parameter calculation method, and program |
JP2011259044A (en) * | 2010-06-04 | 2011-12-22 | Panasonic Corp | Image processing device and image processing method |
WO2012096163A1 (en) * | 2011-01-13 | 2012-07-19 | パナソニック株式会社 | Image processing device, image processing method, and program therefor |
-
2014
- 2014-03-19 JP JP2014056813A patent/JP2015179426A/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163357A (en) * | 2007-12-28 | 2009-07-23 | Casio Comput Co Ltd | Image composition device and program |
JP2011053937A (en) * | 2009-09-02 | 2011-03-17 | Nec Corp | Image conversion parameter calculation device, image conversion parameter calculation method, and program |
JP2011259044A (en) * | 2010-06-04 | 2011-12-22 | Panasonic Corp | Image processing device and image processing method |
WO2012096163A1 (en) * | 2011-01-13 | 2012-07-19 | パナソニック株式会社 | Image processing device, image processing method, and program therefor |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10186042B2 (en) * | 2015-11-20 | 2019-01-22 | Vivotek Inc. | Object matching method and camera system with an object matching function |
JP2017187990A (en) * | 2016-04-07 | 2017-10-12 | 株式会社デンソーアイティーラボラトリ | Arithmetic device, arithmetic method, and program |
JP2018072937A (en) * | 2016-10-25 | 2018-05-10 | 日本電信電話株式会社 | Template matching device, method and program |
JP2023505379A (en) * | 2019-12-16 | 2023-02-08 | チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド | Method and Apparatus for Generating Panoramic Lookaround Images of Transportation |
JP7335446B2 (en) | 2019-12-16 | 2023-08-29 | チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド | Method and Apparatus for Generating Panoramic Lookaround Images of Transportation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826519B (en) | Face shielding detection method and device, computer equipment and storage medium | |
KR102538164B1 (en) | Image processing method and device, electronic device and storage medium | |
CN107409166B (en) | Automatic generation of panning shots | |
JP7125541B2 (en) | Video restoration method and apparatus, electronics, and storage media | |
JP5980294B2 (en) | Data processing apparatus, imaging apparatus, and data processing method | |
US9344690B2 (en) | Image demosaicing | |
CN108197618B (en) | Method and device for generating human face detection model | |
US10674066B2 (en) | Method for processing image and electronic apparatus therefor | |
CN107316326B (en) | Edge-based disparity map calculation method and device applied to binocular stereo vision | |
EP3968280A1 (en) | Target tracking method and apparatus, storage medium and electronic device | |
US10306210B2 (en) | Image processing apparatus and image capturing apparatus | |
US9508153B2 (en) | Distance measurement apparatus, imaging apparatus, distance measurement method, and program | |
US9558534B2 (en) | Image processing apparatus, image processing method, and medium | |
US9025889B2 (en) | Method, apparatus and computer program product for providing pattern detection with unknown noise levels | |
CN110991287A (en) | Real-time video stream face detection tracking method and detection tracking system | |
JP6703314B2 (en) | Focus detection | |
KR20150126768A (en) | Method for composing image and electronic device thereof | |
WO2021082819A1 (en) | Image generation method and apparatus, and electronic device | |
JP2015179426A (en) | Information processing apparatus, parameter determination method, and program | |
WO2023160426A1 (en) | Video frame interpolation method and apparatus, training method and apparatus, and electronic device | |
JP7032913B2 (en) | Image processing device, image processing method, computer program | |
CN111507924B (en) | Video frame processing method and device | |
CN110689486A (en) | Image processing method, device, equipment and computer storage medium | |
CN113628259A (en) | Image registration processing method and device | |
JP7176616B2 (en) | Image processing system, image processing apparatus, image processing method, and image processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171122 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171219 |
|
A045 | Written measure of dismissal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20180424 |