JP6128617B2 - 画像認識装置およびプログラム - Google Patents

画像認識装置およびプログラム Download PDF

Info

Publication number
JP6128617B2
JP6128617B2 JP2015528061A JP2015528061A JP6128617B2 JP 6128617 B2 JP6128617 B2 JP 6128617B2 JP 2015528061 A JP2015528061 A JP 2015528061A JP 2015528061 A JP2015528061 A JP 2015528061A JP 6128617 B2 JP6128617 B2 JP 6128617B2
Authority
JP
Japan
Prior art keywords
image
hough transform
fpga
hough
external memory
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
JP2015528061A
Other languages
English (en)
Other versions
JPWO2015011799A1 (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.)
NEC Corp
NEC Solutions Innovators Ltd
Original Assignee
NEC Corp
NEC Solutions Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Solutions Innovators Ltd filed Critical NEC Corp
Publication of JPWO2015011799A1 publication Critical patent/JPWO2015011799A1/ja
Application granted granted Critical
Publication of JP6128617B2 publication Critical patent/JP6128617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation

Description

画像中からリアルタイムに認識対象の2次元パターンを認識する、主に組込み向けの画像認識装置に関する。
形状変化の少ない2次元図形を画像中から効率的に認識するための手法としてハフ(Hough)変換が知られている。このハフ変換は、例えば、非特許文献1や特許文献1に開示されている。非特許文献1には、直線のような図形をハフ変換により認識する手法が開示されている。この手法は、直線を半径ρおよび回転角Θを変数とする2変数でモデル化し、2次元の投票空間を用いて投票処理を行い、投票値が最大となるρ値およびΘ値を探索して直線を求めるというものである。非特許文献1には、2次元パターンである円を認識する手法も開示されている。円を認識する際には、中心点のx座標およびy座標、半径の3変数からなる投票空間を用いて、投票値が最大となる点を抽出する。このように、1つの投票空間を用いて、その中から投票値が大きな個所を抽出して解を求めるハフ変換を、後述するハフ変換と区別するために、以下の説明においては通常のハフ変換と呼ぶ。
また、通常のハフ変換を改良して、文字認識のための回転補正を効率的に行う手法が特許文献1に開示されている。特許文献1には、文字パターンの回転角度を効率的に求めるために、粗い精度のハフ変換を行って粗い精度の歪み角度を決定し、その決定された歪み角度の近辺に限定してより細かく区分した第2の投票空間を設定して再度ハフ変換を行い、その結果得られる詳細な歪み角度を解とする画像処理装置が開示されている。この手法によれば、細かい精度の投票空間を1つ用意して通常のハフ変換により解を求めるよりも、投票空間保持のために必要なメモリ資源を低減できるという長所がある。このように、粗い精度のハフ変換を行って粗い精度の解を一旦求めた後に、粗い精度の解付近のみに限定して詳細な精度のハフ変換を行って最終的な解を得る処理を、以下の説明においては粗密ハフ変換と呼ぶ。また、粗い精度のハフ変換および詳細な精度のハフ変換の演算量については、認識対象の2次元パターンが入力画像中に数個程度しか存在しない場合は、粗い精度のハフ変換の方が、演算量が圧倒的に大きいという特徴がある。
通常のハフ変換および粗密ハフ変換における、演算量および必要メモリ量をまとめた表を図1に示す。なお、粗密ハフ変換については、粗い精度のハフ変換と詳細な精度のハフ変換とに分けて、それぞれの演算量および必要メモリ量を示した。図1に示すように、通常のハフ変換は、演算量および必要メモリ量ともに非常に大きいことが特徴である。粗密ハフ変換における粗い精度のハフ変換は、演算量が大きく、必要メモリ量は中程度といえる。詳細な精度のハフ変換は、演算量、必要メモリ量ともに小さいという特徴がある。
次に、別の技術的側面として、組み込み向けの画像処理装置のハードウェアについて図2を参照して説明する。一般的に、組み込み向けの画像処理装置には特定用途に特化して設計されたハードウェアが用いられることが多かったが、コンピュータ技術の進歩に伴い、近年では汎用プロセッサとプログラムとを組み合わせた構成が用いられる機会が増えた。この構成には、ソフトウェアの柔軟性を生かして多様な機能開発が実現でき、また開発に膨大な時間とコストとを要する専用ハードウェアを用いないことから開発期間および開発コストを抑えられるというメリットがある。汎用プロセッサの外部には大容量のメモリも配置され、大容量のメモリを必要とする処理も容易に実現することができる。一方で、短所として、専用ハードウェアに比べて処理速度が遅いという点が挙げられる。
また、近年の組み込み向け画像処理装置の別の実現手段として、ハードウェアでありながら回路構成および機能をプログラムによりある程度柔軟に変更できるFPGA(Field−Programmable Gate Array)が挙げられる。FPGAはハードウェアであるため演算が非常に高速であるという長所を持つ反面、内部に確保できるメモリは容量が小さいと制限を持つ。外部メモリが用意されているハードウェアならばFPGAと外部メモリ間でのデータ授受は可能であるが、外部メモリからのデータ読み込み速度は遅いため、外部メモリからのデータ読み込みを行うと、ハードウェアとしての高速演算性を生かしきれないおそれがある。
特許第4065460号、画像処理方法及び装置、請求項3
Use of the Hough Transformation To Detect Lines and Curves in Pictures、Communications of the ACM、Vol.15、No.1、pp.11−15(1972.1)
しかしながら、一般的に知られている技術を単純に組み合わせて、画像中からリアルタイムに2次元パターンを認識する組込み画像認識装置を構成しようとした場合、以下のような課題が存在する。
まず、組込み画像処理装置が汎用プロセッサにより構成されている場合、通常のハフ変換や粗密ハフ変換を用いて2次元パターンを認識すること自体は可能である。しかし、組込み画像処理装置向け汎用プロセッサの演算能力は十分に高くないため、入力画像のサイズや投票空間の大きさなどの要件には依存するが、VGA(Video Graphics Array)サイズ(横640画素×縦480画素)の画像中から特定の2次元パターンを認識するといった処理をリアルタイムに実行することは難しいという課題がある。
次に、組込み画像処理装置がFPGAにより構成されている場合、通常のハフ変換における基本的な演算自体は実装することができる。しかし、2次元パターンの認識に必要となる投票空間をFPGA内に確保することが難しいという問題がある。一例として、VGAサイズの画像中から円を認識する場合を挙げて、その投票空間について具体的な数値を用いて説明する。円を表現するには、中心x座標、中心y座標、半径rといった最低3つのパラメータが必要であるから、投票空間は3次元となる。中心座標および半径を1画素の精度で求めるとして、認識対象とする円の半径を10画素から29画素までとすると、投票空間のbin数は640×480×20=6144000個となる。1つのbinを8ビットで表現すると6.144MBのメモリが必要となり、FPGA内には到底保持することができない。
また、FPGAにより構成された組込み画像処理装置上で粗密ハフ変換を用いて2次元パターンを認識させようとした場合、粗い精度のハフ変換における中心座標および半径を6画素の精度で求めるとすると、投票空間のbin数は(640/6)×(480/6)×(20/6)=107×80×4=34240個となる。1つのbinを8ビットで表現すると34KB強のメモリで済むため、粗い精度のハフ変換はFPGAに実装することができる。しかしながら、詳細な精度のハフ変換もFPGA上で実行するためには入力画像を保持するためのメモリとして640×480=300KB強が必要となり、粗密ハフ変換もFPGAにより構成された組込み画像処理装置上に実装することには課題が存在する。
以上のことをまとめると図3に示すようになる。すなわち、汎用プロセッサもしくはFPGAを用いてリアルタイムに2次元パターンを認識するハフ変換処理を実現することは、前述したように知られている技術のみでは不可能である。
そこで、本発明は、前述した課題を解決する画像認識装置および記憶媒体を提供することを目的とする。
本発明の画像認識装置は、
画像を入力する画像入力手段と、
情報を記憶する外部メモリと、
前記画像入力手段に入力された画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行い、該第1のハフ変換で得られた候補位置情報と前記画像とを前記外部メモリに出力するFPGA粗ハフ変換手段と、
前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力する、汎用プロセッサ上で動作する密ハフ変換手段とを有する。
また、本発明の記憶媒体は、
コンピュータに実行させるためのプログラムを記憶した記憶媒体であって、
画像を入力する手順と、
前記入力した画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行う手順と、
前記第1のハフ変換で得られた候補位置情報と前記画像とを外部メモリに出力する手順と、
前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力させる処理を汎用プロセッサ上で動作させる手順とを実行させるためのプログラムを記憶する。
本発明においては、画像中からリアルタイムに2次元パターンを認識する画像認識装置を実現することができる。
通常のハフ変換、および粗密ハフ変換に関して、演算量および処理に必要なメモリ容量についての特性をまとめた表を示す図である。 汎用プロセッサとFPGAに関して、演算の高速性およびメモリ容量、柔軟性についての特徴をまとめた表を示す図である。 一般的に知られているハードウェアとハフ変換の単純な組み合わせによる、2次元パターンのリアルタイム認識の適/不適を示す情報をまとめた表である。 本発明の実施の一形態を示す図である。 FPGAのハードウェア構造を示す図である。 図4に示したFPGA粗ハフ変換部における投票空間の一例を示す図である。 図4に示した密ハフ変換部で、1つの中心候補情報に対する処理を行う際に参照する入力画像の範囲を示す図である。 本実施の形態における動作を説明するためのフローチャートである。 汎用プロセッサおよびFPGAの特性と、それぞれの上で実行する粗い精度のハフ変換および詳細な精度のハフ変換の特徴をまとめた表である。 本実施の形態のハードウェア構成を示す図である。 入力画像から抽出された投票に関わる点の例、およびその点に対する投票先および投票範囲(サイズ最大の2次元パターンを想定した時の投票のみ)の一例を示す図である。 投票範囲と粗い精度の投票空間との対応のパターンを示す図である。 着目する入力画像中のY座標、着目した画素が投票に関わる画素の場合に投票されるy座標の範囲および投票空間のy座標に対応する入力画像座標系での範囲(最小Y座標値)を示す図である。 投票空間の縦方向のbin区分数が、該投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値とする場合の、FPGA粗ハフ変換部の内部の動作を説明するためのフローチャートである。
本発明の実施の形態について、図面を参照して詳細に説明する。
図4を参照すると、画像を入力する画像入力部101と、FPGA上で粗いハフ変換(第1のハフ変換)を行うFPGA粗ハフ変換部102と、FPGA粗ハフ変換部102からの出力情報および密ハフ変換部104からの出力情報を格納する外部メモリ103と、汎用プロセッサ上で詳細な精度のハフ変換(第2のハフ変換)を行う密ハフ変換部104とから構成される、本発明の画像認識装置100の実施の一形態が開示されている。
画像入力部101は、カメラにて撮影された映像をデジタル映像データ(入力画像)として本画像処理装置に取り込み、FPGA粗ハフ変換部102へ出力する。映像データは、例えば、1画素1バイトで表現した輝度画像であり、そのサイズは、横640×縦480といったものである。
FPGA粗ハフ変換部102は、FPGA上に実装され、画像入力部101から出力された映像データに対して、粗い精度のハフ変換を実行する。また、FPGA粗ハフ変換部102は、ハフ変換の結果を外部メモリ103へ出力する。ハフ変換の演算方法については、非特許文献1などに詳しく説明されているが、本発明では粗い精度のハフ変換をFPGA上で行う点が重要なポイントの1つであるため、この点について詳しく説明する。なお、ここで用いるハフ変換、および密ハフ変換部104におけるハフ変換とも、一般化ハフ変換などを用いることにより複雑な2次元パターンを認識できる。なお、粗い精度のハフ変換とは、所定の範囲(所定の複数の画素(例えば、6画素)を含む範囲)におけるハフ変換である。
FPGAのハードウェア構造を図5に示す。FPGAは、主に汎用ロジック201と、乗算器202と、RAMブロック203と、I/Oエレメント204と、PLLブロック(不図示)とからなる。
汎用ロジック201は、基礎的な論理演算を行うロジックエレメントの大規模な集合体である。1つのロジックエレメントは、ルックアップ・テーブルとレジスタとで構成され、ルックアップテーブルの内容やロジックエレメントの結合をプログラムにしたがって変更することによって、多様な機能を実現することができる。
乗算器202は、2つのデジタル・データの乗算を高速で処理するハードウェアである。乗算を行う回路を汎用ロジック201により構成することも可能であるが、汎用ロジック201を用いる実装ではロジックエレメントの使用量が多くなり効率が良くないため、乗算専用の回路が用意されている。
RAMブロック203は、一般的なメモリとして使用できる回路ブロックである。RAMブロック203も乗算器202と同様、ロジックエレメントを用いて構成することもできるが、メモリとして効率の良い専用の回路が用意される構成がとられている。また、パーソナルコンピュータなどでは数GB〜数十GBといった大容量のメモリが利用できるのが一般的であるが、FPGAにおけるRAMブロック203はハイエンドのものでも数MB程度であり、ミドルクラス以下のFPGAであれば数十KB〜数百KB以下が一般的である。
I/Oエレメント204は、FPGA内外における信号のやり取りをつかさどる回路である。
PLLブロックは、クロック信号をFPGA全体に供給する回路である。
画像処理を行う場合、図6の下図に示すような、画像入力部101から入力された入力画像601が画像の左上から右下へ向かってラスタスキャン順に入力され、プログラムされた結線にしたがって汎用ロジック201、乗算器202、RAMブロック203、I/Oエレメント204間で時々刻々やり取りされ、最終結果が出力される。すでに述べたように、FPGA内のRAMブロック容量は一般的に数百KBと小さいため、入力画像全体を保持することも困難である。そのため、入力される画像データをラスタスキャン順に処理し、画像データをRAMブロック203に数ライン程度保持するだけで演算できる処理でないと実装困難である。
このことを、2次元パターンとして円を認識する課題を例に挙げて説明する。円を認識する場合は、図6に示すような、中心(x、y)座標および半径の3つパラメータに対する投票空間602を用いて、もっとも単純にはラスタスキャン順に各画素に着目して、それらの画素が円周上の点である可能性がある場合は、投票空間上に投票処理を行うという処理を繰り返せば良い。そのため、入力画像を保持しておく必要はまったくない。また、投票の回数を削減するための手法として勾配の方向を用いる手法があるが、この場合も勾配方向を求めるための最新の数ライン分の入力画像情報のみ保持できていれば良いため、入力画像全体を保持しておく必要がないという点からはFPGA化が可能な処理であるといえる。
投票空間を保持するためのメモリについては、粗い精度のハフ変換であるため、入力映像データのサイズを横640画素×縦480画素、投票空間の縦横の解像度を6画素単位(すなわち、投票空間の縦横のbin区分数をそれぞれ入力映像データの縦横の画素数の1/6)、半径の値域を10〜39画素、投票空間の半径の解像度を6画素単位(すなわち、投票空間の半径に関するbin区分数を(39−10+1)/6=5)、投票値は1バイトに収まるものとすると、探索空間全体の保持に必要なメモリサイズは、
(640/6)×(480/6)×((39+1−10)/6)
=107×80×5=42.8KB
となる。これはFPGA上に保持可能なサイズである。
入力画像全体を保持する必要がないことと合わせ、粗い精度のハフ変換はFPGAに実装できることがわかる。
投票空間の各binの投票値に基づいて円を抽出する手段はいくつか存在する。各投票値を調べて、局所領域内で極大値を与える投票値のうち大きい方からn個を選択し、対応する円中心座標および半径をn組抽出するのでも良い。また、局所領域内で極大値を与える投票値のうち、あらかじめ定めた閾値を上回る点を選択し、対応する円中心座標および半径を抽出するのでも良い。後者の手段では抽出される円中心座標および半径の組の数が可変となるが、組数に上限を設けても良い。これらの基準によって抽出した粗い精度の円中心座標および半径の結果は、外部メモリ103へ書き込まれる。なお、本発明では粗い精度のハフ変換によって抽出された円の情報は円候補としての情報であり、最終的な円は後述する密ハフ変換部104により特定される。そこで、粗い精度のハフ変換によって抽出される円中心座標および半径の情報を中心候補情報(候補位置情報)と呼ぶこととする。また、FPGA粗ハフ変換部102が抽出した中心候補情報が示す円が、密ハフ変換部104における処理で棄却されることもある。
また、FPGA粗ハフ変換部102は、画像入力部101から入力された入力画像データを外部メモリ103へ出力する。この処理は、粗い精度のハフ変換処理とは並列に実行され、バースト的な書き込み処理であるため、処理時間への影響を無視することができる。
外部メモリ103は、各構成要素でやり取りされる情報を保持する。各構成要素間でやり取りされる情報とは、表1および表2に示す情報である。
Figure 0006128617
Figure 0006128617
表1に示した詳細な円中心座標と半径は、密ハフ変換部104にて抽出された中心の数に相当する情報から構成される。
汎用プロセッサ上で行う密ハフ変換部104は、外部メモリ103に記憶された円の中心候補情報を1つずつ取り出し、解像度の高い投票空間を用いて円の中心(x、y)座標および半径について詳細な値を求める。また、密ハフ変換部104は、対応する小領域(局所領域)の画像を外部メモリ103から読み込み、解像度をFPGA粗ハフ変換部102におけるハフ変換に用いたものよりも密に設定した密なハフ変換を行って抽出した詳細な円中心座標と半径の情報を再び外部メモリ103へ出力する。
密ハフ変換部104における投票空間の解像度は、例えば入力画像601の解像度、つまり、入力画像の画素と等しくすれば良い。FPGA粗ハフ変換部102における縦横の解像度および半径の解像度がともに6画素単位とすると、中心候補情報は6画素(もしくは−3画素〜+3画素)程度の誤差を持っているといえる。そこで、例えば密ハフ変換部104における投票空間のbin数を横6×縦6×半径6=216個とすれば良い。また、誤差を多少多めに見積もって、上記よりもbin数を若干多くした投票空間を用意するのでも良い。
認識対象とする円の半径が最大39画素ならば、上記投票空間への投票に寄与する入力画像の範囲は図7に示すように、投票空間のx、y範囲の上下左右に39画素広げた範囲に限定される。すなわち、密ハフ変換部104においては入力画像全体を走査する必要がなく、局所領域についてハフ変換処理を行えば良い。汎用プロセッサは、FPGAと異なり、外部メモリ中の局所領域のデータに対してのみ処理を行うということが容易にできる点も重要なポイントである。FPGA粗ハフ変換部102が出力する中心候補情報は多くはなく、しかも、密ハフ変換部104は、各中心候補情報に対応する局所領域に対してのみハフ変換を行えば良い。そのため、詳細な精度のハフ変換は、粗い精度のハフ変換に比べ演算量が圧倒的に少ない。それゆえ、組み込み装置の汎用プロセッサであってもリアルタイムに処理を行うことができる。
次に、本実施の形態の動作について説明する。図8は、本実施の形態における動作を説明するためのフローチャートである。
まず、ステップ1にて、画像入力部101が画像の取り込みを行う。次に、画像入力部101が取り込んだ入力画像について、ステップ2にて、FPGA粗ハフ変換部102が粗い精度のハフ変換を行い、ステップ3にて、得られた中心候補情報を外部メモリ103へ出力する。また、ステップ4にて、FPGA粗ハフ変換部102は、入力画像も外部メモリ103へ出力する。次に、ステップ5にて、汎用プロセッサ上の密ハフ変換部104が、外部メモリ103内に未処理の中心候補情報があるか否か調査する。すべて処理済みであれば、処理を終了する。
一方、外部メモリ103内に未処理の中心候補情報がある場合は、ステップ6にて、密ハフ変換部104は、外部メモリ103から中心候補情報を1つ取り込む。また、ステップ7にて、密ハフ変換部104は、入力画像の中から対応する局所領域の画像データを外部メモリ103から読み込む。次に、ステップ8にて、密ハフ変換部104は、詳細な精度のハフ変換を行い、ステップ9にて、その結果を外部メモリ103へ出力する。
以上のように、本実施の形態によれば、画像中からリアルタイムに2次元パターンを認識する組込み画像認識装置を実現することができる。なぜならば、粗い精度のハフ変換をFPGA上で行い、粗い精度の認識結果と入力画像とを外部メモリ103にいったん記憶し、外部メモリ103に記憶された粗い精度の認識結果と入力画像とを用いて汎用プロセッサ上で詳細な精度のハフ変換を行うことにより、図9に示すようにハードウェアの特性と分担する処理の特性とが合致し、リアルタイムに処理を行うことができるようになるからである。
上述の画像認識装置は、図10に示すような画像入力インタフェース901と、FPGA902と、汎用プロセッサ903と、外部メモリ904とから構成される。ただし、汎用プロセッサ903はそのコアをFPGA902の中にハードマクロとしてとりこんだ構成のものでも良い。
なお、本実施の形態では、2次元パターンとして円を認識する場合の動作を例に挙げて説明したが、あらかじめ形状がわかっている2次元図形ならば三角形、四角形などの多角形をはじめ、任意の2次元パターンに対して、本発明を適用することができる。これは、FPGA粗ハフ変換部102および密ハフ変換部104で利用する一般化ハフ変換の仕組みは、あらかじめ定められた任意の2次元パターンに対して適用できるからである。また、上記円を認識する場合の例では円の中心の可能性があるbinに投票する場合を例に挙げたが、円の外接矩形の左上の点の可能性があるbinに投票するようにしても良いし、円のその他の点の可能性があるbinに投票するのでも良い。一般的な場合に拡張すると、任意の2次元パターンを認識する場合も、投票で抽出する点を2次元パターンに対して任意の点に設定することができる。
また、本実施の形態では、FPGA粗ハフ変換部102が外部メモリ103へ入力画像をそのまま出力するものとしたが、画像入力部101が外部メモリ103のあらかじめ定められた領域に入力画像を直接出力するのでも良い。
また、本実施の形態では、FPGA粗ハフ変換部102に含まれる投票空間の縦方向のbin区分数は、入力画像の縦方向の画素数を投票空間の縦方向の解像度で割った値として説明した。入力画像のサイズがより大きな場合や、FPGAのRAMブロックサイズがより小さな場合には、粗い精度のハフ変換のための投票空間をRAMブロックに保持するのも困難な場合がある。そのような場合は、投票空間の縦方向のbin区分数が、その投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値としても良い。具体的には、入力画像の縦サイズが480画素、FPGA粗ハフ変換部102における投票空間の解像度が入力画像の6画素単位とすると、本実施の形態では480/6=80を投票空間の縦方向のbin区分数としたが、認識対象の2次元パターンの最大縦サイズが60画素の場合であれば、入力画像のサイズによらず、60/6+2=12を投票空間の縦方向のbin区分数としても良い。また、投票空間の解像度における2次元パターンの最大縦サイズよりも1大きくするか2大きくするかの決定方法は、2次元パターンの最大縦サイズを投票空間の解像度で割った値の余りが1の場合は1大きく、それ以外の場合は2大きくすれば良い。これは、以下の原理による。
円を抽出するハフ変換を例題として、図11を参照して説明する。通常、円を抽出するハフ変換の処理は、入力画像の画素をラスタスキャン順に走査して、着目した画素が円弧上に対応すると考えられる画素の場合に投票空間へ円状に投票を行う。図11は、認識対象とする最大の大きさの円1101に属する点1102に着目した際、投票空間中に円の中心の可能性がある画素として投票される画素1103を示している。なお、本来、円を認識する際に利用する投票空間は半径の違いの軸も含めた3次元空間を用いるが、ここでは最大の半径の円に対応する2次元の投票空間のみを示すものとし、投票空間の解像度は入力画像と等しいものとする。図11に示すように、点1102に対する投票がされる画素の高さ方向の範囲は、範囲1105であり、それより上部の範囲1104および下部の範囲1106へは投票されない。すわなち、点1102と同じライン上の点について投票処理を行っている間は、範囲1105に対応する投票空間を保持しておきさえすれば十分である。
入力画像と同じ解像度における範囲1105と粗い精度の投票空間(n(n≧2)次元)のbinとの対応関係の例を図12に示す。図12の左図は、粗い精度の投票空間の解像度が入力画像の6画素単位、2次元パターンの最大縦サイズが入力画像上で37画素の場合の、範囲1105と粗い精度の投票空間のbinの関係を示す図であり、一点鎖線がbinの区切れ位置を示している。この時、2次元パターンの最大縦サイズを投票空間の解像度で割った値の余りは1(=37/6=6 余り 1)であり、図示した6通りのケースが考えうるが、いずれのケースもグレーの色つき領域で示した投票範囲は7つのbinにまたがっている。次に、図12の右図は、粗い精度の投票空間の解像度が入力画像の6画素単位、2次元パターンの最大高さが入力画像上で38画素の場合の、範囲1105と粗い精度の投票空間のbinの関係を示す図である。この場合は最大8つのbinに投票範囲がまたがる。また、図示は省略するが、2次元パターンの最大縦サイズを投票空間の解像度で割った値の余りが0(例えば最大縦サイズが36画素の場合)の場合は、投票範囲が6もしくは7つのbinにまたがる。このように、2次元パターンの最大縦サイズを投票空間の解像度で割った値の余りが2以上の場合は該投票空間の解像度における2次元パターンの最大縦サイズよりも2大きな値となり、それ以外の場合は2次元パターンの最大縦サイズよりも1大きな値となる。したがって、上記縦サイズの投票空間を用いれば、入力画像の特定のY座標上の点については通常と同じ投票空間への投票処理を行えることがわかる。
そして、入力画像の次のラインの処理に移ってもそれまでの投票値を保持しておけば、入力画像全体に対応する投票空間を用いる場合とまったく等しい投票値を得ることができる。ただし、入力画像の次のラインに対する投票処理を進めていくには、投票空間を下側に伸ばさなければならない。しかし、ここでは投票空間の縦サイズは投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値に限定されている。この対策として、投票空間を下側に伸ばす必要が生じると同時かその前に、もともとの投票空間の最上行は投票範囲からはずれるという事実を用いる。例えば、入力画像のあるY座標行の処理を行っている場合の投票範囲が図12の左図中の右端のケースである場合、次のY座標行に対する投票処理の投票範囲は、上から2番目のbinよりも下となり、最上行のbinには投票されない。したがって、ここで最も上のラインのbinについてのみ投票値を調べて、外部メモリに記憶済の既認識分も含めて、暫定的に投票値が大きなものからn個を選択・記憶する。そして、最も上のラインに関する投票値のチェックが終了したならば、リングバッファの動作原理に基づき、物理的には投票空間の最も上のラインを仮想的に新たに投票空間の下側に追加する行として投票値の記憶に利用すれば良い。
このような対応付けは、図13に示すような固定的な対応付けテーブルを用いることによって、容易に実現することができる。図13は、投票空間の解像度を6画素単位、認識対象の2次元パターンの最大高さを50とし、入力画像全体に対する投票空間を保持できる場合および投票空間のbin区分数を10(=50/6+2)とした場合の投票範囲および入力画像Y座標と投票空間y座標との対応付けの一部について示した図である。この例の場合、たとえば入力画像のY座標=70上の画素に着目している間、投票空間のy=0に対応するbinは、入力画像の座標系におけるY=60〜65、y=1に対応するbinはY=66〜71に対応することを意味している。同様に、y=7のbinはY=42〜47に対応する。また、入力画像のY座標=71上の画素に着目した投票処理終了後、投票される範囲は8〜9および0〜6であり、y=7のbinに保持されている投票値はもう変化しないものであるから、入力画像のY座標=71上の画素に着目した投票処理を終了した時点でy=7のbinを横方向にチェックして、メモリに記憶済の既認識分も含めて常に投票値が大きいものn個を選択・記憶しておけばよい。記憶後は、y=7のbinの値を0にクリアするとともに、Y=77の行に着目した投票処理がされる際にY=102〜107の行への投票値を保持するのに再利用する。
なお、入力画像座標系の縦軸座標値Yと投票空間の縦軸座標値yとの一般的な関係式は、
y=((int(Y / 投票空間の解像度)) mod bin区分数)
で表される。ここで、int(a)は切り捨て、(a mod b)はaをbで割った余りを返すものとする。
次に、投票空間の縦方向のbin区分数が、その投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値とする場合の、FPGA粗ハフ変換部102の内部の動作について、図14を用いて説明する。
まず、ステップ11にて、FPGA粗ハフ変換部102は、図13に示したような入力画像のY座標と投票空間のy座標の対応関係を示すテーブルの初期化、および投票空間の初期化を行う。次に、FPGA粗ハフ変換部102は、入力画像の各Y座標の画素に順次着目し、以下の処理を行う。ステップ12にて、FPGA粗ハフ変換部102は、着目した画素が投票に関わる画素か否かを判定し、ステップ13にて、投票に関わる画素と判定された場合はY座標と投票空間のy座標との対応関係を示すテーブルを参照しつつ、投票空間中の投票先を計算し、投票を行う。着目した画素が投票に関わらない画素の場合、または投票が済んだ場合は、FPGA粗ハフ変換部102は、次々と隣の画素に着目し、同様の処理を繰り返す。入力画像の1行分の投票処理が終了したら、ステップ14にて、FPGA粗ハフ変換部102は、入力画像のY座標と投票空間のy座標との対応関係を示すテーブルを参照し、Y座標に対する投票先y座標の最小値が、現Y座標と次Y座標とで1増加するか否かを判定する。現Y座標と次Y座標とで1増加する場合、ステップ15にて、FPGA粗ハフ変換部102は、現Y座標における投票先y座標の最小値に対するbinの列に対して投票値の大きなbinを抽出し、投票値およびbinに対応するパターン位置およびサイズを外部メモリ103に記憶する。外部メモリ103への記憶の後は、FPGA粗ハフ変換部102は、そのbinの値を0にクリアし、次Y座標に着目してステップ12以降の処理を繰り返す。ステップ16にて、入力画像のすべてのY座標に着目し終えたら、FPGA粗ハフ変換部102は、外部メモリ103に記憶されている投票値および位置情報をFPGA粗ハフ変換部102の出力として出力する。なお、投票値の大きなbinを抽出する際は、すでに外部メモリ103に記憶済みのものも含めて、常に投票値の大きなものから一定個数の投票値およびbinに対応するパターン位置およびサイズを記憶するのでも良いし、あらかじめ定めた閾値よりも投票値が大きなbinの情報すべてを外部メモリ103に記憶する方法でも構わない。
上記では、円を認識する処理を例に挙げて説明したが、三角形や他の形状の図形であっても、形状があらかじめ既知でありさえすれば、まったく同じ方法で粗い精度の位置およびサイズ情報を得ることができる。また、上記では投票空間の一辺のbin区分数が、その投票空間の解像度における2次元パターンの最大縦長よりも1もしくは2大きな値としたが、これよりもbin区分数が多くても構わない。また、投票空間の一辺のbin区分数が、その投票空間の解像度における2次元パターンの最大縦長と同等に近い値であっても良い。そのような場合は、2次元パターンの上端および下端に対する画素からの投票値が捨てられてしまい、認識対象とする最大サイズの対象図形を認識しにくくなるおそれはあるが、応用によっては本影響が無視できる場合もある。しかしながら、メモリ消費量を削減できるという効果を有する。
なお、実施形態は円形もしくは三角形の道路標識を認識対象とした装置に適用することができる。具体的には、赤い環状の領域で囲まれた最高速度標識や駐車禁止標識、青い円形の背景を持つ指定方向外通行禁止を表す標識、逆三角形をした一時停止標識、さらにはそれらの電光表示によるものなどである。ただし、本実施形態はあらかじめ形状が規定されている2次元パターンであればどのような物体の認識にも適用することができ、道路標識の認識に限定されるものではない。
本発明によれば、粗密ハフ変換における粗い精度のハフ変換をFPGA上に実装し、詳細な精度のハフ変換を汎用プロセッサ上に実装する。これにより、FPGA上に入力画像を保持する必要がなくなるとともに、演算速度が比較的遅い汎用プロセッサでは演算量が少ない詳細な精度のハフ変換のみを行うだけで済む。その結果、画像中からリアルタイムに2次元パターンを認識する組込み画像認識装置を実現することができる。
また、画像認識装置100に設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム(以下、プログラムと称する)を画像認識装置100にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを画像認識装置100に読み込ませ、実行するものであっても良い。画像認識装置100にて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、画像認識装置100に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは、画像認識装置100に設けられたCPU(不図示)にて読み込まれ、CPUの制御によって、前述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)画像を入力する画像入力手段と、
情報を記憶する外部メモリと、
前記画像入力手段に入力された画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行い、該第1のハフ変換で得られた候補位置情報と前記画像とを前記外部メモリに出力するFPGA粗ハフ変換手段と、
前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力する、汎用プロセッサ上で動作する密ハフ変換手段とを有する画像認識装置。
(付記2)前記FPGA粗ハフ変換手段は、前記第1のハフ変換として、前記画像内の所定の複数の画素を含む範囲ごとにハフ変換を行い、
前記密ハフ変換手段は、前記第2のハフ変換として、前記画像の画素ごとにハフ変換を行うことを特徴とする、付記1に記載の画像認識装置。
(付記3)前記FPGA粗ハフ変換手段に含まれる投票空間は、リングバッファを用いて構成されることを特徴とする、付記1または付記2に記載の画像認識装置。
(付記4)前記FPGA粗ハフ変換手段に含まれる投票空間の縦方向のbin区分数を、前記投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値とすることを特徴とする、付記3に記載の画像認識装置。
(付記5)前記2次元パターンは、外形が円形もしくは三角形をした道路標識であることを特徴とする、付記1から4のいずれか1項に記載の画像認識装置。
(付記6)コンピュータに、
画像を入力する手順と、
前記入力した画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行う手順と、
前記第1のハフ変換で得られた候補位置情報と前記画像とを外部メモリに出力する手順と、
前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力させる処理を汎用プロセッサ上で動作させる手順とを実行させるためのプログラムを記憶した記憶媒体。

Claims (6)

  1. 画像を入力する画像入力手段と、
    情報を記憶する外部メモリと、
    前記画像入力手段に入力された画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行い、該第1のハフ変換で得られた候補位置情報と前記画像とを前記外部メモリに出力するFPGA粗ハフ変換手段と、
    前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力する、汎用プロセッサ上で動作する密ハフ変換手段とを有する画像認識装置。
  2. 請求項1に記載の画像認識装置において、
    前記FPGA粗ハフ変換手段は、前記第1のハフ変換として、前記画像内の所定の複数の画素を含む範囲ごとにハフ変換を行い、
    前記密ハフ変換手段は、前記第2のハフ変換として、前記画像の画素ごとにハフ変換を行うことを特徴とする画像認識装置。
  3. 請求項1または請求項2に記載の画像認識装置において、
    前記FPGA粗ハフ変換手段に含まれる投票空間は、リングバッファを用いて構成されることを特徴とする画像認識装置。
  4. 請求項3に記載の画像認識装置において、
    前記FPGA粗ハフ変換手段に含まれる投票空間の縦方向のbin区分数を、前記投票空間の解像度における2次元パターンの最大縦サイズよりも1もしくは2大きな値とすることを特徴とする画像認識装置。
  5. 請求項1から4のいずれか1項に記載の画像認識装置において、
    前記2次元パターンは、外形が円形もしくは三角形をした道路標識であることを特徴とする画像認識装置。
  6. コンピュータに、
    画像を入力する手順と、
    前記入力した画像に対してFPGA(Field−Programmable Gate Array)上で粗い精度の第1のハフ変換を行う手順と、
    前記第1のハフ変換で得られた候補位置情報と前記画像とを外部メモリに出力する手順と、
    前記外部メモリに記憶された前記候補位置情報と前記画像とを読み込んで、該候補位置情報を用いて該画像に対して詳細な精度の第2のハフ変換を行って前記画像の中の認識対象である2次元パターンの詳細な精度の位置情報を前記外部メモリに出力させる処理を汎用プロセッサ上で動作させる手順とを実行させるためのプログラム
