JP2014120056A - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP2014120056A
JP2014120056A JP2012275976A JP2012275976A JP2014120056A JP 2014120056 A JP2014120056 A JP 2014120056A JP 2012275976 A JP2012275976 A JP 2012275976A JP 2012275976 A JP2012275976 A JP 2012275976A JP 2014120056 A JP2014120056 A JP 2014120056A
Authority
JP
Japan
Prior art keywords
feature point
scale
priority
upper limit
image
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.)
Pending
Application number
JP2012275976A
Other languages
English (en)
Inventor
Naoyuki Miyashita
尚之 宮下
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.)
Olympus Corp
Original Assignee
Olympus Corp
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 Olympus Corp filed Critical Olympus Corp
Priority to JP2012275976A priority Critical patent/JP2014120056A/ja
Publication of JP2014120056A publication Critical patent/JP2014120056A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】特徴点検出処理にて画像から検出する特徴点の数に上限が定められているときに、有用な特徴点を多く検出できる画像処理装置及び画像処理方法を提供すること。
【解決手段】画像処理装置は、取得した画像の特徴点を検出するために画像に設定される検出領域に対して大きさの異なる複数のスケールを設定するスケール設定部1081と、複数のスケールの各々に対し、スケール間の特徴点の検出の優先度を設定する優先度設定部1082と、検出領域から検出する特徴点の上限点数を設定する上限点数設定部1083と、スケール毎に検出領域内の画像の画素値を用いて評価値を算出し、評価値に基づき、スケールから特徴点の候補を検出する特徴点候補検出部1084と、優先度と上限点数とに基づいて、特徴点の候補から特徴点を決定する特徴点決定部と1085、を有する。
【選択図】図1

Description

