説明

画像認識システムおよび画像認識方法

【課題】ネットワーク型画像認識システムのレスポンスを向上させる。
【解決手段】端末装置が取得した画像をサーバにおいて認識する画像認識システムであって、端末装置は、入力画像から加工画像を生成する画像処理部と、画像処理部によって生成される加工画像を前記サーバへ送信する通信部と、を有する。サーバは、端末装置から受信する加工画像に対して認識処理を行う認識部と、認識部による認識処理において不足している情報を判断する不足情報判断部と、端末装置に対して不足情報判断部による判断結果に対応する画像を要求する要求部と、を有する。画像処理部は、サーバからの要求に基づいて、入力画像から加工画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像認識システムおよび画像認識方法に係わる。
【背景技術】
【0002】
画像認識の1つの応用例として、入力画像についてデータベースで照合を行い、その画像内に映っている物体を認識する画像認識システムが知られている。ところが、データベースが記憶するデータの量は膨大である。よって、ネットワーク型(クライアント/サーバ型)の画像認識システムのニーズが高まってきている。
【0003】
ネットワーク型の画像認識システムにおいては、端末装置(クライアント)は、認識対象の画像をサーバへ送信する。そうすると、サーバは、端末装置から受信した画像について認識処理およびデータベース照合を行う。そして、サーバは、認識結果を端末装置へ返送する。
【0004】
上述の画像認識システムにおいては、端末装置は、大容量のデータベースを有することなく、認識結果を得ることができる。また、サーバが有するデータベースが適切に更新されていれば、端末装置は、最新のデータベースによる認識結果を得ることができる。
【0005】
関連する技術として、下記の静止画検索伝送方法が提案されている。送信側記憶手段に静止画の画像データの他、各静止画の概略表示のための縮小画像データと、当該静止画の説明用文字情報とを格納しておく。受信側へ、上記縮小画像データ及び説明文字情報の送信を行う。受信側でこれを表示して所要画面を選択し、その結果を画像送信要求として送信側へ送信する。(例えば、特許文献1)
【0006】
また、他の関連技術として、下記の画像データの通信方法が提案されている。取り込まれたデータを蓄積し、蓄積されたデータからINDEX画像を作成し、その画像を送信する。受信者は、そのINDEX画像から自分が必要なデータのみ選択し、送信者側ファクシミリ装置にINDEX画像と必要データを通知する。通知後、送信者側ファクシミリ装置は、受信者側ファクシミリ装置から指定されたINDEX画像と通知されたデータを蓄積されたデータから検索し、その後通知されたデータの加工前のデータ及び関連データのみ受信者側ファクシミリ装置に送信する。(例えば、特許文献2)
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平7−219967号公報
【特許文献2】特開2004−104711号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ネットワーク型の画像認識システムにおいては、上述のように、端末装置からサーバへ認識対象の画像が伝送される。しかし、画像はデータ量が大きい。このため、ネットワーク型の画像認識システムは、認識レスポンスが遅くなる傾向にある。
【0009】
特に、無線ネットワークにおいては、上り回線(端末装置からサーバへデータを伝送する回線)の通信容量が下り回線(サーバから端末装置へデータを伝送する回線)と比較して大幅に小さいことが多い。したがって、この場合、認識レスポンスがさらに遅くなるおそれがある。
【0010】
本発明の課題は、ネットワーク型画像認識システムのレスポンスを向上させることである。
【課題を解決するための手段】
【0011】
本発明の1つの態様の画像認識システムは、端末装置が取得した画像をサーバにおいて認識する。前記端末装置は、入力画像から加工画像を生成する画像処理部と、前記画像処理部によって生成される加工画像を前記サーバへ送信する通信部と、を有する。前記サーバは、前記端末装置から受信する加工画像に対して認識処理を行う認識部と、前記認識部による認識処理において不足している情報を判断する不足情報判断部と、前記端末装置に対して、前記不足情報判断部による判断結果に対応する画像を要求する要求部と、を有する。前記画像処理部は、前記サーバからの要求に基づいて、前記入力画像から前記加工画像を生成する。
【発明の効果】
【0012】
上述の態様によれば、ネットワーク型画像認識システムのレスポンスが向上する。
【図面の簡単な説明】
【0013】
【図1】実施形態の画像認識システムの構成および機能を示す図である。
【図2】画像認識処理の概略を示す図である。
【図3】画像認識処理の実施例を示す図である。
【図4】入力画像の一例を示す図である。
【図5】(a)は初期画像の一例、(b)(c)はサーバからの要求に応じて生成される画像の一例を示す図である。
【図6】要求情報の実施例を示す図である。
【図7】画像処理部の機能を説明する図である。
【図8】端末装置の動作を示すフローチャートである。
【図9】サーバの動作を示すフローチャートである。
【図10】車両を認識する実施例においてサーバの動作を示すフローチャートである。
【図11】車名を特定する手順を示す図(その1)である。
【図12】車名を特定する手順を示す図(その2)である。
【図13】車名を特定する手順を示す図(その3)である。
【図14】車名を特定する手順を示す図(その4)である。
【図15】車名を特定する手順を示す図(その5)である。
【図16】車名を特定する手順を示す図(その6)である。
【図17】車名を特定する手順を示す図(その7)である。
【図18】端末装置およびサーバを実現するためのコンピュータシステムのハードウェア構成を示す図である。
【発明を実施するための形態】
【0014】
図1は、実施形態の画像認識システムの構成および機能を示す図である。実施形態の画像認識システムは、端末装置1およびサーバ2を有する。端末装置1およびサーバ2は、ネットワーク3を介して接続されている。ネットワーク3は、無線ネットワークであってもよいし、有線ネットワークであってもよい。また、ネットワーク3は、無線ネットワークおよび有線ネットワークを含む構成であってもよい。
【0015】
なお、図1においては、サーバ2に対して1台の端末装置1が接続されているが、サーバ2は、複数の端末装置を収容してもよい。すなわち、サーバ2は、複数の端末装置と並列に通信を行うようにしてもよい。
【0016】
端末装置1は、画像取得部11、記憶装置12、画像処理部13、通信部14、要求処理部15を有する。そして、端末装置1は、カメラ31によって撮影された画像を取得する。
【0017】
カメラ31は、静止画像を取得するデジタルカメラまたは動画像を取得するデジタルビデオカメラである。また、カメラ31は、カラー画像データを生成してもよいし、白黒画像データを生成してもよい。
【0018】
画像取得部11は、カメラ31により生成される画像を取得する。すなわち、画像取得部11は、カメラ31と端末装置1との間のインタフェースを提供する。そして、画像取得部11は、カメラ31から取得した画像を記憶装置12に保存する。ここで、カメラ31が静止画像を出力するときは、画像取得部11は、カメラ31から取得する画像を記憶装置12に保存する。また、カメラ31が動画像を出力するときは、画像取得部11は、動画像中の指定されたタイミングの画像を記憶装置12に保存してもよい。なお、以下の説明では、画像取得部11がカメラ31から取得する画像を「入力画像」と呼ぶことがある。
【0019】
記憶装置12は、画像取得部11により取得された画像を保存する。記憶装置12は、例えば、フラッシュメモリ等の半導体メモリにより実現される。また、記憶装置12は、ハードディスク、光ディスク等の他の記録媒体で実現してもよい。なお、記憶装置12の記録媒体は、端末装置1に対して着脱可能であってもよい。
【0020】
画像処理部13は、記憶装置12に保存されている入力画像から加工画像を生成する。ここで、画像処理部13は、予め指定されている規則に基づいて、入力画像から加工画像を生成することができる。また、端末装置1がサーバ2から要求情報を受信したときは、画像処理部13は、その要求情報に基づいて、入力画像から加工画像を生成する。
【0021】
通信部14は、画像処理部13によって生成される加工画像をサーバ2へ送信する。また、通信部14は、サーバ2から送信される要求情報を要求処理部15に導く。さらに、通信部14は、サーバ2により得られる画像認識の結果を受信する。
【0022】
要求処理部15は、サーバ2から送信される要求情報に基づいて、画像処理部13に対して指示を与える。これにより、画像処理部13は、サーバ2から送信される要求情報に基づいて、入力画像から加工画像を生成できる。すなわち、画像処理部13は、サーバ2から要求される画像を生成することができる。
【0023】
サーバ2は、通信部21、認識部22、データベース23、不足情報判断部24、要求部25を有する。なお、サーバ2は、データベース23を含まなくてもよい。すなわち、データベース23は、サーバ2の外部に設けてもよい。この場合、サーバ2は、所定のインタフェースでデータベース23にアクセスするものとする。
【0024】
通信部21は、端末装置1から送信されてくる画像(すなわち、画像処理部13によって生成される加工画像)を認識部22に導く。また、通信部21は、要求部25により生成される要求情報を端末装置1へ送信する。さらに、通信部21は、認識部22による認識結果を端末装置1へ送信する。
【0025】
認識部22は、端末装置1から受信した画像に対して認識処理を行う。このとき、認識部22は、必要に応じて、受信画像とデータベース23に登録されている画像データとを照合する。データベース23には、用途に応じて様々な画像データが登録されている。データベース23に登録されている画像データは、必要に応じて更新される。そして、認識部22は、認識結果を出力する。
【0026】
不足情報判断部24は、認識部22による認識処理において不足している情報を判断する。すなわち、不足情報判断部24は、認識部22が認識処理を成功させるために必要な情報を特定する。
【0027】
要求部25は、不足情報判断部24による判断結果に対応する画像を表す要求情報を生成する。この要求情報は、上述のように、通信部21によって端末装置1へ送信される。すなわち、要求部25は、不足情報判断部24による判断結果に対応する画像を端末装置1に要求する。
【0028】
上述のように、実施形態の画像認識システムでは、端末装置1からサーバ2へ画像が送信され、サーバ2が認識処理を行う。すなわち、サーバ2は、画像認識装置として動作することができる。ここで、仮に、端末装置1がカメラ31からの入力画像をそのままサーバ2へ送信するものとすると、認識処理において必要な情報だけでなく、認識処理に無関係な情報も端末装置1からサーバ2へ伝送される可能性が高い。この場合、端末装置1からサーバ2へ伝送されるデータ量が多くなり、認識レスポンスが遅くなるおそれがある。このため、認識レスポンスを向上させるためには、認識処理に無関係な情報の伝送を抑制し、認識処理に必要な情報のみを伝送する方式が好ましい。しかし、端末装置1は、サーバ2による認識処理において、どのような情報が必要であり、どのような情報が不要であるのかを判断することは困難である。
【0029】
そこで、実施形態の画像認識システムでは、下記の2つの処理を採用することにより、1回あたりの通信負荷を下げて認識完了までのレスポンスの向上を図る。ただし、画像認識システムは、下記(1)(2)の一方のみを行うようにしてもよい。
【0030】
(1)対話的なやり取りによる必要情報のみの伝送
サーバ2は、目標とする物体を認識または特定するために不足している情報(または、画像)を判断し、端末装置1にその情報(または、画像)の抽出および伝送を要求する。端末装置1は、サーバ2からの要求に基づいて不足情報(特徴量)を生成または抽出し、生成または抽出した情報のみをサーバ2へ送信する。この対話的なやり取りにより、認識処理に不要な情報の伝送が抑制される。
【0031】
(2)高次特徴量への変換
端末装置1は、入力画像を高次特徴量へ変換してサーバ2へ送信する。これにより、1回あたりのデータ伝送の情報量が削減される。この結果、サーバ2からのレスポンスの高速化が実現され、帯域の狭い上り回線の通信負荷が軽減される。
【0032】
図2は、実施形態の画像認識システムにおける画像認識処理の概略を示す。実施形態の画像認識システムにおいては、端末装置1からサーバ2へ画像が送信され、サーバ2において画像認識が行われる。なお、図2では、端末装置1の記憶装置12に入力画像が既に格納されているものとする。また、サーバ2は、端末装置1から受信する画像内に映っている物体を所定のレベルまで認識する画像認識処理を行うものとする。
【0033】
最初(1回目)の認識処理において、端末装置1は、初期画像として、入力画像からその入力画像よりも情報量の少ない特徴画像を生成する。特徴画像は、例えば、入力画像のエッジ画像である。エッジ画像は、例えば、入力画像に対してSobelフィルタ演算を実行することにより生成される。また、特徴画像は、入力画像の縮小エッジ画像であってもよい。そして、端末装置1は、生成した特徴画像をサーバ2へ送信する。なお、端末装置1は、初期画像として、入力画像の縮小画像をサーバ2へ送信してもよい。
【0034】
サーバ2は、端末装置1から受信する画像に対して認識処理を行う。ただし、1回目の認識処理で端末装置1から受信する画像は、データ量を抑制するために入力画像よりも情報量が削減された特徴画像である。このため、この特徴画像に対して認識処理を実行した場合、所望の認識結果が得られない可能性がある。図2に示す例では、サーバ2は、上述の特徴画像に対する認識処理では、画像内に映っている物体を所定のレベルまで認識できなかったものとする。
【0035】
この場合、サーバ2は、認識処理において不足している情報(すなわち、画像内に映っている物体を所定のレベルまで認識するために必要な情報)を特定し、認識処理に必要な画像の送信を端末装置1に要求する。以降、画像認識システムは、2回目の認識処理に移行する。
【0036】
なお、サーバ2が上述の特徴画像から画像内に映っている物体を所定のレベルまで認識できたときは、サーバ2は認識処理を終了する。この場合、サーバ2は、認識結果を端末装置1へ送信する。
【0037】
2回目の認識処理において、端末装置1は、サーバ2からの要求に基づいて、サーバ2による認識処理において不足している情報を提供する。すなわち、端末装置1は、サーバ2から要求された画像を生成してサーバ2へ送信する。
【0038】
サーバ2は、上述の要求に応じて端末装置1が新たに生成した画像を受信すると、その画像に対して認識処理を行う。この例では、サーバ2は、2回目の認識処理によっても、画像内に映っている物体を所定のレベルまで認識できなかったものとする。この場合、サーバ2は、1回目の認識処理と同様に、認識処理において不足している情報を特定する。ただし、2回目の認識処理で特定される不足情報は、1回目の認識処理で特定される不足情報とは異なる。そして、サーバ2は、2回目の認識処理で特定された、認識処理に必要な画像の送信を端末装置1に要求する。以降、画像認識システムは、3回目の認識処理に移行する。
【0039】
3回目以降の認識処理は、2回目の認識処理と実質的に同じである。ただし、各認識処理においてサーバ2が端末装置1に要求する画像は、互いに異なっている。よって、各認識処理において端末装置1がサーバ2へ送信する画像は、互いに異なっている。
【0040】
上述の認識処理は、画像内に映っている物体が所定のレベルまで認識されるまで、端末装置1およびサーバ2によって繰り返し実行される。すなわち、端末装置1およびサーバ2は、画像内に映っている物体が所定のレベルまで認識されるまで、サーバ2から端末装置1へ必要な画像を要求する手順、端末装置1がサーバ2からの要求に対応する画像を生成してサーバ2へ送信する手順、サーバ2が新たに受信した画像に対して認識処理を行う手順、を含む対話処理を繰り返し行う。
【0041】
図2に示す例では、N回目の認識処理で、画像内に映っている物体が所定のレベルまで認識されている。そうすると、サーバ2は、認識結果を端末装置1へ送信する。これにより、端末装置1は、入力画像についての認識結果をサーバ2から受け取ることができる。
【0042】
このように、実施形態の画像認識方法では、端末装置1は、最初の認識処理において、入力画像よりも情報量の少ない特徴画像をサーバ2へ送信する。また、2回目以降の認識処理では、端末装置1は、先の認識処理で不足していると判断された最小限の情報量の画像をサーバ2へ送信する。したがって、入力画像をそのままサーバ2へ送信する方法と比較して、実施形態の画像認識方法は、端末装置1からサーバ2へ伝送されるデータ量が抑制される。
【0043】
ここで、特に無線ネットワークでは、下り回線(サーバ2から端末装置1へデータを伝送する回線)と比較して、上り回線(端末装置1からサーバ2へデータを伝送する回線)の容量が大幅に小さいことが多い。そして、このようなネットワークでは、上り回線のデータ量が増大すると、画像認識システムのレスポンスが劣化するおそれがある。
【0044】
しかしながら、実施形態の画像認識方法によれば、上述のように、端末装置1からサーバ2へ伝送されるデータ量が抑制される。よって、実施形態の画像認識方法によれば、特に、下り回線と比較して上り回線の容量が小さいシステムにおいて、画像認識システムのレスポンスが改善される。
【0045】
図3は、実施形態の画像認識システムにおける画像認識処理の実施例を示す。この実施例では、端末装置1は、自動車などの車両に搭載されている。また、図1に示すカメラ31も同じ車両に搭載されている。カメラ31は、その車両の周辺の画像を取得する。そして、端末装置1は、カメラ31から入力される画像の中に映っている物体(主に、他の車両)を認識する処理をサーバ2に依頼する。
【0046】
図4は、入力画像の一例を示す。この入力画像は、カメラ31が駐車場を撮影することにより得られたものである。また、この入力画像の中には、1台の車両が映っている。そして、この入力画像は、図1に示す記憶装置12に記憶されている。
【0047】
端末装置1は、図4に示す入力画像から図5(a)に示す縮小エッジ画像を生成する。縮小エッジ画像は、画像処理部13により生成される。このとき、画像処理部13は、入力画像を縮小する処理を実行した後に、その縮小画像のエッジ画像を生成することができる。或いは、画像処理部13は、入力画像のエッジ画像を生成する処理を実行した後に、そのエッジ画像を縮小してもよい。なお、縮小率は、予め指定されているものとする。また、エッジ画像は、例えば、X方向SobelフィルタおよびY方向Sobelフィルタを利用して生成される。各Sobelフィルタのサイズおよび係数も、予め指定されているものとする。このようにして生成される縮小エッジ画像のデータ量は、入力画像と比較して大幅に少ない。そして、端末装置1の送信部14は、上述のようにして生成された縮小エッジ画像をサーバ2へ送信する。
【0048】
サーバ2は、上述の縮小エッジ画像を端末装置1から受信する。そうすると、図1に示す認識部22は、受信した縮小エッジ画像に対して認識処理を行う。そして、この実施例では、認識部22は、図5(a)に示す縮小エッジ画像に対して認識処理を行うことにより、画像内に車両が存在している可能性が高いと判定する。なお、エッジ画像内に車両が存在するか否かを判定する方法は、特に限定されるものではなく、公知のアルゴリズムを利用してもよい。例えば、認識部22は、略水平方向に伸びる複数のエッジおよび略垂直方向に伸びる複数のエッジの組合せに基づいて、車両の存在を推定してもよい。
【0049】
ただし、この実施例では、認識部22は、縮小エッジ画像から車両の車種および車名までは認識できないものとする。そうすると、図1に示す不足情報判断部24は、画像内に映っている車両の車種および車名を認識するために必要な情報を特定する。この実施例では、認識部22は、画像内に映っている車両の向き(正面、横、斜め、後ろ)を推定するために、車両の下端部の画像を使用するものとする。この場合、不足情報判断部24は、「車両の下端部の画像が不足している」と判断する。
【0050】
そうすると、要求部25は、端末装置1に対して、画像内に映っている車両の下端部の画像を要求する。このとき、要求部25は、例えば、要求情報を利用して、車両の下端部を含む矩形領域を指定する。この矩形領域は、情報量を少なくするためには、例えば、車両の下端部を含む最小の矩形である。図4に示す例では、要求部25は、矩形R1を指定する。この場合、要求情報は、矩形領域の位置およびサイズを特定する座標情報を含む。そして、サーバ2は、この要求情報を端末装置1へ送信する。すなわち、サーバ2は、画像内に映っている車両の車種および車名を認識するために必要な画像を端末装置1に要求する。
【0051】
端末装置1は、サーバ2から上述の要求情報を受信すると、図4に示す入力画像から、その要求情報で指定されている画像を抽出する。すなわち、画像処理部13は、入力画像から矩形R1の内側の画像を抽出することにより、車両の下端部を含む図5(b)に示す部分画像を生成する。そして、端末装置1は、車両の下端部を含む部分画像をサーバ2へ送信する。
【0052】
サーバ2は、車両の下端部を含む部分画像を端末装置1から受信する。そうすると、認識部22は、受信した部分画像に対して認識処理を行う。そして、この実施例では、認識部22は、車両の下端部を含む部分画像に対して認識処理を行うことにより、画像内に映っている車両の向きを推定する。
【0053】
車両の下端部を含む画像を利用する場合、車両の向きに対応するパーツ(エンブレム、フロントグリル、ナンバープレート、ライト、タイヤ、ドアなど)を検出することで、車両の向きを推定することができる。例えば、ナンバープレートおよび/またはタイヤを検出することで車両の向きが推定される。ナンバープレートは、車両の前方および後方にのみ存在するので、横方向に長辺を有する略矩形(すなわち、ナンバープレート)を検出することで、車両の大まかな向き(前向き、後向き、斜め)を推定できる。また、車両を側方から見たときに、タイヤは略円または略楕円に見えるので、そのような形状(すなわち、タイヤ)を検出することで車両の大まかな向き(横向き、斜め)を推定できる。すなわち、タイヤが検出されずにナンバープレートが検出されたときは、車両の向きは前向きまたは後向きと推定される。また、ナンバープレートが検出されずにタイヤが検出されたときは、車両の向きは横向きと推定される。さらに、ナンバープレートおよびタイヤが検出されたときは、車両の向きは斜向きと推定される。
【0054】
このようにして、サーバ2は、車両の下端部を含む部分画像に基づいて、画像内に映っている車両の向きを推定する。しかし、この実施例では、認識部22は、未だ車両の車種および車名までは認識できないものとする。そうすると、不足情報判断部24は、画像内に映っている車両の車種および車名を認識するために必要な別の情報を特定する。この実施例では、認識部22は、画像内に映っている車両の車種および車名を認識するために、車両の中央部の画像を使用するものとする。この場合、不足情報判断部24は、「車両の中央部の画像が不足している」と判断する。
【0055】
そうすると、要求部25は、端末装置1に対して、画像内に映っている車両の中央部の画像を要求する。このとき、要求部25は、例えば、要求情報を利用して、車両の中央部を含む矩形領域を指定する。この矩形領域は、情報量を少なくするためには、例えば、車両の中央部を含む最小の矩形である。図4に示す例では、要求部25は、矩形R2を指定する。この場合も、要求情報は、矩形領域の位置およびサイズを特定する座標情報を含む。そして、サーバ2は、この要求情報を端末装置1へ送信する。すなわち、サーバ2は、画像内に映っている車両の車種および車名を認識するために必要な別の画像を端末装置1に要求する。
【0056】
端末装置1は、サーバ2から上述の要求情報を受信すると、図4に示す入力画像から、その要求情報で指定されている画像を抽出する。すなわち、画像処理部13は、入力画像から矩形R2の内側の画像を抽出することにより、車両の中央部を含む図5(c)に示す部分画像を生成する。そして、端末装置1は、車両の下端部を含む部分画像をサーバ2へ送信する。
【0057】
サーバ2は、車両の中央部を含む部分画像を端末装置1から受信する。そうすると、認識部22は、受信した部分画像に対して認識処理を行う。そして、この実施例では、認識部22は、車両の中央部を含む部分画像に対して認識処理を行うことにより、画像内に映っている車両の車種、製造メーカー、車名を特定できるものとする。
【0058】
ここで、先の画像処理によって、画像内に映っている車両の車種および向きが特定されている場合について考える。例えば、車種が「セダン」であるものとする。この場合、車両の前面には、エンブレムが取り付けられていることが多い。よって、車両の向きが「前向き」であるときは、エンブレムに基づいて製造メーカーを特定できる可能性が高い。また、車両の後方部分には、車名(型名)が表示されていることが多い。よって、車両の向きが「後向き」であるときは、画像に対して文字認識を行うことで、車名(型名)を特定できる可能性が高い。
【0059】
このようにして、サーバ2は、車両の中央部を含む部分画像に基づいて、画像内に映っている車両の車種、製造メーカー、車名を特定する。そうすると、サーバ2は、その認識結果を端末装置1へ送信する。
【0060】
図6は、サーバ2が端末装置1に対して画像を要求するために使用する要求情報の実施例を示す。要求情報は、「認識完了フラグ」「画像タイプ」「処理範囲」「縮小率」を含む。また、要求情報は、不足情報判断部24の判断結果に基づいて、要求部25により作成される。
【0061】
認識完了フラグは、認識部22による認識処理が終了したか否かを表す。認識部22において所定の認識結果が得られたときは「認識完了フラグ=1」が生成され、所定の認識結果が得られていないときは「認識完了フラグ=0」が生成される。図3〜図5に示す例では、画像内に映っている車両の車名が特定されたときに、認識処理が終了したと判定される。
【0062】
画像タイプ情報は、サーバ2が認識処理において必要とする画像のタイプを表す。この実施例では、サーバ2が原画像(カラー画像)を要求するときは「画像タイプ=0」が設定され、グレー画像を要求するときは「画像タイプ=1」が設定され、エッジ画像を要求するときは「画像タイプ=2」が設定される。
【0063】
処理範囲情報は、サーバ2が認識処理において必要とする画像の範囲(すなわち、画像領域)を表す。この実施例では、処理範囲情報は、矩形領域のサイズおよび位置を指定できる。この場合、処理範囲情報は、例えば、要求する矩形画像領域の左上頂点および右下頂点の座標を指定する。或いは、処理範囲情報は、要求する矩形画像領域の4つの頂点の座標を指定してもよい。なお、サーバ2が端末装置1に要求できる画像領域の形状は、矩形に限定されるものではない。
【0064】
縮小率情報は、サーバ2が認識処理において必要とする画像のサイズを表す。指定可能な縮小率は、例えば、原画像の1/2、1/4等である。ただし、縮小率情報は、0〜100パーセントの範囲で任意の縮小率を指定できるようにしてもよい。
【0065】
なお、要求情報は、他の情報を含んでもよい。例えば、要求情報は、エッジ画像を生成するためのフィルタの係数を指定する情報、エッジの種類(例えば、斜め方向のエッジが抽出されたエッジ画像)を指定する情報を含むようにしてもよい。
要求情報は、サーバ2から端末情報1へ送信される。そうすると、端末装置1の画像処理部13は、その要求情報に応じて加工画像を生成する。
【0066】
図7は、画像処理部13の機能を説明する図である。画像処理部13は、画像メモリ41、グレー画像生成部42、エッジ画像生成部43、領域抽出部44、画像縮小部45を有する。そして、画像処理部13は、記憶装置12から入力画像を取得する。この入力画像(すなわち、原画像)は、いったん画像メモリ41に格納される。
【0067】
サーバ2からグレー画像が要求されたときは、グレー画像生成部42は、画像メモリ41に格納されているカラー画像からグレー画像を生成する。グレー画像生成部42により生成されたグレー画像は、画像メモリ41に格納される。
【0068】
サーバ2からエッジ画像が要求されたときは、エッジ画像生成部43は、画像メモリ41に格納されている画像からエッジ画像を生成する。ここで、エッジ画像生成部43は、X方向Sobelフィルタ43xおよびY方向Sobelフィルタ43yを有する。すなわち、エッジ画像生成部43は、水平方向エッジ画像および垂直方向エッジ画像を生成することができる。そして、エッジ画像生成部43により生成されたエッジ画像は、画像メモリ41に格納される。
【0069】
サーバ2から受信する要求情報において処理範囲情報が設定されているときは、領域抽出部44は、画像メモリ41に格納されている画像から、指定された処理範囲内の画像を抽出する。領域抽出部44により抽出された画像(すなわち、部分画像)は、画像メモリ41に格納される。
【0070】
サーバ2から受信する要求情報において縮小率情報が設定されているときは、画像縮小部45は、指定されている縮小率に応じて画像メモリ41に格納されている画像を縮小する。画像縮小部45により生成される縮小画像は、画像メモリ41に格納される。
【0071】
画像処理部13は、グレー画像生成部42、エッジ画像生成部43、領域抽出部44、または画像縮小部45によって生成された加工画像を出力する。ただし、画像処理部13は、グレー画像生成部42、エッジ画像生成部43、領域抽出部44、画像縮小部45のうちの2以上を利用して生成した加工画像を出力することもできる。例えば、サーバ2から縮小エッジ画像が要求されたときは、画像処理部13は、エッジ画像生成部43および画像縮小部45を利用して要求された画像を生成する。このとき、例えば、エッジ画像生成部43が入力画像からエッジ画像を生成し、その後、画像縮小部45がそのエッジ画像から縮小エッジ画像を生成する。あるいは、画像縮小部45が入力画像から縮小画像を生成し、その後、エッジ画像生成部43がその縮小画像から縮小エッジ画像を生成してもよい。
【0072】
このように、画像処理部13は、サーバ2から受信する要求情報に従って、入力画像から加工画像を生成する。すなわち、画像処理部13は、サーバ2から要求された画像を生成する。そして、端末装置1は、画像処理部13により生成された加工画像(すなわち、サーバ2から要求された画像)をサーバ2へ送信する。
【0073】
図8は、実施形態の画像認識システムにおいて端末装置1の動作を示すフローチャートである。このフローチャートの処理は、例えば、画像認識を開始する旨の指示が端末装置1に与えられときに実行される。画像認識を開始する旨の指示は、例えば、ユーザにより与えられる。
【0074】
ステップS1において、画像処理部13は、記憶装置12から入力画像を取得する。なお、記憶装置12には、この時点で、カメラ31によって生成された画像が格納されているものとする。
【0075】
ステップS2において、要求処理部15は、端末装置1がサーバ2から要求情報を受信しているか否かを判定する。端末装置1がサーバ2から要求情報を受信していなければ、端末装置1の処理はステップS3へ移行する。一方、端末装置1がサーバ2から要求情報を受信していれば、端末装置1の処理はステップS4へ移行する。なお、このフローチャートの処理が開始された直後の初期動作状態においては、端末装置1はサーバ2から要求情報を受信していないので、ステップS3の処理が実行される。
【0076】
ステップS3において、画像処理部13は、予め指定されている規則に従って、入力画像から初期画像を生成する。この規則は、例えば、サーバ2から指定される。或いは、この規則は、端末装置1とサーバ2との間のネゴシエーションで決定してもよい。一例としては、「画像タイプ=2(エッジ画像)」および「縮小率=1/4」が指定されている。この場合、画像処理部13は、入力画像から1/4に縮小されたエッジ画像を生成する。
【0077】
端末装置1がサーバ2から要求情報を受信していれば、ステップS4の処理が実行される。ステップS4において、要求処理部15は、受信した要求情報に従って、画像処理部13に対して加工画像の生成方法の規則を与える。そして、画像処理部13は、要求処理部15から与えられる規則に従って、入力画像から加工画像を生成する。例えば、サーバ2からの要求情報において「処理範囲」が設定されていたときは、画像処理部13は、入力画像から、要求情報に設定されている処理範囲の内側の画像を抽出することにより、サーバ2から要求された画像を生成する。
【0078】
ステップS5において、通信部14は、ステップS3またはS4で画像処理部13によって生成された画像をサーバ2へ送信する。すなわち、最初の認識処理では、通信部14は、ステップS3で生成される初期画像をサーバ2へ送信する。また、2回目以降の認識処理では、通信部14は、サーバ2からの要求に応じてステップS4で生成された画像をサーバ2へ送信する。
【0079】
サーバ2は、端末装置1から受信する画像に対して認識処理を実行する。そして、サーバ2は、認識処理の状況または結果に応じて要求情報を作成し、その要求情報を端末装置1へ送信する。
【0080】
ステップS6〜S7において、端末装置1は、サーバ2から要求情報を受信する。要求情報は、要求処理部15により解釈される。そして、認識完了フラグが「1:完了」であれば、端末装置1の処理は終了する。なお、図8においては省略されているが、認識完了フラグが「1:完了」であるときは、端末装置1は、サーバ2から認識結果も受信する。一方、認識完了フラグが「0:未完了」であれば、端末装置1の処理はステップS4に移行する。
【0081】
このように、端末装置1は、ステップS3、S5で初期画像を送信する。その後は、端末装置1は、サーバ2での認識処理が完了するまで、ステップS4〜S7の処理を繰り返し実行する。すなわち、端末装置1は、サーバ2から画像を要求される毎に、要求された画像を生成してサーバ2へ送信する。
【0082】
図9は、実施形態の画像認識システムにおいてサーバ2の動作を示すフローチャートである。このフローチャートの処理は、例えば、サーバ2が端末装置1から画像認識の依頼を受け取ったときに実行される。
【0083】
ステップS11において、通信部21は、端末装置1から画像を受信する。このとき、サーバ2は、図8のステップS3またはS4で生成された画像を受信する。
ステップS12〜S13において、認識部22は、端末装置1から受信する画像に対して認識処理を実行する。このとき、認識部22は、必要に応じてデータベース23との照合を行ってもよい。そして、認識処理が完了していなければ、サーバ2の処理はステップS14へ移行する。一方、認識処理が完了したときは、サーバ2の処理はステップS16へ移行する。例えば、図3に示す実施例では、画像認識処理は、画像内に映っている車両の車種および車名を特定することを目的としている。この場合、画像内に映っている車両の車種および車名が特定されたときに、認識処理が完了したと判定される。
【0084】
ステップS14において、不足情報判断部24は、認識部22による認識処理で不足している情報を判断する。すなわち、不足情報判断部24は、認識処理を完了させるためにどのような画像が必要であるのかを判断する。例えば、図3に示す実施例では、「車両の下端部の画像が不足している」あるいは「車両の中央部の画像が不足している」と判断されている。
【0085】
ステップS15において、要求部25は、不足情報判断部24による判断結果に基づいて、不足している情報を端末装置1に要求する。すなわち、サーバ2は、認識処理を完了させるために必要な画像を端末装置1に要求する。この要求は、図6に示す要求情報を端末装置1へ送信することにより実現される。
【0086】
端末装置1は、サーバ2から要求情報を受信すると、図8を参照しながら説明したように、要求された画像を生成してサーバ2へ送信する。そして、サーバ2は、その画像を受信する。すなわち、サーバ2の処理は、ステップS15を実行した後、ステップS11に戻ることになる。
【0087】
認識部22による認識処理が完了したときは(ステップS13:YES)、ステップS16の処理が実行される。ステップS16において、サーバ2は、認識部22による認識結果を端末装置1へ送信する。このとき、サーバ2は、認識結果に加えて、「完了フラグ=1(完了)」が設定された要求情報を端末装置1へ送信する。
【0088】
このように、サーバ2は、端末装置1から画像を受信する毎に、その画像に対して認識処理を行う。そして、認識処理が完了しなかったときは、サーバ2は、認識処理を完了させるために必要な画像を端末装置1に要求する。すなわち、サーバ2は、認識処理が完了するまで、ステップS11〜S15を繰り返し実行することにより、端末装置1に対して必要な画像を要求する。
【0089】
このとき、サーバ2は、例えば、認識処理に必要な最小限の画像を要求する。そして、端末装置1は、実質的に、要求された画像のみをサーバ2へ送信する。したがって、端末装置1からサーバ2へ伝送されるデータ量は、入力画像をそのまま伝送する方式と比較して、大幅に削減される。この結果、画像認識システムのレスポンスが向上する。
【0090】
<実施例>
以下の実施例では、画像認識システムは、カメラで撮影した車両の車名を特定してCG画像に置き換えるアプリケーションにおいて使用される。具体的には、自車両の前後左右に広角カメラをそれぞれ取り付け、それら4台のカメラの画像を1枚の画像に合成して表示することで、360度の全周囲の状況を把握できる駐車支援システムを想定する。ここで、360度の全周囲の状況を提供するために、例えば、合成した画像は、自車両の真上から見た画像(俯瞰映像)に変換される。このとき、俯瞰映像は、4台のカメラの画像を2次元平面上に画像変換・合成することで作成されるため、自車両の周辺にある物体は引き伸ばされてしまう。このため、そのような画像をそのまま表示すると、他車両の存在が視覚的に分かりにくくなり、自車両に対する他車両の位置関係の把握が困難になる。そこで、この実施例の駐車支援システムにおいては、画像変換によって引き伸ばされた車両の画像が、CG画像に置き換えられる(または、重畳して表示される)。
【0091】
原画像内に映っている車両の画像をCG画像に置き換えるためには、その車両の車名を特定する必要がある。ここで、画像内に映っている車両の車名を特定する場合、2つの方式が考えられる。第1の方式は、自車両に搭載されている端末装置がすべての画像認識処理を行う。第2の方式は、自車両に搭載されている端末装置がサーバに画像認識処理を依頼する。
【0092】
第1の方式によれば、通信処理が発生しないので、認識レスポンスは高速である。しかし、第1の方式においては、車種および車名を特定するために必要な膨大なデータを端末側に記憶する必要がある。また、車両のモデルチェンジ等に対応して端末側でデータを更新する必要があり、ユーザにとって煩雑である。
【0093】
第2の方式においては、画像照合のための膨大なデータの記憶、および車両のモデルチェンジ等への対応は容易である。しかし、第2の方式では、車両に搭載されている端末装置とサーバとの間で無線通信が行われる。ここで、画像はデータ容量が大きく、また、一般的に無線通信では上り回線の通信容量が小さい。このため、端末装置とサーバとの間での無線通信に要する時間が長くなり、認識レスポンスが低下するおそれがある。そこで、本発明の実施形態の方法を上述の駐車支援システムに適用することで、第2の方式の課題を解決または緩和して、認識レスポンスを向上させる。
【0094】
図10は、車両を認識する実施例においてサーバ2の動作を示すフローチャートである。このフローチャートの処理は、例えば、サーバ2が端末装置1から画像認識の依頼を受け取ったときに実行される。
【0095】
ステップS21において、通信部21は、端末装置1から画像を受信する。このとき、サーバ2は、端末装置1において生成された加工画像を受信する。なお、サーバ2が端末装置1から最初に受信する初期画像は、例えば、カメラ31からの入力画像の縮小エッジ画像である。
【0096】
ステップS22〜S23において、認識部22は、端末装置1から受信した画像内に車両が存在するか否かを判定する。このとき、認識部22は、例えば、図4を参照しながら説明したように、略水平方向に伸びる複数のエッジおよび略垂直方向に伸びる複数のエッジの組合せに基づいて、車両の存在を推定することができる。
【0097】
画像内に車両が存在する可能性が高いと判定されたときは、サーバ2の処理はステップS24へ進む。一方、画像内に車両が存在する可能性が低いと判定されたときは、実際に車両が存在しないケースだけでなく、画像の情報量が足りないために車両を検出できないケースも考えられる。よって、サーバ2は、ステップS28において、端末装置1に対して不足情報を要求する。この場合、サーバ2は、検出可能性の度合いに応じて、縮小率および処理範囲などを変更した画像を要求してもよい。
【0098】
ステップS24〜S25において、認識部22は、端末装置1から受信した画像内に映っている車両の向きを推定する。そして、車両の向きが特定されたときは、サーバ2の処理はステップS26へ進む。一方、車両の向きを特定できなかったときは、サーバ2は、ステップS28において、端末装置1に対して不足情報を要求する。ここで、認識部22は、例えば、図4を参照しながら説明したように、車両の向きに対応するパーツ(エンブレム、フロントグリル、ナンバープレート、ライト、タイヤ、ドアなど)を検出することで、車両の向きを推定できる。したがって、サーバ2は、先に受信している画像から車両の向きを特定できなかったときは、車両のエンブレム、フロントグリル、ナンバープレート、ライト、タイヤ、ドアなどを検出するために、端末装置1に対して車両の下端部の画像を要求する。
【0099】
ステップS26〜S27において、認識部22は、データベース23を利用して、端末装置1から受信した画像内に映っている車両の車名を特定する処理を行う。そして、車名を特定できたときは、サーバ2は、ステップS29において、認識結果として、特定した車名に対応するCG画像を端末装置1へ送信する。このとき、サーバ2は、認識処理が完了したことを表すメッセージも端末装置1へ送信する。このメッセージは、図6に示す認識完了フラグにより実現される。
【0100】
一方、車両の車名を特定できなかったときは、サーバ2は、ステップS28において、端末装置1に対して不足情報を要求する。この場合、サーバ2は、例えば、縮小率が小さい画像(サイズが大きい画像)を端末装置1へ要求してもよい。
【0101】
なお、車両を正面から映した画像を取得したときは、認識部22は、エンブレム、フロントグリル、ナンバープレート、ライトなどに基づいて、車種および車名を特定することができる。また、車両を後方から映した画像を取得したときは、認識部22は、エンブレム、ナンバープレート、ライト、車両型番表示などに基づいて、車種および車名を特定することができる。さらに、車両を側方から映した画像を取得したときは、認識部22は、ドアの数(2ドア/4ドア)、ドアの形状などに基づいて、車種および車名を特定することができる。このように、車両の向きと、その車両の車種および車名を特定するために使用されるパーツとの間には、対応関係がある。すなわち、車種および車名を特定するためのパーツを検出する前に、車両の向きが特定されていれば、車種および車名を特定するためのパーツの検出が容易になる。よって、この実施例では、車種および車名を特定する前に、車両の向きが特定される。そして、この手順を採用することにより、車種および車名を特定する処理のレスポンスが向上する。
【0102】
サーバ2は、画像内に映っている車両の車名を特定できるまで、ステップS21〜S28の処理を繰り返し実行する。ただし、車両の存在が確認された後は、ステップS23〜S24の処理はスキップされる。また、車両の向きが特定された後は、ステップS23〜S26の処理はスキップされる。
【0103】
なお、画像認識処理の開始から所定時間内に車名を特定できなかったときは、サーバ2は、認識処理を終了して、その時点で得られている認識結果を端末装置1へ送信する。例えば、画像内に映っている車両の車種(例えば、セダン)まで特定されているときは、サーバ2は、データベース23から代表的なセダン型車両のCG画像を抽出して端末装置1へ送信する。また、端末装置1からカラー画像を受信したときは、サーバ2は、その画像内に映っている車両と同じ色をCG画像に付して、端末装置1へ送信してもよい。
【0104】
図11〜図17は、画像内に映っている車両の車名を特定する処理の一例を詳細に示す図である。この処理は、図10に示すステップS21〜S28に対応し、サーバ2により実行される。なお、車名を特定する処理の手順を記述した情報がデータベースに格納されており、サーバ2がその手順に従って車名を特定する場合には、図11〜図17は、そのデータベースの構造を示す。
【0105】
図11〜図17に示す実施例では、サーバ2は、端末装置1から初期画像として縮小エッジ画像を受信し、その初期画像に基づいて、画像内に車両が存在する可能性が高いと判定しているものとする。しがたって、以下では、図11に示すステップS31から説明を始める。
【0106】
ステップS31において、サーバ2は、ナンバープレートおよびタイヤを検出するために、車両の下端部を含む縮小エッジ画像を端末装置1に要求する。なお、ステップS31では、サーバ2は、先に受信した初期画像よりも解像度の高い縮小エッジ画像を要求するものとする。
【0107】
ステップS32において、サーバ2は、ステップS31の要求に対応する縮小エッジ画像を利用して車両の向きを推定する。ここで、タイヤが検出されずにナンバープレートが検出されたときは、サーバ2は、車両が「前向きまたは後向き」であると判定する。ナンバープレートが検出されずにタイヤが検出されたときは、サーバ2は、車両が「横向き」であると判定する。ナンバープレートおよびタイヤが検出されたときは、サーバ2は、車両が「斜め向き」であると判定する。
【0108】
ステップS32において車両の向きを特定できなかったときは、サーバ2は、ステップS33において、新たな画像を端末装置1に要求する。このとき、サーバ2は、ステップS31で要求した画像と同じ領域であり、且つ、縮小率の低い(すなわち、サイズの大きい)画像を端末装置1に対して要求する。そして、サーバ2は、ステップS33の要求に対応するエッジ画像を利用して、車両の向きを推定する。
【0109】
ステップS34においても車両の向きを特定できなかったときは、サーバ2は、ステップS35において、端末装置1に対して、異なる時刻に撮影された画像の縮小エッジ画像を要求する。すなわち、サーバ2は、異なる時刻に撮影された画像に対して認識処理を行う。
【0110】
ステップS32またはS34の処理で、車両が「前向きまたは後向き」であると判定されたときは、サーバ2の処理は、図12に示すステップS41へ進む。なお、車両が「横向き」または「斜め向き」と判定されたときの動作については、説明を省略する。
【0111】
ステップS41において、サーバ2は、先に受信している初期画像に対して、画像内に映っている車両の車種および向きを識別する処理を実行する。ここで、車両の外観から車種を識別する方法としては、例えば、車両の外観画像とモデル画像との一致度によって判断する方法が考えられる。この場合、データベース23には、例えば、モデル画像としてセダン、ワゴン、バン、トラック、バス、軽車両などの画像が登録されている。また、認識部22は、車両の外観画像と各モデル画像との一致度を算出する。そして、車両の外観画像との一致度が最も高く、且つ、その一致度が所定の閾値(例えば、75%)よりも高いモデル画像に対応する車種が、画像内に映っている車両の車種と判定される。
【0112】
サーバ2は、車種を識別する処理において、車両が「前向き」であるか「後向き」であるかを合わせて判定してもよい。この場合、モデル画像として、セダン、ワゴン、バン、トラック、バス、軽車両について、それぞれ前方から見たときの画像および後方から見たときの画像をデータベース23に登録しておけばよい。
【0113】
ステップS41において車種および車両の向きを識別できなかったときは、ステップS42において、サーバ2は、端末装置1に対して、初期画像よりも縮小率の低いエッジ画像を要求する。そして、ステップS43において、サーバ2は、ステップS42の要求に対応するエッジ画像を利用して、車種および車両の向きを推定する。
【0114】
画像内に映っている車両がセダンであり、前向きであると判定されたときは、サーバ2の処理は図13に示すステップ51へ進む。画像内に映っている車両がセダンであり、後向きであると判定されたときは、サーバ2の処理は図15に示すステップ71へ進む。なお、画像内に映っている車両がセダンでなかったときの処理については、説明を省略する。また、ステップS41またはS43において車種および車両の向きを識別できなかったときは、サーバ2の処理は図16に示すステップS81へ進む。
【0115】
ステップS51において、サーバ2は、エンブレムを検出するために、端末装置1に対して、車両の中央部分のエッジ画像を要求する。ステップS52において、サーバ2は、ステップS51の要求に対応する画像からエンブレムを検出し、そのエンブレムから車両の製造メーカーを特定する。ここで、データベース23には、各製造メーカーのエンブレムのひな形画像が登録されているものとする。そして、認識部22は、受信画像から抽出したエンブレム画像と各ひな形画像とを対比することにより、画像内に映っている車両の製造メーカーを特定する。
【0116】
ステップS52において製造メーカーを特定できなかったときは、サーバ2は、ステップS53において、端末装置1に対して新たな画像を要求する。この場合、サーバ2は、ステップS51で要求した画像と同じ範囲で、縮小率の低い画像を要求する。そして、ステップS54において、サーバ2は、ステップS53の要求に対応する画像を利用して、車両の製造メーカーを特定する。
【0117】
ステップS54においても車両の製造メーカーを特定できなかったときは、ステップS55において、サーバ2は、端末装置1に対して、異なる時刻に撮影された画像の縮小エッジ画像を要求する。すなわち、サーバ2は、異なる時刻に撮影された画像に対して認識処理を行う。
【0118】
ステップS52またはS54で車種および製造メーカーを特定した後、サーバ2の処理は図14のステップS61へ進む。ステップS61において、サーバ2は、フロントグリルを検出するために、端末装置1に対して、車両の中央部から下端部にかけての縮小エッジ画像を要求する。そして、ステップS62において、認識部22は、ステップS61の要求に対応する画像から、フロントグリルに存在する文字列(アルファベット、数字など)を認識することにより車名を特定する。
【0119】
ステップS62において車名を特定できなかったときは、サーバ2は、ステップS63において、端末装置1に対して新たな画像を要求する。この場合、サーバ2は、ステップS61で要求した画像と同じ範囲で、縮小率の低い画像を要求する。そして、ステップS64において、サーバ2は、ステップS63の要求に対応する画像を利用して車名を特定する。
【0120】
ステップS64においても車名を特定できなかったときは、サーバ2は、ステップS65において、端末装置1に対して、異なる時刻に撮影された画像のエッジ画像を要求する。すなわち、サーバ2は、異なる時刻に撮影された画像に対して認識処理を行う。
【0121】
画像内に映っている車両がセダンであり、後向きであると判定されたときは、サーバ2の処理は図15のステップ71へ進む。ステップS71において、サーバ2は、車両の型名の表示を検出するために、端末装置1に対して、型名の表示が存在すると見込まれる部分の縮小エッジ画像を要求する。なお、型名の表示が存在すると見込まれる位置は、例えば、ステップS41またはS43で特定された車種に基づいて推定される。そして、ステップS72において、認識部22は、ステップS71の要求に対応する画像に基づいて、車両の型名の表示を検出することにより車名を特定する。
【0122】
ステップS72において車名を特定できなかったときは、サーバ2は、ステップS73において、端末装置1に対して新たな画像を要求する。この場合、サーバ2は、ステップS71で要求した画像と同じ範囲で、縮小率の低い画像を要求する。そして、ステップS74において、サーバ2は、ステップS73の要求に対応する画像を利用して車名を特定する。
【0123】
ステップS74においても車名を特定できなかったときは、サーバ2は、ステップS75において、エンブレムを検出するために、端末装置1に対して、車両の中央部分のエッジ画像を要求する。以降の処理は、図13および図14を参照しながら説明した手順と実質的に同じなので、説明を省略する。
【0124】
ステップS41、S43で車種を特定できなかったときは、サーバ2の処理は図16に示すステップS81へ進む。ステップS81において、サーバ2は、ナンバープレートを検出するために、ナンバープレートが存在すると見込まれる領域の縮小エッジ画像および色情報を端末装置1へ要求する。そして、ステップS82において、認識部22は、ステップS81の要求に対応する画像からナンバープレートを検出し、さらに色情報を利用して車種を検出する。ここで、ナンバープレートに基づいて車種を識別する方法として、以下の3つが考えられる。なお、認識部22は、以下の3つの方法のいずれか1つまたは2以上の組合せにより車種を認識する。
【0125】
(a)ナンバープレートの分類番号
ナンバープレートの表示において、地名の右側に表記されている分類番号は、車両の用途(貨物、乗用、特種、大型特殊)および車両の大きさ(普通、小型)を意味する。たとえば、1シリーズは普通貨物車、3シリーズは普通乗用車、5シリーズは小型乗用車、8シリーズは特殊用途自動車を表す。よって、認識部22は、ナンバープレート上の数字を認識することで車種を特定できる。
【0126】
(b)ナンバープレートの色
ナンバープレートの下地、文字は、車種に応じて色が決められている。例えば、軽車両のナンバープレートは黄地に黒字、もしくは黒地に黄字と決められている。また、自動車のナンバープレートは白地に緑字、もしくは緑地、白字と決められている。よって、認識部22は、色情報(黄、黒、緑、白)に基づいて自動車と軽車両を識別できる。
【0127】
(c)ナンバープレートの大きさ
ナンバープレートの大きさは、大型標板、中型標板、小型標板に区別される。例えば、大型標板を有する車両は、大型トラック、大型バス、特殊車両などである。よって、ナンバープレートを検出し、その大きさを算出することで車種を推定することができる。
【0128】
ステップS82で車種を特定できなかったときは、サーバ2は、ステップS83において、端末装置1に対して新たな画像を要求する。この場合、サーバ2は、ステップS81で要求した画像と範囲で、縮小率の低い画像を要求する。そして、サーバ2は、ステップS84において、ステップS83の要求に対応する画像を利用して車種を特定する。
【0129】
ステップS84においても車種を特定できなかったときは、サーバ2は、ステップS85において、端末装置1に対して、異なる時刻に撮影された画像の縮小エッジ画像を要求する。すなわち、サーバ2は、異なる時刻に撮影された画像に対して認識処理を行う。
【0130】
ステップS82またはS84で車種を特定した後は、サーバ2は、ステップS91において、エンブレムを検出するために、端末装置1に対して、車両の中央部分のエッジ画像を要求する。以降の処理は、図13〜図14を参照しながら説明した手順と実質的に同じであり説明を省略する。さらに、サーバ2は、図15を参照しながら説明した手順を実行してもよい。
【0131】
このように、サーバ2は、図11〜図17に示す手順で、端末装置1から受信する画像に映っている車両の車名を特定する。このとき、サーバ2は、図11〜図17に示す手順を記述したプログラムを実行することにより、車名の特定を実現してもよい。あるいは、図11〜図17に示す手順を実現するための情報(すなわち、認識処理の状態および結果に応じた処理内容を指示する情報)をデータベース23に登録しておいてもよい。この構成においては、サーバ2は、データベース23を参照することで、車両のパーツの認識状態に応じた処理内容および端末側に要求する情報を知ることができるので、端末装置1とサーバ2との間で効率のよい対話的なやり取りが可能となる。この結果、サーバ2は、少ない情報量で車名を特定できるため、情報の伝送量の抑制および認識レスポンスの向上が可能となる。
【0132】
<画像認識装置のハードウェア構成>
図18は、端末装置1およびサーバ2を実現するためのコンピュータシステムのハードウェア構成を示す図である。端末装置1を実現するためのコンピュータシステムおよびサーバ2を実現するためのコンピュータシステムのハードウェア構成は、互いにほぼ同じである。よって、以下では、端末装置1を実現するためのコンピュータシステムおよびサーバ2を実現するためのコンピュータシステムを、コンピュータシステム100と呼ぶことにする。ただし、CPUの能力、メモリ/記憶装置の容量などは、端末装置1およびサーバ2において互いに異なっている。
【0133】
コンピュータシステム100は、図18に示すように、CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、および入出力装置107を備える。CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、入出力装置107は、例えば、バス108を介して互いに接続されている。
【0134】
端末装置1においては、CPU101は、メモリ102を利用して画像認識プログラムを実行することにより、画像処理部13および要求処理部15の一部または全部の機能を提供することができる。このとき、CPU101は、図8に示すフローチャートの処理を記述したプログラムを実行することができる。
【0135】
また、サーバ2においては、CPU101は、メモリ102を利用して画像認識プログラムを実行することにより、認識部22、不足情報判断部24、要求部25の一部または全部の機能を提供することができる。このとき、CPU101は、図9、図10、図11〜図17に示すフローチャートの処理を記述したプログラムを実行することができる。
【0136】
メモリ102は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。記憶装置103は、例えばハードディスクであり、実施形態の画像認識に係わる画像認識プログラムを格納する。なお、記憶装置103は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置103は、外部記録装置であってもよい。
【0137】
端末装置1においては、図1に示す記憶装置12は、メモリ102または記憶装置103により実現される。また、サーバ2においては、データベース23は、記憶装置103を利用して実現してもよい。
【0138】
読み取り装置104は、CPU101の指示に従って着脱可能記録媒体105にアクセスする。着脱可能記録媒体105は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。通信インタフェース106は、CPU101の指示に従ってネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス、デジタルカメラ等から画像データを受信するインタフェース、認識結果を出力するインタフェース等に相当する。
【0139】
実施形態の画像認識プログラムは、例えば、下記の形態でコンピュータシステム100に提供される。
(1)記憶装置103に予めインストールされている。
(2)着脱可能記録媒体105により提供される。
(3)プログラムサーバ110から提供される。
【0140】
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
端末装置が取得した画像をサーバにおいて認識する画像認識システムであって、
前記端末装置は、
入力画像から加工画像を生成する画像処理部と、
前記画像処理部によって生成される加工画像を前記サーバへ送信する通信部と、を有し、
前記サーバは、
前記端末装置から受信する加工画像に対して認識処理を行う認識部と、
前記認識部による認識処理において不足している情報を判断する不足情報判断部と、
前記端末装置に対して、前記不足情報判断部による判断結果に対応する画像を要求する要求部と、を有し、
前記画像処理部は、前記サーバからの要求に基づいて、前記入力画像から前記加工画像を生成する
ことを特徴とする画像認識システム。
(付記2)
前記画像処理部は、前記端末装置が前記サーバからの要求を受け取る前に、前記入力画像から前記入力画像よりも情報量の少ない第1の加工画像を生成し、
前記認識部は、前記第1の加工画像に対して認識処理を行い、
前記不足情報判断部は、前記認識部による前記第1の加工画像に対する認識処理において不足している情報を判断し、
前記要求部は、前記第1の加工画像に対する認識処理において不足している情報に対応する画像を前記端末装置に要求する
ことを特徴とする付記1に記載の画像認識システム。
(付記3)
前記第1の加工画像は、前記入力画像のエッジ画像である
ことを特徴とする付記2に記載の画像認識システム。
(付記4)
前記第1の加工画像は、前記入力画像の縮小画像である
ことを特徴とする付記2に記載の画像認識システム。
(付記5)
前記要求部は、前記不足情報判断部による判断結果に対応する範囲の画像を前記端末装置に要求する
ことを特徴とする付記1に記載の画像認識システム。
(付記6)
前記要求部は、前記不足情報判断部による判断結果に対応する画像タイプの画像を前記端末装置に要求する
ことを特徴とする付記1に記載の画像認識システム。
(付記7)
前記要求部は、前記不足情報判断部による判断結果に対応する縮小率の画像を前記端末装置に要求する
ことを特徴とする付記1に記載の画像認識システム。
(付記8)
前記画像処理部は、前記サーバからの要求に基づいて、前記入力画像から第2の加工画像を生成し、
前記認識部は、前記第2の加工画像に対して認識処理を行い、
前記不足情報判断部は、前記認識部による前記第2の加工画像に対する認識処理において不足している情報を判断し、
前記要求部は、前記第2の加工画像に対する認識処理において不足している情報に対応する画像を前記端末装置に要求する
ことを特徴とする付記1〜付記7のいずれか1つに記載の画像認識システム。
(付記9)
前記端末装置および前記サーバは、前記認識部による認識処理が終了するまで、前記サーバから前記端末装置へ画像を要求する手順、前記端末装置が前記サーバからの要求に基づいて加工画像を生成して前記サーバへ送信する手順、前記サーバが前記端末装置から受信する加工画像に対して認識処理を行う手順を含む対話処理を行う
ことを特徴とする付記1〜付記8のいずれか1つに記載の画像認識システム。
(付記10)
前記サーバは、前記認識部による認識結果を前記端末装置へ送信する
ことを特徴とする付記1〜9のいずれか1つに記載の画像認識システム。
(付記11)
入力画像から加工画像を生成する端末装置から前記加工画像を受信して認識する画像認識装置であって、
前記端末装置から受信する加工画像に対して認識処理を行う認識部と、
前記認識部による認識処理において不足している情報を判断する不足情報判断部と、
前記端末装置に対して、前記不足情報判断部による判断結果に対応する画像を要求する要求部と、
を有することを特徴とする画像認識装置。
(付記12)
端末装置が取得した画像をサーバにおいて認識する画像認識方法であって、
前記端末装置において入力画像から生成された、前記入力画像よりも情報量の少ない初期画像を前記端末装置から受信し、
前記初期画像に対して認識処理を行い、
前記初期画像に対する認識処理において不足している情報に対応する画像を前記端末装置へ要求し、
前記端末装置において前記サーバからの要求に応じて生成された画像を前記端末装置から受信し、
前記端末装置が前記サーバからの要求に応じて生成した画像に対して認識処理を行う
ことを特徴とする画像認識方法。
【符号の説明】
【0141】
1 端末装置
2 サーバ
13 画像処理部
14 通信部
15 要求処理部
22 認識部
25 不足情報判断部
26 要求部
31 カメラ

