[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4935541B2 - Effectiveness determination device, image processing device, imaging device, and program - Google Patents

Effectiveness determination device, image processing device, imaging device, and program Download PDF

Info

Publication number
JP4935541B2
JP4935541B2 JP2007175187A JP2007175187A JP4935541B2 JP 4935541 B2 JP4935541 B2 JP 4935541B2 JP 2007175187 A JP2007175187 A JP 2007175187A JP 2007175187 A JP2007175187 A JP 2007175187A JP 4935541 B2 JP4935541 B2 JP 4935541B2
Authority
JP
Japan
Prior art keywords
template
sub
motion vector
search
images
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.)
Active
Application number
JP2007175187A
Other languages
Japanese (ja)
Other versions
JP2009017113A (en
JP2009017113A5 (en
Inventor
玲 浜田
和久 松永
博 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007175187A priority Critical patent/JP4935541B2/en
Publication of JP2009017113A publication Critical patent/JP2009017113A/en
Publication of JP2009017113A5 publication Critical patent/JP2009017113A5/ja
Application granted granted Critical
Publication of JP4935541B2 publication Critical patent/JP4935541B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、2つの画像間でテンプレートマッチングを行う有効性判定装置、画像処理装置及びプログラムに関する。   The present invention relates to an effectiveness determination device, an image processing device, and a program for performing template matching between two images.

従来、複数の画像間の対応位置を検出する際に、基準画像から選択したテンプレートを対象画像で追跡して同じパターンが存在するか否かを探索する。ここで、テンプレートの追跡の有効性を事後的に評価する方法として、差分二乗和(SSD:Sum of squared difference)や差分絶対値和(SAD:Sum of absolute difference)等の相違度評価値の最小値を用いたものが知られている(例えば、特許文献1参照)。
特開平10−289315号公報
Conventionally, when a corresponding position between a plurality of images is detected, a template selected from a reference image is tracked with a target image to search whether the same pattern exists. Here, as a method for ex-post evaluation of template tracking effectiveness, the minimum difference evaluation value such as sum of squared difference (SSD) or sum of absolute difference (SAD) is minimized. The thing using a value is known (for example, refer to patent documents 1).
JP-A-10-289315

しかしながら、相違度評価値の最小値は、追跡の有効性を必ずしも表しているわけではなく、特にノイズが多い画像の場合にはあてにならないといった問題がある。   However, the minimum value of the dissimilarity evaluation value does not necessarily indicate the effectiveness of tracking, and there is a problem that it cannot be applied particularly in the case of an image having a lot of noise.

そこで、本発明の課題は、テンプレートの追跡の有効性を精度良く判定することができる有効性判定装置、画像処理装置、撮像装置及びプログラムを提供することである。 Therefore, an object of the present invention is to provide an effectiveness determination device, an image processing device , an imaging device, and a program that can accurately determine the effectiveness of template tracking.

請求項1に記載の発明の有効性判定装置は、
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートの位置を対象画像内で探索するテンプレート探索手段と、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段と、
前記サブテンプレート設定手段により設定された前記サブテンプレートの位置を前記対象画像内で探索するサブテンプレート探索手段と、
前記テンプレート探索手段により探索されたテンプレートの位置と前記サブテンプレート探索手段により探索されたサブテンプレートの位置との間の距離に基づいて、前記テンプレートの探索結果の有効性を判定する有効性判定手段と、
を備えることを特徴としている。
The validity determination device of the invention according to claim 1 is:
A template searching means for searching the target image for the position of the template in a predetermined region extracted from any one of the plurality of images in the reference image;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template search means for searching the target image for the position of the sub template set by the sub template setting means;
Based on the distance between the position of the template by Ri and the position of the search template on the search means and the sub-template search unit by Ri searched sub templates, effective to determine the effectiveness of a search result of the template Sex determination means;
It is characterized by having.

請求項2に記載の発明の有効性判定装置は、
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートを対象画像内で追跡して、当該テンプレートの前記複数の画像間における動きベクトルを算出するテンプレート動きベクトル算出手段と、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段と、
前記サブテンプレート設定手段により設定されたサブテンプレートを前記対象画像内で追跡して、当該サブテンプレートの前記複数の画像間における動きベクトルを算出するサブテンプレート動きベクトル算出手段と、
前記テンプレート動きベクトル算出手段により算出された動きベクトルと前記サブテンプレート動きベクトル算出手段により算出された動きベクトルの一致度を判定する動きベクトル判定手段と、
前記動きベクトル判定手段により判定された動きベクトルの一致度に基づいて、前記テンプレートの追跡結果の有効性を判定する有効性判定手段と、
を備えることを特徴としている。
The validity determination device of the invention according to claim 2 is:
A template motion vector calculating means for tracking a template of a predetermined region extracted from any one of the plurality of images in the target image and calculating a motion vector between the plurality of images of the template;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template motion vector calculating means for tracking a sub template set by the sub template setting means in the target image and calculating a motion vector between the plurality of images of the sub template;
Motion vector determination means for determining the degree of coincidence between the motion vector calculated by the template motion vector calculation means and the motion vector calculated by the sub-template motion vector calculation means;
Validity determination means for determining the validity of the tracking result of the template based on the degree of coincidence of the motion vectors determined by the motion vector determination means;
It is characterized by having.

請求項3に記載の発明は、請求項に記載の有効性判定装置において、
前記テンプレート探索手段は、
前記複数の画像間における所定領域のテンプレート動きベクトルを当該テンプレートの位置として算出するテンプレート動きベクトル算出手段を含み、
前記サブテンプレート探索手段は、
前記複数の画像間におけるサブテンプレート動きベクトルを当該サブテンプレートの位置として算出するサブテンプレート動きベクトル算出手段を含み、
前記有効性判定手段は、
前記テンプレート動きベクトル算出手段により算出されたテンプレートの動きベクトルと前記サブテンプレート動きベクトル算出手段により算出されたサブテンプレートの動きベクトルの一致度を、前記テンプレートの位置と前記サブテンプレートの位置との間の距離の近さとして判定し、当該判定結果に基づいて、前記テンプレートの追跡結果の有効性を判定することを特徴としている。
The invention according to claim 3 is the validity determining device according to claim 1 ,
The template search means includes:
The motion vector of the template of a predetermined area between the plurality of images includes a template motion vector calculating means for calculating a position of the template,
The sub-template search means includes
The motion vector of the sub-template among the plurality of images includes sub-template motion vector calculation means for calculating a position of the sub-template,
The effectiveness determining means includes
The degree of coincidence between the motion vector of the sub-templates calculated by the motion vector of the template, which is calculated by said template motion vector calculation unit sub-template motion vector calculation means, between the position of the the position of the template sub-template was determined as the closeness of the distance, based on the determination result, it is characterized by determining the efficacy of the tracking result of the template.

請求項4に記載の発明は、請求項に記載の有効性判定装置において、
前記サブテンプレート設定手段は、前記テンプレートの直和分割となるように複数のサブテンプレートを設定し、
前記対象画像内における前記サブテンプレートの探索にて、前記サブテンプレート設定手段により設定された複数のサブテンプレートの各々に係る相違度評価値を算出するサブ評価値算出手段を備え、
前記テンプレート探索手段は、
前記サブ評価値算出手段により算出された数のサブテンプレートの相違度評価値に基づいて、前記テンプレートの相違度評価値を算出するテンプレート評価値算出手段を含み、
前記テンプレート動きベクトル算出手段は、
前記テンプレート評価値算出手段により算出された相違度評価値に基づいて、前記テンプレートの動きベクトルを算出することを特徴としている。
The invention described in claim 4 is the validity determining device according to claim 3 ,
The sub-template setting means sets a plurality of sub-templates so as to be a direct sum division of the template,
A sub-evaluation value calculating unit that calculates a dissimilarity evaluation value related to each of the plurality of sub-templates set by the sub-template setting unit in the search for the sub-template in the target image;
The template search means includes:
On the basis of the difference evaluation value of multiple sub-templates calculated by the sub-evaluation value calculation means includes a template evaluation value calculating means for calculating the difference evaluation value of the template,
The template motion vector calculation means includes
The motion vector of the template is calculated based on the dissimilarity evaluation value calculated by the template evaluation value calculating means .

請求項5に記載の発明は、請求項1〜4の何れか一項に記載の有効性判定装置において、
前記サブテンプレートは、前記テンプレートを市松模様状に形成されてなることを特徴としている。
The invention according to claim 5 is the validity determining device according to any one of claims 1 to 4,
The sub-template is characterized in that the template is formed in a checkered pattern.

請求項6に記載の発明は、請求項1〜4の何れか一項に記載の有効性判定装置において、
前記サブテンプレートは、前記テンプレートをストライプ状に形成されてなることを特徴としている。
The invention according to claim 6 is the validity determining device according to any one of claims 1 to 4,
The sub-template is characterized in that the template is formed in a stripe shape.

請求項7に記載の発明の画像処理装置は、
請求項1〜6の何れか一項の有効性判定装置と、
前記有効性判定手段により有効であると判定された前記テンプレートの追跡結果を用い
て、前記基準画像と前記対象画像の位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
請求項8に記載の発明の撮像装置は、
画像を撮像する撮像手段と、
請求項1〜6の何れか一項の有効性判定装置と、を備え、
前記有効性判定装置における複数の画像は、前記撮像手段により撮像された画像であることを特徴としている。
An image processing apparatus according to a seventh aspect of the present invention provides:
The validity determination device according to any one of claims 1 to 6,
Alignment means for aligning the reference image and the target image using the tracking result of the template determined to be effective by the effectiveness determination means;
It is characterized by having.
The imaging device of the invention according to claim 8 is,
An imaging means for capturing an image;
The effectiveness determination device according to any one of claims 1 to 6,
The plurality of images in the validity determination device are images captured by the imaging unit.

請求項9に記載の発明のプログラムは、
コンピュータを、
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートの位置を対象画像内で探索するテンプレート探索手段、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段、
前記サブテンプレート設定手段により設定された前記サブテンプレートの位置を前記対象画像内で探索するサブテンプレート探索手段、
前記テンプレート探索手段により探索された位置と前記サブテンプレート探索手段により探索された位置の間の距離に基づいて、前記テンプレートの探索結果の有効性を判定する有効性判定手段、
として機能させることを特徴としている。
請求項10に記載の発明のプログラムは、
コンピュータを、
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートを対象画像内で追跡して、当該テンプレートの前記複数の画像間における動きベクトルを算出するテンプレート動きベクトル算出手段、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段、
前記サブテンプレート設定手段により設定されたサブテンプレートを前記対象画像内で追跡して、当該サブテンプレートの前記複数の画像間における動きベクトルを算出するサブテンプレート動きベクトル算出手段、
前記テンプレート動きベクトル算出手段により算出された動きベクトルと前記サブテンプレート動きベクトル算出手段により算出された動きベクトルの一致度を判定する動きベクトル判定手段、
前記動きベクトル判定手段により判定された動きベクトルの一致度に基づいて、前記テンプレートの追跡結果の有効性を判定する有効性判定手段、
として機能させることを特徴としている。
The program of the invention according to claim 9 is:
Computer
A template searching means for searching for a position of a template in a predetermined region extracted from any one of the plurality of images in the target image;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template search means for searching the target image for the position of the sub template set by the sub template setting means;
Said template said by Ri and the search position to the search means based on the distance between the I Ri searched position in the sub-template search means, the validity judging means for judging the validity of the search result of the template,
It is characterized by making it function as.
The program of the invention according to claim 10 is:
Computer
A template motion vector calculating means for tracking a template of a predetermined region extracted from any one of the plurality of images in the target image and calculating a motion vector between the plurality of images of the template;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template motion vector calculation means for tracking a sub template set by the sub template setting means in the target image and calculating a motion vector between the plurality of images of the sub template.
Motion vector determination means for determining the degree of coincidence between the motion vector calculated by the template motion vector calculation means and the motion vector calculated by the sub-template motion vector calculation means;
Validity determination means for determining the validity of the tracking result of the template based on the degree of coincidence of the motion vectors determined by the motion vector determination means;
It is characterized by making it function as.

本発明によれば、ノイズの多い画像に対しても事後的にテンプレートの追跡の有効性を精度良く判定することができる。   According to the present invention, it is possible to accurately determine the effectiveness of template tracking afterwards even for a noisy image.

以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の撮像装置100の概略構成を示すブロック図である。
本実施形態の撮像装置100は、ブロックマッチング法を用いた基準画像と対象画像の位置合わせに際して、基準画像内から抽出したテンプレートTを2つのサブテンプレートT0、T1に分割して、各サブテンプレートT0、T1の動きベクトルとテンプレートTの動きベクトルの一致度の判定結果に基づいて、テンプレートTの特徴点対応の有効性を判定する。
具体的には、撮像装置100は、図1に示すように、撮像部1と、撮像補助部2と、表示部3、操作部4と、記録媒体5と、USB端子6と、制御部7等を備えて構成されている。
Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, the scope of the invention is not limited to the illustrated examples.
FIG. 1 is a block diagram illustrating a schematic configuration of an imaging apparatus 100 according to an embodiment to which the present invention is applied.
The imaging apparatus 100 according to the present embodiment divides the template T extracted from the reference image into two sub-templates T0 and T1 when aligning the reference image and the target image using the block matching method, and each sub-template T0. Based on the determination result of the degree of coincidence between the motion vector of T1 and the motion vector of the template T, the validity of the feature point correspondence of the template T is determined.
Specifically, as illustrated in FIG. 1, the imaging apparatus 100 includes an imaging unit 1, an imaging auxiliary unit 2, a display unit 3, an operation unit 4, a recording medium 5, a USB terminal 6, and a control unit 7. Etc. are provided.

撮像部1は、撮像手段として、被写体を連続して撮像して複数の画像フレームを生成する。具体的には、撮像部1は、撮像レンズ群11と、電子撮像部12と、映像信号処理部13と、画像メモリ14と、撮影制御部15等を備えている。   The imaging unit 1, as an imaging unit, continuously captures a subject and generates a plurality of image frames. Specifically, the imaging unit 1 includes an imaging lens group 11, an electronic imaging unit 12, a video signal processing unit 13, an image memory 14, a shooting control unit 15, and the like.

撮像レンズ群11は、複数の撮像レンズから構成されている。
電子撮像部12は、撮像レンズ群11を通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等の撮像素子から構成されている。
映像信号処理部13は、電子撮像部12から出力される画像信号に対して所定の画像処理を施すものである。
画像メモリ14は、画像処理後の画像信号を一時的に記憶する。
The imaging lens group 11 includes a plurality of imaging lenses.
The electronic imaging unit 12 includes an imaging element such as a charge coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) that converts a subject image that has passed through the imaging lens group 11 into a two-dimensional image signal.
The video signal processing unit 13 performs predetermined image processing on the image signal output from the electronic imaging unit 12.
The image memory 14 temporarily stores the image signal after image processing.

上記構成の撮像部1は、被写体を撮像して撮像画像データ(画像信号)を取得する撮像手段を構成している。   The imaging unit 1 configured as described above constitutes an imaging unit that captures an image of a subject and acquires captured image data (image signal).

撮像補助部2は、撮像部1による被写体の撮像の際に駆動するものであり、フォーカス駆動部21と、ズーム駆動部22等を備えている。   The imaging assisting unit 2 is driven when the subject is imaged by the imaging unit 1, and includes a focus driving unit 21, a zoom driving unit 22, and the like.

フォーカス駆動部21は、撮像レンズ群11に接続されたフォーカス機構部(図示略)を駆動させる。
ズーム駆動部22は、撮像レンズ群11に接続されたズーム機構部(図示略)を駆動させる。
なお、フォーカス駆動部21及びズーム駆動部22は、撮影制御部15に接続され、撮影制御部15の制御下にて駆動する。
The focus drive unit 21 drives a focus mechanism unit (not shown) connected to the imaging lens group 11.
The zoom drive unit 22 drives a zoom mechanism unit (not shown) connected to the imaging lens group 11.
The focus driving unit 21 and the zoom driving unit 22 are connected to the shooting control unit 15 and are driven under the control of the shooting control unit 15.

表示部3は、撮像部1により撮像された画像を表示するものであり、表示制御部31と、画像表示部32等を備えている。
表示制御部31は、CPU71から適宜出力される表示データを一時的に保存するビデオメモリ(図示略)を備えている。
画像表示部32は、表示制御部31からの出力信号に基づいて所定の画像を表示する液晶モニタ等を備えている。
The display unit 3 displays an image captured by the imaging unit 1, and includes a display control unit 31, an image display unit 32, and the like.
The display control unit 31 includes a video memory (not shown) that temporarily stores display data appropriately output from the CPU 71.
The image display unit 32 includes a liquid crystal monitor that displays a predetermined image based on an output signal from the display control unit 31.

操作部4は、当該撮像装置100の所定操作を行うためのものであり、操作入力部41と、入力回路42等を備えている。   The operation unit 4 is for performing a predetermined operation of the imaging apparatus 100, and includes an operation input unit 41, an input circuit 42, and the like.

操作入力部41は、撮像部1による被写体の撮像を指示するシャッターボタン41aを備えている。
入力回路42は、操作入力部41から出力され入力された操作信号をCPU71に入力するためのものである。
The operation input unit 41 includes a shutter button 41 a that instructs the imaging unit 1 to image a subject.
The input circuit 42 is for inputting an operation signal output from the operation input unit 41 to the CPU 71.

記録媒体5は、例えば、カード型の不揮発性メモリ(フラッシュメモリ)やハードディスク等により構成され、撮像部1により撮像された画像の画像データを複数記憶する。   The recording medium 5 is configured by, for example, a card-type nonvolatile memory (flash memory), a hard disk, and the like, and stores a plurality of image data of images captured by the imaging unit 1.

USB端子6は、外部機器との接続用の端子であり、USBケーブル(図示略)等を介してデータの送受信を行う。   The USB terminal 6 is a terminal for connection with an external device, and transmits and receives data via a USB cable (not shown).

制御部7は、撮像装置100の各部を制御するものであり、例えば、CPU71と、プログラムメモリ72と、データメモリ73等を備えている。   The control unit 7 controls each unit of the imaging apparatus 100, and includes, for example, a CPU 71, a program memory 72, a data memory 73, and the like.

CPU71は、プログラムメモリ72に記憶された撮像装置100用の各種処理プログラムに従って各種の制御動作を行うものである。   The CPU 71 performs various control operations according to various processing programs for the imaging apparatus 100 stored in the program memory 72.

データメモリ73は、例えば、フラッシュメモリ等により構成され、CPU71によって処理されるデータ等を一時記憶する。   The data memory 73 is composed of, for example, a flash memory and temporarily stores data processed by the CPU 71.

プログラムメモリ72は、CPU71の動作に必要な各種プログラムやデータを記憶するものである。具体的には、プログラムメモリ72は、抽出プログラム72a、サブテンプレート設定プログラム72b、動きベクトル算出プログラム72c、動きベクトル判定プログラム72d、有効性判定プログラム72e、位置合わせプログラム72f等を記憶している。   The program memory 72 stores various programs and data necessary for the operation of the CPU 71. Specifically, the program memory 72 stores an extraction program 72a, a sub template setting program 72b, a motion vector calculation program 72c, a motion vector determination program 72d, an effectiveness determination program 72e, an alignment program 72f, and the like.

抽出プログラム72aは、撮像部1により撮像された連続する複数の画像のうち、何れか一の画像を基準画像として、当該基準画像からテンプレートTを複数抽出する抽出処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71による抽出プログラム72aの実行に基づいて、特徴抽出処理により基準画像から所定数(或いは、所定数以上)の特徴の高いブロック領域(特徴点)を選択して、当該ブロックの内容をテンプレートT(例えば、8×8画素の正方形;図2参照)として抽出する。
ここで、特徴抽出処理とは、多数の候補ブロックから追跡に都合の良い特徴性の高いものを選択する処理である。具体的には、各候補ブロックの勾配共分散行列を求め、その行列の最小固有値や、Harrisオペレータと呼ばれる演算の結果を評価値として、評価値の高いものを絶対閾値や相対順位で選別する方法である。即ち、当該評価法の意味するところは、追跡に向く、物体や模様のコーナー(角)のような領域をテンプレートTとして選び、追跡に向かない、平坦であったりランダム性が高かったりする領域を排除することである。
なお、ブロックは、設計により単に所定位置から選択されるようにしても良い。
The extraction program 72a causes the CPU 71 to realize a function related to extraction processing for extracting a plurality of templates T from the reference image using any one of the plurality of continuous images captured by the imaging unit 1 as a reference image. It is a program for.
Specifically, based on the execution of the extraction program 72a by the CPU 71, a predetermined number (or a predetermined number or more) of high feature block areas (feature points) are selected from the reference image by the feature extraction process, and The content is extracted as a template T (for example, a square of 8 × 8 pixels; see FIG. 2).
Here, the feature extraction process is a process of selecting a feature having a high characteristic convenient for tracking from a large number of candidate blocks. Specifically, a method of obtaining a gradient covariance matrix of each candidate block, and selecting a value having a high evaluation value based on an absolute threshold or a relative rank, using the minimum eigenvalue of the matrix or the result of an operation called a Harris operator as an evaluation value It is. That is, the meaning of the evaluation method is to select a region such as a corner of an object or a pattern that is suitable for tracking as a template T, and a region that is not suitable for tracking and is flat or highly random. It is to eliminate.
The block may be simply selected from a predetermined position by design.

サブテンプレート設定プログラム72bは、CPU71をサブテンプレート設定として機能させるものである。即ち、サブテンプレート設定プログラム72bは、抽出処理にて抽出されたテンプレートTの一部分の領域をサブテンプレートT0、T1として設定するサブテンプレート設定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71によるサブテンプレート設定プログラム72bの実行に基づいて、テンプレートTを市松模様状に直和分割(重複なく全体を尽くす分割)して、サブテンプレートT0(図2におけるテンプレートTのうち、ドットで表された画素の集合;図3(a)参照)と、サブテンプレートT1(図2におけるテンプレートTのうち、白抜き(ドットなし)で表された画素の集合;図3(b)参照)を設定する。
The sub template setting program 72b causes the CPU 71 to function as sub template setting. That is, the sub-template setting program 72b is a program for causing the CPU 71 to realize a function related to the sub-template setting process for setting a partial region of the template T extracted by the extraction process as the sub-templates T0 and T1.
Specifically, based on the execution of the sub-template setting program 72b by the CPU 71, the template T is divided into direct sums in a checkered pattern (dividing all over without overlapping), and the sub-template T0 (of the template T in FIG. 2) , A set of pixels represented by dots; see FIG. 3A) and a sub-template T1 (a set of pixels represented by white (no dots) in the template T in FIG. 2); FIG. Set the reference).