本発明は、特徴点を検出する画像処理装置及び画像処理方法に関する。
画像内のコーナー等、ある画像範囲における構造が特徴的な座標を特徴点と言う。画像から特徴点を検出するには、通常、以下の処理を行う。
1.画像入力
2.スケール設定 特徴点を検出する際のスケールを設定する。
3.評価値算出 画像座標毎に、スケールに応じた画像範囲の画素値を用いて評価値を算出する。
4.特徴点検出 評価値が所定の閾値以上である座標を特徴点として検出する。
ここで、スケール設定において、スケールを大きく設定すれば広い画像範囲を、スケールを小さく設定すれば狭い画像範囲を評価値算出に使用し特徴点検出を行う。様々なスケールの特徴点を検出するために、スケール設定にて複数のスケールを設定し、複数のスケールの各々にて、評価値算出と特徴点検出を行うことが一般的である。
スケール設定には次の手法がある。
・評価値算出におけるフィルタサイズを変更する。
・評価値算出におけるフィルタサイズを固定し、画像のほうをリサイズする。
・フィルタサイズの変更と画像のリサイズの両方を行う。
特許文献1は、フィルタサイズの変更と画像のリサイズの両方を組み合わせた例である。この特許文献1では、スケール設定の際に、Gaussianフィルタのσ値を初期値から所定の大きさまで複数設定し、評価値としてDoG(Difference-of-Gaussian)画像を算出している。また、解像度を1/(2)(nは任意の自然数)までリサイズした画像に対しても同様にGaussianフィルタのσ値を初期値から所定の大きさまで複数設定し、評価値を算出している。
また、特許文献2は、評価値算出におけるフィルタサイズを固定しつつ、画像を複数の係数倍でリサイズし、各々のリサイズ後に得られる画像から評価値を算出している。
ここで、限られた計算リソースの中で無制限に特徴点を出力することは難しいので、検出する特徴点の数に上限を設けることが多い。この場合、設定したスケールの大きさに関係なく評価値の大きい順に所定の数の点を特徴点として検出することが一般的である。
米国特許第6711293号明細書 特開2012−103758号公報
特徴点検出において検出する特徴点の数に上限を設ける場合、単純に評価値が大きい順に特徴点を検出すると、シーンに応じた適当な大きさのスケールから必ずしも多くの点が得られるとは限らず、検出された点の中に無駄な特徴点が含まれる可能性がある。
例えば、画像間の位置合わせ処理に特徴点検出の結果を用いる用途にて、露光ブレが生じているシーンの場合、露光ブレ量より小さなスケールから検出された特徴点は、シーンの構造を捉えて検出された点ではなくノイズ点の可能性が高いと考えられる。したがって、このようなスケールから検出される点はなるべく特徴点として採用しないようにすることが望ましい。
本発明は、前記の事情に鑑みてなされたもので、特徴点検出処理にて画像から検出する特徴点の数に上限が定められているときに、有用な特徴点を多く検出できる画像処理装置及び画像処理方法を提供することを目的とする。
前記の目的を達成するために、本発明の第1の態様の画像処理装置は、取得した画像に設定される特徴点を検出する検出領域に対し、大きさの異なる複数のスケールを設定するスケール設定部と、複数の前記スケールの各々に対し、当該スケール間の特徴点の検出の優先度を設定する優先度設定部と、前記検出領域から検出する前記特徴点の上限点数を設定する上限点数設定部と、前記スケール毎に、前記検出領域における前記取得した画像の画素値を用いて評価値を算出し、該算出した評価値に基づき、前記取得した画像の検出領域から特徴点の候補を検出する特徴点候補検出部と、前記優先度と前記上限点数とに基づいて、前記特徴点の候補から特徴点を決定する特徴点決定部と、を具備することを特徴とする。
前記の目的を達成するために、本発明の第2の態様の画像処理方法は、取得した画像に設定される特徴点を検出する検出領域に対し、大きさの異なる複数のスケールを設定し、複数の前記スケールの各々に対し、当該スケール間の特徴点の検出の優先度を設定し、前記検出領域から検出する前記特徴点の上限点数を設定し、前記スケール毎に、前記検出領域における前記取得した画像の画素値を用いて評価値を算出し、該算出した評価値に基づき、前記取得した画像の検出領域から特徴点の候補を検出し、前記優先度と前記上限点数とに基づいて、前記特徴点の候補から特徴点を決定する、ことを特徴とする。
本発明によれば、特徴点検出処理にて画像から検出する特徴点の数に上限が定められているときに、有用な特徴点を多く検出できる画像処理装置及び画像処理方法を提供することができる。
画像からスケール変化に対応した特徴点を検出する手法の概念図である。 第1の実施形態に係る画像処理装置の構成を示すブロック図である。 第1の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。 第1の実施形態に係る画像処理方法の処理の概念図である。 優先度設定処理について示すフローチャートである。 優先度設定テーブルの例である。 特徴点候補の検出例を示す図である。 特徴点決定処理の概念図である。 特徴点決定処理について示すフローチャートである。 特徴点リストの出力例を示す図である。 第1の実施形態における優先度設定処理の第1の変形例のフローチャートである。 露光ブレ量がスケールs=3に近い値を持つとした場合の優先度の設定例を示す図である。 第1の実施形態における優先度設定処理の第2の変形例のフローチャートである。 第1の実施形態における優先度設定処理の第3の変形例のフローチャートである。 最も高い優先度を付与されたスケールに対して番号が近いスケールから順に優先度を設定した場合の例を示す図である。 第2の実施形態に係る画像処理装置の構成を示すブロック図である。 第2の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。 第2の実施形態に係る画像処理方法の処理の概念図である。 スケール毎上限検出処理を示すフローチャートである。 第3の実施形態に係る画像処理装置の構成を示すブロック図である。 第3の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。 スケール実行順の設定例を示す図である。
以下、図面を参照して本発明の実施形態を説明する。ここで、以下の各実施形態で説明する画像処理装置は、特定の機器に限定されるものではない。例えば、以下の各実施形態で説明する画像処理装置は、パーソナルコンピュータ、デジタルカメラ等の各種の機器に搭載され得る。また、以下の各実施形態で説明する画像処理装置と同等の機能が、クラウドコンピューティングを利用して実現されても良い。
以下に説明する各実施形態は、スケール変化に対応した特徴点の検出を行う際に、検出する特徴点の数に上限を設ける。さらに、特徴点を検出するスケールに優先度を設定することで、シーンに応じた適当なスケールからより多くの特徴点を得られるようにする。
ここで、各実施形態で述べる「スケール」の定義について述べる。図1は、画像からスケール変化に対応した特徴点を検出する手法の概念図である。特徴点は、入力画像又は入力画像に予め設定される特徴点の検出領域に対して所定のフィルタサイズの評価値算出フィルタを座標毎に適用して評価値を算出し、画像の中の評価値の大きい座標を抽出することで検出される。ここで、図1(a)に示すように評価値算出フィルタのフィルタサイズを一定にして画像の解像度を変化させるか、図1(b)に示すように画像のサイズを一定にして評価値算出フィルタのフィルタサイズを変化させるかにより、スケール変化に対応した特徴点検出を行うことができる。つまり、画像の解像度と評価値算出フィルタのフィルタサイズとの相対サイズ(サイズ比)によって、特徴点のスケールが決定される。
以下に説明する実施形態において「特徴点のスケールが大きい」というときは前述の相対サイズが大きいことを示し、「特徴点のスケールが小さい」というときは前述の相対サイズが小さいことを表すものとする。また、説明を簡単にするために、以下の説明においては、スケール変化の処理として、図1(b)に示す評価値算出フィルタのフィルタサイズのほうを変更する処理を前提に述べる。しかしながら、図1(a)に示す画像の解像度のほうを変更する処理を用いても良いし、評価値算出フィルタのフィルタサイズと画像の解像度との両方を変更する処理を用いても良い。また、図1(b)に示す例では、評価値算出フィルタのフィルタサイズを水平方向及び垂直方向に√2/1倍ずつ(フィルタサイズを2倍ずつ)変更していく例を示している。しかしながら、フィルタサイズの拡大率は、これに限るものではない。
また、以下の説明においては、説明を簡単にするために、特徴点を検出する検出領域が画像の全体であるとする。しかしながら、画像の一部の領域を検出領域としても良い。
<第1の実施形態>
本発明の第1の実施形態について説明する。第1の実施形態は、画像から検出する特徴点の数に上限がある際に、スケール毎に優先度を設定し、優先度に応じて特徴点を検出する例である。
図2は、第1の実施形態に係る画像処理装置の構成を示すブロック図である。図2に示す画像処理装置100は、制御部102と、記憶部104と、画像取得部106と、画像処理部108と、を有している。
制御部102は、画像処理部108の動作を制御すべく、各種の制御信号を画像処理部108に対して入力する。例えば、制御部102は、画像処理部108に対して特徴点検出の実行を指示する。
記憶部104は、ハードディスクドライブ(HDD)及びダイナミックRAM(DRAM)といった記憶媒体を有している。HDDは、画像取得部106によって入力される画像データ、後述の特徴点候補検出の処理等で用いられるパラメータ、制御部102で実行される各種のプログラム等を記憶している。DRAMは、制御部102及び画像処理部108における処理データを一時記憶しておく作業メモリとして使用される。
画像取得部106は、記憶部104のHDDからDRAMに展開された画像データを読み出して画像処理部108に入力する。
画像処理部108は、画像取得部106から入力された画像データに対して画像処理を施す。本実施形態における画像処理部108は、画像データにおける特徴点を検出する画像処理を行う。画像処理部108は、スケール設定部1081と、優先度設定部1082と、上限点数設定部1083と、特徴点候補検出部1084と、特徴点決定部1085と、を有している。
スケール設定部1081は、画像取得部106から特徴点候補検出部1084に入力される画像の検出領域に対し、大きさの異なる複数のスケールを設定する。
優先度設定部1082は、スケール設定部1081により設定された複数のスケールの各々に対し、スケール間の特徴点検出の優先度を設定する。
上限点数設定部1083は、検出領域から検出する特徴点の数の上限を設定する。本実施形態における上限点数設定部1083は、複数のスケールの全体に対して画像から検出する特徴点候補の点数を上限点数として設定する。以下、このような上限点数を全体上限点数と言う。
特徴点候補検出部1084は、スケール設定部1081により設定された複数のスケールの各々について、画像の検出領域から特徴点の候補を検出する。特徴点候補検出部1084は、評価値算出部1084aと候補検出部1084bとを含む。評価値算出部1084aは、複数のスケールの各々について、画像取得部106から入力された画像の画素値に基づいて検出領域における画像の評価値を算出する。候補検出部1084bは、評価値から特徴点候補を検出する。
特徴点決定部1085は、優先度設定部1082により設定された優先度と上限点数設定部1083により設定された全体上限点数とに基づいて、特徴点候補検出部1084により検出された特徴点候補のうちで特徴点とするものを決定する。
図3は、第1の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。また、図4は、本実施形態に係る画像処理方法の処理の概念図である。
まず、画像取得部106は、記憶部104に記憶されている画像データを読み出して特徴点候補検出部1084の評価値算出部1084aに入力する(S101)。以後、この評価値算出部1084aに入力される画像データを原画像と呼ぶ。
画像入力処理の後、スケール設定部1081は、特徴点を検出する際のスケールの種類を設定する(S102)。図4に示すように、本実施形態では、後述する評価値算出のフィルタサイズをスケールに応じて設定することでフィルタの種類を変更し、これによって特徴点検出のスケール変化に対応させる。スケールの種類が多いほど、多くのスケール変化に対応できる。実際には、計算コストを鑑みて、ある程度の疎となるようにスケールの種類を設定するのが一般的である。
ここでは、評価値算出フィルタのフィルタサイズの初期値(幅、高さ)=(w0,h0)を基準にフィルタサイズを√2倍ずつ拡大し、スケール1からスケールN(図4の例では、N=5)までの評価値算出フィルタのフィルタサイズを設定したものとする。
続いて、上限点数設定部1083は、全体上限点数を設定する(S103)。全体上限点数の設定手法は、特に限定されない。例えば、全体上限点数は、特徴点の検出後の用途と計算コストとに基づき、ユーザが任意に設定して良い。本実施形態例では、全体上限点数としてmaxPが設定されたものとする。
続いて、優先度設定部1082は、スケール1〜Nの各々に対して特徴点検出の優先度を設定する(S104)。優先度は、特徴点の用途により種々設定され得る。ここでは、スケールを変化させながら二次微分フィルタを原画像に対してスケール変更数N回だけ適用し、それぞれの二次微分フィルタの応答値から優先度を設定する例を示す。以下、図5を参照して優先度設定処理についてさらに説明する。
図5に示す優先度設定処理において、優先度設定部1082は、フィルタの変更回数を管理する変数fに1を加算する(S201)。ここで、変数fは、予め0に初期化されているものとする。
続いて、優先度設定部1082は、二次微分フィルタを生成する(S202)。この時、優先度設定部1082は、フィルタ変更回数fの値に応じて、フィルタのスケールが大きくなるように二次微分フィルタを生成する。ここでは、二次微分フィルタとしてLoG(Laplacian Of Gaussian)フィルタを用いる。LoGフィルタの係数は下式で計算される。
Figure 2014120056
続いて、優先度設定部1082は、生成した二次微分フィルタを原画像にコンボリューションする(S203)。コンボリューションの結果として、二次微分フィルタのスケールに応じた画像領域以外が平滑化された画像が得られる。なお、フィルタコンボリューションを下式で示す。
Figure 2014120056
続いて、優先度設定部1082は、コンボリューションの結果として得られる平滑化画像から、優先度評価値Pfを算出する(S204)。ここでは優先度評価値として、下式で示すように平滑化画像の全画素値の平均値を算出する。
Figure 2014120056
続いて、優先度設定部1082は、フィルタ変更回数fがスケール変更数Nと等しいか否かを判定する(S205)。S205において、フィルタ変更回数fがスケール変更数Nと等しくないと判定した場合に、優先度設定部1082は、S201からの処理を再び処理を行う。
S205において、フィルタ変更回数fがスケール変更数Nと等しいと判定した場合に、優先度設定部1082は、S201〜S204の反復処理を終える。反復処理により、スケール変更数Nと同数の優先度評価値Pf(f=1〜N)が得られている。優先度設定部1082は、これらの優先度評価値Pfに基づいて、各スケールの優先度を設定する(S206)。ここでは、優先度評価値Pfを降順にソートした後の、各優先度評価値に対応するフィルタ変更回数fを優先度とする。つまり、各スケールに対する二次微分フィルタの応答値が強い順に優先度を設定する。ここでは、例として優先度設定処理の結果として、図6の優先度設定テーブルで示すようにスケール1〜N(N=5)に対する優先度が設定されたものとする。
このように、本実施形態では、フィルタの応答値が強い順にスケールの優先度を設定している。フィルタの応答値が強いということは、それに対応したスケールから検出される特徴点候補がシーンの構造を捉えて検出された点であって有用な特徴点となる可能性が高いことを意味している。このように、本実施形態では、有用な特徴点を得られ易いスケールを予め判別しておくことにより、後述の特徴点候補検出の際に有用な特徴点候補が得られ易くなる。
以上示した処理によって優先度設定処理が完了する。ここで、本実施形態では、優先度を設定するための手法としてLoGフィルタを用いたが、原画像がどのスケールに強く反応するかを調べることができる手法であれば、必ずしもLoGフィルタを用いる必要はない。例えば、原画像を周波数解析し、画像に多く含まれる周波数帯域を同定し、該周波数帯域に相当する空間領域のスケールを算出することによって優先度設定をしても良い。また、後述するS106及びS107と同様の処理を行うことによって得られる評価値の統計値や特徴点候補の数を優先度評価値としても良い。
また、優先度設定に際しては、優先度評価値Pfの大小関係が分かれば良い。したがって、計算コストを鑑みると原画像の全座標を厳密に処理する必要はなく、例えば原画像の一部領域や原画像を縮小した画像を用いて優先度評価値Pfを算出しても良い。
ここで、再び図3の説明に戻る。優先度設定処理の後、S105〜S108で示す処理をスケール変更数N回分だけ反復処理する。このために、特徴点候補検出部1084は、反復処理の反復回数を管理するフラグであるスケール変更回数sに1を加算する(S105)。ここで、変数sは、予め0に初期化されているものとする。
続いて、特徴点候補検出部1084の評価値算出部1084aは、スケールsについて評価値を算出する(S106)。評価値とは、原画像の座標毎に、各座標の周囲の画像領域がどの程度特徴的であるかを指標化したものである。例えば、周囲の画像領域が平坦状であると評価値は低く算出され、エッジ状であると評価値は高く算出される。評価値算出の手法は特に限定されるものではないが、ここでは、例えばある座標におけるHarris作用素Rを評価値として算出する。Harris作用素は下式で計算される。
Figure 2014120056
ここで、上式で示すHarris作用素を計算するための行列Mにおけるx,y方向の微分値の計算範囲は、スケールsに応じて変更される。例えば、この計算範囲としては、スケール設定部1081において設定されたスケールの種類に応じた評価値算出フィルタのフィルタサイズを用いる。他の評価値算出の手法として、例えば、SIFTのDoGが挙げられる。DoGは、原画像に2つの異なるσ値によるGaussianフィルタを適用した画像間の差分値である。この場合、スケール設定部1081は、スケールsに応じた2つのσ値を評価値算出フィルタのフィルタサイズの代わりに設定する。
続いて、特徴点候補検出部1084の候補検出部1084bは、評価値から特徴点候補を検出する(S107)。この処理において、候補検出部1084bは、座標毎の評価値の大きさを調べ、評価値が所定の閾値より大きい座標を特徴点候補として検出する。ここでは、スケールsから、numPs個の特徴点候補が検出されたとする。図7は、特徴点候補の検出例を示す図である。図7に示すように、特徴点候補の情報としては、その座標を記憶しておく。また、検出された特徴点候補には、例えば評価値valueの大きい順にid番号を付与して特徴点候補の座標と対応付けておくようにしても良い。
続いて、特徴点候補検出部1084は、スケール変更回数sがスケール変更数Nと等しいか否かを判定する(S108)。S108において、スケール変更回数sがスケール変更数Nと等しくないと判定した場合に、未処理のスケールが残っているため、特徴点候補検出部1084は、S105からの処理を再び行う。
S108において、スケール変更回数sがスケール変更数Nと等しいと判定した場合に、特徴点候補検出部1084は、反復処理を終える。反復処理により、各スケールから特徴点候補が検出される。
続いて、特徴点決定部1085は、優先度が高いスケールに対して画像から検出された特徴点候補を上位の特徴点として決定する(S109)。以下、図8及び図9を参照して特徴点決定処理についてさらに説明する。
図9において、特徴点決定部1085は、特徴点決定処理において用いる変数を初期化する(S901)。この処理において、特徴点決定部1085は、特徴点の数を示す変数numPと優先度カウントiをそれぞれ0に初期化する。
以下、特徴点決定部1085は、S902〜S906までの反復処理を行う。このために、特徴点決定部1085は、優先度カウントiに1を加算する(S902)。
続いて、特徴点決定部1085は、優先度カウントiに対応する特徴点候補の数numPiを取得する(S903)。numPiは、優先度設定部1082において作成された優先度設定テーブルに対し、優先度カウントiに対応するスケールを参照することで得られる。優先度カウントi=1を例にとると、図6の例では優先度1のスケールはスケール3である。したがって、特徴点候補の数としては、スケール3から得られた点数numP3を取得する。
続いて、特徴点決定部1085は、numPにnumPiを加算する(S904)。その後、特徴点決定部1085は、numPが全体上限点数maxP以下であるか否かを判定する(S905)。
S905において、numPがmaxP以下であると判定した場合、特徴点決定部1085は、numPi個の特徴点候補の全てに抽出フラグを付与する(S906)。その後、特徴点決定部1085は、優先度カウントiがスケール変更数Nに等しいか否かを判定する(S907)。S907において、優先度カウントiがスケール変更数Nに等しいと判定した場合、特徴点決定部1085は、S902〜S906の反復処理を終了する。この場合、図9の処理が終了する。また、S907において、優先度カウントiがスケール変更数Nに等しくないと判定した場合、特徴点決定部1085は、S902からの処理を再び行う。
S905において、numPがmaxP以下でないと判定した場合、特徴点決定部1085は、numPiから端数の特徴点を抽出する(S908)。この処理は、スケールから検出された特徴点候補の数numPiをnumPに加算したところ、全体上限点数maxPを超過した場合に実行される。端数numFracは、全体上限点数maxPに後何点の空きがあるかを調べるものであり下式で求められる。
Figure 2014120056
次に、端数numFracの分だけの特徴点候補をnumPiから抽出する。具体的には、numPi のid番号順にnumFrac個の特徴点候補に抽出フラグを付与する。
このように、図9の例の特徴点決定処理においては、優先度の高いスケールから検出された特徴点候補の数numPiを順次numPに加算していき、numPが全体上限点数maxPを超えた場合又は全スケールの特徴点候補の数をnumPに加算し終えた場合に反復処理が終了される。
以上により、特徴点候補に対する抽出フラグ付けが完了する。この抽出フラグ付けでは、優先度の高いスケールに対して画像から検出される特徴点候補にまず抽出フラグが付与される。そして、あるスケールの中で端数が生じた場合には、その端数分の特徴点候補にも抽出フラグが付与される。
最後に、特徴点決定部1085は、各スケールの特徴点候補に付与された抽出フラグを用いて、本画像処理装置100が特徴点とする検出領域内の座標を決定する。そして、特徴点決定部1085は、特徴点の座標を示す特徴点リストを出力する。図10は、特徴点リストの出力例を示す図である。本実施形態においては、優先度の高いスケールから抽出された特徴点の座標が特徴点リストに多く含まれることになる。
以上説明したように、本実施形態では、優先度の高いスケールから優先して特徴点を抽出するようにしている。これにより、特徴点検出の上限点数が定められている場合であっても、有用な特徴点をより多く検出することが可能である。
ここで、本実施形態では、原画像に二次微分フィルタを適用することによって得られる応答値の高い順に優先度を高く設定しているが、原画像に対して適用するフィルタの種類によっては、必ずしも応答値の高い順に優先度を高く設定する必要はない。
<第1の実施形態の変形例>
次に、第1の実施形態における優先度設定処理の変形例について説明する。前述した実施形態では、原画像に二次微分フィルタを適用することによって得られる応答値から有用な特徴点が得られ易いスケールを判別するようにしている。これは、原画像の画像情報を用いてスケールの優先度を設定していることを意味する。この他、下記の3つの手法でスケールの優先度を設定しても良い。
a.原画像の撮影パラメータを用いてスケールの優先度を設定する。
b.予め与えられた値にスケールの優先度を設定する。
c.ユーザにスケールの優先度を設定させる。
以下、それぞれの手法について説明する。
a.原画像の撮影パラメータを用いる
ここでは、原画像は、カメラ等で撮影された画像データであり、また、撮影パラメータは、画像データに例えばExif(Exchangeable Image File Format)タグ情報として記憶されているものとする。以下、撮影パラメータを用いて原画像の露光ブレ量を推定し、優先度設定に用いる例を示す。図11は、第1の実施形態における優先度設定処理の第1の変形例のフローチャートである。
図11において、優先度設定部1082は、撮影パラメータとして、撮影時の露光時間ssと露光時間ss中のカメラの回転角rx,ry,rzとを取得する(S501)。ここで、回転角rx,ry,rzは、予めにカメラに設定された互いに直交するx,y,z軸周りの回転角である。それぞれの回転角は、例えば角速度センサによって検出される。
続いて、優先度設定部1082は、露光ブレ量を算出する(S502)。画像中の任意座標(x,y)の露光ブレ量は、以下の手順で計算される。
Figure 2014120056
上式で示される露光ブレ量は画像の座標によって変わるので、原画像の全座標又は適当にサンプリングした座標群にて各々の露光ブレ量を計算する。最終的に算出する露光ブレ量は、各座標で求めた露光ブレ量の平均値とする。即ち、以下の計算によって最終的な露光ブレ量を算出する。
Figure 2014120056
続いて、優先度設定部1082は、露光ブレ量を基に各スケールに対する優先度を設定する(S503)。ここでは、露光ブレ量より大きなスケールの優先度を高く設定する。図12は、露光ブレ量がスケールs=3に近い値を持つとした場合の優先度の設定例を示す。露光ブレ量より大きなスケールより画像から検出される特徴点は、ノイズ点である可能性が低く、有用な特徴点であると考えられる。
ここで、前述の変形例では撮影パラメータを利用して露光ボケ量を算出し、この露光ボケ量を基に優先度を設定するようにしている。これに対し、他の撮影パラメータを使用してスケールの優先度を設定することもできる。以下に他の撮影パラメータを利用してスケールの優先度を設定する例を示す。
・原画像のピントボケ量を利用する。
前述の変形例では、撮影時におけるカメラの回転ブレに起因する露光ボケ量を利用してスケールの優先度を設定している。これに対し、撮影時におけるピントボケ量を利用してスケールの優先度を設定しても良い。この場合、撮影パラメータとして、F値と、焦点距離と、フォーカス位置の被写体距離とを取得して被写界深度を算出し、被写界深度に応じてスケールの優先度を設定する。例えば、被写界深度が小さいときには画像がボケている可能性が高いので、大きい範囲を有するスケールの優先度を高く設定する。
また、AF(オートフォーカス)位置から、MF(マニュアルフォーカス)操作によってピント位置が変更された場合、撮影パラメータとしてレンズの駆動量を取得し、AF 位置からの差分量に応じてスケールの優先度を設定しても良い。例えば、差分量が大きいほど、ピントが外れている、即ち画像のボケが大きいとし、大きい範囲を有するスケールの優先度を高く設定する。
・原画像のノイズ量を利用する。
原画像にノイズが多く含まれるときには、小さなスケールはノイズの影響を受けやすく、有用な特徴点が得られる可能性は低くなる。したがって、撮影パラメータとして、ISO感度を取得し、ISO感度の大きさに応じて定まるノイズ量から、スケールの優先度を設定しても良い。また、原画像の明るさによりノイズ量の影響の程度が異なるため、画像の露出値EVから明るさを取得し、取得した明るさとISO感度とを合わせてスケールの優先度を設定しても良い。例えば、被写体が暗く且つISO感度が大きい場合には、ノイズの影響が大きくなるので、大きい範囲を有するスケールの優先度を高く設定する。また、原画像がJPEG処理等で圧縮されている場合にはその圧縮率からノイズ量を定めて利用しても良い。
・シーンの3D情報を利用する。
原画像に含まれる被写体に対し、カメラとの距離が近いときはより小さなスケールが被写体の構造を鑑みたスケールであると言え、カメラとの距離が遠いときはより大きなスケールが被写体の構造を鑑みたスケールであると言える。したがって、撮影パラメータとして、3D測定機能を備えたカメラにて撮影時に取得されたシーンの3D情報(x,y,z)を取得し、シーンの遠近によりスケールの優先度を設定しても良い。
以上、幾つかの撮影パラメータに従ってスケールに対する優先度を設定する例を示したが、これらの優先度の設定処理は必ずしも単独で用いる必要はなく、組み合わせて用いても良い。また、画像情報からスケールの優先度を設定する第1の実施形態と撮影パラメータからスケールの優先度を設定する第1の実施形態の変形例とを組み合わせても良い。
b.予め与えられた値にスケールの優先度を設定する。
予め与えられたスケールの優先度を設定できるようにしても良い。これは、記憶部104等に各スケールの優先度の設定値を予め記憶させておき、それを利用する処理である。予め与えられた値とは、例えば、本画像処理装置の用途等に応じて設計者等が決定した値等である。図13は、第1の実施形態における優先度設定処理の第2の変形例のフローチャートである。
図13において、優先度設定部1082は、記憶部104から、予め設定された優先度の設定値を読み込む(S601)。この設定値は、例えば複数のスケールの各々に対する優先度を示す番号である。
続いて、優先度設定部1082は、読み込んだ設定値に従って各スケールに優先度を設定する(S602)。
c.ユーザにスケールの優先度を設定させる。
本画像処理装置100を使用するユーザがスケールの優先度を設定できるようにしても良い。図14は、第1の実施形態における優先度設定処理の第3の変形例のフローチャートである。このフローチャートは、優先度設定処理のタイミングでユーザからの操作を受け付ける例を示す。ユーザからの操作の受付は、優先度設定処理の前のタイミングであっても良い。
図14において、優先度設定部1082は、ユーザに対してスケール設定をする判断材料を提示する(S701)。この処理において、優先度設定部1082は、例えば図示しない表示デバイスに、原画像そのものや、数値、図形データ等を表示させる。また、判断材料としては、例えばS204の優先度評価値の算出で説明した各スケールのフィルタの応答値をグラフ表示させる。このようなグラフを見ることによって、ユーザはどのスケールに高い優先度を与えるべきかを視覚的に判断することができる。
続いて、優先度設定部1082は、ユーザからの操作を受け付ける(S702)。ユーザによる操作は、例えばキーボードやボタンでなされる。受け付けられる操作としては、ユーザがスケール変更数Nに対して最も優先したいスケールを選択する操作である。勿論、全てのスケールに対する優先度を設定できるようにしても良い。
続いて、優先度設定部1082は、ユーザの操作に従って各スケールの優先度を設定する(S703)。S702において最も優先度が高いスケールが1つユーザから設定されている。この最も高い優先度を付与されたスケールを基準として他のスケールの優先度を設定する。例えば、最も高い優先度を付与されたスケールに対して番号が近いスケールから順に優先度を設定する。このような優先度の設定例を図15に示す。
<第2の実施形態>
以下、本発明の第2の実施形態について説明する。第1の実施形態では個々のスケールに対しては上限点数を設けず、複数のスケールの全体に対して上限点数を設定している。これに対し、第2の実施形態は、複数のスケールの各々に上限点数を設定する例である。
図16は、第2の実施形態に係る画像処理装置の構成を示すブロック図である。ここで、図16においては図2と異なる部分を主に説明し、図2と共通の部分については説明を省略する。第2の実施形態は、上限点数設定部1083の構成が第1の実施形態と異なっている。
第2の実施形態における上限点数設定部1083は、スケール毎上限点数設定部1083aと全体上限点数設定部1083bとを有している。
スケール毎上限点数設定部1083aは、複数のスケールの各々に対し、画像から検出する特徴点候補の上限点数を設定する。全体上限点数設定部1083bは、複数のスケールの全体に対して画像から検出する特徴点候補の点数を上限点数として設定する。
図17は、第2の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。また、図18は、本実施形態に係る画像処理方法の処理の概念図である。ここで、図17において図3と共通の処理については、図3と共通の参照符号を付すことで説明を省略する。即ち、以下に述べるS121及びS122以外の処理は図3と同様である。
図17に示すように、上限点数設定処理として全体上限点数を設定した後、スケール毎上限点数設定部1083aは、スケール1からスケールN(例えばN=5)までの各々に上限点数を設定する(S121)。上限点数の設定手法は特に限定されない。例えば、優先度が最も高いスケールの上限点数を2000点、その次に優先度の高いスケールの上限点数を1000点、以下、500点、250点、125点といったように、優先度の高いスケールに対してより多い上限点数を設定する。以下、各スケールに設定した上限点数をmaxPs(s=1〜N)と表記する。
以下、第1の実施形態と同様の特徴点候補検出までの処理が行われる。この後、特徴点候補検出部1084は、スケール毎上限検出処理を行う(S121)。この処理は、特徴点候補numPsのうち、各スケールに設定された上限点数maxPs個の点を特徴点候補とする処理である。
図19は、スケール毎上限検出処理を示すフローチャートである。図19において、特徴点候補検出部1084は、現在の処理対象のスケールsの特徴点候補の数numPsが、そのスケールsの上限点数maxPsより大きいか否かを判定する(S1001)。
S1001において、numPsがmaxPを超えている場合、特徴点候補検出部1084は、numPs個の特徴点候補を評価値の大きい順にソートする(S1002)。なお、ソートの手段は問わない。その後、特徴点候補検出部1084は、numPs個の特徴点候補のうち、評価値の上位maxPs個の特徴点候補を出力する(S1003)。そして、特徴点候補検出部1084は、図19の処理を終了させる。
S1001において、numPsがmaxPs以下、即ちスケールsに対して画像から検出された特徴点候補の数が上限点数以下である場合、S1003の処理のように評価値が上位の特徴点候補を抽出する必要はない。したがって、特徴点候補検出部1084は、numPs個の特徴点候補の全てを出力する(S1004)。そして、特徴点候補検出部1084は、図19の処理を終了させる。
ここで、S1002及びS1003ではソート処理を行うように述べたが、結果として評価値が上位のmaxPs個の特徴点候補が抽出できれば良い。したがって、抽出された特徴点候補同士の順列は必ずしもソートされている必要はない。
以上説明したように、本発明の第2の実施形態では、複数のスケールの各々に上限点数を設定している。これにより、優先度の高いスケールからのみ特徴点が検出されてしまう可能性を避けることができる。したがって、より特徴点の用途やシーンに応じた検出が可能である。
ここで、第2の実施形態では、第1の実施形態と同様の全体上限点数の設定も行っている。しかしながら、スケール毎上限点数設定のみ行うようにしても良い。この場合には、スケール毎上限検出処理によって出力された全ての特徴点候補が特徴点として決定される。
また、第2の実施形態においても、第1の実施形態で説明した各種の変形例が適用され得る。
<第3の実施形態>
第1の実施形態では、スケール設定部1081において設定された複数のスケールの全てに対し、評価値の計算等の全ての計算を行っている。しかしながら、全体上限点数が設定されているので、優先度の低いスケールに対して画像から検出された特徴点候補は、最終的に特徴点として決定される可能性は低い。これに対し、第3の実施形態は、複数のスケールに対する処理を順番に行いながら、全体上限点数に達した時点で処理を打ち切ることで計算コストの低減を図る例である。
図20は、第3の実施形態に係る画像処理装置の構成を示すブロック図である。図20に示すように、第3の実施形態の画像処理装置の構成は、図2で示した第1の実施形態の画像処理装置の構成とほぼ同一である。ただし、優先度設定部1082で設定される優先度が特徴点候補検出部1084の評価値算出部1084aに入力される点と、上限点数設定部1083で設定される全体上限点数が特徴点候補検出部1084の候補検出部1084bに入力される点とが異なっている。
図21は、第3の実施形態に係る画像処理装置を用いた画像処理方法としての特徴点検出の全体の流れを示すフローチャートである。ここで、図21において図3と共通の処理については、図3と共通の参照符号を付すことで説明を省略する。即ち、以下に述べるS131及びS132以外の処理は図3と同様である。
図21に示すように、優先度設定処理の後、優先度設定部1082は、特徴点候補を検出するスケールに対する処理の実行順をスケール実行順execとして設定する(S131)。スケール実行順execは、優先度が高い順に設定する。図22は、スケール実行順execの設定例を示す図である。
続いて、特徴点候補検出部1084は、複数のスケールの各々について反復処理を行う。本実施形態においては、S131で設定したスケール実行順に従ってスケールの種類を順次変更する。この処理において、候補検出部1084bは、S107において特徴点候補を検出した後、反復処理を継続するか打ち切るかの判定を行う。このために、候補検出部1084bは、検出された特徴点候補の総和を以下のように算出する。
Figure 2014120056
特徴点候補の算出後、候補検出部1084bは、特徴点候補の総和sumPが全体上限点数maxP未満であるか否かを判定する(S132)。S132において、特徴点候補の総和sumPが全体上限点数maxP未満である場合には、処理がS108を経てS105に移行する。この場合には、反復処理が継続される。また、S132において、特徴点候補の総和sumPが全体上限点数maxP以上の場合には、処理がS109に移行する。この場合には、反復処理が終了される。
以上説明したように本実施形態によれば、優先度の高い順にスケール実行順を設定してこの順番に従って各スケールに対する処理を実行し、特徴点候補の総和が全体上限点数以上になった場合に処理を打ち切るようにしている。これにより、必要の無いスケールの計算が省略され、計算コストが低減される。
ここで、前述の実施形態では全てのスケールに対する処理を行う前提としている。実際には、優先度評価値Pfが著しく低いスケールに対しては、処理を行わないように設定しても良い。これは、前述したように優先度評価値Pfが著しく低いスケールからは有用な特徴点が得られない可能性が高いためである。
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、上述した実施形態における画像処理装置による各処理の手法、即ち、各フローチャートに示す処理は、何れも制御部102に実行させることができるプログラムとして記憶させておくこともできる。この他、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、制御部102は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
100…画像処理装置、102…制御部、104…記憶部、106…画像取得部、108…画像処理部、1081…スケール設定部、1082…優先度設定部、1083…上限点数設定部、1083a…スケール毎上限点数設定部、1083b…全体上限点数設定部、1084…特徴点候補検出部、1084a…評価値算出部、1084b…候補検出部、1085…特徴点決定部