【特許請求の範囲】
【請求項1】
端末装置が取得した画像をサーバにおいて認識する画像認識システムであって、
前記端末装置は、
入力画像から加工画像を生成する画像処理部と、
前記画像処理部によって生成される加工画像を前記サーバへ送信する通信部と、を有し、
前記サーバは、
前記端末装置から受信する加工画像に対して認識処理を行う認識部と、
前記認識部による認識処理において不足している情報を判断する不足情報判断部と、
前記端末装置に対して、前記不足情報判断部による判断結果に対応する画像を要求する要求部と、を有し、
前記画像処理部は、前記サーバからの要求に基づいて、前記入力画像から前記加工画像を生成する
ことを特徴とする画像認識システム。
【請求項2】
前記画像処理部は、前記端末装置が前記サーバからの要求を受け取る前に、前記入力画像から前記入力画像よりも情報量の少ない第1の加工画像を生成し、
前記認識部は、前記第1の加工画像に対して認識処理を行い、
前記不足情報判断部は、前記認識部による前記第1の加工画像に対する認識処理において不足している情報を判断し、
前記要求部は、前記第1の加工画像に対する認識処理において不足している情報に対応する画像を前記端末装置に要求する
ことを特徴とする請求項1に記載の画像認識システム。
【請求項3】
前記画像処理部は、前記サーバからの要求に基づいて、前記入力画像から第2の加工画像を生成し、
前記認識部は、前記第2の加工画像に対して認識処理を行い、
前記不足情報判断部は、前記認識部による前記第2の加工画像に対する認識処理において不足している情報を判断し、
前記要求部は、前記第2の加工画像に対する認識処理において不足している情報に対応する画像を前記端末装置に要求する
ことを特徴とする請求項1または請求項2に記載の画像認識システム。
【請求項4】
前記端末装置および前記サーバは、前記認識部による認識処理が終了するまで、前記サーバから前記端末装置へ画像を要求する手順、前記端末装置が前記サーバからの要求に基づいて加工画像を生成して前記サーバへ送信する手順、前記サーバが前記端末装置から受信する加工画像に対して認識処理を行う手順を含む対話処理を行う
ことを特徴とする請求項1乃至請求項3のいずれか一項に記載の画像認識システム。
【請求項5】
入力画像から加工画像を生成する端末装置から前記加工画像を受信して認識する画像認識装置であって、
前記端末装置から受信する加工画像に対して認識処理を行う認識部と、
前記認識部による認識処理において不足している情報を判断する不足情報判断部と、
前記端末装置に対して、前記不足情報判断部による判断結果に対応する画像を要求する要求部と、
を有することを特徴とする画像認識装置。
【請求項6】
端末装置が取得した画像をサーバにおいて認識する画像認識方法であって、
前記端末装置において入力画像から生成された、前記入力画像よりも情報量の少ない初期画像を前記端末装置から受信し、
前記初期画像に対して認識処理を行い、
前記初期画像に対する認識処理において不足している情報に対応する画像を前記端末装置へ要求し、
前記端末装置において前記サーバからの要求に応じて生成された画像を前記端末装置から受信し、
前記端末装置が前記サーバからの要求に応じて生成した画像に対して認識処理を行う
ことを特徴とする画像認識方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図4】
image rotate

【図5】
image rotate