(58)【調査した分野】(Int.Cl.,DB名)
所定の大きさを有する物体が1以上載置された状態を所定の方向から撮像した画像に基づいて、前記画像に含まれる位置毎に前記所定の方向についての深度を示す3次元データである深度データを生成する撮像装置と、
解析装置と、
を備え、
前記解析装置は、
前記撮像装置によって生成された前記深度データを取得する深度データ取得部と、
前記深度データに基づいて前記状態において前記物体を前記所定の方向からみた場合の前記物体の面積のある深度についての合計値を前記深度毎に算出する面積算出部と、
前記面積算出部が算出した前記合計値と、前記大きさとに基づいて前記深度毎に前記物体の数を算出する算出部と、
を備える
物体検出システム。
所定の大きさを有する物体が1以上載置された状態を所定の方向から撮像した画像に基づいて、前記画像に含まれる位置毎に前記所定の方向についての深度を示す3次元データである深度データを生成する撮像装置と、
解析装置と、
を備え、
前記解析装置は、
前記撮像装置によって生成された前記深度データを取得する深度データ取得部と、
前記深度データに基づいて前記画像の画素のうち前記物体に対応する画素の数を前記深度毎に計測する画素計測部と、
前記画素計測部が計測した前記画素の数と、前記大きさとに基づいて前記深度毎に前記物体の数を算出する算出部と、
を備える
物体検出システム。
前記物体の前記所定の方向の大きさに基づいて、前記物体が1以上の段数載置された状態における段数毎の前記深度である対象深度を算出する対象深度算出部をさらに備え、
前記算出部は、前記対象深度と、前記深度データと、前記大きさとに基づいて前記深度毎に前記物体の数を算出する
請求項1から請求項3のいずれか一項に記載の物体検出システム。
所定の大きさを有する物体が1以上載置された状態を所定の方向から撮像した画像に基づいて、前記画像に含まれる位置毎に前記所定の方向についての深度を示す3次元データである深度データを生成する撮像装置によって生成された前記深度データを取得し、
前記深度データに基づいて前記状態において前記物体を前記所定の方向からみた場合の前記物体の面積のある深度についての合計値を前記深度毎に算出し、
算出した前記合計値と、前記大きさとに基づいて前記深度毎に前記物体の数を算出する、
物体検出方法。
所定の大きさを有する物体が1以上載置された状態を所定の方向から撮像した画像に基づいて、前記画像に含まれる位置毎に前記所定の方向についての深度を示す3次元データである深度データを生成する撮像装置によって生成された前記深度データを取得し、
前記深度データに基づいて前記画像の画素のうち前記物体に対応する画素の数を前記深度毎に計測し、
計測した前記画素の数と、前記大きさとに基づいて前記深度毎に前記物体の数を算出する、
物体検出方法。
【発明を実施するための形態】
【0010】
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態に係る物体検出システム1の構成の一例を示す図である。図面には、説明の便宜上、三次元直交座標系であるXYZ直交座標系を示してある。当該XYZ直交座標系において、Z軸の向きは、鉛直上向きである。以下の説明において、Z軸に平行な方向を上下方向ともいう。Z軸の向きを上向きともいう。Z軸の向きと逆の向きを下向きともいう。Z軸の方向の正の側を上側ともいい、Z軸の方向の負の側を下側ともいう。Y軸に平行な方向を奥行方向ともいう。Y軸の方向の正の側を手前側ともいい、Y軸の方向の負の側を奥側ともいう。X軸に平行な方向を左右方向ともいう。X軸の方向の正の側を右側ともいい、X軸の方向の負の側を左側ともいう。
【0011】
物体検出システム1は、一例として、印刷工場においてパレット上に載置される結束を検出し、当該結束の数を算出するためのシステムである。結束は、パレット上に複数段に渡って積まれる。物体検出システム1では、結束の数を段毎に算出する。ここで結束とは、雑誌などが数十センチメートル程度の高さにまとめて紐などで結わえられたものである。
【0012】
物体検出システム1は、深度カメラ2と、解析装置3と、表示装置4とを備える。一例として、深度カメラ2と、解析装置3とは、印刷工場において生産ラインが設けられる建屋内に備えられる。表示装置4は、印刷工場の管理室に備えられる。
【0013】
深度カメラ2は、一例として、建屋の天井に備えられる。深度カメラ2は、結束B及びパレットPLを撮像する。結束Bは、床に載置されたパレットPL上に1以上載置されている。なお、パレットPL上には結束Bが載置されていない場合もある。床は、奥行方向及び左右方向に広がりをもつ。パレットPLは、板状の部材である。パレットPLの形状は、上側から下側にみた場合に略長方形である。
【0014】
深度カメラ2は、天井から床をみた所定の方向である撮像方向A1において結束B及びパレットPLを撮像する。換言すれば、深度カメラ2は、上側から下側に結束B及びパレットPLを撮像する。このように、深度カメラ2は、所定の大きさを有する物体が1以上載置された状態を所定の撮像方向から撮像する。
なお、
図1では、X軸及びY軸はそれぞれ、長方形であるパレットPLの各辺と略平行に設定される。
【0015】
深度カメラ2は、天井においてパレットPLの真上の位置に設置されて、パレットPLの真上から結束B及びパレットPLを撮像することが好ましい。天井におけるパレットPLの真上の位置とは、パレットPLの中心を通る直線とこの直線と天井とが交わる位置である。パレットPLの中心とは、パレットPLを上側から下側にみた場合の長方形の中心である。
なお、深度カメラ2は、上側から下側に結束B及びパレットPLを撮像しさえすれば、パレットPLの真上の位置以外の位置に設置されてもよい。その場合、深度カメラ2が設置される位置からパレットPLの中心に向かう方向は、鉛直方向に対して斜めとなる。
またなお、深度カメラ2は、上側から下側に結束B及びパレットPLを撮像できさえすれば、建屋の天井以外の位置に設置されてもよい。例えば、深度カメラ2は、ラックなどの上部に設置されてもよい。
【0016】
深度カメラ2は、2つの赤外線カメラを備える。深度カメラ2は、2つの赤外線カメラによって撮像方向A1から赤外線画像を撮像する。ここで撮像方向A1は、深度カメラ2から撮像対象である物体の位置に向かう所定の方向である。深度カメラ2は、撮像方向A1から撮像した赤外線画像に基づいて、当該赤外線画像に含まれる位置毎に当該撮像方向A1についての深度を示す3次元データである深度データD1を生成する。深度データD1では、深度カメラ2が撮像した2次元の赤外線画像の位置と、撮像方向A1についての深度とが対応づけられている。
また、深度カメラ2は、2つの赤外線カメラとともに、1つのカラーカメラを備える。深度カメラ2は、赤外線画像とともに、カラーカメラによってRGB画像を撮像する。
【0017】
図2に深度カメラ2によって撮像されたRGB画像と、生成された深度データD1との一例を示す。
図2(A)は、深度カメラ2によってパレット上の結束が撮像されたRGB画像の一例である。
図2(B)は、
図2(A)に示すRGB画像に撮像されたのと同じ物体が撮像されて生成された深度データD1である。
【0018】
深度カメラ2は、2つの赤外線カメラを備える。2つの赤外線カメラはそれぞれ、深度カメラ2から撮像対象をみた向きに左右2つの赤外線画像をそれぞれ撮像する。深度カメラ2は、一例として、三角測量の原理に基づいて撮像方向A1についての深度を算出する。具体的には、深度カメラ2は、2つの赤外線カメラに共通の焦点距離と、2つの赤外線カメラ間の距離(基線長という)と、撮像される赤外線画像内の物体の位置の左右の2つの赤外線カメラ間の視差とに基づく演算によって、深度を算出する。この演算では、焦点距離に、基線長の視差に対する比が乗じられて深度が算出される。
なお、深度カメラ2は、撮像方向A1についての深度を算出できさえすれば、深度カメラ2が撮像方向A1についての深度を算出する原理は、上記の三角測量の原理以外の原理であってもよい。
【0019】
図1に戻って物体検出システム1の説明を続ける。
図1に示す例では、4つの結束Bが床に載置されたパレットPLに載置されている。結束の大きさ及び形状は、所定のサイズの略直方体である。パレットPLに載置される結束の大きさ及び形状は、結束それぞれについて共通である。また、結束Bには、結束の種類などが記載された紙面が直方体のある面に貼られる。紙面が貼られる面は結束それぞれについて共通である。以下の説明では、紙面が貼られる面を結束の上面という場合がある。
【0020】
図1に示す例では、結束Bの段数は1段である。作業が進行するにつれて結束Bが1段目に所定の数だけ載置されると、結束Bの上に別の結束が載置さて、2段目以降の結束が載置されてゆく。結束は、段毎に所定の数だけ載置される。結束Bは、いずれの段についても上面を上側にして載置される。以下の説明では、段毎に載置されている結束Bの数を、段毎結束数Ni(i=1、2、・・・、N:Nは段の数)という。
【0021】
本実施形態の載置の方法では、一例として、段毎の結束の数が共通の所定の数となるように載置が行われる。載置される結束Bの向きは、上面を上側にして、かつ下の段に隙間がほとんどなく、段毎に所定の数の結束が載置されさえすれば、いずれの向きでもよい。本実施形態では、一例として、段毎に10個の結束Bが載置される。本実施形態では、
図3に示すように、例えば、結束を上側からみたときの結束の長方形の長辺がパレットPLの長辺と平行となる向きにして6つの結束が載置され、当該長方形の長辺がパレットPLの長辺と垂直となる向きにして残りの4つの結束が載置される。
【0022】
本実施形態では、上の段に載置される結束Bの下には結束があり、隙間はほとんどないものとする。例えば、下の段に載置される2つの結束の間に、結束が載置できるだけの大きさの隙間を設けて、それら2つの結束の両方の上に跨るようにして上の段に結束を載置することは可能であるが、本実施形態ではそのような載置の方法は扱わない。結束Bの載置の方法は、上の段に載置される結束Bの下には隙間がほとんどないという条件が満たされれば、
図3に示した載置の方法以外のいずれの方法であってもよい。
【0023】
解析装置3は、深度カメラ2から深度データD1を取得する。解析装置3は、取得した深度データD1に基づいて、パレットPLに載置された結束Bについて段毎結束数Niを算出する。解析装置3は、例えば、コンピュータである。解析装置3は、深度カメラ2と通信を行う。解析装置3は、一例として、無線ネットワークを介して深度カメラ2と無線通信を行う。この無線通信には、深度カメラ2と解析装置3との距離に応じて無線LANなどの近距離無線通信などが好適に用いられる。なお、解析装置3と深度カメラ2とがケーブルによって接続されて、解析装置3は深度カメラ2と有線通信をおこなってもよい。
【0024】
表示装置4は、解析装置3から、算出結果R1を取得する。算出結果R1は、段毎結束数Niを示すデータである。表示装置4は、取得した算出結果R1を表示する。表示装置4は、例えば、パーソナルコンピュータ(Personal Computer:PC)である。印刷工場の管理者は、表示装置4のディスプレイに表示された算出結果R1を確認して、段毎結束数Niを確認する。表示装置4と解析装置3とは、例えば、無線LANなどの無線通信によって通信を行う。
【0025】
次に
図4を参照し、物体検出システム1による段毎結束数Niを算出する処理の概要を説明する。この処理を段毎結束数算出処理という。
図4は、本実施形態に係る段毎結束数算出処理の一例を示す図である。解析装置3は、深度カメラ2から深度データD1を取得する(ステップS10)。解析装置3は、深度データD1にマスク処理を実行する(ステップS20)。このマスク処理では、深度データD1から、結束B以外の背景の位置に対応する深度が除去される。マスク処理が実行された深度データD1をマスク処理後深度データD2という。解析装置3は、深度データに方向補正処理を実行する(ステップS30)。この方向補正処理では、パレットPLに載置された結束Bが真上から撮像されていない場合に、深度データとしてマスク処理後深度データD2が真上から撮像した場合の深度データへと変換される。真上から撮像した場合の深度データへと変換されたマスク処理後深度データD2を方向補正後深度データD3という。
【0026】
ここで
図5に、方向補正処理による画像変換の一例を示す。
図5に示す例では、真上から撮像されていない場合のRGB画像IM41が、真上から撮像した場合のRGB画像IM42へと変換される場合の一例を示す。この変換では、RGB画像IM41内の位置がそれぞれ、RGB画像IM42内の位置へと変換されている。ステップS30における深度データD1の補正では、深度データD1に含まれる2次元の位置について、RGB画像IM41からRGB画像IM42への変換と同様の変換が行われる。
【0027】
解析装置3は、深度データを高さデータH1に変換する(ステップS40)。この変換では、深度データとして方向補正後深度データD3が示す深度が、パレットPLが載置される床からの高さへと変換される。高さデータH1は、画像内の位置毎に示す当該高さを示す3次元データである。
【0028】
解析装置3は、各段の高さを算出する(ステップS50)。各段の高さは、結束Bの高さに段数を乗算することによって算出される。上述したように結束Bの高さは、予め決まっている。
解析装置3は、画素を単位として各段の結束Bの面積を算出する(ステップS60)。解析装置3は、結束Bに対応する画像内の画素の数を高さ毎に計測する。計測された高さ毎の画素の数は、各段の結束Bの面積を示す。本実施形態では、解析装置3は、結束Bに対応する画像内の画素の数を高さ毎に計測した結果を示すヒストグラムである画素ヒストグラムを生成する。
解析装置3は、段毎結束数Niを算出する(ステップS70)。段毎結束数Niは、画素単位で示された各段の結束Bの面積を、1つの結束Bの画素単位で示された表面積によって除算することによって算出される。
【0029】
ここで
図6から
図11を参照し、結束Bが載置された状態と画素ヒストグラムとの関係について説明する。
図6、
図8、及び
図10は、本実施形態に係る結束Bが載置された状態がそれぞれ撮像されたRGB画像IM51、RGB画像IM52、及びRGB画像IM53の一例を示す図である。
図7、
図9、及び
図11は、RGB画像IM51、RGB画像IM52、及びRGB画像IM53にそれぞれ対応する画素ヒストグラムHS51、画素ヒストグラムHS52、及び画素ヒストグラムHS53の一例をそれぞれ示す図である。
【0030】
RGB画像IM51は、1段目に3個の結束Bが載置されている。画素ヒストグラムHS51によれば、235mm付近、及び485mm付近について画素の頻度が、他の高さに比べて高い。235mm付近の頻度のピークPK11は、パレットPLの高さが235mmであることに対応する。485mm付近の頻度のピークPK12は、1段目の高さが485mmであることに対応する。1段目の高さは、パレットPLの高さである235mmに結束Bの高さである250mmを加算して得られる。
【0031】
RGB画像IM52は、1段目に10個の結束Bが載置されている。RGB画像IM51では、1段目に載置された10個の結束BによってパレットPLが見えなくなっている。画素ヒストグラムHS52によれば、485mm付近について画素の頻度が、他の高さに比べて高い。285mm付近の頻度のピークPK2は、1段目の高さが485mmであることに対応する。ここでRGB画像IM52においてパレットPLが見えなくなっていることに応じて、画素ヒストグラムHS52では、パレットPLの高さに対応するピークはみられない。
【0032】
RGB画像IM53は、1段目に10個の結束Bが、2段目に3個の結束Bがそれぞれ載置されている。2段目にされた3個の結束Bによって、1段目に載置された10個の結束Bのうち一部が見えなくなっている。画素ヒストグラムHS53によれば、485mm付近、及び735mm付近について画素の頻度が、他の高さに比べて高い。485mm付近の頻度のピークPK31は、1段目の高さが485mmであることに対応する。735mm付近の頻度のピークPK32は、2段目の高さが735mmであることに対応する。
画素ヒストグラムHS53におけるピークPK31と、画素ヒストグラムHS52におけるピークPK2との高さを比較すると、RGB画像IM53では、2段目にされた3個の結束Bによって、1段目に載置された10個の結束Bのうち一部が見えなくなっていることに応じて、ピークPK31の高さは、ピークPK2の高さに比べて低くなっている。
【0033】
[解析装置の構成]
図12は、本実施形態に係る解析装置3の構成の一例を示す図である。解析装置3は、制御部30と、通信部31と、記憶部32とを備える。
【0034】
制御部30は、例えばCPU(Central Processing Unit)や、GPU(Graphics Processing Unit)、FPGA(field−programmable gate array)などを備えており、種々の演算や情報の授受を行う。制御部30は、深度データ取得部300と、深度データマスク部301と、深度データ補正部302と、深度データ変換部303と、対象深度算出部304と、画素計測部305と、面積算出部306と、結束数算出部307と、出力部308とを備える。深度データ取得部300と、深度データマスク部301と、深度データ補正部302と、深度データ変換部303と、対象深度算出部304と、画素計測部305と、面積算出部306と、結束数算出部307と、出力部308とは、それぞれ、例えばCPUがROM(Read Only Memory)からプログラムを読み込んで処理を実行することにより実現される。
【0035】
深度データ取得部300は、深度カメラ2によって生成された深度データD1を深度カメラ2から取得する。
深度データマスク部301は、深度データにマスク処理を実行する。
深度データ補正部302は、深度データに方向補正処理を実行する。
【0036】
深度データ変換部303は、深度データを高さデータH1に変換する。高さデータH1は、所定の方向についての深度が基準の深度からの深度である相対深度を示す相対深度データの一例である。本実施形態では、上述したようにこの基準の深度とは、床の位置の深度である。また、深度データ変換部303は、データ変換部の一例である。
【0037】
対象深度算出部304は、結束Bの真上方向A2の大きさに基づいて、結束Bが1以上の段数載置された状態における段数毎の深度である対象深度を算出する。結束Bの真上方向A2の大きさは、結束Bの高さである。対象深度は、結束Bが複数段載置された各段の高さである。
画素計測部305は、深度データに基づいて撮像画像の画素のうち結束Bに対応する画素の数を深度毎に計測する。
【0038】
面積算出部306は、深度データに基づいて結束Bの面積のある段についての合計値を段毎に算出する。ここで結束Bの面積は、結束Bが1以上載置された状態において結束Bを真上方向A2からみた場合の結束Bの面積である。真上方向A2とは、鉛直下向きである。また、段毎の結束Bの面積とは、ある段に載置された1以上の結束Bの面積の合計の値である。
【0039】
結束数算出部307は、深度データと、結束Bの大きさとに基づいて段毎結束数Niを算出する。つまり、結束数算出部307は、深度データと、結束Bの大きさとに基づいて深度毎に結束Bの数を算出する。本実施形態では、結束数算出部307は、面積算出部306が算出した合計値を深度データとして用いて深度毎に結束Bの数を算出する。つまり、結束数算出部307は、面積算出部が算出した合計値と、結束Bの大きさとに基づいて深度毎に結束Bの数を算出する。
出力部308は、結束数算出部307が算出した算出結果R1を表示装置4に出力する。
【0040】
通信部31は、無線ネットワークを介して、各種の情報の送信及び受信を行う。通信部は、無線ネットワークを介して通信を行うためのハードウェアである。通信部31は、深度カメラ2、及び表示装置4と通信を行う。
【0041】
記憶部32は、物体情報320を記憶する。物体情報320は、1個の結束Bの大きさを示す情報である。物体情報320は、1個の結束Bの高さ、及び1個の結束Bの上面の面積を示す情報である。記憶部32は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。
【0042】
[段毎結束数算出処理]
図13は、本実施形態に係る段毎結束数算出処理の一例を示す図である。
ステップS100:深度データ取得部300は、深度カメラ2によって生成された深度データD1を深度カメラ2から取得する。深度データ取得部300は、取得した深度データD1を深度データマスク部301に供給する。
【0043】
ステップS110:深度データマスク部301は、深度データ取得部300から供給される深度データD1にマスク処理を実行する。深度データマスク部301は、マスク処理を実行した結果として、マスク処理後深度データD2を生成する。深度データマスク部301は、生成したマスク処理後深度データD2を深度データ補正部302に供給する。
【0044】
ステップS120:深度データ補正部302は、深度データマスク部301から供給されるマスク処理後深度データD2に方向補正処理を実行する。深度データ補正部302は、方向補正処理を実行した結果として、方向補正後深度データD3を生成する。深度データ補正部302は、生成した方向補正後深度データD3を深度データ変換部303に供給する。
【0045】
ステップS130:深度データ変換部303は、深度データを高さデータH1に変換する。深度データ変換部303は、処理対象の深度データとして、深度データ補正部302から供給される方向補正後深度データD3を用いる。深度データ変換部303は、変換して得られる高さデータH1を対象深度算出部304、及び画素計測部305にそれぞれ供給する。
【0046】
ステップS140:対象深度算出部304は、結束Bの真上方向A2の大きさに基づいて、対象深度として、結束Bが複数段載置された各段の高さを算出する。対象深度算出部304は、算出した各段の高さを示す情報を画素計測部305に供給する。各段の高さを示す情報を、各段高さ情報という。
【0047】
ステップS150:画素計測部305は、深度データに基づいて撮像画像の画素のうち結束Bに対応する画素の数を深度毎に計測する。画素計測部305は、深度データとして、深度データ変換部303から供給される高さデータH1を用いる。画素計測部305は、計測した結果に基づいて、画素ヒストグラムHSを生成する。画素計測部305は、計測結果として、生成した画素ヒストグラムHSを面積算出部306に供給する。
【0048】
ステップS160:面積算出部306は、画素計測部305から供給される画素ヒストグラムHSに基づいて、結束Bを真上方向A2からみた場合の結束Bの面積のある段についての合計値を、段の高さ毎に算出する。面積算出部306は、面積を算出する対象の各段の高さとして、対象深度算出部304から供給される各段高さ情報を用いる。面積算出部306は、画素ヒストグラムHSから各段高さ情報が示す高さに対応する画素数を、当該高さ毎に抽出する。
【0049】
例えば、面積算出部306は、画素ヒストグラムHSから各段高さ情報が示す高さの位置にあるピークを抽出する。面積算出部306は、例えば、画素ヒストグラムHSから1段目、2段目、3段目それぞれの高さの位置にある3つのピークを抽出する。面積算出部306は、抽出したピークに含まれる画素の数を計測する。面積算出部306は、計測した結果を、各段高さ情報が示す高さに対応する段に載置された結束Bの面積の合計値とする。この合計値は、1画素を単位として算出されている。
面積算出部306は、算出した段毎の結束Bの面積を結束数算出部307に供給する。
【0050】
ステップS170:結束数算出部307は、面積算出部306が算出した結束Bの段毎の面積の合計値と、1個の結束Bの上面の面積とに基づいて、段毎に結束Bの数を算出する。ここで結束数算出部307は、記憶部32から物体情報320を読み出す。結束数算出部307は、読み出した物体情報320が示す1個の結束Bの上面の面積の値を用いる。結束数算出部307は、結束Bの段毎の面積の合計値を、1個の結束Bの上面の面積の値で除算することによって、段毎に結束Bの数を算出する。
結束数算出部307は、算出した段毎の結束Bの数を示す情報を、算出結果R1として出力部308に供給する。
【0051】
上述したように、結束Bの段毎の面積の合計値は、画素ヒストグラムHSから算出されている。したがって、結束数算出部307は、深度データとして画素計測部305が計測した撮像画像の画素のうち結束Bに対応する画素の数を用いて、深度毎に結束Bの数を算出する。
また、上述したように、画素ヒストグラムHSは、深度データとして相対深度データである高さデータH1が用いられて生成されている。したがって、結束数算出部307は、相対深度データと、結束Bの大きさとに基づいて深度毎に結束Bの数を算出する。
【0052】
また、上述したように、結束Bの段毎の面積の合計値は、画素ヒストグラムHSから各段高さ情報が示す高さの位置にあるピークが抽出されて算出されている。各段高さ情報は、対象深度として算出された、結束Bが複数段載置された各段の高さを示すため、結束Bの段毎の面積の合計値は、対象深度に基づいて算出されている。つまり、当該合計値から算出される深度毎に結束Bの数は、対象深度に基づいて算出された量である。したがって、結束数算出部307は、対象深度と、深度データと、結束Bの大きさとに基づいて深度毎に結束Bの数を算出する。
【0053】
ステップS180:出力部308は、結束数算出部307から供給される算出結果R1を表示装置4に出力する。出力部308は、通信部31を介した無線通信によって算出結果R1を表示装置4に出力する。なお、出力部308は、物体検出システム1の外部に備えられる装置に算出結果R1を出力してもよい。その場合、物体検出システム1の構成から表示装置4が省略されてもよい。
以上で、解析装置3は、段毎結束数算出処理を終了する。
【0054】
なお、
図13に示した段毎結束数算出処理において、ステップS110に示したマスク処理が省略されてもよい。その場合、解析装置3の構成から深度データマスク部301が省略されてもよい。
マスク処理が省略される場合、深度データD1には、結束B及びパレットPL以外の物体が撮像されている場合があるため、それらの不要な物体が、例えば、画素ヒストグラムHSにおいて不要なピークとして現れたり、段に対応する高さにおけるピークの高さを変えたりする場合がある。段毎結束数算出処理の精度を高めるためには、マスク処理が実行されることが好ましい。
【0055】
また、ステップS120に示した方向補正処理が省略されてもよい。その場合、解析装置3の構成から深度データ補正部302が省略されてもよい。ただし、深度カメラ2の撮像方向A1が鉛直下向きである場合以外には、段毎結束数算出処理の精度を高めるためには、方向補正処理が実行されることが好ましい。
【0056】
また、ステップS130に示した深度データを高さデータに変換する処理が省略されてもよい。その場合、解析装置3の構成から深度データ変換部303が省略されてもよい。ただし、深度データを高さデータに変換する処理が省略される場合、例えば、画素ヒストグラムHSにおいて、床の高さに対応する解析に不要なピークが現れるため、段毎結束数算出処理の精度を高めるためには、深度データを高さデータに変換する処理が実行されることが好ましい。
【0057】
また、ステップS140に示した各段の高さを算出する処理が省略されてもよい。その場合、解析装置3の構成から対象深度算出部304が省略されてもよい。その場合、ステップS160において、面積算出部306は、面積を算出する対象の各段の高さを、例えば、画素ヒストグラムHSに含まれるピークの位置から判定する。
【0058】
また、
図13に示した段毎結束数算出処理においては、1個の結束Bの上面の面積が物体情報320に含まれて予めわかっている場合の一例について説明したが、これに限られない。1個の結束Bの上面の面積は、例えば、画素ヒストグラムHSから算出されてもよい。
【0059】
また、
図13に示した段毎結束数算出処理においては、結束Bの段毎の面積の合計値、及び画素ヒストグラムHSの頻度が1画素を単位として算出される場合の一例について説明したが、これに限られない。結束Bの段毎の面積の合計値、及び画素ヒストグラムHSの頻度は、複数の画素を単位として算出されてもよい。例えば、2×2の4つの画素を探知として、それらの値が算出されてもよい。
【0060】
また、
図13に示した段毎結束数算出処理においては、結束Bの段毎の面積の合計値に基づいて、段毎結束数Niが算出される場合の一例について説明したが、これに限られない。結束BがパレットPL上に、結束Bを上側からみた場合の長方形の辺と、パレットPLを上側からみた場合の長方形の辺とを略平行して載置される場合においては、結束Bを上側からみた場合の長方形の辺の長さの段毎の合計値に基づいて、段毎結束数Niが算出されてもよい。
上述したように、結束Bの大きさ及び形状は、所定のサイズの略直方体である。例えば、解析装置3は、深度データD1に基づいて、長方形の各辺の長さの段毎の合計値を算出する。解析装置3は、当該合計値と、結束Bを上側からみた場合の長方形の辺の長さとに基づいて、合計値が、左右方向及び奥行方向について当該の長方形の辺の何倍に相当するかを算出する。解析装置3は、この算出結果に基づいて、段毎結束数Niを算出する。
【0061】
また、本実施形態では、所定の方向として、上側から下側に物体が撮像される場合の一例について説明したが、これに限られない。所定の方向として奥行方向または左右方向から物体が撮像されて、本実施形態と同様の解析が行われてもよい。
また、物体検出システム1が検出する対象は、結束以外の物体であってもよい。
【0062】
以上に説明したように、本実施形態に係る物体検出システム1は、撮像装置(本実施形態において深度カメラ2)と、解析装置3とを備える。
撮像装置(本実施形態において深度カメラ2)は、所定の大きさを有する物体(本実施形態において結束B)が1以上載置された状態を所定の方向(本実施形態において撮像方向A1)から撮像した画像に基づいて、画像に含まれる位置毎に所定の方向(本実施形態において撮像方向A1)についての深度を示す3次元データである深度データD1を生成する。
解析装置3は、深度データ取得部300と、算出部(本実施形態において結束数算出部307)とを備える。深度データ取得部300は、撮像装置(本実施形態において深度カメラ2)によって生成された深度データD1を取得する。算出部(本実施形態において結束数算出部307)は、深度データD1と、物体(本実施形態において結束B)の大きさ(本実施形態において1個の結束Bの上面の面積)とに基づいて深度(本実施形態において結束Bが載置されてできる段の高さ)毎に物体(本実施形態において結束B)の数(本実施形態において段毎結束数Ni)を算出する。
【0063】
この構成により、本実施形態に係る物体検出システム1は、深度データと物体の大きさとに基づいて深度毎に物体の数を算出できるため、物体が載置される位置が限定されていない場合であっても物体を検出できる。
【0064】
(第2の実施形態)
以下、図面を参照しながら本発明の第2の実施形態について詳しく説明する。
上記第1の実施形態では、物体検出システムは、結束の数を段毎に算出する場合について説明をした。本実施形態では、物体検出システムが、結束の種類を段毎に判定する場合について説明をする。
なお、上述した第1の実施形態と同一の構成については同一の符号を付して、同一の構成及び動作についてはその説明を省略する。
本実施形態に係る物体検出システムを物体検出システム1aという。物体検出システム1aは、深度カメラ2と、解析装置3aと、表示装置4とを備える。
【0065】
本実施形態では、結束Bには、複数の種類がある。この種類とは、例えば、結束の納品先によって区別される。この種類は、結束Bの上面に貼られた紙面によって示される。なお、結束Bの大きさ及び形状は、第1の実施形態と同様に結束B間において共通である。
【0066】
図14は、本実施形態に係る解析装置3aの構成の一例を示す図である。解析装置3aは、制御部30aと、通信部31と、記憶部32aとを備える。
制御部30aは、深度データ取得部300と、深度データマスク部301と、深度データ補正部302と、深度データ変換部303と、対象深度算出部304と、画素計測部305と、面積算出部306と、結束数算出部307と、出力部308と、RGB画像取得部309aと、判別部310aとを備える。本実施形態に係る解析装置3a(
図14)と第1の実施形態に係る解析装置3(
図12)とを比較すると、RGB画像取得部309a、及び判別部310aが異なる。
【0067】
RGB画像取得部309aは、深度カメラ2によって生成されたRGB画像D4aを深度カメラ2から取得する。RGB画像D4aでは、結束Bは真上から撮像されていてもよいし、斜めの方向から撮像されていてもよい。
判別部310aは、機械学習に基づいて結束Bの種類を判別する。この機械学習では、学習データ321aが用いられる。学習データ321aは、結束BのRGB画像と、結束Bの種類との関係が機械学習に基づいて予め学習された学習結果を示す。
【0068】
機械学習とは、例えば、深層学習である。この深層学習では、例えば、結束BのRGB画像の各画素値を入力とし、結束Bの種類の判別結果を出力とする多層のニューラルネットワークを用いて学習が実行される。入力に用いられるRGB画像において、結束Bは真上から撮像されていてもよいし、斜めの方向から撮像されていてもよい。学習データ321aとは、学習実行後の当該ニューラルネットワークのノード間の重み、バイアスなどのパラメータの組である。
なお、機械学習として深層学習以外の手法が用いられてもよい。
【0069】
また、判別部310aは、機械学習に基づいて結束BがパレットPL上において載置される位置を示す座標を判定する。この座標は、例えば、
図1に示したようなパレットPLを真上からみた場合に、左右方向と奥行方向にそれぞれ平行な座標軸の座標である。
【0070】
記憶部32aは、物体情報320と、学習データ321aとを記憶する。
なお、学習データ321aは、解析装置3aによって学習が実行されて生成されてもよいし、物体検出システム1に含まれない外部装置によって学習が実行された結果が取得されてもよい。
【0071】
ここで
図15を参照し、解析装置3aによる結束Bの判別結果について説明する。
図15は、本実施形態に係る結束Bの判別結果の一例を示す図である。
図15(A)に示すRGB画像IM151には、判別対象となる結束Bが撮像されている。
図15(B)に示すRGB画像IM152では、結束Bの種類の判別結果に応じて、結束Bそれぞれに判別結果を示す枠が示されている。
【0072】
本実施形態の機械学習による判別では、深度カメラ2が撮像方向A1から撮像可能な結束B(つまり、外側から見えている結束B)についてのみ種類が判別される。本実施形態の機械学習による判別では、撮像可能な結束Bの下に載置されており撮像不可能な結束Bについては、判別の対象とはしない。
【0073】
次に
図16を参照し、段毎結束数算出処理について説明する。
図16は、本実施形態に係る段毎結束数算出処理の一例を示す図である。
なお、ステップS200からステップS270の各処理は、
図13におけるステップS100からステップS170の各処理と同様であるため、説明を省略する。
【0074】
ステップS280:RGB画像取得部309aは、深度カメラ2によって生成されたRGB画像D4aを深度カメラ2から取得する。RGB画像取得部309aは、取得したRGB画像D4aを判別部310aに供給する。
【0075】
ステップS290:判別部310aは、機械学習に基づいて、取得したRGB画像D4aに撮像された結束Bの種類、及び座標を判別する。判別部310aは、RGB画像D4aに撮像された結束B毎に判別を行う。なお、判別部310aは、結束Bの種類、及び座標のいずれか一方を判定してもよい。判別部310aは、RGB画像D4aに撮像された結束Bと、当該結束Bの種類とを組みにして判別結果R2aとして出力部308に供給する。
【0076】
ステップS300:出力部308は、判別部310aから供給される判別結果R2aを、結束数算出部307から供給される算出結果R1とともに、表示装置4に出力する。
以上で、解析装置3aは、段毎結束数算出処理を終了する。
【0077】
少量多品種生産、あるいは複数の配送先への仕分けなどへの対応に伴い、単に生産品の個数を計測するだけでは、生産実績データを自動で管理することは困難である。本実施形態に係る物体検出システム1aでは、生産品である結束の種類を判別できるため、少量多品種生産、あるいは複数の配送先への仕分けなどが行われる場合であっても、生産品の生産を効率化できる。
【0078】
(第3の実施形態)
以下、図面を参照しながら本発明の第3の実施形態について詳しく説明する。
上記第2の実施形態では、物体検出システムは、RGB画像に基づいて外側から見えている結束Bについて種類を判別する場合について説明をした。本実施形態では、物体検出システムが、新たに取得した情報と、既に取得している情報とを比較して、結束の種類と位置とを段毎に検出する場合について説明をする。なお、本実施形態では、結束Bの載置の方法として、上の段に載置される結束Bの下には隙間がほとんどないという条件が満たされてなくてもよい。
【0079】
なお、上述した第1の実施形態および第2の実施形態と同一の構成については同一の符号を付して、同一の構成及び動作についてはその説明を省略する。
本実施形態に係る物体検出システムを物体検出システム1bという。物体検出システム1bは、深度カメラ2と、解析装置3bと、表示装置4とを備える。
【0080】
図17は、本実施形態に係る解析装置3bの構成の一例を示す図である。解析装置3bは、制御部30bと、通信部31と、記憶部32bとを備える。
制御部30bは、深度データ取得部300と、深度データマスク部301と、深度データ補正部302と、深度データ変換部303と、対象深度算出部304と、画素計測部305と、面積算出部306と、結束数算出部307と、出力部308と、RGB画像取得部309aと、判別部310aと、取得データ生成部311bと、比較部312bとを備える。本実施形態に係る解析装置3b(
図17)と第2の実施形態に係る解析装置3a(
図14)とを比較すると、取得データ生成部311b、及び比較部312bが異なる。
【0081】
取得データ生成部311bは、判別部310aの判別結果に基づいて取得データ323bを生成する。取得データ323bは、
図18に示すように、段、結束Bの種類、及び座標の各項目の列を有している。取得データ323bは、段毎に、結束Bの種類及び座標の組が格納される行と列からなる2次元の表形式のデータである。
比較部312bは、取得データ323bと、保持データ322bとを比較する。比較部312bは、比較した結果に基づいて、保持データ322bを更新する。
【0082】
記憶部32bは、物体情報320と、学習データ321aと、保持データ322bとを記憶する。なお、保持データ322bは、取得データ323bと同様の2次元の表形式のデータである。
【0083】
ここで
図19を参照し、比較部312bによる更新処理の概要を、取得データ323b、及び保持データ322bの具体例とともに説明する。
図19は、本実施形態に係る更新処理の一例を示す図である。更新処理は、所定の時刻が到来した場合に実行される。所定の時刻とは、例えば、1分間隔の時刻である。
【0084】
ステップS310:制御部30bは、判別処理を実行する。ステップS310に示す判別処理は、
図16に示した段毎結束数算出処理におけるステップS200からステップS290までの処理と同様である。
【0085】
ステップS320:取得データ生成部311bは、判別部310aの判別結果に基づいて取得データ323bを生成する。判別部310aの判別結果とは、
図16に示したステップS290において判別される結束Bの種類、及び座標である。取得データ生成部311bは、生成した取得データ323bを比較部312bに供給する。
【0086】
ステップS330:比較部312bは、保持データ322bを取得する。比較部312bは、記憶部32bから保持データ322bを読み出すことによって保持データ322bを取得する。
【0087】
ステップS340:比較部312bは、取得データ323bと、保持データ322bとを比較する。
ステップS350:比較部312bは、更新条件が満たされたか否かを判定する。更新条件は、以下に示す3つの更新条件を含む。比較部312bは、それら3つの更新条件がそれぞれ満たされているか否かを順番に判定する。
【0088】
1番目の更新条件は、段数、種類、及び座標がそれぞれ一致するデータが、取得データ323bと保持データ322bとの両方に含まれていることである。2番目の更新条件は、1番目の更新条件の更新条件が満たされていない場合に判定される。2番目の更新条件は、段数、及び種類がそれぞれ一致するデータが、取得データ323bと保持データ322bとの両方に含まれていることである。番目の更新条件は、2番目の更新条件が満たされていない場合に判定される。3番目の更新条件は、取得データ323bに含まれるデータのうち、保持データ322bに含まれるデータと段数が一致するデータについて、種類が「NULL」であることである。「NULL」は、結束Bの種類が判別できなかったことを示す。
【0089】
比較部312bは、更新条件が満たされたと判定した場合(ステップS350;YES)、ステップS360の処理を実行する。一方、比較部312bは、更新条件が満たされていないと判定した場合(ステップS350;NO)、ステップS370の処理を実行する。
【0090】
ステップS360:比較部312bは、取得データ323bに基づいて、保持データ322bを更新する。比較部312bは、更新した結果のデータを新たに保持データ322bとして記憶部32bに記憶させる。
【0091】
ステップS370:比較部312bは、保持データ322bに取得データ323bを追加する。比較部312bは、追加した結果のデータを新たに保持データ322bとして記憶部32bに記憶させる。
以上で、解析装置3bは、更新処理を終了する。
【0092】
ここで
図20から
図33を参照し、上述した更新処理の具体例について説明する。
図20は、本実施形態に係る更新処理を説明するための図である。
図20(A)は、今回撮像されたパレットPL及び結束Bの状態を示す。
図20(A)では、3つの結束BがパレットPLに載置されている。結束B1は、前回の撮像時に載置されている。結束B2及び結束B3は、今回の撮像時までに新たに載置されている。
【0093】
図20(B)は、更新前の保持データの一例である。
図20(B)に示す保持データには、結束B1が判別された結果を示すデータが格納されている。
図20(C)は、今回の撮像において取得された取得データの一例である。
図20(C)に示す取得データには、結束B1、結束B2、及び結束B3が判別された結果を示すデータがそれぞれ格納されている。
図20(C)に示す取得データのうち2行目、3行目のデータが、今回増えた結束B2、及び結束B3にそれぞれ対応する。
【0094】
図20(B)に示す保持データと、
図20(C)に示す取得データとには、それぞれ1行目に結束B1を示すデータ(段数:1、種類:「種類A」、X座標:X1、Y座標:Y1)が格納されている。
図20(B)に示す保持データと、
図20(C)に示す取得データとでは、上述した1番目の更新条件が満たされている。1番目の更新条件が満たされるということは、取得データに含まれるデータと同じデータが、保持データに含まれているということである。つまり、このデータは、前回の撮像時に載置されていた結束に対応する。
【0095】
取得データのうち、1番目の更新条件が満たされていないデータのうち、座標が判別されているデータは、今回撮像された結束であって座標が判別された結束に対応する。保持データには、取得データのうち、今回撮像された結束であって座標が判別された結束に対応するデータが追加されることによって更新される。
具体的には、
図20(B)に示す保持データは、
図20(C)に示す取得データのうち今回増えた結束B2、及び結束B3にそれぞれ対応する2行目、3行目のデータによって更新される。
図20(D)に示す保持データが更新後の保持データである。
【0096】
図20(B)に示す保持データの1行目のデータと、
図20(C)に示す取得データの1行目のデータとが線分によって結ばれている。この線分は、更新条件が満たされたことを示すための凡例である。以下の説明において、保持データと取得データとにそれぞれ含まれるデータについて、更新条件が満たされたことを示すためにこのような線分を用いてそれぞれのデータを結ぶ。
図21に、更新条件が満たされたことを示す線分の一例を示す。
【0097】
図22から
図33に、更新処理の具体例を示す。
図22から
図33では、
図20に示したのと同様に、パレットPLに載置された結束Bの状態、更新前の保持データ、取得データ、更新後の保持データとがそれぞれ示されている。
図22から
図33に示す例のうち、
図26及び
図29を例に取って説明する。
図26及び
図29以外の例についても同様にして更新条件が判定されて、保持データの更新、または保持データへの取得データの追加が行われる。
【0098】
図26では、結束B11が2段目に載置されている。結束B11は、1段目に載置されている結束B3及び結束B8の上に載置されている。結束B3及び結束B8は、結束B11に隠されて深度カメラ2の撮像方向A1から撮像することができない。そのため、
図26に示した取得データでは、結束B3及び結束B8にそれぞれ対応するデータでは、種類、及び座標が判別されていない。
【0099】
取得データに含まれるデータのうち第1の更新条件が満たされていないデータは、8行目から11行目までのデータである。8行目から11行目までのデータのうち、種類、及び座標が判別されていないのは8行目、9行目のデータである。
保持データに含まれるデータのうち第1の更新条件が満たされていないデータと、取得データに含まれるデータのうち第1の更新条件が満たされていないデータであって種類、及び座標が判別されていないデータとにおいて、段数が一致する場合、第3の更新条件が満たされている。保持データに含まれる当該データが、取得データに含まれる当該データによって置換されることによって保持データは更新される。
また、取得データに含まれるデータのうち第1の更新条件、及び第3の更新条件をともに満たさない10行目、及び11行目のデータが、保持データに追加されることによって保持データは更新される。
【0100】
図29では、2段目に載置されていた結束B11が今回の撮像前に削除されて、前回の撮像時にはみえていなかった結束B3及び結束B8が再び見える状態となっている。取得データに含まれるデータのうち第1の更新条件が満たされていないデータは、3行目、4行目、8行目、9行目、10行目のデータである。第1の更新条件が満たされていないデータのうち、種類が判別されているデータは、3行目、4行目のデータである。
保持データに含まれるデータのうち第1の更新条件が満たされていないデータであって種類が判別されているデータと、取得データに含まれるデータのうち第1の更新条件が満たされていないデータであって種類が判別されているデータとにおいて、段数、及び種類が一致する場合、第2の更新条件が満たされている。保持データに含まれる当該データが、取得データに含まれる当該データによって置換されることによって保持データは更新される。
図29の例では、保持データに含まれる3行目、4行目のデータが、取得データに含まれる3行目、4行目のデータによって置換されることによって保持データは更新されている。
【0101】
本実施形態に係る物体検出システム1bでは、保持データと取得データとを比較する。保持データと取得データとは、換言すれば、撮像画像に基づいて判別される結束の種類と位置との時系列のデータである。本実施形態に係る物体検出システム1bでは、撮像画像に基づいて判別される結束の種類と位置との時系列データに基づいて、結束の種類と位置とを段毎に検出できる。
【0102】
なお、上述した実施形態における解析装置3、3a、3bの一部、例えば、深度データ取得部300、深度データマスク部301、深度データ補正部302、深度データ変換部303、対象深度算出部304、画素計測部305、面積算出部306、結束数算出部307、出力部308、RGB画像取得部309a、判別部310a、取得データ生成部311b、及び比較部312bをコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、解析装置3、3a、3bに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における解析装置3、3a、3bの一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。解析装置3、3a、3bの各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0103】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【解決手段】物体検出システムは、所定の大きさを有する物体が1以上載置された状態を所定の方向から撮像した画像に基づいて、画像に含まれる位置毎に所定の方向についての深度を示す3次元データである深度データを生成する撮像装置と、解析装置と、を備え、解析装置は、撮像装置によって生成された深度データを取得する深度データ取得部と、深度データと、大きさとに基づいて深度毎に物体の数を算出する算出部と、を備える。