動きベクトル算出プログラム72cは、CPU71をテンプレート動きベクトル算出手段及びサブテンプレート動きベクトル算出手段として機能させるものである。即ち、動きベクトル算出プログラム72cは、抽出処理にて抽出されたテンプレートTが対象画像内のどこに対応するか、つまり、対象画像内にてテンプレートTの画素値が最適にマッチする位置(対応領域)を探索して、当該テンプレートTの複数の画像間における動きベクトルを算出したり、サブテンプレート設定処理にて設定された各々のサブテンプレートT0、T1の画素値が対象画像内にて最適にマッチする位置を探索して、当該サブテンプレートT0、T1の複数の画像間における動きベクトルを算出する動きベクトル算出処理に係る機能をCPU71に実現させるためのプログラムである。
即ち、動きベクトル算出処理にあっては、先ず、2つのサブテンプレートT0、T1が対象画像内のどこに対応するかを探索領域の中で座標をオフセットしながら、各々のオフセットに関してブロック画素値の相違度を評価し、最も良くマッチすると評価されるオフセットを探索によって特定する。
ここで、相違度評価基準としては差分絶対値和(SAD)を用いており、CPU71は、2つのサブテンプレートT0、T1の各々に係る相違度評価値を関数sadにより算出する。そして、サブ評価値算出処理により算出された2つのサブテンプレートT0、T1の評価値t0、t1に基づいて、当該2つの評価値t0、t1を合算してテンプレートTの評価値tを算出する。ここで、CPU71は、サブ評価値算出手段及びテンプレート評価値算出手段として機能する。
そして、探索の結果、相違度評価値が最も良かった基準画像と対象画像の間の対応するサブテンプレートT0、T1及びテンプレートTの最適なオフセットをサブテンプレート動きベクトル及びテンプレート動きベクトルとする。
このように、CPU71は、動きベクトル算出プログラム72cを実行することで、複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートTを対象画像内で探索するテンプレート探索手段として機能し、また、サブテンプレートT0、T1を対象画像内で探索するサブテンプレート探索手段として機能する。
The motion vector calculation program 72c causes the CPU 71 to function as a template motion vector calculation unit and a sub template motion vector calculation unit. That is, the motion vector calculation program 72c determines where in the target image the template T extracted in the extraction process corresponds, that is, the position (corresponding region) where the pixel value of the template T optimally matches in the target image. To calculate a motion vector between a plurality of images of the template T, and the pixel values of the sub-templates T0 and T1 set in the sub-template setting process optimally match in the target image. This is a program for causing the CPU 71 to realize a function related to a motion vector calculation process for searching a position and calculating a motion vector between a plurality of images of the sub-templates T0 and T1.
That is, in the motion vector calculation process, first, the difference between the block pixel values for each offset is obtained while offsetting the coordinates in the search area to which the two sub-templates T0 and T1 correspond in the target image. The degree is evaluated, and an offset that is evaluated as the best match is specified by searching.
Here, the difference absolute value sum (SAD) is used as the dissimilarity evaluation criterion, and the CPU 71 calculates the dissimilarity evaluation value according to each of the two sub-templates T0 and T1 by the function sad. Then, based on the evaluation values t0 and t1 of the two sub-templates T0 and T1 calculated by the sub-evaluation value calculation process, the two evaluation values t0 and t1 are added together to calculate the evaluation value t of the template T. Here, the CPU 71 functions as a sub evaluation value calculation unit and a template evaluation value calculation unit.
Then, as a result of the search, the optimum offsets of the corresponding sub templates T0, T1 and template T between the reference image having the best dissimilarity evaluation value and the target image are set as the sub template motion vector and the template motion vector.
As described above, the CPU 71 executes the motion vector calculation program 72c, thereby serving as a template search unit that searches the target image for a template T of a predetermined area extracted from any one of the reference images. Functions as sub-template search means for searching for the sub-templates T0 and T1 in the target image.

