(57)【要約】      （修正有）【課題】省スペースでありながらも、自動で物体サイズを計測可能な計測装置を提供する。【解決手段】荷物サイズ計測装置１０１のメイン制御部は、カメラ画像取得部２０２により広角カメラ画像を、距離画像取得部２０８により距離画像を取得し、物体計測部により距離画像に基づいて物体２０６の少なくとも一部の形状を抽出し、抽出された物体の少なくとも一部の形状を広角カメラ画像に射影し、物体の少なくとも一部の形状が射影された広角カメラ画像に基づいて、物体の形状を抽出し、抽出された物体の形状に基づいて物体のサイズを取得する。【選択図】図２
2019020307.tif 000002
【特許請求の範囲】
【請求項１】
所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して２次元情報を取得する第１取得手段と、
前記物体の少なくとも一部を含む領域の３次元情報を取得する第２取得手段と、
前記３次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第１抽出手段と、
前記第１抽出手段により抽出された前記物体の少なくとも一部の形状を前記２次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた２次元情報に基づいて、前記物体の形状を抽出する第２抽出手段と、
前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御手段と、
を有することを特徴とする計測装置。
【請求項２】
前記第１取得手段は、前記物体の二側面全体を含む領域を撮影して２次元情報を取得し、
前記第２取得手段は、前記物体の二側面の少なくとも一部を含む領域の３次元情報を取得することを特徴とする請求項１に記載の計測装置。
【請求項３】
前記制御手段は、
前記第１抽出手段により抽出された形状が前記物体のサイズを推定可能な形状であるか否かを判定し、
前記第１抽出手段により抽出された形状が前記物体のサイズを推定可能な形状であると判定した場合には、前記第１抽出手段により抽出された形状に基づいて前記物体のサイズを取得し、
前記第１抽出手段により抽出された形状が前記物体のサイズを推定不可能な形状であると判定した場合には、前記第２抽出手段により抽出された形状に基づいて前記物体のサイズを取得することを特徴とする請求項１又は２に記載の計測装置。
【請求項４】
前記制御手段は、前記第１抽出手段により抽出された形状が前記物体の上面形状を含んでいる場合に、前記物体のサイズを推定可能な形状であると判定し、前記第１抽出手段により抽出された形状が前記物体の上面形状を含んでいない場合に、前記物体のサイズを推定不可能な形状であると判定することを特徴とする請求項３に記載の計測装置。
【請求項５】
前記第１抽出手段は、前記３次元情報に基づいて前記撮影領域から所定高さ以上の領域を抽出することにより前記物体の少なくとも一部の形状を抽出することを特徴とする請求項１〜４のいずれか１項に記載の計測装置。
【請求項６】
前記３次元情報は、前記物体の少なくとも一部を含む領域を撮影した画像データの各画素における所定の位置からの距離の情報を含むことを特徴とする請求項１〜５のいずれか１項に記載の計測装置。
【請求項７】
前記所定の撮影領域に載置された物体の重量を計測する重量計測手段を有することを特徴とする請求項１〜６のいずれか１項に記載の計測装置。
【請求項８】
所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して２次元情報を取得する第１取得ステップと、
前記物体の少なくとも一部を含む領域の３次元情報を取得する第２取得ステップと、
前記３次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第１抽出ステップと、
前記第１抽出ステップで抽出された前記物体の少なくとも一部の形状を前記２次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた２次元情報に基づいて、前記物体の形状を抽出する第２抽出ステップと、
前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御ステップと、
を有することを特徴とする計測装置の制御方法。
【請求項９】
コンピュータに、請求項８に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、荷物のサイズを計測する計測装置、計測装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、宅配便や郵便などにより荷物の配送を依頼すると、荷物重量及び荷物サイズ（長さ、幅、高さの合計値）によって運送料金の適用規格サイズが決定され、配送エリアに応じた運送料金が適用される。通常、宅配便等の荷物の配送を受け付ける業務においては、巻尺や定規等を使用して、荷物の長さ、幅、高さを人手により計測している。しかし、サイズ計測は手作業で行われているため、計測作業にかかる工数の増大や、担当者による計測精度にばらつきが生じるといった課題があった。そのため、物体サイズを自動で計測可能な計測装置が求められている。なお、宅配便荷物取扱所に上述のような計測装置を設置する際には、省スペースであることが重要となる。
【０００３】
特許文献１には、荷物の面上に基準尺を配置し、荷物全体を撮影した画像から、基準尺を基にして荷物の各辺の寸法を計測する技術が提案されている。
特許文献２には、カメラなどの撮像手段と超音波による距離センサを用い、距離センサから得られたデータを基に撮影された画像を処理することで、荷物の寸法や姿勢を計測する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−００８３５２号公報
【特許文献２】特開２０００−１７１２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、荷物サイズを計測する際に基準尺を用意する必要がある。また、特許文献１の技術では、荷物の上面に基準尺を配置した場合には、荷物よりも大きな計測システムが必要となる。
特許文献２の技術では、カメラ及び距離センサを荷物の上方に取り付ける必要があり、省スペースには向かない。
このように従来の技術では、宅配便荷物取扱所等へ設置するのに好適な計測装置を実現することが困難であった。
【０００６】
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現する仕組みを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、所定の撮影領域に載置された物体の全体を含む領域を、広角撮像手段で撮像して２次元情報を取得する第１取得手段と、前記物体の少なくとも一部を含む領域の３次元情報を取得する第２取得手段と、前記３次元情報に基づいて前記物体の少なくとも一部の形状を抽出する第１抽出手段と、前記第１抽出手段により抽出された前記物体の少なくとも一部の形状を前記２次元情報に対応付けし、該物体の少なくとも一部の形状が対応付けされた２次元情報に基づいて、前記物体の形状を抽出する第２抽出手段と、前記抽出された前記物体の形状に基づいて前記物体のサイズを取得するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例の荷物サイズ計測装置を含むネットワーク構成図
【図２】本実施例の荷物サイズ計測装置の構成の一例を示す図
【図３】本実施例の荷物サイズ計測装置のハードウェア構成図
【図４Ａ】本実施例の荷物サイズ計測装置の制御用プログラムの機能構成図
【図４Ｂ】本実施例の荷物サイズ計測装置の制御用プログラムのシーケンス図
【図５Ａ】距離画像取得部408による処理を説明するフローチャート
【図５Ｂ】パターン投射方式による距離画像の計測原理を説明するための図
【図６Ａ】ジェスチャー認識部の処理の一例を示すフローチャート
【図６Ｂ】指先検出処理の方法を模式的に表す図
【図７Ａ】物体検知部410の処理の一例を示すフローチャート
【図７Ｂ】本実施例の状態管理テーブルの一例を示す図
【図８】本実施例の荷物サイズ計測装置の利用シーンについて説明する図
【図９】スキャンを実行する際のＵＩ表示とユーザの操作の様子を示す図
【図１０】実施例１の荷物サイズ計測処理の一例を示すフローチャート
【図１１】実施例１の荷物サイズ計測処理を説明するための図
【図１２】実施例２の荷物サイズ計測処理の一例を示すフローチャート
【図１３】実施例２の荷物サイズ計測処理を説明するための図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照して説明する。
【実施例１】
【００１１】
図１は、本発明の一実施例を示す荷物サイズ計測装置101を含むネットワーク構成を示す図である。
荷物サイズ計測装置101は、本実施例の画像処理装置である。荷物サイズ計測装置101は、イーサネット（登録商標）等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
【００１２】
荷物サイズ計測装置101は、ホストコンピュータ102からの指示により、荷物サイズ計測装置101から荷物サイズ計測機能や、計測データをプリンタ103により出力するプリント機能の実行が可能である。また、荷物サイズ計測装置101は、ホストコンピュータ102を介さず、荷物サイズ計測装置101への直接の指示により、荷物サイズ計測機能、プリント機能の実行も可能である。
【００１３】
＜荷物サイズ計測装置の構成＞
図２は、荷物サイズ計測装置101の構成の一例を説明する図である。
図２（ａ）に示すように、荷物サイズ計測装置101は、コントローラ部201、カメラ部202、腕部203、プロジェクタ207、距離画像センサ部208を含む。
【００１４】
荷物サイズ計測システムの本体であるコントローラ部201と、撮像を行うためのカメラ部202、プロジェクタ207および距離画像センサ部208は、腕部203により連結されている。腕部203は、関節を用いて曲げ伸ばしが可能である。
【００１５】
図２（ａ）には、荷物サイズ計測装置101が設置されている載置台204も示している。カメラ部202および距離画像センサ部208のレンズは、載置台204方向に向けられており、破線で囲まれた荷物計測領域205内の荷物サイズを計測可能である。図２（ａ）の例では、荷物206は、荷物計測領域205内に置かれている。よって、荷物サイズ計測装置101は、この荷物206のサイズ計測が可能である。
【００１６】
カメラ部202は、載置台204に載置された計測荷物206の全体像を撮像できる広角カメラ（広角撮像部）である。なお、カメラ部202は、単一解像度で広角カメラ画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
【００１７】
載置台204内にはターンテーブル209を設けてもよい。ターンテーブル209は、コントローラ部201からの指示によって回転することが可能であり、ターンテーブル209上に置かれた荷物206とカメラ部202との角度を変えることができる。
【００１８】
また、図２には示されていないが、荷物サイズ計測装置101は、図３に示すように、ＬＣＤタッチパネル330およびスピーカ340を備えることもできる。さらに、荷物サイズ計測装置101は、周囲の環境情報を収集するための人感センサ、照度センサ、加速度センサなどの各種センサデバイスを備えることもできる。
【００１９】
図２（ｂ）は、荷物サイズ計測装置101における座標系について表している。
荷物サイズ計測装置101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をそれぞれＸＹ平面とし、各画像平面に直交する方向をＺ方向として定義したものである。
【００２０】
さらに、本実施例では、これらの独立した座標系の３次元データを統一的に扱えるようにするために、「直交座標系」が定義されている。直交座標系では、載置台204を含む平面をＸＹ平面とし、このＸＹ平面から上方に垂直な向きをＺ軸とする。
【００２１】
以下、座標系を変換する場合の例を、図２（ｃ）を用いて説明する。
図２（ｃ）は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］は、（１）式によって、カメラ座標系における３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］へ変換できる。
【００２２】
【数１】
2019020307.tif 000003
【００２３】
ここで、Ｒｃおよびｔｃは、直交座標系に対するカメラの姿勢（回転）と位置（並進）によって求まる外部パラメータによって構成され、Ｒｃを３×３の回転行列、ｔｃを並進ベクトルと呼ぶ。
【００２４】
逆に、カメラ座標系で定義された３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］は（２）式によって、直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］への変換することができる
【００２５】
【数２】
2019020307.tif 000004
【００２６】
さらに、カメラ部202で撮影される２次元のカメラ画像平面は、カメラ部202によって３次元空間中の３次元情報が２次元情報に変換されたものである。すなわち、カメラ座標系上での３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を、（３）式によってカメラ画像平面での２次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換することによって変換することができる。
【００２７】
【数３】
2019020307.tif 000005
【００２８】
ここで、Ａは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心などで表現される３×３の行列である。
【００２９】
以上のように、（１）式と（３）式を用いることで、直交座標系で表された３次元点群を、カメラ座標系での３次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータおよび直交座標系に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく３次元点群と表記した場合は、直交座標系における３次元データを表しているものとする。
【００３０】
＜荷物サイズ計測装置101のコントローラ部201のハードウェア構成＞
図３は、荷物サイズ計測装置101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
【００３１】
図３に示すように、コントローラ部201は、システムバス301に接続されたＣＰＵ302、ＲＡＭ303、ＲＯＭ304、ＨＤＤ305及びネットワークＩ／Ｆ306を有する。さらに、コントローラ部201は、画像処理プロセッサ307、カメラＩ／Ｆ308、ディスプレイコントローラ309、シリアルＩ／Ｆ310、オーディオコントローラ311及びＵＳＢコントローラ312を有する。
【００３２】
ＣＰＵ302は、コントローラ部201全体の動作を制御する中央演算装置である。ＲＡＭ303は、揮発性メモリである。ＲＯＭ304は不揮発性メモリであり、ＣＰＵ302の起動用プログラム等が格納されている。ＨＤＤ305は、ＲＡＭ303と比較して大容量なハードディスクドライブ（ＨＤＤ）である。ＨＤＤ305には、コントローラ部201の実行する、荷物サイズ計測装置101の制御用プログラム等が格納されている。
【００３３】
ＣＰＵ302は、電源ＯＮ等の起動時、ＲＯＭ304に格納されている起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ305に格納されている制御用プログラムを読み出し、ＲＡＭ303上に展開するためのものである。ＣＰＵ302は、起動用プログラムを実行すると、続けてＲＡＭ303上に展開した制御用プログラムを実行し、制御を行う。また、ＣＰＵ302は、制御用プログラムによる動作に用いるデータもＲＡＭ303上に格納して読み書きを行う。ＨＤＤ305には、さらに制御用プログラムによる動作に必要な各種設定や、カメラ入力によって生成された画像データ等を格納することができる。ＨＤＤ305は、ＣＰＵ302によって読み書き可能である。ＣＰＵ302は、ネットワークＩ／Ｆ306を介してネットワーク104上の他の機器との通信を行う。
【００３４】
画像処理プロセッサ307は、ＲＡＭ303に格納された画像データを読み出して処理し、またＲＡＭ303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等を含む。
【００３５】
カメラＩ／Ｆ308は、カメラ部202および距離画像センサ部208と接続される。カメラＩ／Ｆ308は、ＣＰＵ302からの指示に応じて、カメラ部202から広角カメラ画像データを、距離画像センサ部208から距離画像データを取得して、ＲＡＭ303へ書き込む。また、カメラＩ／Ｆ308は、ＣＰＵ302からの制御コマンドを、カメラ部202および距離画像センサ部208へ送信し、カメラ部202および距離画像センサ部208の設定を行う。距離画像センサ部208の構成については後述する。
【００３６】
なお、コントローラ部201は、ディスプレイコントローラ309、シリアルＩ／Ｆ310、オーディオコントローラ311およびＵＳＢコントローラ312のうち少なくとも１つを備えることができる。
【００３７】
ディスプレイコントローラ309は、ＣＰＵ302の指示に応じて、ディスプレイへの画像データの表示を制御する。ここで、ディスプレイコントローラ309は、プロジェクタ207およびＬＣＤタッチパネル330に接続されており、これらの表示を制御する。
【００３８】
シリアルＩ／Ｆ310は、シリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ310はターンテーブル209に接続され、ＣＰＵ302の回転開始・終了および回転角度の指示をターンテーブル209へ送信する。また、シリアルＩ／Ｆ310はＬＣＤタッチパネル330に接続され、ＣＰＵ302はＬＣＤタッチパネル330が押下されたときに、シリアルＩ／Ｆ310を介して押下された座標を取得する。
【００３９】
オーディオコントローラ311はスピーカ340に接続され、ＣＰＵ302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。
【００４０】
ＵＳＢコントローラ312は、ＣＰＵ302の指示に応じて外付けのＵＳＢデバイスの制御を行う。ここでは、ＵＳＢコントローラ312は、ＵＳＢメモリやＳＤカードなどの外部メモリ350と接続され、外部メモリ350へのデータの読み書きを行う。
【００４１】
＜荷物サイズ計測装置101の制御用プログラムの機能構成＞
図４Ａは、ＣＰＵ302が実行する荷物サイズ計測装置101の制御用プログラムの機能構成401の一例を示す図である。荷物サイズ計測装置101の制御用プログラムは前述のようにＨＤＤ305に格納され、ＣＰＵ302が起動時にＲＡＭ303上に展開して実行する。すなわち、図４Ａに示す機能構成401は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
図４Ｂは、機能構成401の各モジュールの処理の関係をシーケンス図である。
【００４２】
機能構成401において、メイン制御部402は制御の中心であり、機能構成401内の他の各モジュールを図４Ｂに示すように制御する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
【００４３】
カメラ画像取得部407は、カメラＩ／Ｆ308を介してカメラ部202が出力する広角カメラ画像データ（２次元情報）を取得し、ＲＡＭ303へ格納する。
距離画像取得部408は、カメラＩ／Ｆ308を介して距離画像センサ部208が出力する距離画像データ（３次元情報）を取得し、ＲＡＭ303へ格納する。距離画像取得部408の処理の詳細は、後述する図５Ａ、図５Ｂで説明する。
【００４４】
認識処理部417は、カメラ画像取得部407、距離画像取得部408が取得する画像データから載置台204上の物体の動きを検知して認識するモジュールである。認識処理部417は、ジェスチャー認識部409、物体検知部410を有する。
【００４５】
ジェスチャー認識部409は、画像取得部416から載置台204上の画像を取得し続け、タッチなどのジェスチャーを検知するとメイン制御部402へ通知する。処理の詳細は図６Ａ、図６Ｂを用いて後述する。
物体検知部410は、画像取得部416から載置台204を撮像した画像を取得し続け、載置台204上に物体が置かれるタイミング、物体が置かれて静止するタイミング、あるいは物体が取り除かれるタイミングなどを検知する処理を行う。処理の詳細は図７Ａ、図７Ｂを用いて後述する。
【００４６】
画像処理部418は、カメラ画像取得部407、距離画像取得部408が取得する各画像を画像処理プロセッサ307で解析するために用いられ、物体計測部411や各種画像処理モジュールで構成される。
【００４７】
物体計測部411は、対象物の荷物サイズを計測するモジュールである。なお、前述のジェスチャー認識部409や物体計測部411による処理は、画像処理部418の各種画像処理モジュールを利用して実行される。
【００４８】
ユーザインターフェイス部403は、メイン制御部402からの要求を受け、メッセージやボタン等のＧＵＩ部品を生成し、表示部406へ生成したＧＵＩ部品の表示を要求する。表示部406は、ディスプレイコントローラ309を介して、プロジェクタ207もしくはＬＣＤタッチパネル330へ要求されたＧＵＩ部品の表示を行う。プロジェクタ207は、載置台204に向けて設置されているため、載置台204上にＧＵＩ部品を投射することが可能となっている。また、ユーザインターフェイス部403は、ジェスチャー認識部409が認識したタッチ等のジェスチャー操作、あるいはシリアルＩ／Ｆ310を介したＬＣＤタッチパネル330からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインターフェイス部403は、描画中の操作画面の内容と操作座標を対応させて操作内容（押下されたボタン等）を判定する。この操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。
【００４９】
ネットワーク通信部404は、ネットワークＩ／Ｆ306を介して、ネットワーク104上の他の機器とＴＣＰ／ＩＰによる通信を行う。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータを、ＨＤＤ305上の所定の領域へ保存し、管理する。
【００５０】
＜距離画像センサ部208および距離画像取得部408の説明＞
距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。図３に示すように、距離画像センサ部208は、赤外線パターン投射部361、赤外線カメラ362、ＲＧＢカメラ363を有する。
【００５１】
赤外線パターン投射部361は、対象物に対して、人の目には不可視である赤外線によって３次元形状測定パターンを投射する。赤外線カメラ362は、対象物に投射した３次元形状測定パターンを読みとるカメラである。ＲＧＢカメラ363は、人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
【００５２】
なお、本実施例では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、距離画像センサ部208として、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するＴＯＦ（Time of Flight）方式を用いてもよい。
【００５３】
以下、図５Ａ、図５Ｂを用いて、距離画像センサ部208および距離画像取得部408の構成を説明する。
図５Ａは、距離画像取得部408による処理を説明するフローチャートである。図５Ａのフローチャートに示す処理は、距離画像取得部408により実行される。すなわち、図５Ａに示す処理は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
また、図５Ｂ（ａ）〜（ｃ）は、パターン投射方式による距離画像の計測原理を説明するための図である。
【００５４】
距離画像取得部408は、処理を開始すると、まずS501において、図５Ｂ（ａ）に示すように、赤外線パターン投射部361を用いて、赤外線による３次元形状測定パターン522を対象物521に投射する。
またS502において、距離画像取得部408は、ＲＧＢカメラ363を用いて、対象物を撮影したＲＧＢカメラ画像523、および、赤外線カメラ362を用いて、上記S501で投射した３次元形状測定パターン522を撮影した赤外線カメラ画像524を取得する。
【００５５】
なお、赤外線カメラ362とＲＧＢカメラ363とでは設置位置が異なるため、図５Ｂ（ｂ）に示すように、それぞれで撮影されるＲＧＢカメラ画像523と赤外線カメラ画像524の撮影領域が異なる。そこでS503において、距離画像取得部408は、赤外線カメラ362の座標系からＲＧＢカメラ363の座標系への座標系変換を用いて、赤外線カメラ画像524をＲＧＢカメラ画像523の座標系に合わせる。なお、赤外線カメラ362とＲＧＢカメラ363の相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。
【００５６】
次に、S504において、距離画像取得部408は、図５Ｂ（ｃ）に示すように、３次元形状測定パターン522と、上記S503で座標変換を行った赤外線カメラ画像524との間での対応点を抽出する。例えば、赤外線カメラ画像524上の１点を３次元形状測定パターン522上から探索して、同一の点が検出された場合に対応付けを行う。あるいは、赤外線カメラ画像524の画素の周辺のパターンを３次元形状測定パターン522上から探索し、一番類似度が高い部分と対応付けてもよい。
【００５７】
次に、S505において、距離画像取得部408は、赤外線パターン投射部361と赤外線カメラ362を結ぶ直線を基線525として、三角測量の原理を用いて計算を行うことにより、赤外線カメラ362からの距離を算出する。上記S504で対応付けが出来た画素については、赤外線カメラ362からの距離を算出して画素値として保存し、対応付けが出来なかった画素については、距離の計測が出来なかった部分として無効値を保存する。これを上記S503で座標変換を行った赤外線カメラ画像524の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。即ち、距離画像は３次元情報である。
【００５８】
S506において、距離画像取得部408は、距離画像の各画素にＲＧＢカメラ画像523のＲＧＢ値を保存することにより、１画素につきＲ、Ｇ、Ｂ、距離の４つの値を持つ距離画像を生成する。
【００５９】
上記S506で取得した距離画像は、距離画像センサ部208のＲＧＢカメラ363で定義された距離画像センサ座標系が基準となっている。そこでS507において、距離画像取得部408は、図２（ｂ）を用いて上述したように、距離画像センサ座標系として得られた距離データを直交座標系における３次元点群に変換し、本フローチャートの処理を終了する。なお、以後、特に指定がなく３次元点群と表記した場合は、直交座標系における３次元点群を示すものとする。
【００６０】
なお、本実施例では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、2つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するＴＯＦ（Time of Flight）方式など、他の計測方法を用いてもよい。
【００６１】
なお、距離画像取得部408により載置台204上に物体がない状態で取得された距離画像と、載置台204上に物体が置かれた状態で取得された距離画像を用いて、物体の撮影画像の各画素の載置台204からの高さを取得可能である。
【００６２】
＜ジェスチャー認識部409の説明＞
図６Ａは、ジェスチャー認識部409の処理の一例を示すフローチャートである。図６Ａのフローチャートに示す処理は、ジェスチャー認識部409により実行される。すなわち、図６Ａに示す処理は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
また、図６Ｂ（ａ）〜図６Ｂ（ｃ）は、指先検出処理の方法を模式的に表す図である。
【００６３】
図６Ａにおいて、ジェスチャー認識部409は、処理を開始すると、まずS601において、初期化処理を行う。初期化処理では、ジェスチャー認識部409は、距離画像取得部408から距離画像を１フレーム取得する。ここで、ジェスチャー認識部409は、処理の開始時では載置台204上に対象物が置かれていない状態であるため、初期状態として載置台204の平面の認識を行う。つまり、ジェスチャー認識部409は、取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル（以下「載置台204の平面パラメータ」と呼ぶ）を算出し、ＲＡＭ303に保存する。
【００６４】
次に、S602において、ジェスチャー認識部409は、載置台204上に存在する物体の３次元点群を取得する（S621，S622）。以下、詳細に説明する。
まずS621において、ジェスチャー認識部409は、距離画像取得部408から距離画像と３次元点群を1フレーム取得する。
次に、S622において、ジェスチャー認識部409は、上述した載置台204の平面パラメータを用いて、上記S621で取得した３次元点群から載置台204を含む平面にある点群を除去する。
【００６５】
次に、S603において、ジェスチャー認識部409は、上記S603で取得した３次元点群から操作者の手の形状および指先を検出する処理を行う（S631〜S634）。以下、図６Ｂ（ａ）〜図６Ｂ（ｃ）を用いて詳細に説明する。
【００６６】
まずS631において、ジェスチャー認識部409は、上記S602で取得した３次元点群から、載置台204を含む平面から所定の高さ以上にある、肌色の３次元点群を抽出することで、手の３次元点群を得る。図６Ｂ（ａ）の661は、抽出した手の３次元点群を表している。
【００６７】
次にS632において、ジェスチャー認識部409は、上記S631で抽出した手の３次元点群を載置台204の平面に射影した２次元画像を生成して、その手の外形を検出する。図６Ｂ（ａ）の662は、抽出した手の３次元点群の各座標を、載置台204の平面パラメータを用いて載置台204の平面に投影した３次元点群を表している。また、図６Ｂ（ｂ）に示すように、投影した３次元点群662から、ｘｙ座標の値だけを取り出せば、ｚ軸方向から見た２次元画像663として扱うことができる。この時、ジェスチャー認識部409は、手の３次元点群の各点が、載置台204の平面に投影した２次元画像の各座標のどれに対応するかを、記憶しておくものとする。
【００６８】
次にS633において、ジェスチャー認識部409は、上記S632で検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。図６Ｂ（ｃ）は、外形の曲率から指先を検出する方法を模式的に表したものである。図６Ｂ（ｃ）の664は、載置台204の平面に投影された２次元画像663の外形を表す点の一部を表している。ここで、664のような、外形を表す点のうち、隣り合う５個の点を含むように円を描くことを考える。円665、667が、その例である。この円を、全ての外形の点に対して順に描き、その直径（例えば666、668）が所定の値より小さい（曲率が小さい）ことを以て、指先とする。この例では隣り合う５個の点としたが、その数は限定されるものではない。また、ここでは曲率を用いたが、外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
【００６９】
次に、S634において、ジェスチャー認識部409は、上記S633で検出した指先の個数および各指先の座標を算出する。この時、前述したように、載置台204に投影した２次元画像の各点と、手の３次元点群の各点の対応関係を記憶しているため、各指先の３次元座標を得ることができる。今回は、３次元点群から２次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、ＲＧＢ画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法（外形の曲率計算等）で、手領域のうちの指先を検出してもよい。この場合、検出した指先の座標はＲＧＢ画像や距離画像といった２次元画像上の座標であるため、その座標における距離画像の距離情報を用いて、直交座標系の３次元座標に変換する必要がある。この時、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
【００７０】
次にS604において、ジェスチャー認識部409は、上記S603で検出した手の形状および指先からのジェスチャー判定処理を行う（S641〜S646）。以下、詳細に説明する。
S641において、ジェスチャー認識部409は、上記S603で検出した指先が１つかどうか判定する。ジェスチャー認識部409は、検出した指先が１つでないと判定した場合（S641でNOの場合）、S646に処理を進める。
S646において、ジェスチャー認識部409は、ジェスチャーなしと判定し、S605に処理を進める。
【００７１】
一方、上記S641において、ジェスチャー認識部409は、検出した指先が１つであると判定した場合（S641でYESの場合）、S642に処理を進める。
S642において、ジェスチャー認識部409は、検出した指先と載置台204を含む平面との距離を算出する。
【００７２】
次に、S643において、ジェスチャー認識部409は、上記S642で算出した距離が微小な所定値以下であるかどうかを判定する。ジェスチャー認識部409は、算出した距離が所定値以下であると判定した場合（S643でYESの場合）、S644に処理を進める。
S644において、ジェスチャー認識部409は、指先が載置台204へタッチしたジェスチャー（指先タッチジェスチャー）ありと判定し、S605に処理を進める。
【００７３】
一方、ジェスチャー認識部409は、算出した距離が所定値以下でない（算出した距離が所定値より大きい）と判定した場合（S643でNOの場合）、S645に処理を進める。
S645において、ジェスチャー認識部409は、タッチはしていないが指先が載置台204上に存在するジェスチャー（指先移動ジェスチャー）ありと判定し、S605に処理を進める。
【００７４】
S605において、ジェスチャー認識部409は、上記S644、S645又はS646で判定したジェスチャーをメイン制御部402へ通知し、S602に処理を戻し、ジェスチャー認識処理を繰り返すように制御する。
なお、ここでは一本指でのジェスチャー認識について説明を行ったが、複数の指あるいは複数の手でのジェスチャー認識に応用することも可能である。
【００７５】
＜物体検知部の処理＞
図７Ａは、物体検知部410の処理の一例を示すフローチャートである。図７Ａのフローチャートに示す処理は、物体検知部410により実行される。すなわち、図７Ａに示す処理は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
また、図７Ｂは、本実施例の状態管理テーブルの一例を示す図である。
【００７６】
物体検知部410は、処理を開始すると、図７Ａ（ａ）のS701において、初期化処理を行う（S711〜S713）。以下、詳細に説明する。
S711において、物体検知部410は、距離画像取得部408からＲＧＢカメラ画像と距離画像をそれぞれ１フレーム取得する。
【００７７】
次に、S712において、物体検知部410は、データ管理部405を介して、上記S711で取得したＲＧＢカメラ画像を載置台背景カメラ画像／前フレームカメラ画像／直前静止カメラ画像としてＨＤＤ305にそれぞれ保存する。また、物体検知部410は、上記S711で取得した距離画像も同様に、載置台背景距離画像／前フレーム距離画像／直前静止距離画像としてＨＤＤ305に保存する。以後の説明において、載置台背景画像／前フレーム画像／直前静止画像と記載した場合には、ＲＧＢカメラ画像と距離画像の両方を含むものとする。
【００７８】
次にS713において、物体検知部410は、状態管理テーブルを初期化し、データ管理部405を介してＲＡＭ303へ保存する。
図７Ｂ（ｃ）〜図７Ｂ（ｉ）に示すように、状態管理テーブルは、載置台204の状態を管理する載置台管理テーブルと、物体の状態を管理する物体管理テーブルを含む。
【００７９】
載置台管理テーブルでは、載置台204上から検知された物体数（objNums）と、載置台204上の状態を記録する。また、物体管理テーブルでは、物体ごとに、物体の状態（移動中／静止／原稿検出済など）や、物体の位置・大きさを含む情報を管理する。これ以外にも状態管理テーブルには、図示しないが、物体に関連する情報を保持することが可能である。図７Ｂ（ｃ）は、初期化処理後の状態管理テーブルを示しており、物体数（objNums）に「０」が設定され、物体管理テーブル内は空欄となっている。
【００８０】
次にS702において、物体検知部410は、載置台204上での物体の動きを検知する（S721〜S726）。以下、詳細に説明する。
S721において、物体検知部410は、距離画像取得部408からＲＧＢカメラ画像と距離画像をそれぞれ1フレーム取得する。以後の説明において、現フレーム画像と記載した場合には、本ステップで取得したＲＧＢカメラ画像と距離画像と両方を含むものとする。
【００８１】
次にS722において、物体検知部410は、上記S721で取得したＲＧＢカメラ画像および距離画像を用いて物体検知処理を行う。以下、図７Ａ（ｂ）を用いて物体検知処理について説明する。
【００８２】
図７Ａ（ｂ）のS731において、物体検知部410は、現フレーム画像と載置台背景画像との差分値を算出する。詳細には、物体検知部410は、ＲＧＢカメラ画像および距離画像それぞれにおいて、上記S712で保存された載置台背景画像と、上記S721で撮像された現フレーム画像との差分２値画像を生成する。背景差分２値画像中の黒画素部分は画像変化量がない、すなわち物体が存在していない部分を表している。また、白画素部分は画像変化量がある、すなわち物体が存在している部分であることを示している。
【００８３】
次にS732において、物体検知部410は、前フレームでの処理において静止物体が検知されている、あるいは上記S731で算出した距離背景差分画像での差分値が予め決めておいた所定値以上かどうかに基づき、物体の検知を判定する。
【００８４】
上記S732において、物体検知部410は、載置台204上に物体が存在する（物体を検知した）と判定した場合（S723でYESの場合）、S737に処理を進める。
S737において、物体検知部410は、上記S731で生成した背景差分画像を基にして物体数の増減の判定を行う。物体検知部410は、物体数が増減したと判定した場合（S737でYESの場合）、S738に処理を進める。
【００８５】
S738において、物体検知部410は、上記S731で検出された載置台背景画像の差分領域が、直前フレームで検出された物体と同一か否かを判定することで、新規物体か否かを判定する。すなわち、直前フレームでは検出されていない領域より検出された物体数の増加は、新規に載置台204上にフレームインした物体によるものと判断する。この場合、物体検知部410は、新規物体を検出したと判定し（S738でYES）、S739に処理を進める。S739において、物体検知部410は、上記S738のフレームイン判定結果を受け、物体フレームインイベントを発行する。この場合、物体検知部410は、S736において、図７Ｂ（ｄ）に示すように物体のフレームイン情報および物体の位置情報などを書き込むことで状態管理テーブルを更新して、図７Ａ（ｂ）の処理を終了する。
【００８６】
一方、直前フレームで検知されていた物体が分離・統合したことによる物体数の増減は、載置台204上に物体を載置するために手を放した、あるいは載置されていた物体を掴んだなどの要因によるものであると考えられる。この場合、物体検知部410は、新規物体を検出していないと判定し（S738でNO）、S736に処理を進め、図７Ｂ（ｆ）に示すように分離・統合した物体情報を書き込むことで状態管理テーブルを更新して、図７Ａ（ｂ）の処理を終了する。
【００８７】
また、上記S737において、物体検知部410は、物体数が増減していない（変わらない）と判定した場合（S737でNOの場合）、S740に処理を進める。
S740において、物体検知部410は、ＲＧＢカメラ画像および距離画像それぞれで、後述するS724（図７A（ａ））で保存された前フレーム画像と、上記S721で撮影された現フレーム画像との差分画像を生成する。そして、物体検知部410は、所定値によって２値化処理を行うことで差分値を算出する。
【００８８】
次に、S741において、物体検知部410は、上記S740で算出した差分値が予め決めておいた所定値未満かどうかを判定する。物体検知部410は、算出した差分値が所定値以上であると判定した場合（S741でNOの場合）、S736に処理を進め、図７Ｂ（ｅ）に示すように状態管理テーブルの物体の位置情報などを更新して、図７Ａ（ｂ）の処理を終了する。
【００８９】
一方、物体検知部410は、算出した差分値が所定値未満であると判定した場合（S741でYESの場合）、S742に処理を進める。
S742において、物体検知部410は、上記S740が連続してYESとなった回数から、算出した差分値が所定値未満の状態（つまり載置台204上の物体が静止した状態）が、予め決めておいたフレーム数続いたかどうかを判定する。物体検知部410は、差分値が所定値未満の状態が所定フレーム数続いていないと判定した場合（S742でNOの場合）、S736へ進み、図７Ｂ（ｇ）に示すように状態管理テーブルの物体の位置情報などを更新して、図７Ａ（ｂ）の処理を終了する。
【００９０】
一方、上記S742において、物体検知部410は、差分値が所定値未満の状態が所定フレーム数続いたと判定した場合（S742でYESの場合）、載置台204上の物体が静止したと判断し、S743に処理を進める。
【００９１】
S743において、物体検知部410は、ＲＧＢカメラ画像および距離画像それぞれにおいて、直前静止画像と現フレーム画像との差分画像を生成し、所定値によって２値化処理を行い、直前静止画像との差分値を算出する。
【００９２】
次に、S744において、物体検知部410は、上記S743で算出した差分値が予め決めておいた所定値以上かどうかを判定する。物体検知部410は、算出した差分値が所定値未満と判定した場合（S744でNOの場合）、直前の静止状態から変化がないと判断し、S745に処理を進める。S745では、物体検知部410は、上記S742及びS744において、直前の静止状態と同じ状態での物体静止であると判断されたことを受け、物体静止イベントを再発行し、S736に処理を進める。この場合、S736において、物体検知部410は、S745で発行された物体静止イベントを受け、図７Ｂ（ｈ）に示すように状態管理テーブルを更新して、図７Ａ（ｂ）の処理を終了する。
【００９３】
一方、上記S744において、物体検知部410は、算出した差分値が所定値以上と判定した場合（S744でYESの場合）、S746に処理を進める。
【００９４】
S746において、物体検知部410は、上記S742およびS744において、直前の静止状態とは異なる状態での物体静止であると判断したことを受け、物体静止イベントを発行する。
さらに、S747において、物体検知部410は、データ管理部405を介して、現フレームのＲＧＢカメラ画像および距離画像を、直前静止カメラ画像および直前静止距離画像としてＨＤＤ305に保存し、S736に処理を進める。この場合、S736において、物体検知部410は、S746で発行された物体静止イベントを受け、図７Ｂ（ｈ）に示すように状態管理テーブルを更新して、図７Ａ（ｂ）の処理を終了する。
【００９５】
また、上記S732において、物体検知部410は、載置台204上に物体が存在しない（検知していない）と判定した場合（S732でNOの場合）、S733に処理を進める。
S733において、物体検知部410は、直前のフレームにおいて移動物体が検知中であったかを確認することで、フレームアウト判定処理を行う。即ち、物体検知部410は、直前フレームで移動物体を検知していなかった場合には、載置台204上に物体が無い状態が続いている（即ちフレームアウトでない）と判定し（S733でNOと判定し）、図７Ａ（ｂ）の処理を終了する。
【００９６】
一方、上記S733において、物体検知部410は、直前フレームで移動物体を検知していた場合には、直前まで検出された移動物体がフレームアウトしたと判定し（S733でYESと判定し）、S734に処理を進める。
【００９７】
S734において、物体検知部410は、上記S733のフレームアウト判定結果を受け、物体フレームアウトイベントを発行する。次に、S735において、物体検知部410は、データ管理部405を介して、現フレームのＲＧＢカメラ画像および距離画像を、直前静止カメラ画像および直前静止距離画像としてＨＤＤ305にそれぞれ保存する。なお、物体検知部410は、本ステップにおいて、さらに現フレーム画像を載置台背景画像として更新してもよい。またこの場合、S736において、物体検知部410は、図７Ｂ（ｉ）に示すように物体のフレームアウト情報を書き込むことで状態管理テーブルを更新する。あるいは、図７Ｂ（ｃ）に示すように状態管理テーブルを初期化してもよい。状態管理テーブルの更新後、図７Ａ（ｂ）の処理を終了する。
図７Ａ（ｂ）の処理を終了すると、図７Ａ（ａ）の処理に戻る。
【００９８】
図７Ａ（ａ）のS723において、物体検知部410は、上記S722（即ち図７Ａ（ｂ）の物体検知処理）で発行されたイベントを、メイン制御部402へ通知する。なお、同一フレーム内で複数の物体検知イベントが発行された場合には、物体検知部410は、全ての物体検知イベントをメイン制御部402へ通知する。
【００９９】
次に、S724において、物体検知部410は、データ管理部405を介して、上記S721で取得したＲＧＢカメラ画像および距離画像を、前フレームカメラ画像および前フレーム距離画像としてＨＤＤ305に保存する。
【０１００】
次に、S725において、物体検知部410は、物体検知処理の終了判定を行い、終了判定がなされるまで上記S721〜S725の処理を繰り返すように制御する。なお、システムの終了はＵＩ画面上に投射表示された終了ボタン（不図示）の操作、荷物サイズ計測装置101の本体の電源ボタン（不図示）の押下などにより行われ、メイン制御部402から通知されるものとする。
【０１０１】
＜メイン制御部の説明＞
以下、図８〜図１１を用いて、メイン制御部402が実行する荷物サイズ計測処理について説明する。
図８は、荷物サイズ計測装置101の利用シーンについて説明する図である。
荷物を配送したいユーザ801は、宅配便荷物取扱所に荷物802を持ち込み、宅配便荷物取扱所に設置されている荷物サイズ計測装置101を利用して荷物サイズの計測を行う。このとき、図８（ａ）に示すように、セルフ端末として利用しても、図８（ｂ）に示すように、宅配便荷物取扱所の担当者803との対面用端末として利用してもよい。
【０１０２】
ユーザ801あるいは担当者803（以下、総称してユーザ801とよぶ）は、荷物サイズ計測装置101に対して配送する荷物802の２側面が正対するように、荷物計測領域205内に荷物802を載置する。そして、ユーザ801は、ＵＩ画面をジェスチャーによって操作しながら、荷物サイズ計測処理の実行を指示する。以下の説明文においては、ＵＩ画面はプロジェクタ207によって載置台204に投影されるものとして記述するが、ＬＣＤタッチパネル330や、その他の出力装置上に表示しても構わない。
【０１０３】
図９は、スキャンを実行する際のＵＩ表示とユーザ801の操作の様子の一例を示す図である。
図９（ａ）に自動サイズ計測処理開始時のＵＩ画面の一例を示す。ＵＩ画面には、メイン制御部402の制御により、操作指示メッセージ901、実行ボタン902、終了ボタン903が投影表示されている。
【０１０４】
図９（ｂ）に示すように、ユーザ801が実行ボタン902を押下すると、メイン制御部402は、図９（ｃ）に示すような荷物サイズ計測画面に表示を遷移させる。荷物サイズ計測画面では、メイン制御部402は、操作指示メッセージ901を更新すると共に、計測荷物を載置するための荷物計測領域205を投影表示する。
【０１０５】
ユーザ801が、図９（ｄ）に示すように、操作指示メッセージ901に従って、荷物計測領域205に計測荷物802を載置する。図９（ｅ）〜（ｆ）に示すように、メイン制御部402は、計測荷物載置完了を検知すると、荷物サイズ計測処理を実行し、計測サイズ結果と計測荷物を取り除くように操作指示メッセージ901を更新する。
【０１０６】
そして、図９（ｇ）〜（ｈ）に示すように、ユーザ801が計測荷物802を除去すると、メイン制御部402は、図９（ｉ）に示すような、終了ボタン904と再計測ボタン905が配置された計測結果の最終確認画面へ表示を遷移させる。
【０１０７】
図１０は、実施例１において、メイン制御部402が実行する荷物サイズ計測処理の一例を示すフローチャートである。即ち図１０に示す処理は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。
図１１は、実施例１の荷物サイズ計測処理を説明するための図である。
【０１０８】
メイン制御部402は、処理を開始すると、図１０のS1001において、図９（ａ）に示す荷物サイズ計測開始画面を表示し、実行ボタン902が押下されるまで待つ。メイン制御部402は、実行ボタン902が押下されたと判定した場合（S1001でYESの場合）、S1002に処理を進める。
【０１０９】
S1002において、メイン制御部402は、距離画像取得部408により図１１（ａ）に示すような距離画像1101と、カメラ画像取得部407より図１１（ｃ）に示すような広角カメラ画像1104を同期して取得する。なお、距離画像1101には、載置台204に置かれた計測荷物802の少なくとも一部分（例えば計測荷物802の二側面の少なくとも一部）の距離情報1102が撮影される。広角カメラ画像1104には、載置台204に置かれた計測荷物802の全体像（例えば計測荷物802の二側面全体の画像）と共に、ユーザ801等を含む背景画像も同時に撮影されている。
【０１１０】
次にS1003において、メイン制御部402は、上記S1002で取得された距離画像1101を用いた荷物領域抽出処理を、物体計測部411により実行するように制御する（S1031〜S1033）。以下、詳細に説明する。
【０１１１】
まずS1031において、物体計測部411は、図１１（ａ）に示す距離画像1101を、図１１（ｂ）に示すような直交座標系における３次元点群に変換する。
次にS1032において、物体計測部411は、上記S1031で変換した３次元点群中から所定高さ以上となるデータ（所定高さ以上の画素群）を荷物領域の３次元点群1103として抽出する。これにより、載置台204に置かれた計測荷物802の少なくとも一部の形状が抽出される。
【０１１２】
次にS1033において、物体計測部411は、上記S1032において所定数以上の荷物領域の３次元点群1103が抽出されたか否かにより、荷物領域の抽出可否を判定する。上記S1033において、物体計測部411は、荷物領域が抽出されていない（荷物領域なし）と判定した場合（S1033でNOの場合）、S1002に処理を戻す。
【０１１３】
一方、上記S1033において、物体計測部411は、荷物領域が抽出された（荷物領域あり）と判定した場合（S1033でYESの場合）、S1004に処理を進める。
以後の処理において、抽出された３次元点群1103は、広角カメラ画像1104から荷物領域を抽出する際、例えば、荷物領域の色情報の取得や荷物802の側面の平面方程式の推定など、に利用される。このため、以後の処理内容を満たすのに十分な３次元点群が抽出できることが必須となる。
【０１１４】
S1004において、メイン制御部402は、上記S1002で取得された広角カメラ画像1104を用いた荷物領域抽出処理を、物体計測部411により実行する（S1041〜S1043）。以下、詳細に説明する。
【０１１５】
まずS1041において、物体計測部411は、上記S1032で抽出された荷物領域の３次元点群1103を、事前にキャリブレーション済みのパラメータを用いて、図１１（ｄ）に示す荷物領域の３次元点群1105のように、広角カメラ画像1104上に射影する。これにより、上記S1032で抽出された計測荷物802の少なくとも一部の形状が広角カメラ画像1104に対応付けされる。
【０１１６】
次にS1042において、物体計測部411は、上記S1041で荷物領域の３次元点群1105が射影された広角カメラ画像1104を基にして、図１１（ｅ）のように、広角カメラ画像1104内の荷物領域1106の各頂点Ａ〜Ｆを抽出する。以下、具体的に説明する。
【０１１７】
例えば、荷物領域の３次元点群1105における色情報や、荷物802の２つ側面の境界線（以下「稜線」と呼ぶ）が荷物計測領域205に垂直な直線であることを考慮することで、広角カメラ画像1104に対するエッジ検出結果画像から各頂点を抽出する。さらには、照明条件や載置台204と荷物802と色味の類似性により、稜線ＡＢあるいは稜線ＢＣのエッジが検出困難な場合には、荷物領域の３次元点群1103を利用することで安定して検出することが可能となる。例えば、上記S1032で抽出された荷物領域の３次元点群1105を用いて、側面ＡＢＥＤおよび側面ＢＣＦＥに対する平面方程式（ax+bx+cz+d=0）をそれぞれ推定する。この２側面と載置台204平面（Z=0の平面）との交線を算出することで、稜線ＡＢあるいは稜線ＢＣを通る直線方程式（ax+bx+d=0）が得られる。そして、稜線ＡＤと稜線ＡＢの交点を算出することで、荷物802の頂点Ａを検出する。同様にして頂点Ｂおよび頂点Ｃを検出すればよい。なお、荷物領域1106の抽出の仕方についてはこれらに限らず、その他の手法、例えば、背景差分やフレーム差分などの手法を併用しても構わない。これにより、載置台204に置かれた計測荷物802の形状が抽出される。
【０１１８】
次にS1043において、物体計測部411は、上記S1042において荷物領域1106の頂点Ａ、Ｂ、Ｃの３点および頂点Ｄ、Ｅ、Ｆのうちのいずれか１点が抽出されたか否かにより荷物領域1106の抽出の可否を判定する。物体計測部411は、荷物領域1106が抽出されなかった（荷物領域なし）と判定した場合（S1043でNOの場合）、S1002に処理を戻す。
一方、物体計測部411は、荷物領域1106が抽出された（荷物領域あり）と判定した場合（S1043でYESの場合）、S1005に処理を進める。
【０１１９】
S1005において、物体計測部411は、上述した（１）式と（３）式と、既知のキャリブレーションパラメータを用いることで、広角カメラ画像1104から抽出された荷物領域1106の概形サイズ1107を算出する。（１）式と（３）式を展開することで（４）式および（５）式が得られる。
【０１２０】
【数４】
2019020307.tif 000006
【０１２１】
この（４）式および（５）式に、上記S1042で検出された各頂点の画像座標と、Z=0という拘束条件を加えることで頂点Ａ、Ｂ、ＣのＸ座標およびＹ座標を算出できる。頂点Ｄ、Ｅ、Ｆに関しては、頂点Ａ、Ｂ、ＣのＸ座標およびＹ座標を用いることでＺ座標を算出できる。以上のように直交座標系における頂点座標が算出することで、荷物802の荷物サイズ（長さ、幅、高さ）を算出すること可能となる。
【０１２２】
次にS1006において、メイン制御部402は、図９（ｆ）あるいは図９（ｉ）に示すように、荷物サイズの計測結果をＵＩ画面上に表示する。
【０１２３】
次にS1007において、メイン制御部402は、荷物サイズ計測処理を終了するか再計測するかを判定する。メイン制御部402は、再計測ボタン905が押下されたと判定した場合（S1007でNOの場合）、S1002に処理を戻し処理を繰り返す。
一方、メイン制御部402は、終了ボタン904が押下されたと判定した場合（S1007でYESの場合）、本フローチャートの処理を終了する。
【０１２４】
本実施例では、距離画像取得部408で得た距離画像1101（少なくとも計測物体の一部を撮影した３次元画像データ）と、カメラ画像取得部407で撮影した広角カメラ画像1104（計測物体の全体を撮影した２次元画像データ）を併用してサイズ計測する。これにより、省スペースでありながらも、自動で物体（荷物）サイズを計測可能な計測装置を実現できる。
【実施例２】
【０１２５】
上記実施例１では、計測する荷物サイズに関わらず、距離画像と広角カメラ画像を用いて荷物サイズの計測を行っていた。本実施例２では、荷物サイズに応じて荷物サイズの計測の方法を切り替える構成について説明する。
【０１２６】
図１２は、実施例２において、メイン制御部402が実行する荷物サイズ計測処理の一例を示すフローチャートである。即ち図１２に示す処理は、ＣＰＵ302がＨＤＤ305に格納される荷物サイズ計測装置101の制御用プログラムをＲＡＭ303にロードして実行することにより実現される。なお、実施例１と同様の処理については同じステップ番号を付し、詳細な説明は割愛する。
図１３は、実施例２の荷物サイズ計測処理を説明するための図である。
【０１２７】
メイン制御部402は、図１２のS1001において、実行ボタン902が押下されたことを検知すると、S1002において、図１３（ａ）あるいは図１３（ｄ）に示すような距離画像と、広角カメラ画像を同期して取得する。
【０１２８】
次にS1003において、メイン制御部402は、距離画像1301あるいは1306から、図１３（ｂ）あるいは図１３（ｅ）に示すように荷物領域の３次元点群1303あるいは1308を取得することで荷物領域の抽出を行う。これにより、載置台204に置かれた計測荷物802の少なくとも一部の形状が抽出される。
【０１２９】
次にS1201において、メイン制御部402は、上記S1003で荷物領域全体が抽出された（例えば荷物全体サイズを推定可能な形状が抽出された）かどうかを判定する。
図１３（ｃ）は荷物領域の３次元点群1303を俯瞰画像化することで俯瞰３次元データ1305に変換したものである。俯瞰３次元データ1305では、例えば上面形状が抽出されておらず、荷物領域の全体サイズを推定することができないため（推定不可能なため）、この場合、メイン制御部402は、荷物領域全体が抽出されていないと判定する。メイン制御部402は、荷物領域全体が抽出されていないと判定した場合（S1201でNOの場合）、S1004に処理を進め、広角カメラ画像を用いた荷物領域抽出処理を行う。
【０１３０】
一方、図１３（ｆ）は荷物領域の３次元点群1308を俯瞰画像化することで俯瞰３次元データ1310に変換したものである。俯瞰３次元データ1310では、例えば上面形状が抽出されており、これを用いて荷物全体サイズを推定することが可能（推定可能）であることから、この場合、メイン制御部402は、荷物領域全体が抽出されたと判定する。メイン制御部402は、荷物領域全体が抽出されたと判定した場合（S1201でYESの場合）、S1005に処理を進める。
【０１３１】
S1005において、物体計測部411は、上記S1004で得られた荷物領域を上記S1201の判定結果に応じて利用しつつ、上記S1003で得られた荷物領域の３次元点群を基にして荷物サイズを算出する。即ち、荷物領域全体が抽出されていないと判定された場合には、物体計測部411は、実施例１と同様にして荷物サイズを算出する。一方で、荷物領域全体が抽出されたと判断された場合には、物体計測部411は、上記S1032で得られた荷物領域の３次元点群情報のみから外接直方体を近似することで、荷物サイズを算出する。
【０１３２】
次にS1006において、メイン制御部402は、荷物サイズ計測結果を表示し、S1007において処理が終了されるまで、S1002からの処理を繰り返すように制御する。
【０１３３】
以上の処理により、実施例２によれば、計測する荷物サイズが小さい場合には、距離画像のみから荷物サイズの計測が可能となり、処理時間の短縮や処理負荷の軽減が可能になる。
【実施例３】
【０１３４】
運送料金の適用規格サイズを決定するためには、配送する荷物サイズ（長さ、幅、高さの合計値）に加え、荷物重量が必要となる。そこで、載置台204に重量計測部を搭載することで、荷物重量と荷物サイズを同時に計測することを可能にしてもよい。
【０１３５】
上記各実施例によれば、荷物全体像を撮像可能なカメラ部により得られた広角カメラ画像から、距離画像取得部によって得られた３次元情報を基に荷物の各辺のサイズを算出することで、省スペースの自動荷物サイズ計測システムを提供できる。これにより、従来では、巻尺や定規等を使用して荷物の長さ、幅、高さを人手により計測していたために作業工数増大や計測精度のばらつきが発生していたといった課題を解決することができる。したがって、省スペースでありながらも、自動で物体サイズを計測可能な計測装置を実現することができる。
【０１３６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施例について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１３７】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３８】
101    荷物サイズ計測装置
204    載置台
402    メイン制御部
407    カメラ画像取得部
408    距離画像取得部
411    物体計測部
【図１】
2019020307.tif 000007
【図２】
2019020307.tif 000008
【図３】
2019020307.tif 000009
【図４Ａ】
2019020307.tif 000010
【図４Ｂ】
2019020307.tif 000011
【図５Ａ】
2019020307.tif 000012
【図５Ｂ】
2019020307.tif 000013
【図６Ａ】
2019020307.tif 000014
【図６Ｂ】
2019020307.tif 000015
【図７Ａ】
2019020307.tif 000016
【図７Ｂ】
2019020307.tif 000017
【図８】
2019020307.tif 000018
【図９】
2019020307.tif 000019
【図１０】
2019020307.tif 000020
【図１１】
2019020307.tif 000021
【図１２】
2019020307.tif 000022
【図１３】
2019020307.tif 000023