JP2015528061A 2013-07-24 2013-07-24 画像認識装置およびプログラム Active JP6128617B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/070032 WO2015011799A1 (ja) 2013-07-24 2013-07-24 画像認識装置および記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2015011799A1 JPWO2015011799A1 (ja) 2017-03-02
JP6128617B2 true JP6128617B2 (ja) 2017-05-17

Family

ID=52392880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015528061A Active JP6128617B2 (ja) 2013-07-24 2013-07-24 画像認識装置およびプログラム

Country Status (3)

Country Link
US (1) US9646221B2 (ja)
JP (1) JP6128617B2 (ja)
WO (1) WO2015011799A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015011799A1 (ja) * 2013-07-24 2015-01-29 日本電気株式会社 画像認識装置および記憶媒体
DE102015205505A1 (de) * 2015-03-26 2016-09-29 Mando Corporation Verfahren und Vorrichtung zum Detektieren elliptischer Strukturen in einem Bild
AU2016231661A1 (en) * 2016-09-27 2018-04-12 Canon Kabushiki Kaisha Method, system and apparatus for selecting a video frame
JP7002729B2 (ja) * 2017-07-31 2022-01-20 株式会社アイシン 画像データ生成装置、画像認識装置、画像データ生成プログラム、及び画像認識プログラム
CN111476109A (zh) * 2020-03-18 2020-07-31 深圳中兴网信科技有限公司 票据处理方法、票据处理装置和计算机可读存储介质
CN115497099B (zh) * 2022-09-23 2023-04-18 神州数码系统集成服务有限公司 一种基于圆周扫描式的单一字符图像匹配识别方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119447A (ja) * 1992-10-06 1994-04-28 Mitsubishi Electric Corp 線分の角度検出用画像処理装置
JP3058791B2 (ja) 1994-01-31 2000-07-04 東芝テック株式会社 画像認識装置の図形の切出し方法
DE69516751T2 (de) 1994-04-15 2000-10-05 Canon Kk Bildvorverarbeitung für Zeichenerkennungsanlage
JP3435684B2 (ja) 1997-09-30 2003-08-11 株式会社アドバンテスト 画像情報処理装置
EP1229486A1 (en) 2001-01-31 2002-08-07 GRETAG IMAGING Trading AG Automatic image pattern detection
US7397970B2 (en) * 2004-12-07 2008-07-08 Lockheed Martin Corporation Automatic scene correlation and identification
US7406212B2 (en) * 2005-06-02 2008-07-29 Motorola, Inc. Method and system for parallel processing of Hough transform computations
DE102005047160B4 (de) * 2005-09-30 2007-06-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Ermitteln einer Information über eine Form und/oder eine Lage einer Ellipse in einem graphischen Bild
DE102006059663B4 (de) * 2006-12-18 2008-07-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Identifizieren eines Verkehrszeichens in einem Bild
JP2013052615A (ja) 2011-09-05 2013-03-21 Ricoh Co Ltd 画像形成装置、描画処理制御プログラム及び描画処理制御方法
US9030559B2 (en) * 2012-08-28 2015-05-12 Palo Alto Research Center Incorporated Constrained parametric curve detection using clustering on Hough curves over a sequence of images
US9053389B2 (en) * 2012-12-03 2015-06-09 Analog Devices, Inc. Hough transform for circles
WO2015011799A1 (ja) * 2013-07-24 2015-01-29 日本電気株式会社 画像認識装置および記憶媒体

Also Published As

Publication number Publication date
US20160155012A1 (en) 2016-06-02
US9646221B2 (en) 2017-05-09
JPWO2015011799A1 (ja) 2017-03-02
WO2015011799A1 (ja) 2015-01-29

Similar Documents

Publication Publication Date Title
JP6128617B2 (ja) 画像認識装置およびプログラム
AU2018258094B2 (en) Octree-based convolutional neural network
JP5854802B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
WO2022000862A1 (zh) 鱼眼图像中的对象检测方法、装置及存储介质
CN103345382A (zh) 一种cpu+gpu群核超算系统及sift特征匹配并行计算方法
CN110637461A (zh) 计算机视觉系统中的致密光学流处理
CN104217459A (zh) 一种球面特征提取方法
JP2017182438A (ja) 画像処理装置、半導体装置、画像認識装置、移動体装置、及び画像処理方法
CN108573510B (zh) 一种栅格地图矢量化方法及设备
JP5560925B2 (ja) 3次元形状検索装置、3次元形状検索方法、及びプログラム
KR102421604B1 (ko) 이미지 처리 방법, 장치 및 전자 기기
KR20240013085A (ko) 기계 시각을 위한 이미지 데이터 처리 방법들 및 장치
JP6121810B2 (ja) シフトアルゴリズムを用いて大容量ソースイメージの特徴点情報を抽出する装置及び方法
US10824905B2 (en) Information processing device, information processing method, and program
CN114495132A (zh) 文字识别方法、装置、设备及存储介质
TWM623309U (zh) 英文字體影像辨識系統
JP6910622B2 (ja) 画像処理システム
Lin et al. The mesh with hybrid buses: an efficient parallel architecture for digital geometry
CN108520262B (zh) 一种基于fpga实时提取fhog特征的方法
Wu et al. Industrial equipment detection algorithm under complex working conditions based on ROMS R-CNN
JP4648084B2 (ja) 記号認識方法及び装置
CN111597375B (zh) 基于相似图片组代表特征向量的图片检索方法及相关设备
WO2023056833A1 (zh) 背景图生成、图像融合方法、装置、电子设备及可读介质
JP5028174B2 (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
JP2017072940A (ja) 画像処理システム、画像処理方法および画像処理プログラム

Legal Events

Date Code Title Description
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: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170406

R150 Certificate of patent or registration of utility model

Ref document number: 6128617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150