動きベクトル判定プログラム72dは、CPU71を動きベクトル判定手段として機能させるものである。即ち、動きベクトル判定プログラム72dは、動きベクトル算出処理にて算出されたテンプレート動きベクトルと2つのサブテンプレートT0、T1の各々のサブテンプレート動きベクトルの一致度を判定する動きベクトル判定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71による動きベクトル判定プログラム72dの実行に基づいて、テンプレートTの動きベクトル(minx,miny)とサブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)が近いか否かを下記式(1)により判定する。例えば、閾値を2画素距離として、2画素以内であるか否か(近いか否か)を判定する。

Figure 0004935541
The motion vector determination program 72d causes the CPU 71 to function as motion vector determination means. That is, the motion vector determination program 72d has a function related to the motion vector determination process for determining the degree of coincidence between the template motion vector calculated in the motion vector calculation process and each of the sub template motion vectors of the two sub templates T0 and T1. This is a program for causing the CPU 71 to realize the program.
Specifically, based on the execution of the motion vector determination program 72d by the CPU 71, the motion vector (minx, miny) of the template T, the motion vector (minx0, miny0) of the subtemplate T0, and the motion vector (minx1, miny0) of the subtemplate T1. It is determined by the following formula (1) whether miny1) is close. For example, it is determined whether or not it is within 2 pixels (closer or not) with a threshold value of 2 pixels.
Figure 0004935541

