IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧

特許7607610対象物検知装置、対象物検知方法及び対象物検知プログラム
<>
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図1
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図2
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図3
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図4
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図5
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図6
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図7
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図8
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図9
  • 特許-対象物検知装置、対象物検知方法及び対象物検知プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】対象物検知装置、対象物検知方法及び対象物検知プログラム
(51)【国際特許分類】
   G06V 10/82 20220101AFI20241220BHJP
   G06T 7/00 20170101ALI20241220BHJP
【FI】
G06V10/82
G06T7/00 350C
【請求項の数】 8
(21)【出願番号】P 2022058515
(22)【出願日】2022-03-31
(65)【公開番号】P2023149762
(43)【公開日】2023-10-13
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】亀尾 成寿
(72)【発明者】
【氏名】杉本 喜一
(72)【発明者】
【氏名】中尾 健太
(72)【発明者】
【氏名】松本 知浩
(72)【発明者】
【氏名】飯尾 聡
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2018-067149(JP,A)
【文献】特開2021-163126(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/82
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
画像対象物が表示される領域に関する情報と当該画像とを用いた複数の学習済みプログラムを記憶する記憶部と、
画像を取得するカメラ部と、
取得した画像の領域に応じた前記複数の学習済みプログラムそれぞれを並列処理し、それぞれの検出結果から対象物を検知する対象物検知処理部と、を含み、
前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる対象物検知装置。
【請求項2】
画像から対象物を検知する、深層学習ネットワークモデルを用いた複数の学習済みプログラムを記憶する記憶部と、
画像を取得するカメラ部と、
取得した画像を複数の学習済みプログラムで並列処理を実行し、それぞれの検出結果から対象物を検知する対象物検知処理部と、を含み、
前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なり、
前記学習済みプログラムは、影響度が小さい選択肢を削除され、他の学習済みプログラムと深層学習ネットワークモデルが異なる対象物検知装置。
【請求項3】
前記学習済みプログラムは、ビット幅が8ビット以下の深層学習ネットワークモデルを用いる請求項1または請求項2に記載の対象物検知装置。
【請求項4】
前記複数の学習済みプログラムのうち1つは、画像の分割線よりも上側に対象物が含まれる場合に対象物を検出し、
前記複数の学習済みプログラムのうち1つは、画像の前記分割線よりも下側に対象物が含まれる場合に対象物を検出する請求項1から請求項3のいずれか一項に記載の対象物検知装置。
【請求項5】
前記対象物検知処理部は、前記複数の学習済みプログラムのうち1つを用いた処理の前に、所定の領域をマスクする加工を行い、所定の領域をマスクした画像を当該学習済みプログラムで処理して、対象物の検知を行う請求項1から請求項4のいずれか一項に記載の対象物検知装置。
【請求項6】
前記対象物検知処理部は、前記複数の学習済みプログラムのうち1つを用いた処理が、前記画像に対して前記画像撮影時にセンサで検出した位置情報が対応付けたデータの処理である請求項1から請求項5いずれか一項に記載の対象物検知装置。
【請求項7】
画像対象物が表示される領域に関する情報と当該画像とを用いた複数の学習済みプログラムを記憶するステップと、
画像を取得するステップと、
取得した画像の領域に応じた前記複数の学習済みプログラムそれぞれを並列処理し、それぞれの検出結果から対象物を検知する対象物検知ステップと、を含み、
前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる対象物検知方法。
【請求項8】
画像対象物が表示される領域に関する情報と当該画像とを用いた複数の学習済みプログラムを記憶するステップと、
画像を取得するステップと、
取得した画像の領域に応じた前記複数の学習済みプログラムそれぞれを並列処理し、それぞれの検出結果から対象物を検知する対象物検知ステップと、を含み、含む処理を実行させ、
前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる
対象物検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、対象物検知装置、対象物検知方法及び対象物検知プログラムに関する。
【背景技術】
【0002】
取得した画像から物体を検出するシステムとして、多数の画像で深層学習させた学習済みプログラムを用いて物体を検出するシステムがある。特許文献1には、メモリから撮像対象物及び撮像対象物の周辺環境を含む第1の計算撮像画像を取得し、第1の計算撮像画像は複数の第1の画素を有し、メモリから撮像対象物及び撮像対象物の周辺環境を含む撮像画像を取得し、撮像画像は複数の第2の画素を有し、撮像画像に含まれる撮像対象物及び撮像対象物の周辺環境の識別結果を取得し、複数の第1の画素及び複数の第2の画素の対応関係を参照して、撮像画像の識別結果に基づいて、第1の計算撮像画像を識別するための識別モデルを生成し、第2の計算撮像画像を識別する画像識別装置に、識別モデルを出力する学習装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-200769号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
深層学習に用いるモデルは、解析モデルの層数や演算のビット数が大きくなると演算量が増加する。しかしながら、実際に使用する装置は、装置の制約等で、使用可能な演算量が限られる場合、モデルが適用できない。また、単純に解析モデルの層数や演算のビット数を小さくすると、対象物の検知が適切に行えない場合がある。以上より、処理量を抑えつつ、対象物の検知の精度を高めることが求められている。
【0005】
本開示の少なくとも一実施形態は、上記課題を解決するために、処理量を抑えつつ、高い精度で対象物を検知できる対象物検知装置、対象物検知方法及び対象物検知プログラムを提供することを課題とする。
【課題を解決するための手段】
【0006】
また、本開示は、画像から対象物を検知する、深層学習ネットワークモデルを用いた複数の学習済みプログラムを記憶する記憶部と、画像を取得するカメラ部と、取得した画像を複数の学習済みプログラムで並列処理を実行し、それぞれの検出結果から対象物を検知する対象物検知処理部と、を含み、前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる対象物検知装置を提供する。
【0007】
また、本開示は、画像から対象物を検知する、深層学習ネットワークモデルを用いた複数の学習済みプログラムを記憶するステップと、画像を取得するステップと、取得した画像を複数の学習済みプログラムで並列処理を実行し、それぞれの検出結果から対象物を検知する対象物検知ステップと、を含み、前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる対象物検知方法を提供する。
【0008】
また、本開示は、画像から対象物を検知する、深層学習ネットワークモデルを用いた複数の学習済みプログラムを記憶するステップと、画像を取得するステップと、取得した画像を複数の学習済みプログラムで並列処理を実行し、それぞれの検出結果から対象物を検知する対象物検知ステップと、を含む処理を実行させ、前記学習済みプログラムは、他の学習済みプログラムと抽出する対象物の大きさが異なる対象物検知プログラムを提供する。
【発明の効果】
【0009】
上記構成とすることで、処理量を抑えつつ、高い精度で対象物を検知できるという効果を奏する。
【図面の簡単な説明】
【0010】
図1図1は、対象物検知装置の一例を示すブロック図である。
図2図2は、対象物の処理の一例を示すフローチャートである。
図3図3は、画像の一例を説明する説明図である。
図4図4は、検知処理の一例を説明する説明図である。
図5図5は、検知処理の一例を説明する説明図である。
図6図6は、検知処理の画像の一例を説明する説明図である。
図7図7は、学習済みプログラムの一例を示す説明図である。
図8図8は、学習済みプログラムの一例を示す説明図である。
図9図9は、対象物検知装置の一例を示すブロック図である。
図10図10は、学習済みプログラムの作成方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、本開示に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能であり、また、実施形態が複数ある場合には、各実施形態を組み合わせることも可能である。
【0012】
<対象物検知装置>
図1は、対象物検知装置の一例を示すブロック図である。対象物検知装置102は、深層学習を用いて画像から対象物の検知を行う対象物検知処理を実行できる学習済みプログラムを用いて、対象物の検知を行う。対象物検知装置102は、例えば、車両や飛行体等の移動体や、建造物に設置される。また、対象物は、特に限定されず、人間、機械、犬、猫、車両、植物等、種々の分類の物体を対象とすることができる。対象物検知装置102は、検出した結果を設置されている機構を制御する制御装置に出力してもよい。これにより、例えば移動体の場合、対象物を検知した場合、停止する処理や、対象物を回避する処理等を実行することができる。
【0013】
対象物検知装置102は、カメラ部112と、センサ113と、報知部115と、演算部116と、記憶部118と、を含む。カメラ部112は、対象視野の画像を取得する。カメラ部112は、所定のフレームレートで連続して画像を取得しても、所定の操作をトリガーとして画像を取得してもよい。センサ113は、カメラ部112で撮影した領域を含む、周囲の情報を取得する。センサ113は、赤外線センサや、LIDARを用いることができる。
【0014】
報知部114は、オペレータに報知する。報知部114は、スピーカ、発光装置、ディスプレイ等である。報知部114は、演算部116で処理を実行し、画像に含まれる対象物を検出した場合、対象物があることをオペレータに通知する。対象物が人である場合、検知の対象である人に通知してもよい。
【0015】
演算部116は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の集積回路(プロセッサ)と、作業領域となるメモリとを含み、これらのハードウェア資源を用いて各種プログラムを実行することによって各種処理を実行する。具体的に、演算部116は、記憶部118に記憶されているプログラムを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をプロセッサに実行させることで、各種処理を実行する。演算部116は、記憶部118に記憶されているプログラムを実行することで、画像から対象物を検出する処理を実行する。演算部116は、対象物検知処理部130と、報知処理部132と、を備える。各部は、記憶部118の説明の後に説明する。
【0016】
記憶部118は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部118は、設定データ134と、対象物検知プログラム136と、学習済みプログラム138、140とを記憶する。なお、図1では、学習済みプログラムを2つ示したが、学習済みプログラムは、対象物検知プログラム136で並列に実行される処理と同じ数備えている。
【0017】
また、記憶部18に記憶されるデータとしては、設定データ42が含まれる。設定データ42は、対象物検知プログラムを実行するための各種条件、学習済みプログラムを実行するための条件の情報等を含む。
【0018】
記憶部18に記憶されるプログラムとしては、対象物検知プログラム136と、学習済みプログラム138、140と、がある。対象物検知プログラム136は、複数の学習済みプログラム138、140を用いて、対象物の検出処理を実行するプログラムである。対象物検知プログラム136は、画像の取得処理と、対象物の有無の判定を行う処理、判定結果の出力処理も設定されている。対象物検知プログラム136は、画像データを加工する処理を設定してもよい。対象物検知プログラム136は、学習済みプログラム138、140を、画像処理を行う演算部で実行することで、学習した判断基準となる特徴量(スコア)を算出でき、特徴量に基づいて対象物を検出する処理を実行する。
【0019】
学習済みプログラム138、140は、画像データを入力して、対象物の有無と位置を出力した深層学習モデルを学習して作成したプログラムである。深層学習モデルとしては、R-CNN(Regions with Convolutional Neural Networks)やYOLO(You Only Look Once)、SSD(Single Shot multibox Detector)等、いわゆるアンカーと言われるバウンディングボックスを画像に対して設定し、設定に基づいたアンカー内の特徴量を処理することで、画像に対象物が含まれているかを検出する深層学習モデルを用いることができる。
【0020】
記憶部18は、記録媒体に記録された対象物検知プログラム136と、学習済みプログラム138、140と、を読み込むことで、対象物検知プログラム136と、学習済みプログラム138、140と、がインストールされてもよいし、ネットワーク上で提供される対象物検知プログラム136と、学習済みプログラム138、140と、を読み込むことで、対象物検知プログラム136と、学習済みプログラム138、140と、がインストールされてもよい。
【0021】
演算部116の各部の機能について説明する。演算部116の各部は、記憶部118に記憶されるプログラムを実行することで、実行することができる。対象物検知処理部130は、対象物検知プログラム136を用いて、学習済みプログラム138、140を処理し、取得した画像に対象物が含まれているかを判定する処理、つまり対象物検知処理を実行する。報知処理部132は、対象物検知処理部130の処理結果を、報知部114を用いて、報知する。
【0022】
<対象物検知方法>
次に、図2を用いて、対象物検知方法について説明する。図2は、対象物検知装置の動作の一例を示すフローチャートである。対象物検知装置102は、演算部116で、対象物検知プログラム136を処理することで、図2の処理を実行する。演算部116は、対象物検知プログラム136での処理時に学習済みプログラム138、140を用いた演算を行う。図5の処理は、対象物検知装置102で実行する処理として説明するが、プログラム作成装置10に画像データを供給し、対象物検知処理部36で同様の処理を実行してもよい。
【0023】
対象物検知装置102は、学習済みプログラムを読み込む(ステップS30)。対象物検知装置102は、プログラム作成装置10で作成した学習済みプログラムを取得する。対象物検知装置102は、画像データを取得する(ステップS32)。具体的には、対象物検知装置102は、カメラ部112で画像を取得する。
【0024】
対象物検知装置102は、それぞれの学習済プログラムに基づいてそれぞれの対象物を抽出する(ステップS34)。対象物検知装置102は、取得した画像を複数の学習済みプログラムで並列に処理し、それぞれの学習済みプログラムで対象物の抽出処理を実行する。
【0025】
対象物検知装置102は、それぞれの学習済みプログラムの抽出結果から対象物を特定する(ステップS36)。対象物検知装置102は、いずれかの学習済みプログラムで対象物を抽出した結果が検出された場合、検出した位置に対象物があると特定する。具体的には、対象物検知装置102は、複数の学習済みプログラムでそれぞれ設定された領域での対象物の検出を行う。複数の学習済みプログラムでそれぞれ設定された領域の対象物を検出することで、画面の全域に対する対象物の検出を行う。学習済みプログラムが、対象物で検出する領域は、他の学習済みプログラムで対象物を検出する領域と一部が重なっていてもよい。対象物検知装置102は、いずれのプログラムでも対象物が検出されていない場合、対象物がないと判定する。対象物検知装置102は、特定した結果を報知部114から報知する(ステップS38)。
【0026】
図3は、画像の一例を説明する説明図である。図3に示す画像150は、2つの対象物152、154が含まれる。対象物152、154は、同じ平面の異なる位置に配置される。対象物152は、対象物154よりも下側に表示される。画像150は、画像の上側に遠くの対象物が映り、画像の下側に近傍の対象物が表示される。そのため、対象物152は、対象物154よりも大きく表示される。
【0027】
本実施形態の対象物検知装置102は、画像150を上側領域160と、下側領域162とに上下で半分割し、学習済みプログラム138、140を、それぞれの領域での対象物の検知に特化させる。つまり、学習済みプログラム138、140は、検出する対象物の大きさまたは位置の少なくとも一方が異なる。例えば、学習済みプログラム138は、対象物154が含まれる上側領域160の検知に特化している。学習済みプログラム140は、対象物152が含まれる下側領域162の検知に特化している。なお、画像の分割方法はこれに限定されず、3分割しても、左右で分割しても、分割位置を異なる位置としてもよい。対象物検知装置102は、対象物のある位置毎に分類して、領域ごとに特化した学習済みプログラムを備え、画像を複数の学習済みプログラムで処理する。ここで、複数の学習済みプログラムは、種々の深層学習モデルを用いることができる。例えば、領域ごとに、別々の深層学習モデルを学習した学習済みプログラムを作成し、それぞれの領域での対象物の検出を行う。また、1つの学習済みプログラムを作成し、その学習済みプログラムのモデルを、検出する特性に基づいて、処理量を低減する変更を行うことで、異なるモデルの学習済みプログラムとしてもよい。
【0028】
図3では、対象物がある位置に応じて別々の学習済みプログラムを備えたが、これに限定されない。対象物検知装置102は、複数の学習済みプログラムの1つとして、学習済みプログラムに入力する前に画像処理を行い、決定した同じ領域をマスク処理するようにしてもよい。マスク処理としては、画像の一部を処理対象外とする処理、マスクする領域以外を切り出す抽出処理がある。
【0029】
図4は、画像の一例を説明する説明図である。図4に示す画像200は、対象物202が含まれる。画像200は、画像の大部分が壁となり、対象物202が、通路206に置かれている。この場合、対象物検知装置102は、対応する学習済みプログラムの処理を行う際に、領域210を切り出し、領域210以外をマスク処理した画像データを作成し、その画像を該当する学習済みプログラムで処理して、対象物を抽出する。この学習済みプログラムは、画像200をそのまま処理するよりも処理量を低減することができる。このように、画像の多くの領域が壁204等で対象物202がない領域となり、領域210に対象物202がある画像での対象物の抽出に特化した学習済みプログラムを含めることもできる。対象物検知装置102は、この学習済みブログラムでの解析を、領域210のみを抽出した画像で実行することで、高い精度で、領域210内の対象物を抽出することができる。
【0030】
対象物検知装置102は、複数の学習済みプログラムの1つとして、対象物検知装置102に搭載されたセンサの結果を用いて画像領域を設定する処理を含めたプログラムを用いてもよい。
【0031】
図5は、検知処理の一例を説明する説明図である。図6は、検知処理の画像の一例を説明する説明図である。図5は、画像の一例を説明する説明図である。図6は、センサの検出結果の一例を説明する説明図である。図5に示すように、対象物検知装置102は、センサ113で起点300から対象物の検出を行う。対象物検知装置102は、センサ113で起点300から検波302を出力し、対象物304がある方向と距離を検出する。この場合、図6に示すように、対象物検知装置102は、カメラで取得した画像320となる。画像320には、対象物328が含まれる。対象物328は、検波322が照射された領域に配置される。対象物検知装置102は、学習済みプログラムの1つとして、センサ113の検出結果と画像を入力として、対象物の検出を行うプログラムを含む。対象物検知装置102は、センサ113で検出した情報に基づいて、領域326に対象物328の画像が表示されることを検出することができる。
【0032】
対象物検知装置102は、センサ113の情報で領域326を特定し、領域326のみの画像を抽出して、領域326のみに画像処理を行い、対象物を検出することができる。この場合、対象物検知装置102は、複数の学習済みモデルのうち、領域326に対応するモデルのみで処理を行うようにしても、領域326以外をマスクした画像を複数の学習済みモデルに入力して解析を行ってもよい。
【0033】
対象物検知装置102は、以上のように、画像の対象物のそれぞれの特性に合わせた学習済みプログラム138、140を複数設け、画像を入力として、並行して学習済みプログラム138、140で処理することで、処理量を低減しつつ、対象物の検出精度を高くすることができる。具体的には、複数の学習済みプログラムが、別々の特性の検出に特化することで、少ない処理量で対象の特性の対象物を検出することができる。また上述したように、一部マスク処理をした画像を用いた学習済みプログラムや、センサの結果を用いる学習済みプログラムも同様に1つ1つの学習済みプログラムの負荷を低減することができる。
【0034】
このように、それぞれの特性に特化した学習済みプログラムは、全体の画像を解析する学習済みプログラムよりも少ない処理量で、高い精度の結果を出力することができる。これにより、画像の領域によって複数のモデル(演算量が少ない圧縮モデル)を使い分けることによって、未圧縮モデルと比べて、全体の処理負荷を低減しつつ、未圧縮モデルと同等の結果が得られる。これにより、対象物検知装置102は、複数の学習済みプログラムで並行した処理を行っても、全体の処理量を低減しつつ、検出精度を維持することができる。
【0035】
図7は、学習済みプログラムの処理の一例を示す説明図である。具体的には、対象物検知装置102は、深層学習ネットワークモデルを枝刈りしたモデル、つまり選択肢の一部を削除したモデルとすることができる。学習モデル170は、多層のノード172と、ノード172とノード172とをつなげる重み174とで構成される。学習部34は、学習モデル170を用いて学習処理を実行することで、各層のノード172を移動するそれぞれの重み174の係数を算出する。学習部34は、算出した値に基づいて、解析に影響が少ない(影響度が小さい)と判断できる基準を満たす、ノード172、重み174を削除する。これにより、学習モデル170よりもノード172、重み174を減少させたモデル180を作成する。モデル180は、ノード186、重み188を削除したモデルとなる。対象物検知装置102は、1の学習済みプログラムが検出する対象物を、選択した特性に特化させることで、枝刈り処理を行ったモデル180、つまり影響度が小さい選択肢を削除したモデルで、高い精度の検出を行うことができる。
【0036】
また、プログラム作成装置10は、深層学習ネット―ワークモデルの重みのビット数を8ビット以下としてもよい。図8は、学習済みプログラムの処理の一例を示す説明図である。例えば、図8に示すメモリデータ190は、重みを32ビットの場合である。これに対してメモリデータ192は、重みを8ビットの場合である。メモリデータ192は、メモリデータ190に対してデータ量が約1/4となる。対象物検知装置102は、画像の領域ごとで対象物の検出精度が高いモデルを設けることで、処理するデータの分解能を低減した場合も、高い精度で対象物を検知することができる。
【0037】
次に、対象物検知装置102で用いる学習済みプログラムの作成について説明する。図9は、プログラム作成装置の一例を示すブロック図である。プログラム作成装置10は、入力部12と、出力部14と、演算部16と、記憶部18と、を含む。入力部12は、キーボード及びマウス、タッチパネル、またはオペレータからの発話を集音するマイク等の入力装置を含み、オペレータが入力装置に対して行う操作に対応する信号を演算部16へ出力する。出力部14は、ディスプレイ等の表示装置を含み、演算部16から出力される表示信号に基づいて、処理結果や処理対象の画像等、各種情報を含む画面を表示する。また、出力部14は、データを記録媒体で出力する記録装置を含んでもよい。また、プログラム作成装置10は、入力部12及び出力部14として、通信インターフェースを用いて、データの送信を行う通信部を含んでいてもよい。通信部は、外部機器と通信を行い取得した各種データ、プログラムを記憶部18に送り、保存する。通信部は、有線の通信回線で外部機器と接続しても、無線の通信回線で外部機器と接続してもよい。
【0038】
演算部16は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の集積回路(プロセッサ)と、作業領域となるメモリとを含み、これらのハードウェア資源を用いて各種プログラムを実行することによって各種処理を実行する。具体的に、演算部16は、記憶部18に記憶されているプログラムを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をプロセッサに実行させることで、各種処理を実行する。演算部16は、教師データ作成部30と、設定処理部32と、学習部34と、対象物検知処理部36と、を含む。演算部16の各部の説明の前に記憶部18について説明する。
【0039】
記憶部18は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部18は、画像データ40と、設定データ42と、学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、学習済みプログラム50と、を含む。
【0040】
また、記憶部18に記憶されるデータとしては、画像データ40と、設定データ42と、が含まれる。画像データ40は、学習に使用する教師データを含む。教師データは、画像のデータと、画像に対象物が含まれる場合、対象物が表示される領域(バウンディングボックス)とが対応付けられたデータである。教師データの画像は、学習に用いるデータと、学習後のプログラムの精度の評価するデータとに分かれていてもよい。また、画像データは、対象物を検出する必要がある画像データを含んでいてもよい。設定データ42は、教師データを分類する条件、教師データを加工する条件や、学習済みプログラムを実行するための条件の情報等を含む。
【0041】
図3は、教師データの画像の一例を説明する説明図である。図3に示す画像150は、2つの対象物152、154が含まれる。対象物152、154は、同じ平面の異なる位置に配置される。対象物152は、対象物154よりも撮影位置に近い位置に配置される。そのため、対象物152は、対象物154よりも大きく表示される。また、画像150は、同じ平面上で、撮影位置からの距離が異なる位置に配置されている場合、画像の上側に遠くの対象物が映り、画像の下側に近傍の対象物が表示される。そのため、対象物152は、対象物154よりも下側に表示される。
【0042】
本実施形態の教師データは、対象物がある領域を画像に対応付けた画像データである。また、記憶部18は、対象物の特性ごとに分類した情報を画像データに付加してもよい。画像データは、対象物のある位置毎に分類することができる。本実施形態のプログラム作成装置10は、上側領域160に対象物がある画像のグループに対して対象物の検出に特化した学習済みプログラムと、下側領域162に対象物がある画像のグループに対して対象物の検出に特化した学習済みプログラムと、を作成する。本実施形態では、画像150を上側領域160と、下側領域162とに上下で半分割する。なお、画像の分割方法はこれに限定されず、3分割しても、左右で分割しても、分割位置を異なる位置としてもよい。
【0043】
記憶部18に記憶されるプログラムとしては、学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、学習済みプログラム50と、がある。学習実行プログラム44は、画像データ40に含まれる教師データを、設定データ42の設定に基づいて深層学習処理を行い、学習済みプログラム50を作成する。
【0044】
学習条件設定プログラム46は、学習実行プログラム44で深層学習モデルを用いて画像処理を実行する際の各種条件を設定する。具体的には、検知処理時の画像の加工条件、深層学習モデルの変更条件を設定する処理を実行する。学習条件設定プログラム46は、教師モデルの分類条件を設定する。学習条件設定プログラム46は、対象物の検出特性の設定の条件、深層学習モデルの枝刈りの条件を設定する。学習条件設定プログラム46で設定した情報は、設定データ42に記憶される。
【0045】
対象物検知プログラム48は、複数の学習済みプログラム50を用いて、対象物の検出処理を実行するプログラムである。学習済みプログラム50は、学習実行プログラム44を実行して作成されたプログラムである。図9では1つのみを示しているがモデルが異なる複数の学習済みプログラムが記憶される。対象物検知プログラム48は、学習済みプログラム50を、画像処理を行う演算部で実行することで、学習した判断基準となる特徴量(スコア)を算出でき、特徴量に基づいて対象物を検出する処理を実行する。
【0046】
記憶部18は、記録媒体に記録された学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、を読み込むことで、学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、がインストールされてもよいし、ネットワーク上で提供される学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、を読み込むことで、学習実行プログラム44と、学習条件設定プログラム46と、対象物検知プログラム48と、がインストールされてもよい。
【0047】
演算部16の各部の機能について説明する。演算部16の各部は、記憶部18に記憶されるプログラムを実行することで、実行することができる。教師データ作成部30は、画像データに対象物がある場合、対象物の領域を示す枠情報(バウンディングボックス)を対応付ける。設定される枠は、矩形である。教師データ作成部30は、例えば画像を出力部14に表示させた状態で、入力部12に入力される操作から枠情報を設定する。入力部12に入力される操作は、オペレータが画像を見ながら枠の位置(対象物)を囲う位置の情報を入力する操作である。また、教師データ作成部30は、対象物検知処理部36で実行した画像の抽出処理の結果を取得してもよい。この場合、抽出した枠の位置が、教師データの正解のデータできるか判定するオペレータの操作を検出し、オペレータにより枠の位置が正しいと判定されたデータを教師データとして取得するようにしてもよい。
【0048】
設定処理部32は、学習条件設定プログラム46の処理を実行し、学習部34で実行する深層学習モデルの処理条件を設定する。設定処理部32は、処理する教師データを設定する。設定処理部32は、教師データの画像データを加工する条件を設定する。
【0049】
学習部34は、設定処理部32で設定した条件を用いて、学習実行プログラム44の処理を実行して、画像データ40の教師データとして深層学習を行い、学習済みプログラムを作成する。学習部34の処理は後述する。
【0050】
対象物検知処理部36は、対象物検知プログラム48を用いて、学習済みプログラム50を処理し、取得した画像に対象物が含まれているかを判定する処理、つまり対象物検知処理を実行する。
【0051】
なお、本実施形態では、プログラム作成部10に、教師データ作成部30と、対象物検知処理部36と、を備える構成としたが、プログラム作成装置10が備えていなくてもよい。つまり、教師データは、別の装置で作成してもよい。この場合、教師データ作成部30の機能を実現する装置が教師データ作成装置となる。また、画像から対象物を検出する処理を実行する対象物検知処理部36は、対象物検知装置102のみに備えていてもよい。
【0052】
<学習済みプログラム作成方法>
図10は、学習済みプログラムの処理の一例を示すフローチャートである。図10に示す処理は、教師データ作成部30と学習部34が学習実行プログラムを演算処理することで実行する。また、図10は、枝刈り処理を行う場合として説明する。また、枝刈り処理は、オペレータが操作してもよい。
【0053】
教師データ作成部30は、教師データを作成する(ステップS112)。例えば、上側領域160に対象物がある画像データと、下側領域162に対象物がある画像データとを含む教師データを作成する。教師データは、画像データと対象物がある位置の情報が対応付けられたユニットが複数の画像データが含まれる。
【0054】
学習部34は、教師データを処理して学習済みプログラムを作成する(ステップS114)。学習部34は、教師データを用いて学習モデルの深層学習を行い、学習済みプログラムを作成する。
【0055】
学習部34は、対象物の検出特性を設定する(ステップS116)。学習部34は、例えば、検出特性を上側領域160に対象物がある場合と設定する。学習部34は、学習済みプログラムのモデルに対して枝刈りを実行する(ステップS118)。学習部34は、設定した対象物の検出特性と設定処理部32で設定した条件に基づいて、深層学習モデルの選択肢のうち、ステップS114で作成した学習済みプログラムのモデルから変更すると判定したノード、重みを削除する。学習部34は、対象物の検出特性に基づいて、対象の検出物の検出に影響しないノード、重みを抽出し、抽出したノード、重みを削除して、検出特性に特化したモデルを作成する。
【0056】
学習部34は、設定対象の検出特性があるかを判断する(ステップS120)。学習部34は、設定対象の検出特性がある(ステップS120でYes)と判定した場合、ステップS116に戻る。これにより、異なる検出特性、例えば、検出特性を下側領域162に対象物がある場合の設定を行い、下側領域162に対象物がある場合に特化させ、モデルを一部枝刈りしたモデルを作成する。なお、検出特性は、上側領域160、下側領域162のそれぞれに対象物がある場合に限定されず、上述した各種特性に対応したモデルを作成することができる。学習部34は、設定対象の検出特性がない(ステップS120でNo)と判定した場合、各特性の学習済みプログラムに決定し(ステップS122)、処理を終了する。
【0057】
学習部34は、以上のように、深層学習処理を実行して学習済みプログラムを作成する。学習部34は、次に、設定した検出特性に基づいてモデルの修正を行い、それぞれの検出特性に対応し、かつ、処理量を低減させたモデルを用いる学習済みプログラムを作成する。このように、検出特性を特定し、各特性に応じてモデルの処理量を低減させることで、検出特性の対象物に必要な部分を残しつつ、モデルの処理量を低減することができるため、演算量の少ないモデルを用いて、高い精度での解析を実行することができる。また、上記実施形態では、モデルの枝刈りを行う場合として説明したが、検出特性に応じて、処理するデータの分解能を低減するモデルとしてもよい。例えば、画像内で大きい対象物を検出する場合や、コントラストが発揮した対象物を検出する場合が検出特性であると、画像の分解能(ビット数)を低減させたモデルしても、高い精度で検出することができる。
【符号の説明】
【0058】
10 プログラム作成装置
12 入力部
14 出力部
16、116 演算部
18、118 記憶部
30 教師データ作成部
32 設定処理部
34 学習部
36 対象物検知処理部
40 画像データ
42、134 設定データ
44 学習実行プログラム
46 学習条件設定プログラム
48、136 対象物検知プログラム
50、138、140 学習済みプログラム
102 対象物検知装置
112 カメラ部
113 センサ
114 報知部
130 対象物検知処理部
132 報知処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10