Claims (8)

  1. 取得した画像に設定される特徴点を検出する検出領域に対し、大きさの異なる複数のスケールを設定するスケール設定部と、
    複数の前記スケールの各々に対し、当該スケール間の特徴点の検出の優先度を設定する優先度設定部と、
    前記検出領域から検出する前記特徴点の上限点数を設定する上限点数設定部と、
    前記スケール毎に、前記検出領域における前記取得した画像の画素値を用いて評価値を算出し、該算出した評価値に基づき、前記取得した画像の検出領域から特徴点の候補を検出する特徴点候補検出部と、
    前記優先度と前記上限点数とに基づいて、前記特徴点の候補から特徴点を決定する特徴点決定部と、
    を具備することを特徴とする画像処理装置。
  2. 前記上限点数設定部は、前記スケール毎に検出された特徴点の、前記取得した画像の全体に対する上限点数を設定し、
    前記特徴点決定部は、前記優先度が上位のスケールに対して検出された前記特徴点の候補から順に、前記上限点数以下の前記特徴点の候補を前記特徴点として決定することを特徴とする請求項1に記載の画像処理装置。
  3. 上限点数設定部は、前記スケール毎に検出する特徴点の上限点数を設定し、
    前記特徴点候補検出部は、前記評価値が上位の特徴点から順に、前記上限点数以下の特徴点候補を検出することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記特徴点候補検出部は、前記優先度が上位の前記スケールから順番に、検出される前記特徴点の候補の総和が前記上限点数に達するまで特徴点の候補の検出を行うことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記優先度設定部は、前記取得した画像に対して複数の前記スケールのフィルタ処理を行って得られるフィルタの応答値に基づいて前記優先度を設定することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
  6. 前記優先度設定部は、前記フィルタの応答値が高い前記スケールに対する優先度を高く設定することを特徴とする請求項5に記載の画像処理装置。
  7. 前記優先度設定部は、
    前記画像が撮影された際の撮影パラメータを取得し、当該撮影パラメータに基づいて前記優先度を設定することを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 取得した画像に設定される特徴点を検出する検出領域に対し、大きさの異なる複数のスケールを設定し、
    複数の前記スケールの各々に対し、当該スケール間の特徴点の検出の優先度を設定し、
    前記検出領域から検出する前記特徴点の上限点数を設定し、
    前記スケール毎に、前記検出領域における前記取得した画像の画素値を用いて評価値を算出し、該算出した評価値に基づき、前記取得した画像の検出領域から特徴点の候補を検出し、
    前記優先度と前記上限点数とに基づいて、前記特徴点の候補から特徴点を決定する、
    ことを特徴とする画像処理方法。