有効性判定プログラム72eは、CPU71を有効性判定手段として機能させるものである。即ち、有効性判定プログラム72eは、動きベクトル判定処理におけるテンプレート動きベクトルとサブテンプレート動きベクトルの一致度の判定結果に基づいて、基準画像と対象画像で対応するテンプレートTの特徴点対応(テンプレートTの追跡結果)の有効性を判定する有効性判定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71による有効性判定プログラム72eの実行に基づいて、テンプレートTの探索位置とサブテンプレートT0、T1の探索位置との間の距離に基づいて、テンプレートTの探索結果の有効性を判定するようになっており、テンプレートTの動きベクトル(minx,miny)とサブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)が近いと判断されれば、この特徴点対応を有効としてマークし、近くないと判断されれば、この特徴点対応を無効としてマークする。
なお、特徴点対応判定の有効無効のマーク方法は、例えば、フラグ変数配列などの実装により行うことができる。
The validity determination program 72e causes the CPU 71 to function as validity determination means. That is, the effectiveness determination program 72e corresponds to the feature point correspondence of the template T corresponding to the reference image and the target image based on the determination result of the degree of coincidence between the template motion vector and the sub template motion vector in the motion vector determination processing (the template T This is a program for causing the CPU 71 to realize a function related to the effectiveness determination process for determining the effectiveness of the (tracking result).
Specifically, based on the execution of the validity determination program 72e by the CPU 71, the validity of the search result of the template T is determined based on the distance between the search position of the template T and the search positions of the subtemplates T0 and T1. If it is determined that the motion vector (minx, miny) of the template T is close to the motion vector (minx0, miny0) of the sub template T0 and the motion vector (minx1, miny1) of the sub template T1, This feature point correspondence is marked as valid, and if it is determined that it is not close, this feature point correspondence is marked invalid.
In addition, the valid / invalid marking method of the feature point correspondence determination can be performed by mounting a flag variable array, for example.

位置合わせプログラム72fは、CPU71を位置合わせ手段として機能させるものである。即ち、位置合わせプログラム72fは、有効性判定処理にて有効であると判定されたテンプレートTの特徴点対応(テンプレートTの追跡結果)のみを用いて、基準画像と対象画像間における座標変換係数を算出して、これら画像どうしの位置合わせ(座標変換)を行う処理に係る機能をCPU71に実現させるためのプログラムである。   The alignment program 72f causes the CPU 71 to function as alignment means. That is, the alignment program 72f uses only the feature point correspondence (the tracking result of the template T) determined to be effective in the validity determination process to calculate the coordinate conversion coefficient between the reference image and the target image. This is a program for causing the CPU 71 to realize a function related to processing for calculating and performing alignment (coordinate conversion) between these images.

次に、画像位置合わせ処理について図4〜図7を参照して説明する。
図4は、撮像装置100による画像位置合わせ処理に係る動作の一例を示すフローチャートである。
なお、以下の画像位置合わせ処理の前段階にて、基準画像を二次元配列Rに格納するとともに、対象画像を二次元配列Oに格納する処理を行う。また、探索範囲を示す定数Aを適当な所定値に設定する。例えば、A=8とすると、探索範囲はx方向に−8〜+8、y方向にも−8〜+8の正方形の範囲となる。
Next, the image alignment process will be described with reference to FIGS.
FIG. 4 is a flowchart illustrating an example of an operation related to the image alignment process performed by the imaging apparatus 100.
It should be noted that in the previous stage of the following image alignment processing, the reference image is stored in the two-dimensional array R and the target image is stored in the two-dimensional array O. Further, a constant A indicating the search range is set to an appropriate predetermined value. For example, if A = 8, the search range is a square range of −8 to +8 in the x direction and −8 to +8 in the y direction.

図4に示すように、先ず、CPU71は、プログラムメモリ72内の抽出プログラム72aを実行することで、撮像部1により撮像された連続する複数の画像のうち、基準画像からテンプレートTを複数抽出する(ステップS1)。
そして、CPU71は、抽出処理にて選択された各テンプレートTについて、対象画像内のどこに対応するかの探索(追跡)をループにより処理する(ステップS2〜ステップS5)。
先ず、CPU71は、追跡処理初期設定を行って(ステップS3)、基準画像におけるテンプレートTの位置を示す変数B、Cを設定する。例えば、B=100、C=200とすると、座標(100、200)を左上隅とする8×8画素サイズの矩形ブロックをテンプレートTとすることを表している。
続けて、CPU71は、プログラムメモリ72内の動きベクトル算出プログラム72cを実行することで、追跡処理を実行する(ステップS4)。
As shown in FIG. 4, first, the CPU 71 executes an extraction program 72 a in the program memory 72 to extract a plurality of templates T from a reference image among a plurality of consecutive images captured by the imaging unit 1. (Step S1).
Then, the CPU 71 processes, for each template T selected in the extraction process, where to correspond in the target image (tracking) in a loop (steps S2 to S5).
First, the CPU 71 performs tracking processing initial setting (step S3), and sets variables B and C indicating the position of the template T in the reference image. For example, assuming that B = 100 and C = 200, this represents that a rectangular block having an 8 × 8 pixel size having coordinates (100, 200) as the upper left corner is used as the template T.
Subsequently, the CPU 71 executes the tracking processing by executing the motion vector calculation program 72c in the program memory 72 (step S4).

以下に、追跡処理について図5及び図6を参照して説明する。
図5及び図6は、追跡処理に係る動作の一例を示すフローチャートである。
In the following, the tracking process will be described with reference to FIGS.
5 and 6 are flowcharts illustrating an example of operations related to the tracking process.

図5に示すように、先ず、CPU71は、テンプレートTの相違度評価値tの最小値を意味する変数min、サブテンプレートT0の相違度評価値t0の最小値を意味する変数min0、サブテンプレートT1の相違度評価値t1の最小値を意味する変数min1を十分に大きな定数(INFと表わしたが、例えば最大整数値定数などで良い)によって初期化する(ステップS41)。   As shown in FIG. 5, first, the CPU 71 sets a variable min that indicates the minimum value of the dissimilarity evaluation value t of the template T, a variable min0 that indicates the minimum value of the dissimilarity evaluation value t0 of the sub template T0, and the sub template T1. Is initialized with a sufficiently large constant (indicated as INF, but may be, for example, a maximum integer constant) (step S41).

続けて、CPU71は、相違度評価値の最小値をループにより探索する(ステップS42〜54)。ここで、当該探索は、画像の2次元探索なので、x成分及びy成分の二重ループにより行う。具体的には、y成分については、範囲が−A〜+Aで増分を1とし(ステップS42)、同様に、x成分についても、範囲が−A〜+Aで増分を1とする(ステップS43)。
次に、探索範囲内における動きベクトルの候補点(x,y)の各々について、相違度評価値を算出する。具体的には、候補点(x,y)及びサブテンプレート選択用の変数pを引数として図7に示した関数sadをコールし、サブテンプレートT0及びサブテンプレートT1の各々について評価値t0、t1を算出する(ステップS44及びS45)。
Subsequently, the CPU 71 searches for the minimum value of the difference degree evaluation values by a loop (steps S42 to S54). Here, since the search is a two-dimensional search of the image, it is performed by a double loop of the x component and the y component. Specifically, for the y component, the range is -A to + A and the increment is 1 (step S42). Similarly, for the x component, the range is -A to + A and the increment is 1 (step S43). .
Next, a dissimilarity evaluation value is calculated for each motion vector candidate point (x, y) within the search range. Specifically, the function sad shown in FIG. 7 is called by using the candidate point (x, y) and the variable p for selecting the sub template as arguments, and the evaluation values t0 and t1 are respectively set for the sub template T0 and the sub template T1. Calculate (steps S44 and S45).

ここで、評価値算出処理について図7を参照して説明する。
図7は、関数sad、すなわち評価値算出処理に係る動作の一例を示すフローチャートである。3個の仮引数をとり、第1引数x、第2引数yは動きベクトルの候補点(x,y)を示し、第3引数pはサブテンプレートの区別を示す。p=0ならサブテンプレート0、p=1ならサブテンプレート1の意味である。
Here, the evaluation value calculation process will be described with reference to FIG.
FIG. 7 is a flowchart illustrating an example of an operation related to the function sad, that is, the evaluation value calculation process. It takes three dummy arguments, the first argument x and the second argument y indicate motion vector candidate points (x, y), and the third argument p indicates the distinction between sub-templates. If p = 0, it means sub template 0, and if p = 1, it means sub template 1.

図7に示すように、先ず、CPU71は、変数sumを「0」によって初期化した後(ステップS401)、戻り値となる変数sumをx成分及びy成分についての二重ループにより算出する(ステップS402〜S411)。
即ち、ラインインデックスtyに関するループは、範囲が0〜7で増分を1とし(ステップS402)、2つの市松模様状のサブテンプレートT0、T1の何れか一方を規定する引数pとラインインデックスtyによって決定される偶奇性を示す変数psにより、サブテンプレートT0、T1の一方をたどって行う(ステップS403)。また、ラインインデックスtxに関するループは、範囲が変数ps〜7で増分を2とする(ステップS404)。
As shown in FIG. 7, first, the CPU 71 initializes the variable sum with “0” (step S401), and then calculates the variable sum to be a return value by a double loop for the x component and the y component (step S401). S402 to S411).
That is, the loop relating to the line index ty is determined by the argument p and the line index ty that define one of the two checkered sub-templates T0 and T1 with a range of 0 to 7 and an increment of 1 (step S402). The sub-templates T0 and T1 are traced according to the variable ps indicating the even / oddness (step S403). In the loop related to the line index tx, the range is the variable ps to 7 and the increment is 2 (step S404).

そして、CPU71は、基準画像に係る二次元配列Rにおいて、テンプレートTの左上隅の位置(座標)を示す変数B、Cと、所定のラインインデックスtx、tyにより指定される配列番号の画素の画素値を算出して変数rの値とする(ステップS405)。
次に、CPU71は、対象画像における動きベクトルの候補点(x,y)について画素値を算出する。具体的には、対象画像に係る二次元配列Oにおいて、テンプレートTの左上隅の位置(座標)を示す変数B、Cと、所定のラインインデックスtx、tyと候補点(x,y)により指定される配列番号の画素の画素値を算出して変数oの値とする(ステップS406)。
Then, in the two-dimensional array R related to the reference image, the CPU 71 sets the pixels of the array numbers designated by the variables B and C indicating the position (coordinates) of the upper left corner of the template T and the predetermined line indexes tx and ty. The value is calculated as the value of variable r (step S405).
Next, the CPU 71 calculates pixel values for the candidate point (x, y) of the motion vector in the target image. Specifically, in the two-dimensional array O related to the target image, designated by variables B and C indicating the position (coordinates) of the upper left corner of the template T, predetermined line indexes tx and ty, and candidate points (x, y). The pixel value of the pixel with the array number to be calculated is calculated as the value of the variable o (step S406).

続けて、CPU71は、基準画像と対象画像における画素の差分値、即ち、変数rと変数oの絶対値sを算出して(ステップS407)、変数sumに加算する(ステップS408)。
そして、ラインインデックスtxに関してループによる処理を変数ps〜7の範囲内で増分を2として繰り返し実行するとともに、ラインインデックスtyに関してループによる処理を0〜7の範囲内で増分を1として繰り返し実行して、ラインインデックスtx及びラインインデックスtyに関してループによる処理が終了すると(ステップS409及びS410)、ステップS408にて算出された変数sumの値を戻り値として設定する(ステップS411)。
これにより、評価値算出処理を終了する。
Subsequently, the CPU 71 calculates a pixel difference value between the reference image and the target image, that is, the absolute value s of the variable r and the variable o (step S407), and adds it to the variable sum (step S408).
Then, the loop processing for the line index tx is repeatedly executed with an increment of 2 within the range of the variables ps to 7, and the processing by the loop is repeatedly executed for the line index ty with an increment of 1 within the range of 0 to 7. When the processing by the loop is completed for the line index tx and the line index ty (steps S409 and S410), the value of the variable sum calculated in step S408 is set as a return value (step S411).
Thereby, the evaluation value calculation process is terminated.

そして、図5に示すように、サブテンプレートT0に係る変数sumの値を評価値t0とし(ステップS44)、また、サブテンプレートT1に係る変数sumの値を評価値t1とする(ステップS45)。
続けて、2つのサブテンプレートT0、T1の評価値t0、t1を合算して、テンプレートTの評価値tを算出する(ステップS46)。
Then, as shown in FIG. 5, the value of the variable sum related to the sub template T0 is set as the evaluation value t0 (step S44), and the value of the variable sum related to the sub template T1 is set as the evaluation value t1 (step S45).
Subsequently, the evaluation values t0 and t1 of the two sub-templates T0 and T1 are added together to calculate the evaluation value t of the template T (step S46).

次に、CPU71は、評価値tがテンプレートTの相違度評価値の最小値に係る変数minの値よりも小さいか否かを判定する(ステップS47)。ここで、評価値tが変数minよりも小さいと判定されると(ステップS47;YES)、CPU71は、変数minの値を評価値tで更新するとともに、そのときの探索位置(x,y)を変数minx、minyに保存する(ステップS48)。   Next, the CPU 71 determines whether or not the evaluation value t is smaller than the value of the variable min related to the minimum value of the difference evaluation values of the template T (step S47). Here, if it is determined that the evaluation value t is smaller than the variable min (step S47; YES), the CPU 71 updates the value of the variable min with the evaluation value t and the search position (x, y) at that time. Are stored in the variables minx and miny (step S48).

