JP6230345B2 - 画像処理方法、画像処理装置、及びプログラム - Google Patents

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

Info

Publication number
JP6230345B2
JP6230345B2 JP2013185708A JP2013185708A JP6230345B2 JP 6230345 B2 JP6230345 B2 JP 6230345B2 JP 2013185708 A JP2013185708 A JP 2013185708A JP 2013185708 A JP2013185708 A JP 2013185708A JP 6230345 B2 JP6230345 B2 JP 6230345B2
Authority
JP
Japan
Prior art keywords
pixel
value
feature point
image
image processing
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
JP2013185708A
Other languages
English (en)
Other versions
JP2015052942A (ja
JP2015052942A5 (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013185708A priority Critical patent/JP6230345B2/ja
Priority to US14/467,287 priority patent/US9591220B2/en
Publication of JP2015052942A publication Critical patent/JP2015052942A/ja
Publication of JP2015052942A5 publication Critical patent/JP2015052942A5/ja
Application granted granted Critical
Publication of JP6230345B2 publication Critical patent/JP6230345B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像の特徴点を検出する像処理方法、画像処理装置、及びプログラムに関する。
コンピュータビジョン分野には、特徴点検出(もしくは、特徴点抽出)と呼ばれる処理がある。非特許文献1や非特許文献2によれば、特徴点検出の方式には、ハリス作用素方式やFAST方式など様々な方式が存在する。また、検出目標数を設定し、検出した各特徴点の信頼度(以下、特徴点スコア)に応じて特徴点検出数を目標数に絞り込む方法が、特許文献1に記載されている。
特徴点検出の応用としては、対応点探索による動き情報の取得がある。対応点探索は、2つの画像から特徴点を検出し、検出した特徴点の特徴量を算出して、画像間で各特徴点の特徴量を比較するマッチング処理により、類似度が最も高い特徴点のペアを探索する処理である。この2つの画像が連続する場合、特徴点ペアの相対位置は特徴点の移動量とみなせる。この移動量から、特徴点が含まれる被写体や画像全体の動きを求めることが可能となる。例えば、画像に手ブレによる動きが含まれている場合、このようにして求めた画像全体の移動量を補正する形で幾何変換を行えば、手ブレ補正処理が実施できる。また、左右2つの画像から構成されるステレオ画像から特徴点を検出した場合、画像間でマッチングできた特徴点ペアの相対位置から、三角測量の原理を使って特徴点の奥行きを推定することができる。つまり、ステレオ画像から3次元画像を構成することができる。他にも、画像検索、画像認識などの応用例があり、特徴点検出の産業上の利用範囲は広い。
電子情報通信学会誌 Vol.87、 No.12、pp1043−1048、 2004 精密工学会誌 Vol.77、 No.12、pp1109−1116、 2011
特開2012−234258号公報
特徴点スコアを絞り込みのための優先度の指標として、設定された目標数に絞り込む特徴点検出方法において、特徴点スコアが同等となる場合は、絞り込みのための優先度は処理の走査順に依存していた。これは、特徴点のマッチングを行うときにマッチング性能の低下にもつながるものである。
本発明は、上記課題に鑑みなされたものであり、対象画素の特徴を示す評価値に加えて、対象画素の画素値と基準画素値との比較情報標として画素の絞り込みを行うことを目的とする。
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。すなわち、入力画像から選択画素を決定する画像処理装置であって、前記入力画像の中から選択された対象画素の特徴を示す評価値を算出する算出手段と、前記対象画素の画素値と基準画素値を比較して比較情報を生成する比較手段と、前記比較情報と前記評価値に基づいて前記対象画素を前記選択画素とするか否かを判定する判定手段を備え、前記判定手段は、前記比較情報に基づいて、前記対象画素の画素値と前記基準画素値の差がより小さい対象画素を前記選択画素とすると判定する

特徴点スコアに加えて、対象画素の画素値と基準画素値との比較情報標として画素の絞り込みを行うことにより、絞り込み処理における走査順への依存性が低下する
第1実施形態における特徴点検出方法を説明するフロー図。 第2実施形態における特徴点検出方法を説明するフロー図。 第3実施形態における特徴点検出方法を説明するフロー図。 第4実施形態における特徴点検出方法を説明するフロー図。 第5の実施形態における特徴点検出方法を説明するフロー図。 対応点探索方法を説明するフロー図。 データフォーマットを説明する図。 画素の走査例を説明する図。 画像ヒストグラムの例を説明する図。 装置構成を説明する図。
[第1実施形態]
まず、所定数の特徴点検出目標数を設定して、目標数分の特徴点を検出する特徴点検出方法を説明し、次に、この特徴点検出方法を用いた対応点探索方法の第一実施形態について説明する。本実施形態では、PC内でのCPUが各ステップを実行するものとして説明する。しかし、これに限定はなく、スマートフォンやカメラ内で実行してもよいし、全ステップあるいはステップの一部を専用ハードウェアが処理を実行する形態をとってもよい。
以下、本実施形態におけるPCの構成と各モジュールの動作について、図10(a)を使って説明する。図10(a)は、PCの内部構成を説明する図である。本実施形態におけるPCでは、RAM1002、グラフィックプロセッサ1003、CPU1005、ユーザI/F1006、外部ストレージ1007、ネットワークI/F1008、外部撮像部1009は、バス1001で接続されている。本実施形態では、ユーザI/F1006はタッチパネルとするが、これに限定されず、マウスなどでもよい。また、外部ストレージ1007は不揮発性のメモリで構成され、外部撮像部1009はカメラなどで構成される。なお、本実施形態では、各HWの制御処理などをCPUが実行するものとして説明するが、専用HWを追加しそのHWがCPUの代わりに処理を実行する構成をとってよい。
本実施形態では、実行されるプラグラムおよびデータは、外部ストレージ1007に記録されており、これらをRAM1002へ展開し、CPU1005が実行および処理する構成をとる。プログラムおよびデータはバス1001を介して入出力が行われる。画像データを入力する場合、特別な記述がない場合、外部ストレージ1007から画像データを読み込み、内部画像フォーマットに変換して利用するものとする。本実施形態では、内部画像フォーマットは輝度成分のみで構成された8ビットの画像であり、ディスプレイγ(γ=2.2)で補正された画像であるとして説明するが、これに限定はなく例えば16ビット画像などを扱うことも可能である。
画像データには、メタデータとして露出などの撮影条件が付加されているものとする。画像の入力は、外部撮像部1009やネットワークI/F1008から行うことも可能である。UI(ユーザーインターフェース)画面や処理画像結果は、グラフィックプロセッサ1003を介して、ディスプレイ1004上に表示することができる。グラフィックプロセッサ1003は、入力した画像の幾何変換を行うことが可能で、変換した画像をRAM1002に記憶したり、ディスプレイ1004に直接出力したりすることも可能である。ユーザーI/F1006は、ディスプレイ1004上に表示されたボタンなどをタッチするなどして、ユーザーからの入力を受け付けることができる。処理データは、外部ストレージ1007に記録したりRAM1002に記憶したりして、他のプログラムと共有することができる。
以下、本実施形態による特徴点検出方法の具体的な動作フローについて、図1を使って説明する。図1は、特徴点検出方法を説明するフロー図である。本実施形態では、一つの画像に対して特徴点検出目標数を設定し、図1に示す特徴点検出フローが完了後、設定した目標数の特徴点情報が特徴点情報リストに格納されるものとする。なお、特徴点情報とは、一つの特徴点の検出結果に関する情報である。
ここで、本実施形態における特徴点情報について、図7(a)を使って説明する。図7(a)は、特徴点情報のフォーマットを説明する図である。本実施形態では、特徴点情報は特徴点のX座標値、Y座標値、特徴点スコアSからなる。また、特徴点情報は構造体として扱われる。本実施形態では、構造体変数をPとした場合、構造体のX座標値、Y座標値、特徴点スコアSを保持する変数を、P.X、P.Y、P.Sと表し、ピリオドを使って構造体のメンバ変数にアクセスできるものとして説明する。本実施形態では、特徴点情報が特徴点情報リストで管理されるものとして説明するが、これに限定はなく、可変長配列などを用いて管理されるようにしてもよい。また、本実施形態では、特徴点情報リストに格納された特徴点情報は、特徴量算出プログラムやマッチングプログラムと共有し処理される。なお、図1において、特別な記述がない場合、各ステップは、図中で示した矢印に従って実行されるものとする。さらに、依存関係のない処理に関してステップ順に限定はなく、順序を変えても実施されることも可能である。
図1のS1010では、CPU1005は、画素を走査して対象画素を設定し、対象画素のX座標値、Y座標値、対象画素の画素値(輝度値)を取得して、それぞれ、X、Y、Vに代入する。CPU1005は、S1010の処理を実行するごとに図8(a)に示されるような走査順で次々に対象画素を設定する。図8(a)は、画像の画素の走査例を説明している。図8(a)に示す画素の走査では、画像のラインごとに上から下へ、ライン中の画素毎に左から右へ走査されるものとする。S1020では、CPU1005は、画素がコーナーであるか否かを判定する。コーナーと判定された場合にはS1030へ、それ以外の場合は処理ステップをS1100へ処理を遷移する。本実施形態においては、コーナー判定はFAST方式を用いて行われるものとして説明するが、コーナー判定の方式に限定はない。
S1030では、CPU1005は、特徴点スコアSを算出する。特徴点スコアSは、対象画素の特徴を示す評価値であり、本実施形態では、FAST方式において非極値抑圧の判定に利用される値を特徴点スコアSとして用いる。本実施形態では、8ビット画像において、特徴点スコアSは8ビットで表現される値とする。なお、本実施形態では、非極値抑圧を実施しないものとして説明しているが、非極値抑圧を実施してもよい。また、特徴点スコアSの算出方式はFAST方式に限定されない。例えば、特徴点スコアSは、例えば、ハリス作用素などを用いて計算されるようにしてもよい。
S1040では、CPU1005は、基準画素値を取得して、Vbaseに代入する。本実施形態では、8ビット画像を扱っているため、輝度レンジ0から255の中央の値である128を基準画素値とする。S1041では、CPU1005は、基準画素値Vbaseと画素値Vを比較して、その差の絶対値を取得し、これを比較情報としてDiffに代入する。Diffは、画素値Vがどのくらい基準画素値Vbaseに近いかを表現している。すなわち、Diffが小さいほど、画素値Vが基準画素値Vbaseに近いことを意味する。
S1050ではCPU1005は、S1041で取得した比較情報DiffとS1で算出した特徴点スコアSを使って、16ビットの新スコアSnewを以下の式によって算出する。
Snew=k0×S+(Voffset−k1×Diff)
以下、この式の詳細について説明する。まず、比較情報Diffと特徴点スコアSの優先度を指定するための重みを、それぞれk0とk1とする。本実施形態では、k0=256、k1=1とする。また、Snewが負の数を取らないためのオフセット値をVoffsetとする。本実施形態では、比較情報Diffは0〜255の8ビット値しかり得いため、オフセット値Voffsetを255とすれば、新スコアSnewは負の値にならない。k0を乗じたSから、k1を乗じたDiffを引き、Voffsetを加えることにより求められるSnewは、画素値Vが基準画素値Vbaseに近いほど、大きい値となる。なお、k0とk1の値を変更することによって、それぞれの項の寄与率を調整することが可能である。
S1060では、CPU1005は、特徴点情報リストの中の特徴点を示す要素数(以下、要素数)と画像あたりの特徴点検出目標数を比較し、要素数が目標数以下の場合には、S1110へ処理を遷移し、それ以外の場合には、S1070へ処理を遷移する。S1110では、CPU1005は、新しい構造体変数Nに対し、N.S=Snew、N.X=X、N.Y=Yとしてそれぞれ値を代入し、構造体Nをリストに追加する。これにより特徴点情報リストの要素数が増加する。
一方、S1070〜S1090では、CPU1005は、特徴点情報リストの要素数が目標数を超えた場合の処理として、既に作成されている特徴点情報リストにおいて特徴点スコアの更新を行う。まず、S1070では、CPU1005は、特徴点情報リストの全構造体変数Nの中から、特徴点スコアが最も小さい構造体変数を探索し、その構造体変数を変数Rとする。なお、Rは参照型の変数として扱われ、Rの書き換えは、特徴点情報リスト内の構造体変数そのものを書きかえること同義であるものとする。S1080では、CPU1005は、R.SとSnewを比較し、R.Sが小さい場合にはS1090の処理を実行し、それ以外の場合はS1100へ処理を遷移する。S1090では、CPU1005は、変数R.S、R.X、R.Yにそれぞれ、新スコアSnew、X座標値、Y座標値を代入する。すなわち、S1090では、画素値Vが基準画素値Vbaseにより近いことを意味する、より大きな値の新スコアSnewを用いて特徴点情報リストを更新する。
このように、S1060からS1110の処理を実行することによって、特徴点情報リスト記憶された目標数分の特徴点情報は、より大きな値の新スコアSnewを有する特徴点情報となる。すなわち、一つの画像に含まれる全画素のうち、基準画素値により近い画素値を有するように選択された選択画素についての特徴点情報リストが生成される。次に、本特徴点検出方法を用いた対応点探索方法について、図6を使って説明する。
図6は、対応点探索方法を説明するフロー図である。S6010では、CPU1005は、第一の画像(以下、画像1とする)を入力して、図1のフローを実行し、特徴点情報リストを生成する。生成された特徴点情報リストを特徴点情報リスト1とする。S6020では、CPU1005は、特徴点情報リスト1に含まれる全ての特徴点の特徴量を算出し、特徴量情報リストを生成する。これを特徴量情報リスト1とする。本実施形態において、特徴量算出には256ビットのBRIEF方式を利用するものとする。ただ、特徴量算出のための方式に限定はなく、RIFF方式やSIFT方式による特徴量算出を実施してもよい。また、特徴量情報リストは、一特徴点の特徴量に関する情報である特徴量情報をリスト形式で管理するデータ構造である。
以下、特徴量情報について図7(c)を使って説明する。図7(c)は、特徴量情報フォーマットを示している。特徴量情報は、特徴点のX座標値、Y座標値、256ビットの特徴量ビットデータからなる。ただし、このフォーマットに限定はなく、例えば、座標情報でなく特徴点情報を参照するためのアドレスを持ち、アドレスを参照して座標情報を得るなど形態をとること可能である。また、本実施形態ではリストで管理するとしたが、これに限定はなく例えば可変長配列で管理してもよい。
S6030では、CPU1005は、第一の画像と異なる第二の画像(以下、画像2とする)を入力して、図1のフローを実行し、特徴点情報リストを生成する。生成された特徴点情報リストを特徴点情報リスト2とする。S6040では、CPU1005は、特徴点情報リスト2に含まれる全ての特徴点の特徴量を算出し、特徴量情報リストを生成する。これを特徴量情報リスト2とする。S6050では、CPU1005は、特徴量情報リスト1と特徴量情報リスト2に含まれる特徴量ビットデータを使ってマッチングを行い、対応点情報リストを生成する。本ステップでは、CPU1005は、2つのリストの特徴量ビットデータの全ての組合せのハミング距離を計算し、ハミング距離が最も短い特徴点同士で特徴点ペアを作る。対応点情報リストは、一つの特徴点ペアを表現する対応点情報をリスト形式で管理するデータ構造である。
以下、対応点情報について図7(d)を使って説明する。図7(d)は、対応点情報のフォーマットを説明する図である。対応点情報は、マッチングした特徴点ペアのうち、画像1の特徴点X座標値、Y座標値、画像2の特徴点X座標値、Y座標値からなる。なお、本実施形態ではリストで管理するとしたが、これに限定はなく例えば可変長配列で管理してもよい。このようにして生成された対応点情報リストは、他のプログラムと共有され、例えば手ブレ補正や三次元画像構成などに利用されることになる。
以下、従来の特徴点検出と本実施形態における特徴点検出に違いについて説明する。従来は、CPU1005は、基準画素値Vbaseと画素値Vの比較を行っていなかった。この場合、CPU1005は、新スコアSnewの代わりに特徴点スコアSをそのまま使ってS1080での判定と1090でのスコア更新を行っていた。つまり、スコアが同一となる画素は処理順で早い画素が選ぶ処理になる。図8(a)で示したように一般的な画像処理では、画像のラインごとに上から下へライン中の画素毎に左から右へ走査され、特徴点検出も同様である。そのため、基準画素値Vbaseと画素値Vの比較を行わない場合、画像上部の特徴点が選ばれやすく、特徴点の選択に位置依存性が発生してしまうことを意味する。そのため、画面全体から均等に特徴点が選択されにくくなっていた。特に、FAST方式のように単純な加減算や絶対値演算でスコアを算出する方式を8ビット画像に適用した場合、スコア値は0から255の範囲(8ビット)で算出される。これはハリス作用素を32ビット浮動小数点で求めるような場合に比べ、分解能が低くスコアが同一になりがちなため、位置依存に関する傾向がより強くなってしまっていた。
一方、本実施形態では、CPU1005は、画素値Vと基準画素値Vbaseを比較し、その比較情報Diffと特徴点スコアSを使って求めた新スコアSnewに基づいて、S1080での判定と1090でのスコア更新が行われる。また、本実施形態では、新スコアSnewは16ビットの値をとるため、FAST方式のスコアである8ビット値に比べて、確率的にスコア値は同一になりにくい。よって、特徴点の走査順依存性が低下し、画面全体から均等に特徴点を求めやすくなる。また、2つの画像の位置を合わせるには、それぞれの画像に存在する同一の特徴点を振い落さずに選択しマッチングさせることが重要である。本実施形態では、CPU1005は、大きい値の新スコアSnewを特徴点情報リストに格納する。すなわち、CPU1005は、基準画素値Vbaseに近い輝度を持つ特徴点を優先して選択する。これにより、2つの画像の間で同一の特徴点を残す確率が高まり、結果としてマッチングの成功確率が高まるというメリットがある。このメリットは、スコア値が浮動小数点で表現される場合にも効果があるため、本実施形態は、FAST以外の特徴点検出方式にも適用しても効果が得られる。
また、本実施形態では、スコア値が大きいものを優先するものとして説明したが、値が小さいほど特徴点の特徴の度合いが大きいスコア値算出方法もある。その場合、下記のような計算式を用いて、スコア値が低い特徴点を優先して選択する構成をとってもよい。
Snew’=k0’×S’+k1’×Diff
ただし、S’は、値が小さいほど特徴点の特徴の度合いが大きいスコアである。k0’、k1’は、スコアとDiffの寄与率を決める係数である。Snew’は、低値優先の新スコアである。
このように、本実施形態では、基準画素値に近い画素値を持つ特徴点を優先して選択することにより、特徴点選択に際しての走査順への依存度が低下し、複数の画像から抽出された特徴点のマッチングを行う時のマッチング性能が向上する。
[第2実施形態]
特徴点検出方法の第2実施形態について、図2を使って説明する。特別な記述がない限り、本実施形態の動作は、第1実施形態に準じるものとする。図2は、第2実施形態における特徴点検出方法を説明するフロー図である。図2のフローでは、図1のフローに対して、S2000が追加され、S1040がS2040に置き換わっている。以下、追加または変更されたステップについて説明する。
S2000では、CPU1005は、画像の輝度分布を表現する画像ヒストグラムを生成する。生成される画像ヒストグラムは、例えば、図9に示されるようなヒストグラムになる。図9の詳しい説明は後述する。S2040では、CPU1005は、生成した画像ヒストグラムから、解析結果として最も出現頻度の高い画素値(以下、最頻値)を取得し、基準画素値としてVbaseに代入する。すなわち、本実施形態によれば、CPU1005は、画像ヒストグラムを解析することにより、画像ヒストグラムの統計指標値として最頻値を求め、それを基準画素値としている。この基準画素値は、画像の特性を示す値である。特徴点数を目標数に絞り込むための絞り込み処理において、従来の特徴点スコアに加えて、統計指標値に近い画素値を持つ画素を優先的に選択して残すことにより、画像に存在する確率が高い画素値をもつ画素が選択されやすくなる。これはマッチング性能の向上にもつながる。
例えば、時間的に連続する画像から特徴点を検出してマッチングを行う場合に高い効果が得られる。同一シーンを時間的に連続で撮影した画像を扱う場合、レンズの絞り状態の変化や環境光の変化により露出が変動することがある。このときに固定の基準画素値に近い画素を優先的に選択すると、画像間では異なる特徴点を選ぶ確率が高まるという問題がある。本実施形態によれば、画像ごとに、画像ヒストグラムの統計指標値に近い画素値をもつ画素を優先的に選択することにより、この問題を解決できる。以下、同一のシーンを撮像しながら露出が高い状態から低い状態に変化した場合の特徴点検出の例について、図9を使って説明する。
図9は、画像ヒストグラムの例を説明する図である。図9において、横軸は画素値を示し、縦軸は画素単位の出現頻度を示す。また、図9(a)は、高露出(画像の平均輝度が高い)画像、図9(b)は、低露出(画像の平均輝度が低い)画像のそれぞれの画像ヒストグラムを示している。露出の違いは、全画素の画素値が高くなる、あるいは、低くなるという違いであるため、ヒストグラム上の山が左右に移動したものとして観察できる。露出の異なる画像を入力して第1実施形態を適用すると、基準画素値Vbaseが128固定であるため、高露出画像から基準画素値が128に近い画素を優先的に選択することになる。このことは、図9(a)を見ても分かるとおり、画像内の画素で相対的に暗い画素を選択していることになる。一方、低露出画像の場合は、128に近い画素を優先的に選択することになる。このことは、図9(b)を見ても分かるとおり、画像内の画素で相対的に明るい画素を選択することになる。同一シーンの中には、相対的に暗い被写体も明るい被写体も存在しているため、結果として、2つの画像間で異なる被写体に含まれる特徴点をそれぞれ選択してしまうことになる。
一方、本実施形態では、特徴点情報リストを作成する都度、CPU1005は、画像ヒストグラムを解析しその統計量を使用することによって最適な基準画素値を決定する。よって、露出の高い画像からは画素値150付近の画素が優先して選択され、露出の低い画像からは画素値100付近の画素が優先して選択される。これは、同じ被写体に含まれる特徴点を選択する確率が高いことを示している。
このように、本実施形態によれば、画像ヒストグラムを統計的に解析した結果を用いることにより、画像の露出度に応じて適切な特徴点検出が可能となる。なお、本実施形態では、基準画素値の算出に画像ヒストグラムの最頻値を利用するものとして説明したが、これに限定されず、平均値、中央値などの統計指標値を用いてもよい。また、主成分分析を行い、主成分のヒストグラムから計算される統計指標値を用いてもよい。また、画像が連続して入力・処理される構成において、画像間で急激な露出変化がない場合には、前フレームの統計指標値や過去の近傍フレームの統計指標値の移動平均などを基準画素値として利用する構成をとってもよい。この構成では、同一画像の統計処理結果と特徴点検出結果に依存関係がなく、処理を並列に実行することができ処理時間を削減できる。
また、本アルゴリズムが対象とする画像として、例えば図8(b)のように入力画像を分割した領域分割画像単位で処理をしてもよい。図8(b)は、画像の分割、および、分割画像単位の画素の走査例を示している。領域分割画像単位でヒストグラムを解析し、領域分割画像単位で特徴点の目標数を設定して、図8(b)のように領域内で画素を走査して特徴点検出処理を行う。このように領域分割を行うことにより、領域分割画像毎に最適な基準画素値を設定して特徴点を検出することができる。なお、図8(b)のような走査順は、いずれの実施形態において適用されてもよい。
[第3実施形態]
特徴点検出方法の第3実施形態について、図3を使って説明する。特別な記述がない限り、本実施形態の動作は、第1実施形態に準じるものとする。図3は、第3実施形態における特徴点検出方法を説明するフロー図である。図3のフローは、図1のフローに対して、S1040、S1041、S1050がなくなり、S3081、S3082、S3083が追加されている。また、S1080、S1090、S1100がそれぞれ、S3080、S3090、S3110に置き換わっている。以下、追加または変更されたステップについて説明する。
本実施形態における特徴点情報について図7(b)を使って説明する。図7(b)は、第3実施形態における特徴点情報のフォーマットを説明する図である。本実施形態における構造体は、図7(a)で説明した構造体に加えて画素値Vを格納するメンバ変数領域が追加されている。本実施形態では、構造体変数をPとするとP.Vという形でアクセスできるものとして説明する。
図3において、S3080では、CPU1005は、R.SとSを比較して、R.S>Sの場合にはS1100へ、R.S=Sの場合にはS3081へ、R.S<Sの場合にはS3090へ処理を遷移させる。S3081では、基準画素値Vbaseを取得する。本実施形態では、Vbaseは、第1実施形態と同様に128とする。S3082では、CPU1005は、基準画素値Vbaseと画素値Vから差の絶対値Diffを計算する。S3083では、CPU1005は、|R.V−Vbase|<Diffを判定して、判定結果が真の場合にはS3090へ、偽の場合にはS1100へ処理を遷移させる。S3090では、CPU1005は、R.S、R.X、R.Y、R.Vにそれぞれ、S、X、Y、Vを代入する。
S3110では、CPU1005は、新しい構造体変数Nに対し、N.S=S、N.X=X、N.Y=Y、N.V=Vとなるように値を代入し、構造体Nをリストに追加する。本実施形態では、現在の画素の特徴点スコアSと前回リストに記憶された特徴点スコアR.Sが同一になる場合でも、S3082で画素値Vと基準画素値Vbaseを比較した結果Diffを用いて条件判定されている。これにより、より位置依存性の低い絞り込みを実施することができる。
このように、本実施形態によれば、特徴点スコアが同一の値となる場合であっても、画素値と基準画素値との差に基づいて、いずれかの特徴点スコアを選択して特徴点を検出することができる。また、第1実施形態のようにSnewを算出していないため、計算量が低減するという効果もある。
[第4実施形態]
特徴点検出方法の第4実施形態について、図4を使って説明する。特別な記述がない限り、本実施形態の動作は、第1実施形態に準じるものとする。図4は、第4実施形態における特徴点検出方法を説明するフロー図である。図4のフローは、図1のフローに対して、S1040、S1050が、それぞれS4040、S4050に変更されている。以下、変更されたステップについて説明する。
S4040では、CPU1005は、外部撮像部1009で設定された露出値EVに基づいて基準画素値Vbaseを計算する。本実施形態では、露出値EVは画像データにメタデータとして存在し、CPU1005がそのデータを取得するものとする。また、Nbaseは、輝度レンジの中央の値である。本実施形態では、輝度レンジを0から1.0で表現しており、Nbaseの値は0.5とする。また、γ値は、画像がディスプレイγ(γ=2.2)で補正されていることから、2.2とする。なお、Nbaseやディスプレイγの値や式の形に限定はなく、これらの値はシステム構成に応じて最適に値や式の形を変えてもよい。
S4050では、CPU1005は、画素値Vと基準画素値Vbaseの差の絶対値Difと特徴点スコアSを使って、16ビットの新スコアSnewを以下の式によって算出する。
Snew=(S×(X−Diff))>>SHIFT
以下、この式の詳細について説明する。XとSHIFTは定数であり、本実施形態ではそれぞれX=1024、SHFIT=2とする。>>は、右シフト演算を示し、A>>Bは、Aを右にBビットシフトすることを示す。Sが8ビット、Xが10ビットであることから、Snewは、16ビットとなる。画素値Vが基準画素値Vbaseに近いほどSの乗数が大きくなる、つまり、Snewが大きくなる。また、スコア値の分解能もS値の8ビットから16ビットに増加している。これにより、第1実施形態と同等の効果を得ることができる。また、Xを増減させることによりSnew算出における|V−Vbase|項の寄与率を調整することもできる。
このように本実施形態によれば、第2実施形態のように画像ヒストグラムを解析しなくても、露出値EVを用いて基準画素値を計算することにより、第2実施形態のように、画像間の平均輝度の違いを考慮した結果を得ることができる。
[第5実施形態]
特徴点検出方法の第5実施形態について、図5を使って説明する。本実施形態の特徴点検出で扱う内部画像フォーマットは、点順次で構成されたRGB成分で構成された8ビットの画像とする。内部画像フォーマットに限定はなく、例えば、異なるビット幅であってもよいし、点順次でなく面順次で構成された画像を扱ってもよい。特別な記述がない限り、本実施形態の動作は、第1実施形態に準じるものとする。
図5は、第5実施形態における特徴点検出方法を説明するフロー図である。本実施形態では、図1のフローに対し、S1010〜S1050が、それぞれS5010〜S5050に置き換わり、S5000とS5001が追加されている。また、対象画素および基準画素値は、RGB成分を表現する三次元ベクトルデータとして扱われる。以下、追加または変更されたステップについて説明する。
S5000では、CPU1005は、RGB画像ごとにそれぞれ画像ヒストグラムを生成する。S5001では、CPU1005は、画像の画素を走査して、RGB値から画素値を算出し、算出した画素値から輝度画像を生成する。本実施形態では、特徴点検出に使う画像を視聴用に使う構成ではないため、簡易的な輝度計算を用いてよい。例えば、画素値Lは以下の式によって算出できる。
L=R+2×G
また、画素値は例えば以下の式によっても算出できる。
L=0.299×R+0.587×G+0.114×B
また、他の処理で事前に輝度画像が生成されている場合には、このステップは不要である。
S5010では、CPU1005は、画素を走査して対象画素を設定し、対象画素のX座標値、Y座標値、画素のRGB値を取得して、それぞれ、X、Y、R、G、Bに代入する。CPU1005は、本ステップを実行するごとに、次々に対象画素を変えて実行する。S5040では、CPU1005は、RGBそれぞれの基準値を取得し、Rbase、Gbase、Bbaseに代入する。本実施形態では、基準値は、RGBヒストグラム、それぞれの平均値とする。S5041では、CPU1005は、画素値であるR、G、Bと基準画素値でRbaseGbase、Bbaseの差の絶対値を計算し、重み付き平均Diffを計算する。なお、本実施形態では、Diffを差の絶対値の重み付き平均としたが、これに限定されず、例えば二乗誤差を用いた以下の式によって算出される値でもよい。
Diff
=(R−Rbase)2+(G−Gbase)2+(B−Bbase)
S5050では、CPU1005は、差の絶対値の重み付き平均Diffと特徴点スコアSを使って、新スコアを算出する。以下、S5050に示す式の詳細について説明する。k0及びk1は、比較情報と特徴点スコアの優先度を指定するための重みである。本実施形態では、k0=1024、k1=1とする。Voffsetは、Snewが負の数を取らないためのオフセット値である。本実施形態においては、Voffsetを1023とすればSnewは負の値をとらない。
本実施形態によれば、画素値の比較を複数次元のベクトルデータの各ベクトル要素であるRGB独立で行うことにより、確率的に同一の画素値となっていた異なるRGBバランスの画素を、絞り込みに処理においてより蓋然的に識別し選択することができる。このようにして検出した特徴点を用いてマッチングを行うことにより、第1実施形態において述べた効果に加えて、マッチング性能が向上する。
[第6実施形態]
PC以外の装置で処理される例について、第6実施形態として説明する。本実施形態では、特徴点検出、および、対応点探索機能をもったカメラ装置を例に説明する。なお、特別な記述がない限り、動作および構成は第1実施形態の説明に準じるものとする。図10(b)は、カメラ装置の構成を説明する図である。図10(b)のカメラ装置の構成および動作は、多くが図10(a)と同等であるが、図10(a)の外部撮像部1009の代わりに、図10(b)では撮像部1010が追加されている。また、図10(b)では、図10(a)に対して、画像処理部1011、特徴点検出部1017、特徴量算出部1018、マッチング部1019、画像ヒストグラム解析部1020が追加されている。特徴点検出部1017は、さらに、コーナー判定部1012、特徴点スコア算出部1013、画素値比較部1014、新特徴点スコア算出部1015、上位抽出部1016から構成される。以下、本実施形態における装置の動作について具体的に説明する。
ユーザーI/F1006はタッチパネルであり、ディスプレイ上に表示されたボタンなどユーザーがタッチすることによって、絞り、シャッタースピード、露出値などを撮像条件などの設定を可能とする。撮像条件はRAM1002に保存されると同時に撮像部1010に出力される。なお、ユーザーI/F1006は、タッチパネルに限定されず、物理的なダイヤルやボタンであってもよい。
撮像部1010は、光学系、センサー、センサー画像をデジタル画像に変換する回路をもつ撮像ユニットである。撮像処理は、ユーザーI/F1006によって設定された撮像条件に従って、処理がなされる。撮像部1010が撮像し撮像画像は、RAM1002に保存される。画像処理部1011は、撮像画像を内部フォーマットに変換し、RAM1002に保存する。本実施形態では、8ビット輝度画像を内部フォーマットとする。ただし、内部フォーマットに限定はなく、例えば、第5実施形態において説明したようにRGB画像を用いてもよい。
特徴点検出部1017は、8ビット輝度画像から特徴点を検出し、検出した特徴点の情報を特徴点情報配列としてRAM1002に保存する。特徴点情報は第1実施形態において説明したデータフォーマットと同じであり、特徴点情報配列は複数の特徴点情報を配列として扱うデータ構造である。特徴点検出部内部構成については後述する。
特徴量算出部1018は、特徴点情報配列の特徴点情報を参照して各特徴点の特徴量を算出し、それらを特徴量情報配列としてRAM1002に保存する。本実施形態のおける特徴量算出はBRIEF方式とするが、これに限定はなく他の特徴量算出方式を用いることも可能である。特徴量情報は、第1実施形態において説明したデータフォーマットと同じであり、特徴量情報配列は、複数の特徴量情報を配列として扱うデータ構造である。
マッチング部1019は、特徴量情報配列を参照して、それぞれの特徴点のマッチングを行い、マッチングできた点の対応関係を対応点情報配列として、RAM1002に保存する。本実施形態におけるマッチング方法は、第1実施形態において説明した方式と同等とする。対応点情報も第1実施形態において説明したデータフォーマットと同じであり、対応点情報配列は、複数の対応点情報を配列として扱うデータ構造である。画像ヒストグラム解析部1020は、画像ヒストグラムを解析し、平均値、最頻値、中央値などの統計量を算出する。
次に、特徴点検出部1017の内部構成およびその動作について説明する。この内部動作は、図8(a)のように走査された画素が画素単位で処理されるものとする。以下、走査中の処理画素を対象画素と表現する。コーナー判定部1012は、対象画素がコーナーであるか否かを判定し、真である場合には1013から1016を実行させる。本実施形態では、コーナー判定にはFAST方式を用いるものとするがこれに限定はない。特徴点スコア算出部1013は、対象画素およびその周辺画素を参照して特徴点スコアSを算出する。特徴点スコアSは1015へ出力される。本実施形態では、FAST方式が非極値抑圧の判定に利用する値を特徴点スコアとするが、これに限定されない。
画素値比較部1014は、基準画素値Vbaseと対象画素の画素値Vを入力して、2つの値の差の絶対値計算し1015に出力する。基準画素値Vbaseは、I/F1006でユーザー設定した露出値EVを入力して、以下の式によって計算され設定されるものとする。
Vbase=Min((2EV×Nbase)1/γ、1)×255
本実施形態では、第4実施形態と同様にNbase=0.5、γ=2.2とする。Min(a、b)は、a、bの値のうち小さい値を返す関数である。計算された差の絶対値は、新特徴点スコア算出部1015に出力される。
新特徴点スコア算出部1015は、差の絶対値Diffと特徴点スコアSを入力して、新スコアSnewを算出する。スコアの算出方法は第1実施形態において説明した算出方法と同等である。新スコアSnewは、上位抽出部1016へ出力される。上位抽出部1016は、新スコアSnewを入力し、特徴点情報配列から特徴点スコアが最も小さい特徴点情報を探索する。上位抽出部1016は、最も小さい特徴点スコアが新スコアSnewよりも小さい場合には、その新スコアSnewと該新スコアSnewに対応する画素の座標値を含む特徴点情報で、最も小さい特徴点スコアの特徴点情報を更新する。なお、特徴点情報配列は常にRAM1002に存在してもよいし、上位抽出部に内部RAMを持ち、一画像の処理が終わった段階でRAM1002に出力してもよい。
本実施形態では、カメラシステムとして第1実施形態と同等の効果を得ることができる。また、一般的なカメラに搭載された自動露出補正機能を使うと、露出値は画像ごとに変動する。基準画素値が固定であると、露出値が異なる画像間で対応する特徴点が選択されにくいという問題がある。本実施形態では、撮像時に設定した露出値を使って基準画素値を計算しているため、画像間で対応する特徴点が選択されやすい。これはマッチング性能の向上につながる。本実施形態では、露出情報を取得して基準画素値を算出する構成をとったが、それに限定されず、装置内に画像ヒストグラム解析部1020を具備し、第2実施形態のように画像ヒストグラム解析部1020が算出した統計量を基準画素値とする構成をとってもよい。また、本実施形態では、第3実施形態乃至第5実施形態において説明した処理を行うようなカメラ装置を構成してもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. 入力画像から選択画素を決定する画像処理装置であって、
    前記入力画像の中から選択された対象画素の特徴を示す評価値を算出する算出手段と、
    前記対象画素の画素値と基準画素値を比較して比較情報を生成する比較手段と、
    前記比較情報と前記評価値に基づいて前記対象画素を前記選択画素とするか否かを判定する判定手段と、
    を備え
    前記判定手段は、前記比較情報に基づいて、前記対象画素の画素値と前記基準画素値の差がより小さい対象画素を前記選択画素とすると判定することを特徴とする画像処理装置。
  2. 前記入力画像の画素値の分布を統計的に解析する解析手段を更に有し、
    前記基準画素値は、前記解析手段による解析結果に基づいた値を有することを特徴とする請求項1記載の画像処理装置。
  3. 前記基準画素値は、ユーザーによって設定された露出値に基づいて計算された値を有することを特徴とする請求項1記載の画像処理装置。
  4. 前記対象画素の画素値は、前記対象画素の輝度値であることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記対象画素の画素値と前記基準画素値は、それぞれ複数次元のベクトルデータで表され、
    前記比較手段は、前記対象画素の画素値と前記基準画素値で対応するベクトル要素ごとに比較することを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記判定手段は、前記比較情報と前記評価値とを重み付けして加算した値を用いて前記対象画素を前記選択画素とするか否かを判定することを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
  7. 前記判定手段は、前記入力画像を分割した分割画像毎に前記対象画素を前記選択画素とするか否かを判定することを特徴とする請求項1から6のいずれか1項に記載の画像処理装置。
  8. 前記判定手段は、所定数の前記選択画素を決定することを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
  9. 第1の入力画像から選択画素とすると判定された対象画素と、第2の入力画像から選択画素とすると判定された対象画素との対応を探索する探索手段を更に備えることを特徴とする請求項1から8のいずれか1項に記載の画像処理装置。
  10. 入力画像から選択画素を決定する画像処理方法であって、
    前記入力画像の中から選択された対象画素の特徴を示す評価値を算出する算出工程と、
    前記対象画素の画素値と基準画素値を比較して比較情報を生成する比較工程と、
    前記比較情報と前記評価値に基づいて前記対象画素を前記選択画素とするか否かを判定する判定工程と、
    有し、
    前記判定工程では、前記比較情報に基づいて、前記対象画素の画素値と前記基準画素値の差がより小さい対象画素を前記選択画素とすると判定することを特徴とする画像処理方法。
  11. 請求項1から請求項のいずれか1項に記載の画像処理装置としてコンピュータを機能させることを特徴とするプログラム。
JP2013185708A 2013-09-06 2013-09-06 画像処理方法、画像処理装置、及びプログラム Active JP6230345B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013185708A JP6230345B2 (ja) 2013-09-06 2013-09-06 画像処理方法、画像処理装置、及びプログラム
US14/467,287 US9591220B2 (en) 2013-09-06 2014-08-25 Selection apparatus, selection method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013185708A JP6230345B2 (ja) 2013-09-06 2013-09-06 画像処理方法、画像処理装置、及びプログラム

Publications (3)

Publication Number Publication Date
JP2015052942A JP2015052942A (ja) 2015-03-19
JP2015052942A5 JP2015052942A5 (ja) 2016-09-01
JP6230345B2 true JP6230345B2 (ja) 2017-11-15

Family

ID=52625234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013185708A Active JP6230345B2 (ja) 2013-09-06 2013-09-06 画像処理方法、画像処理装置、及びプログラム

Country Status (2)

Country Link
US (1) US9591220B2 (ja)
JP (1) JP6230345B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6717769B2 (ja) * 2017-03-21 2020-07-01 Kddi株式会社 情報処理装置及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130965A (en) 1995-08-03 2000-10-10 Canon Kabushiki Kaisha Image data outputting apparatus and facsimile apparatus in which image data on a plurality of record sheets are combined into one page of image data for transmission
JP2006318345A (ja) * 2005-05-16 2006-11-24 Sony Corp 物体追跡方法、物体追跡方法のプログラム、物体追跡方法のプログラムを記録した記録媒体及び物体追跡装置
JP5034733B2 (ja) * 2007-07-13 2012-09-26 カシオ計算機株式会社 特徴点追跡装置及びプログラム
TWI459821B (zh) * 2007-12-31 2014-11-01 Altek Corp Identification device of image feature pixel and its identification method
TWI395483B (zh) * 2009-05-25 2013-05-01 Visionatics Inc 使用適應性背景模型之移動物體偵測方法及其電腦程式產品
US8849054B2 (en) * 2010-12-23 2014-09-30 Samsung Electronics Co., Ltd Digital image stabilization
JP5736884B2 (ja) * 2011-03-22 2015-06-17 セイコーエプソン株式会社 プロファイル作成方法、プロファイル作成プログラムおよび印刷装置
JP2012234258A (ja) 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
KR20130127868A (ko) * 2012-05-15 2013-11-25 삼성전자주식회사 점 대응을 찾기 위한 방법, 상기 방법을 수행할 수 있는 장치, 및 이를 포함하는 시스템

Also Published As

Publication number Publication date
JP2015052942A (ja) 2015-03-19
US20150070517A1 (en) 2015-03-12
US9591220B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
CN109565551B (zh) 对齐于参考帧合成图像
US20110033086A1 (en) Image processing apparatus and image processing method
JP6261187B2 (ja) 画像処理装置、画像処理方法およびプログラム
US11839721B2 (en) Information processing apparatus, information processing method, and storage medium
JP7067023B2 (ja) 情報処理装置、背景更新方法および背景更新プログラム
JP5787456B2 (ja) 画像処理装置
US8503723B2 (en) Histogram-based object tracking apparatus and method
US11036974B2 (en) Image processing apparatus, image processing method, and storage medium
WO2018227580A1 (zh) 摄像头标定方法和终端
JP2015111811A (ja) 画像処理装置およびその制御方法
JP2015138399A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP6230345B2 (ja) 画像処理方法、画像処理装置、及びプログラム
JP2014021901A (ja) 被写体検出装置、被写体検出方法及びプログラム
CN109727193B (zh) 图像虚化方法、装置及电子设备
US20200005021A1 (en) Face detection device, control method thereof, and program
JP2006279413A (ja) 動きベクトル検出装置、画像表示装置、画像撮像装置、動きベクトル検出方法、プログラムおよび記録媒体
JP2021174550A (ja) 画像処理方法と画像処理システム
JP4795314B2 (ja) フリッカ補正装置及びフリッカ補正方法
JP2004240909A (ja) 画像処理装置及び画像処理方法
JP4396766B2 (ja) 画像劣化検出装置、及び画像劣化検出方法、並びに画像劣化検出方法を実行させるプログラム、及び記録媒体
JP4306333B2 (ja) 物体検出プログラムを記録したコンピュータ読み取り可能な情報記録媒体
JP6381212B2 (ja) 撮像装置及びその制御方法
US9298319B2 (en) Multi-touch recognition apparatus using filtering and a difference image and control method thereof
JP5463974B2 (ja) 情報処理装置、プログラム、および情報処理方法
US9852352B2 (en) System and method for determining colors of foreground, and computer readable recording medium therefor

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170831

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: 20170919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171017

R151 Written notification of patent or utility model registration

Ref document number: 6230345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151