JP2012275976A 2012-12-18 2012-12-18 画像処理装置及び画像処理方法 Pending JP2014120056A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012275976A JP2014120056A (ja) 2012-12-18 2012-12-18 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012275976A JP2014120056A (ja) 2012-12-18 2012-12-18 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2014120056A true JP2014120056A (ja) 2014-06-30

Family

ID=51174825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012275976A Pending JP2014120056A (ja) 2012-12-18 2012-12-18 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2014120056A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005221A (ja) * 2013-06-21 2015-01-08 キヤノン株式会社 情報処理装置、情報処理方法、及び、コンピュータプログラム
WO2022064854A1 (ja) * 2020-09-23 2022-03-31 カシオ計算機株式会社 ハードウェアアクセラレータ、画像処理装置及び画像処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005221A (ja) * 2013-06-21 2015-01-08 キヤノン株式会社 情報処理装置、情報処理方法、及び、コンピュータプログラム
WO2022064854A1 (ja) * 2020-09-23 2022-03-31 カシオ計算機株式会社 ハードウェアアクセラレータ、画像処理装置及び画像処理方法
JP2022052139A (ja) * 2020-09-23 2022-04-04 カシオ計算機株式会社 ハードウェアアクセラレータ、画像処理装置及び特徴点検出方法
JP7200983B2 (ja) 2020-09-23 2023-01-10 カシオ計算機株式会社 ハードウェアアクセラレータ、画像処理装置及び特徴点検出方法