そして、CPU71は、評価値t0がサブテンプレートT0の相違度評価値の最小値に係る変数min0の値よりも小さいか否かを判定する(ステップS49)。ここで、評価値t0が変数min0よりも小さいと判定されると(ステップS49;YES)、CPU71は、変数min0の値を評価値t0で更新するとともに、そのときの探索位置(x,y)を変数minx0、miny0に保存する(ステップS50)。
また、ステップS47にて、評価値tが変数minよりも小さくないと判定されると(ステップS47;NO)、CPU71は、ステップS49の処理を実行する。
続けて、CPU71は、評価値t1がサブテンプレートT1の相違度評価値の最小値に係る変数min1の値よりも小さいか否かを判定する(ステップS51)。ここで、評価値t1が変数min1よりも小さいと判定されると(ステップS51;YES)、CPU71は、変数min1の値を評価値t1で更新するとともに、そのときの探索位置(x,y)を変数minx1、miny1に保存する(ステップS52)。
また、ステップS49にて、評価値t0が変数min0よりも小さくないと判定されると(ステップS49;NO)、CPU71は、ステップS51の処理を実行する。
Then, the CPU 71 determines whether or not the evaluation value t0 is smaller than the value of the variable min0 related to the minimum value of the dissimilarity evaluation value of the sub template T0 (step S49). Here, if it is determined that the evaluation value t0 is smaller than the variable min0 (step S49; YES), the CPU 71 updates the value of the variable min0 with the evaluation value t0 and the search position (x, y) at that time. Are stored in the variables minx0 and miny0 (step S50).
If it is determined in step S47 that the evaluation value t is not smaller than the variable min (step S47; NO), the CPU 71 executes the process of step S49.
Subsequently, the CPU 71 determines whether or not the evaluation value t1 is smaller than the value of the variable min1 related to the minimum difference evaluation value of the sub template T1 (step S51). If it is determined that the evaluation value t1 is smaller than the variable min1 (step S51; YES), the CPU 71 updates the value of the variable min1 with the evaluation value t1, and the search position (x, y) at that time Are stored in the variables minx1 and miny1 (step S52).
If it is determined in step S49 that the evaluation value t0 is not smaller than the variable min0 (step S49; NO), the CPU 71 executes the process of step S51.

そして、所定の探索範囲内で動きベクトルの候補点(x,y)の各々についてループによる処理をx成分及びy成分ともに−A〜+Aの範囲内で増分を1として繰り返し実行して、x成分及びy成分に関するループによる処理が終了すると(ステップS53及びS54)、CPU71は、プログラムメモリ72内の動きベクトル判定プログラム72dを実行して、探索範囲内で最もマッチすると判断されたテンプレートTの動きベクトル(minx,miny)とサブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)が近いか否かを式(1)により判定する(ステップS55)。
ここで、テンプレートTの動きベクトル(minx,miny)がサブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)と近いと判断されれば、CPU71は、プログラムメモリ72内の有効性判定プログラム72eを実行することで、当該特徴点対応を有効としてマークして(ステップS56)、その特徴点対応を示す動きベクトル(minx,miny)を保存する(ステップS57)。
一方、ステップS55にて、近くないと判断されれば、CPU71は、プログラムメモリ72内の有効性判定プログラム72eを実行することで、当該特徴点対応を無効としてマークする(ステップS58)。
Then, for each of the motion vector candidate points (x, y) within a predetermined search range, the processing by the loop is repeatedly executed with an increment of 1 within the range of -A to + A for both the x component and the y component, and the x component When the processing related to the y and y components is completed (steps S53 and S54), the CPU 71 executes the motion vector determination program 72d in the program memory 72, and the motion vector of the template T determined to be the best match within the search range. It is determined by equation (1) whether (minx, miny) is close to the motion vector (minx0, miny0) of the sub template T0 and the motion vector (minx1, miny1) of the sub template T1 (step S55).
If it is determined that the motion vector (minx, miny) of the template T is close to the motion vector (minx0, miny0) of the sub template T0 and the motion vector (minx1, miny1) of the sub template T1, the CPU 71 By executing the validity determination program 72e in 72, the feature point correspondence is marked as valid (step S56), and a motion vector (minx, miny) indicating the feature point correspondence is stored (step S57).
On the other hand, if it is determined in step S55 that it is not near, the CPU 71 executes the validity determination program 72e in the program memory 72 to mark the corresponding feature point correspondence as invalid (step S58).

これにより、追跡処理を終了する。
そして、図4に示すように、各特徴点についてのループによる追跡処理が終了すると(ステップS5)、CPU71は、プログラムメモリ72内の位置合わせプログラム72fを実行することで、有効性判定処理にて有効であると判定されたテンプレートTの特徴点対応のみを用いて、基準画像と対象画像間における座標変換係数を算出して(ステップS6)、これら画像どうしの位置合わせ(座標変換)を行う(ステップS7)。
As a result, the tracking process ends.
Then, as shown in FIG. 4, when the tracking process by the loop for each feature point is completed (step S5), the CPU 71 executes the alignment program 72f in the program memory 72, thereby performing the validity determination process. Using only the feature point correspondence of the template T determined to be valid, a coordinate conversion coefficient between the reference image and the target image is calculated (step S6), and alignment (coordinate conversion) between these images is performed ( Step S7).

以上のように、本実施形態の撮像装置100によれば、テンプレートT中の所定領域をサブテンプレートT0、T1として、サブテンプレートT0、T1及びテンプレートTの動きベクトルをそれぞれ求めて、これらテンプレートTの動きベクトルとサブテンプレートT0、T1の動きベクトルの間の大まかな一致度(距離の近さ)を評価することにより、そのマッチングの有効性を判定するようにしたので、画素値にランダム成分が多く含まれるテンプレートTにあっても、事後的にテンプレートTの特徴点対応の有効性を精度良く判定することができる。
即ち、特徴抽出処理における勾配共分散行列は、画素値勾配の2乗に比例し、その最小固有値やHarrisオペレータは、着目領域が同程度の振幅であればランダムなテクスチャやノイズよりもコーナーを選ぶけれども、相対的に振幅の激しいランダムなテクスチャやノイズと相対的に振幅の小さいコーナーとを区別することはできない。特に、ランダムノイズが多いほど、これらの評価基準による分離性は悪くなる。
このため、追跡に不向きなブロックをテンプレートTとして選択してしまい、誤った特徴点対応を得てしまうことがある。とりわけ、ノイズの激しい画像に関しては顕著に発生し、RANSACや最小メディアンのような多数決原理に基づくロバストな位置合せアルゴリズムを用いてさえも、基準画像と対象画像の位置合せが失敗することが多い。なお、勾配共分散行列を経由しないコーナー性特徴検出方法を用いても、それが勾配や画素値そのものの強さに基づく方法である限り、同様の問題が発生し得る。
そこで、本実施形態の撮像装置100によれば、ランダムノイズの激しい画像において、サブテンプレートT0、T1とテンプレートTとで同じマッチング点を持つ確率が低いことを利用して、ノイズの多い画像に対しても事後的にテンプレートTの特徴点対応の有効性を精度良く判定することができる。
このようにして選別される有効な特徴点対応のみを用いることにより、ノイズの強い画像どうしの座標変換係数もロバストに算出することができ、基準画像と対象画像の位置合わせを適正に行うことができる。
As described above, according to the imaging apparatus 100 of the present embodiment, the predetermined regions in the template T are set as the sub templates T0 and T1, and the motion vectors of the sub templates T0 and T1 and the template T are obtained, respectively. The effectiveness of the matching is determined by evaluating the rough matching degree (closeness of distance) between the motion vector and the motion vectors of the sub-templates T0 and T1, so that there are many random components in the pixel value. Even in the included template T, the effectiveness of the template T corresponding to the feature points can be determined with high accuracy.
That is, the gradient covariance matrix in the feature extraction process is proportional to the square of the pixel value gradient, and its minimum eigenvalue and Harris operator select a corner rather than random texture or noise if the region of interest has the same amplitude. However, it is not possible to distinguish a random texture or noise having a relatively large amplitude from a corner having a relatively small amplitude. In particular, the greater the random noise, the worse the separability according to these evaluation criteria.
For this reason, a block unsuitable for tracking is selected as the template T, and an incorrect feature point correspondence may be obtained. In particular, it occurs remarkably with noisy images and often fails to align the reference image with the target image, even with robust alignment algorithms based on the majority rule such as RANSAC or minimal median. Even when the corner feature detection method that does not go through the gradient covariance matrix is used, the same problem may occur as long as it is a method based on the strength of the gradient and the pixel value itself.
Therefore, according to the imaging apparatus 100 of the present embodiment, an image with a lot of random noise can be used for a noisy image by using a low probability that the sub-templates T0 and T1 and the template T have the same matching point. Even after that, the effectiveness of the template T corresponding to the feature points can be accurately determined.
By using only the effective feature point correspondence selected in this way, it is possible to robustly calculate the coordinate conversion coefficient between images with strong noise, and to properly align the reference image and the target image. it can.

また、サブテンプレートT0、T1をテンプレートTの直和分割となるように設定し、サブテンプレートT0、T1の評価値t0、t1の合算によりテンプレートTの評価値tを算出するようにしたので、テンプレートTの評価値tを改めて算出する必要がなくなって、演算量或いは演算回路規模を従来例と同等に抑えることができる。
例えば、従来例において動きベクトルの一の候補点に対するSAD値の算出に要するループ回数は8回であるが、本実施形態にあっては、サブテンプレートT0、T1につき8/2回であり、サブテンプレートT0、T1の2つ分を合計すると全く同じ計算量となる。
また、演算器を並列に並べたハードウェアによる構成であっても、加算器の数やツリーの深さは従来例と同等に抑えることができる。
In addition, since the sub-templates T0 and T1 are set to be a direct sum division of the template T, the evaluation value t of the template T is calculated by adding the evaluation values t0 and t1 of the sub-templates T0 and T1. It is not necessary to calculate the evaluation value t of T again, and the amount of calculation or the circuit scale can be suppressed to the same level as in the conventional example.
For example, although the number of loops required for the calculation of the SAD values for one candidate points of the motion vectors in the conventional example is 82 times, in the present embodiment, an 8 2/2 times a sub-template T0, T1 When the two sub-templates T0 and T1 are summed, the calculation amount is exactly the same.
Further, even with a hardware configuration in which arithmetic units are arranged in parallel, the number of adders and the depth of the tree can be suppressed to the same level as in the conventional example.

さらに、各サブテンプレートT0、T1を市松模様状としたことにより、サブテンプレートT0、T1においてもテンプレートTとほぼ同等の空間領域をカバーすることに加え、コーナー性の特徴を任意の方向に対して捉えることができることとなって、サブテンプレート追跡においても正確な追跡能力をある程度確保することができる。
従って、テンプレートTの追跡結果が正しいにもかかわらず、サブテンプレートT0、T1の追跡結果が誤ったために誤って無効とされる可能性を大きく低下させることができる。
Furthermore, the sub-templates T0 and T1 have a checkered pattern, so that the sub-templates T0 and T1 also cover a spatial area that is almost equivalent to the template T, and the corner characteristics can be set in any direction. As a result, it is possible to secure accurate tracking ability to some extent even in sub-template tracking.
Therefore, although the tracking result of the template T is correct, the possibility of being invalidated erroneously because the tracking result of the sub-templates T0 and T1 is incorrect can be greatly reduced.

