【実施例1】
【0023】
以下、添付図面を参照して、本実施例1に係る画像処理装置、画像処理システム及び画像処理方法の実施例を説明する。本実施例1では、表示板の1つである、車両の登録番号を表示するナンバープレートの文字及び数字を読み取る場合を中心に説明することとする。
【0024】
<実施例1に係る画像処理装置の概念>
まず、本実施例1に係る画像処理装置の概念について説明する。
図1は、本実施例1に係る画像処理装置の概念を説明するための説明図である。ここでは、学習に使用するナンバープレートを撮像した多階調(例えば、256階調の白黒画像や24ビットカラー画像など)の画像(以下、「参照画像」と言う)と、この参照画像から生成された学習用画像がすでに取得されているものとする。
【0025】
本実施例1に係る画像処理装置3は、学習段階においてあらかじめ多層ニューラルネットワーク36及びネットワークモデル更新処理部37に教師有り学習を行わせ、多層ニューラルネットワーク36のノード間を接続するシナプスの重み等をネットワークモデルパラメータGとして記憶する。そして、認識段階では、ネットワークモデルパラメータGを用いて多層ニューラルネットワーク36を再構成し、この多層ニューラルネットワーク36により画像の4隅の位置情報を用いて正面画像Fを生成する。その後、ナンバープレートの正面画像Fを文字認識して該ナンバープレートに含まれる文字及び数字を出力する。
【0026】
具体的には、本実施例1では、多層ニューラルネットワーク36からネットワークモデルの更新を行う機能部(ネットワークモデル更新処理部37)を分離している。あらかじめ教師有り学習を行う際に、このネットワークモデル更新処理部37によって学習データ(シナプスの重み等)となるネットワークモデルパラメータGを生成することとしている。このようにすることで、認証段階ではネットワークモデル更新処理部37が不要になるとともに、ネットワークモデルパラメータGを用いて異なる多数の多層ニューラルネットワーク36を再構成することがでる。
【0027】
ここで、多層ニューラルネットワーク36は、ディープラーニング(深層学習)において用いられる多層化されたニューラルネットワークであり、本実施例では畳み込みニューラルネットワーク(Convolutional Neural Network)を用いている。この畳み込みニューラルネットワークは、順伝播型人工ニューラルネットワークの一種であり、個々のニューロンが視覚野と対応するような形で配置されている。この畳み込みネットワークは、生物学的処理に影響されたものであり、少ない事前処理で済むよう設計された多層パーセプトロンの一種である。なお、この畳み込みニューラルネットワーク自体は公知技術であるため、ここではその詳細な説明を省略する。
【0028】
また、多層ニューラルネットワーク36及びネットワークモデル更新処理部37には、学習用画像B及び4つの基準点を用いて教師有り学習を行わせる。具体的には、ネットワークモデル更新処理部37は、多層ニューラルネットワーク36から出力された4つの対応点が、4つの基準点の位置座標と一致するようにネットワークモデルパラメータGを更新(学習)する。更新されたネットワークモデルパラメータGにより多層ニューラルネットワーク36を再構成し、該多層ニューラルネットワーク36から出力される4つの対応点を使って同様に学習を行う。係る学習処理を繰り返して、ネットワークモデルパラメータGを固定する。例えば、誤差逆伝播法(Backpropagation)アルゴリズム等を用いてネットワークモデルパラメータGを調整することができる。
【0029】
図1(a)に示すように、学習段階においては、学習用画像Bを多層ニューラルネットワーク36に入力し、教師データである4つの基準点といった学習データをネットワークモデル更新処理部37に入力する(ステップS11)。そして、これらの学習用画像B及び4つの基準点に基づいて多層ニューラルネットワーク36に学習を行わせ、ネットワークモデル更新処理部37によってネットワークモデルパラメータGの更新処理を行う(ステップS12)。なお、多層ニューラルネットワーク36及びネットワークモデル更新処理部37による教師有り学習自体は既存技術であるため、ここではその詳細な説明を省略する。
【0030】
学習用画像Bは、車両に付されたナンバープレートを撮像した実画像である参照画像から生成された画像データである。具体的には、この学習用画像Bは、撮像装置1によりナンバープレートを撮像した実画像である参照画像A、ナンバープレートの一部が隠れていること等を想定し該参照画像Aの一部の情報を欠落させた画像(第1の学習用画像)、車両と撮像装置1とのなす相対角度を想定し参照画像Aを射影変換した画像(第2の学習用画像)又は参照画像Aの一部の情報を欠落させた画像を射影変換した画像(第3の学習用画像)等である。また、学習用画像Bは、処理を効率化するためにナンバープレート及びその周囲のみが含まれるように切り出した画像とすることが望ましい。
【0031】
4つの基準点は、ネットワークモデルパラメータGの更新及び多層ニューラルネットワーク36に教師有り学習を行わせるための正解データ(教師データ)である。具体的には、学習用画像Bに含まれるナンバープレートの4隅の点の位置座標が基準点として指定される。
【0032】
このように、本実施例1に係る多層ニューラルネットワーク36に学習用画像B及び4つの基準点を用いて学習を行わせる理由は、実環境下で、撮像方向の違いにより様々な歪みを持つ入力画像Cが入力された場合であっても、歪みのない正面画像Fを得るためである。この点を具体的に説明すると、撮像装置1で車両のナンバープレートを撮像する場合に、車両と撮像装置1とのなす相対角度によって、入力画像C中のナンバープレート部分に様々な歪みが生ずる。例えば、矩形形状のナンバープレートを撮像したのにもかかわらず、平行四辺形や台形状にナンバープレートが映り込む場合がある。また、他の車両や樹木等の存在によって、ナンバープレートの一部が隠れてしまう場合もある。その結果、3軸の射影変換に必要となる4つの基準点を特定できない状況が生じ得る。このため、あらかじめ様々な歪みを持つ学習用画像Bと、その正解データ(教師データ)となる4つの基準点とを入力して、多層ニューラルネットワーク36に学習させるとともに、更新されたネットワークモデルパラメータGを記憶している。なお、この4つの基準点は、操作者が表示部32に表示させた学習用画像B上の点を指示入力することによって特定することができ、操作者により指定された4つの基準点を、画像と同様の射影変換により特定することもできる。
【0033】
次に、認識段階の処理について説明する。ここでは、前処理として、車両のナンバープレートを撮像した入力画像Cからナンバープレート及びその周辺部が含まれる認識用画像Dが生成されているものとする。なお、この前処理において、エッジ検出や平滑化処理などを行うこともできる。
【0034】
図1(b)に示すように、認識用画像Dから解析用画像Eを生成する。この解析用画像Eが多層ニューラルネットワーク36に入力されると(ステップS21)、多層ニューラルネットワーク36は、4つの基準点にそれぞれ対応する4つの対応点の位置に係る情報を出力する(ステップS22)。なお、この「対応点の位置に係る情報」とは、対応点の位置座標そのものであってもよいし、対応点を特定するための情報であってもよい。例えば、1つの対応点の位置座標と、この対応点から他の対応点へのベクトルであってもよい。
【0035】
その後、4つの対応点を用いて認識用画像Dを射影変換し(ステップS23)、ナンバープレートの正面画像Fを取得する。その後、正面画像Fに含まれる文字(数字を含む)を文字認識し(ステップS24)、ナンバープレートに含まれる文字を出力する。なお、射影変換及び文字認識を行う際には、周知の技術が用いられる。
【0036】
上記の一連の処理を行うことにより、車両のナンバープレートを様々な角度で撮像した入力画像Cが入力された場合であっても、この入力画像Cを効率的に正面画像Fに変換し、精度良くナンバープレート内の文字を抽出することができる。特に、入力画像Cに含まれるナンバープレートに係る一部の情報が喪失され、通常の処理では4つの基準点全ての抽出が難しい場合であっても、この場合に備えた学習処理を行っているため、4つの基準点に対応する対応点を特定し、もって3軸の射影変換を行うことが可能となる。
【0037】
<画像処理システムのシステム構成>
次に、実施例1に係る画像処理システムのシステム構成を説明する。
図2は、実施例1に係る画像処理システムのシステム構成を示す図である。同図に示すように、この画像処理システムは、撮像装置1と画像処理装置3とをネットワーク2を介して接続した構成となる。
【0038】
撮像装置1は、256階調の白黒画像を撮像できるCCDカメラ等の撮像デバイスからなり、ネットワーク2を介して画像データを画像処理装置3に送信する。この撮像装置1は、道路を通行する車両のナンバープレートを撮像する監視カメラ等からなる。なお、ここでは撮像装置1が画像を撮像して画像処理装置3に送信する場合について説明するが、撮像装置1が動画を撮影して画像処理装置3に送信し、画像処理装置3において動画から画像を切り出す場合に適用することもできる。さらに、ここでは説明の便宜上、1台の撮像装置1のみを図示したが、複数の撮像装置1を設けることもできる。また、撮像装置1には、256階調の白黒画像ではなく、カラー画像を撮像できる撮像デバイスを用いることもできる。或いは、撮像装置1は可視光による画像ではなく赤外光などによる画像を撮像できる撮像デバイスを用いることもできる。
【0039】
ネットワーク2は、イーサネット(登録商標)等の有線ネットワークにより形成され、画像の受け渡しに利用される。このネットワーク2は、イーサネットに限定されるものではなく、単一の通信ケーブルを用いて直接ケーブル接続し、画像信号を伝送するものであってもよいし、無線ネットワークであってもよい。
【0040】
画像処理装置3は、撮像装置1から受信した入力画像C内のナンバープレートに含まれる文字を出力する装置である。具体的には、ネットワークモデルパラメータGを用いて再構成された多層ニューラルネットワーク36を用いて4つの対応点を特定し、この4つの対応点を用いて認識用画像Dの射影変換を行って正面画像Fを取得し、この正面画像Fを文字認識してナンバープレート内の文字を出力する。この画像処理装置3の詳細な説明については後述する。
【0041】
<画像処理装置3の学習処理を行う場合の構成>
次に、
図2に示した画像処理装置3の学習処理を行う場合の構成について説明する。
図3は、
図2に示した画像処理装置3の学習処理を行う場合の構成を示す機能ブロック図である。同図に示すように、この画像処理装置3は、入力部31、表示部32、通信インターフェース部33、記憶部34及び学習処理制御部35を有する。
【0042】
入力部31は、キーボード及びマウス等の入力デバイスであり、表示部32は、液晶パネル等の表示デバイスである。通信インターフェース部33は、イーサネット通信等を利用して、撮像装置1により撮像された画像を受信するための通信デバイスである。
【0043】
記憶部34は、フラッシュメモリ等の不揮発性メモリ又はハードディスクからなる記憶デバイスであり、参照画像A、学習用画像B及びネットワークモデルパラメータGなどを記憶する。この参照画像Aは、多層ニューラルネットワーク36の学習を行う際に用いる基本となる画像であり、少なくともナンバープレートの4つの基準点(左上、右上、左下、右下の4つの基準点)を特定し得るナンバープレートが正面を向いた正面画像である。
【0044】
学習処理制御部35は、多層ニューラルネットワーク36及びネットワークモデル更新処理部37を用いて学習処理を行い、ネットワークモデルパラメータGを生成するよう制御する制御部であり、参照画像生成部38、学習用画像生成部39及び学習処理部40を有する。
【0045】
参照画像生成部38は、処理対象となるナンバープレートの正面画像(所定の大きさに正規化されているものとする)と、入力部31より操作者から入力された4つの基準点とを関連づけた参照画像を生成する処理部である。なお、ここでは通信インターフェース部33を介して入力された正面画像を用いて参照画像Aを生成する場合について説明するが、USBメモリなどの可搬記録媒体に記憶された正面画像を用いて参照画像Aを生成することもできる。
【0046】
学習用画像生成部39は、撮像装置1によって撮像される入力画像Cの態様を考慮して、参照画像Aに対して様々な幾何変換等を行って学習用画像Bを生成し、生成した学習用画像Bを記憶部34に格納する処理部である。なお、この学習用画像Bは、参照画像Aに基づいて生成される学習用の画像であり、参照画像Aに歪みを持たせるように射影変換を行った画像、ナンバープレートの一部の情報(例えば、右上部分)を喪失させた画像等が含まれる。
【0047】
具体的には、学習用画像生成部39は、参照画像生成部38から受け付けた参照画像Aを幾何学的に変形させた歪みを有する一つ又は複数の学習用画像Bを生成する処理を行う。例えば、4つの基準点を用いて参照画像A又は学習用画像Bの射影変換を行い、新たに学習用画像Bを生成する。複数の学習用画像Bを生成する場合には、参照画像Aをそれぞれ異なる態様に幾何変換を行う。その際、4つの基準点も変換された位置に存在するので学習用画像Bに含ませておく。ただし、この学習用画像生成部39は、操作者により手作業で変形された学習用画像B又は操作者が幾何変換の画像処理を参照画像Aに適用して生成した学習用画像Bを受け付けることもできる。
【0048】
操作者が入力部31を用いて表示部32に表示された学習用画像B上を指示する場合には、指示された位置座標が基準点となる。ここでは、ナンバープレートの四隅の点(左上、右上、左下、右下)の4つの点の指示を受け付け、この4つの点を基準点とするものとする。なお、テンプレートマッチング等の画像処理技術を用いて、ナンバープレートの四隅の点(左上、右上、左下、右下)を自動的に検出することもできる。画像の一部が喪失しており、ナンバープレートの四隅の点の一部(例えば、右上)が自動的に検出できない場合に、操作者が基準点を追加指示することもできる。具体的な学習用画像Bについては後述する。
【0049】
学習処理部40は、画像処理装置3の学習に係る部分の処理を行う処理部であり、対応点学習受付部41、多層ニューラルネットワーク36及びネットワークモデル更新処理部37を有する。なお、実際には、係る学習処理部40に対応するプログラム及びデータをCPUにロードして実行し、対応点学習受付部41、多層ニューラルネットワーク36及びネットワークモデル更新処理部37の機能を実行することになる。そして、この学習処理部40による学習に伴って、記憶部34のネットワークモデルパラメータGが更新される。
【0050】
対応点学習受付部41は、学習対象となる学習用画像Bを受け付け、この学習用画像Bから解析用画像Eを生成して多層ニューラルネットワーク36に出力するとともに、該学習用画像Bの4つの基準点をネットワークモデル更新処理部37に出力する処理部である。この解析用画像Eは、256階調の白黒画像等の濃淡画像又はRGBの輝度画像でもよいし、微分画像やHSVなどの画像データであってもよい。
【0051】
多層ニューラルネットワーク36は、ネットワークモデルパラメータGによりノード間のシナプスの重みが再構成されつつ、入力される解析用画像Eの入力に基づいて動作し4つの対応点を出力する。
【0052】
ネットワークモデル更新処理部37は、多層ニューラルネットワーク36から出力された4つの対応点と対応点学習受付部41から入力された4つの基準点との差を算出し、差が少なくなるようにネットワークモデルパラメータGを更新する処理部である。更新されたネットワークモデルパラメータGは、多層ニューラルネットワーク36に適用されて学習が繰り返される。
【0053】
<学習用画像Bの一例>
次に、学習用画像Bの一例として4種類の学習用画像について説明する。
図4は、学習用画像Bの一例を示す図である。
図4(a)に示すように、ナンバープレートを撮像した実画像である参照画像Aには4つの基準点P1〜P4が含まれており、学習用画像Bとして使用する。
図4(b)に示すように、この参照画像Aの一部の情報を欠落させた画像が学習用画像B(第1の学習用画像)となる。なお、
図4では個別の車両の特定を防ぐために事業用判別番号であるかな文字を表示していないが、実際の処理ではかな文字を含んだまま処理すればよい。
【0054】
また、
図4(c)に示すように、参照画像Aの4つの基準点P1〜P4を利用して射影変換した画像(図中に破線の矢印で示した射影変換後の画像)を学習用画像B(第2の学習用画像)とする。参照画像Aの一部の情報を欠落させた学習用画像B(第1の学習用画像)を射影変換したものを新たな学習用画像B(第3の学習用画像)とすることもできる。これらの参照画像A及び第1〜3の学習用画像のうち、1種類の画像を学習用画像Bとしてもよいし、複数種類の画像を学習用画像Bとしてもよい。なお、図示省略したが変換後の基準点P1’〜P4’の位置座標を学習用画像Bに含ませておけば、学習を自動的に進めることができる。
【0055】
<画像処理装置3の認識処理を行う場合の構成>
次に、
図2に示した画像処理装置3が認識処理を行う場合の構成について説明する。
図5は、
図2に示した画像処理装置3が認識処理を行う場合の機能ブロック図である。
【0056】
認識処理制御部44は、学習済のネットワークモデルパラメータGを適用した多層ニューラルネットワーク36を用いて、認識用画像Dの4つの基準点に対応する4つの対応点を特定して正面画像Fを生成し、この正面画像Fを基に文字認識をする制御部である。認識処理制御部44は、外部の撮像装置1等から通信インターフェース部33を経由して、背景を含んだ入力画像Cを受け付ける入力画像受付部45と、多層ニューラルネットワーク36を含む認識処理部46とから構成される。
図5において、
図3と符号が同じものについては、
図3の説明と重複するので説明を省略する。
【0057】
入力画像受付部45は、入力画像Cを受け付けて、ナンバープレート部分の切り出し、画像に対してノイズ除去及び所定のサイズに揃える拡縮処理等の前処理を行って認識用画像Dを生成する処理を行う。ここで、入力画像Cは、撮像装置1によって撮像された処理対象となるナンバープレートの画像である。この入力画像Cにはナンバープレートのみならず、車体の一部も含まれている。また、認識用画像Dと
図3で示した学習用画像Bと、認識用画像Dとは、学習用画像Bが4つの基準点の情報を有しているのに対して、認識用画像Dは基準点若しくはその対応点の情報を持っていない点で異なっている。
【0058】
認識処理部46は、学習済みのネットワークモデルパラメータGを適用した多層ニューラルネットワーク36を用いて認識用画像Dのナンバープレート画像の4つの対応点を出力し、出力された4つの対応点を基に認識用画像Dを射影変換し、正面画像Fを生成し、文字認識を行ってナンバープレートの文字(数字を含む)を出力する処理部である。対応点特定部47、多層ニューラルネットワーク36、正面画像生成部48及び文字認識部49を有する。
【0059】
対応点特定部47は、認識用画像Dを受け付けて解析用画像Eを生成するとともに、認識用画像Dを正面画像生成部48に出力する処理を行う。解析用画像Eは、グレー画像やRGBの輝度画素でもよいし、微分画像やHSVなどの画像であってもよい。対応点特定部47と対応点学習受付部41とは、対応点特定部47が認識用画像Dを正面画像生成部48に出力する点で異なっている。
【0060】
正面画像生成部48は、多層ニューラルネットワーク36から出力された4つの対応点を用いて認識用画像Dを射影変換して正面画像Fを生成する処理を行う。ここで、この射影変換は、ある平面を別の平面に射影する際に用いられる変換であり、斜めから見た認識用画像Dを正面画像Fに変換する場合に用いられる。なお、この射影変換は周知技術であるため、ここではその詳細な説明を省略する。
【0061】
文字認識部49は、正面画像Fのナンバープレート部分に含まれる文字(数字を含む)を文字認識して出力する処理を行う。例えば、正規化、特徴抽出、マッチング、知識処理によって一般的な文字認識を行うことができるが、この文字認識については周知技術であるため、ここではその詳細な説明を省略する。
【0062】
認識処理時の記憶部50は、学習時の記憶部34と同じデバイスで構成されており、入力画像Cを一時的に記憶するとともに、学習済のネットワークモデルパラメータG及び、文字認識部49が文字認識時に使用する文字認識用辞書Hを記憶している。
【0063】
<学習処理手順>
次に、
図2に示した画像処理装置3の学習段階における処理手順について説明する。
図6は、
図2に示した画像処理装置3の学習段階における処理手順を示すフローチャートである。なお、ここでは記憶部34に参照画像Aがすでに記憶されているものとする。
【0064】
図6に示すように、画像処理装置3は、参照画像Aを含む学習用画像B中の4つの基準点の指定を受け付ける(ステップS101)。この4つの基準点は、多層ニューラルネットワーク36に教師有り学習を行わせる際の教師データとなる。
【0065】
その後、参照画像Aから学習用画像Bを生成する(ステップS102)。具体的には、参照画像Aを幾何変換し、参照画像Aを幾何学的に変形させた歪みを有する学習用画像Bを生成する。この学習用画像Bには、ナンバープレートを正面から撮像した参照画像A、該参照画像Aの一部の情報を欠落させた画像、参照画像Aを射影変換した画像及び参照画像Aの一部の情報を欠落させた画像を射影変換した画像等が含まれる。また、参照画像Aに対する基準点座標に対しても同様の幾何学的な変形を加え、学習用画像B中の新たな基準点座標を求める。なお、参照画像A中で基準点の付近の画素情報を欠落させた場合も、学習用画像B中での基準点の位置座標に画像と同様の幾何学的な変換によって変換された位置座標を用いれば、学習用画像Bの生成を自動化することができる。なお、学習用画像Bは画像データと4つの基準点の位置座標情報(以下、基準点情報)の両方を有する。
【0066】
次に学習用画像Bから、256階調の白黒画像又はRGBの輝度画像、若しくは微分画像やHSVなどの画像データに変換することにより解析用画像Eを生成する(ステップS103)。ただし、本ステップでは学習用画像B中での画像データと基準点情報の関係が保持できなくなる幾何変換は行わない。
【0067】
次に、ネットワークモデルパラメータGの初期値、複数の解析用画像Eと各々の解析用画像Eに対応する基準点情報を多層ニューラルネットワーク36に入力し(ステップS104)、多層ニューラルネットワーク36にて4つの対応点を算出する(ステップS105)。
【0068】
次に、算出された対応点と対応する基準点との差を算出し(ステップS106)、差が所定値以下であれば(ステップS107;No)、その時のネットワークモデルパラメータGを更新完了したものとして記憶部34に記憶しておく。
【0069】
ステップS107で、差が所定値を超える場合(ステップS107;Yes)の場合に、繰り返し回数が所定値以上になっていれば(ステップS108;No)、終了する。この場合は異常となる。一方、繰り返し回数が所定値未満であれば(ステップS108;Yes)、差が近くなるようにネットワークモデルパラメータGを更新し(ステップS109)、更新されたネットワークモデルパラメータGを適用した多層ニューラルネットワーク36を使ってステップS105以降を繰り返す。
【0070】
<認識処理手順>
次に、
図2に示した画像処理装置3の認識段階における処理手順について説明する。
図7は、
図2に示した画像処理装置3の認識段階における処理手順を示すフローチャートである。また、
図8(a)から
図8(d)を参照しつつ説明をする。
【0071】
図7に示すように、画像処理装置3は、入力画像C(
図8(a))を受け付け(ステップS201)、ナンバープレートを含む入力画像Cの前処理を行って認識用画像Dを生成する(ステップS202)。そして、256階調の白黒画像やRGBの輝度画像等に変換することにより多層ニューラルネットワーク36へ入力する画像である解析用画像Eを生成する(ステップS203)。
【0072】
学習済のネットワークモデルパラメータGを記憶部50から読出し、多層ニューラルネットワーク36に入力することによって多層ニューラルネットワーク36を構成させ、これに解析用画像Eを入力する(ステップS204)。多層ニューラルネットワーク36にて対応点を算出する(ステップS205)。ここで、
図8(b)に示すように対応点が付与された認識用画像Dが得られることになる。
【0073】
そして、この4つの対応点を用いて認識用画像Dの射影変換を行い(ステップS206)、
図8(c)に示すような正面画像Fを取得する。そして、この正面画像Fに対して文字認識処理を行って、
図8(d)に示すようなナンバープレートの文字を取得して出力する(ステップS207)。
【0074】
上述してきたように、本実施例1では、学習用画像Bと基準点情報を用いて教師有りの学習を行うことによってネットワークモデルパラメータGの更新を行った多層ニューラルネットワーク36に、入力画像Cを前処理した認識用画像Dから所定の処理を行った解析用画像Eを入力して4つの基準点に対応する認識用画像D上の4つの対応点を特定する。この4つの対応点を用いて認識用画像Dを射影変換して正面画像Fを取得し、この正面画像Fに文字認識を行ってナンバープレートの文字を出力するよう構成している。これにより、撮像距離や角度等の撮像条件が様々に異なる状況で撮像された入力画像Cを効率的かつ精度良く正面画像Fに変換し、ナンバープレートの文字認識結果を出力することができる。従って、画像に含まれる表示板の文字の認識を効率良く行うことができる。
【0075】
なお、本実施例1では、コンピュータである画像処理装置を用いる場合を示したが、本発明はこれに限定されるものではなく、複数台のコンピュータで分散コンピューティングを行う場合に適用することもできる。また、クラウド上で処理を行う場合に適用することもできる。
【実施例2】
【0076】
ところで、上記の実施例1では、本発明をナンバープレートの文字認識に用いる場合を示したが、本発明はこれに限定されるものではなく、車両に搭載された画像処理装置によって、道路標識等の表示板に含まれる文字の文字認識を行う場合に適用することもできる。道路標識等の表示板とは、具体的には、案内標識、警戒標識、規制標識、指示標識、補助標識等のことで、特に文字が表示されている道路標識を処理対象とする。そこで、本実施例2では、車両に搭載された画像処理装置によって道路標識等に含まれる文字の文字認識を行う場合を示すこととする。なお、実施例1と同様の部分については、その詳細な説明を省略する。
【0077】
<実施例2に係る画像処理装置の概念>
まず、本実施例2に係る画像処理装置の概念について説明する。
図9は、本実施例2に係る画像処理装置の概念を説明するための説明図である。ここでは、実施例1で説明した教師有り学習の学習対象、即ち参照画像Aがナンバープレートの1種類だったものが、複数の形状の種類を有する道路標識を処理対象としている点が実施例1とは異なっている。実施例2では参照画像Aの種別識別後の学習処理が、実施例1で説明した学習処理部40と同様なのでその詳細の多くは省略する。実施例2では、参照画像Aの種別ごとに学習がなされ、ネットワークモデルパラメータGは参照画像Aの種別ごとに作成される。ここで言う参照画像Aの種別とは、矩形状のナンバープレート、円状或いは、多角形状などと言った道路標識等の形状の種別である。
【0078】
本実施例2に係る画像処理装置4は、学習段階においてあらかじめ多層ニューラルネットワーク36に学習を行わせておき、認識段階において道路標識の形状の種別に応じて学習済みのネットワークモデルパラメータGで再構成された多層ニューラルネットワーク36を用いて4つの対応点を取得する。そして、この4つの対応点を用いて射影変換した正面画像Fで文字認識を行う。この多層ニューラルネットワーク36は、実施例1で使用しているのと同じディープラーニング(深層学習)に用いられる畳み込みニューラルネットワークである。
【0079】
図9(a)に示すように、学習段階においては、多層ニューラルネットワーク36に対して、学習用画像B及び4つの基準点といった学習データを入力し(ステップS31)、これらの学習用画像B及び4つの基準点に基づき多層ニューラルネットワーク36に教師有り学習を行わせ、ネットワークモデル更新処理部37によりネットワークモデルパラメータGを更新する(ステップS32)。この学習を道路標識の形状の種別ごとに行い、ネットワークモデルパラメータGを対象物の種別ごとに生成する(ステップS33)。
【0080】
学習用画像Bは、道路標識を撮像した参照画像Aから生成された画像データである。具体的には、周知の画像処理技術を用いて参照画像を幾何学的に変形させた歪を有する画像データを生成して、生成した画像データを学習用画像Bとする。概念は実施例1での説明と同じであり省略する。
【0081】
4つの基準点は、多層ニューラルネットワーク36に教師有り学習を行わせるための正解データ(教師データ)である。具体的には、学習用画像Bに含まれる対象物を特定する4点の位置座標が基準点として指定される。この教師有り学習は道路標識の形状の種別に応じてそれぞれ行い、ネットワークモデルパラメータGを種別毎に用意する。
【0082】
実施例2では、4つの基準点に関して、手入力で指示する点と真の基準点が必ずしも一致している必要はない。丸い形状や三角形状の道路標識では、ナンバープレートの4隅に相当する4点を目視で入力することが困難なので、手入力で指定する点としてはより特徴的な点を設定しておいて、基準点となる4点を多層ニューラルネットワーク36により求める。例えば、手入力では三角形の3つの頂点を指示しておき、指示された3点から計算によって三角形の外接矩形の4隅を求め、その4隅を基準点とする、という処理を行う。
これにより、基準点の精度向上や、多様な形状の表示板に対応することができるという効果がある。
【0083】
次に、認識段階の処理について説明する。
図9(b)に示すように、道路標識を撮像した入力画像Cが入力されると、前処理を行って認識用画像Dを出力する(ステップS41)。この認識用画像Dを基に道路標識の形状の種別の識別(ステップS42)を行い、それ以降は種別に応じたネットワークモデルパラメータGを適用した多層ニューラルネットワーク36に解析用画像Eを入力して(ステップS43)、4つの基準点に対応する4つの対応点の位置に係る情報を出力させる(ステップS44)。次に、4つの対応点を用いて認識用画像Dを射影変換して(ステップS45)、正面画像Fを生成する。そして、正面画像Fを文字認識する(ステップS46)。この時、種別に応じた文字認識用辞書Hを使う。道路標識の字体がそれぞれ異なっているからである。
図9のステップS43〜S46の処理内容は
図1に示すステップS21〜S24の処理内容と同じであるため、重複する説明は省略する。
【0084】
上述の一連の処理を行うことにより、道路標識を様々な角度で撮像した入力画像Cが入力された場合であっても、この入力画像Cを効率的に正面画像Fに変換し、精度良く道路標識の文字を出力することができる。特に、入力画像Cに含まれる道路標識に係る一部の情報が喪失され、通常の処理では4つの基準点全ての抽出が難しい場合であっても、この場合に備えた学習処理を行っているため、4つの対応点を特定し、もって3軸の射影変換を行うことが可能となる。そして、さまざまな形状の道路標識の文字の認識ができることになる。
【0085】
<画像処理システムのシステム構成>
次に、実施例2に係る画像処理システムのシステム構成を説明する。
図10は、実施例2に係る画像処理システムのシステム構成を示す図である。同図に示すように、この画像処理システムは、車両に搭載された撮像装置1と画像処理装置4とを接続した構成となる。なお、撮像装置1については実施例1に示すものと同様であるので、ここではその説明を省略する。
【0086】
画像処理装置4は、撮像装置1から受信した入力画像C内の道路標識の形状の種別を識別し、その道路標識に含まれる文字を認識する装置である。具体的には、認識用画像Dからその道路標識の形状の種別を識別し、その種別に応じて教師有り学習を行ったネットワークモデルパラメータGを使う多層ニューラルネットワーク36により4つの対応点を特定し、この4つの対応点を用いて認識用画像Dの射影変換を行って正面画像Fを取得し、この正面画像Fを種別に応じて用意された文字認識用辞書Hを用いて文字認識し、道路標識に含まれる文字を出力する。
【0087】
<画像処理装置4の構成>
次に、
図10に示した画像処理装置4の構成について説明する。
図11は、
図10に示した画像処理装置4の学習時の構成を示す機能ブロック図である。同図に示すように、この画像処理装置4は、入力部31、表示部32、通信インターフェース部33、記憶部34及び学習処理制御部35を有する。なお、実施例1の画像処理装置3と同様の部位については、同一の符号を付すこととして、その詳細な説明を省略する。入力部31は、操作者が参照画像の種別を入力するのに使用される。
【0088】
記憶部34は、フラッシュメモリ等の不揮発性メモリ又はハードディスクからなる記憶デバイスであり、参照画像A、学習用画像B及びネットワークモデルパラメータG(複数セット)などを記憶する。この参照画像Aは、多層ニューラルネットワーク36及びネットワークモデル更新処理部37が教師有り学習を行ってネットワークモデルパラメータGを更新する際に用いる基本となる画像であり、少なくとも道路標識を特定する4つの基準点を特定し得る正面画像である。
【0089】
学習用画像Bは、参照画像Aに基づいて生成される学習用の画像であり、参照画像Aに歪みを持たせるように幾何変換を行った画像、道路標識の一部の情報を喪失させた画像等が含まれる。撮像装置1によって撮像され得る入力画像Cの態様を考慮して、参照画像Aに対して様々な幾何変換等を行う。学習用画像Bの作り方の原理は実施例1に述べたものと同じである。また、実施例2でも、学習用画像Bは4つの基準点の位置情報である基準点情報を有している。
【0090】
ここでは、認識用画像Dは撮像装置1によって撮像された画像に対してトリミング、ノイズ除去及びサイズ合わせ等の前処理を行った道路標識部分の画像である。
【0091】
図11に示す実施例2の学習処理部40は、
図3の第1の実施例の学習処理部40と同じ構成である。但し、第2の実施例では参照画像Aの種別が複数あり、全ての参照画像Aの種別に亘り個々に学習を行う点で異なっている。
【0092】
ここで、
図12の図を用いて、処理対象物が道路標識の場合の基準点について説明する。
図12(a)に示すのは、方面及び距離標識であり、形状がナンバープレートと同じ4角形なので、四隅が基準点となる。
図12(b)は、四角形ではない標識で円形のものと多角形のものを示している。この場合には、学習の最初には該当する標識を含む四角形の4点(P1〜P4)を基準点として入力して、多層ニューラルネットワーク36によって、外周上の点或いは外周上の角点P1’〜P4’を得る。
【0093】
次に
図10の画像処理装置4が認識処理を行う場合を説明する。
図13は認識処理を行う場合の機能ブロック図である。認識処理制御部51は入力画像受付部45と認識処理部46からなる。この認識処理制御部51は、撮像装置1から通信インターフェース部33を経由して、背景を含んだ入力画像Cを受け付ける入力画像受付部45と、道路標識の形状の種別を識別する種別識別部52と、種別毎に学習したネットワークモデルパラメータGで再構成された多層ニューラルネットワーク36を含む認識処理部46とから構成されている。
図13において、
図5と符号が同じものについては、
図5の説明と重複するので説明を省略する。
【0094】
入力画像Cは、処理対象となる道路標識の画像である。認識処理部46は、具体的には、対応点特定部47が4つの基準点に対応する認識用画像D上の4つの対応点、若しくはおおよその対応点を求め、道路標識の形状の種別に応じて学習済みのネットワークモデルパラメータGで再構成された教師有り学習済みの多層ニューラルネットワーク36を用いて認識用画像Dの道路標識の4つの対応点を抽出し、この4つの対応点の位置情報をもとに認識用画像Dを射影変換して正面画像Fを求め、求めた正面画像Fを種別に応じて用意された文字認識用辞書Hを用いて文字認識し、道路標識の文字を出力する。
【0095】
種別識別部52は、入力画像受付部45が生成した認識用画像Dを用いて道路標識の形状の種別を識別する処理を行う。このときには、予め識別すべき種別分用意してあるテンプレートを適用し、一番近いテンプレートの種別を処理対象物の形状の種別とする。
【0096】
認識処理部46は、種別分のハードウェアの形(基板)で構成されており、46(1)〜46(n)という符号で示され、種別に応じた認識処理部46(i)が選ばれることになる(iは1〜nのうちのいずれかを示す)。この点で実施例2の認識処理制御部51は、実施例1の認識処理制御部44と異なっている。
【0097】
<認識処理手順>
次に、
図13に示した画像処理装置4の認識段階における処理手順について説明する。
図14は、
図10に示した画像処理装置4の認識段階における処理手順を示すフローチャートである。簡単に説明すると、入力画像受付部45で入力画像Cを受け付け(ステップS301)、認識用画像Dを生成する(ステップS302)、この認識用画像Dを元に種別識別部52により道路標識の形状の種別を決定する(ステップS303)。そして、種別に応じた認識処理部46(i)を選択する(ステップS304)。次に、実施例1の記載と同様の解析用画像Eを生成し(ステップS305)、生成した解析用画像Eを種別識別部52によって識別された種別のネットワークモデルパラメータGで再構成された多層ニューラルネットワーク36へ入力する(ステップS306)。多層ニューラルネットワーク36は対応点を算出する(ステップS307)。
【0098】
求まった対応点位置座標を用いて認識用画像Dを射影変換し、正面画像Fを生成する(ステップS308)。そして、求めた正面画像Fから種別に応じた文字認識用辞書Hを使って文字認識を行い、処理対象の道路標識の文字を得る(ステップS309)。
【0099】
ここで、実施例2で扱う画像について説明を行う。
図15は、三角形状の国道番号標識を例に示している。
図15(a)は入力画像Cであり、斜め上方から撮像した画像を示している。
図15(b)は認識用画像Dであり、対応点情報を持った画像を示している。
図15(c)は射影変換後の正面画像Fを示している。
図15(d)は文字認識された国道番号である。
【0100】
なお、実施例2では、認識処理部46を処理対象の道路標識の形状の種別に応じて複数用意したが、例えば、FPGA(Field-Programmable Gate Array)を使って、種別の識別の都度ハードウェアを構築するようにすれば、複数枚のハードウェア基板を用意する必要はない。
【0101】
なお、本実施例2では、道路標識の種別を特定する場合を示したが、本発明はこれに限定されるものではなく、看板等の表示板に含まれる文字を出力する場合にも同様に適用することができる。また、実施例1及び2を組み合わせることも可能である。
【0102】
また、上記の実施例1及び2では、4つの基準点に対応する対応点を用いる場合を示したが、5つ以上の基準点に対応する対応点を設定し、そのうちの4点を用いて射影変換を行うこともできる。さらに、上記の入力画像中での表示板の歪みが平行四辺形で近似できる場合には、3つの対応点を出力できるように学習した多層ニューラルネットワーク36によって3つの対応点を検出し、検出された3つの対応点を用いて3軸の射影変換ではなくアフィン変換により正面画像への変換を行うこともできる。
【0103】
また、上記の実施例1及び2では、認識段階で学習を行わないこととしたが、認識段階において教師無し学習を行うよう構成することもできる。また、上記実施例1及び2では、白黒画像を処理対象とする場合を示したが、カラー画像及び赤外画像を処理対象とすることもできる。赤外画像を用いると夜間に対応することが可能となる。なお、解析用画像Eは、Sobelオペレータ、Robertsのオペレータ等の微分オペレータを使った微分画像やガボールフィルタなどを適用した他の画像であってもよい。