Similar Documents

Publication Publication Date Title
JP6803899B2 (ja) 画像処理方法、画像処理装置および電子機器
JP5210318B2 (ja) 画像処理装置、方法、および記憶媒体
JP5779089B2 (ja) エッジ検出装置、エッジ検出プログラム、およびエッジ検出方法
KR102211592B1 (ko) 전자 장치 및 이의 영상 처리 방법
US9536169B2 (en) Detection apparatus, detection method, and storage medium
US9767533B2 (en) Image resolution enhancement based on data from related images
JP4990876B2 (ja) 画像処理装置
Choi et al. A method for fast multi-exposure image fusion
US10210619B2 (en) Image processing apparatus for selecting an object image to be processed based on a determination result of correlation, image pickup apparatus, and storage medium for storing image processing program
JP2014120056A (ja) 画像処理装置及び画像処理方法
KR20130103217A (ko) 블러화된 이미지의 제공 장치 및 블러화된 이미지의 제공 방법
CN116320792A (zh) 多帧图像中增强分辨率和降低噪声的方法
CN114007013B (zh) 模糊区确定和防抖性能检测方法、***、防抖性能检测设备
JP2023063807A (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP6187235B2 (ja) 法線ベクトル抽出装置、法線ベクトル抽出方法及び法線ベクトル抽出プログラム
CN115170581A (zh) 人像分割模型的生成方法、人像分割模型及人像分割方法
JP6639155B2 (ja) 画像処理装置及び画像処理方法
JP2015156189A (ja) 画像評価装置、および画像評価プログラム
KR20150047060A (ko) 명함 이미지 여부를 판별하는 장치 및 방법
CN104932868B (zh) 一种数据处理方法及电子设备
KR20140009706A (ko) 이미지 데이터에 포함된 모션 블러 영역을 찾고 그 모션 블러 영역을 처리하는 이미지 프로세싱 장치 및 그 장치를 이용한 이미지 프로세싱 방법
JP6381212B2 (ja) 撮像装置及びその制御方法
JP2018072942A (ja) 画像処理装置、画像処理方法、プログラム、記憶媒体
JP6194793B2 (ja) 画像補正装置、画像補正方法及び画像補正プログラム
JP6639120B2 (ja) 画像処理装置、画像処理方法及びプログラム