加えて、不良特徴点の追跡をある程度排除できることとなり、特徴抽出処理を省略してもある程度妥当な結果を得る確率を向上させることができる。   In addition, tracking of defective feature points can be eliminated to some extent, and the probability of obtaining a reasonable result to some extent can be improved even if feature extraction processing is omitted.

なお、上記実施形態では、テンプレートTの動きベクトル(minx,miny)と近いか否かの判定をサブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)の両方と行うようにしたが、これに限られるものではなく、例えば、サブテンプレートT0の動きベクトル(minx0,miny0)及びサブテンプレートT1の動きベクトル(minx1,miny1)のうち、何れか一方であっても良い。   In the above embodiment, it is determined whether or not the motion vector (minx, miny) of the template T is close to both the motion vector (minx0, miny0) of the sub template T0 and the motion vector (minx1, miny1) of the sub template T1. However, the present invention is not limited to this. For example, any one of the motion vector (minx0, miny0) of the sub template T0 and the motion vector (minx1, miny1) of the sub template T1 may be used. good.

また、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、テンプレートTを市松模様状に分割してサブテンプレートT0、T1を設定するようにしたが、これに限られるものではなく、例えば、テンプレートTaをストライプ状に分割してサブテンプレートTa0、Ta1を設定するようにしても良いし(図8(a)参照)、また、ストライプ状のサブテンプレートTa0、Ta1を横方向の略真ん中で縦方向に一画素ずらしてなるサブテンプレートTb0、Tb1を設定するようにしても良い(図8(b)参照)。
なお、図8(a)及び図8(b)において、サブテンプレートTa0及びサブテンプレートTb0をドットで表された画素の集合として、サブテンプレートTa1及びサブテンプレートTb1を白抜き(ドットなし)で表された画素の集合とする。
The present invention is not limited to the above-described embodiment, and various improvements and design changes may be made without departing from the spirit of the present invention.
For example, in the above embodiment, the template T is divided into a checkered pattern and the sub-templates T0 and T1 are set. However, the present invention is not limited to this. For example, the template Ta is divided into stripes. Then, the sub-templates Ta0 and Ta1 may be set (see FIG. 8A), and the stripe-shaped sub-templates Ta0 and Ta1 are shifted by one pixel in the vertical direction substantially in the middle of the horizontal direction. Sub-templates Tb0 and Tb1 may be set (see FIG. 8B).
In FIGS. 8A and 8B, the sub template Ta0 and the sub template Tb0 are represented as dots, and the sub template Ta1 and the sub template Tb1 are represented as white (no dots). A set of pixels.

<変形例1>
ここで、ストライプ状に分割されたサブテンプレートTa0、Ta1を画像位置合わせ処理に用いる撮像装置を変形例1として説明する。
変形例1の撮像装置は、追跡処理にて関数sadに変えて図9に示した関数sad_stripeを用いて相違度を評価する。関数sad_stripeも3個の仮引数x、y、pをとり、それらの意味は関数sadと同様である。
図9に示すように、CPU71は、先ず、変数sumを「0」によって初期化した後(ステップS501)、戻り値となる変数sumをx成分及びy成分についての二重ループにより算出する(ステップS502〜S510)。
即ち、ラインインデックスtyに関するループは、範囲をp〜7で増分を2とし(ステップS502)、ラインインデックスtxに関するループは、範囲を0〜7で増分を1とする(ステップS503)。
なお、これ以降の処理(ステップS504〜S510)は、図7におけるステップS405〜S411の処理と同様であり、ラインインデックスtxに関してループによる処理を0〜7の範囲内で増分を1として繰り返し実行するとともに、ラインインデックスtyに関してループによる処理をp〜7の範囲内で増分を2として繰り返し実行する。そして、ラインインデックスtx及びラインインデックスtyに関してループによる処理が終了すると(ステップS508及びS509)、ステップS507にて算出された変数sumの値を戻り値として設定して(ステップS510)、評価値算出処理を終了する。
<Modification 1>
Here, an imaging apparatus that uses sub-templates Ta0 and Ta1 divided into stripes for image alignment processing will be described as a first modification.
The imaging apparatus of the first modification evaluates the degree of difference using the function sad_stripe shown in FIG. 9 instead of the function sad in the tracking process. The function sad_stripe also takes three dummy arguments x, y, and p, and their meanings are the same as the function sad.
As shown in FIG. 9, the CPU 71 first initializes the variable sum with “0” (step S501), and then calculates the variable sum to be a return value by a double loop for the x component and the y component (step S501). S502 to S510).
That is, the loop related to the line index ty sets the range to p to 7 and increments to 2 (step S502), and the loop related to the line index tx sets the range to 0 to 7 and increments to 1 (step S503).
The subsequent processing (steps S504 to S510) is the same as the processing of steps S405 to S411 in FIG. 7, and the loop processing for the line index tx is repeatedly executed within the range of 0 to 7 with an increment of 1. At the same time, the loop processing for the line index ty is repeatedly executed within the range of p to 7 with an increment of 2. When the processing by the loop is finished for the line index tx and the line index ty (steps S508 and S509), the value of the variable sum calculated in step S507 is set as a return value (step S510), and the evaluation value calculation process Exit.

従って、サブテンプレートTa0、Ta1をストライプ状としたことにより、サブテンプレートTa0、Ta1においてもテンプレートTaとほぼ同等の空間領域をカバーすることに加え、ストライプの延在方向に直交する方向のエッジを好適に捉えることができ、ストライプの延在方向のエッジも多少の広がりを持つエッジであれば捉えることができ、総合すると、ある程度の広がりを持つコーナー性の特徴ならば任意の方向に対して捉えることができる。
これにより、テンプレートTaの追跡結果が正しいにもかかわらず、サブテンプレートTa0、Ta1の追跡結果が誤ったために誤って無効とされる可能性を大きく低下させることができる。
加えて、画素配列に対して順にアクセスする回数が多くなるためメモリアクセス効率を向上させることができ、アルゴリズムも単純化して高速化を図ることができる。
Accordingly, by forming the sub-templates Ta0 and Ta1 in a stripe shape, the sub-templates Ta0 and Ta1 also cover a space area substantially equivalent to the template Ta, and an edge in a direction perpendicular to the extending direction of the stripe is preferable. The edge of the stripe extension direction can be detected as long as the edge has a certain extent, and when combined, corner characteristics with a certain extent can be captured in any direction. Can do.
Thereby, although the tracking result of the template Ta is correct, the possibility that the tracking result of the sub-templates Ta0 and Ta1 is incorrect and erroneously invalidated can be greatly reduced.
In addition, since the number of accesses to the pixel array increases in order, the memory access efficiency can be improved, and the algorithm can be simplified to increase the speed.

また、上記実施形態にあっては、相違度評価値として差分絶対値和(SAD)を用いたが、これに限られるものではなく、例えば、差分二乗和(SSD)や最大差分絶対値(MAD)を用いても良い。差分二乗和(SSD)を用いる場合には、図7のS407にて差分の絶対値をとる代わりに、差分の二乗を算出するようにすれば良い。   Moreover, in the said embodiment, although the difference absolute value sum (SAD) was used as a dissimilarity evaluation value, it is not restricted to this, For example, a difference square sum (SSD) and the largest difference absolute value (MAD) ) May be used. When using the sum of squared differences (SSD), instead of taking the absolute value of the difference in S407 of FIG. 7, the square of the difference may be calculated.

<変形例2>
ここで、追跡処理にて関数sadに変えて図10に示した関数madを用いて相違度を評価する撮像装置を変形例2として説明する。関数madも3個の仮引数x、y、pをとり、それらの意味は関数sadと同様である。
図10に示すように、CPU71は、先ず、関数mを「0」によって初期化した後(ステップS601)、戻り値となる関数mをx成分及びy成分についての二重ループにより算出する(ステップS602〜S611)。
ここで、基準画像と対象画像における画素の差分値絶対値sを算出するまでの処理(ステップS602〜S607)は、図7におけるステップS402〜S407の処理と同様である。そして、CPU71は、関数mと算出された差分絶対値sのうち、最大値をとる方を関数mの値とする(ステップS608)。
そして、ラインインデックスtxに関してループによる処理を変数ps〜7の範囲内で増分を2として繰り返し実行するとともに、ラインインデックスtyに関してループによる処理を0〜7の範囲内で増分を1として繰り返し実行して、ラインインデックスtx及びラインインデックスtyに関してループによる処理が終了すると(ステップS609及びS610)、ステップS608にて算出された関数mの値を戻り値として設定する(ステップS611)。これにより、評価値算出処理を終了する。
また、変形例2の撮像装置は、図5のステップS46にてサブテンプレートT0、T1の評価値t0、t1を合算してテンプレートTの評価値tを算出する代わりに、「t←max(t0、t1)」に置き換えて、サブテンプレートT0、T1の評価値t0、t1のうち、最大値をとるほうをテンプレートTの評価値tとして設定する。
<Modification 2>
An imaging apparatus that evaluates the degree of difference using the function mad shown in FIG. 10 instead of the function sad in the tracking process will be described as a second modification. The function mad also takes three dummy arguments x, y, and p, and their meaning is the same as that of the function sad.
As shown in FIG. 10, the CPU 71 first initializes the function m with “0” (step S601), and then calculates the function m to be a return value by a double loop for the x component and the y component (step S601). S602 to S611).
Here, the processing (steps S602 to S607) until the pixel difference value absolute value s between the reference image and the target image is calculated is the same as the processing of steps S402 to S407 in FIG. Then, the CPU 71 sets the function m and the difference absolute value s calculated as the value of the function m, whichever takes the maximum value (step S608).
Then, the loop processing for the line index tx is repeatedly executed with an increment of 2 within the range of the variables ps to 7, and the processing by the loop is repeatedly executed for the line index ty with an increment of 1 within the range of 0 to 7. When the processing by the loop is finished for the line index tx and the line index ty (steps S609 and S610), the value of the function m calculated in step S608 is set as a return value (step S611). Thereby, the evaluation value calculation process is terminated.
In addition, in the imaging device of Modification 2, instead of calculating the evaluation value t of the template T by adding the evaluation values t0 and t1 of the sub-templates T0 and T1 in step S46 of FIG. 5, “t ← max (t0 , T1) ”, and the evaluation value t for the template T is set as the evaluation value t for the template T among the evaluation values t0 and t1 for the subtemplates T0 and T1.

