JP2015191568A - 画像認識装置、画像認識方法及びプログラム - Google Patents
画像認識装置、画像認識方法及びプログラム Download PDFInfo
- Publication number
- JP2015191568A JP2015191568A JP2014069927A JP2014069927A JP2015191568A JP 2015191568 A JP2015191568 A JP 2015191568A JP 2014069927 A JP2014069927 A JP 2014069927A JP 2014069927 A JP2014069927 A JP 2014069927A JP 2015191568 A JP2015191568 A JP 2015191568A
- Authority
- JP
- Japan
- Prior art keywords
- normal direction
- image
- feature
- bit string
- row
- 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
Links
Images
Abstract
【課題】物体を認識するための特徴量を、計算量を抑えて算出できるようにする。
【解決手段】HOG特徴やSIFT特徴の代わりに、近似する法線方向ヒストグラム特徴を用いてその演算量を削減する。法線方向ヒストグラム特徴を算出する際には、隣接する2画素間で明度差を判定して二値エッジ画像を生成し、そして、二値エッジ画像の行ごとに、着目した行のビット列とその1行ないし数行上のビット列とを比較して法線方向を識別し、その法線方向の全ての行を通した頻度を求める。
【選択図】図1
【解決手段】HOG特徴やSIFT特徴の代わりに、近似する法線方向ヒストグラム特徴を用いてその演算量を削減する。法線方向ヒストグラム特徴を算出する際には、隣接する2画素間で明度差を判定して二値エッジ画像を生成し、そして、二値エッジ画像の行ごとに、着目した行のビット列とその1行ないし数行上のビット列とを比較して法線方向を識別し、その法線方向の全ての行を通した頻度を求める。
【選択図】図1
Description
本発明は、特に、高速に画像認識を行うために用いて好適な画像認識装置、画像認識方法及びプログラムに関する。
従来、ある画像から顔や人体などの物体を検出する物体検出技術が知られている。一般的にこの物体検出技術においては、その画像の任意の部分画像から特徴量を抽出し、学習機械によりその特徴量が物体を成すか否かを識別する。この物体検出技術で用いられる特徴量として、非特許文献1には、人体の検出を実現する輝度勾配ヒストグラム特徴、いわゆるHOG特徴が開示されている。
HOG特徴とは、部分画像をさらに正方形の局所領域(セル)に分割し、そのセル内の画素ごとに輝度の勾配方向と勾配強度とを求め、その画素ごとの勾配強度を勾配方向ごとに累積ヒストグラム化し、ヒストグラムを正規化したものである。ある画素での勾配強度は、その画素の輝度とその画素の上や左に隣接する画素の輝度との差の二乗和の平方根であり、その画素での勾配方向は、これらの画素の輝度差の比の逆正接である。HOG特徴は、人体の動作、体格、カメラ視点等の幾何学的変換や、照明状況、環境光等の変動に剛健であることが知られている。
また、特許文献1には、HOG特徴を利用して特徴量の演算を高速化する手法が開示されている。この手法によれば、HOG特徴を演算すると輝度勾配の強度をセル内で正規化する計算量が大きいことから、一対の異なるセル間での輝度勾配の強度差を特徴量とし、正規化を省略している。
さらに、特許文献2には、局所特徴によるマッチングを実現するSIFT(Scale−Invariant Feature Transform)特徴が開示されている。この局所特徴の演算は、特徴点演算、勾配主方向演算、及び特徴量の演算に分かれており、この特徴量をSIFT特徴ではデスクリプタと呼ばれている。このデスクリプタの演算においては、HOG特徴と同様に正方形のセルごとに輝度の勾配方向ごとのヒストグラムを取得する。また、SIFT特徴は、HOG特徴と同様に幾何学的変換や光量の変動に剛健であることが知られている。
Navneet Dalal and Bill Triggs. Histograms of Oriented Gradients for Human Detection. CVPR2005
物体検出技術は、その利用法によっては実時間で動作することが要求され、計算量を抑えて高速に動作することが望ましい。一方、特徴量ある領域の輝度勾配ヒストグラム特徴の計算量は、HOG特徴もSIFTデスクリプタも、画素ごとに二乗和の平方根や逆正接を求めるため、その計算量はその領域の画素数に比例し、計算量が膨大であるという問題点がある。
本発明は前述の問題点に鑑み、物体を認識するための特徴量を、計算量を抑えて算出できるようにすることを目的としている。
本発明に係る画像認識装置は、入力画像から物体の少なくとも一部を含む部分画像を取得する取得手段と、前記取得手段によって取得された部分画像を構成する行ごとに前記物体の輪郭の法線方向を算出する算出手段と、前記算出手段によって算出された行ごとの法線方向の頻度を示すヒストグラムを、画像認識に用いる特徴量として生成する生成手段と、を備えることを特徴とする。
本発明によれば、物体を認識するための特徴量を、計算量を抑えて算出することができる。
(第1の実施形態)
以下、本発明の第1の実施形態について図面を参照しながら説明する。
図2は、本実施形態に係る画像認識装置100のハードウェア構成例を示すブロック図である。
図2において、撮像素子201はCCD、CMOS等で構成され、被写体像を光から電気信号に変換する。信号処理回路202は、撮像素子201から得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する。
以下、本発明の第1の実施形態について図面を参照しながら説明する。
図2は、本実施形態に係る画像認識装置100のハードウェア構成例を示すブロック図である。
図2において、撮像素子201はCCD、CMOS等で構成され、被写体像を光から電気信号に変換する。信号処理回路202は、撮像素子201から得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する。
CPU203は、ROM204に格納されている制御プログラムを実行し、画像認識装置100全体を制御する。ROM204は、CPU203が実行する制御プログラムや各種パラメータデータを格納する。制御プログラムは、CPU203で実行され、後述するフローチャートに示す各処理を実行するための各種手段として、当該装置を機能させる。RAM205は、画像データや各種情報を記憶する。また、RAM205は、CPU203のワークエリアやデータの一時待避領域として機能する。ディスプレイ206は、画像等を表示する表示装置である。
なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、CPU203を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現しても構わない。また、本実施形態の画像認識装置100は、撮像素子201や信号処理回路202を省いて汎用PCを用いて実現してもよいし、画像処理専用装置として実現しても構わない。また、ネットワークまたは各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ等の処理装置(CPU、プロセッサ)にて実行してもよい。
図1は、本実施形態に係る画像認識装置100の機能構成例を示すブロック図である。
図1において、部分画像取得部101は、入力画像から所定のサイズの部分画像を取得し、特徴量演算部103は、部分画像の輪郭の法線方向ヒストグラム特徴を求める。そして、画像認識部102は、演算した法線方向ヒストグラム特徴を用いて入力画像の認識を行う。ここで、入力される部分画像は、縦画素数と横画素数とが等しく、ある画像の一部分を表す画像であるものとする。
図1において、部分画像取得部101は、入力画像から所定のサイズの部分画像を取得し、特徴量演算部103は、部分画像の輪郭の法線方向ヒストグラム特徴を求める。そして、画像認識部102は、演算した法線方向ヒストグラム特徴を用いて入力画像の認識を行う。ここで、入力される部分画像は、縦画素数と横画素数とが等しく、ある画像の一部分を表す画像であるものとする。
本実施形態では、特徴量として法線方向ヒストグラム特徴を算出して出力する。法線方向ヒストグラム特徴とは、部分画像がある物体を示すか否かの識別に用いられる画像特徴であって、部分画像内におけるある物体の輪郭の形状を示す特徴量である。また、この法線方向ヒストグラム特徴は、非特許文献1に開示されているHOG特徴や特許文献2に開示されているSIFT特徴と近似しており、非特許文献1及び特許文献2に記載されている物体か否かの識別手法に適用できる。
本実施形態において、法線方向ヒストグラム特徴を演算する特徴量演算部103は、法線方向演算部111とヒストグラム生成部112とから構成されている。特徴量演算部103においては、部分画像に含まれる行及び列のそれぞれについて、法線方向演算部111がその行もしくは列における輪郭の法線方向の近似を取得する。次に、ヒストグラム生成部112がその法線方向の近似にしたがって法線方向ヒストグラム特徴を更新する。本実施形態では、以降、部分画像もしくはその二値化結果を90度回転することにより、ある行における輪郭の法線と、ある列における輪郭の法線とを同一処理で求めるものとする。
法線方向演算部111は、さらに二値エッジ画像生成部121、距離取得部122、及び法線方向判断部123から構成されている。二値エッジ画像生成部121は、部分画像の微分画像を二値化し、エッジ画像を求めた上で、そのエッジ画像内の特徴量演算部103で着目した行もしくは列について、その各ピクセルをビットと捉えたビット列を生成する。
距離取得部122は、二値エッジ画像生成部121で生成したビット列を数ビットシフトしたビット列と、その1行もしくは数行上のビット列とを比較し、その距離を求める。シフト量及び行間は、法線方向の近似精度にしたがって事前に決定される。また、求める距離はハミング距離であって、ビット列同士の排他的論理和についてセットされているビット数を数える。
法線方向判断部123は、距離取得部122で取得した距離にしたがって、二値エッジ画像生成部121で着目した行もしくは列における法線方向を求める。例えば着目している行のビット列を左に1ビットシフトしたビット列が、1行上のビット列と近い場合には、その着目している行における輪郭の法線方向は右上方向と判定する。この処理の詳細については図6を参照しながら後述する。
図3(a)は、入力画像から取得される部分画像の一例を示す図である。図3(a)に示すように、部分画像は少なくとも物体の一部を含み、1画素あたり多値を持つ例えばRGB画像の任意の1プレーンの画像であって、かつ縦横の画素数が等しい画像である。一辺の画素数は、演算の効率化の視点から2の累乗であることが好ましく、例えば64画素とすることが好ましい。
出力される法線方向ヒストグラム特徴は、部分画像を一定の正方形のセルに分割し、そのセルごとの輪郭の法線方向の頻度である。輪郭の法線方向の頻度とは、その角度の定義域を適宜分割し、輪郭上の各画素における法線方向が、個々のカテゴリに属する頻度を意味する。
図3(b)は、図3(a)に示した部分画像の法線方向ヒストグラム特徴の一例を示す図である。図3(b)において、各格子はセルを表しており、格子内の放射形状は法線方向のヒストグラムの強さをBIN別に表している。セルの個数は、縦方向及び横方向で同数であり、例えば8×8個を好適とする。ヒストグラムのBIN数については、図3の(c)に示すように、法線方向の分割数は8を好適とし、さらに画像上に輪郭がない場合と、分類不能な場合との2つのBINを追加する。その結果、出力するヒストグラムは8×8セル×10BINを構成する配列となる。
次に、本実施形態によって算出される法線方向ヒストグラム特徴を用いて画像認識を行う手順について説明する。本実施形態では、HOG特徴を法線方向ヒストグラム特徴で近似して画像認識を行う例について説明する。
図4(a)は、本実施形態において、法線方向ヒストグラム特徴を用いて画像認識を行う処理手順の一例を示すフローチャートである。なお、図4(a)に示す処理を行う前提として、事前に多数の物体画像から法線方向ヒストグラム特徴の傾向が統計的に処理されており、その結果を登録辞書として保持されているものとする。この統計的処理には、例えば非特許文献1に記載されているSupport Vector Machineを用いる。
まず、ステップS401において、入力画像の任意の部分画像について、Sliding Window法に従い、ステップS402〜ステップS403の処理を繰り返す。この部分画像は法線方向ヒストグラム特徴が取得可能な正方形であって、かつ演算に適切な64×64画素のサイズである。
まず、ステップS401で着目した部分画像について、ステップS402において、特徴量演算部103は、法線方向ヒストグラム特徴を算出する。この法線方向ヒストグラム特徴を算出する処理の詳細については後述する。次に、ステップS403において、画像認識部102は、ステップS402で取得した法線方向ヒストグラム特徴に対し、登録辞書における法線方向ヒストグラム特徴と比較し、特徴が近似するか否かを識別する。この識別は、前述した統計的処理手法と一対であり、前述したSupport Vector Machineを用いる。
ステップS401〜ステップS403により全ての部分画像について物体領域か否かを識別すると、次のステップS404に進む。そして、ステップS404において、画像認識部102は、物体領域として判定された部分画像のうち、同一の物体を構成すると思われる部分画像を統合し、その領域を求める。そして、物体の認識結果として出力する。
図5は、図4のステップS402において特徴量演算部103が法線方向ヒストグラム特徴を算出する処理手順の一例を示すフローチャートである。以下、部分画像の大きさは64×64画素であって、1チャンネルとし、さらにセルの数は8×8セルとして、法線方向を8分割し、ヒストグラムのBIN数を10とした例について説明する。
まず、ステップS501において、法線方向演算部111は、法線方向ヒストグラム特徴を初期化する。すなわち、すべてのセルと法線方向との組み合わせについて0を設定する。
続いてステップS502において、二値エッジ画像生成部121は、横方向の二値エッジ画像を生成する。具体的には、部分画像の全ての画素について、その左隣の画素との明度の差を求め、その明度差を事前に設定した閾値で二値化し、その二値化の結果をビットとして並べる。すなわち、隣接する2画素間で明度差が大きい場合はビットが設定される。二値化の閾値は、例えば人体領域と背景領域との境界に相当する画素でビットが設定され、かつ同一領域である場合は可能な限りビットが設定されない様に好適な値を設定する。二値エッジ画像がメモリに占める大きさは部分画像の大きさが64×64画素の画像である場合には8×64バイトとなる。
次に、ステップS503において、作成した横方向の二値エッジ画像について、法線方向ヒストグラム特徴を算出する。この処理の詳細については後述する。次に、ステップS504において、二値エッジ画像生成部121は、縦方向の二値エッジ画像を生成する。この処理では、画像を時計回り方向に90度回転した上で、ステップS502と同等の処理を行う。そして、ステップS505において、縦方向の二値エッジ画像について、法線方向ヒストグラム特徴を算出して加算する。この処理もステップS503と同様に後述する。図5の処理により、ステップS503およびステップS505で算出された法線方向ヒストグラム特徴が出力される。
なお、図5に示したフローチャートでは、0度及び90度の回転のみを考慮したが、回転せずに法線方向ヒストグラム特徴を算出してもよい。さらに180度ないし270度回転した画像について法線方向ヒストグラム特徴を算出してもよい。
また、法線方向ヒストグラム特徴を算出する際には、二値エッジ画像の行ごとにその法線方向を識別し、その法線方向の全ての行を通した頻度を求める。以下、法線方向が8方向の場合に、行ごとに法線方向を識別する手法について図6を参照しながら説明する。
法線方向の識別は、着目した行のビット列及びその1行ないし数行上のビット列のビット演算結果の判断により行われる。図6において、項目601は着目した行のビット列及びその1行・2行上のビット列を示しており、項目602は判断基準を示し、項目603は判断結果となる法線方向を示す。法線方向は、図3(c)に示したように、水平方向を0度とし、反時計回りにおおよそ22.5度おきに刻み、それぞれBINを0から7に割り当てるものとする。本実施形態の場合には、実際は0度、約26.565度、45度、約63.435度、90度、116.565度、135度、153.435度となる。
法線方向を識別する際には、図6の例611〜620のそれぞれについて順に識別する。まず、例611に示すように、着目したビット列にエッジが存在しない場合には、その法線方向は存在しないものとし、BINは8となる。また、例612に示すように、着目したビット列にエッジが存在し、かつ1行上のビット列にエッジが存在しない場合は、その法線方向は90度方向であり、BINを4とする。一方、例613に示すように、着目したビット列と1行上のビット列とでエッジが近い場合は、その法線方向は0度方向であり、BINを0とする。
例614に示すように、着目したビット列を右に1ビットシフトしたものと1行上のビット列とでエッジが近い場合は、その法線方向は135度方向であり、BINを6とする。また、例615に示すように、着目したビット列を右に1ビットシフトしたものと1行上のビット列とでエッジが近く、かつ着目したビット列を右に1ビットシフトしたものと2行上のビット列とでエッジが近い場合がある。この場合には、その法線方向は153.435度であり、BINを7とする。一方、例616に示すように、着目したビット列を右に1ビットシフトしたものと1行上のビット列とでエッジが近く、かつ着目したビット列を右に2ビットシフトしたものと1行上のビット列とでエッジが近い場合もある。この場合には、その法線方向は116.565度となり、BINを5とする。
右にシフトして判定する場合と同様に、着目したビット列を左にシフトして判定する場合にも、例617〜619に示す通りに識別し、そのBINはそれぞれ2、1、3となる。また、例620に示すように、例611〜619のいずれにも属さない場合には、分類不能としてBINを9とする。なお、この場合は、明確な輪郭を持たない領域であって、ノイズやテクスチャである可能性が高く、認識率には大きな影響は与えないと考えられる。
例613〜619に示したビット演算において、2つのビット列が近いか否かについては、本実施形態においては、そのハミング距離が1以下であるか否かによって判断する。2つのビット列のハミング距離を求める際には、2つのビット列の排他的論理和を求め、そのビット列で真となるビット数を数える。あるビット列で真となるビット数を数えるには、いわゆるPopCountを用いる。
本実施形態では、前述したたように、部分画像の1行あたりの画素数は64であり、1画素が1ビットに二値化されているので、1行あたりのビット長は64であり、セルのビット長は8である。よって、64ビット列xについて8ビットごとにPopCount8を求める。PopCount8の値は、以下の式(1)の演算を終えた状態のxの値である。
x=((x&0xaaaaaaaaaaaaaaaaUL)>>1)+(x&0x5555555555555555UL)
x=((x&0xccccccccccccccccUL)>>2)+(x&0x3333333333333333UL)
x=((x&0xf0f0f0f0f0f0f0f0UL)>>4)+(x&0x0f0f0f0f0f0f0f0fUL)
x=((x&0xff00ff00ff00ff00UL)>>8)+(x&0x00ff00ff00ff00ffUL)
・・・(1)
x=((x&0xaaaaaaaaaaaaaaaaUL)>>1)+(x&0x5555555555555555UL)
x=((x&0xccccccccccccccccUL)>>2)+(x&0x3333333333333333UL)
x=((x&0xf0f0f0f0f0f0f0f0UL)>>4)+(x&0x0f0f0f0f0f0f0f0fUL)
x=((x&0xff00ff00ff00ff00UL)>>8)+(x&0x00ff00ff00ff00ffUL)
・・・(1)
但し、式(1)において、「=」は代入を表し、「&」は論理和を表す。また、接頭詞0xは16進数を表しており、接尾詞ULは64ビット符号なし整数を表し、「+」は加算を表している。式(1)の演算は定数時間で行うことができ、ビットシフトおよび排他的論理和の計算も定数時間で行うことができるため、例613〜619の識別は、そのビット長に対し定数時間で終了することができる。すなわち、ある行における輪郭の法線方向を、その列方向の画素数に対し定数時間で求めることができる。
図7は、図5のステップS503及びS505において、二値エッジ画像から法線方向ヒストグラム特徴を算出して加算する詳細な処理手順の一例を示すフローチャートである。この処理を行う際には、二値エッジ画像B、今までに算出して加算された法線方向ヒストグラム特徴HIST、及び画像が回転されているか否かのフラグを用いるものとする。
まず、ステップS701において、二値エッジ画像Bのすべての行yについて、ステップS702〜ステップS705の処理を繰り返す。以下、着目した行yのビット列をByと表記し、ビット列Byは64ビット長のビット列であるものとする。行yを選択する際には、二値エッジ画像Bの全ての行について選択してもよいし、二値エッジ画像Bからランダムに選択したり数行おきに選択したりしてもよい。例えば二値エッジ画像Bが、乱択アルゴリズムが機能する程に大きい場合には、ランダムに行yを選択することによって処理を高速化することができる。
ステップS702においては、距離取得部122は、図6の項目602に示した判断基準について、8ビットずつ、連続する8セル分まとめて距離を演算する。具体的には、以下の式(2)に示す演算を行う。
T[0]=PopCount8(By xor By-1)
T[1]=PopCount8((By<<1) xor By-2)
T[2]=PopCount8((By<<1) xor By-1)
T[3]=PopCount8((By<<2) xor By-1)
T[5]=PopCount8((By>>2) xor By-1)
T[6]=PopCount8((By>>1) xor By-1)
T[7]=PopCount8((By>>1) xor By-2)
・・・(2)
T[0]=PopCount8(By xor By-1)
T[1]=PopCount8((By<<1) xor By-2)
T[2]=PopCount8((By<<1) xor By-1)
T[3]=PopCount8((By<<2) xor By-1)
T[5]=PopCount8((By>>2) xor By-1)
T[6]=PopCount8((By>>1) xor By-1)
T[7]=PopCount8((By>>1) xor By-2)
・・・(2)
ただし、Tはビット演算結果であって、Tの括弧内の添え字は図3(c)に示す方向θに対応している。また、「=」は代入を表し、「<<1」、「<<2」、「>>1」、「>>2」はそれぞれ、1ビット左シフト、2ビット左シフト、1ビット右シフト、2ビット左シフトを表している。「xor」は、排他的論理和の演算を表しており、By-1は着目しているビット列Byの1行上のビット列を表し、By-2は着目しているビット列Byの2行上のビット列を表している。さらにPopCount8の値は、式(1)により算出される。
次に、行yのビット列Byを構成するx番目のバイトByx(0≦x≦7)のそれぞれについて、ステップS704からステップS705の処理を繰り返す。まず、ステップS704においては、法線方向判断部123は、バイトByxにおける法線方向の近似θを求める。この処理の詳細については後述する。
続いて、ステップS705においては、ヒストグラム生成部112は、法線方向の近似θに従い、法線方向ヒストグラム特徴HISTのy、x、θに対応するBINに頻度を加算する。ここで、セルのサイズが8×8であるため、法線方向ヒストグラム特徴上ではyを8で割った商がそのBINの添え字に相当する。また、画像が時計回り方向に回転されている場合には、法線方向の近似θを適宜入れ替える必要がある。具体的には、画像が回転されていない場合と画像が回転されている場合とで場合分けし、以下の式(3)に従う。
画像が回転されていないなら、
HIST[x][y>>3][θ] ++
画像が回転されていて、かつθ≦4なら
HIST[y>>3][x][θ−4] ++
画像が回転されていて、かつ4<θ≦7なら
HIST[y>>3][x][θ+4] ++
・・・(3)
画像が回転されていないなら、
HIST[x][y>>3][θ] ++
画像が回転されていて、かつθ≦4なら
HIST[y>>3][x][θ−4] ++
画像が回転されていて、かつ4<θ≦7なら
HIST[y>>3][x][θ+4] ++
・・・(3)
ただし、「>>3」は3ビット右シフト、すなわち8で割った商を表し、「++」は先行する変数へ1を加算したことを表す。以上のようにステップS704〜ステップS705の処理を全ての行のバイトについて処理を行う。
図8は、ステップS704において法線方向判断部123がバイトByxの法線方向の近似θを算出する処理手順の一例を示すフローチャートである。
まず、ステップS801において、θを初期値である9、すなわち分類不可に初期化する。そして、ステップS802において、図6の例611に相当する識別を行う。すなわち、ビット列By上のバイトByxにエッジがあるか否かを識別する。この識別の結果、エッジがない場合には、ステップS807において、θを8、すなわちエッジなしに設定して処理を終了する。なお、ビット列By上のバイトByx上のエッジ数は、以下の式(4)により算出される。
By&&(0xff<<(x<<3)) ・・・(4)
By&&(0xff<<(x<<3)) ・・・(4)
一方、ステップS802の識別の結果、ビット列By上のバイトByxにエッジがある場合には、さらに、ステップS803において、図6の例612に相当する識別を行う。すなわち、ビット列By-1上のバイトBy-1xにエッジがあるか否かを識別する。この判定の結果、エッジがない場合には、ステップS808において、θを4に設定して処理を終了する。
一方、ステップS803の識別の結果、ビット列By、By-1上のバイトの双方にエッジがある場合には、図6の例612〜619に相当する識別を、ステップS804からステップS806までのループで近似する。すなわち、まず、ステップS804において、θが0,2,6,7,1,3,5などの順で法線方向の候補Candを設定する。そして、ステップS805において、法線方向の候補Candに対しx番目のバイトにおいてセットされているビット数を求め、そのビット数が1以下か否かを識別する。
この識別の結果、セットされているビット数が1以下である場合は、ステップS806において、その候補Candをθとして保存する。ここで、ステップS804で法線方向θの候補Candに順序を設けることにより、θ=2かつθ=1の双方の条件を満たす様な場合に、より後に識別されるθ=1が選択されるようになる。また、ステップS805において、バイトByxにおけるビット数が1以下であるか否かは、以下の式(5)によって得られる。
(T[Cand]&&(0xfe<<(x<<3)))==0 ・・・(5)
(T[Cand]&&(0xfe<<(x<<3)))==0 ・・・(5)
ここで、==0は、0と等しいか否かを識別する演算子である。ビット数が1以下である場合には式(5)は真となり、ビット数が1を超える場合には偽となる。以上のようにステップS801〜ステップS803、およびステップS806のうち、いずれかで設定された法線方向の近似θが図7のステップS705の処理に用いられる。
以上のように本実施形態によれば、画像認識や画像検索などにおいて、HOG特徴の代わりに、近似する法線方向ヒストグラム特徴を用いるため、その演算量を削減することができる。すなわち、HOG特徴の演算量は、求める領域の縦横の画素数に比例するが、本実施形態に係る法線方向ヒストグラム特徴の演算量は、求める正方領域の一辺の画素数に比例する。
さらにHOG特徴では、二乗和の平方根や逆正接などを用いてその勾配方向及び勾配強度を演算するが、法線方向ヒストグラム特徴では、排他的論理和とPopCountとの組み合わせにより法線方向を取得する。これにより、メモリを共有できない状態で並列化や回路化して二乗和、平方根、逆正接等のルックアップテーブルを共有できない場合に、このルックアップテーブルを演算装置ごとに保持することを不要にすることができる。
(第2の実施形態)
第1の実施形態では、HOG特徴を法線方向ヒストグラム特徴に近似して画像認識を行う例について説明した。本実施形態では、特許文献2に開示されているSIFT特徴を法線方向ヒストグラム特徴に近似して画像認識を行う例について説明する。なお、本実施形態における画像認識装置の構成については図1及び図2と同様であり、以下、第1の実施形態と異なるてんについて説明する。
第1の実施形態では、HOG特徴を法線方向ヒストグラム特徴に近似して画像認識を行う例について説明した。本実施形態では、特許文献2に開示されているSIFT特徴を法線方向ヒストグラム特徴に近似して画像認識を行う例について説明する。なお、本実施形態における画像認識装置の構成については図1及び図2と同様であり、以下、第1の実施形態と異なるてんについて説明する。
図4(b)は、本実施形態において、法線方向ヒストグラム特徴を用いて画像認識を行う処理手順の一例を示すフローチャートである。なお、図4(b)に示す処理を行う前提として、事前に物体の画像から特徴点ごとの法線方向ヒストグラム特徴群を取得しており、それらを登録辞書として保持しているものとする。
まず、ステップS411において、部分画像取得部101は、入力画像から特徴点を取得する。特許文献2に記載の方法と同様に、その近傍及び拡大縮小画像中でガウス畳み込みした値が極致となり、かつその周囲のコントラストが比較的大きくなるような座標と拡大縮小率との組み合わせを特徴点とする。
次に、ステップS412において、取得した特徴点のそれぞれについて、ステップS413〜ステップS415を繰り返す。まず、ステップS413において、特徴量演算部103は、特徴点の周囲の主勾配方向を取得し、主勾配方向を水平方向にするよう特徴点の周囲からなる画像を回転する。このとき、例えば、特許文献2に記載の方法と同様に、主勾配方向を領域内の輝度の勾配が最大となる方向とする。また、本実施形態では、部分画像の代わりに特徴点の周囲からなる画像を用いる。次に、ステップS414において、回転した画像について、図4(a)のステップS402と同様の手順により法線方向ヒストグラム特徴を取得する。
次に、ステップS415において、画像認識部102は、登録辞書内の法線方向ヒストグラム特徴の中にステップS414で取得した法線方向ヒストグラム特徴と近いものがあるか否かを探索し、存在しない場合にはその特徴点を消去する。例えば2つの法線方向ヒストグラム特徴のマンハッタン距離が事前に設定した閾値を下回る特徴点を消去するようにする。登録辞書内の物体に対応するすべての特徴点の法線方向ヒストグラム特徴を取得した後、ステップS416において、画像認識部102は、その特徴点の凸包を求めることによって物体領域を求める。そして、認識結果として出力する。
以上のように本実施形態によれば、画像認識や画像検索などにおいて、SIFT特徴の代わりに、近似する法線方向ヒストグラム特徴を用いるため、その演算量を削減することができる。
(その他の実施形態)
前述した各実施形態は、画像から物体を検出する場合のみならず、輝度勾配ヒストグラム特徴を用いる画像検索などの他の画像処理技術にも適用可能である。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
前述した各実施形態は、画像から物体を検出する場合のみならず、輝度勾配ヒストグラム特徴を用いる画像検索などの他の画像処理技術にも適用可能である。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 部分画像取得部
102 画像認識部
103 特徴量演算部
111 法線方向演算部
112 ヒストグラム生成部
102 画像認識部
103 特徴量演算部
111 法線方向演算部
112 ヒストグラム生成部
Claims (7)
- 入力画像から物体の少なくとも一部を含む部分画像を取得する取得手段と、
前記取得手段によって取得された部分画像を構成する行ごとに前記物体の輪郭の法線方向を算出する算出手段と、
前記算出手段によって算出された行ごとの法線方向の頻度を示すヒストグラムを、画像認識に用いる特徴量として生成する生成手段と、
を備えることを特徴とする画像認識装置。 - 前記算出手段は、前記行に含まれる個々の画素がエッジであるか否かを示すビット列を生成し、該生成されたビット列を他の行のビット列と比較することによって前記物体の輪郭の法線方向を算出することを特徴とする請求項1に記載の画像認識装置。
- 前記算出手段は、前記生成されたビット列と他の行のビット列との距離に基づいて前記物体の輪郭の法線方向を算出することを特徴とする請求項2に記載の画像認識装置。
- 前記算出手段は、前記生成されたビット列と前記他の行のビット列との排他的論理和を取得し、前記取得した排他的論理和のビット数を数えることによって前記距離を算出することを特徴とする請求項3に記載の画像認識装置。
- 前記生成手段によって生成された特徴量を用いて前記部分画像が前記物体であるか否かを認識する認識手段をさらに備えることを特徴とする請求項1〜4の何れか1項に記載の画像認識装置。
- 入力画像から物体の少なくとも一部を含む部分画像を取得する取得工程と、
前記取得工程において取得された部分画像を構成する行ごとに前記物体の輪郭の法線方向を算出する算出工程と、
前記算出工程において算出された行ごとの法線方向の頻度を示すヒストグラムを、画像認識に用いる特徴量として生成する生成工程と、
を備えることを特徴とする画像認識方法。 - 入力画像から物体の少なくとも一部を含む部分画像を取得する取得工程と、
前記取得工程において取得された部分画像を構成する行ごとに前記物体の輪郭の法線方向を算出する算出工程と、
前記算出工程において算出された行ごとの法線方向の頻度を示すヒストグラムを、画像認識に用いる特徴量として生成する生成工程と、
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014069927A JP2015191568A (ja) | 2014-03-28 | 2014-03-28 | 画像認識装置、画像認識方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014069927A JP2015191568A (ja) | 2014-03-28 | 2014-03-28 | 画像認識装置、画像認識方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015191568A true JP2015191568A (ja) | 2015-11-02 |
Family
ID=54425979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014069927A Pending JP2015191568A (ja) | 2014-03-28 | 2014-03-28 | 画像認識装置、画像認識方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015191568A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845503A (zh) * | 2017-01-22 | 2017-06-13 | 深圳市保千里电子有限公司 | 一种Hog并行化设计方法及系统 |
JP2017111784A (ja) * | 2015-12-14 | 2017-06-22 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 配向勾配のブロックベースヒストグラムを使用してオブジェクトを検出する方法及びシステム |
WO2020179144A1 (ja) * | 2019-03-04 | 2020-09-10 | パナソニックIpマネジメント株式会社 | プロセッサ及びプロセッサの制御方法 |
-
2014
- 2014-03-28 JP JP2014069927A patent/JP2015191568A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017111784A (ja) * | 2015-12-14 | 2017-06-22 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 配向勾配のブロックベースヒストグラムを使用してオブジェクトを検出する方法及びシステム |
CN106845503A (zh) * | 2017-01-22 | 2017-06-13 | 深圳市保千里电子有限公司 | 一种Hog并行化设计方法及系统 |
CN106845503B (zh) * | 2017-01-22 | 2018-04-17 | 深圳市保千里电子有限公司 | 一种Hog并行化设计方法及系统 |
WO2020179144A1 (ja) * | 2019-03-04 | 2020-09-10 | パナソニックIpマネジメント株式会社 | プロセッサ及びプロセッサの制御方法 |
JP2020144479A (ja) * | 2019-03-04 | 2020-09-10 | パナソニックIpマネジメント株式会社 | プロセッサ及びプロセッサの制御方法 |
JP7296574B2 (ja) | 2019-03-04 | 2023-06-23 | パナソニックIpマネジメント株式会社 | プロセッサ及びプロセッサの制御方法 |
US11941404B2 (en) | 2019-03-04 | 2024-03-26 | Panasonic Intellectual Property Management Co., Ltd. | Processor and method for controlling the processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Işık | A comparative evaluation of well-known feature detectors and descriptors | |
JP6088792B2 (ja) | 画像検出装置及び制御プログラム並びに画像検出方法 | |
JP5861123B2 (ja) | 特徴抽出装置、特徴抽出方法、特徴抽出プログラム、および、画像処理装置 | |
US9294665B2 (en) | Feature extraction apparatus, feature extraction program, and image processing apparatus | |
JP6528723B2 (ja) | 物体認識装置、物体認識方法及びプログラム | |
KR20140102038A (ko) | 영상 정합 장치 및 영상 정합 방법 | |
CN105740872B (zh) | 图像特征提取方法及其装置 | |
Sasikala et al. | Feature extraction of real-time image using Sift algorithm | |
EP2695106B1 (en) | Feature descriptor for image sections | |
KR101753360B1 (ko) | 시점 변화에 강인한 특징점 정합 방법 | |
JP2015191568A (ja) | 画像認識装置、画像認識方法及びプログラム | |
Rassem et al. | Performance evaluation of Completed Local Ternary Patterns (CLTP) for medical, scene and event image categorisation | |
JP5500404B1 (ja) | 画像処理装置及びそのプログラム | |
US9008434B2 (en) | Feature extraction device | |
Phan et al. | Object recognition by combining binary local invariant features and color histogram | |
JP6276504B2 (ja) | 画像検出装置及び制御プログラム並びに画像検出方法 | |
Zhou et al. | On contrast combinations for visual saliency detection | |
CN111670458B (zh) | 读取系统 | |
Peng et al. | Performance comparison of image keypoint detection, description, and matching methods | |
Gadermayr et al. | Degradation adaptive texture classification: A case study in celiac disease diagnosis brings new insight | |
Al Saidi et al. | A novel texture descriptor: Homogeneous Rotated Local Binary Pattern (HRLBP) | |
Gadermayr et al. | Dealing with intra-class and intra-image variations in automatic celiac disease diagnosis | |
Lavi et al. | Interactive fuzzy cellular automata for fast person re-identification | |
Obaid et al. | Real-time color object recognition and navigation for QUARC QBOT2 | |
BL et al. | Rgb-D face recognition using LBP-DCT algorithm |