JP2019016065A - 画像処理装置およびその制御方法 - Google Patents

画像処理装置およびその制御方法 Download PDF

Info

Publication number
JP2019016065A
JP2019016065A JP2017131487A JP2017131487A JP2019016065A JP 2019016065 A JP2019016065 A JP 2019016065A JP 2017131487 A JP2017131487 A JP 2017131487A JP 2017131487 A JP2017131487 A JP 2017131487A JP 2019016065 A JP2019016065 A JP 2019016065A
Authority
JP
Japan
Prior art keywords
pixel
comparison
pixels
image processing
processing apparatus
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.)
Withdrawn
Application number
JP2017131487A
Other languages
English (en)
Other versions
JP2019016065A5 (ja
Inventor
小林 正明
Masaaki Kobayashi
正明 小林
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 JP2017131487A priority Critical patent/JP2019016065A/ja
Priority to US16/025,336 priority patent/US20190012565A1/en
Publication of JP2019016065A publication Critical patent/JP2019016065A/ja
Publication of JP2019016065A5 publication Critical patent/JP2019016065A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/36Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】画像の特徴量算出における処理負荷を低減する。【解決手段】入力画像の特徴量を導出する画像処理装置は、所与の座標を基準として配置されるN個の画素の相対座標を示す座標情報を記憶する記憶手段と、座標情報に基づいて、入力画像における着目画素を所与の座標とした場合の該入力画像における画素の画素値を取得し、該入力画像に含まれる2個の画素の画素値を比較し第1の比較結果を出力する第1の比較手段と、第1の比較結果に基づいて、着目画素の特徴量を導出する導出手段と、を有する。第1の比較手段は、2個の画素の画素値の比較をM回実行してM個の第1の比較結果を出力し、第n回目(2≦n≦M)で比較する2個の画素は第(n−1)回目で比較した2個の画素の一方を含み、導出手段は、第1の比較手段により出力されたM個の第1の比較結果を連結して着目画素の特徴量として導出する。【選択図】図2

Description

本発明は、画像の特徴量の算出技術に関するものである。
近年、画像間の各画素の対応付けを行う技術の重要性が高まっている。対応とは、基準画像の画素と同一であるとみなす参照画像の画素の関係であり、二点の座標で表現できる。ステレオや多視点画像を入力した場合は、画素の対応関係から被写体の奥行きを算出できるため、3次元画像処理に応用することも可能である。また、連続して撮像された画像(動画)を入力し、その対応関係を相対座標として表現すれば、それは動きベクトルとなる。画素ごとの動きベクトル(以下オプティカルフロー)を利用することによって、動体追跡、動画の防振などが可能となる。着目画素を対応付けは、着目画素を中心とするパッチと、複数の参照候補画素を中心とするパッチを設定し、それぞれのパッチの相関(類似度)を算出して、相関が最も高い参照候補画素を参照画素とすることで行われる。パッチの相関を算出する方式にとしては、大きく2つの方式がある。
1つはテンプレートマッチングと呼ばれる方法で、2つのパッチの画素値の差の絶対値の合計、あるいは、二乗和の合計を計算する。それぞれ、SAD(Sum Of Absolute Difference)やSSD(Sum of Squared Difference)と呼ばれ、この積算値が小さいほど相関が高いことになる。
もう1つの方式は、パッチ内の二点の画素値の差を算出し、この画素値の差を複数まとめた多次元ベクトルを特徴量として算出し、特徴量を比較する方式である。着目画素に対応する多次元ベクトルと参照候補画素に対応する多次元ベクトルの差のノルムを算出し、このノルムが小さいほど相関が高いとみなす。具体的には、SIFT(Scale-Invariant Feature Transform)やBRIEF(Binary Robust Independent Elementary Features)(非特許文献1)などのアルゴリズムがある。SIFTの特徴量は多値の多次元ベクトルで表現される。一方、BRIEFの特徴量はビットの集合であるビット列で表現されバイナリ特徴量ともよばれる。このビット列のノルムは、特別にハミング距離とも呼ばれ、2つのビット列のXOR(排他的論理和)をとり1の個数をカウントすることで得られる。BRIEFに代表されるハミング距離を算出して相関を得る方式は、相関算出がビット演算で行えるため演算負荷が非常に小さい。そのため、ハードウェア(LSIなど)による実装及びソフトウェアによる実装の双方に適している。
BRIEF: Binary Robust Independent Elementary Features, Computer Vision - ECCV 2010, Volume 6314 of the series Lecture Notes in Computer Science, pp 778-792
しかしながら、パッチ内の画素の画素値の差から特徴量を算出するにあたっては、画像の画素値を得ることが必要である。そして、メモリに展開された画像の画素値を得るためには、当該画素値が格納されたアドレスの計算と、当該アドレスへのメモリアクセスが必要となる。そのため、参照する画素数に応じた処理量の増加が発生することになる。
本発明はこのような問題を鑑みてなされたものであり、画像の特徴量算出における処理負荷を低減可能とする技術を提供することを目的とする。
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、入力画像の特徴量を導出する画像処理装置は、
所与の座標を基準として配置されるN個の画素の相対座標を示す座標情報を記憶する記憶手段と、
前記座標情報に基づいて、前記入力画像における着目画素を前記所与の座標とした場合の該入力画像における画素の画素値を取得し、該入力画像に含まれる2個の画素の画素値を比較し第1の比較結果を出力する第1の比較手段と、
前記第1の比較結果に基づいて、前記着目画素の特徴量を導出する導出手段と、
を有し、
前記第1の比較手段は、2個の画素の画素値の比較をM回実行してM個の前記第1の比較結果を出力し、第n回目(2≦n≦M)で比較する2個の画素は第(n−1)回目で比較した2個の画素の一方を含み、
前記導出手段は、前記第1の比較手段により出力されたM個の前記第1の比較結果を連結して前記着目画素の特徴量として導出する。
本発明によれば、画像の特徴量算出における処理負荷を低減可能とする技術を提供することができる。
第1実施形態に係る画像処理装置の構成を示すブロック図である。 第1実施形態における特徴量の生成を示すフローチャートである。 特徴量の生成における比較パターンを例示的に示す図である。 第2実施形態における特徴量の生成を示すフローチャートである。 第3実施形態に係る画像処理装置の構成を示すブロック図である。 特徴量を生成する相対座標を規定するテーブルを例示的に示す図である。 15×15領域で規定されたインデックスを例示的に示す図である。 第4実施形態における特徴量の生成を示すフローチャートである。
以下に、図面を参照して、この発明の実施の形態の一例を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、画像のバイナリ特徴量を導出する装置を例に挙げて以下に説明する。具体的には、着目画素の座標を基準として、順序(インデックス)が付された複数の相対画素位置(座標)を予め決めておく。そして、連続する2つのインデックスの相対画素位置の画素の画素値に基づいてバイナリ特徴量を導出する。
<前提事項>
第1実施形態を説明するにあたって、前提となる事項について説明する。以下の説明では、画像は8ビット整数(256階調)のモノクロ画像とする。また、着目画素のバイナリ特徴量を算出する方法を説明するが、着目画素とは、画像の画素を順次走査する際の対象画素、あるいは、画像から特徴点検出をおこなった結果として複数の特徴点を順次走査する際の対象画素であるものとする。着目画素の選び方については説明は省略するが、任意の手法が利用可能である。取得された特徴量は、時間的に連続する他の画像で得た画素の特徴量と比較される(つまりハミング距離が計算される)。ハミング距離が最も短い画素同士をマッチングさせ、マッチングした画素の相対座標を得ることで、画素の動きとすることができる。そのため、物体認識などにも応用することできる。
<装置構成>
図1は、第1実施形態に係る画像処理装置の構成を示すブロック図である。
画像処理装置100は、CPU101、RAM102、ROM103、ハードディスクドライブ(HDD)などの記憶部104を有している。また、画像処理装置100は、外部装置の記憶部である外部メモリ108からデータを入力するための入力インターフェース(I/F)105、および、表示装置109にデータを出力するための出力インターフェース(I/F)106を有している。画像処理装置100の各部は、バス107を介して相互に通信可能に接続されている。
CPU101は、RAM102に読み込まれたプログラムを実行するプロセッサである。RAM102は、ワークメモリであり、画像及び、計算結果などのデータを一時的に格納する。また、ROM103や記憶部104には実行プログラムが記憶される。特別な記述がないかぎりCPU101がバス107を介して、データを入出力する。記憶部104は、画像や処理結果などのデータ、実行プログラムを記録する装置である。プログラム実行時は、プログラム、および、画像を記憶部104からRAM102へ読み込み、処理結果をメモリ102から記憶部104へ書き込む。
<装置の動作>
図2は、第1実施形態における特徴量の生成を示すフローチャートである。以下のフローチャートの説明において、各ステップの符号をSと表記することとする。ここでは、着目画素に対する64ビットのバイナリ特徴量を生成する。なお、本実施形態では、図中の矢印で示される順で処理が実施されるものとして説明するが、同一の結果を生成するフローであれば、他の処理の順序やループ処理を用いてもよい。
S2010では、CPU101は、nを”0”で初期化する。nは後述するループの制御変数である。S2020では、CPU101は、第n番目の相対座標データを取得する。相対座標データは、水平、垂直座標値を(x,y)のように表現するものとする。ここでは、x,yは、それぞれ、−15〜15の範囲の値で表現されるものとする。また、相対座標データは65個の座標データを含み、nは0〜64の値をとるものとする。相対座標は、特徴量算出処理の事前に用意すればよく、HDDに予め記憶してあるものをメモリで呼び出してもよいし、図2に示す処理の実行直前に生成してもよい。
図6は、特徴量を生成する相対座標を規定するテーブルを例示的に示す図である。当該テーブルは、ループ回数のインデックス”n”、相対座標の座標情報”x”及び”y”、および後述するインデックス値”idx”を関連づけるテーブルである。当該テーブルに規定される相対座標の特性については図3を参照して後述する。
S2030では、CPU101は、着目画素に対し第n番目の相対座標が示す画素の画素値を入力画像から参照(画素値取得)して、その画素値をAとする。現在の着目画素の座標が(x,y)である場合、(x+x,y+y)の座標の画素に対するアドレスを計算し、画素値を取得する。入力画像の幅をwとすると、(0,0)座標のメモリ上のアドレス値をBaseAddrとすると、画素値Aは、(y+y)×w(x+x)+BaseAddrで計算できるアドレス値の値を読むことで参照できる。
S2040では、CPU101は、第n+1番目の相対座標を参照(画素値取得)する。S2050では、CPU101は、着目画素に対し第n+1番目の相対座標が示す画素の画素値を入力画像から参照して、その画素値をBとする。これは、座標(x+yn+1,y+yn+1)の画素値を取得することになる。
S2060では、CPU101は、AとBを比較し、A>Bが真の場合はS2070へ、偽の場合はS2080へ遷移する。なお、本実施形態では、">"という比較を用いたが,これに限定されず、”<”,”≧”、”≦”の何れを用いてもよい。
S2070では、CPU101は、b=1とする。S2080では、CPU101は、b=0とする。S2090では、CPU101は、bits[n]=bとする。bitsの要素はビットで[]を使ったインデックス操作でアクセスできるものとする。詳細は後述するがnをインクリメントし、順次、bits[n]に値を代入することで、ビット列が生成されることになる。
S2100では、CPU101は、A=Bとする。S2040からS2120のループ処理において、次の処理のために値をストアしておくものである。S2110では、CPU101は、n=n+1とする(nをインクリメントする)。S2120では、CPU101は、n<要素数、を判定し、判定結果が真の場合はS2040へ、偽の場合は処理を終了する。要素数とは生成するビットの数、つまり生成するバイナリ特徴量のビット長(Mビット長)であり、ここではM=64になる。S2040からS2120は処理を既定の回数繰り返す(M回実行する)ループ構造をとる。これらの処理によりバイナリ特徴量としての64ビットのビット列が得られる。
<相対座標データの説明>
図3は、特徴量の生成における比較パターンを例示的に示す図である。具体的には、所与の座標である着目画素を基準として配置される複数(N個)の画素の相対座標を例示的に示している。図3(a)は、従来技術であるBRIEFにおける線分の配置パターンである。図3(b)は、第1実施形態における線分の配置パターンである。
従来技術であるBRIEFは、比較する二点、つまり、独立した線分ごとに2点の相対座標データを保持し画素値を参照しビット列を生成する。つまり、BRIEFでは、図3(a)に示されるような離散した複数の線分の配置パターンを利用している。この場合、128個の相対座標データから64ビットのバイナリ特徴量が生成される。
一方、第1実施形態では、相対座標データのリストで指定された複数の画素に連続的にアクセスし、現在アクセスした画素と1回前にアクセスした画素の画素値を大小比較し、比較結果をビット値とする。そして、生成したビット値を64個(M個)ビット連結してバイナリ特徴量を生成する。つまり、第1実施形態では、図3(b)に示されるような連続する複数の線分の配置パターンを利用している。すなわち、複数の線分があたかも一筆書きのように配置されている。そして、65個の相対座標データから64ビットのバイナリ特徴量が生成される。つまり、第1実施形態では、相対座標データの個数(画素の参照回数)がBRIEFに比較しほぼ半減している。
上述のS2030でも説明したとおり、画素の参照は、アドレス計算、つまり、乗算を伴い、演算コストが非常に高い。そのため画素の参照回数の低減は処理負荷や処理時間の削減に大きく寄与する。なお、上述の説明においては65点のデータを持つものと説明したが65点目(n=64)のデータを1点目(n=0)と同一としてもよい。
次に相対座標データの特性について説明する。上述したようにx、yは、−15〜15の範囲の乱数によって決められるが、線分が重複しないように設定される。すなわち、N個の画素の相対座標は、第n番目の画素の座標と第n+1番目の画素の座標とにより構成される線分が、任意のnについて一致しないよう構成される。上述の図6は、以下の制約を持った相対座標データのリストの例である。
・連続する2つの相対座標は少なくとも1画素以上離れて設定される。つまり、任意のnについて、√{(x−xn+1+(y−yn+1}≧1を満足する。ただし、2画素以上離したほうが後述の識別能力が高くなる。
・始点が同一の線分は少なくとも終点が1画素以上離れている。つまり、任意のnについて、x=xn+sかつy=yn+s、ならば、√{(xn+1−xn+s+1+(yn+1−yn+s+1}≧1を満足する。ここで、sは非ゼロの整数である。ただし、2画素以上離したほうが後述の識別能力が高くなる。
・線分の始点と終点が逆転したのみの線分は許可しない。つまり、任意のnについて、x=xn+s+1かつy=yn+s+1の場合、xn+1≠xn+s及びyn+1≠yn+sの少なくとも一方を満たす。
隣接画素は、光学的なボケ、画像処理の平滑化などにより、近似した値になりやすい。つまり、ある線分に対し、始点と終点が隣接する線分では比較結果も似る傾向にあり、特徴量を比較した場合に差が発生しにくい。つまり、識別能力が低くなり情報の価値が低いといえる。そこで、本実施形態では、相対座標の配置に制約を与えることにより、識別能力が高くなりより情報としての価値の高いビット列、つまり特徴量を生成することができる。二点の特徴量を算出しハミング距離を計算すれば、画像の相関を得ることができる。
上述の説明においては、連続した線分(図3(b))に基づき生成したビット列を特徴量として利用するものとして説明したが、生成したビット列に付加的に情報を追加してもよい。例えば、図3(c)のように、着目画素(中心点)を始点として同心円状に配置した点を終点として、線分を配置し、始点の画素値と終点の画素値を比較して作ったビット列を追加してもよい。この例では8ビットのビット列が生成できて、生成した64ビットのバイナリ特徴量に連結すれば、72ビットのバイナリ特徴量を生成したことになる。中心画素は、着目画素の特徴を最も表現する画素である場合が多く、この画素値を重点的に利用したビット列を生成することは、特徴量の識別能力を高めることにもつながる。また、S2030では、画素値を直接参照したが、3×3のフィルタを施した画像の画素値を取得する構成であってもよい。
以上説明したとおり第1実施形態によれば、連続した複数の線分のそれぞれにおける始点及び終点を利用して順次画素値の参照を行いバイナリ特徴量を生成する。この構成により、バイナリ特徴量の生成に必要な画素の参照回数を低減することが可能となり、処理負荷/処理時間を低減することが可能となる。
なお、本実施形態では、画素値を連続的に比較してバイナリ特徴量を生成している。そのため、バイナリ特徴量を解析することにより、着目画素とその周辺領域の画像成分の特性を得ることができる。バイナリ特徴量における0の数の比率が100%の場合、連続して画素値を比較しているため一連の画素値が同一になることが保証される。これは、比較する画素をサンプリングしているものの、着目画素とその周辺領域の画素が一様である確率が十分に高いことを示す。画素が一様であれば、ハミング距離を算出してマッチングする場合、値が同一となりマッチング結果の信頼性が低く、画素が一様でなければ、マッチング結果の信頼性は高いといえる。よって、バイナリ特徴量の0から算出できる特徴量の信頼度rは、以下の式で計算できる。なお、BRIEF特徴量は0と1の比率に意味がないため、この特性は本特徴量に独自の特性である。
Figure 2019016065
また、第1実施形態においては、N個の画素の画素値において、相対座標データのリスト(図6)においてインデックスが連続する2つの画素を順に比較することにより、特徴量を生成した。すなわち、第n回目の比較において、第n番目の画素と第(n+1)番目の画素とを比較した。しかしながら、比較する2つの画素においてインデックスが連続する必要はなく、現在のループで比較する2個の画素の一方が、先行するループで比較した2個の画素の一方を含むように構成すれば足りる。すなわち、第n回目の比較において、第{c+(n−1)×k}番目の画素の画素値と第{(c+n×k)modN}番目の画素値とを比較すれば足りる。ここで、cは、1回目のループで比較した1個目の画素のインデックス(オフセット)に相当する値であり任意の整数である。なお、kは任意の正整数であり、S4040からS4120のループ演算中に固定値としてもよいし変化するよう設定してもよい。kを固定値とした場合、k個毎の2つの画素を順に比較することになる。
例えば、N=8(第0番目〜第7番目の計8画素)、k=3(固定値)で、6ビットのビット列を生成する場合は、各ループで以下の2つの画素の画素値を比較する。なお、modは剰余演算を示す。
1回目のループ:第0番目の画素と第3番目の画素
2回目のループ:第3番目の画素と第6番目の画素
3回目のループ:第6番目の画素と第1(=(6+3)mod8)番目の画素
4回目のループ:第1番目の画素と第4番目の画素
5回目のループ:第4番目の画素と第7番目の画素
6回目のループ:第7番目の画素と第2(=(7+3)mod8)番目の画素
このように、先行するループで比較した2個の画素の一方の画素値と、現在のループで新たに取得する画素(S2040)の画素値とを比較して1ビット値を生成することで、画素の参照回数を低減することができる。すなわち、図3(b)に示すように、各ループで比較する2個の画素で規定される線分が一筆書きとなるようにすることで画素の参照回数を低減することができる。
(第2実施形態)
第2実施形態では、着目画素に関して設定された34個の相対座標の画素値に基づいて、当該着目画素に対する64ビットの特徴量を生成する例について説明する。具体的には、着目画素の座標を基準とした順序(インデックス)が付された複数の相対画素位置(座標)を予め決めておく。1つ飛びの2つのインデックスの相対画素位置の画素の画素値に基づいてバイナリ特徴量を導出する。なお、装置構成は第1実施形態(図1)と同様であるため説明は省略する。
<装置の動作>
図4は、第2実施形態における特徴量の生成を示すフローチャートである。上述のように、ここでは、34個の相対座標データから64ビットの特徴量を生成することを想定する。また、以下の説明では、第1実施形態(図2)と異なる部分についてのみ説明する。
S4010では、CPU101は、n=0とする。nは後述するループ処理の制御変数である。S4020では、CPU101は、第n番目の相対座標データを取得する。相対座標データは、水平、垂直座標値を(x,y)のように表現するものとする。本実施形態では、x,yは、それぞれ、−15〜−15の範囲の値であるものとする。また、相対座標データは34個の要素が存在し、nは0〜33の値をとるものとする。
S4030では、CPU101は、着目画素に対し第nの相対座標が示す画素値を入力画像から参照して、P[n]とする。つまり、入力画像に対し、(x+y,y+y)の画素値を取得することになる。
S4040では、CPU101は、n=n+1とする。S4050では、CPU101は、n<相対座標要素数、であるか否かを判定する。本実施形態では、相対座標要素数は前述したとおり”34”である。判定結果が真の場合は、S4020へ遷移する。偽の場合にはS4060へ遷移する。S4020からS4050はnを制御するループ処理になっており、連続する画素値の配列が作られることになる。
S4060では、CPU101は、m=0とする。mは後述するループの制御変数である。S4070では、CPU101は、P[m]>P[m+1]を判定する。判定結果が真の場合にはS4080へ、偽の場合には、S4090へ遷移する。S4080では、CPU101は、b0=1とする。その後4100へ遷移する。S4090では、CPU101は、b0=0とする。その後4100へ遷移する。
S4100では、CPU101は、P[m]>P[m+k]を判定する。本実施形態ではk=2とする。判定結果が真の場合にはS4110へ、偽の場合には、S4120へ遷移する。S4110では、CPU101は、b1=1とする。その後4130へ遷移する。S4120では、CPU101は、b1=0とする。その後4130へ遷移する。
S4130では、CPU101は、bits[2m]=b0,bits[2m+1]=b1とする。これは生成した2つのビットを連結する処理ともいえる。
S4140では、CPU101は、m=m+1とする。S4150では、CPU101は、2×m+1<要素数、を判定する。判定結果が真の場合は、S4070へ遷移する。偽の場合には処理を終了する。上述の通り、本実施形態では要素数は”64”である。S4070からS4140はmを制御変数とするループ処理になっており、1回のループ処理で2ビット長のビット列が作られ、M個(ここではM=32)のループ全体で64ビット長(2Mビット長)のビット列が作られる。
以上説明したとおり第2実施形態によれば、第1実施形態に比較し約半分の回数の画素参照でバイナリ特徴量を生成可能となる。
なお、上述の説明では、連続する2つの相対座標データが示すポイントから2ビットを作る例を説明したが、これに限定されない。基準となるp[m]に対して、p[m+1]、p[m+2]、p[m+3]など3点以上の点を比較する構成をよってもよい。ただし、減らしすぎると生成された特徴量の識別能力を低下させることになるため、ビット列のビット数が十分に大きい場合に適用するとよい。
また、上述の説明では、隣接する画素間の比較(k=1)と1つ飛びの画素間の比較(k=2)により構成しているがこれに限定されない。kは任意の数でよい。例えば、連続する線分のパターンを十六角形(つまり、N=16)にしたとき、k=3及びk=9の双方を行い、生成された2つのビット列を連結して1つのビット列を生成してもよい。
さらに、S4020からS4050のループとS4070からS4140のループという二段構成をとったが、必ずしも二段構成である必要はない。画素値を参照直後にビットを生成する構成をとってもよい。この場合、配列Pは、全ての画素値を保持する領域を持つ必要がなくなる。
(第3実施形態)
第3実施形態では、ハードウェア回路によりバイナリ特徴量を生成する装置を構成する場合の実装例について説明する。
<装置構成>
図5は、第3実施形態に係る画像処理装置の構成を示すブロック図である。以下では、図5(a)に示すバイナリ特徴量の生成装置に関して説明する。
生成装置500は、バス501を介して、CPU502により制御される。メモリ503は、処理対象の画像データなどが格納されるワークメモリとして配置される。生成装置500は、比較演算器504、ビット列格納メモリ505、コントローラ506、バッファ507、相対座標データ格納メモリ508、レジスタ509、510、コピー回路511を有している。なお、ここでは、相対座標データ格納メモリ508は、図6に示す相対座標データを格納しているとする。なお、ここでは、生成装置500、CPU502、メモリ503を別体として示しているが一体の構成としてもよい。
以下では、着目画素からビットを1ビットずつ生成し、最終的に64ビットのビット列を生成する動作について図5(a)を使って説明する。
CPU501は、メモリ503に格納された画像データのうち、着目画素を中心とする15x15領域の画素をバッファ507に読み込ませる。以下、n(nは0〜63)ビット目のビットを生成する動作として説明する。
コントローラ506は、相対座標データを順に相対座標データ格納メモリ508から読み込み、対応する画素の画素値をレジスタ509に格納する。ここでは、一回の動作で、図6の相対座標データの”idx”列で指定されたインデックス値を順に参照する。さらに、インデックス値に対し、図7に示すインデクスマップの対応する位置の画素値を取得する。図7は、15×15領域のインデックスマップを説明する図である。各画素に対応する領域には、0〜224のインデックス値が割り当てられている。すなわち、図6の相対座標データの”idx”列は図7に示すインデックス値が指定される。すなわち、図6に示されるN個の画素の相対座標は、図7に示される着目座標を中心とした1辺がK画素(ここではK=15)の正方領域に対して配置される。なお、Kは、N<Kを満たす正整数である。コピー回路511は、レジスタ509に格納されている画素値をレジスタ510にコピーし格納する。
その後、コントローラ506は、相対座標データにおける次の相対座標に対応する画素値データをレジスタ509へ書き込む。比較演算器504は、レジスタ509の値(ここでは”A”)とレジスタ510の値(ここでは”B”)を比較し、A>Bの場合には”1”を、それ以外の場合には”0”をビット列格納メモリ505に出力する。ビット列格納メモリ505は、入力したビットを順次結合する。
以後、コピー回路511による値のコピー、コントローラ506の画素値データの読み込みとレジスタ509への書き込み、比較演算器504による比較演算とビットの出力が順次行われ、ビット列が生成される。CPU501は、64ビットのビット列が生成された時点で、ビット列格納メモリから当該ビット列を読み込み、メモリ503に書き込む。
以上の動作が着目画素ごとに繰り返され複数の特徴量が生成される。このようなハードウェア構成により、第1実施形態と同様の特徴量を生成することが可能となる。
なお、図5(a)ではコピー回路511を利用して値をコピーする実装例を示したが、この構成に限定されるものではない。例えば、図5(b)に示す構成としてもよい。図5(b)では、コントローラ506は、画素値をレジスタ509、レジスタ510へ交互に書き込む動作を行う。このためコピー回路511が必要ない。なお、この場合、レジスタ509の値(ここでは”A”)とレジスタ510の値(ここでは”B”)を、常にA>Bとして比較した場合、図5(a)の場合とは異なるビットが生成される。ただし、同一の装置で特徴量を生成している限りはこの値を特徴量として用いても問題はない。なお、第1実施形態と同様の特徴量を生成する場合には、比較演算器504において”A>Bの判定”と”B<Aの判定”を交互に実施する必要がある。
また、上述の説明においては、1つの比較演算器がビットを生成しビット列を生成する構成を示したが、これに限定されない。2つ以上の比較演算器やレジスタを持つ構成をとっても良い。このときは、画素参照しながらビットを生成する処理が並列に行われることになる。
以上説明したとおり第3実施形態によれば、ハードウェアにより第1実施形態と同様のバイナリ特徴量を生成することが可能となる。なお、上述の説明では、第1実施形態と同等の処理を行うハードウェア構成について説明したが、第2実施形態と同様の処理を行うハードウェア構成とすることも可能である。だたし、その場合、追加のレジスタが必要になる。
(第4実施形態)
第4実施形態では、配列として示される特徴量を生成する形態について説明する。すなわち、第1〜第3実施形態では、1要素が1ビット値で表現されるバイナリ特徴量を生成する例について説明したが、第4実施形態では、1要素が複数ビット値で表現される特徴量を生成する。
<装置の動作>
図8は、第4実施形態における特徴量の生成を示すフローチャートである。特別な記載がない場合には、第1実施形態(図2)で説明した動作と同等である。ここでは、最終的に生成する特徴量(多次元ベクトル)は、arrで表す配列とする。第4実施形態では64個の要素を持つ、つまり、64次元ベクトルになる。S2010〜S2050、S2100〜S2120は、図2の同符号における動作と同じである。S2050の処理を実施後、S8090を実行する。
S8090では、CPU101は、AとBを引き数として、関数fを計算し、結果をarr[n]に代入する。関数fは、AとBの比較結果を数値化するものであり、例えば、差分を示す以下の式を用いることが出来る。
f(a,b)=a−b ・・・(1)
ここで、AとBはそれぞれ8ビット値であるため、arrの1要素は、9ビット以上の整数を表現できるものとする。利用する数式は数式(1)に限定されず、以下の数式(2)あるいは数式(3)を用いてもよい。
以下の数式(2)は、計算結果が「符号ありの8ビット」に収まるように係数を掛けた式である。数式(2)では、arrの1要素を8bitに収めることができる。
f(a,b)=127×(a−b)/255 ・・・(2)
また、以下の数式(3)のように任意の係数kを掛け、符号あり8ビットに収まるように飽和させてもよい。max(a,b)は、a,bのうち大きい値を返す関数であり、min(a,b)は、a,bのうち小さい値を返す関数である。係数kは、画像のコントラスト(例えば、入力画像の標準偏差)に比例した値を設定するとよい。数式(3)でも、arrの1要素を8bitに収めることができる。
f(a,b)=min(max(k(a−b),128),127) ・・・(3)
このように、fはA,Bの大小関係を表現する値を計算する限り、様々に定義できる。S8090の処理の後に、S2100に遷移する。フロー終了時点でarrとして特徴量が生成される。
以上説明したとおり第4実施形態によれば、1要素が多ビットで表現される特徴量を算出することが可能となる。なお、上述の説明では、8ビット整数(256階調)画像を扱うものとしてが、これに限定されず、16ビット整数、あるいは、浮動小数点数で表現された画像に適用することも可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
500 生成装置; 501 バス; 502 CPU; 503 メモリ; 504 比較演算器; 505 ビット列格納メモリ; 506 コントローラ; 507 バッファ; 508 相対座標データ格納メモリ; 509 レジスタ; 510 レジスタ

Claims (9)

  1. 入力画像の特徴量を導出する画像処理装置であって、
    所与の座標を基準として配置されるN個の画素の相対座標を示す座標情報を記憶する記憶手段と、
    前記座標情報に基づいて、前記入力画像における着目画素を前記所与の座標とした場合の該入力画像における画素の画素値を取得し、該入力画像に含まれる2個の画素の画素値を比較し第1の比較結果を出力する第1の比較手段と、
    前記第1の比較結果に基づいて、前記着目画素の特徴量を導出する導出手段と、
    を有し、
    前記第1の比較手段は、2個の画素の画素値の比較をM回実行してM個の前記第1の比較結果を出力し、第n回目(2≦n≦M)で比較する2個の画素は第(n−1)回目で比較した2個の画素の一方を含み、
    前記導出手段は、前記第1の比較手段により出力されたM個の前記第1の比較結果を連結して前記着目画素の特徴量として導出する
    ことを特徴とする画像処理装置。
  2. 前記第1の比較手段は、第n回目の比較において、前記座標情報に含まれる第{c+(n−1)×k}番目(ここで、cは任意の整数であり、kは{c+(n−1)×k}≦Nを満たす正整数)の画素の画素値と第{(c+n×k)modN}番目の画素値とを比較する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第1の比較手段は、比較した2個の画素における画素値の大小を示す1ビット値を前記第1の比較結果として出力し、
    前記導出手段は、前記第1の比較手段により出力されたM個の前記第1の比較結果をビット連結して得られるMビット長の値を前記着目画素の特徴量として導出する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記第1の比較手段は、比較した2個の画素における画素値の差分に対して所与の演算を行って得られる複数ビット値を前記第1の比較結果として出力し、
    前記導出手段は、前記第1の比較手段により出力されたM個の前記第1の比較結果を連結して得られる配列を前記着目画素の特徴量として導出する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  5. 前記N個の画素の画素値に含まれる2個の画素の画素値を比較し第2の比較結果を出力する第2の比較手段を更に有し、
    前記第2の比較手段は、2個の画素の画素値の比較をM回実行してM個の前記第2の比較結果を出力し、第n回目の比較において、前記座標情報に含まれる第{c+(n−1)×k}番目(ここで、k≠kを満たす正整数)の画素の画素値と第{(c+n×k)modN}番目の画素値とを比較し、
    前記導出手段は、更に前記第2の比較手段により出力されたM個の前記第2の比較結果を連結して前記着目画素の特徴量として導出する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  6. 前記第1の比較手段は、比較した2個の画素における画素値の大小を示す1ビット値を前記第1の比較結果として出力し、
    前記第2の比較手段は、比較した2個の画素における画素値の大小を示す1ビット値を前記第2の比較結果として出力し、
    前記導出手段は、前記第1の比較手段により出力されたM個の前記第1の比較結果と前記第2の比較手段により出力されたM個の前記第2の比較結果とをビット連結して得られる2Mビット長の値を前記着目画素の特徴量として導出する
    ことを特徴とする請求項5に記載の画像処理装置。
  7. 前記座標情報におけるN個の画素の相対座標は、前記所与の座標を中心とした1辺がK画素の正方領域(ただし、Kは、N<Kを満たす正整数)に対して配置される
    ことを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 入力画像の特徴量を導出する画像処理装置の制御方法であって、
    所与の座標を基準として配置されるN個の画素の相対座標を示す座標情報に基づいて、前記入力画像における着目画素を前記所与の座標とした場合の該入力画像における画素の画素値を取得し、該入力画像に含まれる2個の画素の画素値を比較し比較結果を出力する比較工程と、
    前記比較結果に基づいて、前記着目画素の特徴量を導出する導出工程と、
    を含み、
    前記比較工程では、2個の画素の画素値の比較をM回実行してM個の前記比較結果を出力し、第n回目(2≦n≦M)で比較する2個の画素は第(n−1)回目で比較した2個の画素の一方を含み、
    前記導出工程では、前記比較工程により出力されたM個の前記比較結果を連結して前記着目画素の特徴量として導出する
    ことを特徴とする画像処理装置の制御方法。
  9. コンピュータを、請求項1乃至7の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
JP2017131487A 2017-07-04 2017-07-04 画像処理装置およびその制御方法 Withdrawn JP2019016065A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017131487A JP2019016065A (ja) 2017-07-04 2017-07-04 画像処理装置およびその制御方法
US16/025,336 US20190012565A1 (en) 2017-07-04 2018-07-02 Image processing apparatus and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017131487A JP2019016065A (ja) 2017-07-04 2017-07-04 画像処理装置およびその制御方法

Publications (2)

Publication Number Publication Date
JP2019016065A true JP2019016065A (ja) 2019-01-31
JP2019016065A5 JP2019016065A5 (ja) 2020-08-13

Family

ID=64904259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017131487A Withdrawn JP2019016065A (ja) 2017-07-04 2017-07-04 画像処理装置およびその制御方法

Country Status (2)

Country Link
US (1) US20190012565A1 (ja)
JP (1) JP2019016065A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120582A1 (ja) * 2011-03-07 2012-09-13 パナソニック株式会社 動き補償装置、動画像符号化装置、動画像復号装置、動き補償方法、プログラム、及び集積回路
JP2012234257A (ja) * 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
WO2017056312A1 (ja) * 2015-10-02 2017-04-06 富士通株式会社 画像処理プログラムおよび画像処理装置

Also Published As

Publication number Publication date
US20190012565A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
US11915119B2 (en) Convolutional neural network (CNN) processing method and apparatus performing high speed and precision convolution operations
CN106203376B (zh) 人脸关键点定位方法及装置
JP6212111B2 (ja) 特徴検出を実行し、特徴スコアを決定するためのシステムおよび方法
CN108021923B (zh) 一种用于深度神经网络的图像特征提取方法
JP5388835B2 (ja) 情報処理装置及び情報処理方法
JP6720664B2 (ja) インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法
US11373098B2 (en) Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium
CN106855952B (zh) 基于神经网络的计算方法及装置
JP2021527263A5 (ja)
CN112396085B (zh) 识别图像的方法和设备
JP6622369B1 (ja) 訓練データを生成する方法、コンピュータおよびプログラム
WO2010080857A2 (en) Scalable media fingerprint extraction
JP7011152B2 (ja) 生体画像処理装置、生体画像処理方法、及び生体画像処理プログラム
US9189693B2 (en) Information processing apparatus and information processing method
JP2019016065A (ja) 画像処理装置およびその制御方法
US10949694B2 (en) Method and apparatus for determining summation of pixel characteristics for rectangular region of digital image avoiding non-aligned loads using multiple copies of input data
CN112906728B (zh) 一种特征比对方法、装置及设备
JP2015041293A (ja) 画像認識装置および画像認識方法
KR102018773B1 (ko) Akbing을 이용한 영상의 객체 후보 검출 장치 및 방법
JP6987987B2 (ja) メディア特徴の比較方法及び装置
US11853419B2 (en) Apparatus and method for preventing side channel attack for NTRU LPRime algorithm
TWI622286B (zh) 幀分辨率決定方法以及使用該方法的裝置
CN116467684A (zh) 仿冒应用识别方法、装置、计算机设备及存储介质
CN112598074A (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
JP6831307B2 (ja) 解算出装置、解算出方法及び解算出プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200702

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20210121