(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023002899
(43)【公開日】2023-01-11
(54)【発明の名称】重なり判定装置、重なり判定方法及びプログラム
(51)【国際特許分類】
G06T 7/60 20170101AFI20221228BHJP
G06T 7/00 20170101ALI20221228BHJP
【FI】
G06T7/60 180D
G06T7/00 350B
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021103738
(22)【出願日】2021-06-23
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】田島 裕一郎
(72)【発明者】
【氏名】佐々木 友謙
(72)【発明者】
【氏名】松谷 征一郎
(72)【発明者】
【氏名】上村 紘大
(72)【発明者】
【氏名】佐藤 精基
(72)【発明者】
【氏名】水谷 仁紀
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096DA02
5L096FA02
5L096FA04
5L096FA18
5L096FA62
5L096FA66
5L096FA77
5L096GA51
5L096HA11
5L096JA11
(57)【要約】
【課題】処理速度を向上させつつ、精度よく対象物体同士の重なりを判定する技術を提供する。
【解決手段】第1対象物体と第2対象物体との重なりを判定する重なり判定装置10であって、撮像装置101で第1対象物体及び第2対象物体を撮像して得られる画像データに基づいて、第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成する対象物体領域生成部1と、第1対象物体領域と第2対象物体領域とを合成して、第1対象物体領域と中心を一致させた合成領域を生成する合成領域生成部2と、合成領域内に第2対象物体領域の中心が含まれている場合、第1対象物体と、第2対象物体とは重なっていると判定する重なり判定部3と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1対象物体と第2対象物体との重なりを判定する装置であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成する対象物体領域生成部と、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成する合成領域生成部と、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定する重なり判定部と、
を備える、重なり判定装置。
【請求項2】
請求項1に記載の重なり判定装置であって、
前記対象物体領域生成部は、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成し、前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
重なり判定装置。
【請求項3】
請求項1又は請求項2に記載の重なり判定装置であって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域生成部は、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
重なり判定装置。
【請求項4】
請求項3に記載の重なり判定装置であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記重なり判定部は、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定装置。
【請求項5】
請求項1又は請求項2に記載の重なり判定装置であって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域生成部は、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
重なり判定装置。
【請求項6】
請求項5に記載の重なり判定装置であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記重なり判定部は、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定装置。
【請求項7】
第1対象物体と第2対象物体との重なりを判定する方法であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を備える、重なり判定方法。
【請求項8】
請求項7に記載の重なり判定方法であって、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成するステップ、
を備え、
前記第1対象物体領域、及び、前記第2対象物体領域を生成するステップでは、
前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
重なり判定方法。
【請求項9】
請求項7又は請求項8に記載の重なり判定方法であって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域を生成するステップでは、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
重なり判定方法。
【請求項10】
請求項9に記載の重なり判定方法であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定方法。
【請求項11】
請求項7又は請求項8に記載の重なり判定方法であって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域を生成するステップでは、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
重なり判定方法。
【請求項12】
請求項11に記載の重なり判定方法であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定方法。
【請求項13】
コンピュータに、第1対象物体と第2対象物体との重なりを判定させるプログラムであって、
前記コンピュータに、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を実行させる命令を含む、プログラム。
【請求項14】
請求項13に記載のプログラムであって、
前記コンピュータに、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成するステップ、
を実行させる命令を含み、
前記第1対象物体領域、及び、前記第2対象物体領域を生成するステップでは、
前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
プログラム。
【請求項15】
請求項13又は請求項14に記載のプログラムであって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域を生成するステップでは、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
プログラム。
【請求項16】
請求項15に記載のプログラムであって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
プログラム。
【請求項17】
請求項13又は請求項14に記載のプログラムであって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域を生成するステップでは、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
プログラム。
【請求項18】
請求項17に記載のプログラムであって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物体同士の重なりを判定する重なり判定装置、重なり判定方法及びプログラムに関する。
【背景技術】
【0002】
製品生産現場において、ベルトコンベアに載って移動している製品(対象物体)を検査する際に、対象物体の重なりを検出することができるシステムの導入が望まれている。例えば、コンベアで運んだ生エビをフライヤに投入し、エビフリッターを製造するラインでは、生エビを一尾ずつばらけた状態で運ばなければ、フライヤ通過後、くっついて塊となったエビフリッターが製造されてしまう。このため、対象物体の重なりを検知することが必要とされている。
【0003】
移動する対象物体を追跡する技術としては、撮像装置で対象物体を撮像して得られたフレーム画像から、対象物体に対応する対象物体領域の位置を検出する検出処理と、対象物体領域の追跡をする追跡処理とが必要である。例えば、特許文献1及び特許文献2には、その検出処理及び追跡処理について開示されている。
【0004】
特許文献1には、所定の方向に移動する複数の対象物体を追跡する追跡システムが開示されている。特許文献1の追跡システムによれば、経時的に変化する複数の対象物体の位置を所定の手法で分類する。次に、追跡システムは、分類結果に基づいて、複数の対象物体を追跡する追跡処理を行い、複数の対象物体の移動速度に基づいて、位置情報を調整する。
【0005】
また、特許文献2には、リソースが限られている携帯情報端末などにおいて動画像から高速に顔と顔部品とを追跡する顔追跡方法が開示されている。特許文献2の顔追跡方法によれば、フレーム画像の顔領域から顔部品それぞれの位置を検出する。次に、この顔追跡方法では、以降のフレーム画像において、顔部品位置に基づいて、設定される所定の大きさの探索領域内で顔部品を追跡する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第6561194号公報
【特許文献2】特開2006-228061号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1及び特許文献2に開示されている技術を用いて対象物体を追跡することができる。また、対象物体は、矩形の枠で囲まれた矩形領域として検出される。この矩形領域が重なっているかどうかによって、対象物体が重なっているかどうかの判定を行うこともできる。しかしながら、矩形領域が重なっている場合でも、対象物体は重なっていない場合もあり得る。例えば、生エビは丸みを帯びた形状であるため、その生エビに対応した矩形領域では、生エビが存在しない箇所も矩形領域に含まれることがある。この存在しない箇所において、矩形領域同士が重なり合うと、生エビ同士は実際重なっていなくても、重なっていると判定されてしまうおそれがある。また、より精度よく重なり判定を行おうとすると、解析及び演算処理が複雑となり、判定処理速度が低下してしまう。
【0008】
本開示は、一側面としては、処理速度を向上させつつ、精度よく対象物体同士の重なりを判定する、重なり判定装置、重なり判定方法及びプログラムを提供することを目的とする
【課題を解決するための手段】
【0009】
上記目的を達成するため、一つの側面における重なり判定装置は、
第1対象物体と第2対象物体との重なりを判定する装置であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成する対象物体領域生成部と、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成する合成領域生成部と、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定する重なり判定部と、
を備える、ことを特徴とする。
【0010】
また、上記目的を達成するため、一つの側面における重なり判定方法は、
第1対象物体と第2対象物体との重なりを判定する方法であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を備える、ことを特徴とする。
【0011】
更に、上記目的を達成するため、一つの側面におけるプログラムは、
コンピュータに、第1対象物体と第2対象物体との重なりを判定させるプログラムであって、
前記コンピュータに、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を実行させる命令を含む、ことを特徴とする。
【発明の効果】
【0012】
本開示は、一側面として、処理速度を向上させつつ、精度よく対象物体同士の重なりを判定することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、重なり判定装置の概要を説明するための図である。
【
図2】
図2は、実施形態における重なり判定装置の構成を説明するためのブロック図である。
【
図3】
図3は、重なり判定装置の具体的な構成を説明するための図である。
【
図4】
図4は、画像データ上に矩形領域を生成した状態を説明するための図である。
【
図5】
図5は、画像データ上に楕円形状の対象物体領域を生成した状態を説明するための図である。
【
図6】
図6は、画像データ上に円形状の対象物体領域を生成した状態を説明するための図である。
【
図7】
図7は、楕円形状の対象物体領域から合成領域を生成する場合を説明するための図である。
【
図8】
図8は、円形状の対象物体領域から合成領域を生成する場合を説明するための図である。
【
図9】
図9は、矩形領域によって重なり判定を行う場合を説明するための図である。
【
図10】
図10は、重なり判定装置の処理を示すフロー図である。
【
図11】
図11は、実施形態における重なり判定装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、実施形態における重なり判定装置について、図面を参照しながら説明する。
【0015】
最初に、以降で説明する実施形態の理解を容易にするために概要を説明する。
図1は、重なり判定装置10の概要を説明するための図である。本実施形態における重なり判定装置10は、製品生産現場、例えば、上述したように、エビフリッターを製造する食品加工現場で用いられる。この食品加工現場では、生エビ100をベルトコンベア102で運び、その生エビ100をフライヤ(不図示)に投入して、エビフリッターが製造される。生エビ100が重なった状態でフライヤに投入されると、塊となった状態の不良なエビフリッターが製造されてしまう。
【0016】
重なり判定装置10は、ベルトコンベア102上で、生エビ100が重なっていないかを判定する装置である。ベルトコンベア102上には撮像装置101が設置されている。撮像装置101は、ベルトコンベア102上を撮像対象領域とし、ベルトコンベア102で運ばれる複数の生エビ100を撮像する。撮像装置101は、例えばCCD(Charge Coupled Device)型又はCMOS(Complementary Metal-Oxide-Semiconductor)型などのイメージセンサを有して構成され、例えば、カメラ、赤外線カメラ、超音波カメラ、X線カメラなどである。
【0017】
重なり判定装置10は、撮像装置101から画像データを取得する。重なり判定装置10は、取得した画像データから生エビ100を検出する検出処理を行う。検出処理は、例えば、撮像したフレーム画像を用いてディープラーニングにより学習させた、移動する生エビ100の位置を高精度で検出する学習モデルを用いて、移動する生エビ100の位置検出をする処理である。ただし、検出処理は、ディープラーニングにより学習させた学習モデルを用いた検出処理に限定されるものでなく、対象物体領域の位置が高精度に検出できる処理であればよい。重なり判定装置10は、検出した対象物体領域の位置を用いて、生エビ100の重なりを判定する。本実施形態では、対象物体領域は円形又は楕円形である。
【0018】
以下の説明では、重なりを判定する対象物体は生エビとして説明するが、これに限定されない。対象物体は、例えば、形状が一律でない食料品(野菜、加工食品)などであってもよい。
【0019】
[装置構成]
以下に、図面を参照して、本実施形態における重なり判定装置10について説明する。
図2は、本実施形態における重なり判定装置10の構成を説明するためのブロック図である。
図2に示すように、重なり判定装置10は、対象物体領域生成部1と、合成領域生成部2と、重なり判定部3とを、有している。
【0020】
対象物体領域生成部1は、撮像装置101で第1対象物体及び第2対象物体を撮像して得られる画像データから、第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成する。第1対象物体及び第2対象物体は、本実施形態では生エビ100である。
【0021】
合成領域生成部2は、第1対象物体領域と第2対象物体領域とを合成して、第1対象物体領域と中心を一致させた合成領域を生成する。
【0022】
重なり判定部3は、合成領域内に第2対象物体領域の中心が含まれている場合、第1対象物体と、第2対象物体とは重なっていると判定する。
【0023】
以上のように、本実施形態では、第1対象物体と第2対象物体との重なり判定に、合成領域を用いることで、判定処理が簡略化される。これにより、処理速度を向上させつつ、重なり判定を精度よく行うことができる。
【0024】
次に、本実施形態の重なり判定装置10について具体的に説明する。
図3は、重なり判定装置10の具体的な構成を説明するための図である。上記したように、重なり判定装置10は、対象物体領域生成部1と、合成領域生成部2と、重なり判定部3とに加え、取得部4と、を備えている。重なり判定装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)、又はそれら両方を搭載したサーバコンピュータ、パーソナルコンピュータなどの情報処理装置である。
【0025】
取得部4は、撮像装置101から画像データを取得する。撮像装置101は、ベルトコンベア102上の予め設定された領域を撮像している。
【0026】
対象物体領域生成部1は、取得した画像データのフレーム画像から、対象物体(生エビ100)それぞれに対応する対象物体領域の位置を算出する検出処理を実行する。検出処理は、上述したように撮像したフレーム画像を用いてディープラーニングにより学習させた、フレーム画像上の移動する対象物体に対応する対象物体領域の位置を高精度で検出する学習モデルを用いて、移動する製品の位置検出をする処理である。また、学習モデルは、製品の分類を表すクラスと、製品らしさを表す信頼度(スコア)を出力する。
【0027】
なお、ディープラーニング以外の方法としては、HOG(Histograms of Oriented Gradients)特徴量とサポートベクタマシンとを組み合わせた方法、又はHaar-like特徴量とカスケード分類器とを組み合わせた方法などがある。
【0028】
対象物体領域生成部1は、画像データ上にて、検出処理を実行して検出した対象物体である生エビ100を包含する枠状の矩形領域21を生成する。
図4は、画像データ上に矩形領域21を生成した状態を説明するための図である。
図4に示すように、矩形領域21は、画像データ上のすべての生エビ100を包含するように生成される。
【0029】
対象物体領域生成部1は、生成した矩形領域21に基づいて、円形状又は楕円形状の対象物体領域を生成する。
【0030】
図5は、画像データ上に楕円形状の対象物体領域22を生成した状態を説明するための図である。楕円形状の対象物体領域22は、矩形領域21に基づいて生成される。具体的には、対象物体領域生成部1は、矩形領域21の中心を中心とした、矩形の内接円を生成し、その生成した内接円を楕円形状の対象物体領域22とする。なお、
図4に示すように、矩形領域21は生エビ100を包含しているのに対し、生成された楕円形状の対象物体領域22は、
図5に示すように、生エビ100全体を覆わない場合もある。
【0031】
図6は、画像データ上に円形状の対象物体領域23を生成した状態を説明するための図である。円形状の対象物体領域23は、矩形領域21に基づいて、
図5に示す楕円形状の対象物体領域を生成し、その楕円形上の対象物体領域に基づいて生成される。具体的には、対象物体領域生成部1は、矩形領域21に基づいて生成した楕円形状の対象物体領域と中心を同じにし、楕円形の面積と同じ円形状の対象物体領域23を生成する。なお、
図4に示すように、矩形領域21は生エビ100を包含しているのに対し、生成された円形状の対象物体領域23は、
図6に示すように、生エビ100全体を覆わない場合もある。
【0032】
対象物体領域生成部1は、画像データ上に、楕円形状の対象物体領域22を生成してもよいし、円形状の対象物体領域23を生成してもよい。
【0033】
合成領域生成部2は、対象物体領域生成部1が生成し、近接する二つの円形状又は楕円形状の対象物体領域を合成した、合成領域を生成する。
【0034】
まず、対象物体領域生成部1が楕円形状の対象物体領域22を生成した場合について説明する。
【0035】
図7は、楕円形状の対象物体領域22から合成領域223を生成する場合を説明するための図である。
図7では、画像データ上に、楕円形状の対象物体領域221と、楕円形状の対象物体領域222とを生成したものとする。対象物体領域221と、対象物体領域222とは、近接している。近接とは、例えば、それぞれの領域221、222の中心点間の距離が所定距離以内にある場合である。
【0036】
以下、画像データ上における2次元座標を、x軸及びy軸で表す。対象物体領域221の中心点は(x1、y1)、対象物体領域222の中心点は(x2、y2)で表す。また、楕円形状の対象物体領域221、222は、その長径及び短径が2次元座標におけるx軸及びy軸に沿って形成されている。対象物体領域221のx軸に沿った径はrx1で表し、y軸に沿った径はry1で表す。また、対象物体領域222のx軸に沿った径はrx2で表し、y軸に沿った径はry2で表す。
【0037】
本実施形態では、合成領域生成部2は、対象物体領域221と対象物体領域222とを合成し、対象物体領域221と中心を一致させた楕円形状の合成領域223を生成する。なお、合成領域生成部2は、対象物体領域221と対象物体領域222とを合成し、対象物体領域222と中心を一致させた楕円形状の合成領域を生成してもよい。
【0038】
合成領域生成部2は、x軸に沿った対象物体領域221、222それぞれの径を加算し、また、y軸に沿った対象物体領域221、222それぞれの径を加算する。すなわち、合成領域223のx軸に沿った径はrx1+rx2となり、y軸に沿った径はry1+ry2となる。また、合成領域生成部2は、合成領域223の中心点を座標(x1、y1)とする。
【0039】
次に、対象物体領域生成部1が円形状の対象物体領域23を生成した場合について説明する。
【0040】
図8は、円形状の対象物体領域23から合成領域233を生成する場合を説明するための図である。
図8では、画像データ上に、円形状の対象物体領域231と、円形状の対象物体領域232とを生成したものとする。対象物体領域231と、対象物体領域232とは、近接している。
【0041】
対象物体領域231の中心点は(x1、y1)、対象物体領域232の中心点は(x2、y2)で表す。また、円形状の対象物体領域231の半径はr1で表す。対象物体領域232の半径はr2で表す。
【0042】
本実施形態では、合成領域生成部2は、対象物体領域231と対象物体領域232とを合成し、対象物体領域231と中心を一致させた円形状の合成領域233を生成する。なお、合成領域生成部2は、対象物体領域231と対象物体領域232とを合成し、対象物体領域232と中心を一致させた円形状の合成領域を生成してもよい。
【0043】
合成領域生成部2は、対象物体領域231、232それぞれの半径を加算する。すなわち、合成領域233の半径はr1+r2となる。また、合成領域生成部2は、合成領域233の中心点を座標(x1、y1)とする。
【0044】
重なり判定部3は、一方の対象物体領域と中心を同じにした合成領域内に、他方の対象物体領域の中心が含まれているか否かを判定する。例えば、
図7の場合、重なり判定部3は、合成領域223内に、対象物体領域222の中心(x
2、y
2)が含まれているか否かを判定する。また、
図8の場合、重なり判定部3は、合成領域233内に、対象物体領域232の中心(x
2、y
2)が含まれているか否かを判定する。
【0045】
合成領域が楕円形状である場合(
図7の場合)、重なり判定部3は、以下の式を満足するか否かを判定する。
(x
2-x
1)
2/(r
x1+r
x2)
2+(y
2-y
1)
2/(r
x1+r
x2)
2≦1
【0046】
上記式が満足する場合、重なり判定部3は、対象物体領域221が包含する生エビ100と、対象物体領域222が包含する生エビ100とが、重なっていると判定する。
【0047】
一方、合成領域が円形状である場合(
図8の場合)、重なり判定部3は、以下の式を満足するか否かを判定する。
(x
2-x
1)
2+(y
2-y
1)
2≦(r
1+r
2)
2
【0048】
上記式が満足する場合、重なり判定部3は、対象物体領域231が包含する生エビ100と、対象物体領域232が包含する生エビ100とが、重なっていると判定する。
【0049】
上記したように、生エビ100の形状は丸みを帯びているため、矩形領域21(
図4参照)の重なりによって、生エビ100が重なっているか否かを判定した場合では、
図9に示すように、矩形領域21が重なっている場合でも、生エビ100は重なっていない場合もあり得る。
図9は、矩形領域21によって重なり判定を行う場合を説明するための図である。合成領域を生成せず、円形状又は楕円形状の対象物体領域の重なりによって、生エビ100が重なっているか否かを判定した場合であっても同様ある。また、円形状又は楕円形状の対象物体領域は、生エビ100全体を包含せず、生エビ100の一部が対象物体領域からはみ出る場合もある。このため、単に円形状又は楕円形状の対象物体領域の重なりから、生エビ100が重なっているか否かを判定すると、判定結果に誤差が生じ、判定精度が低下するおそれがある。特に楕円形状の対象物体領域を用いて判定精度を向上させようとすると、演算処理が複雑となる。
【0050】
このため、合成領域を生成して、その合成領域を用いて重なり判定を行うことで、上記式で示すように、簡単な演算での処理が可能なため、処理速度を向上させることができ、かつ、重なり判定を精度良く行うことができる。
【0051】
次に、本実施形態における重なり判定装置10の動作について
図10を用いて説明する。
図10は、重なり判定装置10の処理を示すフロー図である。以下の説明においては、本実施形態では、重なり判定装置10を動作させることによって、重なり判定方法が実施される。よって、本実施形態における重なり判定方法の説明は、以下の重なり判定装置10の動作説明に代える。
【0052】
取得部4は、撮像装置101から画像データを取得する(S1)。対象物体領域生成部1は、取得された画像データのフレーム画像を用いて検出処理を実行し、検出した対象物体である生エビ100を包含する矩形領域21(
図4参照)を生成する(S2)。対象物体領域生成部1は、生成した矩形領域21から、
図5又は
図6に示す、円形状又は楕円形状の対象物体領域を生成する(S3)。
【0053】
合成領域生成部2は、生成した円形状又は楕円形状の対象物体領域から、
図7又は
図8に示す合成領域を生成する(S4)。合成領域の生成方法は、
図7又は
図8で説明した通りである。
【0054】
重なり判定部3は、一方の対象物体領域と中心を同じにした合成領域内に、他方の対象物体領域の中心が含まれているか否かを判定する(S5)。例えば、
図7の場合、重なり判定部3は、合成領域223内に、対象物体領域222の中心(x
2、y
2)が含まれているか否かを判定する。また、
図8の場合、重なり判定部3は、合成領域233内に、対象物体領域232の中心(x
2、y
2)が含まれているか否かを判定する。
【0055】
なお、重なり判定した結果は、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)といった表示装置などの外部機器へ出力してもよい。また、重なっていると判定された生エビ100に対して、プロジェクタなどの投影装置で投光マーカを投影して、マーキングするようにしてもよい。
【0056】
以上のように本実施形態によれば、上記した式のように簡単な四則演算で、重なり判定を行うため、重なり判定の処理速度をより高速に、かつ、精度よく生エビ100同士の重なりを判定することができる。
【0057】
本実施形態におけるプログラムは、コンピュータに、
図10に示すステップS1~S5を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施形態における重なり判定装置と重なり判定方法とを実現することができる。この場合、コンピュータのプロセッサは、対象物体領域生成部1、合成領域生成部2、重なり判定部3及び取得部4として機能し、処理を行なう。
【0058】
また、本実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、対象物体領域生成部1、合成領域生成部2、重なり判定部3及び取得部4のいずれかとして機能しても良い。
【0059】
ここで、本実施形態におけるプログラムを実行することによって、重なり判定装置を実現するコンピュータについて
図11を用いて説明する。
図11は、本実施形態における重なり判定装置を実現するコンピュータの一例を示すブロック図である。
【0060】
図11に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
【0061】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0062】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0063】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0064】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0065】
なお、本実施形態における重なり判定装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、重なり判定装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0066】
上述した実施形態の一部又は全部は、以下に記載する(付記1)~(付記18)によって表現することができるが、以下の記載に限定されるものではない。
【0067】
(付記1)
第1対象物体と第2対象物体との重なりを判定する装置であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成する対象物体領域生成部と、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成する合成領域生成部と、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定する重なり判定部と、
を備える、重なり判定装置。
【0068】
(付記2)
付記1に記載の重なり判定装置であって、
前記対象物体領域生成部は、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成し、前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
重なり判定装置。
【0069】
(付記3)
付記1又は付記2に記載の重なり判定装置であって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域生成部は、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
重なり判定装置。
【0070】
(付記4)
付記3に記載の重なり判定装置であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記重なり判定部は、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定装置。
【0071】
(付記5)
付記1又は付記2に記載の重なり判定装置であって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域生成部は、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
重なり判定装置。
【0072】
(付記6)
付記5に記載の重なり判定装置であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記重なり判定部は、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定装置。
【0073】
(付記7)
第1対象物体と第2対象物体との重なりを判定する方法であって、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を備える、重なり判定方法。
【0074】
(付記8)
付記7に記載の重なり判定方法であって、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成するステップ、
を備え、
前記第1対象物体領域、及び、前記第2対象物体領域を生成するステップでは、
前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
重なり判定方法。
【0075】
(付記9)
付記7又は付記8に記載の重なり判定方法であって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域を生成するステップでは、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
重なり判定方法。
【0076】
(付記10)
付記9に記載の重なり判定方法であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定方法。
【0077】
(付記11)
付記7又は付記8に記載の重なり判定方法であって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域を生成するステップでは、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
重なり判定方法。
【0078】
(付記12)
付記11に記載の重なり判定方法であって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
重なり判定方法。
【0079】
(付記13)
コンピュータに、第1対象物体と第2対象物体との重なりを判定させるプログラムであって、
前記コンピュータに、
撮像装置で前記第1対象物体及び前記第2対象物体を撮像して得られる画像データに基づいて、前記第1対象物体に対応する円形状又は楕円形状の第1対象物体領域、及び、前記第2対象物体に対応する円形状又は楕円形状の第2対象物体領域を生成するステップと、
前記第1対象物体領域と前記第2対象物体領域とを合成して、前記第1対象物体領域と中心を一致させた合成領域を生成するステップと、
前記合成領域内に前記第2対象物体領域の中心が含まれている場合、前記第1対象物体と、前記第2対象物体とは重なっていると判定するステップと、
を実行させる命令を含む、プログラム。
【0080】
(付記14)
付記13に記載のプログラムであって、
前記コンピュータに、
前記画像データに基づいて、前記第1対象物体に対応する第1矩形領域、及び、前記第2対象物体に対応する第2矩形領域それぞれを生成するステップ、
を実行させる命令を含み、
前記第1対象物体領域、及び、前記第2対象物体領域を生成するステップでは、
前記第1矩形領域に基づいて前記第1対象物体領域を生成し、前記第2矩形領域に基づいて前記第2対象物体領域を生成する、
プログラム。
【0081】
(付記15)
付記13又は付記14に記載のプログラムであって、
前記第1対象物体領域及び前記第2対象物体領域が円形状である場合、
前記合成領域を生成するステップでは、
前記第1対象物体領域の半径と、前記第2対象物体領域の半径とを足し合わせた、円形状の前記合成領域を生成する、
プログラム。
【0082】
(付記16)
付記15に記載のプログラムであって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、半径をr1で表し、前記第2対象物体領域の中心座標を(x2、y2)、半径をr2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2+(y2-y1)2≦(r1+r2)2
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
プログラム。
【0083】
(付記17)
付記13又は付記14に記載のプログラムであって、
前記第1対象物体領域及び前記第2対象物体領域が、長径及び短径が2次元座標における水平方向及び鉛直方向に沿った楕円形状である場合、
前記合成領域を生成するステップでは、
前記水平方向に沿った前記第1対象物体領域の長径又は短径と、前記鉛直方向に沿った前記第2対象物体領域の長径又は短径とを足し合わせた楕円形状の前記合成領域を生成する、
プログラム。
【0084】
(付記18)
付記17に記載のプログラムであって、
2次元座標において、前記第1対象物体領域の中心座標を(x1、y1)、前記水平方向に沿った径をrx1、前記鉛直方向に沿った径をry1で表し、前記第2対象物体領域の中心座標を(x2、y2)、前記水平方向に沿った径をrx2、前記鉛直方向に沿った径をry2で表した場合、
前記第1対象物体と前記第2対象物体とが重なっていると判定するステップでは、
(x2-x1)2/(rx1+rx2)2+(y2-y1)2/(rx1+rx2)2≦1
の式を満足するときに、前記第1対象物体と、前記第2対象物体とは重なっていると判定する、
プログラム。
【産業上の利用可能性】
【0085】
以上のように本開示によれば、処理速度を向上しつつ、精度よく対象物体同士の重なりを判定することができる。本開示は、対象物体、例えば、搬送される製品の重なり判定が必要な分野において有用である。
【符号の説明】
【0086】
1 :対象物体領域生成部
2 :合成領域生成部
3 :重なり判定部
4 :取得部
10 :重なり判定装置
21 :矩形領域
22 :対象物体領域
23 :対象物体領域
100 :生エビ
101 :撮像装置
102 :ベルトコンベア
110 :コンピュータ
111 :CPU
112 :メインメモリ
113 :記憶装置
114 :入力インターフェイス
115 :表示コントローラ
116 :データリーダ/ライタ
117 :通信インターフェイス
118 :入力機器
119 :ディスプレイ装置
120 :記録媒体
121 :バス
221 :対象物体領域
222 :対象物体領域
223 :合成領域
231 :対象物体領域
232 :対象物体領域
233 :合成領域