(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
G06T 7/11 20170101AFI20240416BHJP
G06T 7/00 20170101ALI20240416BHJP
G06T 7/194 20170101ALI20240416BHJP
【FI】
G06T7/11
G06T7/00 350B
G06T7/194
(21)【出願番号】P 2020116494
(22)【出願日】2020-07-06
【審査請求日】2023-06-01
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】田島 裕一郎
(72)【発明者】
【氏名】佐々木 友謙
(72)【発明者】
【氏名】松谷 征一郎
(72)【発明者】
【氏名】上村 紘大
(72)【発明者】
【氏名】伊藤 千裕
(72)【発明者】
【氏名】佐藤 精基
(72)【発明者】
【氏名】水谷 仁紀
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2001-209808(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/11
G06T 7/00
G06T 7/194
(57)【特許請求の範囲】
【請求項1】
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択する、選択手段と、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記画像を入力して、前記画像を前記物体領域と前記背景領域とに分離したマスク画像を生成する、生成手段と、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出する、抽出手段と、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する、分類手段と、
を有する画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
物体に分類された前記部分候補領域の中から、前記対象物体又は、前記対象物体以外の物体、又は両方に対応する部分候補領域を特定する、特定手段
を有する画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記特定手段は、前記物体検出処理により生成された第一の信頼指標に基づいて、前記対象物体、又は前記対象物体以外の物体、又は両方に対応する前記部分候補領域を特定する
画像処理装置。
【請求項4】
請求項2に記載の画像処理装置であって、
前記特定手段は、
前記対象物体に対応する物体領域を含む訓練用画像を用いて学習させた生成モデルに、前記物体に分類された前記部分候補領域を入力して、前記対象物体、又は前記対象物体以外の物体、又は両方の再構築画像を生成し、
前記物体に分類された前記部分候補領域と、生成された前記再構築画像との距離を表す第二の信頼指標を生成し、
前記第二の信頼指標に基づいて、前記対象物体、又は前記対象物体以外の物体、又は両方に対応する前記部分候補領域を特定する
画像処理装置。
【請求項5】
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択し、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記画像を入力して、前記画像を前記物体領域と前記背景領域とに分離したマスク画像を生成し、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出し、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する
画像処理方法。
【請求項6】
請求項5に記載の画像処理方法であって、
物体に分類された前記部分候補領域の中から、前記対象物体又は、前記対象物体以外の物体、又は両方に対応する部分候補領域を特定する
画像処理方法。
【請求項7】
コンピュータに、
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択し、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記画像を入力して、前記画像を前記物体領域と前記背景領域とに分離したマスク画像を生成し、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出し、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する
処理を実行させる命令を含むプログラム。
【請求項8】
請求項7に記載のプログラムであって、
前記コンピュータに、
物体に分類された前記部分候補領域の中から、前記対象物体又は、前記対象物体以外の物体、又は両方に対応する部分候補領域を特定する
処理を実行させる命令を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の対象物体領域を検出する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来の物体検出方法では、対象物体のみが撮像された訓練用画像を用いて学習させたモデルに、フレーム画像を入力し、当該フレーム画像の対象物体に対応する対象物体領域を検出する技術が知られている。関連する技術として、特許文献1、2、3、4などが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-008159号公報
【文献】特開2010-122746号公報
【文献】特開2020-051982号公報
【文献】特許第6693684号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述したモデルでは、対象物体に対応する対象物体領域は精度よく検出できるが、対象物体以外の学習していない物体については精度よく検出することができない。
【0005】
理由としては、上述したモデルが出力した、フレーム画像の対象物体以外の物体に対応する領域の信頼度(スコア)が、フレーム画像の背景に対応する領域の信頼度と近似するため、対象物体以外の物体の領域と背景の領域とを分類できないからである。
【0006】
一つの側面として、物体を精度よく分類する画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、一つの側面における画像処理装置は、
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択する、選択部と、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記画像を入力して、前記画像を前記物体領域と前記背景領域とに分離したマスク画像を生成する、生成部と、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出する、抽出部と、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する、分類部と、
を有することを特徴とする。
【0008】
また、上記目的を達成するため、本発明の一側面における画像処理方法は、
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択する、選択ステップと、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記フレーム画像を入力して、前記フレーム画像を前記物体領域と前記背景領域とに分離したマスク画像を生成する、生成ステップと、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出する、抽出ステップと、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する、分類ステップと、
を有することを特徴とする。
【0009】
さらに、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補となる候補領域から、前記対象物体領域を含んでいると見做せる部分候補領域を選択する、選択ステップと、
物体に対応する物体領域と前記物体領域以外の背景領域とを分離する背景分離モデルに、前記フレーム画像を入力して、前記フレーム画像を前記物体領域と前記背景領域とに分離したマスク画像を生成する、生成ステップと、
前記マスク画像から前記部分候補領域に対応する部分マスク領域を抽出する、抽出ステップと、
抽出された前記部分マスク領域の前記物体領域と前記背景領域との占有状態に応じて、前記部分候補領域を物体又は背景に分類する、分類ステップと、
を実行させることを特徴とする。
【発明の効果】
【0010】
一つの側面として、物体を精度よく分類することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、画像処理装置の一例を説明するための図である。
【
図2】
図2は、候補領域と部分候補領域を説明するための図である。
【
図3】
図3は、マスク画像を説明するための図である。
【
図4】
図4は、物体領域と背景領域の分類を説明するための図である。
【
図5】
図5は、画像処理装置を有するシステムの一例を説明するための図である。
【
図6】
図6は、対象物体の特定を説明するための図である。
【
図7】
図7は、変形例1の画像処理装置の一例を説明するための図である。
【
図8】
図8は、変形例1の対象物体の特定を説明するための図である。
【
図9】
図9は、画像処理装置の動作の一例を説明するための図である。
【
図10】
図10は、画像処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0013】
(実施形態)
図1を用いて、本実施形態における画像処理装置10の構成について説明する。また、
図2、
図3、
図4を用いて、本実施形態における画像処理装置10の動作について説明する。
【0014】
図1は、画像処理装置の一例を説明するための図である。
図2は、候補領域と部分候補領域を説明するための図である。
図3は、マスク画像を説明するための図である。
図4は、物体領域と背景領域の分類を説明するための図である。
【0015】
[装置構成]
図1に示す画像処理装置10は、物体を精度よく分類する装置である。また、
図1に示すように、画像処理装置10は、選択部11と、生成部12と、抽出部13と、分類部14とを有する。
【0016】
選択部11は、物体検出処理により生成された、画像の対象物体に対応する対象物体領域の候補から、対象物体領域を含んでいると見做せる部分候補領域を選択する。
【0017】
画像とは、撮像装置により撮像された静止画像、又は、撮像装置により連続して撮像された動画像のうちの一つのフレーム画像である。
図2のAに示すフレーム画像Fは、ベルトコンベアなどに載せられた製品が、
図2のAに示した矢印(移動方向)に移動しているときに撮像された画像である。
【0018】
物体とは、いわゆる前景物体などのことである。物体は、上述した製品(対象物体:既知物体)、及び、異物(製品以外の物体:対象物体以外の物体:未知物体)などである。
図2の例では、フレーム画像Fの物体に対応する物体領域をT1からT6として表している。また、
図2の例では、物体領域のうち、製品に対応する領域を、対象物体領域T2、T4、T5、T6と表し、異物に対応する領域を、領域T1、T3(網掛け範囲)と表している。
【0019】
なお、以降において、領域の位置は、例えば、フレーム画像の画素の位置(座標)を用いて表されるものとする。ただし、領域の位置は、上述した画素以外を用いて表してもよい。
【0020】
候補領域とは、例えば、パターンマッチングや機械学習により学習された物体検出モデルなどを用いた物体検出処理により生成された、対象物体領域の候補となる領域である。
【0021】
物体検出モデルは、例えば、SSD(Single Shot Multibox Detector)、YOLO(You Only Look Once)、Faster-RCNN(Regions with Convolutional Neural Networks)などのモデルである。
【0022】
物体検出モデルは、異物が撮像されていない、製品が撮像された訓練用画像を用いて学習したモデルであるが、異物の物体領域を含む領域も検出するので、物体検出モデルから出力された候補領域には、既知物体に対応する領域、又は未知物体に対応する領域、又は両方が含まれる。
図2の例では、
図2のBに示した領域CR1からCR10(破線範囲)が候補領域に相当する。
【0023】
部分候補領域の選択は、例えば、訓練用画像を用いて学習させた物体検出モデルに、フレーム画像を入力して、フレーム画像の対象物体に対応する対象物体領域の候補となる候補領域と、候補領域が対象物体領域を含んでいる度合を表す信頼スコア(第一の信頼指標)とを生成し、信頼スコアに基づいて、候補領域の中から対象物体領域を含んでいると見做せる部分候補領域を選択する。なお、選択手法は信頼スコアに限らず、他の手法であってもよい。また候補領域を全て選択してもよい。
【0024】
信頼スコアとは、例えば、物体検出モデルにより生成された、候補領域が対象物体領域を含んでいる度合を表す信頼度(スコア)などである。上述したように、物体検出モデルは、異物が撮像されていない、製品に対応する対象物体領域が撮像された訓練用画像を用いて学習させているので、対象物体領域を多く含む候補領域ほど信頼スコアの表す信頼度は高くなる。
【0025】
部分候補領域は、例えば、いわゆるバウンディングボックスなどである。複数の候補領域のうち、候補領域に関連する信頼スコアが良いものから順に選択した候補領域である。また、
図2の例では、物体検出モデルは、信頼スコアが高いほど低いスコアを出力するので、あらかじめ設定された閾値に基づいて、スコアが閾値より低い候補領域が選択される。そして、選択された候補領域が部分候補領域に設定される。
図2の例では、
図2のCに示した領域BR1からBR7(太線範囲)が部分候補領域に相当する。
【0026】
なお、
図2の例では、便宜上、候補領域を10個として、部分候補領域を7個としているが、候補領域と部分候補領域の数は、上述した数に限定されるものではない。
【0027】
生成部12は、物体に対応する物体領域と物体領域以外の背景領域とを分離する背景分離モデルに、画像を入力して、画像を物体領域と背景領域と分離したマスク画像を生成する。
【0028】
背景分離モデルは、例えば、GMM(混合ガウスモデル:Gaussian Mixture Model)などを用いたモデルである。背景分離モデルは、例えば、フレーム画像の画素(座標)ごとに物体であることを表す指標を出力する。
【0029】
マスク画像は、例えば、フレーム画像の画素ごとに出力された指標と、あらかじめ設定された閾値とを比較し、比較結果に基づいて、画素に「1」(白色に相当する値)又は「0」(黒色に相当する値)を対応付ける。すなわち、フレーム画像を二値化する。
【0030】
図3の例では、背景分離モデルは、
図3のAに示すようなフレーム画像Fが入力されると、
図3のBに示すようなマスク画像CFが生成される。
図3のBに示すマスク画像CFは、物体領域CT1からCT6(白色範囲)と背景領域CB(黒色範囲)とを有する。
【0031】
抽出部13は、マスク画像から部分候補領域に対応する部分マスク領域を抽出する。具体的には、抽出部13は、
図3のBに示したマスク画像CFから、
図2のCに示した部分候補領域BR1からBR7に対応する領域を抽出する。すなわち、抽出部13は、
図4に示す部分マスク領域CBR1からCBR7を抽出する。
【0032】
分類部14は、抽出された部分マスク領域の物体領域と背景領域との占有状態に応じて、部分候補領域を物体(前景物体)又は背景に分類する。例えば、分類部14は、背景領域(黒色)の面積(画素数)と物体領域(白色)の面積(画素数)とを比較し、部分マスク候補領域を占有している面積が大きい方の領域に、部分候補領域を分類する。
【0033】
図4の部分マスク領域CBR4の場合であれば、分類部14は、背景領域の面積が物体領域の面積より大きいので、部分マスク領域CBR4に対応する部分候補領域BR4を背景に分類する。対して、
図4の部分マスク領域CBR5の場合、分類部14は、物体領域(白色)の面積が背景領域(黒色)の面積より大きいので、部分マスク領域CBR5に対応する部分候補領域BR5を前景物体と分類する。ただし、この時点では、前景物体が、製品か異物かはまだ特定されていない。
【0034】
実施形態によれば、背景分離モデルを用いることで、対象物体(製品)と対象物体以外の物体(異物)とを含む前景物体に対応する物体領域と、背景に対応する背景領域とを精度よく分類できる。
【0035】
また、製品が接触している場合、例えば、
図3の物体領域CT3と物体領域CT5とが接触しているような場合、生成部12が生成したマスク画像を用いても、物体領域CT3と物体領域CT5とを分離できない。すなわち、物体領域CT3と物体領域CT5を一つの物体と認識してしまう。しかし、本実施形態によれば、マスク画像CFに部分候補領域を適用することで、物体領域CT3と物体領域CT5とを分離できる。
【0036】
さらに、選択部11と生成部12の処理を並行して実行することにより、画像処理装置10の処理速度を向上させることができる。
【0037】
[システム構成]
続いて、
図5を用いて、本実施形態における画像処理装置10の構成をより具体的に説明する。
図5は、画像処理装置を有するシステムの一例を説明するための図である。
【0038】
図5に示すシステムは、画像処理装置10と、撮像装置20と、出力装置30とを有する。また、システムは、物体検出モデルを記憶する記憶装置40、背景分離モデルを記憶する記憶装置50、生成モデルを記憶する記憶装置60を有する。なお、記憶装置40、50、60は、画像処理装置10内に設けてもよい。
【0039】
画像処理装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)、又はそれら両方を搭載したサーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。
【0040】
画像処理装置10は、取得部15と、選択部11と、生成部12と、抽出部13と、除去部16と、分類部14と、特定部17と、出力情報生成部18とを有する。
【0041】
撮像装置20は、あらかじめ設定された撮像領域を撮像し、撮像領域に対応するフレーム画像を、画像処理装置10へ転送する装置である。撮像装置20は、例えば、カメラ、赤外線カメラ、超音波カメラ、X線カメラなどの撮像装置である。
【0042】
出力装置30は、少なくとも、フレーム画像、候補領域、信頼スコア、部分候補領域、マスク画像、部分マスク領域、分類結果、製品や異物に対応する物体領域にマーキングをした画像のうち、いずれか一つ以上を組み合わせて、出力装置30が有するモニタに出力する。画像情報については後述する。
【0043】
出力装置のモニタは、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置30は、プリンタなどの印刷装置でもよい。
【0044】
画像処理装置について説明する。
取得部15は、撮像装置20が連続して撮像したフレーム画像を取得する。具体的には、取得部15は、まず、
図2、
図3に示すフレーム画像Fを撮像装置20から取得する。その後、取得部15は、選択部11と生成部12とに、フレーム画像を転送する。
【0045】
選択部11は、まず、取得部15からフレーム画像を取得し、取得したフレーム画像を物体検出モデルに入力して、対象物体領域の候補となる候補領域と、候補領域に対応する信頼スコアとを出力する。次に、選択部11は、信頼スコアに基づいて、候補領域の中から部分候補領域を選択する(
図2のCを参照)。
【0046】
その後、選択部11は、部分候補領域を識別する識別情報と、部分候補領域のフレーム画像における位置(座標)を表す位置情報とを関連付けて記憶部に記憶する。
図4の例では、部分候補領域BR1からBR7は対象物体領域を含んでいると見做したので、部分候補領域BR1からBR7それぞれを識別する識別情報に位置情報を関連付けて記憶する。
【0047】
生成部12は、まず、取得部15からフレーム画像を取得し、取得したフレーム画像を物体に対応する物体領域と物体領域以外の背景領域とを分離する背景分離モデルに入力して、フレーム画像の画素ごとに、物体であることを表す指標を出力する。次に、生成部12は、画素ごとに出力された指標と、あらかじめ設定された閾値とを比較する。その後、生成部12は、比較結果に基づいて、物体領域と背景領域とを分離し、マスク画像を生成する(
図3のBを参照)。
【0048】
抽出部13は、まず、選択部11から部分候補領域に関するデータと、生成部12からマスク画像に関するデータとを取得する。次に、抽出部13は、部分候補領域に関するデータの位置座標に基づいて、マスク画像から、マスク画像において部分候補領域の位置座標に対応する領域(部分マスク領域)を抽出する(
図4を参照)。
【0049】
除去部16は、部分マスク領域内に複数の物体領域(ノイズ成分)がある場合、物体領域それぞれの面積(画素数)を算出し、算出した面積が最大の物体領域以外の物体領域をノイズとして除去する。
【0050】
分類部14は、まず、抽出部13又は除去部16から部分マスク領域を取得する。次に、分類部14は、取得した部分マスク領域の物体領域の面積と背景領域の面積を用いて、部分マスク領域における物体領域と背景領域の占有割合を算出する。次に、分類部14は、算出結果に基づいて、部分候補領域を物体又は背景に分類する(
図4を参照)。
【0051】
その後、分類部14は、部分マスク領域に対応する部分候補領域と、分類を表す分類情報とを関連付けて記憶部に記憶する。
図4の例では、部分候補領域BR1からBR3、BR5からBR7は物体領域と見做したので、部分候補領域BR1からBR3、BR5からBR7それぞれを識別する識別情報に分類情報を関連付けて記憶する。
【0052】
特定部17は、物体に分類された部分候補領域の中から、対象物体(製品)、又は対象物体以外の物体(異物)、又は両方に対応する部分候補領域を特定する。
【0053】
具体的には、特定部17は、まず、物体に分類された部分候補領域を取得する。次に、特定部17は、物体に分類された部分候補領域それぞれに対して、二次モーメントにより対象物体領域の中心と角度を正規化する。例えば、製品の向きを画像上で揃えるような処理をする。正規化が必要ない製品の場合には、正規化をしなくてもよい。
【0054】
具体的には、正規化とは、バウンディングボックス内の物体の重心と慣性主軸の角度を求め、バウンディングボックスの中心の角度が上記と一致するようにバウンディングボックスに回転・平行移動を行った後に切り出す処理である。
【0055】
次に、特定部17は、対象物体に対応する物体領域を含む訓練用画像を用いて学習させた生成モデルに、物体に分類された部分候補領域を入力して、対象物体、又は対象物体以外の物体、又は両方の再構築画像を生成する。
【0056】
生成モデルとは、例えば、GAN(敵対的生成ネットワーク:Generative Adversarial Networks)などのモデルである。
【0057】
生成モデルがGANの場合、学習フェーズにおいて、まず、フレーム画像から製品に対応する対象物体領域を切り出し、切り出した対象物体領域の画像を、記憶装置60に記憶する。
【0058】
次に、切り出した対象物体領域に対して、上述した二次モーメントにより対象物体領域の中心と角度を正規化する。ただし、正規化が必要ない製品の場合には、正規化をしなくてもよい。そして、正規化した対象物体領域を訓練用画像とする。次に、訓練用画像に対する汎化誤差が一定以下になるまでGANの学習を実行する。
【0059】
再構築画像は、例えば、GANやAutoEncoderなどの画像生成モデルから出力される画像である。具体的には、入力画像を一度、潜在空間に写像して次元削減した後、元のデータ空間に写像し直すことで得られる。
【0060】
図6は、対象物体の特定を説明するための図である。
図6の例では、特定部17は、GANの学習済みの生成モデルに、部分候補領域BR1からBR3、BR5からBR7を入力して、部分候補領域それぞれについて再構築画像を生成する。なお、
図6の例では、正規化が必要ないので正規化の処理を実行しない。
【0061】
次に、特定部17は、物体に分類された部分候補領域で切り出した画像と、生成された再構築画像との距離を表す異常スコア(第二の信頼指標)を生成する。距離は、例えば、SSD(Sum of Squared Differences)やSAD(Sum of Absolute Differences)などの方法を用いて算出する。
【0062】
具体的には、特定部17は、部分候補領域BR1からBR3、BR5からBR7それぞれについて、部分候補領域と、部分候補領域に対応する再構築画像との潜在空間上での距離を算出する。その後、特定部17は、算出した距離に基づいて異常スコアを生成する。
【0063】
生成モデルは、対象物体以外の物体(異物)に対応する画像を用いて学習をしていないので、異物に対応する部分候補領域BR3、BR5に対しては、再構築画像を正しく再構築できない。その結果、対象物体に対応する部分候補領域BR1、BR2、BR6、BR7それぞれについては、部分候補領域と部分候補領域に対応する再構築画像との距離は小さくなるが、部分候補領域BR3、BR5それぞれについては、部分候補領域と部分候補領域に対応する再構築画像との距離が大きくなる。
【0064】
次に、特定部17は、異常スコアに基づいて、対象物体以外の物体に対応する識別部分候補領域を特定する。上述した異常スコアとして距離を用いた場合、特定部17は、距離があらかじめ設定した閾値より小さいとき、部分候補領域の物体を対象物体と特定する。また、特定部17は、距離が閾値以上のとき、部分候補領域の物体を対象物体と特定する。
【0065】
図6の例では、部分候補領域BR1、BR2、BR6、BR7の物体を対象物体(製品)と特定し、部分候補領域BR3、BR5の物体を対象物体以外の物体(異物)と特定する。
【0066】
出力情報生成部18は、少なくとも、フレーム画像、候補領域、信頼スコア、部分候補領域、マスク画像、識別部分候補領域、分類結果、製品や異物に対応する物体領域にマーキングをした画像などのうち、いずれか一つ以上を組み合わせて、出力装置30に出力可能な形式に変換した出力情報を生成する。
【0067】
(変形例1)
上述したように生成モデルを用いて、製品、又は異物、又は両方を特定する場合、生成モデルを学習しなければならない。ところが、GANなどの生成モデルの学習には、高性能なコンピュータを用いても数日を要するため、学習フェーズに要する期間が長くなる。
【0068】
そこで、変形例1においては、学習フェーズの期間を短縮するために、物体検出モデルの出力結果を利用して、製品、又は異物、又は両方を特定できるようにする。その結果、生成モデルが不要になるので、画像処理装置10の構成を単純化されるとともに、生成モデルを記憶する記憶装置を削減できる。
【0069】
図7、
図8を用いて変形例1について説明する。
図7は、変形例1の画像処理装置の一例を説明するための図である。
図8は、変形例1の対象物体の特定を説明するための図である。
【0070】
変形例1では、
図7に示す特定部17-2を用いて、信頼スコアに基づいて、対象物体、又は対象物体以外の物体、又は両方に対応する部分候補領域を特定する。
【0071】
特定部17-2は、まず、分類部14から、物体(背景以外)に分類された部分候補領域と、物体に分類された部分候補領域に対応する信頼スコアとを取得する。
図8の例では、既に物体と分類された部分候補領域BR1からBR3、BR5からBR7と、これらの部分候補領域に対応する信頼スコアを取得する。
【0072】
次に、特定部17-2は、信頼指標を正規化する。例えば、ロジスティック関数などを用いて0から1の区間に正規化する。ただし、信頼スコアが既に0から1の区間の値の場合には、正規化はしなくてもよい。
【0073】
次に、特定部17-2は、物体に分類された部分候補領域それぞれの信頼スコアと、あらかじめ設定された閾値とを比較し、比較結果に基づいて、物体に分類された部分候補領域を対象物体、又は対象物体以外の物体、又は両方を特定する。
【0074】
図8の例では、信頼スコアが低い場合、部分候補領域は対象物体領域を含んでいる可能性が高いので、信頼スコアが低いほど製品である可能性が高くなる。対して、信頼スコアが高い場合、部分候補領域は対象物体以外の物体に対応する物体領域を含んでいる可能性が高いので、信頼スコアが高いほど異物である可能性が高くなる。
【0075】
図8の例では、部分候補領域BR1、BR2、BR6、BR7の物体を対象物体(製品)と特定し、部分候補領域BR3、BR5の物体を対象物体以外の物体(異物)と特定する。
【0076】
[装置動作]
次に、本発明の実施形態における画像処理装置の動作について
図9を用いて説明する。
図9は、画像処理装置の動作の一例を説明するための図である。以下の説明においては、適宜図面を参照する。また、本実施形態では、画像処理装置を動作させることによって、画像処理方法が実施される。よって、本実施形態における画像処理方法の説明は、以下の画像処理装置の動作説明に代える。
【0077】
図9に示すように、最初に、取得部15は、撮像装置20が連続して撮像した画像を取得する(ステップA1)。具体的には、ステップA1において、取得部15は、まず、
図2、
図3に示すフレーム画像Fを撮像装置20から取得する。その後、ステップA1において、取得部15は、選択部11と生成部12とに、フレーム画像を転送する。
【0078】
次に、選択部11は、フレーム画像を物体検出モデルに入力して、フレーム画像の対象物体に対応する対象物体領域の候補となる候補領域と、候補領域が対象物体領域を含んでいる度合を表す信頼スコアとを生成し、信頼スコアに基づいて、候補領域の中から対象物体領域を含んでいると見做せる部分候補領域を選択する(ステップA2)。
【0079】
具体的には、ステップA2において、選択部11は、まず、取得部15からフレーム画像を取得する。次に、ステップA2において、選択部11は、取得したフレーム画像を物体検出モデルに入力して、対象物体領域の候補となる候補領域と、候補領域に対応する信頼スコアとを出力する。次に、ステップA2において、選択部11は、信頼スコアに基づいて、候補領域の中から部分候補領域を選択する(
図2のCを参照)。
【0080】
その後、ステップA2において、選択部11は、部分候補領域を識別する識別情報と、部分候補領域のフレーム画像における位置(座標)を表す位置情報とを関連付けて記憶部に記憶する。
図4の例では、部分候補領域BR1からBR7は対象物体領域を含んでいると見做したので、部分候補領域BR1からBR7それぞれを識別する識別情報に位置情報を関連付けて記憶する。
【0081】
次に、生成部12は、物体に対応する物体領域と物体領域以外の背景領域とを識別する背景分離モデルに、フレーム画像を入力して、フレーム画像を物体領域と背景領域と分離したマスク画像を生成する(ステップA3)。
【0082】
具体的には、ステップA3において、生成部12は、まず、取得部15からフレーム画像を取得する。次に、ステップA3において、生成部12は、取得したフレーム画像を物体に対応する物体領域と物体領域以外の背景領域とを識別する背景分離モデルに入力して、フレーム画像の画素ごとに、物体であることを表す指標を出力する。次に、ステップA3において、生成部12は、画素ごとに出力された指標と、あらかじめ設定された閾値とを比較する。その後、ステップA3において、生成部12は、比較結果に基づいて、物体領域と背景領域とを分離し、マスク画像を生成する(
図3のBを参照)。
【0083】
なお、ステップA2とステップA3の処理はどちらを先に実行してもよい。又は、ステップA2とステップA3の処理は並行して実行してもよい。
【0084】
抽出部13は、マスク画像から部分候補領域に対応する識別部分候補領域を抽出する(ステップA4)。具体的には、ステップA4において、抽出部13は、まず、選択部11から部分候補領域に関するデータと、生成部12からマスク画像に関するデータとを取得する。
【0085】
次に、ステップA4において、抽出部13は、部分候補領域に関するデータの位置座標に基づいて、マスク画像から、マスク画像において部分候補領域の位置座標に対応する領域(識別部分候補領域)を抽出する(
図4を参照)。
【0086】
次に、除去部16は、識別部分候補領域内に複数の物体領域(ノイズ成分)がある場合、物体領域それぞれの面積(画素数)を算出し、算出した面積が最大の物体領域以外の物体領域をノイズとして除去する(ステップA5)。
【0087】
次に、分類部14は、抽出された識別部分候補領域の物体領域と背景領域との占有状態に応じて、部分候補領域を物体又は背景に分類する(ステップA6)。具体的には、ステップA6において、分類部14は、抽出部13又は除去部16から識別部分候補領域を取得する。
【0088】
次に、ステップA6において、分類部14は、取得した識別部分候補領域の物体領域の面積と背景領域の面積を用いて、識別部分候補領域における物体領域と背景領域の占有割合を算出する。次に、ステップA6において、分類部14は、算出結果に基づいて、部分候補領域を物体又は背景に分類する(
図4を参照)。
【0089】
その後、ステップA6において、分類部14は、識別部分候補領域に対応する部分候補領域と、分類を表す分類情報とを関連付けて記憶部に記憶する。
図4の例では、部分候補領域BR1からBR3、BR5からBR7は物体領域と見做したので、部分候補領域BR1からBR3、BR5からBR7それぞれを識別する識別情報に分類情報を関連付けて記憶する。
【0090】
次に、特定部17は、物体に分類された部分候補領域の中から、対象物体(製品)、又は対象物体以外の物体(異物)、又は両方に対応する部分候補領域を特定する(ステップA7)。
【0091】
具体的には、ステップA7において、特定部17は、まず、物体に分類された部分候補領域を取得する。次に、ステップA7において、特定部17は、物体に分類された部分候補領域それぞれに対して正規化をする。正規化が必要ない場合には、正規化をしなくてもよい。
【0092】
次に、ステップA7において、特定部17は、正規化した物体に分類された部分候補領域を、対象物体に対応する物体領域のみを含む訓練用画像を用いて学習させたGANなどの生成モデルに入力して、対象物体、又は対象物体以外の物体、又は両方の再構築画像を生成する。
【0093】
次に、ステップA7において、特定部17は、物体に分類された部分候補領域と、生成された再構築画像との距離を表す異常スコアを生成する。具体的には、特定部17は、部分候補領域BR1からBR3、BR5からBR7それぞれについて、部分候補領域と、部分候補領域に対応する再構築画像との潜在空間上での距離を算出する。
【0094】
その後、ステップA7において、特定部17は、算出した距離に基づいて異常スコアを生成する。次に、ステップA7において、特定部17は、異常スコアに基づいて、対象物体以外の物体に対応する識別部分候補領域を特定する。
【0095】
次に、出力情報生成部18は、少なくとも、フレーム画像、候補領域、信頼スコア、部分候補領域、マスク画像、識別部分候補領域、分類結果、製品や異物に対応する物体領域にマーキングをした画像などのうち、いずれか一つ以上を組み合わせて、出力装置30で出力可能な形式に変換した出力情報を生成する(ステップA8)。このように、ステップA1からステップA8の処理を繰り返し実行する。
【0096】
なお、ステップA7の処理に、上述した変形例1の処理に代えてもよい。その場合、ステップA7において、特定部17-2は、まず、分類部14から、物体(背景以外)に分類された部分候補領域と、物体に分類された部分候補領域に対応する信頼スコアとを取得する。
【0097】
次に、ステップA7において、特定部17-2は、信頼スコアを正規化する。例えば、ロジスティック関数などを用いて0から1の区間に正規化する。ただし、既に信頼スコアが0から1の区間の値の場合には、正規化はしなくてもよい。
【0098】
次に、ステップA7において、特定部17-2は、物体に分類された部分候補領域それぞれの信頼スコアと、あらかじめ設定した閾値とを比較し、比較結果に基づいて、物体に分類された部分候補領域を対象物体、又は対象物体以外の物体、又は両方を特定する。
【0099】
[本実施形態の効果]
以上のように本実施形態によれば、物体検出モデルと背景分離モデルとを用いることで、対象物体(製品:既知物体)と対象物体以外の物体(異物:未知物体)とを含む物体に対応する物体領域と、背景に対応する背景領域とを精度よく分類できる。その結果、既存の物体検出方法と比較して、未知の物体(訓練画像中にない物体など)が、精度よく検出できる。
【0100】
また、製品が接触している場合、例えば、
図3の物体領域CT3と物体領域CT5とが接触しているような場合、生成部12が生成したマスク画像を用いても、物体領域CT3と物体領域CT5とを分離できない。すなわち、物体領域CT3と物体領域CT5を一つの物体と認識してしまう。
【0101】
しかし、本実施形態によれば、マスク画像と、選択部11が生成した部分候補領域と併用することで、物体領域CT3と物体領域CT5とを分離して識別できる。
【0102】
さらに、選択部11と生成部12の処理を並行して実行することにより、画像処理装置10の処理速度を向上させることができる。
【0103】
[プログラム]
本発明の実施形態におけるプログラムは、コンピュータに、
図9に示すステップA1からA8を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態における画像処理装置と画像処理方法とを実現することができる。この場合、コンピュータのプロセッサは、取得部15、選択部11、生成部12、抽出部13、除去部16、分類部14、特定部17、出力情報生成部18として機能し、処理を行なう。
【0104】
また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、取得部15、選択部11、生成部12、抽出部13、除去部16、分類部14、特定部17、出力情報生成部18のいずれかとして機能してもよい。
【0105】
[物理構成]
ここで、実施形態、変形例1におけるプログラムを実行することによって、画像処理装置を実現するコンピュータについて
図10を用いて説明する。
図10は、画像処理装置を実現するコンピュータの一例を示すブロック図である。
【0106】
図10に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
【0107】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0108】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0109】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0110】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0111】
なお、本実施形態における画像処理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、画像処理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0112】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0113】
以上のように本発明によれば、物体を精度よく分類することができる。本発明は、画像の対象物体領域を検出する画像処理が必要な分野において有用である。
【符号の説明】
【0114】
10 画像処理装置
11 選択部
12 生成部
13 抽出部
14 分類部
15 取得部
16 除去部
17、17-2 特定部
18 出力情報生成部
20 撮像装置
30 出力装置
40、50、60 記憶装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス