(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172115
(43)【公開日】2023-12-06
(54)【発明の名称】物体検知モデル学習装置、物体検知装置及び物体検知モデル学習方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20231129BHJP
G06V 10/70 20220101ALI20231129BHJP
G06N 20/00 20190101ALI20231129BHJP
【FI】
G06T7/00 350B
G06V10/70
G06N20/00 130
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022083698
(22)【出願日】2022-05-23
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】永吉 洋登
(72)【発明者】
【氏名】會下 拓実
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096JA11
5L096JA22
5L096KA04
(57)【要約】 (修正有)
【課題】物体検知モデルの学習精度を向上することができる物体検知モデル学習装置を提供する。
【解決手段】物体検知モデル学習装置において、学習用データ生成部100は、検知対象の物体の画像をコンピュータグラフィックスで合成することで学習用データを生成し、検知対象の物体に関する第一の教師信号と、検知対象の物体の撮像時の状態に対応する第二の教師信号を生成する。物体検知モデルは、検知対象の物体に関する第一の推論結果を出力する第一の推論部161と、検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部162と、を備える。第一の推論部161は、入力画像と第二の推論結果とを用いて第一の推論結果を求める。物体検知学習部150は、学習用データを第二の推論部162に与えて第二の推論部162の学習を行い、学習用データ及び第二の推論結果を第一の推論部161に与えて第一の推論部161の学習を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力画像から物体を検知する物体検知モデルの学習を行う物体検知学習部と、
前記学習に用いる学習用データを生成する学習用データ生成部と、を備え、
前記学習用データ生成部は、
検知対象の物体の画像をコンピュータグラフィックスで合成することで前記学習用データを生成し、
前記学習用データについて、前記検知対象の物体に関する第一の教師信号を生成し、
前記学習用データについて、前記検知対象の物体の撮像時の状態に対応する第二の教師信号を生成し、
前記物体検知モデルは、
前記入力画像について、前記検知対象の物体に関する第一の推論結果を出力する第一の推論部と、
前記入力画像について、前記検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部と、を備え、
前記第一の推論部は、前記入力画像と前記第二の推論結果とを用いて前記第一の推論結果を求めるものであり、
前記物体検知学習部は、
前記学習用データを前記第二の推論部に与えて得られた第二の推論結果と前記第二の教師信号との差を第二の誤差として求める第二の誤差計算部と、
前記学習用データ及び前記第二の推論結果を前記第一の推論部に与えて得られた第一の推論結果と前記第一の教師信号との差を第一の誤差として求める第一の誤差計算部と、
前記第二の誤差に基づいて前記第二の推論部のパラメータを更新し、前記第一の誤差に基づいて前記第一の推論部のパラメータを更新する推論パラメータ更新部と、を備えることを特徴とする物体検知モデル学習装置。
【請求項2】
請求項1に記載の物体検知モデル学習装置であって、
前記学習用データ生成部は、
前記コンピュータグラフィックスのパラメータに関する制約条件と、前記第一の教師信号の選択条件と、前記第二の教師信号の選択条件とを受け付け、
前記制約条件の範囲内で複数のコンピュータグラフィックス合成パラメータを生成し、前記コンピュータグラフィックス合成パラメータに基づいて前記学習用データを生成し、
前記コンピュータグラフィックス合成パラメータと前記第一の教師信号の選択条件とを用いて前記第一の教師信号を生成し、
前記コンピュータグラフィックス合成パラメータと前記第二の教師信号の選択条件とを用いて前記第二の教師信号を生成することを特徴とする物体検知モデル学習装置。
【請求項3】
請求項1に記載の物体検知モデル学習装置であって、
前記第一の教師信号は、前記検知対象の物体の種別と、前記学習用データにおける前記検知対象の物体の位置とを含むことを特徴とする物体検知モデル学習装置。
【請求項4】
請求項1に記載の物体検知モデル学習装置であって、
前記第二の教師信号は、前記検知対象の物体とカメラとの位置関係、前記検知対象の物体に対する照明の状態、前記検知対象の物体の変形の状態のうち、すくなくともいずれかを含むことを特徴とする物体検知モデル学習装置。
【請求項5】
請求項4に記載の物体検知モデル学習装置であって、
前記第二の教師信号は、前記検知対象の物体の種別と、前記学習用データにおける前記検知対象の物体の位置とをさらに含むことを特徴とする物体検知モデル学習装置。
【請求項6】
請求項1に記載の物体検知モデル学習装置であって、
前記物体検知モデルは、共有の推論部をさらに備え、前記入力画像に対して前記共有の推論部による推論処理を行った後、共有の推論部の推論結果に対して前記第一の推論部及び前記第二の推論部による処理を行うことを特徴とする物体検知モデル学習装置。
【請求項7】
入力画像について、検知対象の物体に関する第一の推論結果を出力する第一の推論部と、
前記入力画像について、前記検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部と、を備え、
前記第一の推論部は、前記入力画像と前記第二の推論結果とを用いて前記第一の推論結果を求めることを特徴とする物体検知装置。
【請求項8】
入力画像から物体を検知する物体検知モデルの学習を行う物体検知学習方法であって、
検知対象の物体の画像をコンピュータグラフィックスで合成することで学習用データを生成するステップと、
前記学習用データについて、前記検知対象の物体に関する第一の教師信号を生成するステップと、
前記学習用データについて、前記検知対象の物体の撮像時の状態に対応する第二の教師信号を生成するステップと、
前記物体検知モデルが有する第二の推論部に対し、前記学習用データを与え、前記検知対象の物体の撮像時の状態に関する第二の推論結果を得るステップと、
前記物体検知モデルが有する第一の推論部に対し、前記学習用データと前記第二の推論結果とを与え、前記検知対象の物体に関する第一の推論結果を得るステップと、
前記第一の推論結果と前記第一の教師信号との差を第一の誤差として求めるステップと、
前記第二の推論結果と前記第二の教師信号との差を第二の誤差として求めるステップと、
前記第二の誤差に基づいて前記第二の推論部のパラメータを更新し、前記第一の誤差に基づいて前記第一の推論部のパラメータを更新するステップと、
を含むことを特徴とする物体検知モデル学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体検知モデル学習装置、物体検知装置及び物体検知モデル学習方法に関する。
【背景技術】
【0002】
従来、画像認識による物体検出の学習に際し、学習データの生成にコンピュータグラフィックス(CG)を利用することが行われている。例えば、特許文献1には、「物体検出処理、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得できる学習用データ生成システムを提供する。」、「学習用データ生成システムは、3次元空間を撮像して得た背景画像を取得する。また、物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得する。取得したCG物体生成用データに基づいてCG物体画像を生成する。3次元空間内での所定の位置にCG物体が配置されるように、CG物体画像を背景画像に合成することで得られるレンダリング画像を学習用画像として取得する。」という記載がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術によれば、検知対象の物体を実際に撮像して得た実画像を学習用データとして用いる場合と同等の学習精度を実現できる。しかしながら、従来の技術は、実画像による学習よりも高い学習精度を実現するものではない。
【0005】
本発明は、物体検知モデルの学習精度を向上することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、代表的な本発明の物体検知モデル学習装置の一つは、入力画像から物体を検知する物体検知モデルの学習を行う物体検知学習部と、前記学習に用いる学習用データを生成する学習用データ生成部と、を備え、前記学習用データ生成部は、検知対象の物体の画像をコンピュータグラフィックスで合成することで前記学習用データを生成し、前記学習用データについて、前記検知対象の物体に関する第一の教師信号を生成し、前記学習用データについて、前記検知対象の物体の撮像時の状態に対応する第二の教師信号を生成し、前記物体検知モデルは、前記入力画像について、前記検知対象の物体に関する第一の推論結果を出力する第一の推論部と、前記入力画像について、前記検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部と、を備え、前記第一の推論部は、前記入力画像と前記第二の推論結果とを用いて前記第一の推論結果を求めるものであり、前記物体検知学習部は、前記学習用データを前記第二の推論部に与えて得られた第二の推論結果と前記第二の教師信号との差を第二の誤差として求める第二の誤差計算部と、前記学習用データ及び前記第二の推論結果を前記第一の推論部に与えて得られた第一の推論結果と前記第一の教師信号との差を第一の誤差として求める第一の誤差計算部と、前記第二の誤差に基づいて前記第二の推論部のパラメータを更新し、前記第一の誤差に基づいて前記第一の推論部のパラメータを更新する推論パラメータ更新部と、を備えることを特徴とする。
また、代表的な本発明の物体検知装置の一つは、入力画像について、検知対象の物体に関する第一の推論結果を出力する第一の推論部と、前記入力画像について、前記検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部と、を備え、前記第一の推論部は、前記入力画像と前記第二の推論結果とを用いて前記第一の推論結果を求めることを特徴とする。
入力画像から物体を検知する物体検知モデルの学習を行う物体検知学習方法であって、検知対象の物体の画像をコンピュータグラフィックスで合成することで前記学習用データを生成するステップと、前記学習用データについて、前記検知対象の物体に関する第一の教師信号を生成するステップと、前記学習用データについて、前記検知対象の物体の撮像時の状態に対応する第二の教師信号を生成するステップと、前記物体検知モデルが有する第二の推論部に対し、前記学習用データを与え、前記検知対象の物体の撮像時の状態に関する第二の推論結果を得るステップと、前記物体検知モデルが有する第一の推論部に対し、前記学習用データと前記第二の推論結果とを与え、前記検知対象の物体に関する第一の推論結果を得るステップと、前記第一の推論結果と前記第一の教師信号との差を第一の誤差として求めるステップと、前記第二の推論結果と前記第二の教師信号との差を第二の誤差として求めるステップと、前記第二の誤差に基づいて前記第二の推論部のパラメータを更新し、前記第一の誤差に基づいて前記第一の推論部のパラメータを更新するステップと、を含むことを特徴とする。
【発明の効果】
【0007】
本発明によれば、物体検知モデルの学習精度を向上できる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、物体検知モデル学習装置の構成図である。
【
図3】
図3は、CG合成パラメータ制約条件についての説明図である。
【
図4】
図4は、第一の教師信号選択条件の具体例である。
【
図5】
図5は、第二の教師信号選択条件の具体例である。
【
図6】
図6は、学習の処理手順を示すフローチャートである。
【
図7】
図7は、物体検知の処理手順を示すフローチャートである。
【
図11】
図11は、変形例にかかる物体検知モデル学習装置の構成図である。
【
図12】
図12は、変形例にかかる物体検知装置の構成図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。また、発明の構成に必須だが周知である構成については、図示及び説明を省略する場合がある。
【0010】
以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
【0011】
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0012】
また、以下の説明において、「プログラム」を主語として処理を説明する場合がある。プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及び/又はインターフェース部などを用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有するコントローラのようなデバイス)とされてもよい。
【0013】
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0014】
また、「プロセッサ部」は、1又は複数のプロセッサである。プロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。また、プロセッサは、シングルコアでもよいしマルチコアでもよい。また、プロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0015】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。また各図に示す各要素の数は一例であって、図示に限られるものではない。
【実施例0016】
図1は、物体検知モデル学習装置の構成図である。
図1に示した物体検知モデル学習装置は、物体検知学習部150と、学習用データ生成部100と、を備える。物体検知学習部150は、入力画像から物体を検知する物体検知モデルの学習を行う。学習用データ生成部100は、物体検知学習部150が学習に用いる学習用データを生成する。
【0017】
学習用データ生成部100は、検知対象の物体の画像をコンピュータグラフィックスで合成することで学習用データを生成する。また、学習用データ生成部100は、学習用データについて、検知対象の物体に関する第一の教師信号を生成し、検知対象の物体の撮像時の状態に対応する第二の教師信号を生成する。
【0018】
物体検知学習部150は、物体検知部160、第一の誤差計算部170、第二の誤差計算部171及び推論パラメータ更新部180を有する。
物体検知部160は、物体検知モデルに対応する処理部であり、第一の推論部161と第二の推論部162を有する。
【0019】
第二の推論部162は、入力画像について、検知対象の物体の撮像時の状態に関する第二の推論結果を出力する。第一の推論部161は、入力画像について、検知対象の物体に関する第一の推論結果を出力する。このとき、第一の推論部161は、入力画像と第二の推論結果とを用いて第一の推論結果を求める。例えば、第二の推論部162が、カメラの位置や照明の方向などを推論結果として出力したならば、第一の推論部161は、カメラの位置や照明の方向を考慮して、検知対象の物体の有無などを推論する。
【0020】
第一の推論部161及び第二の推論部162には、物体検知の既知の技術を利用できる。例えば、SSD(Single Shot MultiBox Detector)や、YOLO(You only look once: Unified, real-time object detection)などである。
これらの技術は、ニューラルネットワークを利用した技術であり、画像を入力すると検知対象の種類と検知対象の画像上での範囲を数値情報として出力する。出力できる数値情報はこれらの種類に限らないため、第一の推論部161のみならず第二の推論部162に利用することが可能である。
【0021】
第二の誤差計算部171は、学習用データを入力画像として第二の推論部162に与えて得られた第二の推論結果と、第二の教師信号との差を第二の誤差として求める。
第一の誤差計算部170は、学習用データ及び第二の推論結果を第一の推論部161に与えて得られた第一の推論結果と、第一の教師信号との差を第一の誤差として求める。
【0022】
推論パラメータ更新部180は、第二の誤差に基づいて第二の推論部162のパラメータを更新し、第一の誤差に基づいて第一の推論部161のパラメータを更新することで、物体検知部160の学習を行う。
【0023】
学習用データ生成部100は、条件入力部110、CG合成パラメータ制約条件保存部120、CG合成パラメータ生成部121、学習用CG生成部122、教師信号選択条件保存部130、教師信号選択部131、第一の教師信号生成部132及び第二の教師信号生成部133を有する。
【0024】
条件入力部110は、学習に関する各種条件の入力を受け付けるインターフェースである。学習に関する各種条件には、コンピュータグラフィックスのパラメータに関する制約条件であるCG合成パラメータ制約条件と、教師信号を選択する条件である教師信号選択条件とが含まれる。また、教師信号選択条件には、第一の教師信号の選択条件と、第二の教師信号の選択条件とが含まれる。
【0025】
CG合成パラメータ制約条件保存部120は、入力されたCG合成パラメータ制約条件を保存する。教師信号選択条件保存部130は、入力された教師信号選択条件を保存する。CG合成パラメータ制約条件保存部120及び教師信号選択条件保存部130は、任意の記憶媒体によって実現すればよい。
【0026】
CG合成パラメータ生成部121は、CG合成パラメータ制約条件の範囲内で複数のCG合成パラメータを生成し、学習用CG生成部122に出力する。
学習用CG生成部122は、CG合成パラメータ生成部121が生成した複数のCG合成パラメータについて、それぞれ学習用データを生成する。
【0027】
例えば、装置の検知を行う場合、CG合成パラメータ生成部121は、装置の種類、向き、照明方向などを指定したCG合成パラメータに基づいて、装置の外観のCGを生成し、背景画像に重畳することで学習用データを生成する。背景画像は、実画像であってもよいし、CGであってもよい。
【0028】
教師信号選択部131、CG合成パラメータと教師信号選択条件に基づいて、教師信号に含める項目を選択する処理を行う。第一の教師信号生成部132は、教師信号選択部131が選択した教師信号の項目について、第一の教師信号を生成する。第二の教師信号生成部133は、教師信号選択部131が選択した教師信号の項目について、第二の教師信号を生成する。
【0029】
例えば、CG合成パラメータが装置の種類、向き、照明方向などを指定する値を持ち、第一の教師信号として検知対象の種類が指定されていれば、装置の種類の値が第一の教師信号となる。同様に、第二の教師信号として照明方向が指定されていれば、照明方向の値が第二の教師信号となる。
【0030】
詳細については後述するが、第一の教師信号は、検知対象の物体の種別と、学習用データにおける検知対象の物体の位置とを含むことが好適である。また、第二の教師信号は、検知対象の物体とカメラとの位置関係、検知対象の物体に対する照明の状態、検知対象の物体の変形の状態のうち、すくなくともいずれかを含むことが好適である。
換言すれば、第一の教師信号は、何がどこにあるかのように、物体検知の出力として用いられる情報である。これに対し、第二の教師信号は、物体検知の精度向上に寄与する補助的な情報である。
【0031】
なお、第二の教師信号は、検知対象の物体の種別と、学習用データにおける検知対象の物体の位置とをさらに含んでもよい。すなわち、第二の教師信号に第一の教師信号と同じ情報が含まれていてもよい。この場合、第二の推論部は、第一の推論部が出力すべき情報を推論結果として出力しており、第一の推論部は、第二の推論結果を踏まえて改めて推論を行うことになる。
【0032】
図2は、物体検知装置の構成図である。物体検知装置は、
図1に示した物体検知部160に、画像入力部200と推論結果出力部210を接続した構成である。この構成では、画像入力部200は、第一の推論部161及び第二の推論部162に同一の入力画像を与える。第二の推論部162は、入力画像から撮像時の状態を推論し、第一の推論部161に出力する。
【0033】
第一の推論部161は、第二の推論部162により推論された撮像時の状態を考慮しつつ、入力画像に対する画像認識を実行し、検知対象の物体の有無や位置に関する推論を行って、推論結果出力部210に出力する。
なお、
図2では、第二の推論部162も推論結果出力部210への出力を行っている。第二の推論部162からの外部出力は必須ではないが、撮像時の状態を出力として求められるのであれば、出力は可能である。
【0034】
図3は、CG合成パラメータ制約条件についての説明図である。
図3に示した例では、CG合成パラメータ制約条件300は、項目名に入力値の最小値と最大値を対応付けることで、項目が取りうる値の範囲を示している。なお、項目名によっては細目名が設定されており、この場合には細目名ごとに入力値の最小値と最大値を対応付ける。
【0035】
項目名は、検知対象の種類、検知対象の個数、検知対象の位置、検知対象の向き、検知対象の変形パラメータ、カメラの位置、カメラの方向、照明数、照明の位置、照明の方向、照明範囲、照度、照明の色など含む。
【0036】
検知対象の種類は、例えば「装置A」等である。
検知対象の個数は、1つの学習用データに含める検知対象の数である。
図3では、1~3個の範囲を指定している。
【0037】
検知対象の位置は、検知対象の物体を配置する空間座標の範囲を示す。XYZ座標系を用いて検知対象の位置を示す場合には、X、Y、Zを細目名として有する。
図3では、X座標の範囲を50~200、Y座標の範囲を30~100、Z座標の範囲を0~0としている。
【0038】
検知対象の方向は、検知対象の向きの範囲を示す。例えば、水平角度φと垂直角度θの2つの細目名を用い、φの範囲を10度~30度、θの範囲を0度~0度のように指定する。
検知対象の変形パラメータは、検知対象の可動部を細目名として有する。変形パラメータは、検知対象の種類によって異なる。例えば装置Aが回動するアームを変形部として備えていれば、細目名はアーム角度、10度~50度を範囲とすればよい。変形パラメータは、伸縮部材、スライド部材などでもよい。また、複数の変形箇所があるならば、細目名の数を増やし、それぞれに範囲を設定する。
【0039】
カメラの位置は、仮想的なカメラの空間座標、すなわちCG合成した物体を見る視点の範囲を示す。XYZ座標系を用いてカメラの位置を示す場合には、X、Y、Zを細目名として有する。
図3では、X座標の範囲を0.0m~5.0m、Y座標の範囲を5.0m~10.0m、Z座標の範囲を3.0m~3.5mとしている。
【0040】
カメラの方向は、カメラの向きの範囲を示す。例えば、水平角度φと垂直角度θの2つの細目名を用い、φの範囲を0度~360度、θの範囲を110度~135度のように指定する。
【0041】
照明数は、CG合成における照明の数の範囲を示す。
照明の位置、照明の方向、照射範囲、照度、照明の色の項目は、照明数の分だけ指定する。照明の位置は、CG合成した物体に当てる照明の光源の位置に対応し、検知対象の位置やカメラの位置と同様に、XYZ座標で指定する。照明の方向は、検知対象の位置やカメラの向きと同様に水平角度φと垂直角度θで示す。
照明範囲は、照明が照らす範囲の角度であり、例えば30度~45度である。照度は、照明の明るさを示し、例えば1000lmである。照明の色は、例えばRGBで示せばよい。
【0042】
図4は、第一の教師信号選択条件の具体例である。
図4に示した第一の教師信号選択条件400は、第一の推論の出力として学習可能な項目について選択有無を指定する。第一の推論の出力として学習可能な項目としては、検知対象の種類、画像上の検知対象の範囲がある。これらの項目について選択有無の値が「有」であれば、当該項目の教師信号を生成する。
【0043】
具体的には、検知対象の種類が「有」であれば、CG合成パラメータを参照し、検知対象の種類の値をそのまま教師信号として使用すればよい。
画像上の検知対象の範囲の種類の値が「有」であれば、CG合成パラメータを参照し、検知対象の物体の空間座標、カメラの空間座標、カメラの向きに基づいて、カメラの画角の平面に検知対象の像を投影することで教師信号を生成する。
【0044】
図5は、第二の教師信号選択条件の具体例である。
図5に示した第二の教師信号選択条件500は、第二の推論の出力として学習可能な項目について選択有無を指定する。第二の推論の出力として学習可能な項目を例示する。
【0045】
「検知対象の種類」 第一の教師信号と同様であるので、説明を省略する。
「画像上の検知対象の範囲」 第一の教師信号と同様であるので、説明を省略する。
「検知対象の変形パラメータ」 CG合成パラメータを参照し、対応する項目の値をそのまま教師信号として使用すればよい。
「カメラに対しての検知対象の相対位置と相対方向」 CG合成パラメータを参照し、検知対象の物体の空間座標、カメラの空間座標、カメラの向きに基づいて、算出することができる。
「カメラに対しての、照明と相対位置、照射の相対方向」 CG合成パラメータを参照し、カメラの空間座標、カメラの向き、照明の空間座標、照明の向きに基づいて、算出することができる。
「検知対象に対しての、照明と相対位置、照射の相対方向」 CG合成パラメータを参照し、検知対象の物体の空間座標、照明の空間座標、照明の向きに基づいて、算出することができる。
「照射範囲」 CG合成パラメータを参照し、カメラと複数の照明に関する情報を統合して求めることができる。
「照度」 CG合成パラメータを参照し、カメラと複数の照明に関する情報を統合して求めることができる。
「照明色」 CG合成パラメータを参照し、カメラと複数の照明に関する情報を統合して求めることができる。
【0046】
図6は、学習の処理手順を示すフローチャートである。まず、条件入力部110が、CG合成パラメータ制約条件の入力を受け付け、CG合成パラメータ制約条件保存部120に保存する(S600)。また、条件入力部110は、第一の教師信号選択条件の入力を受け付け、教師信号選択条件保存部130に保存する(S601)。同様に、条件入力部110は、第二の教師信号選択条件の入力を受け付け、教師信号選択条件保存部130に保存する(S602)。
【0047】
CG合成パラメータ生成部121は、CG生成パラメータの制約条件に従い、ランダムにそれぞれのCG合成パラメータを生成する(S603)。
学習用CG生成部122は、生成したCG合成パラメータを用いて、学習用データである学習用CGを生成する(S604)。
【0048】
第一の教師信号生成部132は、CG合成パラメータと学習用CGを用いて、第一の教師信号選択条件に従って、第一の教師信号を生成する(S605)。この教師信号は、物体検知に直接かかわる教師信号であり、検知対象の種類や、画像上の検知対象の範囲などである。
第二の教師信号生成部133は、CG合成パラメータと学習用CGを用いて、第二の教師信号選択条件に従って、第二の教師信号を生成する(S606)。この教師信号は、物体検知に直接かかわらない教師信号を含む。
例えば、検体対象に関する教師信号であれば、検知対象の変形パラメータや、カメラに対しての検知対象の相対位置や相対方向などである。また例えば照明に関する教師信号であれば、カメラに対しての各照明の相対位置や、照射の相対方向や、検知対象に対しての各照明の相対位置や、照射の相対方向などである。また、照射範囲、照度、照明色などである。
またさらに、第二の教師信号が検知対象に関わる教師信号を含むときには、第一の教師信号も含むことが望ましい。例えば、第二の教師信号に、検知対象の変形パラメータが入っているとき、検知対象の変形は検知対象の種類毎に異なるため、検知対象の種類も第二の教師信号として必要である。また、画像上いずれの場所でその変形パラメータの影響が生じるかが教師信号として必要となるので、検知対象の画像上の範囲も必要である。以降、第一の教師信号と重複する分を除いた第二の教師信号を、狭義の第二の教師信号と呼ぶ。
【0049】
続いて、第二の推論部162は、その時点で保持する第一の推論パラメータと学習用CGを用いて第二の推論結果を算出する(S607)。ここで、第二の推論結果は、第二の教師信号に対応した数値情報である。第二の推論結果は、入力画像と対応しているので、二次元マップとして出力することも可能である。この出力については後述する。
【0050】
第一の推論部161は、第二の推論結果と、学習用CGを用いて第一の推論結果を算出する(S608)。あるいは、第二の推論結果のうち、狭義の第二の教師信号と対応する部分のみと、学習用CGを用いて第一の推論結果を出力してもよい。第一の推論結果は、第一の教師信号に対応した数値情報である。
【0051】
続いて、第一の誤差計算部170は、第一の推論結果と、第一の教師信号を用いて第一の誤差を算出する(S609)。第二の誤差計算部171は、第二の推論結果と、第二の教師信号を用いて、第二の誤差を算出する(S610)。
【0052】
推論パラメータ更新部180は、例えば誤差十分小さくなったか、あるいは所定の回数後述のパラメータの更新を実施したかなどの終了条件が満たされたかどうかを判断する(S611)。満たされていれば終了し、そうでなければ、第一の誤差と第二の誤差がそれぞれ小さくなるように、例えば誤差逆伝播法などの方法を用いて、第一の推論部161と第二の推論部162のパラメータを更新する(S612)。その後は、S603へともどる。
【0053】
図7は、物体検知の処理手順を示すフローチャートである。まず、画像入力部200が推論対象の画像を入力画像として受け付ける(S700)。
第二の推論部162は、推論対象の画像を用いて第二の推論結果を算出する(S701)。
第一の推論部161は、第二の推論結果と、推論対象の画像を用いて第一の推論結果を算出する(S702)。
推論結果出力部210は、第一の推論結果を出力する。人が閲覧する場合であれば画面として出力すればよいし、推論結果をシステムで使う場合は、ネットワークを介してそのシステムへ出力すればよい。
このとき、第二の推論結果を出力してもよい。そうすると、検知対象に関しての詳細な情報を、上記の人やシステムに提供することができる。
【0054】
図8は、教師信号の具体例である。同図では、第一の教師信号として、検知対象の種類と画像上の検知対象の範囲が生成されている。また、第二の教師信号として、検知対象の種類、画像上の検知対象の範囲、検知対象の変形パラメータ、カメラに対しての検知対象の相対位置、カメラに対しての検知対象の相対方向、カメラに対しての照明1の相対位置、カメラに対しての照明1の相対方向、検知対象に対しての照明1の相対位置、検知対象に対しての照明1の照射の相対方向、照明1の照度、照明1の照明色などが生成されている。
【0055】
図9は、CG合成した画像の具体例である。
図9に示した画像900には、CG合成画像910及びCG合成画像911が含まれている。CG合成画像910とCG合成画像911は、検知対象物についてCG合成で生成した画像である。
【0056】
CG合成画像910とCG合成画像911は、検知対象物の種類としては同じものであるが、照明の当たり方によって見え方が異なっている。CG合成画像910は暗く、CG合成画像911は明るい。
【0057】
このように見え方が大きく異なる物体を、同一種類の物体であると物体検知部160が学習するのは難易度が高い。しかし、見え方の異なる様子を入力として与えられると難易度が下がる。そこで、第二の推論部162が見え方の違いを推論し、その結果を第一の推論部161に与えることで物体検知の精度が向上する。
同じことが、カメラに対する物体の向きや物体の変形パラメータに対しても言える。
【0058】
図10は、推論結果の説明図である。
図10の二次元マップ1000において、マップ上の各位置の要素は、第二の推論結果とそれぞれと対応した複数の固定長のベクトルからなる。カメラに対しての照明の相対位置やカメラに対しての照明の相対方向など画面全体に関する推論結果は、ベクトルのある次元に格納され、それは二次元マップ全体に及ぶ。また、十分に学習が進んだ状態であれば、CG合成画像910に対応する推論結果が、ベクトルのまた別の次元に格納され、それは二次元マップの領域1010に限定される。同様に、CG合成画像911に対応する推論結果は、二次元マップの領域1011に限定される。
【0059】
次に、物体検知部が共有の推論部を有する変形例について説明する。
図11は、変形例にかかる物体検知モデル学習装置の構成図である。
図11では、物体検知部160が共有の推論部1100をさらに備えている点が、
図1と異なる。学習用CG生成部122の出力が共有の推論部1100に学習用データとして入力される。
【0060】
共有の推論部1100は、入力された学習用データに対し、所定の推論処理を行った後、第一の推論部161及び第二の推論部162に出力する。
すなわち、この構成では、第一の推論部161と第二の推論部162に共通して有効な前処理を共有の推論部1100で実行することで、処理を効率化することができる。
その他の構成及び動作については、
図1と同様であるので説明を省略する。
【0061】
図12は、変形例にかかる物体検知装置の構成図である。
図12では、物体検知部160が共有の推論部1100をさらに備えている点が、
図1と異なる。
共有の推論部1100は、画像入力部200から入力画像を受け付け、入力画像に対して所定の推論処理を行った後、第一の推論部161及び第二の推論部162に出力する。
すなわち、この構成では、第一の推論部161と第二の推論部162に共通して有効な前処理を共有の推論部1100で実行することで、処理を効率化することができる。
その他の構成及び動作については、
図2と同様であるので説明を省略する。
【0062】
上述してきたように、実施例に開示した物体検知モデル学習装置は、入力画像から物体を検知する物体検知モデルの学習を行う物体検知学習部150と、前記学習に用いる学習用データを生成する学習用データ生成部100と、を備える。
前記学習用データ生成部100は、検知対象の物体の画像をコンピュータグラフィックスで合成することで前記学習用データを生成し、前記学習用データについて、前記検知対象の物体に関する第一の教師信号を生成し、前記学習用データについて、前記検知対象の物体の撮像時の状態に対応する第二の教師信号を生成する。
前記物体検知モデルは、前記入力画像について、前記検知対象の物体に関する第一の推論結果を出力する第一の推論部161と、前記入力画像について、前記検知対象の物体の撮像時の状態に関する第二の推論結果を出力する第二の推論部162と、を備え、前記第一の推論部161は、前記入力画像と前記第二の推論結果とを用いて前記第一の推論結果を求める。
前記物体検知学習部150は、前記学習用データを前記第二の推論部162に与えて得られた第二の推論結果と前記第二の教師信号との差を第二の誤差として求める第二の誤差計算部171と、前記学習用データ及び前記第二の推論結果を前記第一の推論部161に与えて得られた第一の推論結果と前記第一の教師信号との差を第一の誤差として求める第一の誤差計算部170と、前記第二の誤差に基づいて前記第二の推論部のパラメータを更新し、前記第一の誤差に基づいて前記第一の推論部のパラメータを更新する推論パラメータ更新部180と、を備えることを特徴とする。
かかる構成及び動作によれば、検知対象の物体の撮像時の状態を用いるため、物体検知モデルの学習精度を向上することができ、実画像による学習よりも高い学習精度が期待できる。
【0063】
また、前記学習用データ生成部100は、前記コンピュータグラフィックスのパラメータに関する制約条件と、前記第一の教師信号の選択条件と、前記第二の教師信号の選択条件とを受け付け、前記制約条件の範囲内で複数のコンピュータグラフィックス合成パラメータを生成し、前記コンピュータグラフィックス合成パラメータに基づいて前記学習用データを生成し、前記コンピュータグラフィックス合成パラメータと前記第一の教師信号の選択条件とを用いて前記第一の教師信号を生成し、前記コンピュータグラフィックス合成パラメータと前記第二の教師信号の選択条件とを用いて前記第二の教師信号を生成する。
かかる構成及び動作によれば、CG合成のパラメータを利用して、撮像時の状態に関する学習を行い、物体検知モデルの学習精度を向上することができる。
【0064】
なお、前記第一の教師信号は、前記検知対象の物体の種別と、前記学習用データにおける前記検知対象の物体の位置とを含むことが好適である。
また、前記第二の教師信号は、前記検知対象の物体とカメラとの位置関係、前記検知対象の物体に対する照明の状態、前記検知対象の物体の変形の状態のうち、すくなくともいずれかを含むことが好適である。
これらのパラメータを教師として学習を行うことで、撮像時の状態を効率的に学習し、物体検知の学習精度向上をより効果的に行うことができる。
【0065】
なお、前記第二の教師信号は、前記検知対象の物体の種別と、前記学習用データにおける前記検知対象の物体の位置とをさらに含んでもよい。
第二の推論対象となるパラメータは、検知対象の物体の種別や位置に影響を受ける場合があるためである。
【0066】
また、前記物体検知モデルは、共有の推論部1100をさらに備え、前記入力画像に対して前記共有の推論部による推論処理を行った後、共有の推論部の推論結果に対して前記第一の推論部161及び前記第二の推論部162による処理を行うこととしてもよい。
このように、第一の推論部161と第二の推論部162に共通して有効な前処理を共有の推論部1100で実行することで、処理を効率化することができる。
【0067】
なお、本発明は上述の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、かかる構成の削除に限らず、構成の置き換えや追加も可能である。
【0068】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記録媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記録媒体に格納されたプログラムコードを読み出す。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記録媒体は本発明を構成することになる。このようなプログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0069】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0070】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100:学習用データ生成部、110:条件入力部、120:CG合成パラメータ制約条件保存部、121:CG合成パラメータ生成部、122:学習用CG生成部、130:教師信号選択条件保存部、131:教師信号選択部、132:第一の教師信号生成部、133:第二の教師信号生成部、150:物体検知学習部、160:物体検知部、161:第一の推論部、162:第二の推論部、170:第一の誤差計算部、171:第二の誤差計算部、180:推論パラメータ更新部、200:画像入力部、210:推論結果出力部、1100:共有の推論部