【解決手段】実施形態に係る情報処理方法は、画像に含まれる物体に対して3次元のバウンディングボックスを生成して物体の画像に付与するステップと、物体の複数の画像について、3次元のバウンディングボックスの相関を算出するステップと、相関の高低を判断し、相関が低いと判断した3次元のバウンディングボックスが付与された物体の画像を教師あり学習に使用される教師データとして複数の物体の画像から選択するステップとを含む。
第1の時刻において撮像された前記画像に対応付けられた前記3次元のバウンディングボックスから、前記第1の時刻よりも後に撮像された前記画像に付与する前記3次元のバウンディングボックスを推定して生成するステップと
を含むことを特徴とする請求項5に記載の情報処理方法。
前記第1の時刻よりも後の第2の時刻において撮像された前記画像に対応付けられた前記3次元のバウンディングボックスから、前記第2の時刻よりも前に撮像された前記画像に付与する前記3次元のバウンディングボックスを推定して生成するステップと
を含むことを特徴とする請求項6に記載の情報処理方法。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、情報処理方法および情報処理プログラムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下の説明では、同一の構成要素に対して同一の符号を付することにより、重複する説明を省略する。
【0011】
図1は、実施形態に係る情報処理方法の概要説明図である。実施形態に係る情報処理方法では、機械学習の一つである教師あり学習用の教師データとして使用される画像を複数の画像の中から選択する。ここでは、CNN(Convolutional Neural Network)を用いて画像認識を行う機械学習モデルに学習させる教師データ用の画像を選択する場合を例に挙げて説明する。
【0012】
例えば、機械学習モデルによって車両を画像認識させる場合、あらゆる方向から撮像された膨大な数の車両の画像に、車両という正解値が付与された教師データを機械学習モデルに入力して事前に学習させる。
【0013】
しかしながら、例えば、人が数千枚から数万枚の車両の画像に正解値を付与するとなると、教師データの作成に膨大な量の作業が必要となる。また、人が画像に正解値を付与する場合、正解値の作成漏れが発生するおそれがある。
【0014】
そこで、実施形態に係る情報処理方法では、コンピュータが、膨大な数の画像の中から教師データとして必要十分な数の適切な画像を選択して教師データベース(以下「教師DB100」と記載する)に蓄積する。
【0015】
これにより、実施形態に係る情報処理方法は、教師データの作成者(以下、単に「作成者」と記載する)が教師データの作成に要する作業を低減することができると共に、正解値の作成漏れの発生を抑制することができる。
【0016】
具体的には、コンピュータは、まず、複数の画像に含まれる物体に対して3次元のバウンディングボックス(以下、「3DBB」と記載する)を生成して物体の画像に付与する。例えば、
図1に示すように、コンピュータは、時刻t1で撮像された車両10の画像に、点線で示す箱型の3DBB11を付与する。このとき、コンピュータは、3DBBを付与する画像が、車両10を後方から見た画像であるため、前方にある箱を後方から見たような向きにした3DBB11を生成して車両10の画像に付与する。
【0017】
次に、コンピュータは、時刻t2で撮像された車両10の画像に、点線で示す箱型の3DBB12を付与する。時刻t2は、時刻t1よりも後の時刻である。このとき、コンピュータは、3DBBを付与する画像が、時刻t1で撮像された画像と同様に、車両10を後方から見た画像であるため、前方にある箱を後方から見たような向きにした3DBB12を生成して車両10の画像に付与する。
【0018】
次に、コンピュータは、時刻t3で撮像された車両10の画像に、点線で示す箱型の3DBB13を付与する。時刻t3は、時刻t2よりも後の時刻である。このとき、コンピュータは、3DBBを付与する画像が、車両10を左斜め後方から見た画像であるため、前方にある箱を左斜め後方から見たような向きにした3DBB13を生成して車両10の画像に付与する。
【0019】
次に、コンピュータは、時刻t4で撮像された車両10の画像に、点線で示す箱型の3DBB14を付与する。時刻t4は、時刻t3よりも後の時刻である。このとき、コンピュータは、3DBBを付与する画像が、車両10を左側方から見た画像であるため、前方にある箱を左側方から見たような向きにした3DBB14を生成して車両10の画像に付与する。こうして、コンピュータは、数千枚から数万枚の画像について、画像中の物体に3DBBを付与する。
【0020】
ここで、例えば、3DBB11によって囲まれた車両10の画像と、3DBB12によって囲まれた車両10の画像とでは、車両10の見え方に差異がない。このような車両10の見え方に差異がない複数の画像を機械学習モデルに学習させても、画像認識の精度は向上しない。
【0021】
一方、3DBB12によって囲まれた車両10の画像と、3DBB13によって囲まれた車両10の画像とでは、車両10の見え方が異なる。また、3DBB13によって囲まれた車両10の画像と、3DBB14によって囲まれた車両10の画像とでは、車両10の見え方が異なる。このような車両10の見え方が異なる複数の画像を機械学習モデルに学習させると、画像認識の精度が向上する。
【0022】
そこで、コンピュータは、車両10の複数の画像について、3DBB11,12,13,14の相関を算出する。コンピュータは、3DBB11,12,13,14のうち、例えば、向きの類似性が高いものほど相関が高く、向きの類似性が低いものほど相関が低いと判断する。具体的な3DBBの相関の高低判断基準については、後述する。
【0023】
そして、コンピュータは、3DBBが付与された複数の画像から、相関が低いと判断した3DBBが付与された車両10の画像を教師あり学習に使用される教師データとして複数の車両10の画像から選択して、教師DB100に蓄積する。
【0024】
これにより、教師データの作成者は、教師DB100に蓄積された画像にだけ正解値を付与することによって、不必要に多くの画像に正解値を付与することなく教師データを作成することができるので、教師データの作成に要する作業を低減することができる。
【0025】
また、実施形態に係る情報処理方法では、例えば、車両10の見え方が異なる画像のように、画像認識の向上に必要な画像を適切に選択して教師DB100に蓄積する。これにより、教師データの作成者は、正解値の作成漏れの発生を抑制することができる。
【0026】
また、実施形態に係る情報処理方法では、各車両10の画像に、3DBBを付与し、3DDBの向き等の違いによって各3DBBの相関の高低を判断する。これにより、実施形態に係る情報処理方法では、例えば、目視によって相関を判断する場合、および2次元のバウンディングボックスを使用して相関を判断する場合に比べて、高精度に相関の高低を判断することができる。
【0027】
なお、ここでは、実施形態に係る情報処理方法によって、教師データとして車両10が撮像された画像を選択する場合について説明したが、実施形態に係る情報処理方法は、教師データとして、人や信号機等、任意の物体が撮像された画像を選択することもできる。
【0028】
次に、
図2を参照して実施形態に係るコンピュータの一例である情報処理装置の構成について説明する。
図2は、実施形態に係る情報処理装置の構成の一例を示すブロック図である。
図2に示すように、情報処理装置1は、画像データベース(以下、「画像DB101」と記載する)と、教師DB100とに接続される。
【0029】
画像DB101は、機械学習モデルに学習させるための任意の物体が撮像された数千枚から数万枚の画像が蓄積されたデータフラッシュ等の記憶装置である。教師DB100は、情報処理装置1によって選択される画像の教師データを蓄積して記憶するデータフラッシュ等の記憶装置である。
【0030】
情報処理装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを有するマイクロコンピュータや各種の回路を含む。情報処理装置1は、CPUがROMに記憶された情報処理プログラムを、RAMを作業領域として使用して実行することにより機能する画像取得部2と、3DBB生成部3と、相関算出部4と、教師データ選択部5とを備える。
【0031】
なお、情報処理装置1が備える画像取得部2、3DBB生成部3、相関算出部4、教師データ選択部5は、一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
【0032】
情報処理装置1が備える画像取得部2、3DBB生成部3、相関算出部4、教師データ選択部5は、それぞれ以下に説明する情報処理の作用を実現または実行する。なお、情報処理装置1の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0033】
画像取得部2は、画像DB101から時系列に撮像された画像を順次取得して、3DBB生成部3へ出力する。画像取得部2は、所定枚数の画像毎に、作成者によって正解値が付与された画像を取得する。作成者は、所定枚数の画像毎に、認識対象物の向きと対応する向きの3DBBを生成して認識対象物に重畳して付与する。なお、画像取得部2は、時系列に撮像された画像に限らず、任意の時刻に撮像された画像を取得することもできる。
【0034】
3DBB生成部3は、画像取得部2から入力される画像のうち、作成者によって3DBBが付与されていない画像中の認識対象物に対して3DBBを生成して付与する。このとき、3DBB生成部3は、例えば、画像における物体の向きと対応する(同じ)向きの3DBBを生成する。また、3DBB生成部3は、画像における物体の位置と対応する(同じ)位置に3DBBを生成する。また、3DBB生成部3は、画像における物体の大きさと対応する(同じ)大きさの3DBBを生成する。
【0035】
ここで、
図3を参照して3DBB生成部3による3DBBの生成方法について説明する。
図3は、実施形態に係る3DBBの生成方法の一例を示す説明図である。3DBB生成部3は、第1の時刻において撮像された画像に対応付けられた3DDBBから、第1の時刻よりも後に撮像された画像に付与する3DBBを推定して生成する。例えば、
図3に示すように3DBB生成部3には、第1の時刻の一例である時刻t11で撮像された画像が入力される。
【0036】
時刻t11で撮像された画像には、認識対象物となる歩行中の人20が含まれており、作成者によって生成された3DBB21が付与されている。3DBB21は、人20を内包するような箱型に作成され、人20の向きと対応する(同じ)向きとなるように作成される。
【0037】
3DBB生成部3は、時刻t11で撮像された画像に付与された3DBB21から、時刻t12で撮像された人20の画像に付与する3DBB22の大きさおよび向きを推定して3DBB22を生成し、時刻t12で撮像された人20の画像に重畳させて付与する。時刻t12は、時刻t11よりも後の時刻である。
【0038】
同様に、3DBB生成部3は、時刻t12で撮像された画像に付与した3DBB22から、時刻t13で撮像された人20の画像に付与する3DBB23を推定して生成し、時刻t13で撮像された人20の画像に重畳させて付与する。時刻t13は、時刻t12よりも後の時刻である。
【0039】
このように、3DBB生成部3は、時刻t11で撮像された画像に付与された3DBB21から、時刻t12,t13で撮像された画像に付与する3DBB22,23を推定して画像に付与する。
【0040】
これにより、3DBB生成部3は、時系列に画像における向き、大きさ、および位置が変化する認識対象物の画像に対して、適切な3DBBを付与することができる。また、3DBB生成部3は、作成者によって全ての画像に3DBBを付与してもらう場合に比べて、作成者の作業量を低減することができる。
【0041】
ただし、時系列の画像について3DBBを順次推定して生成する場合、生成する3DBBの数が増加するにつれて、3DBBの向きや大きさ等に、推定による誤差が蓄積されるおそれがある。
【0042】
そこで、3DBB生成部3は、第1の時刻よりも後の第2の時刻において撮像された画像に対応付けられた3DBBら、第2の時刻よりも前にされた画像に付与する3DBBを推定して生成する。
【0043】
例えば、
図3に示すように3DBB生成部3には、第2の時刻の一例である時刻t16で撮像された画像が入力される。時刻t16は、時刻t11よりも後の時刻である。時刻t16で撮像された画像には、認識対象物となる歩行中の人20が含まれており、作成者によって生成された3DBB26が付与されている。3DBB26は、人20を内包するような箱型に作成され、人20の向きと対応する(同じ)向きとなるように作成される。
【0044】
3DBB生成部3は、時刻t16で撮像された画像に付与された3DBB26から、時刻t15で撮像された人20の画像に付与する3DBB25の大きさおよび向きを推定して3DBB25を生成し、時刻t15で撮像された人20の画像に重畳させて付与する。時刻t15は、時刻t16よりも前の時刻である。
【0045】
同様に、3DBB生成部3は、時刻t15で撮像された画像に付与した3DBB25から、時刻t14で撮像された人20の画像に付与する3DBB24を推定して生成し、時刻t14で撮像された人20の画像に重畳させて付与する。時刻t14は、時刻t15よりも前の時刻である。
【0046】
このように、3DBB生成部3は、時刻t11以降に撮像された所定枚数(ここでは、2枚)の画像については、時系列に3DBB22,23を推定して生成し、時刻16以前に撮像された画像については、逆時系列に3DBB25,24を推定して生成する。これにより、3DBB生成部3は、推定により蓄積される誤差を低減することができる。3DBB生成部3は、3DBB21〜26が付与された画像を相関算出部4へ出力する。
【0047】
図2へ戻り、相関算出部4について説明する。相関算出部4は、3DBB生成部3から入力される複数の3DBB付画像について、3DBBの相関を算出し、算出結果を教師データ選択部5へ出力する。
【0048】
ここで、
図4〜
図6を参照し、相関算出部4による相関の算出方法について説明する。
図4〜
図6は、実施形態に係る相関の算出方法の説明図である。相関算出部4は、2枚の画像における3DBBの相関を示す相関情報として、3DBBの向きの変化量を算出する。
【0049】
例えば、
図4に示すように、相関算出部4は、車両10の画像に付与された3DBB31に対して、3DBB31中心を通り鉛直方向に延伸する軸AXを設定する。次に、相関算出部4は、車両10の他の画像に付与された3DBB32が、3DBB31の状態から軸AX周りに回転した回転角度Rを相関情報として算出する。
【0050】
また、相関算出部4は、2枚の画像における3DBBの相関を示す相関情報として、3DBBの画像における位置の変化量を算出する。例えば、
図5に示すように、相関算出部4は、画像103における3DBB33の位置を算出する。次に、相関算出部4は、他の画像104における3DBB34の位置が画像103における3DBB33の位置から移動した移動量Tを相関情報として算出する。
【0051】
また、相関算出部4は、2枚の画像における3DBBの相関を示す相関情報として、3DBBの拡縮率を算出する。例えば、
図6に示すように、相関算出部4は、画像105における3DBB35の大きさを算出する。次に、相関算出部4は、画像105における3DBB35の大きさに対する他の画像106における3DBB36の大きさの拡縮率Sを相関情報として算出する。相関算出部4は、算出した相関情報と3DBB付画像とを教師データ選択部5へ出力する。
【0052】
図2へ戻り、教師データ選択部5について説明する。教師データ選択部5は、相関算出部4から入力される相関情報に基づいて、各画像に付与された3DBBの相関の高低を判断する。教師データ選択部5は、画像における向きが類似しない3DBBを相関が低い3DBBと判断する。
【0053】
例えば、教師データ選択部5は、回転角度Rが閾値(例えば、5度)以上である場合に、画像における3DBBの向きが類似しておらず、3DBBの相関が低いと判断する。
また、教師データ選択部5は、回転角度Rが閾値未満である場合に、画像における3DBBの向きが類似しており、3DBBの相関が高いと判断する。なお、回転角度Rと比較する閾値は、任意に設定変更が可能である。
【0054】
また、教師データ選択部5は、画像における位置が類似しない3DBBを相関が低い3DBBと判断する。例えば、教師データ選択部5は、解像度が1920×1080画素の画像では、移動量Tが閾値(例えば、100画素)以上である場合に、画像における3DBBの位置が類似しておらず、3DBBの相関が低いと判断する。また、教師データ選択部5は、移動量Tが閾値未満の場合に、画像における3DBBの位置が類似しており、3DBBの相関が高いと判断する。なお、移動量Tと比較する閾値は、任意に設定変更が可能である。
【0055】
また、教師データ選択部5は、画像における大きさが類似しない3DBBを相関が低い3DBBと判断する。例えば、教師データ選択部5は、拡縮率Sが閾値(例えば、10%)以上である場合に、画像における3DBBの大きさが類似しておらず、3DBBの相関が低いと判断する。また、教師データ選択部5は、拡縮率Sが閾値未満の場合に、画像における3DBBの大きさが類似しており、3DBBの相関が高いと判断する。なお、拡縮率Sと比較する閾値は、任意に設定変更が可能である。
【0056】
そして、教師データ選択部5は、回転角度R、移動量T、および拡縮率Sのうち、少なくともいずれか一つに基づいて、相関が低いと判断した3DDBBが付与された画像を選択し、教師DB100に出力して蓄積する。
【0057】
これにより、情報処理装置1は、画像における向きが類似しない3DBBが付与された画像を教師データとして選択することができる。また、情報処理装置1は、画像における位置が類似しない3DBBが付与された画像を教師データとして選択することができる。また、情報処理装置1は、画像における大きさが類似しない3DBBが付与された画像を教師データとして選択することができる。
【0058】
次に、
図7を参照して実施形態に係る情報処理装置が実行する処理について説明する。
図7は、実施形態に係る情報処理装置が実行する処理の一例を示すフローチャートである。
図7に示すように、情報処理装置1は、まず、第1の時刻に撮像された3DBB付画像を取得する(ステップS101)。
【0059】
続いて、情報処理装置1は、第1の時刻よりも後に時系列に撮像された画像を順次取得し(ステップS102)、第1の時刻よりも後の第2の時刻に撮像された画像を取得したか否かを判断する(ステップS103)。そして、情報処理装置1は、第2の時刻に撮像された画像を取得していないと判断した場合(ステップS103,No)、処理をステップS102へ移す。
【0060】
また、情報処理装置1は、第2の時刻に撮像された画像を取得したと判断した場合(ステップS103,Yes)、第1の時刻に撮像された画像の3DBBに基づいて、第1の時刻以降の画像に付与する3DBBを時系列に推定して生成する(ステップS104)。
【0061】
続いて、情報処理装置1は、第2の時刻に撮像された画像の3DBBに基づいて、第2の時刻以前の画像に付与する3DBBを逆時系列に生成する(ステップS105)。その後、情報処理装置1は、各画像に3DBBを付与し(ステップS106)、各3DBBの相関を算出する(ステップS107)。
【0062】
続いて、情報処理装置1は、各3DBBの相関を判断し、相関が低いと判断した3DBBが付与された画像を教師データとして選択し(ステップS108)、選択した教師データを教師DB100へ出力して(ステップS109)処理を終了する。そして、情報処理装置1は、ステップS101から再度処理を開始する。
【0063】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。