(57)【要約】【課題】認識すべき対象の領域を明確にしつつ、対象が存在する領域の周辺の領域を含めた機械学習を行うことができるようにした画像処理装置を提供する。【解決手段】画像処理装置の検出手段は、画像から対象が存在する領域を検出し、拡大手段は、前記領域を拡大し、切出手段は、前記拡大された領域で、前記画像から第１の画像を切り出し、生成手段は、前記検出手段によって検出された領域内の対象から第２の画像を生成し、学習手段は、前記第１の画像と前記第２の画像を用いて、機械学習を行う。【選択図】図１
2018045359.tif 000002
【特許請求の範囲】
【請求項１】
画像から対象が存在する領域を検出する検出手段と、
前記領域を拡大する拡大手段と、
前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、
前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、
前記第１の画像と前記第２の画像を用いて、機械学習を行う学習手段
を有する画像処理装置。
【請求項２】
前記生成手段は、前記対象の第１の部分と対象以外の第２の部分とを分けた第２の画像を生成する、
請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、前記第１の部分を第１の値とし、前記第２の部分を第２の値とした２値画像として、第２の画像を生成する、
請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記第１の画像と同じ大きさの第２の画像を生成する、
請求項３に記載の画像処理装置。
【請求項５】
文字を前記対象とし、
前記学習手段は、前記検出手段によって検出された領域内の画像が文字であるか否かを学習する、
請求項１に記載の画像処理装置。
【請求項６】
前記学習手段は、文字である可能性を示す数値と文字ではない可能性を示す数値を出力する、
請求項５に記載の画像処理装置。
【請求項７】
画像から対象が存在する領域を検出する検出手段と、
前記領域を拡大する拡大手段と、
前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、
前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、
請求項１から６のいずれか一項に記載の画像処理装置による学習結果を用いた認識を行う認識手段
を有する画像処理装置。
【請求項８】
コンピュータを、
画像から対象が存在する領域を検出する検出手段と、
前記領域を拡大する拡大手段と、
前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、
前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、
前記第１の画像と前記第２の画像を用いて、機械学習を行う学習手段
として機能させるための画像処理プログラム。
【請求項９】
コンピュータを、
画像から対象が存在する領域を検出する検出手段と、
前記領域を拡大する拡大手段と、
前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、
前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、
請求項８に記載の画像処理プログラムによる学習結果を用いた認識を行う認識手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像情報をもとに人物等の動作を認識する画像認識方法、及びその画像認識方法を用いた画像処理装置を提供することを課題とし、画像処理装置は、背景の前で動作する人物等の被写体を撮像する撮像手段と、その動画データをフレーム画像に分離するフレーム分離手段と、そのフレーム画像を複数の小領域に分割する領域分割手段と、背景画像データを記憶する背景画像記憶手段と、その背景画像データを利用して各小領域内に人物等を表す特徴領域が含まれるかどうかを判定し数値列データに変換する変換手段と、その数値列データをニューラルネットワークに適用してパターンコードを生成する知識処理手段と、そのパターンコードをもとに動作の内容を認識する動作認識手段とを備えることが開示されている。
【０００３】
特許文献２には、ＨＣＩシステムにおける手と手指示点の位置決め方法及び手指のジェスチャ決定方法を提供することを課題とし、手位置決め方法は、被制御領域の画像を連続取得して、前景物が含まれる画像列を取得する段階と、撮像した前記画像から前景画像を抽出し、抽出した前記前景画像の２値化処理を行って、２値化前景画像を生成する段階と、前記２値化前景画像の最小凸包の画素頂点集合を取得し、該最小凸包の各画素頂点を中心点に、手が含まれる候補領域として関心領域を構築する段階と、構築した前記各関心領域から手画像特徴を抽出し、パターン認識方法により、前記候補領域における前記手が含まれる関心領域を決定する段階とを含むことが開示されている。
【０００４】
特許文献３には、物体を含む画像から視認対象物体を検出する場合に客観的な検出結果を得ることが可能な画像の物体検出装置を提供することを課題とし、画像の物体検出装置は、複数の物体を含む画像をパルスニューラルネットワークに入力することによって、画像内で経時的に変遷する看者の注視点を時系列データとして検出する注視点検出部と、注視点検出部が検出した注視点を基準として画像内に注視点視野領域を設定する注視点視野領域設定部と、複数の物体のうち注視点視野領域設定部が設定した注視点視野領域に含まれる物体を視認対象物体として検出する物体検出部と、物体検出部が視認対象物体を検出する毎に検出された視認対象物体に関する所定の検出情報を蓄積して記憶する検出情報記憶部と、を備えることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１２３８３４号公報
【特許文献２】特開２０１２−０５９２７１号公報
【特許文献３】特開２０１５−２１０６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像を対象とした機械学習（以下、単に学習ともいう）が行われている。対象の周辺の領域も含めることによって、対象であることが判明する場合がある。
しかし、画像から対象の領域だけを学習の対象とした技術では、その領域の周辺の領域を考慮した学習とはならない。一方、単に領域を拡大して学習したのでは、どの領域を認識すればよいのかが不明である。
【課題を解決するための手段】
【０００７】
本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像から対象が存在する領域を検出する検出手段と、前記領域を拡大する拡大手段と、前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、前記第１の画像と前記第２の画像を用いて、機械学習を行う学習手段を有する画像処理装置である。
【０００８】
請求項２の発明は、前記生成手段は、前記対象の第１の部分と対象以外の第２の部分とを分けた第２の画像を生成する、請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記生成手段は、前記第１の部分を第１の値とし、前記第２の部分を第２の値とした２値画像として、第２の画像を生成する、請求項２に記載の画像処理装置である。
【００１０】
請求項４の発明は、前記生成手段は、前記第１の画像と同じ大きさの第２の画像を生成する、請求項３に記載の画像処理装置である。
【００１１】
請求項５の発明は、文字を前記対象とし、前記学習手段は、前記検出手段によって検出された領域内の画像が文字であるか否かを学習する、請求項１に記載の画像処理装置である。
【００１２】
請求項６の発明は、前記学習手段は、文字である可能性を示す数値と文字ではない可能性を示す数値を出力する、請求項５に記載の画像処理装置である。
【００１３】
請求項７の発明は、画像から対象が存在する領域を検出する検出手段と、前記領域を拡大する拡大手段と、前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、請求項１から６のいずれか一項に記載の画像処理装置による学習結果を用いた認識を行う認識手段を有する画像処理装置である。
【００１４】
請求項８の発明は、コンピュータを、画像から対象が存在する領域を検出する検出手段と、前記領域を拡大する拡大手段と、前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、前記第１の画像と前記第２の画像を用いて、機械学習を行う学習手段として機能させるための画像処理プログラムである。
【００１５】
請求項９の発明は、コンピュータを、画像から対象が存在する領域を検出する検出手段と、前記領域を拡大する拡大手段と、前記拡大された領域で、前記画像から第１の画像を切り出す切出手段と、前記検出手段によって検出された領域内の対象から第２の画像を生成する生成手段と、請求項８に記載の画像処理プログラムによる学習結果を用いた認識を行う認識手段として機能させるための画像処理プログラムである。
【発明の効果】
【００１６】
請求項１の画像処理装置によれば、認識すべき対象の領域を明確にしつつ、対象が存在する領域の周辺の領域を含めた機械学習を行うことができる。
【００１７】
請求項２、３の画像処理装置によれば、対象の第１の部分と対象以外の第２の部分とを分けた第２の画像が機械学習の対象となる。
【００１８】
請求項４の画像処理装置によれば、統一された大きさの領域の画像を用いて学習される。
【００１９】
請求項５、６の画像処理装置によれば、検出された領域内の画像が文字であるか否かについての学習が行われる。
【００２０】
請求項７の画像処理装置によれば、認識すべき対象の領域を明確にしつつ、対象が存在する領域の周辺の領域を含めた認識を行うことができる。
【００２１】
請求項８の画像処理プログラムによれば、認識すべき対象の領域を明確にしつつ、対象が存在する領域の周辺の領域を含めた機械学習を行うことができる。
【００２２】
請求項９の画像処理プログラムによれば、認識すべき対象の領域を明確にしつつ、対象が存在する領域の周辺の領域を含めた認識を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態（画像認識学習装置）の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態（画像認識装置）の構成例についての概念的なモジュール構成図である。
【図３】本実施の形態を利用したシステム構成例を示す説明図である。
【図４】本実施の形態（画像認識学習装置）による処理例を示すフローチャートである。
【図５】本実施の形態（画像認識装置）による処理例を示すフローチャートである。
【図６】本実施の形態による処理例を示す説明図である。
【図７】本実施の形態による処理例を示す説明図である。
【図８】本実施の形態による処理例を示す説明図である。
【図９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態（画像認識学習装置１００）の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２５】
本実施の形態である画像認識学習装置１００は、画像認識のための機械学習を行うものであって、図１の例に示すように、画像受付モジュール１０５、文字切取モジュール１１０、領域抽出モジュール１１５、領域拡大モジュール１２０、マップ画像生成モジュール１２５、画像切出モジュール１３０、正解付与モジュール１３５、機械学習モジュール１４０、学習結果出力モジュール１４５を有している。
【００２６】
画像受付モジュール１０５は、文字切取モジュール１１０、画像切出モジュール１３０と接続されている。画像受付モジュール１０５は、画像を受け付けて、その画像を文字切取モジュール１１０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。画像受付モジュール１０５が受け付ける画像には、対象の画像が含まれている。また、画像の内容として、対象が写り込んだ写真画像、広告宣伝用のパンフレット等であってもよい。
また、ここで対象とは、例えば、文字、人物（顔、顔の一部、体、体の一部等）、物（自動車、飛行機等の人工物、山、川等の自然物、犬、猫等の動物）等がある。以下、対象として文字を例示するが、人物、物等であってもよい。文字画像が含まれている画像として、例えば、看板、標識、値札等を撮影した画像が該当する。
【００２７】
文字切取モジュール１１０は、画像受付モジュール１０５、領域抽出モジュール１１５、マップ画像生成モジュール１２５と接続されている。文字切取モジュール１１０は、画像から対象である文字が存在する領域を検出する。例えば、文字切取モジュール１１０は、ＭＳＥＲ（Ｍａｘｉｍａｌｌｙ  Ｓｔａｂｌｅ  Ｅｘｔｅｒｎａｌ  Ｒｅｇｉｏｎｓ）処理を行う。ＭＳＥＲ処理は、文字が存在する領域のバウンディングボックス（ｂｏｕｎｄｉｎｇ  ｂｏｘ、外接矩形ともいわれる）を取得する処理である。
領域抽出モジュール１１５は、文字切取モジュール１１０、領域拡大モジュール１２０、マップ画像生成モジュール１２５と接続されている。領域抽出モジュール１１５は、文字切取モジュール１１０が検出した領域を抽出する。具体的には、画像受付モジュール１０５が受け付けた元画像における矩形領域の位置と大きさを示す値によって領域を特定する。例えば、矩形領域の左上角の位置（Ｘ座標、Ｙ座標）、矩形領域の幅、高さの組み合わせ等がある。
【００２８】
領域拡大モジュール１２０は、領域抽出モジュール１１５、画像切出モジュール１３０と接続されている。領域拡大モジュール１２０は、領域を拡大する。なお、拡大された後の領域を、以下、「切り取り領域」ともいう。ここでの拡大は、領域を大きくすることであって、いわゆる画像の拡大処理（解像度を高める処理）ではない。拡大は、予め定められた値（幅をＸドット、高さをＹドット等）だけ、矩形領域を大きくすることであってもよいし、矩形領域の幅と高さに予め定められた倍率（１以上）を乗算して大きくしてもよいし、隣接している矩形領域の少なくとも一部が含まれるように、矩形領域を拡大する等してもよい。また、この拡大の中心は、矩形領域の中心としてもよいし、矩形領域の左上角等としてもよい。
【００２９】
マップ画像生成モジュール１２５は、文字切取モジュール１１０、領域抽出モジュール１１５、機械学習モジュール１４０と接続されている。マップ画像生成モジュール１２５は、文字切取モジュール１１０によって検出された領域内の対象から第２の画像を生成する。
また、マップ画像生成モジュール１２５は、対象の第１の部分（以下、関心領域ともいう）と対象以外の第２の部分とを分けた第２の画像を生成するようにしてもよい。この第２の画像は、いわゆるマップ画像（マスク画像）である。「第１の部分」とは、文字そのものを示す形を示す部分である。「第２の部分」とは、第１の部分以外の部分であって、いわゆる背景である。
さらに、マップ画像生成モジュール１２５は、第１の部分を第１の値とし、第２の部分を第２の値とした２値画像として、第２の画像を生成するようにしてもよい。２値画像であるので、マスク処理として、元画像とＥＯＲ処理を行うことによって、その画像を切り出すことができるようになる。
さらに、マップ画像生成モジュール１２５は、第１の画像と同じ大きさ（サイズ）の第２の画像を生成するようにしてもよい。ここで「第１の画像と同じ大きさ」とは、領域拡大モジュール１２０によって拡大された後の領域の大きさのことである。これによって、統一された大きさの画像を用いて学習することができるようになる。同じ大きさの画像を扱うことは、ベクトルの次元数が同じであることを意味する。もちろんのことながら、第１の画像と第２の画像は、画像受付モジュール１０５が受け付けた元画像内における位置も同じである。したがって、第１の画像と第２の画像は、元画像内の同じ部分画像（対象が存在する領域の画像）を対象としたものであり、後述するように第１の画像はその部分画像そのものであり、第２の画像はその部分画像のマップ画像である。
【００３０】
画像切出モジュール１３０は、画像受付モジュール１０５、領域拡大モジュール１２０、機械学習モジュール１４０と接続されている。画像切出モジュール１３０は、領域拡大モジュール１２０によって拡大された領域で、画像受付モジュール１０５が受け付けた画像から第１の画像（以下、候補領域画像ともいう）を切り出す。もちろんのことながら、領域拡大モジュール１２０によって拡大された領域内には、文字切取モジュール１１０が切り出した領域が含まれているので、対象の画像が含まれていることになり、その周辺画像も含まれることになる。周辺画像には、他の対象が存在することもあり、文字切取モジュール１１０で検出された対象が、真に対象であるか否かを、より明確に判定することができることになる。対象が文字である場合は、文字切取モジュール１１０で検出された文字に隣接している文字を含めて、画像切出モジュール１３０は切り出すことになる。例えば、文字切取モジュール１１０で検出された文字画像が「１」であった場合、その形状だけでは、文字であるか否かを判定することが困難であることが多い。しかし、その周囲に他の文字（「８」、「日」等）があれば、「１」という文字があると判定しやすくなる。つまり、判定の精度を高めることができるようになる。一方、単に、領域内に複数の対象があるというだけでは、どれが学習の対象であるかが判然としないことになる。そこで、マップ画像生成モジュール１２５が生成した第２の画像も、機械学習モジュール１４０による学習の入力対象としたものである。
【００３１】
正解付与モジュール１３５は、機械学習モジュール１４０と接続されている。正解付与モジュール１３５は、文字切取モジュール１１０によって検出された領域内の画像に対する正解（教師データ）を、機械学習モジュール１４０に与えるものである。対象が文字である場合は、文字切取モジュール１１０によって検出された領域内の画像が文字であるか否かを示す情報、その文字の文字コード等がある。
【００３２】
機械学習モジュール１４０は、マップ画像生成モジュール１２５、画像切出モジュール１３０、正解付与モジュール１３５、学習結果出力モジュール１４５と接続されている。機械学習モジュール１４０は、画像切出モジュール１３０によって切り出された第１の画像とマップ画像生成モジュール１２５によって生成された第２の画像を用いて、機械学習を行う。この機械学習は、文字切取モジュール１１０によって切り出された対象を認識するための学習であり、その対象があるか否か、その対象が何であるか等の判定をするための学習である。具体的には、対象が文字である場合、文字切取モジュール１１０が検出した画像は、文字であるか否か、その文字は何の文字あるか（一般的な文字認識）等を行うための学習である。そして、機械学習モジュール１４０は、文字であるか否かを学習する場合は、文字である可能性を示す数値と文字ではない可能性を示す数値を出力するようにしてもよい。
機械学習モジュール１４０が行う機械学習として、例えば、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）、サポートベクターマシン（ＳＶＭ：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等がある。以下、ＣＮＮを例示して説明する。ＣＮＮでは、大量の学習データにより、自動的に画像の特徴抽出方法を学習する。そして、学習後は、ＣＮＮに画像を入力するだけで特徴量を抽出し、認識（ラベリング）を行うことができる。なお、ＣＮＮは、画像に写る物体の位置が多少ずれていても、そのずれを吸収する処理（後述するＣｏｎｖｏｌｕｔｉｏｎ処理、Ｐｏｏｌｉｎｇ処理）が組み込まれている。特に、Ｒ−ＣＮＮ（Ｒｅｇｉｏｎｓ  ｗｉｔｈ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）では、画像から文字切取モジュール１１０、領域抽出モジュール１１５で対象の領域を抽出し、抽出した領域を基準に画像の切り取りを行う。切り取られた画像（候補領域画像）をＣＮＮ（機械学習モジュール１４０）に入力し対象の認識を行う。そして、文字領域に適用した場合、前述したように、ＭＳＥＲによって領域を抽出し、抽出された領域を切り出し、ＣＮＮに入力しラベリングを行う。なお、ＣＮＮの出力はスコアでも文字認識結果でもよい。もちろんのことながら、正解付与モジュール１３５を不要として教師なし学習を行うようにしてもよい。
【００３３】
学習結果出力モジュール１４５は、機械学習モジュール１４０と接続されている。学習結果出力モジュール１４５は、学習結果を画像認識装置２００に渡す。具体的には、学習結果は、機械学習が終了したＣＮＮであり、画像認識装置２００の認識モジュール２４０として機能する。
【００３４】
図２は、本実施の形態（画像認識装置２００）の構成例についての概念的なモジュール構成図である。
本実施の形態である画像認識装置２００は、画像認識学習装置１００による学習結果を用いて画像認識を行うものであって、図２の例に示すように、画像受付モジュール２０５、文字切取モジュール２１０、領域抽出モジュール２１５、領域拡大モジュール２２０、マップ画像生成モジュール２２５、画像切出モジュール２３０、認識モジュール２４０、認識結果出力モジュール２４５を有している。。
なお、画像認識装置２００における画像受付モジュール２０５、文字切取モジュール２１０、領域抽出モジュール２１５、領域拡大モジュール２２０、マップ画像生成モジュール２２５、画像切出モジュール２３０は、図１の例に示した画像認識学習装置１００の画像受付モジュール１０５、文字切取モジュール１１０、領域抽出モジュール１１５、領域拡大モジュール１２０、マップ画像生成モジュール１２５、画像切出モジュール１３０と同等の処理、機能を有している。したがって、画像認識学習装置１００と画像認識装置２００は、これらのモジュールを共有して用いてもよい。なお、これらのモジュールの説明は省略する。
画像受付モジュール２０５は、文字切取モジュール２１０、画像切出モジュール２３０と接続されている。
文字切取モジュール２１０は、画像受付モジュール２０５、領域抽出モジュール２１５、マップ画像生成モジュール２２５と接続されている。
領域抽出モジュール２１５は、文字切取モジュール２１０、領域拡大モジュール２２０、マップ画像生成モジュール２２５と接続されている。
領域拡大モジュール２２０は、領域抽出モジュール２１５、画像切出モジュール２３０と接続されている。
マップ画像生成モジュール２２５は、文字切取モジュール２１０、領域抽出モジュール２１５、認識モジュール２４０と接続されている。
画像切出モジュール２３０は、画像受付モジュール２０５、領域拡大モジュール２２０、認識モジュール２４０と接続されている。
【００３５】
認識モジュール２４０は、マップ画像生成モジュール２２５、画像切出モジュール２３０、認識結果出力モジュール２４５と接続されている。認識モジュール２４０は、画像認識学習装置１００の機械学習モジュール１４０による学習結果を用いた認識を行う。例えば、画像認識学習装置１００によって機械学習されたＣＮＮを用いて認識を行う。具体的には、対象が文字である場合、文字切取モジュール２１０が検出した画像は、文字であるか否か、その文字は何の文字あるか（一般的な文字認識）等の認識を行う。
認識結果出力モジュール２４５は、認識モジュール２４０と接続されている。認識結果出力モジュール２４５は、認識モジュール２４０による認識結果を出力する。例えば、認識結果を、ディスプレイ等の表示装置に表示すること、プリンタ等の印刷装置で印刷すること、データベース等の記憶装置へ書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
【００３６】
図３は、本実施の形態を利用したシステム構成例を示す説明図である。
図３（ａ）に示す例は、画像認識学習装置１００は、画像取得装置３１０と接続されている。いわゆるスタンドアロン型のシステム構成である。画像取得装置３１０は、スキャナ、カメラ等である。そして、学習結果を画像認識装置２００に埋め込む。
図３（ｂ）に示す例は、画像認識装置２００は、画像撮影装置３２０と接続されている。いわゆるスタンドアロン型のシステム構成である。画像撮影装置３２０は、スキャナ、カメラ等である。画像認識装置２００と画像撮影装置３２０を一体型の構成とした認識装置としてもよい。
図３（ｃ）に示す例は、ユーザー端末３３０Ａ、ユーザー端末３３０Ｂ、ユーザー端末３３０Ｃ、画像処理装置３５０は、通信回線３９０を介してそれぞれ接続されている。通信回線３９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、画像処理装置３５０による機能は、クラウドサービスとして実現してもよい。
画像処理装置３５０は、画像認識学習装置１００、画像認識装置２００を有している。例えば、学習用の画像をユーザー端末３３０Ａが、画像処理装置３５０に送信し、画像認識学習装置１００で学習した後、ユーザー端末３３０Ａ、ユーザー端末３３０Ｂ、ユーザー端末３３０Ｃ等で、撮影した画像を画像処理装置３５０に送信し、画像認識装置２００による認識結果を返信してもよい。また、前述したように、画像認識学習装置１００と画像認識装置２００には共通するモジュールがあるので、画像認識学習装置１００と画像認識装置２００を一体型の構成として、画像認識学習装置１００として利用した後に、画像認識装置２００として利用するようにしてもよい。
【００３７】
図４は、本実施の形態による処理例を示すフローチャートである。画像認識学習装置１００による学習処理例である。
ステップＳ４０２では、画像受付モジュール１０５は、画像を受け付ける。ここでの画像は、学習対象である。
ステップＳ４０４では、文字切取モジュール１１０は、文字切取処理を行う。例えば、ＭＳＥＲ処理を行う。
ステップＳ４０６では、領域抽出モジュール１１５は、領域を抽出する（入力画像のＸＹ座標で取得する）。
ステップＳ４０８では、領域拡大モジュール１２０は、抽出された領域（切り取り領域）の範囲を拡大する。
【００３８】
ステップＳ４１０では、画像切出モジュール１３０は、入力画像から切り取り領域で画像（候補領域画像）を切り出す。
ステップＳ４１２では、マップ画像生成モジュール１２５は、関心領域とそれ以外の領域を２値で埋めた画像（マップ画像）を作成する。
ステップＳ４１４では、機械学習モジュール１４０は、候補領域画像とマップ画像を受け付ける。
ステップＳ４１６では、機械学習モジュール１４０は、機械学習を行う。もちろんのことながら、ステップＳ４０２からステップＳ４１６までの処理を、複数回繰り返して行う。
ステップＳ４１８では、学習結果出力モジュール１４５は、学習結果を出力する。
【００３９】
図５は、本実施の形態による処理例を示すフローチャートである。画像認識装置２００による認識処理例である。
ステップＳ５０２では、画像受付モジュール２０５は、画像を受け付ける。ここでの画像は、認識対象である。
ステップＳ５０４では、文字切取モジュール２１０は、文字切取処理を行う。例えば、ＭＳＥＲ処理を行う。
ステップＳ５０６では、領域抽出モジュール２１５は、領域を抽出する（入力画像のＸＹ座標で取得する）。
ステップＳ５０８では、領域拡大モジュール２２０は、抽出された領域（切り取り領域）の範囲を拡大する。
【００４０】
ステップＳ５１０では、画像切出モジュール２３０は、入力画像から切り取り領域で画像（候補領域画像）を切り出す。
ステップＳ５１２では、マップ画像生成モジュール２２５は、関心領域とそれ以外の領域を２値で埋めた画像（マップ画像）を作成する。
ステップＳ５１４では、認識モジュール２４０は、候補領域画像とマップ画像を受け付ける。
ステップＳ５１６では、認識モジュール２４０は、認識処理を行う。
ステップＳ５１８では、認識結果出力モジュール２４５は、認識結果を出力する。
【００４１】
図６は、本実施の形態による処理例を示す説明図である。画像認識装置２００による認識処理の具体例を示すものである。
ステップＳ６０２では、画像受付モジュール２０５は、画像６５０を受け付ける。
ステップＳ６０４では、文字切取モジュール２１０は、ＭＳＥＲ処理を行って、ＭＳＥＲ処理画像６５２を生成する。
ステップＳ６０６では、領域抽出モジュール２１５は、領域を抽出して、ＭＳＥＲ領域画像６５４のＸＹ座標（例えば、左上角の座標、幅、高さ）を取得する。
ステップＳ６０８では、領域拡大モジュール２２０は、切り取り領域を拡大する。ここでは、ＭＳＥＲ領域６５６をＭＳＥＲ拡大領域６５８のように拡大し、領域６６０を拡大領域６６２のように拡大する。
ステップＳ６１０−１では、画像切出モジュール２３０は、画像６５０から候補領域画像６６４を切り取る。
ステップＳ６１０−２では、マップ画像生成モジュール２２５は、ＭＳＥＲ拡大領域でのマップ画像６６６を作成する。
ステップＳ６１２では、認識モジュール２４０は、ＣＮＮを行う。そして、認識結果出力モジュール２４５は、認識結果であるスコア６７０を出力する。ステップＳ６１２の処理については、図７の例を用いて説明する。
【００４２】
図７は、本実施の形態による処理例を示す説明図である。候補領域画像６６４とマップ画像６６６をもとにスコア６７０を算出する。候補領域画像６６４は、抽出した領域と周辺領域を含んだ画像である。マップ画像６６６は、関心領域を表した画像である。
ステップＳ７０２では、候補領域画像６６４に対して、ｃｏｎｖ１処理を行う。つまり、１回目の、Ｃｏｎｖｏｌｕｔｉｏｎ（畳み込み）処理を行う。具体的には、フィルタ処理を行い、Ｃｏｎｖｏｌｕｔｉｏｎ  Ｌａｙｅｒ（ｃｏｎｖ１処理結果）を作成する。
ステップＳ７０４では、ｃｏｎｖ１処理結果に対して、ｐｏｏｌ１処理を行う。つまり、１回目のＰｏｏｌｉｎｇ（レイヤの縮小）処理を行う。具体的には、画像の圧縮を行い、Ｐｏｏｌｉｎｇ  Ｌａｙｅｒ（ｐｏｏｌ１処理結果）を作成する。
【００４３】
ステップＳ７０６では、ｐｏｏｌ１処理結果に対して、ｃｏｎｖ２処理を行う。つまり、２回目のＣｏｎｖｏｌｕｔｉｏｎ処理を行う。
ステップＳ７０８では、ｃｏｎｖ２処理結果に対して、ｐｏｏｌ２処理を行う。つまり、２回目のＰｏｏｌｉｎｇ処理を行う。
ステップＳ７１０では、ｐｏｏｌ２処理結果に対して、ｃｏｎｖ３処理を行う。つまり、３回目のＣｏｎｖｏｌｕｔｉｏｎ処理を行う。
ステップＳ７１２では、ｃｏｎｖ３処理結果に対して、ｃｏｎｖ４処理を行う。つまり、４回目のＣｏｎｖｏｌｕｔｉｏｎ処理を行う。
ステップＳ７１４では、ｃｏｎｖ４処理結果に対して、ｃｏｎｖ５処理を行う。つまり、５回目のＣｏｎｖｏｌｕｔｉｏｎ処理を行う。
【００４４】
ステップＳ７０２ａ〜ステップＳ７１４ａの処理は、候補領域画像６６４ではなくマップ画像６６６を対象する以外は、ステップＳ７０２〜ステップＳ７１４の処理と同等である。
ステップＳ７０２ａでは、マップ画像６６６に対して、ｃｏｎｖ１−ａ処理を行う。
ステップＳ７０４ａでは、ｃｏｎｖ１−ａ処理結果に対して、ｐｏｏｌ１−ａ処理を行う。
ステップＳ７０６ａでは、ｐｏｏｌ１−ａ処理結果に対して、ｃｏｎｖ２−ａ処理を行う。
ステップＳ７０８ａでは、ｃｏｎｖ２−ａ処理結果に対して、ｐｏｏｌ２−ａ処理を行う。
ステップＳ７１０ａでは、ｐｏｏｌ２−ａ処理結果に対して、ｃｏｎｖ３−ａ処理を行う。
ステップＳ７１２ａでは、ｃｏｎｖ３−ａ処理結果に対して、ｃｏｎｖ４−ａ処理を行う。
ステップＳ７１４ａでは、ｃｏｎｖ４−ａ処理結果に対して、ｃｏｎｖ５−ａ処理を行う。
【００４５】
ステップＳ７１６では、ｃｏｎｖ５処理結果とｃｏｎｖ５−ａ処理結果に対して、ｆｃ１処理を行う。
ステップＳ７１８では、ｆｃ１処理結果に対して、ｆｃ２処理を行う。
ステップＳ７２０では、ｆｃ２処理結果に対して、ｆｃ３処理を行う。そして、スコア６７０として、文字領域スコア７７２と非文字領域スコア７７４を出力する。
ステップＳ７１６〜ステップＳ７２０で、３層のＦｕｌｌｙ  Ｃｏｎｎｅｃｔ処理を行う。つまり、ステップＳ７０２〜ステップＳ７１４で生成された特徴マップを入力して識別を行う。
【００４６】
ここで、領域を拡大する意味について、具体例を用いて説明する。図８は、本実施の形態による処理例を示す説明図である。
ステップＳ８０２では、画像受付モジュール１０５は、画像８５０を受け付ける。この画像８５０内には、複数の文字（図８の例では、「ａｌａｒｍ」）が撮影されている。
ステップＳ８０４では、文字切取モジュール１１０は、画像８５０に対して、ＭＳＥＲ処理を行う。そして、１つの文字としてＭＳＥＲ領域画像８５２（図８の例では、「ｌ」）を検出する。
ステップＳ８０６では、領域抽出モジュール１１５は、ＭＳＥＲ領域画像８５２からＭＳＥＲ領域画像８５４を抽出する。具体的には、ＭＳＥＲ領域画像８５２のバウンディングボックスであるＭＳＥＲ領域画像８５４の左上角のＸＹ座標、幅、高さを抽出する。
なお、領域画像８５６は、ＭＳＥＲ領域画像８５４に対応して、画像８５０から切り出した画像である。この領域画像８５６だけでは、文字「Ｉ」なのか、それに類似する物体なのか判別ができない。つまり、本実施の形態を用いない技術（従来の技術）では、領域画像８５６だけを機械学習の入力としているので、領域画像８５６のような画像に対しては、文字であるか画像であるかの判定精度が低かった。
【００４７】
ステップＳ８０８では、領域拡大モジュール１２０は、切り取り領域を拡大する。具体的には、ＭＳＥＲ領域画像８５４を幅と高さの大きい方に合わせて整形（正方形化）して、正方ＭＳＥＲ領域画像８５８を生成している。
なお、正方領域画像８６０は、正方ＭＳＥＲ領域画像８５８に対応して、画像８５０から切り出した画像である。
ステップＳ８１０では、領域拡大モジュール１２０は、切り取り領域を拡大する。具体的には、正方ＭＳＥＲ領域画像８５８を縦横ともに２倍して、マップ画像８６２を生成している。
なお、候補領域画像８６４は、マップ画像８６２に対応して、画像８５０から切り出した画像である。つまり、領域を拡大することによって、文字切取モジュール１１０が抽出した領域に対応する領域画像８５６の周辺領域を機械学習に加えることができるようになった。具体的には、画像「Ｉ」の近辺には画像「ａ」があり、画像「Ｉ」は文字であるとする判定を補助する情報となる。具体的には、「文字の周辺には文字がある可能性が高い」ということが機械学習されることとなる。しかし、単に、領域を拡大しただけでは（候補領域画像８６４だけでは）、どの部分を判定すればよいかの情報が失われてしまう。そこで、本来の判定対象となっている部分を示すマップ画像８６２も機械学習の入力としている。つまり、マップ画像８６２により判定する部分が明確なため、それ以外の部分（図８の例では、画像「ａ」）は補助情報として取り扱えることとなる。
【００４８】
図９を参照して、本実施の形態の画像認識学習装置１００、画像認識装置２００のハードウェア構成例について説明する。図９に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部９１７と、プリンタ等のデータ出力部９１８を備えたハードウェア構成例を示している。
【００４９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１は、前述の実施の形態において説明した各種のモジュール、すなわち、画像受付モジュール１０５、文字切取モジュール１１０、領域抽出モジュール１１５、領域拡大モジュール１２０、マップ画像生成モジュール１２５、画像切出モジュール１３０、正解付与モジュール１３５、機械学習モジュール１４０、学習結果出力モジュール１４５、画像受付モジュール２０５、文字切取モジュール２１０、領域抽出モジュール２１５、領域拡大モジュール２２０、マップ画像生成モジュール２２５、画像切出モジュール２３０、認識モジュール２４０、認識結果出力モジュール２４５等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス９０４により相互に接続されている。
【００５１】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス９０６に接続されている。
【００５２】
キーボード９０８、マウス等のポインティングデバイス９０９は、操作者により操作されるデバイスである。ディスプレイ９１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス９０９とディスプレイ９１０の両方の機能を備えているタッチスクリーン等であってもよい。
【００５３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）９１１は、ハードディスク（フラッシュ・メモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ９０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象としている画像、切り取られた画像、学習対象となる画像等が格納される。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００５４】
ドライブ９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース９０７、外部バス９０６、ブリッジ９０５、及びホストバス９０４を介して接続されているＲＡＭ９０３に供給する。なお、リムーバブル記録媒体９１３も、データ記録領域として利用可能である。
【００５５】
接続ポート９１４は、外部接続機器９１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート９１４は、インタフェース９０７、及び外部バス９０６、ブリッジ９０５、ホストバス９０４等を介してＣＰＵ９０１等に接続されている。通信部９１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部９１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部９１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５６】
なお、図９に示す画像認識学習装置１００、画像認識装置２００のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５７】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５８】
１００…画像認識学習装置
１０５…画像受付モジュール
１１０…文字切取モジュール
１１５…領域抽出モジュール
１２０…領域拡大モジュール
１２５…マップ画像生成モジュール
１３０…画像切出モジュール
１３５…正解付与モジュール
１４０…機械学習モジュール
１４５…学習結果出力モジュール
２００…画像認識装置
２０５…画像受付モジュール
２１０…文字切取モジュール
２１５…領域抽出モジュール
２２０…領域拡大モジュール
２２５…マップ画像生成モジュール
２３０…画像切出モジュール
２４０…認識モジュール
２４５…認識結果出力モジュール
３１０…画像取得装置
３２０…画像撮影装置
３３０…ユーザー端末
３５０…画像処理装置
３９０…通信回線
【図１】
2018045359.tif 000003
【図２】
2018045359.tif 000004
【図３】
2018045359.tif 000005
【図４】
2018045359.tif 000006
【図５】
2018045359.tif 000007
【図６】
2018045359.tif 000008
【図７】
2018045359.tif 000009
【図８】
2018045359.tif 000010
【図９】
2018045359.tif 000011