さらに、上記実施形態では、画像位置合わせ処理、追跡処理、評価値算出処理にてループによる処理を行うようにしたが、これに限られるものではなく、例えば、専用ハードウェア回路等を実装して並列に処理するようにしても良い。
具体的には、図5の追跡処理にて関数sadを2回呼び出して算出したサブテンプレートT0、T1の評価値t0、t1を複数の加算器からなるハードウェア回路によって並列に計算するようにしても良い。
Furthermore, in the above-described embodiment, the loop processing is performed in the image alignment processing, tracking processing, and evaluation value calculation processing. However, the present invention is not limited to this. For example, a dedicated hardware circuit or the like is mounted. You may make it process in parallel.
Specifically, the evaluation values t0 and t1 of the subtemplates T0 and T1 calculated by calling the function sad twice in the tracking process of FIG. 5 are calculated in parallel by a hardware circuit composed of a plurality of adders. Also good.

また、上記実施形態では、テンプレートTを直和分割したものをサブテンプレートT0、T1としたが、これに限られるものではなく、テンプレートTの一部分の領域からなるものであれば如何なるものであっても良い。例えば、3つ以上のサブテンプレートを設定しても良く、この場合にあっては、例えば、各サブテンプレートの動きベクトルが一つでもテンプレートTの動きベクトルと近くないと判定された場合には(ステップS55;図6参照)、特徴点対応を無効と判断すればよい。あるいは、半数以上のサブテンプレートの動きベクトルがテンプレートTの動きベクトルと近くないと判定された場合に特徴点対応を無効と判断する等としてもかまわない。
また、サブテンプレートとして2つ設定するようにしたが、これに限られるものではなく、一のサブテンプレートのみを設定するようにしても良い。
In the above embodiment, the template T is obtained by dividing the template T into the sub-templates T0 and T1. However, the present invention is not limited to this, and any template may be used as long as it is composed of a partial area of the template T. Also good. For example, three or more sub-templates may be set. In this case, for example, if it is determined that at least one motion vector of each sub-template is not close to the motion vector of the template T ( Step S55; see FIG. 6), it may be determined that the feature point correspondence is invalid. Alternatively, when it is determined that the motion vectors of more than half of the sub-templates are not close to the motion vector of the template T, it may be determined that the feature point correspondence is invalid.
Although two sub-templates are set, the present invention is not limited to this, and only one sub-template may be set.

さらに、上記実施形態では、テンプレートTを8×8画素の正方形状としたが、テンプレートTの形状はこれに限られるものではなく、例えば、矩形以外の任意の形状としても良い。例えば、評価値算出処理(図7等参照)におけるラインインデックスtx、tyに関する二重ループをテンプレート(サブテンプレート)の形状を反映して、適宜定義したサブテンプレートの画素をたどるような画素毎のループとすれば良い。   Furthermore, in the said embodiment, although the template T was made into the square shape of 8x8 pixel, the shape of the template T is not restricted to this, For example, it is good also as arbitrary shapes other than a rectangle. For example, a loop for each pixel such that a double loop relating to the line indexes tx and ty in the evaluation value calculation process (see FIG. 7 and the like) reflects the shape of the template (subtemplate) and traces the pixels of the subtemplate defined as appropriate. What should I do?

また、上記実施形態では、テンプレートマッチングの探索方法を所定範囲内の全数探索としたが(図5及び図6参照)、これに限られるものではなく、例えば、探索ループ構造を変更することでN−ステップ法などの高速探索を適用しても良い。   In the above embodiment, the search method for template matching is an exhaustive search within a predetermined range (see FIGS. 5 and 6). However, the search method is not limited to this, and for example, N by changing the search loop structure. -A fast search such as a step method may be applied.

さらに、上記実施形態では、追跡処理(図5及び図6参照)にて、関数sadをサブテンプレートT0、T1毎に所定の画素をたどるループとして2回に分けて呼び出すようにしたが、これに限られるものではなく、例えば、関数sadを一度だけ呼び出して、単一のループの中で画素位置毎に分岐して、各サブテンプレートT0、T1に対応する差分絶対値和sum0、sum1を算出するようにしても良い。   Furthermore, in the above embodiment, in the tracking process (see FIG. 5 and FIG. 6), the function sad is called as a loop that traces a predetermined pixel for each of the subtemplates T0 and T1, and is called twice. For example, the function sad is called only once and branched for each pixel position in a single loop, and the absolute difference sums sum0 and sum1 corresponding to the sub-templates T0 and T1 are calculated. You may do it.

また、上記実施形態にあっては、テンプレートT及びサブテンプレートT0、T1の探索方法として、当該テンプレートT及びサブテンプレートT0、T1の複数の画像間における動きベクトルを算出するようにしたが、これに限られるものではなく、テンプレートT及びサブテンプレートT0、T1の探索を行うことができる方法であれば如何なる方法であっても良い。   In the above embodiment, as a search method for the template T and the sub-templates T0 and T1, motion vectors between a plurality of images of the template T and the sub-templates T0 and T1 are calculated. The method is not limited, and any method may be used as long as it can search for the template T and the sub-templates T0 and T1.

さらに、撮像装置100の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
また、画像処理装置(有効性判定装置)として撮像装置100を例示したが、これに限られるものではなく、撮像部1により取得した複数の画像をUSB端子6を介して接続された外部機器に出力して、当該外部機器にて画像位置合わせ処理に係る追跡処理、評価値算出処理等を行うようにしても良い。例えば、運動や変形の解析等の目的でオプティカルフローを可視化する装置等に適用するようにしても良い。
Furthermore, the configuration of the imaging apparatus 100 is merely an example illustrated in the above embodiment, and is not limited thereto.
Further, although the imaging apparatus 100 is illustrated as an image processing apparatus (effectiveness determination apparatus), the present invention is not limited to this, and a plurality of images acquired by the imaging unit 1 are connected to an external device connected via the USB terminal 6. For example, the external device may perform tracking processing, evaluation value calculation processing, and the like related to image registration processing. For example, the present invention may be applied to an apparatus for visualizing an optical flow for the purpose of motion or deformation analysis.

加えて、上記実施形態では、テンプレート探索手段、サブテンプレート探索手段、テンプレート動きベクトル算出手段、サブテンプレート設定、サブテンプレート動きベクトル算出手段、動きベクトル判定手段、有効性判定手段、サブ評価値算出手段、テンプレート評価値算出手段、位置合わせ手段としての機能を、CPU71によって所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。   In addition, in the above embodiment, template search means, sub template search means, template motion vector calculation means, sub template setting, sub template motion vector calculation means, motion vector determination means, effectiveness determination means, sub evaluation value calculation means, The functions of the template evaluation value calculation unit and the alignment unit are realized by executing a predetermined program or the like by the CPU 71. However, the present invention is not limited to this, and for example, to implement various functions. You may comprise from this logic circuit.

本発明を適用した一実施形態の撮像装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the imaging device of one Embodiment to which this invention is applied. 図1の撮像装置による画像位置合わせ処理に用いられるテンプレートの一例を模式的に示す図である。It is a figure which shows typically an example of the template used for the image position alignment process by the imaging device of FIG. 図1の撮像装置による画像位置合わせ処理に用いられるサブテンプレートの一例を模式的に示す図である。It is a figure which shows typically an example of the sub template used for the image position alignment process by the imaging device of FIG. 図1の撮像装置による画像位置合わせ処理に係る動作の一例を示すフローチャートである。3 is a flowchart illustrating an example of an operation related to an image alignment process performed by the imaging apparatus in FIG. 1. 図4の画像位置合わせ処理の追跡処理に係る動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of an operation related to a tracking process of the image alignment process of FIG. 4. 図5の追跡処理の続きを示すフローチャートである。6 is a flowchart showing a continuation of the tracking process of FIG. 5. 図5の追跡処理の評価値算出処理に係る動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement which concerns on the evaluation value calculation process of the tracking process of FIG. 変形例1の撮像装置による画像位置合わせ処理に用いられるサブテンプレートの一例を模式的に示す図である。It is a figure which shows typically an example of the sub template used for the image position alignment process by the imaging device of the modification 1. 図8の撮像装置による評価値算出処理に係る動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement which concerns on the evaluation value calculation process by the imaging device of FIG. 変形例2の撮像装置による評価値算出処理に係る動作の一例を示すフローチャートである。10 is a flowchart illustrating an example of an operation related to an evaluation value calculation process performed by an imaging apparatus according to a second modification.

符号の説明Explanation of symbols

100 撮像装置(有効性判定装置、画像処理装置)
71 CPU(テンプレート探索手段、サブテンプレート探索手段、テンプレート動きベクトル算出手段、サブテンプレート設定、サブテンプレート動きベクトル算出手段、動きベクトル判定手段、有効性判定手段、サブ評価値算出手段、テンプレート評価値算出手段、位置合わせ手段)
T テンプレート
T0、T1 サブテンプレート
100 Imaging device (effectiveness determination device, image processing device)
71 CPU (template search means, sub template search means, template motion vector calculation means, sub template setting, sub template motion vector calculation means, motion vector determination means, effectiveness determination means, sub evaluation value calculation means, template evaluation value calculation means , Alignment means)
T Template T0, T1 Sub template

Claims (10)

