(57)【要約】【課題】従来よりも画像認識の精度を向上させる。【解決手段】実施形態の画像処理装置は、取得部、第１の推定部、検出部、決定部及び第２の推定部を含む。取得部は、認識対象に対応する第１の領域を含む第１の画像と、認識対象に対応する第２の領域を含む第２の画像とを取得する。第１の推定部は、第１の領域内の認識対象の第１の画像認識結果と、第２の領域内の認識対象の第２の画像認識結果とを推定する。検出部は、第１の領域内の画像認識を阻害する第３の領域と、第２の領域内の画像認識を阻害する第４の領域とを検出する。決定部は、第３の領域の大きさに基づき、第１の画像認識結果の第１の尤度を決定し、第４の領域の大きさに基づき、第２の画像認識結果の第２の尤度を決定する。第２の推定部は、第１の画像認識結果及び第１の尤度並びに第２の画像認識結果及び第２の尤度に基づき、認識対象の最終的な画像認識結果を推定する。【選択図】図１
2020027501.tif 000002
【特許請求の範囲】
【請求項１】
認識対象に対応する第１の領域を含む第１の画像と、前記認識対象に対応する第２の領域を含む第２の画像とを取得する取得部と、
前記第１の領域内の前記認識対象の第１の画像認識結果と、前記第２の領域内の前記認識対象の第２の画像認識結果とを推定する第１の推定部と、
前記第１の領域内の画像認識を阻害する第３の領域と、前記第２の領域内の画像認識を阻害する第４の領域とを検出する検出部と、
前記第３の領域の大きさに基づき、前記第１の画像認識結果の第１の尤度を決定し、前記第４の領域の大きさに基づき、前記第２の画像認識結果の第２の尤度を決定する決定部と、
前記第１の画像認識結果及び前記第１の尤度並びに前記第２の画像認識結果及び前記第２の尤度に基づき、前記認識対象の最終的な画像認識結果を推定する第２の推定部と、を備える画像処理装置。
【請求項２】
前記第１の画像が撮影された地点から前記第２の画像が撮影された地点までの距離を取得する距離取得部と、
前記距離に基づき、前記第１の領域と前記第２の領域に同一の前記認識対象が含まれるように前記第１の領域及び前記第２の領域を画定する画定部と、をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記第２の推定部は、尤度を重みとした重み付きの多数決を用いて、最終的な画像認識結果を推定する、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第２の推定部は、前記第１の尤度が前記第２の尤度よりも高い場合、前記第１の画像認識結果を前記最終的な画像認識結果と推定し、前記第２の尤度が前記第１の尤度よりも高い場合、前記第２の画像認識結果を前記最終的な認識結果と推定する、請求項１乃至請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
認識対象に対応する第１の領域を含む第１の画像と、前記認識対象に対応する第２の領域を含む第２の画像とを取得し、
前記第１の領域内の前記認識対象の第１の画像認識結果と、前記第２の領域内の前記認識対象の第２の画像認識結果とを推定し、
前記第１の領域内の画像認識を阻害する第３の領域と、前記第２の領域内の画像認識を阻害する第４の領域とを検出し、
前記第３の領域の大きさに基づき、前記第１の画像認識結果の第１の尤度を決定し、前記第４の領域の大きさに基づき、前記第２の画像認識結果の第２の尤度を決定し、
前記第１の画像認識結果及び前記第１の尤度並びに前記第２の画像認識結果及び前記第２の尤度に基づき、前記認識対象の最終的な画像認識結果を推定する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
画像中の文字列又は物品を認識する方法として、まず画像中の文字列又は物品の領域を抽出した後に、抽出した領域に対しても文字の種類又は物品の種類を認識する方法がある。また、複数回撮影した画像を用いて認識精度を向上する方法が提案されている。しかしながら、このような方法を用いても、画像中に白飛び又は黒潰れなどの画像認識を阻害する要因がある場合には、誤認識が発生する場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２０１０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態が解決しようとする課題は、従来よりも画像認識の精度を向上させる画像処理装置及び画像処理方法を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の画像処理装置は、取得部、第１の推定部、検出部、決定部及び第２の推定部を含む。取得部は、認識対象に対応する第１の領域を含む第１の画像と、前記認識対象に対応する第２の領域を含む第２の画像とを取得する。第１の推定部は、前記第１の領域内の前記認識対象の第１の画像認識結果と、前記第２の領域内の前記認識対象の第２の画像認識結果とを推定する。検出部は、前記第１の領域内の画像認識を阻害する第３の領域と、前記第２の領域内の画像認識を阻害する第４の領域とを検出する。決定部は、前記第３の領域の大きさに基づき、前記第１の画像認識結果の第１の尤度を決定し、前記第４の領域の大きさに基づき、前記第２の画像認識結果の第２の尤度を決定する。第２の推定部は、前記第１の画像認識結果及び前記第１の尤度並びに前記第２の画像認識結果及び前記第２の尤度に基づき、前記認識対象の最終的な画像認識結果を推定する。
【図面の簡単な説明】
【０００６】
【図１】実施形態に係る画像処理装置の概要を説明するための図。
【図２】実施形態に係る画像処理装置の要部回路構成の一例を示すブロック図。
【図３】図２中のプロセッサーによる処理のフローチャート。
【図４】実施形態に係る画像処理装置による画像認識について説明するための図。
【図５】実施形態に係る画像処理装置による画像認識について説明するための図。
【発明を実施するための形態】
【０００７】
以下、実施形態に係る画像処理装置について図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、各部の縮尺を適宜変更している場合がある。また、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。
まず、図１を用いて画像処理装置１０について説明する。図１は、実施形態に係る画像処理装置１０の概要を説明するための図である。
【０００８】
画像処理装置１０は、例えば、倉庫又は店舗などの棚２０などに載せられた物品２１の在庫管理及び所在地管理などに用いられる。画像処理装置１０は、画像認識を用いて物品２１の種類などを特定する。また、画像処理装置１０は、値札又は棚札などの表示２２などに書かれた文字列を画像認識によって特定する。なお、図１では１つの棚２０、１つの物品２１及び１つの表示２２を示しているが、棚２０、物品２１及び表示２２の数は限定しない。画像処理装置１０は、一例として、コンピューター１１、移動体１２及びカメラ１３を含む。
【０００９】
コンピューター１１は、画像処理装置１０の動作に必要な各種の演算及び制御などの処理を行う。コンピューター１２は、移動体１２に固定される。
【００１０】
移動体１２は、コンピューター１１及びカメラ１３を載せて移動可能な車両などである。なお、図１中に示す矢印は、進行方向の一例を示す。進行方向は、一例として、棚の前面に凡そ平行な方向である。
【００１１】
カメラ１３は、物品２１又は文字列などの対象を撮影する。なお、カメラ１３は、対象を静止画像として撮影するものであっても、動画として撮影するものであっても良い。カメラ１３は、移動体１２に設けられる。
【００１２】
次に図２を用いて画像処理装置１０について説明する。図２は、実施形態に係る画像処理装置１０の要部回路構成の一例を示すブロック図である。
【００１３】
コンピューター１１は、一例として、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read-only memory）１１２、ＲＡＭ（random-access memory）１１３、補助記憶デバイス１１４、入力デバイス１１５、表示デバイス１１６、カメラインターフェース１１７、移動インターフェース１１８及び通信インターフェース１１９を含む。そして、これら各部がバス１１１０などによって接続される。
【００１４】
プロセッサー１１１は、コンピューター１１の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー１１１は、ＲＯＭ１１２又は補助記憶デバイス１１４などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、コンピューター１１の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー１１１の回路内に組み込まれていても良い。プロセッサー１１１は、例えば、ＣＰＵ、ＭＰＵ（micro processing unit）、ＳｏＣ（system on a chip）、ＤＳＰ（digital signal processor）、ＧＰＵ（graphics processing unit）、ＡＳＩＣ（application specific integrated circuit）、ＰＬＤ（programmable logic device）又はＦＰＧＡ（field-programmable gate array）などである。あるいは、プロセッサー１１１は、これらのうちの複数を組み合わせたものである。
【００１５】
ＲＯＭ１１２は、プロセッサー１１１を中枢とするコンピューターの主記憶装置に相当する。ＲＯＭ１１２は、専らデータの読み出しに用いられる不揮発性メモリである。ＲＯＭ１１２は、上記のプログラムを記憶する。また、ＲＯＭ１１２は、プロセッサー１１１が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【００１６】
ＲＡＭ１１３は、プロセッサー１１１を中枢とするコンピューターの主記憶装置に相当する。ＲＡＭ１１３は、データの読み書きに用いられるメモリである。ＲＡＭ１１３は、プロセッサー１１１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【００１７】
補助記憶デバイス１１４は、プロセッサー１１１を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス１１４は、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）又はｅＭＭＣ（embedded MultiMediaCard）などである。補助記憶デバイス１１４は、上記のプログラムを記憶する場合もある。また、補助記憶デバイス１１４は、プロセッサー１１１が各種の処理を行う上で使用するデータ、プロセッサー１１１での処理によって生成されたデータ又は各種の設定値などを保存する。
また、補助記憶デバイス１１４は、領域検出用情報及び認識辞書を記憶する。領域検出用情報は、後述の認識対象領域の検出のために用いられるデータである。認識辞書は、画像認識に用いられる辞書データである。
【００１８】
ＲＯＭ１１２又は補助記憶デバイス１１４に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、コンピューター１１は、当該プログラムがＲＯＭ１１２又は補助記憶デバイス１１４に記憶された状態でコンピューター１１の管理者などへと譲渡される。しかしながら、コンピューター１１は、当該プログラムがＲＯＭ１１２又は補助記憶デバイス１１４に記憶されない状態で当該管理者などに譲渡されても良い。また、コンピューター１１は、当該プログラムとは別のプログラムがＲＯＭ１１２又は補助記憶デバイス１１４に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にＲＯＭ１１２又は補助記憶デバイス１１４へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークＮＷなどを介したダウンロードにより実現できる。
【００１９】
入力デバイス１１５は、画像処理装置１０の操作者による操作を受け付ける。入力デバイス１１５は、例えば、キーボード、キーパッド、タッチパッド又はボタンなどである。
【００２０】
表示デバイス１１６は、画像処理装置１０の操作者に各種情報を通知するための画面を表示する。表示デバイス１１６は、例えば、液晶ディスプレイ又は有機ＥＬ（electro-luminescence）ディスプレイなどのディスプレイである。また、入力デバイス１１５及び表示デバイス１１６としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス１１６として用いることができる。そして、タッチパネルが備える、タッチ入力によるポインティングデバイスを、入力デバイス１１５として用いることができる。
【００２１】
カメラインターフェース１１７は、カメラ１３とコンピューター１１とを通信可能に接続するためのインターフェースである。
【００２２】
移動インターフェース１１８は、移動体１２とコンピューター１１とを通信可能に接続するためのインターフェースである。
【００２３】
通信インターフェース１１９は、画像処理装置１０がＬＡＮ（local area network）又はインターネットなどのネットワークなどを介して通信するためのインターフェースである。
【００２４】
バス１１１０は、コントロールバス、アドレスバス及びデータバスなどを含み、コンピューター１１の各部で授受される信号を伝送する。
【００２５】
移動体１２は、一例として、走行装置１２１、動力発生装置１２２、移動制御回路１２３及びセンサー１２４を備える。
【００２６】
走行装置１２１は、車輪及びステアリングなどを備える。走行装置１２１は、動力発生装置１２２の力によって動作し、移動体１２を走行させる。
動力発生装置１２２は、動力を発生させる。動力発生装置１２２は、モーター又はエンジンなどである。
移動制御回路１２３は、走行装置１２１及び動力発生装置１２２を制御して移動体１２の移動を制御する。
なお、移動体１２の移動方法は走行装置１２１によるものに限らない。また、移動体１２は、地上を移動するものに限らない。移動体１２は、例えば、空中、水上又は水中などを移動するものであっても良い。
【００２７】
センサー１２４は、移動体１２の移動量及び回転角などを計測可能なセンサーなどである。センサー１２４は、例えば、走行装置１２１の回転角を計測するセンサー、ジャイロセンサー、加速度センサー又はこれら複数を組み合わせたセンサーなどである。あるいは、センサーは、ＧＰＳ（Global Positioning System）などのＧＮＳＳ（global navigation satellite system）、ＩＭＥＳ（Indoor MEssaging System）、Ｗｉ−ｆｉなどのアクセスポイントを用いた測位システム、ＢＬＥ（bluetooth（登録商標） low energy）などのビーコンを用いた測位システム、地磁気を用いた測位システム、ＤＲ（dead reckoning）又はこれらを複数組み合わせた測位システムなどを用いて位置情報を推定するためのセンサー又は装置である。
また、画像処理装置１０は、必要に応じて距離センサーを備えていても良い。
【００２８】
以下、実施形態に係る小僧処理装置１０の動作を図３などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図３は、コンピューター１１のプロセッサー１１１による処理のフローチャートである。プロセッサー１１１は、例えば、ＲＯＭ１１２又は補助記憶デバイス１１４などに記憶されたプログラムに基づいてこの処理を実行する。なお、プロセッサー１１１がＡｃｔＮ（Ｎは、自然数。）の処理の後にＡｃｔ（Ｎ＋１）へと進む場合、このことを説明する記載を省略する場合がある。
【００２９】
まずは、文字列を画像認識する場合について説明する。文字に対する画像認識は、ＯＣＲ（optical character recognition）などとも呼ばれる。
Ａｃｔ１１においてプロセッサー１１１は、変数ｉを、ＲＡＭ１１３などに割り当てる。また、プロセッサー１１１は、変数ｉの値を１にする。
【００３０】
Ａｃｔ１２においてプロセッサー１１１は、ｉ枚目の画像ＩＭを撮影するようにカメラ１３に指示する。この指示に応じてカメラ１３は、対象を撮影する。そして、カメラ１３は、撮影した画像ＩＭを出力する。出力された画像ＩＭは、カメラインターフェース１１７を介してコンピューター１１に入力される。なお、プロセッサー１１１は、図３に示す処理を実行している間、移動体１２を制御して、移動体１２を走行させる。画像ＩＭの例を図４に示す。図４は、実施形態に係る画像処理装置１０による画像認識について説明するための図である。図４には、１枚目の画像ＩＭ−１、２枚目の画像ＩＭ−２、及び３枚目の画像ＩＭ−３の３枚の画像ＩＭを示している。移動体１２が走行していることから、画像ＩＭ−１〜画像ＩＭ−３は、物品２１及び表示２２を別々のアングルで撮影した画像となっている。なお、Ａｃｔ１２で撮影されたｉ枚目の画像を、以下「画像ＩＭ−ｉ」と称するものとする。
【００３１】
Ａｃｔ１３においてプロセッサー１１１は、画像ＩＭ−ｉについて、認識対象領域ＡＲ１を画定する。認識対象領域ＡＲ１は、認識対象を含む領域である。認識対象が文字列である場合、認識対象領域ＡＲ１は、当該文字列が写っている部分を含む領域である。プロセッサー１１１は、認識対象領域ＡＲ１を、例えば、長方形の領域として画定する。好ましくは、プロセッサー１１１は、認識対象領域ＡＲ１を、認識対象を包含する最小の長方形として画定する。図４には、認識対象領域ＡＲ１として、画像ＩＭ−１についての認識対象領域ＡＲ１−１、画像ＩＭ−２についての認識対象領域ＡＲ１−２、及び画像ＩＭ−３についての認識対象領域ＡＲ１−３を示している。図４では、いずれの認識対象領域ＡＲ１も、文字列「１２８」を含んでいる。プロセッサー１１１は、例えば、以下の（ａ１）又は（ａ２）のような方法を用いて認識対象領域ＡＲ１を画定する。ただし、プロセッサー１１１は、他の方法を用いても良い。
（ａ１）領域検出用情報を用いて、テンプレートマッチングのような画像処理技術によって認識対象領域ＡＲ１を特定する。
（ａ２）距離情報などを用いて、大きく距離の変わる部分から認識対象領域を特定する。
なお、プロセッサー１１は、ｉが２以上である場合、ｉ枚目の画像ＩＭについての認識対象領域ＡＲ１と（ｉ−１）枚目の画像ＩＭについての認識対象領域ＡＲ１とを同一の認識対象を含む領域として画定する。このために、例えば、プロセッサー１１１は、以下の（ｂ１）又は（ｂ２）のような方法を用いる。ただし、プロセッサー１１１は、他の方法を用いても良い。
（ｂ１）プロセッサー１１１は、ＲＡＮＳＡＣ（random sample consensus）などのロバストな手法を用いたホモグラフィ推定によって、（ｉ−１）枚目の画像ＩＭとｉ枚目の画像ＩＭとについて、同一のものを映した部分を推定する。
（ｂ２）プロセッサー１１１は、センサー１２４から、（ｉ−１）枚目の画像ＩＭが撮影されて時点からｉ枚目の画像ＩＭが撮影された時点までの移動体１２の移動量を取得する。これにより、（ｉ−１）枚目の画像ＩＭの認識対象領域ＡＲ１が、ｉ枚目の画像ＩＭではどこまで移動するか移動量を求める。これにより、プロセッサー１１１は、ｉ枚目の画像ＩＭについての認識対象領域ＡＲ１を、（ｉ−１）枚目の画像ＩＭについての認識対象領域ＡＲ１と同一の認識対象を含む領域として画定する。
なお、プロセッサー１１１は、センサー１２４から、（ｉ−１）枚目の画像ＩＭが撮影されて時点からｉ枚目の画像ＩＭが撮影された時点までの移動体１２の移動量を取得することで、第１の画像が撮影された地点から第２の画像が撮影された地点までの距離を取得する距離取得部として機能する。
また、プロセッサー１１１は、Ａｃｔ１３の処理を複数回行うことで、認識対象領域を画定する画定部として機能する。
【００３２】
Ａｃｔ１４においてプロセッサー１１１は、画像ＩＭ−ｉについて、認識阻害領域ＡＲ２を画定する。認識阻害領域ＡＲ２は、画像ＩＭ中において、画像認識を阻害する部分である。画像内に認識阻害領域ＡＲ２が生じる要因としては、例えば、白飛び、黒潰れ、ゴースト、フレア、ハレーション、レンズの傷・汚れ、カメラ内部のゴミ、イメージセンサーの画素欠け、カメラの故障、及びカメラと認識対象の間の障害物の存在などを挙げることができる。図４には、認識阻害領域ＡＲ２として、画像ＩＭ−２についての認識阻害領域ＡＲ２−２、及び画像ＩＭ−３についての認識阻害領域ＡＲ２−３を示している。なお、画像ＩＭ−１については認識阻害領域ＡＲ２が生じていない。プロセッサー１１１は、例えば、以下の（ｃ１）又は（ｃ２）のような方法を用いて認識阻害領域ＡＲ２を画定する。ただし、プロセッサー１１１は、他の方法を用いても良い。
（ｃ１）プロセッサー１１１は、画像ＩＭ−ｉ中のＲＧＢ（red, green, and blue）＝（０，０，０）又はＲＧＢ＝（２５５，２５５，２５５）である部分について、白飛び又は黒潰れしているとみなし、認識阻害領域ＡＲ２であるとみなす。なお、ＲＧＢ＝（０，０，０）は最も濃度の高い色（黒色）を示し、ＲＧＢ＝（２５５，２５５，２５５）は最も濃度の低い色（白色）を示す。ただし、これは画像ＩＭ−ｉが８ｂｉｔ画像である場合であって、ｂｉｔ数が異なれば異なる数値となる。また、画像ＩＭ−ｉ中の色を示す色空間としてＲＧＢ以外が用いられる場合にも、白色及び黒色を示す数値の組み合わせは異なるものとなる。
（ｃ２）プロセッサー１１１は、画像ＩＭ−ｉについて、ヒストグラムの分布が他の部分と異なる特徴を示す部分を認識阻害領域ＡＲ２とみなす。
【００３３】
Ａｃｔ１５においてプロセッサー１１１は、画像ＩＭ−ｉについて、Ａｃｔ１３で画定された認識対象領域内にある認識対象を読み取る。なお、ここで読み取られた結果を「認識結果」と称するものとする。図４に示すＡｃｔ１５−１は画像ＩＭ−１に対するＡｃｔ１５の処理を、Ａｃｔ１５−２は画像ＩＭ−２に対するＡｃｔ１５の処理を、Ａｃｔ１５−３は画像ＩＭ−３に対するＡｃｔ１５の処理を示す。画像ＩＭ−１についての認識結果は、一例として「１２８」となる。また、画像ＩＭ−２中の認識対象は、認識阻害領域ＡＲ２−２によって右上が欠けてしまっている。これにより、画像ＩＭ−２についての認識結果は、一例として「１２６」のようになる。また、画像ＩＭ−３中の認識対象は、認識阻害領域ＡＲ２−３によって３文字目の左側が欠けてしまっている。これにより、画像ＩＭ−３についての認識結果は、一例として「１２３」のようになる。
【００３４】
Ａｃｔ１６においてプロセッサー１１１は、画像ＩＭ−ｉについて、認識対象領域ＡＲ１に占める認識阻害領域ＡＲ２の割合ｐを求める。すなわち、プロセッサー１１１は、（認識対象領域ＡＲ１と認識阻害領域ＡＲ２が重なる部分の面積）÷（認識対象領域ＡＲ１の面積）により、割合ｐを求めることができる。
【００３５】
Ａｃｔ１７においてプロセッサー１１１は、画像ＩＭ−ｉについて、Ａｃｔ１５における認識結果の尤度Ｌを求める。尤度Ｌは、例えばＬ＝（１−ｐ）又はＬ＝（（１−ｐ）×１００）％の式で求められる。
【００３６】
Ａｃｔ１８においてプロセッサー１１１は、変数ｉの値を１増加させる。
Ａｃｔ１９においてプロセッサー１１１は、変数ｉの値がｎよりも大きいか否かを判定する。ここで、ｎは、画像を撮影する枚数を示す値である。プロセッサー１１１は、変数ｉの値がｎよりも大きくないならば、Ａｃｔ１７においてＮｏと判定してＡｃｔ１１へと戻る。対して、プロセッサー１１１は、変数ｉの値がｎよりも大きいならば、Ａｃｔ１７においてＹｅｓと判定してＡｃｔ１８へと進む。かくして、プロセッサー１１１は、Ａｃｔ１２〜Ａｃｔ１７をｎ回繰り返す。これにより、画像処理装置１０は、ｎ枚の画像を撮影する。さらに、画像処理装置１０は、当該ｎ枚の画像それぞれに対してＡｃｔ１３〜Ａｃｔ１７の処理を行う。
以上のように、プロセッサー１１１は、Ａｃｔ１２の処理を複数回行うことで、複数の画像を取得する。したがって、プロセッサー１１１は、Ａｃｔ１２の処理を複数回行うことで、カメラ１３と協働して、第１の画像及び第２の画像を取得する取得部として機能する。例えば、画像ＩＭ−１から画像ＩＭ−ｎのうちのいずれか２つが第１の画像及び第２の画像である。なお、第１の画像の認識対象領域ＡＲ１は、第１の領域の一例である。また、第２の画像の認識対象領域ＡＲ１は、第２の領域の一例である。さらに、第１の画像の認識阻害領域ＡＲ２は、第３の領域の一例である。そして、第２の画像の認識阻害領域ＡＲ２は、第４の領域の一例である。したがって、プロセッサー１１１は、第１の画像及び第２の画像に対してＡｃｔ１４の処理を行うことで、第３の領域及び第４の領域を検出する検出部として機能する。なお、第３の領域及び第４の領域は、画像ＩＭ−１のように検出されない場合もある。また、プロセッサー１１１は、第１の画像及び第２の画像に対してＡｃｔ１７の処理を行うことで、第１の尤度及び第２の尤度を決定する決定部として機能する。
【００３７】
Ａｃｔ２０においてプロセッサー１１１は、Ａｃｔ１５で求めた複数の認識結果及びＡｃｔ１７で求めた複数の尤度に基づき、最終的な認識結果を決定する。例えば、プロセッサー１１１は、画像ＩＭ−１から画像ＩＭ−ｎのそれぞれの認識結果について、尤度を用いた重み付き多数決を行う。例えば、画像ＩＭ−ｋの認識結果がＸ、尤度が０．８である場合には、認識結果Ｘに０．８票が入ることになる。ただし、ｋは、自然数である。図４に示す例では、画像ＩＭ−１の認識結果が「１２８」で尤度が１（＝１００％）であることから、「１２８」に１票が入る。そして、画像ＩＭ−２の認識結果が「１２６」で尤度が０．９（＝９０％）であることから、「１２６」に０．９票が入る。さらに、画像ＩＭ−３の認識結果が「１２３」で尤度が０．７（＝７０％）であることから、「１２３」に０．７票が入る。以上より、「１２８」の得票数が１票で最も多くなる。プロセッサー１１１は、得票数が最も多い「１２８」を最終的な認識結果として決定する。プロセッサー１１１は、このように多数決を行い、得票数が最も多い認識結果を最終的な認識結果として決定する。
以上のように、プロセッサー１１１は、複数の画像の認識結果及び尤度に基づき画像認識結果を推定する。したがって、プロセッサー１１１は、Ａｃｔ２０の処理を行うことで、第１の画像認識結果及び第１の尤度並びに第２の画像認識結果及び第２の尤度に基づき、認識対象の画像認識結果を推定する第２の推定部として機能する。
【００３８】
Ａｃｔ２１においてプロセッサー１１１は、Ａｃｔ２０で決定した認識結果を出力する。例えば、プロセッサー１１１は、当該認識結果を表示するように表示デバイス１１６を制御する。この制御に基づき、表示デバイス１１６は、当該認識結果を表示する。また例えば、プロセッサー１１１は、当該認識結果を送信するように通信インターフェース１１９を制御する。この制御に基づき、通信インターフェース１１は、当該認識結果を送信する。プロセッサー１１１は、Ａｃｔ２１の処理の後、図３のフローチャートに示す処理を終了する。
【００３９】
次に、物品の種類を画像認識によって特定する場合について図３及び図５を用いて説明する。図５は、実施形態に係る画像処理装置１０による画像認識について説明するための図である。なお、以下の説明では、文字列に対する画像認識の場合と異なる処理について説明し、同一の部分については説明を省略する。また、物品の種類を画像認識によって特定する場合についての各処理については、区別のために、処理の番号の末尾にＢを付す。例えば、物品の種類を画像認識によって特定する場合のＡｃｔ１３であれば、Ａｃｔ１３Ｂのように示す。
【００４０】
Ａｃｔ１３Ｂにおいてプロセッサー１１１は、画像ＩＭ−ｉについて、認識対象領域ＡＲ３を画定する。認識対象領域ＡＲ３は、認識対象を含む領域である。認識対象が物品である場合、認識対象領域ＡＲ３は、当該物品が写っている部分を含む領域である。図５には、認識対象領域ＡＲ３として、画像ＩＭ−１についての認識対象領域ＡＲ３−１、画像ＩＭ−２についての認識対象領域ＡＲ３−２、及び画像ＩＭ−３についての認識対象領域ＡＲ３−３を示している。図５では、いずれの認識対象領域ＡＲ２も、商品Ａが写っている部分を含んでいる。プロセッサー１１１は、例えば、前述の（ａ１）又は（ａ２）のような方法などを用いて認識対象領域ＡＲ２を画定する。
【００４１】
Ａｃｔ１４Ｂにおいてプロセッサー１１１は、画像ＩＭ−ｉについて、認識阻害領域ＡＲ４を画定する。図５には、認識阻害領域ＡＲ４として、画像ＩＭ−２についての認識阻害領域ＡＲ４−２、及び画像ＩＭ−３についての認識阻害領域ＡＲ４−３を示している。なお、画像ＩＭ−１については認識阻害領域ＡＲ４が生じていない。
【００４２】
Ａｃｔ１５Ｂにおいてプロセッサー１１１は、画像認識によって物品の種類を読み取る。プロセッサー１１１は、例えば、認識対象領域ＡＲ３内の物品と認識辞書に含まれる物品の種類との類似度をそれぞれ求め、最も類似度が高い物品の種類を、認識結果とする。図５に示すように、画像ＩＭ−１についての認識結果は、一例として「物品Ｘ１」となる。また、画像ＩＭ−２についての認識結果は、一例として「物品Ｘ２」となる。そして、画像ＩＭ−３についての認識結果は、一例として「物品Ｘ３」となる。なお、物品Ｘ１、物品Ｘ２、…は、例えば、「りんご」、「キャベツ」又は「牛乳」のような物の一般名称であっても良いし、「ふじ」のような品種名又は商品名などであっても良い。その他、物品の種類を示すものであれば一般名称、品種名及び商品名以外であっても良い。
【００４３】
Ａｃｔ１６Ｂにおいてプロセッサー１１１は、画像ＩＭ−ｉについて、認識対象領域ＡＲ３に占める認識阻害領域ＡＲ４の割合ｐを求める。すなわち、プロセッサー１１１は、（認識対象領域ＡＲ３と認識阻害領域ＡＲ４が重なる部分の面積）÷（認識対象領域ＡＲ３の面積）により、割合ｐを求めることができる。
【００４４】
Ａｃｔ２０Ｂにおいてプロセッサー１１１は、Ａｃｔ１５Ｂで求めた複数の認識結果及びＡｃｔ１７で求めた複数の尤度に基づき、最終的な認識結果を決定する。例えば、プロセッサー１１１は、画像ＩＭ−１から画像ＩＭ−ｎのそれぞれの認識結果について、尤度を用いた重み付き多数決を行う。図５に示す例では、画像ＩＭ−１の認識結果が「物品Ｘ１」で尤度が１（＝１００％）であることから、「物品Ｘ１」に１票が入る。そして、画像ＩＭ−２の認識結果が「物品Ｘ２」で尤度が０．８（＝８０％）であることから、「物品Ｘ２」に０．８票が入る。さらに、画像ＩＭ−３の認識結果が「物品Ｘ３」で尤度が０．９（＝９０％）であることから、「物品Ｘ３」に０．９票が入る。以上より、「物品Ｘ１」の得票数が１票で最も多くなる。プロセッサー１１１は、得票数が最も多い「物品Ｘ１」を最終的な認識結果として決定する。プロセッサー１１１は、このように多数決を行い、得票数が最も多い認識結果を最終的な認識結果として決定する。
あるいは、プロセッサー１１１は、Ａｃｔ１５Ｂで求めた複数の認識結果及びＡｃｔ１７で求めた複数の尤度に加えて、Ａｃｔ１５Ｂで求めた類似度も用いて最終的な認識結果を決定する。例えば、プロセッサー１１１は、尤度に類似度をかけたものを票数とする。例えば、尤度が０．９で類似度が０．８である場合には、０．７２（＝０．９×０．８）票となる。
【００４５】
実施形態の画像処理装置１０は、上記のように、移動するカメラ１３によって連続的に複数回撮影された画像を用いて、認識対象の種類などを特定するための画像認識を行う。このとき、画像内に認識阻害領域がある場合には、プロセッサー１１１は、認識阻害領域の面積の大きさが大きい画像ほど、認識結果の尤度を小さくする。そして、プロセッサー１１１は、当該尤度を用いて、複数の画像に対する認識結果を用いて、最終的な認識結果を決定する。これにより、実施形態の画像処理装置１０は、複数の画像に対する認識結果の中から誤った認識結果を採用することを防ぐことができるので、誤認識の発生を防ぎ、画像認識の精度が向上する。また、実施形態の画像処理装置１０は、画像内に認識阻害領域が無い場合にも、複数の画像を用いて画像認識をすることになるので、１枚の画像だけを用いる場合に比べて画像認識の精度が向上する。
【００４６】
また、実施形態の画像処理装置１０は、移動体１２の移動量を用いて、複数の画像の認識対象領域を、同一の認識対象を含む領域として画定する。これにより、実施形態の画像処理装置１０は、認識対象領域を画定する精度が向上する。そして、認識対象領域を画定する精度が向上すれば、画像認識の精度も向上する。
【００４７】
また、実施形態の画像処理装置１０は、尤度を重みとした重み付きの多数決によって最終的な画像認識結果を決定する。これにより、実施形態の画像処理装置１０は、複数の画像に対する認識結果の中から誤った認識結果を採用することを防ぐことができるので、誤認識の発生を防ぎ、画像認識の精度が向上する。
【００４８】
上記の実施形態は以下のような変形も可能である。
文字認識は、文字列単位ではなく１文字単位でも良い。すなわち、プロセッサー１１１は、実施形態のように「１２８」を読み取る場合には、「１」、「２」及び「８」のそれぞれを認識対象とする。すなわち、プロセッサー１１１は、「１」、「２」及び「８」のそれぞれについて、上記の実施形態Ａｃｔ１３〜Ａｃｔ２１と同様の処理を行う。
【００４９】
上記の実施形態では、プロセッサー１１１は、多数決によって最終的な認識結果を決定した。しかしながら、プロセッサー１１１は、多数決以外の方法によって最終的な認識結果を決定しても良い。例えば、プロセッサー１１１は、尤度が最も高い認識結果を最終的な認識結果として決定する。ただし、プロセッサー１１１は、尤度が最も高い認識結果が複数ある場合には、例えば、多数決を行って最終的な認識結果を決定する。
尤度が最も高い認識結果を最終的な画像認識結果として決定することで、複数の画像に対する認識結果の中から誤った認識結果を採用することを防ぐことができるので、誤認識の発生を防ぎ、画像認識の精度が向上する。
【００５０】
上記の実施形態では、プロセッサー１１１は、同一の認識対象に対してｎ枚の画像を撮影するように制御した。しかしながら、プロセッサー１１１は、撮影する枚数を決めずに撮影の制御を行っても良い。例えば、プロセッサー１１１は、認識対象が画像ＩＭのフレームから外れるまで撮影を繰り返すよう制御を行う。
【００５１】
上記の実施形態では、プロセッサー１１１は、ｉ枚目の画像ＩＭについての認識対象領域ＡＲ１と（ｉ−１）枚目の画像ＩＭについての認識対象領域ＡＲ１とを同一の認識対象を含む領域として画定する。同様に、プロセッサー１１１は、ｉ枚目の画像ＩＭについての認識対象領域ＡＲ１と（ｉ−ｔ）枚目の画像ＩＭについての認識対象領域ＡＲ１とを同一の認識対象を含む領域として画定しても良い。ただし、ｔは、ｉ未満の自然数である。
【００５２】
上記の実施形態では、画像処理装置１０は、１台のカメラで複数の画像を撮影した。しかしながら、画像処理装置１０は、複数のカメラを備えていても良い。そして、画像処理装置１０は、複数のカメラで複数の画像を撮影しても良い。
【００５３】
コンピューター１２は、移動体１２とは別の場所にあっても良い。この場合、例えば、カメラ１３で撮影された画像及び移動体１２で計測されたセンサーデータなどが無線通信などによってコンピューター１１に送信される。
【００５４】
プロセッサー１１１は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
【００５５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１０……画像処理装置、１１……コンピューター、１２……移動体、１３……カメラ、１１１……プロセッサー、１１２……ＲＯＭ、１１３……ＲＡＭ、１１４……補助記憶デバイス、１１５……入力デバイス、１１６……表示デバイス、１１７……カメラインターフェース、１１８……移動インターフェース、１１９……通信インターフェース、１２１……走行装置、１２２……動力発生装置、１２３……移動制御回路、１２４……センサー、１１１０……バス
【図１】
2020027501.tif 000003
【図２】
2020027501.tif 000004
【図３】
2020027501.tif 000005
【図４】
2020027501.tif 000006
【図５】
2020027501.tif 000007