JP2019020307A - 計測装置、計測装置の制御方法およびプログラム - Google Patents
計測装置、計測装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2019020307A JP2019020307A JP2017140430A JP2017140430A JP2019020307A JP 2019020307 A JP2019020307 A JP 2019020307A JP 2017140430 A JP2017140430 A JP 2017140430A JP 2017140430 A JP2017140430 A JP 2017140430A JP 2019020307 A JP2019020307 A JP 2019020307A
- Authority
- JP
- Japan
- Prior art keywords
- shape
- unit
- image
- extracted
- dimensional information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
【課題】省スペースでありながらも、自動で物体サイズを計測可能な計測装置を提供する。
【解決手段】荷物サイズ計測装置101のメイン制御部は、カメラ画像取得部202により広角カメラ画像を、距離画像取得部208により距離画像を取得し、物体計測部により距離画像に基づいて物体206の少なくとも一部の形状を抽出し、抽出された物体の少なくとも一部の形状を広角カメラ画像に射影し、物体の少なくとも一部の形状が射影された広角カメラ画像に基づいて、物体の形状を抽出し、抽出された物体の形状に基づいて物体のサイズを取得する。
【選択図】図2
【解決手段】荷物サイズ計測装置101のメイン制御部は、カメラ画像取得部202により広角カメラ画像を、距離画像取得部208により距離画像を取得し、物体計測部により距離画像に基づいて物体206の少なくとも一部の形状を抽出し、抽出された物体の少なくとも一部の形状を広角カメラ画像に射影し、物体の少なくとも一部の形状が射影された広角カメラ画像に基づいて、物体の形状を抽出し、抽出された物体の形状に基づいて物体のサイズを取得する。
【選択図】図2
Description
本発明は、荷物のサイズを計測する計測装置、計測装置の制御方法およびプログラムに関する。
従来、宅配便や郵便などにより荷物の配送を依頼すると、荷物重量及び荷物サイズ(長さ、幅、高さの合計値)によって運送料金の適用規格サイズが決定され、配送エリアに応じた運送料金が適用される。通常、宅配便等の荷物の配送を受け付ける業務においては、巻尺や定規等を使用して、荷物の長さ、幅、高さを人手により計測している。しかし、サイズ計測は手作業で行われているため、計測作業にかかる工数の増大や、担当者による計測精度にばらつきが生じるといった課題があった。そのため、物体サイズを自動で計測可能な計測装置が求められている。なお、宅配便荷物取扱所に上述のような計測装置を設置する際には、省スペースであることが重要となる。
特許文献1には、荷物の面上に基準尺を配置し、荷物全体を撮影した画像から、基準尺を基にして荷物の各辺の寸法を計測する技術が提案されている。
特許文献2には、カメラなどの撮像手段と超音波による距離センサを用い、距離センサから得られたデータを基に撮影された画像を処理することで、荷物の寸法や姿勢を計測する技術が提案されている。
特許文献2には、カメラなどの撮像手段と超音波による距離センサを用い、距離センサから得られたデータを基に撮影された画像を処理することで、荷物の寸法や姿勢を計測する技術が提案されている。
特許文献1の技術では、荷物サイズを計測する際に基準尺を用意する必要がある。また、特許文献1の技術では、荷物の上面に基準尺を配置した場合には、荷物よりも大きな計測システムが必要となる。
特許文献2の技術では、カメラ及び距離センサを荷物の上方に取り付ける必要があり、省スペースには向かない。
このように従来の技術では、宅配便荷物取扱所等へ設置するのに好適な計測装置を実現することが困難であった。
特許文献2の技術では、カメラ及び距離センサを荷物の上方に取り付ける必要があり、省スペースには向かない。
このように従来の技術では、宅配便荷物取扱所等へ設置するのに好適な計測装置を実現することが困難であった。
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現する仕組みを提供することである。
本発明は、所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して2次元情報を取得する第1取得手段と、前記物体の少なくとも一部を含む領域の3次元情報を取得する第2取得手段と、前記3次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第1抽出手段と、前記第1抽出手段により抽出された前記物体の少なくとも一部の形状を前記2次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた2次元情報に基づいて、前記物体の形状を抽出する第2抽出手段と、前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御手段と、を有することを特徴とする。
本発明によれば、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現することができる。
以下、本発明を実施するための形態について図面を参照して説明する。
図1は、本発明の一実施例を示す荷物サイズ計測装置101を含むネットワーク構成を示す図である。
荷物サイズ計測装置101は、本実施例の画像処理装置である。荷物サイズ計測装置101は、イーサネット(登録商標)等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
荷物サイズ計測装置101は、本実施例の画像処理装置である。荷物サイズ計測装置101は、イーサネット(登録商標)等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
荷物サイズ計測装置101は、ホストコンピュータ102からの指示により、荷物サイズ計測装置101から荷物サイズ計測機能や、計測データをプリンタ103により出力するプリント機能の実行が可能である。また、荷物サイズ計測装置101は、ホストコンピュータ102を介さず、荷物サイズ計測装置101への直接の指示により、荷物サイズ計測機能、プリント機能の実行も可能である。
<荷物サイズ計測装置の構成>
図2は、荷物サイズ計測装置101の構成の一例を説明する図である。
図2(a)に示すように、荷物サイズ計測装置101は、コントローラ部201、カメラ部202、腕部203、プロジェクタ207、距離画像センサ部208を含む。
図2は、荷物サイズ計測装置101の構成の一例を説明する図である。
図2(a)に示すように、荷物サイズ計測装置101は、コントローラ部201、カメラ部202、腕部203、プロジェクタ207、距離画像センサ部208を含む。
荷物サイズ計測システムの本体であるコントローラ部201と、撮像を行うためのカメラ部202、プロジェクタ207および距離画像センサ部208は、腕部203により連結されている。腕部203は、関節を用いて曲げ伸ばしが可能である。
図2(a)には、荷物サイズ計測装置101が設置されている載置台204も示している。カメラ部202および距離画像センサ部208のレンズは、載置台204方向に向けられており、破線で囲まれた荷物計測領域205内の荷物サイズを計測可能である。図2(a)の例では、荷物206は、荷物計測領域205内に置かれている。よって、荷物サイズ計測装置101は、この荷物206のサイズ計測が可能である。
カメラ部202は、載置台204に載置された計測荷物206の全体像を撮像できる広角カメラ(広角撮像部)である。なお、カメラ部202は、単一解像度で広角カメラ画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
載置台204内にはターンテーブル209を設けてもよい。ターンテーブル209は、コントローラ部201からの指示によって回転することが可能であり、ターンテーブル209上に置かれた荷物206とカメラ部202との角度を変えることができる。
また、図2には示されていないが、荷物サイズ計測装置101は、図3に示すように、LCDタッチパネル330およびスピーカ340を備えることもできる。さらに、荷物サイズ計測装置101は、周囲の環境情報を収集するための人感センサ、照度センサ、加速度センサなどの各種センサデバイスを備えることもできる。
図2(b)は、荷物サイズ計測装置101における座標系について表している。
荷物サイズ計測装置101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をそれぞれXY平面とし、各画像平面に直交する方向をZ方向として定義したものである。
荷物サイズ計測装置101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をそれぞれXY平面とし、各画像平面に直交する方向をZ方向として定義したものである。
さらに、本実施例では、これらの独立した座標系の3次元データを統一的に扱えるようにするために、「直交座標系」が定義されている。直交座標系では、載置台204を含む平面をXY平面とし、このXY平面から上方に垂直な向きをZ軸とする。
以下、座標系を変換する場合の例を、図2(c)を用いて説明する。
図2(c)は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における3次元点P[X,Y,Z]は、(1)式によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
図2(c)は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における3次元点P[X,Y,Z]は、(1)式によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
ここで、Rcおよびtcは、直交座標系に対するカメラの姿勢(回転)と位置(並進)によって求まる外部パラメータによって構成され、Rcを3×3の回転行列、tcを並進ベクトルと呼ぶ。
逆に、カメラ座標系で定義された3次元点Pc[Xc,Yc,Zc]は(2)式によって、直交座標系における3次元点P[X,Y,Z]への変換することができる
さらに、カメラ部202で撮影される2次元のカメラ画像平面は、カメラ部202によって3次元空間中の3次元情報が2次元情報に変換されたものである。すなわち、カメラ座標系上での3次元点Pc[Xc,Yc,Zc]を、(3)式によってカメラ画像平面での2次元座標pc[xp,yp]に透視投影変換することによって変換することができる。
ここで、Aは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心などで表現される3×3の行列である。
以上のように、(1)式と(3)式を用いることで、直交座標系で表された3次元点群を、カメラ座標系での3次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータおよび直交座標系に対する位置姿勢(外部パラメータ)は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく3次元点群と表記した場合は、直交座標系における3次元データを表しているものとする。
<荷物サイズ計測装置101のコントローラ部201のハードウェア構成>
図3は、荷物サイズ計測装置101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
図3は、荷物サイズ計測装置101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
図3に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、HDD305及びネットワークI/F306を有する。さらに、コントローラ部201は、画像処理プロセッサ307、カメラI/F308、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311及びUSBコントローラ312を有する。
CPU302は、コントローラ部201全体の動作を制御する中央演算装置である。RAM303は、揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動用プログラム等が格納されている。HDD305は、RAM303と比較して大容量なハードディスクドライブ(HDD)である。HDD305には、コントローラ部201の実行する、荷物サイズ計測装置101の制御用プログラム等が格納されている。
CPU302は、電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、HDD305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は、起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、制御を行う。また、CPU302は、制御用プログラムによる動作に用いるデータもRAM303上に格納して読み書きを行う。HDD305には、さらに制御用プログラムによる動作に必要な各種設定や、カメラ入力によって生成された画像データ等を格納することができる。HDD305は、CPU302によって読み書き可能である。CPU302は、ネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。
画像処理プロセッサ307は、RAM303に格納された画像データを読み出して処理し、またRAM303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等を含む。
カメラI/F308は、カメラ部202および距離画像センサ部208と接続される。カメラI/F308は、CPU302からの指示に応じて、カメラ部202から広角カメラ画像データを、距離画像センサ部208から距離画像データを取得して、RAM303へ書き込む。また、カメラI/F308は、CPU302からの制御コマンドを、カメラ部202および距離画像センサ部208へ送信し、カメラ部202および距離画像センサ部208の設定を行う。距離画像センサ部208の構成については後述する。
なお、コントローラ部201は、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311およびUSBコントローラ312のうち少なくとも1つを備えることができる。
ディスプレイコントローラ309は、CPU302の指示に応じて、ディスプレイへの画像データの表示を制御する。ここで、ディスプレイコントローラ309は、プロジェクタ207およびLCDタッチパネル330に接続されており、これらの表示を制御する。
シリアルI/F310は、シリアル信号の入出力を行う。ここでは、シリアルI/F310はターンテーブル209に接続され、CPU302の回転開始・終了および回転角度の指示をターンテーブル209へ送信する。また、シリアルI/F310はLCDタッチパネル330に接続され、CPU302はLCDタッチパネル330が押下されたときに、シリアルI/F310を介して押下された座標を取得する。
オーディオコントローラ311はスピーカ340に接続され、CPU302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。
USBコントローラ312は、CPU302の指示に応じて外付けのUSBデバイスの制御を行う。ここでは、USBコントローラ312は、USBメモリやSDカードなどの外部メモリ350と接続され、外部メモリ350へのデータの読み書きを行う。
<荷物サイズ計測装置101の制御用プログラムの機能構成>
図4Aは、CPU302が実行する荷物サイズ計測装置101の制御用プログラムの機能構成401の一例を示す図である。荷物サイズ計測装置101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。すなわち、図4Aに示す機能構成401は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
図4Bは、機能構成401の各モジュールの処理の関係をシーケンス図である。
図4Aは、CPU302が実行する荷物サイズ計測装置101の制御用プログラムの機能構成401の一例を示す図である。荷物サイズ計測装置101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。すなわち、図4Aに示す機能構成401は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
図4Bは、機能構成401の各モジュールの処理の関係をシーケンス図である。
機能構成401において、メイン制御部402は制御の中心であり、機能構成401内の他の各モジュールを図4Bに示すように制御する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
カメラ画像取得部407は、カメラI/F308を介してカメラ部202が出力する広角カメラ画像データ(2次元情報)を取得し、RAM303へ格納する。
距離画像取得部408は、カメラI/F308を介して距離画像センサ部208が出力する距離画像データ(3次元情報)を取得し、RAM303へ格納する。距離画像取得部408の処理の詳細は、後述する図5A、図5Bで説明する。
距離画像取得部408は、カメラI/F308を介して距離画像センサ部208が出力する距離画像データ(3次元情報)を取得し、RAM303へ格納する。距離画像取得部408の処理の詳細は、後述する図5A、図5Bで説明する。
認識処理部417は、カメラ画像取得部407、距離画像取得部408が取得する画像データから載置台204上の物体の動きを検知して認識するモジュールである。認識処理部417は、ジェスチャー認識部409、物体検知部410を有する。
ジェスチャー認識部409は、画像取得部416から載置台204上の画像を取得し続け、タッチなどのジェスチャーを検知するとメイン制御部402へ通知する。処理の詳細は図6A、図6Bを用いて後述する。
物体検知部410は、画像取得部416から載置台204を撮像した画像を取得し続け、載置台204上に物体が置かれるタイミング、物体が置かれて静止するタイミング、あるいは物体が取り除かれるタイミングなどを検知する処理を行う。処理の詳細は図7A、図7Bを用いて後述する。
物体検知部410は、画像取得部416から載置台204を撮像した画像を取得し続け、載置台204上に物体が置かれるタイミング、物体が置かれて静止するタイミング、あるいは物体が取り除かれるタイミングなどを検知する処理を行う。処理の詳細は図7A、図7Bを用いて後述する。
画像処理部418は、カメラ画像取得部407、距離画像取得部408が取得する各画像を画像処理プロセッサ307で解析するために用いられ、物体計測部411や各種画像処理モジュールで構成される。
物体計測部411は、対象物の荷物サイズを計測するモジュールである。なお、前述のジェスチャー認識部409や物体計測部411による処理は、画像処理部418の各種画像処理モジュールを利用して実行される。
ユーザインターフェイス部403は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成し、表示部406へ生成したGUI部品の表示を要求する。表示部406は、ディスプレイコントローラ309を介して、プロジェクタ207もしくはLCDタッチパネル330へ要求されたGUI部品の表示を行う。プロジェクタ207は、載置台204に向けて設置されているため、載置台204上にGUI部品を投射することが可能となっている。また、ユーザインターフェイス部403は、ジェスチャー認識部409が認識したタッチ等のジェスチャー操作、あるいはシリアルI/F310を介したLCDタッチパネル330からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインターフェイス部403は、描画中の操作画面の内容と操作座標を対応させて操作内容(押下されたボタン等)を判定する。この操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。
ネットワーク通信部404は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IPによる通信を行う。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータを、HDD305上の所定の領域へ保存し、管理する。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータを、HDD305上の所定の領域へ保存し、管理する。
<距離画像センサ部208および距離画像取得部408の説明>
距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。図3に示すように、距離画像センサ部208は、赤外線パターン投射部361、赤外線カメラ362、RGBカメラ363を有する。
距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。図3に示すように、距離画像センサ部208は、赤外線パターン投射部361、赤外線カメラ362、RGBカメラ363を有する。
赤外線パターン投射部361は、対象物に対して、人の目には不可視である赤外線によって3次元形状測定パターンを投射する。赤外線カメラ362は、対象物に投射した3次元形状測定パターンを読みとるカメラである。RGBカメラ363は、人の目に見える可視光をRGB信号で撮影するカメラである。
なお、本実施例では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、距離画像センサ部208として、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式を用いてもよい。
以下、図5A、図5Bを用いて、距離画像センサ部208および距離画像取得部408の構成を説明する。
図5Aは、距離画像取得部408による処理を説明するフローチャートである。図5Aのフローチャートに示す処理は、距離画像取得部408により実行される。すなわち、図5Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図5B(a)〜(c)は、パターン投射方式による距離画像の計測原理を説明するための図である。
図5Aは、距離画像取得部408による処理を説明するフローチャートである。図5Aのフローチャートに示す処理は、距離画像取得部408により実行される。すなわち、図5Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図5B(a)〜(c)は、パターン投射方式による距離画像の計測原理を説明するための図である。
距離画像取得部408は、処理を開始すると、まずS501において、図5B(a)に示すように、赤外線パターン投射部361を用いて、赤外線による3次元形状測定パターン522を対象物521に投射する。
またS502において、距離画像取得部408は、RGBカメラ363を用いて、対象物を撮影したRGBカメラ画像523、および、赤外線カメラ362を用いて、上記S501で投射した3次元形状測定パターン522を撮影した赤外線カメラ画像524を取得する。
またS502において、距離画像取得部408は、RGBカメラ363を用いて、対象物を撮影したRGBカメラ画像523、および、赤外線カメラ362を用いて、上記S501で投射した3次元形状測定パターン522を撮影した赤外線カメラ画像524を取得する。
なお、赤外線カメラ362とRGBカメラ363とでは設置位置が異なるため、図5B(b)に示すように、それぞれで撮影されるRGBカメラ画像523と赤外線カメラ画像524の撮影領域が異なる。そこでS503において、距離画像取得部408は、赤外線カメラ362の座標系からRGBカメラ363の座標系への座標系変換を用いて、赤外線カメラ画像524をRGBカメラ画像523の座標系に合わせる。なお、赤外線カメラ362とRGBカメラ363の相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。
次に、S504において、距離画像取得部408は、図5B(c)に示すように、3次元形状測定パターン522と、上記S503で座標変換を行った赤外線カメラ画像524との間での対応点を抽出する。例えば、赤外線カメラ画像524上の1点を3次元形状測定パターン522上から探索して、同一の点が検出された場合に対応付けを行う。あるいは、赤外線カメラ画像524の画素の周辺のパターンを3次元形状測定パターン522上から探索し、一番類似度が高い部分と対応付けてもよい。
次に、S505において、距離画像取得部408は、赤外線パターン投射部361と赤外線カメラ362を結ぶ直線を基線525として、三角測量の原理を用いて計算を行うことにより、赤外線カメラ362からの距離を算出する。上記S504で対応付けが出来た画素については、赤外線カメラ362からの距離を算出して画素値として保存し、対応付けが出来なかった画素については、距離の計測が出来なかった部分として無効値を保存する。これを上記S503で座標変換を行った赤外線カメラ画像524の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。即ち、距離画像は3次元情報である。
S506において、距離画像取得部408は、距離画像の各画素にRGBカメラ画像523のRGB値を保存することにより、1画素につきR、G、B、距離の4つの値を持つ距離画像を生成する。
上記S506で取得した距離画像は、距離画像センサ部208のRGBカメラ363で定義された距離画像センサ座標系が基準となっている。そこでS507において、距離画像取得部408は、図2(b)を用いて上述したように、距離画像センサ座標系として得られた距離データを直交座標系における3次元点群に変換し、本フローチャートの処理を終了する。なお、以後、特に指定がなく3次元点群と表記した場合は、直交座標系における3次元点群を示すものとする。
なお、本実施例では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式など、他の計測方法を用いてもよい。
なお、距離画像取得部408により載置台204上に物体がない状態で取得された距離画像と、載置台204上に物体が置かれた状態で取得された距離画像を用いて、物体の撮影画像の各画素の載置台204からの高さを取得可能である。
<ジェスチャー認識部409の説明>
図6Aは、ジェスチャー認識部409の処理の一例を示すフローチャートである。図6Aのフローチャートに示す処理は、ジェスチャー認識部409により実行される。すなわち、図6Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図6B(a)〜図6B(c)は、指先検出処理の方法を模式的に表す図である。
図6Aは、ジェスチャー認識部409の処理の一例を示すフローチャートである。図6Aのフローチャートに示す処理は、ジェスチャー認識部409により実行される。すなわち、図6Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図6B(a)〜図6B(c)は、指先検出処理の方法を模式的に表す図である。
図6Aにおいて、ジェスチャー認識部409は、処理を開始すると、まずS601において、初期化処理を行う。初期化処理では、ジェスチャー認識部409は、距離画像取得部408から距離画像を1フレーム取得する。ここで、ジェスチャー認識部409は、処理の開始時では載置台204上に対象物が置かれていない状態であるため、初期状態として載置台204の平面の認識を行う。つまり、ジェスチャー認識部409は、取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル(以下「載置台204の平面パラメータ」と呼ぶ)を算出し、RAM303に保存する。
次に、S602において、ジェスチャー認識部409は、載置台204上に存在する物体の3次元点群を取得する(S621,S622)。以下、詳細に説明する。
まずS621において、ジェスチャー認識部409は、距離画像取得部408から距離画像と3次元点群を1フレーム取得する。
次に、S622において、ジェスチャー認識部409は、上述した載置台204の平面パラメータを用いて、上記S621で取得した3次元点群から載置台204を含む平面にある点群を除去する。
まずS621において、ジェスチャー認識部409は、距離画像取得部408から距離画像と3次元点群を1フレーム取得する。
次に、S622において、ジェスチャー認識部409は、上述した載置台204の平面パラメータを用いて、上記S621で取得した3次元点群から載置台204を含む平面にある点群を除去する。
次に、S603において、ジェスチャー認識部409は、上記S603で取得した3次元点群から操作者の手の形状および指先を検出する処理を行う(S631〜S634)。以下、図6B(a)〜図6B(c)を用いて詳細に説明する。
まずS631において、ジェスチャー認識部409は、上記S602で取得した3次元点群から、載置台204を含む平面から所定の高さ以上にある、肌色の3次元点群を抽出することで、手の3次元点群を得る。図6B(a)の661は、抽出した手の3次元点群を表している。
次にS632において、ジェスチャー認識部409は、上記S631で抽出した手の3次元点群を載置台204の平面に射影した2次元画像を生成して、その手の外形を検出する。図6B(a)の662は、抽出した手の3次元点群の各座標を、載置台204の平面パラメータを用いて載置台204の平面に投影した3次元点群を表している。また、図6B(b)に示すように、投影した3次元点群662から、xy座標の値だけを取り出せば、z軸方向から見た2次元画像663として扱うことができる。この時、ジェスチャー認識部409は、手の3次元点群の各点が、載置台204の平面に投影した2次元画像の各座標のどれに対応するかを、記憶しておくものとする。
次にS633において、ジェスチャー認識部409は、上記S632で検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。図6B(c)は、外形の曲率から指先を検出する方法を模式的に表したものである。図6B(c)の664は、載置台204の平面に投影された2次元画像663の外形を表す点の一部を表している。ここで、664のような、外形を表す点のうち、隣り合う5個の点を含むように円を描くことを考える。円665、667が、その例である。この円を、全ての外形の点に対して順に描き、その直径(例えば666、668)が所定の値より小さい(曲率が小さい)ことを以て、指先とする。この例では隣り合う5個の点としたが、その数は限定されるものではない。また、ここでは曲率を用いたが、外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
次に、S634において、ジェスチャー認識部409は、上記S633で検出した指先の個数および各指先の座標を算出する。この時、前述したように、載置台204に投影した2次元画像の各点と、手の3次元点群の各点の対応関係を記憶しているため、各指先の3次元座標を得ることができる。今回は、3次元点群から2次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、RGB画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法(外形の曲率計算等)で、手領域のうちの指先を検出してもよい。この場合、検出した指先の座標はRGB画像や距離画像といった2次元画像上の座標であるため、その座標における距離画像の距離情報を用いて、直交座標系の3次元座標に変換する必要がある。この時、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
次にS604において、ジェスチャー認識部409は、上記S603で検出した手の形状および指先からのジェスチャー判定処理を行う(S641〜S646)。以下、詳細に説明する。
S641において、ジェスチャー認識部409は、上記S603で検出した指先が1つかどうか判定する。ジェスチャー認識部409は、検出した指先が1つでないと判定した場合(S641でNOの場合)、S646に処理を進める。
S646において、ジェスチャー認識部409は、ジェスチャーなしと判定し、S605に処理を進める。
S641において、ジェスチャー認識部409は、上記S603で検出した指先が1つかどうか判定する。ジェスチャー認識部409は、検出した指先が1つでないと判定した場合(S641でNOの場合)、S646に処理を進める。
S646において、ジェスチャー認識部409は、ジェスチャーなしと判定し、S605に処理を進める。
一方、上記S641において、ジェスチャー認識部409は、検出した指先が1つであると判定した場合(S641でYESの場合)、S642に処理を進める。
S642において、ジェスチャー認識部409は、検出した指先と載置台204を含む平面との距離を算出する。
S642において、ジェスチャー認識部409は、検出した指先と載置台204を含む平面との距離を算出する。
次に、S643において、ジェスチャー認識部409は、上記S642で算出した距離が微小な所定値以下であるかどうかを判定する。ジェスチャー認識部409は、算出した距離が所定値以下であると判定した場合(S643でYESの場合)、S644に処理を進める。
S644において、ジェスチャー認識部409は、指先が載置台204へタッチしたジェスチャー(指先タッチジェスチャー)ありと判定し、S605に処理を進める。
S644において、ジェスチャー認識部409は、指先が載置台204へタッチしたジェスチャー(指先タッチジェスチャー)ありと判定し、S605に処理を進める。
一方、ジェスチャー認識部409は、算出した距離が所定値以下でない(算出した距離が所定値より大きい)と判定した場合(S643でNOの場合)、S645に処理を進める。
S645において、ジェスチャー認識部409は、タッチはしていないが指先が載置台204上に存在するジェスチャー(指先移動ジェスチャー)ありと判定し、S605に処理を進める。
S645において、ジェスチャー認識部409は、タッチはしていないが指先が載置台204上に存在するジェスチャー(指先移動ジェスチャー)ありと判定し、S605に処理を進める。
S605において、ジェスチャー認識部409は、上記S644、S645又はS646で判定したジェスチャーをメイン制御部402へ通知し、S602に処理を戻し、ジェスチャー認識処理を繰り返すように制御する。
なお、ここでは一本指でのジェスチャー認識について説明を行ったが、複数の指あるいは複数の手でのジェスチャー認識に応用することも可能である。
なお、ここでは一本指でのジェスチャー認識について説明を行ったが、複数の指あるいは複数の手でのジェスチャー認識に応用することも可能である。
<物体検知部の処理>
図7Aは、物体検知部410の処理の一例を示すフローチャートである。図7Aのフローチャートに示す処理は、物体検知部410により実行される。すなわち、図7Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図7Bは、本実施例の状態管理テーブルの一例を示す図である。
図7Aは、物体検知部410の処理の一例を示すフローチャートである。図7Aのフローチャートに示す処理は、物体検知部410により実行される。すなわち、図7Aに示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
また、図7Bは、本実施例の状態管理テーブルの一例を示す図である。
物体検知部410は、処理を開始すると、図7A(a)のS701において、初期化処理を行う(S711〜S713)。以下、詳細に説明する。
S711において、物体検知部410は、距離画像取得部408からRGBカメラ画像と距離画像をそれぞれ1フレーム取得する。
S711において、物体検知部410は、距離画像取得部408からRGBカメラ画像と距離画像をそれぞれ1フレーム取得する。
次に、S712において、物体検知部410は、データ管理部405を介して、上記S711で取得したRGBカメラ画像を載置台背景カメラ画像/前フレームカメラ画像/直前静止カメラ画像としてHDD305にそれぞれ保存する。また、物体検知部410は、上記S711で取得した距離画像も同様に、載置台背景距離画像/前フレーム距離画像/直前静止距離画像としてHDD305に保存する。以後の説明において、載置台背景画像/前フレーム画像/直前静止画像と記載した場合には、RGBカメラ画像と距離画像の両方を含むものとする。
次にS713において、物体検知部410は、状態管理テーブルを初期化し、データ管理部405を介してRAM303へ保存する。
図7B(c)〜図7B(i)に示すように、状態管理テーブルは、載置台204の状態を管理する載置台管理テーブルと、物体の状態を管理する物体管理テーブルを含む。
図7B(c)〜図7B(i)に示すように、状態管理テーブルは、載置台204の状態を管理する載置台管理テーブルと、物体の状態を管理する物体管理テーブルを含む。
載置台管理テーブルでは、載置台204上から検知された物体数(objNums)と、載置台204上の状態を記録する。また、物体管理テーブルでは、物体ごとに、物体の状態(移動中/静止/原稿検出済など)や、物体の位置・大きさを含む情報を管理する。これ以外にも状態管理テーブルには、図示しないが、物体に関連する情報を保持することが可能である。図7B(c)は、初期化処理後の状態管理テーブルを示しており、物体数(objNums)に「0」が設定され、物体管理テーブル内は空欄となっている。
次にS702において、物体検知部410は、載置台204上での物体の動きを検知する(S721〜S726)。以下、詳細に説明する。
S721において、物体検知部410は、距離画像取得部408からRGBカメラ画像と距離画像をそれぞれ1フレーム取得する。以後の説明において、現フレーム画像と記載した場合には、本ステップで取得したRGBカメラ画像と距離画像と両方を含むものとする。
S721において、物体検知部410は、距離画像取得部408からRGBカメラ画像と距離画像をそれぞれ1フレーム取得する。以後の説明において、現フレーム画像と記載した場合には、本ステップで取得したRGBカメラ画像と距離画像と両方を含むものとする。
次にS722において、物体検知部410は、上記S721で取得したRGBカメラ画像および距離画像を用いて物体検知処理を行う。以下、図7A(b)を用いて物体検知処理について説明する。
図7A(b)のS731において、物体検知部410は、現フレーム画像と載置台背景画像との差分値を算出する。詳細には、物体検知部410は、RGBカメラ画像および距離画像それぞれにおいて、上記S712で保存された載置台背景画像と、上記S721で撮像された現フレーム画像との差分2値画像を生成する。背景差分2値画像中の黒画素部分は画像変化量がない、すなわち物体が存在していない部分を表している。また、白画素部分は画像変化量がある、すなわち物体が存在している部分であることを示している。
次にS732において、物体検知部410は、前フレームでの処理において静止物体が検知されている、あるいは上記S731で算出した距離背景差分画像での差分値が予め決めておいた所定値以上かどうかに基づき、物体の検知を判定する。
上記S732において、物体検知部410は、載置台204上に物体が存在する(物体を検知した)と判定した場合(S723でYESの場合)、S737に処理を進める。
S737において、物体検知部410は、上記S731で生成した背景差分画像を基にして物体数の増減の判定を行う。物体検知部410は、物体数が増減したと判定した場合(S737でYESの場合)、S738に処理を進める。
S737において、物体検知部410は、上記S731で生成した背景差分画像を基にして物体数の増減の判定を行う。物体検知部410は、物体数が増減したと判定した場合(S737でYESの場合)、S738に処理を進める。
S738において、物体検知部410は、上記S731で検出された載置台背景画像の差分領域が、直前フレームで検出された物体と同一か否かを判定することで、新規物体か否かを判定する。すなわち、直前フレームでは検出されていない領域より検出された物体数の増加は、新規に載置台204上にフレームインした物体によるものと判断する。この場合、物体検知部410は、新規物体を検出したと判定し(S738でYES)、S739に処理を進める。S739において、物体検知部410は、上記S738のフレームイン判定結果を受け、物体フレームインイベントを発行する。この場合、物体検知部410は、S736において、図7B(d)に示すように物体のフレームイン情報および物体の位置情報などを書き込むことで状態管理テーブルを更新して、図7A(b)の処理を終了する。
一方、直前フレームで検知されていた物体が分離・統合したことによる物体数の増減は、載置台204上に物体を載置するために手を放した、あるいは載置されていた物体を掴んだなどの要因によるものであると考えられる。この場合、物体検知部410は、新規物体を検出していないと判定し(S738でNO)、S736に処理を進め、図7B(f)に示すように分離・統合した物体情報を書き込むことで状態管理テーブルを更新して、図7A(b)の処理を終了する。
また、上記S737において、物体検知部410は、物体数が増減していない(変わらない)と判定した場合(S737でNOの場合)、S740に処理を進める。
S740において、物体検知部410は、RGBカメラ画像および距離画像それぞれで、後述するS724(図7A(a))で保存された前フレーム画像と、上記S721で撮影された現フレーム画像との差分画像を生成する。そして、物体検知部410は、所定値によって2値化処理を行うことで差分値を算出する。
S740において、物体検知部410は、RGBカメラ画像および距離画像それぞれで、後述するS724(図7A(a))で保存された前フレーム画像と、上記S721で撮影された現フレーム画像との差分画像を生成する。そして、物体検知部410は、所定値によって2値化処理を行うことで差分値を算出する。
次に、S741において、物体検知部410は、上記S740で算出した差分値が予め決めておいた所定値未満かどうかを判定する。物体検知部410は、算出した差分値が所定値以上であると判定した場合(S741でNOの場合)、S736に処理を進め、図7B(e)に示すように状態管理テーブルの物体の位置情報などを更新して、図7A(b)の処理を終了する。
一方、物体検知部410は、算出した差分値が所定値未満であると判定した場合(S741でYESの場合)、S742に処理を進める。
S742において、物体検知部410は、上記S740が連続してYESとなった回数から、算出した差分値が所定値未満の状態(つまり載置台204上の物体が静止した状態)が、予め決めておいたフレーム数続いたかどうかを判定する。物体検知部410は、差分値が所定値未満の状態が所定フレーム数続いていないと判定した場合(S742でNOの場合)、S736へ進み、図7B(g)に示すように状態管理テーブルの物体の位置情報などを更新して、図7A(b)の処理を終了する。
S742において、物体検知部410は、上記S740が連続してYESとなった回数から、算出した差分値が所定値未満の状態(つまり載置台204上の物体が静止した状態)が、予め決めておいたフレーム数続いたかどうかを判定する。物体検知部410は、差分値が所定値未満の状態が所定フレーム数続いていないと判定した場合(S742でNOの場合)、S736へ進み、図7B(g)に示すように状態管理テーブルの物体の位置情報などを更新して、図7A(b)の処理を終了する。
一方、上記S742において、物体検知部410は、差分値が所定値未満の状態が所定フレーム数続いたと判定した場合(S742でYESの場合)、載置台204上の物体が静止したと判断し、S743に処理を進める。
S743において、物体検知部410は、RGBカメラ画像および距離画像それぞれにおいて、直前静止画像と現フレーム画像との差分画像を生成し、所定値によって2値化処理を行い、直前静止画像との差分値を算出する。
次に、S744において、物体検知部410は、上記S743で算出した差分値が予め決めておいた所定値以上かどうかを判定する。物体検知部410は、算出した差分値が所定値未満と判定した場合(S744でNOの場合)、直前の静止状態から変化がないと判断し、S745に処理を進める。S745では、物体検知部410は、上記S742及びS744において、直前の静止状態と同じ状態での物体静止であると判断されたことを受け、物体静止イベントを再発行し、S736に処理を進める。この場合、S736において、物体検知部410は、S745で発行された物体静止イベントを受け、図7B(h)に示すように状態管理テーブルを更新して、図7A(b)の処理を終了する。
一方、上記S744において、物体検知部410は、算出した差分値が所定値以上と判定した場合(S744でYESの場合)、S746に処理を進める。
S746において、物体検知部410は、上記S742およびS744において、直前の静止状態とは異なる状態での物体静止であると判断したことを受け、物体静止イベントを発行する。
さらに、S747において、物体検知部410は、データ管理部405を介して、現フレームのRGBカメラ画像および距離画像を、直前静止カメラ画像および直前静止距離画像としてHDD305に保存し、S736に処理を進める。この場合、S736において、物体検知部410は、S746で発行された物体静止イベントを受け、図7B(h)に示すように状態管理テーブルを更新して、図7A(b)の処理を終了する。
さらに、S747において、物体検知部410は、データ管理部405を介して、現フレームのRGBカメラ画像および距離画像を、直前静止カメラ画像および直前静止距離画像としてHDD305に保存し、S736に処理を進める。この場合、S736において、物体検知部410は、S746で発行された物体静止イベントを受け、図7B(h)に示すように状態管理テーブルを更新して、図7A(b)の処理を終了する。
また、上記S732において、物体検知部410は、載置台204上に物体が存在しない(検知していない)と判定した場合(S732でNOの場合)、S733に処理を進める。
S733において、物体検知部410は、直前のフレームにおいて移動物体が検知中であったかを確認することで、フレームアウト判定処理を行う。即ち、物体検知部410は、直前フレームで移動物体を検知していなかった場合には、載置台204上に物体が無い状態が続いている(即ちフレームアウトでない)と判定し(S733でNOと判定し)、図7A(b)の処理を終了する。
S733において、物体検知部410は、直前のフレームにおいて移動物体が検知中であったかを確認することで、フレームアウト判定処理を行う。即ち、物体検知部410は、直前フレームで移動物体を検知していなかった場合には、載置台204上に物体が無い状態が続いている(即ちフレームアウトでない)と判定し(S733でNOと判定し)、図7A(b)の処理を終了する。
一方、上記S733において、物体検知部410は、直前フレームで移動物体を検知していた場合には、直前まで検出された移動物体がフレームアウトしたと判定し(S733でYESと判定し)、S734に処理を進める。
S734において、物体検知部410は、上記S733のフレームアウト判定結果を受け、物体フレームアウトイベントを発行する。次に、S735において、物体検知部410は、データ管理部405を介して、現フレームのRGBカメラ画像および距離画像を、直前静止カメラ画像および直前静止距離画像としてHDD305にそれぞれ保存する。なお、物体検知部410は、本ステップにおいて、さらに現フレーム画像を載置台背景画像として更新してもよい。またこの場合、S736において、物体検知部410は、図7B(i)に示すように物体のフレームアウト情報を書き込むことで状態管理テーブルを更新する。あるいは、図7B(c)に示すように状態管理テーブルを初期化してもよい。状態管理テーブルの更新後、図7A(b)の処理を終了する。
図7A(b)の処理を終了すると、図7A(a)の処理に戻る。
図7A(b)の処理を終了すると、図7A(a)の処理に戻る。
図7A(a)のS723において、物体検知部410は、上記S722(即ち図7A(b)の物体検知処理)で発行されたイベントを、メイン制御部402へ通知する。なお、同一フレーム内で複数の物体検知イベントが発行された場合には、物体検知部410は、全ての物体検知イベントをメイン制御部402へ通知する。
次に、S724において、物体検知部410は、データ管理部405を介して、上記S721で取得したRGBカメラ画像および距離画像を、前フレームカメラ画像および前フレーム距離画像としてHDD305に保存する。
次に、S725において、物体検知部410は、物体検知処理の終了判定を行い、終了判定がなされるまで上記S721〜S725の処理を繰り返すように制御する。なお、システムの終了はUI画面上に投射表示された終了ボタン(不図示)の操作、荷物サイズ計測装置101の本体の電源ボタン(不図示)の押下などにより行われ、メイン制御部402から通知されるものとする。
<メイン制御部の説明>
以下、図8〜図11を用いて、メイン制御部402が実行する荷物サイズ計測処理について説明する。
図8は、荷物サイズ計測装置101の利用シーンについて説明する図である。
荷物を配送したいユーザ801は、宅配便荷物取扱所に荷物802を持ち込み、宅配便荷物取扱所に設置されている荷物サイズ計測装置101を利用して荷物サイズの計測を行う。このとき、図8(a)に示すように、セルフ端末として利用しても、図8(b)に示すように、宅配便荷物取扱所の担当者803との対面用端末として利用してもよい。
以下、図8〜図11を用いて、メイン制御部402が実行する荷物サイズ計測処理について説明する。
図8は、荷物サイズ計測装置101の利用シーンについて説明する図である。
荷物を配送したいユーザ801は、宅配便荷物取扱所に荷物802を持ち込み、宅配便荷物取扱所に設置されている荷物サイズ計測装置101を利用して荷物サイズの計測を行う。このとき、図8(a)に示すように、セルフ端末として利用しても、図8(b)に示すように、宅配便荷物取扱所の担当者803との対面用端末として利用してもよい。
ユーザ801あるいは担当者803(以下、総称してユーザ801とよぶ)は、荷物サイズ計測装置101に対して配送する荷物802の2側面が正対するように、荷物計測領域205内に荷物802を載置する。そして、ユーザ801は、UI画面をジェスチャーによって操作しながら、荷物サイズ計測処理の実行を指示する。以下の説明文においては、UI画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、LCDタッチパネル330や、その他の出力装置上に表示しても構わない。
図9は、スキャンを実行する際のUI表示とユーザ801の操作の様子の一例を示す図である。
図9(a)に自動サイズ計測処理開始時のUI画面の一例を示す。UI画面には、メイン制御部402の制御により、操作指示メッセージ901、実行ボタン902、終了ボタン903が投影表示されている。
図9(a)に自動サイズ計測処理開始時のUI画面の一例を示す。UI画面には、メイン制御部402の制御により、操作指示メッセージ901、実行ボタン902、終了ボタン903が投影表示されている。
図9(b)に示すように、ユーザ801が実行ボタン902を押下すると、メイン制御部402は、図9(c)に示すような荷物サイズ計測画面に表示を遷移させる。荷物サイズ計測画面では、メイン制御部402は、操作指示メッセージ901を更新すると共に、計測荷物を載置するための荷物計測領域205を投影表示する。
ユーザ801が、図9(d)に示すように、操作指示メッセージ901に従って、荷物計測領域205に計測荷物802を載置する。図9(e)〜(f)に示すように、メイン制御部402は、計測荷物載置完了を検知すると、荷物サイズ計測処理を実行し、計測サイズ結果と計測荷物を取り除くように操作指示メッセージ901を更新する。
そして、図9(g)〜(h)に示すように、ユーザ801が計測荷物802を除去すると、メイン制御部402は、図9(i)に示すような、終了ボタン904と再計測ボタン905が配置された計測結果の最終確認画面へ表示を遷移させる。
図10は、実施例1において、メイン制御部402が実行する荷物サイズ計測処理の一例を示すフローチャートである。即ち図10に示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。
図11は、実施例1の荷物サイズ計測処理を説明するための図である。
図11は、実施例1の荷物サイズ計測処理を説明するための図である。
メイン制御部402は、処理を開始すると、図10のS1001において、図9(a)に示す荷物サイズ計測開始画面を表示し、実行ボタン902が押下されるまで待つ。メイン制御部402は、実行ボタン902が押下されたと判定した場合(S1001でYESの場合)、S1002に処理を進める。
S1002において、メイン制御部402は、距離画像取得部408により図11(a)に示すような距離画像1101と、カメラ画像取得部407より図11(c)に示すような広角カメラ画像1104を同期して取得する。なお、距離画像1101には、載置台204に置かれた計測荷物802の少なくとも一部分(例えば計測荷物802の二側面の少なくとも一部)の距離情報1102が撮影される。広角カメラ画像1104には、載置台204に置かれた計測荷物802の全体像(例えば計測荷物802の二側面全体の画像)と共に、ユーザ801等を含む背景画像も同時に撮影されている。
次にS1003において、メイン制御部402は、上記S1002で取得された距離画像1101を用いた荷物領域抽出処理を、物体計測部411により実行するように制御する(S1031〜S1033)。以下、詳細に説明する。
まずS1031において、物体計測部411は、図11(a)に示す距離画像1101を、図11(b)に示すような直交座標系における3次元点群に変換する。
次にS1032において、物体計測部411は、上記S1031で変換した3次元点群中から所定高さ以上となるデータ(所定高さ以上の画素群)を荷物領域の3次元点群1103として抽出する。これにより、載置台204に置かれた計測荷物802の少なくとも一部の形状が抽出される。
次にS1032において、物体計測部411は、上記S1031で変換した3次元点群中から所定高さ以上となるデータ(所定高さ以上の画素群)を荷物領域の3次元点群1103として抽出する。これにより、載置台204に置かれた計測荷物802の少なくとも一部の形状が抽出される。
次にS1033において、物体計測部411は、上記S1032において所定数以上の荷物領域の3次元点群1103が抽出されたか否かにより、荷物領域の抽出可否を判定する。上記S1033において、物体計測部411は、荷物領域が抽出されていない(荷物領域なし)と判定した場合(S1033でNOの場合)、S1002に処理を戻す。
一方、上記S1033において、物体計測部411は、荷物領域が抽出された(荷物領域あり)と判定した場合(S1033でYESの場合)、S1004に処理を進める。
以後の処理において、抽出された3次元点群1103は、広角カメラ画像1104から荷物領域を抽出する際、例えば、荷物領域の色情報の取得や荷物802の側面の平面方程式の推定など、に利用される。このため、以後の処理内容を満たすのに十分な3次元点群が抽出できることが必須となる。
以後の処理において、抽出された3次元点群1103は、広角カメラ画像1104から荷物領域を抽出する際、例えば、荷物領域の色情報の取得や荷物802の側面の平面方程式の推定など、に利用される。このため、以後の処理内容を満たすのに十分な3次元点群が抽出できることが必須となる。
S1004において、メイン制御部402は、上記S1002で取得された広角カメラ画像1104を用いた荷物領域抽出処理を、物体計測部411により実行する(S1041〜S1043)。以下、詳細に説明する。
まずS1041において、物体計測部411は、上記S1032で抽出された荷物領域の3次元点群1103を、事前にキャリブレーション済みのパラメータを用いて、図11(d)に示す荷物領域の3次元点群1105のように、広角カメラ画像1104上に射影する。これにより、上記S1032で抽出された計測荷物802の少なくとも一部の形状が広角カメラ画像1104に対応付けされる。
次にS1042において、物体計測部411は、上記S1041で荷物領域の3次元点群1105が射影された広角カメラ画像1104を基にして、図11(e)のように、広角カメラ画像1104内の荷物領域1106の各頂点A〜Fを抽出する。以下、具体的に説明する。
例えば、荷物領域の3次元点群1105における色情報や、荷物802の2つ側面の境界線(以下「稜線」と呼ぶ)が荷物計測領域205に垂直な直線であることを考慮することで、広角カメラ画像1104に対するエッジ検出結果画像から各頂点を抽出する。さらには、照明条件や載置台204と荷物802と色味の類似性により、稜線ABあるいは稜線BCのエッジが検出困難な場合には、荷物領域の3次元点群1103を利用することで安定して検出することが可能となる。例えば、上記S1032で抽出された荷物領域の3次元点群1105を用いて、側面ABEDおよび側面BCFEに対する平面方程式(ax+bx+cz+d=0)をそれぞれ推定する。この2側面と載置台204平面(Z=0の平面)との交線を算出することで、稜線ABあるいは稜線BCを通る直線方程式(ax+bx+d=0)が得られる。そして、稜線ADと稜線ABの交点を算出することで、荷物802の頂点Aを検出する。同様にして頂点Bおよび頂点Cを検出すればよい。なお、荷物領域1106の抽出の仕方についてはこれらに限らず、その他の手法、例えば、背景差分やフレーム差分などの手法を併用しても構わない。これにより、載置台204に置かれた計測荷物802の形状が抽出される。
次にS1043において、物体計測部411は、上記S1042において荷物領域1106の頂点A、B、Cの3点および頂点D、E、Fのうちのいずれか1点が抽出されたか否かにより荷物領域1106の抽出の可否を判定する。物体計測部411は、荷物領域1106が抽出されなかった(荷物領域なし)と判定した場合(S1043でNOの場合)、S1002に処理を戻す。
一方、物体計測部411は、荷物領域1106が抽出された(荷物領域あり)と判定した場合(S1043でYESの場合)、S1005に処理を進める。
一方、物体計測部411は、荷物領域1106が抽出された(荷物領域あり)と判定した場合(S1043でYESの場合)、S1005に処理を進める。
S1005において、物体計測部411は、上述した(1)式と(3)式と、既知のキャリブレーションパラメータを用いることで、広角カメラ画像1104から抽出された荷物領域1106の概形サイズ1107を算出する。(1)式と(3)式を展開することで(4)式および(5)式が得られる。
この(4)式および(5)式に、上記S1042で検出された各頂点の画像座標と、Z=0という拘束条件を加えることで頂点A、B、CのX座標およびY座標を算出できる。頂点D、E、Fに関しては、頂点A、B、CのX座標およびY座標を用いることでZ座標を算出できる。以上のように直交座標系における頂点座標が算出することで、荷物802の荷物サイズ(長さ、幅、高さ)を算出すること可能となる。
次にS1006において、メイン制御部402は、図9(f)あるいは図9(i)に示すように、荷物サイズの計測結果をUI画面上に表示する。
次にS1007において、メイン制御部402は、荷物サイズ計測処理を終了するか再計測するかを判定する。メイン制御部402は、再計測ボタン905が押下されたと判定した場合(S1007でNOの場合)、S1002に処理を戻し処理を繰り返す。
一方、メイン制御部402は、終了ボタン904が押下されたと判定した場合(S1007でYESの場合)、本フローチャートの処理を終了する。
一方、メイン制御部402は、終了ボタン904が押下されたと判定した場合(S1007でYESの場合)、本フローチャートの処理を終了する。
本実施例では、距離画像取得部408で得た距離画像1101(少なくとも計測物体の一部を撮影した3次元画像データ)と、カメラ画像取得部407で撮影した広角カメラ画像1104(計測物体の全体を撮影した2次元画像データ)を併用してサイズ計測する。これにより、省スペースでありながらも、自動で物体(荷物)サイズを計測可能な計測装置を実現できる。
上記実施例1では、計測する荷物サイズに関わらず、距離画像と広角カメラ画像を用いて荷物サイズの計測を行っていた。本実施例2では、荷物サイズに応じて荷物サイズの計測の方法を切り替える構成について説明する。
図12は、実施例2において、メイン制御部402が実行する荷物サイズ計測処理の一例を示すフローチャートである。即ち図12に示す処理は、CPU302がHDD305に格納される荷物サイズ計測装置101の制御用プログラムをRAM303にロードして実行することにより実現される。なお、実施例1と同様の処理については同じステップ番号を付し、詳細な説明は割愛する。
図13は、実施例2の荷物サイズ計測処理を説明するための図である。
図13は、実施例2の荷物サイズ計測処理を説明するための図である。
メイン制御部402は、図12のS1001において、実行ボタン902が押下されたことを検知すると、S1002において、図13(a)あるいは図13(d)に示すような距離画像と、広角カメラ画像を同期して取得する。
次にS1003において、メイン制御部402は、距離画像1301あるいは1306から、図13(b)あるいは図13(e)に示すように荷物領域の3次元点群1303あるいは1308を取得することで荷物領域の抽出を行う。これにより、載置台204に置かれた計測荷物802の少なくとも一部の形状が抽出される。
次にS1201において、メイン制御部402は、上記S1003で荷物領域全体が抽出された(例えば荷物全体サイズを推定可能な形状が抽出された)かどうかを判定する。
図13(c)は荷物領域の3次元点群1303を俯瞰画像化することで俯瞰3次元データ1305に変換したものである。俯瞰3次元データ1305では、例えば上面形状が抽出されておらず、荷物領域の全体サイズを推定することができないため(推定不可能なため)、この場合、メイン制御部402は、荷物領域全体が抽出されていないと判定する。メイン制御部402は、荷物領域全体が抽出されていないと判定した場合(S1201でNOの場合)、S1004に処理を進め、広角カメラ画像を用いた荷物領域抽出処理を行う。
図13(c)は荷物領域の3次元点群1303を俯瞰画像化することで俯瞰3次元データ1305に変換したものである。俯瞰3次元データ1305では、例えば上面形状が抽出されておらず、荷物領域の全体サイズを推定することができないため(推定不可能なため)、この場合、メイン制御部402は、荷物領域全体が抽出されていないと判定する。メイン制御部402は、荷物領域全体が抽出されていないと判定した場合(S1201でNOの場合)、S1004に処理を進め、広角カメラ画像を用いた荷物領域抽出処理を行う。
一方、図13(f)は荷物領域の3次元点群1308を俯瞰画像化することで俯瞰3次元データ1310に変換したものである。俯瞰3次元データ1310では、例えば上面形状が抽出されており、これを用いて荷物全体サイズを推定することが可能(推定可能)であることから、この場合、メイン制御部402は、荷物領域全体が抽出されたと判定する。メイン制御部402は、荷物領域全体が抽出されたと判定した場合(S1201でYESの場合)、S1005に処理を進める。
S1005において、物体計測部411は、上記S1004で得られた荷物領域を上記S1201の判定結果に応じて利用しつつ、上記S1003で得られた荷物領域の3次元点群を基にして荷物サイズを算出する。即ち、荷物領域全体が抽出されていないと判定された場合には、物体計測部411は、実施例1と同様にして荷物サイズを算出する。一方で、荷物領域全体が抽出されたと判断された場合には、物体計測部411は、上記S1032で得られた荷物領域の3次元点群情報のみから外接直方体を近似することで、荷物サイズを算出する。
次にS1006において、メイン制御部402は、荷物サイズ計測結果を表示し、S1007において処理が終了されるまで、S1002からの処理を繰り返すように制御する。
以上の処理により、実施例2によれば、計測する荷物サイズが小さい場合には、距離画像のみから荷物サイズの計測が可能となり、処理時間の短縮や処理負荷の軽減が可能になる。
運送料金の適用規格サイズを決定するためには、配送する荷物サイズ(長さ、幅、高さの合計値)に加え、荷物重量が必要となる。そこで、載置台204に重量計測部を搭載することで、荷物重量と荷物サイズを同時に計測することを可能にしてもよい。
上記各実施例によれば、荷物全体像を撮像可能なカメラ部により得られた広角カメラ画像から、距離画像取得部によって得られた3次元情報を基に荷物の各辺のサイズを算出することで、省スペースの自動荷物サイズ計測システムを提供できる。これにより、従来では、巻尺や定規等を使用して荷物の長さ、幅、高さを人手により計測していたために作業工数増大や計測精度のばらつきが発生していたといった課題を解決することができる。したがって、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 荷物サイズ計測装置
204 載置台
402 メイン制御部
407 カメラ画像取得部
408 距離画像取得部
411 物体計測部
204 載置台
402 メイン制御部
407 カメラ画像取得部
408 距離画像取得部
411 物体計測部
Claims (9)
- 所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して2次元情報を取得する第1取得手段と、
前記物体の少なくとも一部を含む領域の3次元情報を取得する第2取得手段と、
前記3次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第1抽出手段と、
前記第1抽出手段により抽出された前記物体の少なくとも一部の形状を前記2次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた2次元情報に基づいて、前記物体の形状を抽出する第2抽出手段と、
前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御手段と、
を有することを特徴とする計測装置。 - 前記第1取得手段は、前記物体の二側面全体を含む領域を撮影して2次元情報を取得し、
前記第2取得手段は、前記物体の二側面の少なくとも一部を含む領域の3次元情報を取得することを特徴とする請求項1に記載の計測装置。 - 前記制御手段は、
前記第1抽出手段により抽出された形状が前記物体のサイズを推定可能な形状であるか否かを判定し、
前記第1抽出手段により抽出された形状が前記物体のサイズを推定可能な形状であると判定した場合には、前記第1抽出手段により抽出された形状に基づいて前記物体のサイズを取得し、
前記第1抽出手段により抽出された形状が前記物体のサイズを推定不可能な形状であると判定した場合には、前記第2抽出手段により抽出された形状に基づいて前記物体のサイズを取得することを特徴とする請求項1又は2に記載の計測装置。 - 前記制御手段は、前記第1抽出手段により抽出された形状が前記物体の上面形状を含んでいる場合に、前記物体のサイズを推定可能な形状であると判定し、前記第1抽出手段により抽出された形状が前記物体の上面形状を含んでいない場合に、前記物体のサイズを推定不可能な形状であると判定することを特徴とする請求項3に記載の計測装置。
- 前記第1抽出手段は、前記3次元情報に基づいて前記撮影領域から所定高さ以上の領域を抽出することにより前記物体の少なくとも一部の形状を抽出することを特徴とする請求項1〜4のいずれか1項に記載の計測装置。
- 前記3次元情報は、前記物体の少なくとも一部を含む領域を撮影した画像データの各画素における所定の位置からの距離の情報を含むことを特徴とする請求項1〜5のいずれか1項に記載の計測装置。
- 前記所定の撮影領域に載置された物体の重量を計測する重量計測手段を有することを特徴とする請求項1〜6のいずれか1項に記載の計測装置。
- 所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して2次元情報を取得する第1取得ステップと、
前記物体の少なくとも一部を含む領域の3次元情報を取得する第2取得ステップと、
前記3次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第1抽出ステップと、
前記第1抽出ステップで抽出された前記物体の少なくとも一部の形状を前記2次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた2次元情報に基づいて、前記物体の形状を抽出する第2抽出ステップと、
前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御ステップと、
を有することを特徴とする計測装置の制御方法。 - コンピュータに、請求項8に記載の制御方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017140430A JP2019020307A (ja) | 2017-07-20 | 2017-07-20 | 計測装置、計測装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017140430A JP2019020307A (ja) | 2017-07-20 | 2017-07-20 | 計測装置、計測装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019020307A true JP2019020307A (ja) | 2019-02-07 |
Family
ID=65355557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017140430A Pending JP2019020307A (ja) | 2017-07-20 | 2017-07-20 | 計測装置、計測装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019020307A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020041886A (ja) * | 2018-09-10 | 2020-03-19 | Necプラットフォームズ株式会社 | 荷物計測装置、荷物受付システム、荷物計測方法、及びプログラム |
JP2020197511A (ja) * | 2019-06-05 | 2020-12-10 | キヤノン株式会社 | 計測装置、撮像装置、計測システム及びプログラム |
WO2021171610A1 (ja) * | 2020-02-28 | 2021-09-02 | 日本電気株式会社 | 測量方法、測量装置、測量システム |
JP7472738B2 (ja) | 2020-09-24 | 2024-04-23 | 沖電気工業株式会社 | 設置調整システム |
-
2017
- 2017-07-20 JP JP2017140430A patent/JP2019020307A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020041886A (ja) * | 2018-09-10 | 2020-03-19 | Necプラットフォームズ株式会社 | 荷物計測装置、荷物受付システム、荷物計測方法、及びプログラム |
WO2020054118A1 (ja) * | 2018-09-10 | 2020-03-19 | Necプラットフォームズ株式会社 | 荷物計測装置、荷物受付システム、荷物計測方法、及び非一時的なコンピュータ可読媒体 |
US11836941B2 (en) | 2018-09-10 | 2023-12-05 | Nec Platforms, Ltd. | Package measuring apparatus, package accepting system, package measuring method, and non-transitory computer readable medium |
JP2020197511A (ja) * | 2019-06-05 | 2020-12-10 | キヤノン株式会社 | 計測装置、撮像装置、計測システム及びプログラム |
JP7277267B2 (ja) | 2019-06-05 | 2023-05-18 | キヤノン株式会社 | 計測装置、撮像装置、計測システム及びプログラム |
WO2021171610A1 (ja) * | 2020-02-28 | 2021-09-02 | 日本電気株式会社 | 測量方法、測量装置、測量システム |
JPWO2021171610A1 (ja) * | 2020-02-28 | 2021-09-02 | ||
JP7364033B2 (ja) | 2020-02-28 | 2023-10-18 | 日本電気株式会社 | 測量方法、測量装置、測量システム、プログラム |
JP7472738B2 (ja) | 2020-09-24 | 2024-04-23 | 沖電気工業株式会社 | 設置調整システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5680976B2 (ja) | 電子黒板システム及びプログラム | |
JP2019020307A (ja) | 計測装置、計測装置の制御方法およびプログラム | |
TWI531929B (zh) | 基於影像來識別觸控表面的目標接觸區域之技術 | |
JP2016038889A (ja) | モーション感知を伴う拡張現実 | |
US11182945B2 (en) | Automatically generating an animatable object from various types of user input | |
US10254893B2 (en) | Operating apparatus, control method therefor, and storage medium storing program | |
JP2017199289A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP6381361B2 (ja) | データ処理装置、データ処理システム、データ処理装置の制御方法、並びにプログラム | |
JP2016103137A (ja) | ユーザインタフェース装置、画像処理装置及び制御用プログラム | |
CN111627073A (zh) | 一种基于人机交互的标定方法、标定装置和存储介质 | |
US11645800B2 (en) | Advanced systems and methods for automatically generating an animatable object from various types of user input | |
JP6399840B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6632298B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2019120618A (ja) | 物体測定装置及びその制御方法、並びにプログラム | |
JP2018018308A (ja) | 情報処理装置、及びその制御方法ならびにコンピュータプログラム | |
JP2018014572A (ja) | 情報処理装置、画像処理システム、プログラム | |
JPH1023465A (ja) | 撮像方法及び装置 | |
JP5502771B2 (ja) | 電子黒板システム及びプログラム | |
JP6643825B2 (ja) | 装置及び方法 | |
JP6624861B2 (ja) | 画像処理装置、制御方法およびプログラム | |
JP2019016843A (ja) | 原稿読取装置、原稿読取装置の制御方法、及びプログラム | |
JP6478641B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP2018063555A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2019101753A (ja) | 物体形状測定装置及びその制御方法、並びにプログラム | |
JP2017117372A (ja) | 操作装置とその制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |