(57)【要約】【課題】  複数のニューラルネットワークを組み合わせることで検出対象物体を精度良く検出する仕組みを提供すること【解決手段】  画像から第１の検出対象物体を検出する第１の学習済みモデルにより、画像から第１の検出対象物体を検出する第１の検出手段と、前記第１の検出対象物体に係る画像から第２の検出対象物体を検出する第２の学習済みモデルにより、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段と、【選択図】  図１
2020197795.tif 000002
【特許請求の範囲】
【請求項１】
画像から第１の検出対象物体を検出する第１の学習済みモデルにより、画像から第１の検出対象物体を検出する第１の検出手段と、
前記第１の検出対象物体に係る画像から第２の検出対象物体を検出する第２の学習済みモデルにより、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
物体検出対象の画像を入力する入力手段と、
画像と、当該画像に含まれる第１の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第１の学習済みモデルによって、前記入力手段により入力された画像から第１の検出対象物体を検出する第１の検出手段と、
画像と、当該画像に含まれる第２の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第２の学習済みモデルによって、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段と、
を備えることを特徴とする情報処理装置。
【請求項３】
前記入力手段により入力された画像から、前記第１の検出手段により検出された第１の検出対象物体を切り出した画像を生成する切り出し画像生成手段をさらに備え、
前記第２の検出手段は、前記切り出し画像生成手段により生成した画像から、前記第２の検出対象物体を検出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
コンピュータを、
画像から第１の検出対象物体を検出する第１の学習済みモデルにより、画像から第１の検出対象物体を検出する第１の検出手段と、
前記第１の検出対象物体に係る画像から第２の検出対象物体を検出する第２の学習済みモデルにより、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段として機能させるためのプログラム。
【請求項５】
コンピュータを、
物体検出対象の画像を入力する入力手段と、
画像と、当該画像に含まれる第１の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第１の学習済みモデルによって、前記入力手段により入力された画像から第１の検出対象物体を検出する第１の検出手段と、
画像と、当該画像に含まれる第２の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第２の学習済みモデルによって、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
近年、多層ニューラルネットワーク（ディープラーニング）を用いた画像認識の有効性が広く認知され、画像に写った物体を検出する技術や、画像に何が写っているのかを認識する技術の開発が進められている。例えば、特許文献１には、ニューラルネットワークを用いた物体検出技術であって、より高速に物体検出を行う技術について開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−７７８２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークを用いた画像認識技術において、処理の高速化や検出精度の向上を実現するために、学習用データとしてどのようなデータを用いるか、どのような構造のニューラルネットワークを用いるか、といった様々な観点から工夫を重ねる必要がある。
【０００５】
そこで、本発明は、複数のニューラルネットワークを組み合わせることで検出対象物体を精度良く検出する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、画像から第１の検出対象物体を検出する第１の学習済みモデルにより、画像から第１の検出対象物体を検出する第１の検出手段と、前記第１の検出対象物体に係る画像から第２の検出対象物体を検出する第２の学習済みモデルにより、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段とを備えることを特徴とする。
【０００７】
また、本発明の情報処理装置は、物体検出対象の画像を入力する入力手段と、画像と、当該画像に含まれる第１の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第１の学習済みモデルによって、前記入力手段により入力された画像から第１の検出対象物体を検出する第１の検出手段と、画像と、当該画像に含まれる第２の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習することで生成された第２の学習済みモデルによって、前記第１の検出手段により検出された第１の検出対象物体に含まれる第２の検出対象物体を検出する第２の検出手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のニューラルネットワークを組み合わせることで検出対象物体を精度良く検出するが可能となる。
【図面の簡単な説明】
【０００９】
【図１】システム構成の一例を示す図
【図２】サーバ装置１０１、データベースサーバ１０２に適用可能な情報処理装置のハードウェア構成の一例を示す図
【図３】本発明の処理内容を示すフローチャート
【図４】属性情報テーブルの一例を示す図
【図５】画像情報テーブルの一例を示す図
【図６】矩形情報テーブルの一例を示す図
【図７】親物体を検出対象物体Ａ、子物体を検出対象物体ａとして図３の処理を行った際の結果を模式的に示した図
【図８】本発明の処理内容を模式的に示した図
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１１】
まず、図１を説明する。図１は、本発明のある物体を内包する物体を検出するシステムの構成の一例を示すシステム構成図である。
【００１２】
サーバ装置１０１は、データベースサーバ１０２で管理するデータをデータベースサーバから取得し、取得したデータに含まれる画像データを解析して、対象物体位置の推定を行う。
【００１３】
サーバ装置１０１は、本発明における対象物体位置推定を行う情報処理装置の一例である。
【００１４】
データベースサーバ１０２は、図５に示されるようなテーブルのデータを読み出し、書き出しするデータベースとして管理するサーバであり、サーバ装置１０１からの要求に従って、当該データベースサーバ１０２が管理するデータをサーバ装置１０１に送信する。
【００１５】
なお、本実施形態ではサーバ装置１０１とデータベースサーバ１０２を別々の装置としたが、他の実施形態として、サーバ装置１０１とデータベースサーバ１０２はひとつの装置であっても良い。
【００１６】
以下、図２を用いて図１に示したサーバ装置１０１、データベースサーバ１０２に適用可能な情報処理装置のハードウェア構成について説明する。
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１７】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
【００１８】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
【００１９】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２０】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２１】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２２】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２３】
次に図３のフローチャートを用いて、本発明のある物体を内包する物体を検出するシステムにおける、サーバ装置１０１、データベースサーバ１０２で動作する全体の処理について説明する。
【００２４】
ステップＳ３０１でサーバ装置１０１のＣＰＵ２０１は、図５に示すデータベースサーバ１０２で管理する画像情報テーブルを読み込み、画像データパス５０３に配置されている画像を読み込む。
【００２５】
図５は、データベースサーバ１０２の外部メモリ２１１に記憶された画像情報テーブルの一例である。図５の画像情報テーブルは、時刻５０１、画像ＩＤ５０２、画像データパス５０３から構成される。
【００２６】
ステップＳ３０２でサーバ装置１０１のＣＰＵ２０１は、画像情報を第１の検出対象物体（親物体）を検出するためのニューラルネットワーク（学習済みモデル）に送り込んで前方伝搬を行い、出力を取得する。ここで出力とは、画像内の物体の矩形（位置）情報を指す。これは、例えば公知技術であるＦａｓｔｅｒ  Ｒ−ＣＮＮにおいて用いられるような畳み込みＮＮ構造を用いることで実現可能である。
【００２７】
ステップＳ３０３でサーバ装置１０１のＣＰＵ２０１は、ステップＳ３０１で読み込んだ画像からステップＳ３０２で出力した第１の検出対象物体（親物体）の矩形情報に基づき、画像の切り出し処理を行う。
【００２８】
ステップＳ３０４でサーバ装置１０１のＣＰＵ２０１は、ステップＳ３０３で切り出された画像情報を第２の検出対象物体（子物体）を検出するためのニューラルネットワーク（学習済みモデル）に送り込んで前方伝搬を行い、出力を取得する。ここで出力とは、画像内の第２の検出対象物体（子物体）の矩形（位置）情報を指す。これは、ステップＳ３０２と同様に公知技術であるＦａｓｔｅｒ  Ｒ−ＣＮＮにおいて用いられるような畳み込みＮＮ構造を用いることで実現可能である。
【００２９】
ステップＳ３０５でサーバ装置１０１のＣＰＵ２０１は、第２の検出対象物体（子物体）矩形を持たない、第１の検出対象物体（親物体）矩形を削除する。
【００３０】
次に図３の処理内容の具体例を、図７を使って説明をする。
【００３１】
図７は親物体を検出対象物体Ａ、子物体を検出対象物体ａとして図３の処理を行った際の結果を模式的に示した例である。
【００３２】
ステップＳ３０１では、例えば７０１のような画像を入力する。７０１の画像は、検出対象物体Ａ（親物体）である７０１−１および７０１−２、検出対象物体ａ（子物体）である７０１−３〜７０１−７、検出対象外の物体である７０１−８および７０１−９が写っている画像である。
【００３３】
ステップＳ３０２では、７０１の入力画像を親物体検出ＮＮに入力し、７０２を出力として取得する。７０２に示すように、親物体検出ＮＮによって、画像７０１に対して親検出物体が含まれる矩形情報（一点鎖線により示す矩形）が出力される。
【００３４】
ステップＳ３０３でサーバ装置１０１のＣＰＵ２０１は、元画像７０１からステップＳ３０２で出力された親検出物体の矩形情報をもとに画像を切り出し、画像７０４、画像７０６を作成する。
【００３５】
画像７０４は、画像７０１における親物体７０１−１を切り出した画像である。画像７０６は、画像７０１における親物体７０１−２を切り出した画像である。
【００３６】
ステップＳ３０４でサーバ装置１０１のＣＰＵ２０１は、切り出された画像７０４、７０６をそれぞれ子物体検出ＮＮに入力し、７０５、７０７を出力として取得する。
【００３７】
７０５に示すように、子物体検出ＮＮによって画像７０４に対して子検出物体が含まれる矩形情報（点線で示す矩形）が出力される。また、９０７に示すように、画像内（親物体内）に子物体が含まれない画像７０６に対しては、子物体検出ＮＮによって矩形情報は出力されない。
【００３８】
ステップＳ３０５でサーバ装置１０１のＣＰＵ２０１は、画像７０８のような結果を最終出力する。これは、画像７０２の結果をベースに、子物体検出ＮＮの出力結果である画像７０５、画像７０７を反映することによって得られる。画像７０５のように子物体が検出された場合には、親物体矩形に子物体矩形を追加する。画像７０７のように子物体が検出されない場合には、親物体矩形を削除する。
【００３９】
以上のように、最終的に検出したい物体（本実施例における子物体）を直接的に検出するのではなく、まず親物体を検出し、検出された親物体に含まれる子物体を検出するという構成を用いることで、より精度の高い物体検出を実現することができる。
【００４０】
また、図７の７０１−５〜７０１−７に示す物体が、検出対象物体ａに類似する物体であった場合でも、７０１−５〜７０１−７は検出対象物体Ａに含まれる物体ではないことから、これらを検出対象物体ａとして誤検出することもなくなる。
【００４１】
次に、親物体検出ＮＮ（第１の検出対象物体を検出するための学習済みモデル）、子物体検出ＮＮ（第２の検出対象物体を検出するための学習済みモデル）に生成に用いる学習データ（学習用データ）の例を図４、図６、図８を用いて示す。
【００４２】
図４は、属性情報テーブルの一例であり、図６の属性ＩＤ６０７により用いられるデータである。図６の矩形情報テーブルにおける属性ＩＤ６０７に「０」が登録されている場合は、当該矩形で示される領域は、背景であることを意味する。同様に、図６の矩形情報テーブルにおける属性ＩＤ６０７に「１」が登録されている場合は、当該矩形で示される領域は、「物体Ａ（親物体）」であることを、図６の矩形情報テーブルにおける属性ＩＤ６０７に「２」が登録されている場合は、当該矩形で示される領域は、「物体ａ（子物体）」であることを意味する。
【００４３】
図６は、であり、矩形ＩＤ６０１、画像ＩＤ６０２、画像における矩形の位置（範囲）を示す座標情報（６０３〜６０６）、属性ＩＤ６０７から構成される。
【００４４】
例えば、矩形ＩＤ：１で示される矩形は、画像ＩＤ：１で特定される画像（図５の画像ＩＤ５０２が「１」である画像）において、「ｍｉｎｘ：９０，ｍｉｎｙ：９０，ｍａｘｘ：１４０，ｍａｘｙ：１４０」で特定される矩形領域に、属性ＩＤ：１の物体（物体Ａ（親物体））が含まれていることを示している。
【００４５】
同様に、矩形ＩＤ：２で示される矩形は、画像ＩＤ：１で特定される画像（図５の画像ＩＤ５０２が「１」である画像）において、「ｍｉｎｘ：９５，ｍｉｎｙ：９５，ｍａｘｘ：１００，ｍａｘｙ：１００」で特定される矩形領域に、属性ＩＤ：２の物体（物体ａ（子物体））が含まれていることを示している。
【００４６】
このように、画像と、当該画像における親物体、子物体の位置情報とを対応付けたデータを学習用データとしてＮＮに入力し、学習させることで、親物体検出ＮＮや子物体検出ＮＮが生成される。
【００４７】
親物体検出ＮＮには、例えば図８の元画像８０１と、８０２や８０３のような矩形情報を学習データとして与える。なお、矩形８０２は図６の矩形ＩＤ：１、矩形８０３は図６の矩形ＩＤ：４にそれぞれ対応する。
【００４８】
図８の８０３は、検出対象物体ａ（子物体）を含まない検出対象物体Ａ（親物体）を示す矩形情報であるが、８０３のように子物体を持たない（包含しない）親物体を示す矩形情報は、学習データとして与えなくても良い。
【００４９】
子物体検出ＮＮには、例えば元画像８０１から、矩形情報８０２、８０３に基づいて切り出した画像８０４、８０７と、８０５、８０６のような矩形情報を学習データとして与える。矩形８０５、８０６は図６の矩形ＩＤ：２と矩形ＩＤ：３、および切り出し矩形である矩形ＩＤ：１の矩形情報から計算することで求めることができる。
【００５０】
具体的には、画像８０４における矩形８０５のｍｉｎｘ，ｍｉｎｙは、矩形ＩＤ：２のｍｉｎｘ（＝９５
），ｍｉｎｙ（＝９５）から矩形ＩＤ：１のｍｉｎｘ（＝９０），ｍｉｎｙ（＝９０）を減算した値（ｍｉｎｘ＝５，ｍｉｎｙ＝５）で求めることができる。画像８０４における矩形８０５のｍａｘｘ，ｍａｘｙは、矩形ＩＤ：２のｍａｘｘ（＝１００
），ｍａｘｙ（＝１００）から矩形ＩＤ：１のｍｉｎｘ（＝９０），ｍｉｎｙ（＝９０）を減算した値（ｍａｘｘ＝１０，ｍａｘｙ＝１０）で求めることができる。
【００５１】
なお、検出対象の子物体は、親物体に内包されるものであるため、子物体の矩形情報を親物体矩形からの相対値としてテーブルに保存しておき、そこから読みだすとしても良い。
【００５２】
以上のように、親物体検出ＮＮ（第１の検出対象物体を検出するための学習済みモデル）は、画像と、当該画像に含まれる第１の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習させることで生成される。
【００５３】
また、子物体検出ＮＮ（第２の検出対象物体を検出するための学習済みモデル）は、画像と、当該画像に含まれる第２の検出対象物体の位置を示す情報とを対応付けた学習用データにより学習させることで生成される。
【００５４】
本実施例では図７のような模式的な例を用いて説明したが、本発明は、例えば、航空写真から建物（本実施例における親物体）の屋上にある貯水槽やソーラーパネル（本実施例における子物体）を検出することや、公園（本実施例における親物体）にある滑り台（本実施例における子物体）を検出することや、人物（本実施例における親物体）が胸に付けたり首から提げたＩＤカード（本実施例における子物体）を検出すること等に適用可能な技術である。
【００５５】
なお、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５６】
また、本発明におけるプログラムは、図３に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図３の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図３の各装置の処理方法ごとのプログラムであってもよい。
【００５７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００５８】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００５９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００６０】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６２】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００６３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００６４】
１０１  サーバ装置
１０２  データベースサーバ
【図１】
2020197795.tif 000003
【図２】
2020197795.tif 000004
【図３】
2020197795.tif 000005
【図４】
2020197795.tif 000006
【図５】
2020197795.tif 000007
【図６】
2020197795.tif 000008
【図７】
2020197795.tif 000009
【図８】
2020197795.tif 000010