複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートの位置を対象画像内で探索するテンプレート探索手段と、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段と、
前記サブテンプレート設定手段により設定された前記サブテンプレートの位置を前記対象画像内で探索するサブテンプレート探索手段と、
前記テンプレート探索手段により探索されたテンプレートの位置と前記サブテンプレート探索手段により探索されたサブテンプレートの位置との間の距離に基づいて、前記テンプレートの探索結果の有効性を判定する有効性判定手段と、
を備えることを特徴とする有効性判定装置。
A template searching means for searching the target image for the position of the template in a predetermined region extracted from any one of the plurality of images in the reference image;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template search means for searching the target image for the position of the sub template set by the sub template setting means;
Based on the distance between the position of the template by Ri and the position of the search template on the search means and the sub-template search unit by Ri searched sub templates, effective to determine the effectiveness of a search result of the template Sex determination means;
An effectiveness determining apparatus comprising:
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートを対象画像内で追跡して、当該テンプレートの前記複数の画像間における動きベクトルを算出するテンプレート動きベクトル算出手段と、A template motion vector calculating means for tracking a template of a predetermined region extracted from any one of the plurality of images in the target image and calculating a motion vector between the plurality of images of the template;
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段と、Sub-template setting means for setting a partial region of the template as a sub-template,
前記サブテンプレート設定手段により設定されたサブテンプレートを前記対象画像内で追跡して、当該サブテンプレートの前記複数の画像間における動きベクトルを算出するサブテンプレート動きベクトル算出手段と、Sub template motion vector calculating means for tracking a sub template set by the sub template setting means in the target image and calculating a motion vector between the plurality of images of the sub template;
前記テンプレート動きベクトル算出手段により算出された動きベクトルと前記サブテンプレート動きベクトル算出手段により算出された動きベクトルの一致度を判定する動きベクトル判定手段と、  Motion vector determination means for determining the degree of coincidence between the motion vector calculated by the template motion vector calculation means and the motion vector calculated by the sub-template motion vector calculation means;
前記動きベクトル判定手段により判定された動きベクトルの一致度に基づいて、前記テンプレートの追跡結果の有効性を判定する有効性判定手段と、  Validity determination means for determining the validity of the tracking result of the template based on the degree of match of the motion vectors determined by the motion vector determination means;
を備えることを特徴とする有効性判定装置。An effectiveness determining apparatus comprising:
前記テンプレート探索手段は、
前記複数の画像間における所定領域のテンプレート動きベクトルを当該テンプレートの位置として算出するテンプレート動きベクトル算出手段を含み、
前記サブテンプレート探索手段は、
前記複数の画像間におけるサブテンプレート動きベクトルを当該サブテンプレートの位置として算出するサブテンプレート動きベクトル算出手段を含み、
前記有効性判定手段は、
前記テンプレート動きベクトル算出手段により算出されたテンプレートの動きベクトルと前記サブテンプレート動きベクトル算出手段により算出されたサブテンプレートの動きベクトルの一致度を、前記テンプレートの位置と前記サブテンプレートの位置との間の距離の近さとして判定し、当該判定結果に基づいて、前記テンプレートの追跡結果の有効性を判定することを特徴とする請求項1記載の有効性判定装置。
The template search means includes:
The motion vector of the template of a predetermined area between the plurality of images includes a template motion vector calculating means for calculating a position of the template,
The sub-template search means includes
The motion vector of the sub-template among the plurality of images includes sub-template motion vector calculation means for calculating a position of the sub-template,
The effectiveness determining means includes
The degree of coincidence between the motion vector of the sub-templates calculated by the motion vector of the template, which is calculated by said template motion vector calculation unit sub-template motion vector calculation means, between the position of the the position of the template sub-template It was determined as the closeness of the distance, the determination based on the result of the validity determining apparatus according to claim 1, wherein the determining the validity of the tracking result of the template.
前記サブテンプレート設定手段は、前記テンプレートの直和分割となるように複数のサブテンプレートを設定し、
前記対象画像内における前記サブテンプレートの探索にて、前記サブテンプレート設定手段により設定された複数のサブテンプレートの各々に係る相違度評価値を算出するサブ評価値算出手段を備え、
前記テンプレート探索手段は、
前記サブ評価値算出手段により算出された数のサブテンプレートの相違度評価値に基づいて、前記テンプレートの相違度評価値を算出するテンプレート評価値算出手段を含み、
前記テンプレート動きベクトル算出手段は、
前記テンプレート評価値算出手段により算出された相違度評価値に基づいて、前記テンプレートの動きベクトルを算出することを特徴とする請求項に記載の有効性判定装置。
The sub-template setting means sets a plurality of sub-templates so as to be a direct sum division of the template,
A sub-evaluation value calculating unit that calculates a dissimilarity evaluation value related to each of the plurality of sub-templates set by the sub-template setting unit in the search for the sub-template in the target image;
The template search means includes:
On the basis of the difference evaluation value of multiple sub-templates calculated by the sub-evaluation value calculation means includes a template evaluation value calculating means for calculating the difference evaluation value of the template,
The template motion vector calculation means includes
4. The validity determination device according to claim 3 , wherein a motion vector of the template is calculated based on the dissimilarity evaluation value calculated by the template evaluation value calculation means .
前記サブテンプレートは、前記テンプレートを市松模様状に形成されてなることを特徴とする請求項1〜4の何れか一項に記載の有効性判定装置。   The validity determination apparatus according to any one of claims 1 to 4, wherein the sub-template is formed by checking the template in a checkered pattern. 前記サブテンプレートは、前記テンプレートをストライプ状に形成されてなることを特徴とする請求項1〜4の何れか一項に記載の有効性判定装置。   The validity determination apparatus according to claim 1, wherein the sub-template is formed by forming the template in a stripe shape. 請求項1〜6の何れか一項の有効性判定装置と、
前記有効性判定手段により有効であると判定された前記テンプレートの追跡結果を用いて、前記基準画像と前記対象画像の位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
The validity determination device according to any one of claims 1 to 6,
Alignment means for aligning the reference image and the target image using the tracking result of the template determined to be effective by the effectiveness determination means;
An image processing apparatus comprising:
画像を撮像する撮像手段と、
請求項1〜6の何れか一項の有効性判定装置と、を備え、
前記有効性判定装置における複数の画像は、前記撮像手段により撮像された画像であることを特徴とする撮像装置。
An imaging means for capturing an image;
The effectiveness determination device according to any one of claims 1 to 6,
The imaging apparatus according to claim 1, wherein the plurality of images in the effectiveness determination apparatus are images captured by the imaging unit.
コンピュータを、
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートの位置を対象画像内で探索するテンプレート探索手段、
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段、
前記サブテンプレート設定手段により設定された前記サブテンプレートの位置を前記対象画像内で探索するサブテンプレート探索手段、
前記テンプレート探索手段により探索された位置と前記サブテンプレート探索手段により探索された位置の間の距離に基づいて、前記テンプレートの探索結果の有効性を判定する有効性判定手段、
として機能させることを特徴とするプログラム。
Computer
A template searching means for searching for a position of a template in a predetermined region extracted from any one of the plurality of images in the target image;
Sub-template setting means for setting a partial region of the template as a sub-template,
Sub template search means for searching the target image for the position of the sub template set by the sub template setting means;
Said template said by Ri and the search position to the search means based on the distance between the I Ri searched position in the sub-template search means, the validity judging means for judging the validity of the search result of the template,
A program characterized by functioning as
コンピュータを、Computer
複数の画像のうち、何れか一の基準画像内から抽出した所定領域のテンプレートを対象画像内で追跡して、当該テンプレートの前記複数の画像間における動きベクトルを算出するテンプレート動きベクトル算出手段、A template motion vector calculating means for tracking a template of a predetermined region extracted from any one of the plurality of images in the target image and calculating a motion vector between the plurality of images of the template;
前記テンプレートの一部分の領域をサブテンプレートとして設定するサブテンプレート設定手段、Sub-template setting means for setting a partial region of the template as a sub-template,
前記サブテンプレート設定手段により設定されたサブテンプレートを前記対象画像内で追跡して、当該サブテンプレートの前記複数の画像間における動きベクトルを算出するサブテンプレート動きベクトル算出手段、Sub template motion vector calculation means for tracking a sub template set by the sub template setting means in the target image and calculating a motion vector between the plurality of images of the sub template.
前記テンプレート動きベクトル算出手段により算出された動きベクトルと前記サブテンプレート動きベクトル算出手段により算出された動きベクトルの一致度を判定する動きベクトル判定手段、  Motion vector determination means for determining the degree of coincidence between the motion vector calculated by the template motion vector calculation means and the motion vector calculated by the sub-template motion vector calculation means;
前記動きベクトル判定手段により判定された動きベクトルの一致度に基づいて、前記テンプレートの追跡結果の有効性を判定する有効性判定手段、  Validity determination means for determining the validity of the tracking result of the template based on the degree of matching of the motion vectors determined by the motion vector determination means;
として機能させることを特徴とするプログラム。A program characterized by functioning as
JP2007175187A 2007-07-03 2007-07-03 Effectiveness determination device, image processing device, imaging device, and program Active JP4935541B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007175187A JP4935541B2 (en) 2007-07-03 2007-07-03 Effectiveness determination device, image processing device, imaging device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007175187A JP4935541B2 (en) 2007-07-03 2007-07-03 Effectiveness determination device, image processing device, imaging device, and program

Publications (3)

Publication Number Publication Date
JP2009017113A JP2009017113A (en) 2009-01-22
JP2009017113A5 JP2009017113A5 (en) 2010-08-12
JP4935541B2 true JP4935541B2 (en) 2012-05-23

Family

ID=40357480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007175187A Active JP4935541B2 (en) 2007-07-03 2007-07-03 Effectiveness determination device, image processing device, imaging device, and program

Country Status (1)

Country Link
JP (1) JP4935541B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0670308A (en) * 1992-08-19 1994-03-11 Matsushita Electric Ind Co Ltd Coder for motion compensation inter-frame prediction
JPH1051793A (en) * 1996-08-05 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Block matching device
JP2006325274A (en) * 2006-09-11 2006-11-30 Olympus Corp Imaging device

Also Published As

Publication number Publication date
JP2009017113A (en) 2009-01-22

Similar Documents

Publication Publication Date Title
KR100929085B1 (en) Image processing apparatus, image processing method and computer program recording medium
JP5075757B2 (en) Image processing apparatus, image processing program, image processing method, and electronic apparatus
JP5048542B2 (en) Image processing apparatus and image processing program
US10572762B2 (en) Image processing method for performing pattern matching for detecting a position of a detection target
JP2013539273A (en) Autofocus for stereoscopic cameras
US10013632B2 (en) Object tracking apparatus, control method therefor and storage medium
JP4055998B2 (en) Distance detection device, distance detection method, and distance detection program
US9811909B2 (en) Image processing apparatus, distance measuring apparatus, imaging apparatus, and image processing method
JP2015148532A (en) Distance measuring device, imaging apparatus, distance measuring method, and program
JP5740844B2 (en) Imaging apparatus, image processing method, and computer program
JP2013005258A (en) Blur correction apparatus, blur correction method, and business form
Kruger et al. In-factory calibration of multiocular camera systems
JP7379299B2 (en) Position and orientation estimation device, position and orientation estimation method, and program
JP3988574B2 (en) Image processing device
JP7312026B2 (en) Image processing device, image processing method and program
JP6564284B2 (en) Image processing apparatus and image processing method
US10332259B2 (en) Image processing apparatus, image processing method, and program
JP4935541B2 (en) Effectiveness determination device, image processing device, imaging device, and program
JP6602286B2 (en) Image processing apparatus, image processing method, and program
CN112313938B (en) Image pickup apparatus, image correction method, and computer-readable recording medium
WO2015159791A1 (en) Distance measuring device and distance measuring method
JP6555940B2 (en) Subject tracking device, imaging device, and method for controlling subject tracking device
JP6218520B2 (en) Image processing apparatus, image processing method, and program
JP5887974B2 (en) Similar image region search device, similar image region search method, and similar image region search program
JP4993686B2 (en) Corresponding point search method and three-dimensional position measurement method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111118

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4935541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150