(57)【要約】      （修正有）【課題】画像データに含まれる背景に起因する物体の輪郭の誤検知を抑制することができる物体形状測定装置を提供する。【解決手段】カメラスキャナは、予め設定された形状情報に基づいて導出されたベクトル線１４１４〜１４１７，１４２８〜１４２９と検出された直線１４０５〜１４０８，１４２１〜１４２４との角度差に基づいて荷物の輪郭となる直線を決定する。【選択図】図１４
2019101753.tif 000002
【特許請求の範囲】
【請求項１】
撮影した物体の形状を測定する物体形状測定装置であって、
前記撮影した物体の画像データを取得する取得手段と、
前記画像データから直線を検出する直線検出手段と、
前記直線検出手段によって検出された複数の直線の中から予め設定された形状情報に基づいて前記物体の輪郭となる直線を決定する決定手段とを備え、
前記決定手段は、前記形状情報に基づいて導出されたベクトル線と前記検出された各直線との角度差に基づいて前記物体の輪郭となる直線を決定することを特徴とする物体計測装置。
【請求項２】
前記画像データにおける座標系を、前記物体が置かれた載置台を含む平面をＸＹ平面とし且つ該ＸＹ平面に直交した方向をＺ方向とする直交座標系に変換する変換手段を更に備え、
前記決定手段は、前記直交座標系における前記ベクトル線と前記検出された各直線との角度差に基づいて前記物体の輪郭となる直線を決定することを特徴とする請求項１記載の物体計測装置。
【請求項３】
前記画像データには、少なくとも前記物体の２側面全体を示す情報が含まれることを特徴とする請求項１又は２記載の物体計測装置。
【請求項４】
前記画像データに前記決定手段によって決定された直線で構成される輪郭を重畳した重畳画像を表示する表示手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の物体計測装置。
【請求項５】
前記重畳画像における前記輪郭の修正指示を受け付けることを特徴とする請求項４記載の物体計測装置。
【請求項６】
前記重畳画像において前記物体の一部の輪郭の修正指示を受け付けた際に前記一部の輪郭と前記物体の或る面を構成する他の輪郭を前記形状情報に基づいて修正することを特徴とする請求項５記載の物体計測装置。
【請求項７】
撮影した物体の形状を測定する物体形状測定装置の制御方法であって、
前記撮影した物体の画像データを取得する取得ステップと、
前記画像データから直線を検出する直線検出ステップと、
前記直線検出ステップで検出された複数の直線の中から予め設定された形状情報に基づいて前記物体の輪郭となる直線を決定する決定ステップとを有し、
前記決定ステップは、前記形状情報に基づいて導出されたベクトル線と前記検出された各直線との角度差に基づいて前記物体の輪郭となる直線を決定することを特徴とする物体計測装置の制御方法。
【請求項８】
撮影した物体の形状を測定する物体形状測定装置の制御方法をコンピュータに実行させるプログラムであって、
前記物体形状測定装置の制御方法は、
前記撮影した物体の画像データを取得する取得ステップと、
前記画像データから直線を検出する直線検出ステップと、
前記直線検出ステップで検出された複数の直線の中から予め設定された形状情報に基づいて前記物体の輪郭となる直線を決定する決定ステップとを有し、
前記決定ステップは、前記形状情報に基づいて導出されたベクトル線と前記検出された各直線との角度差に基づいて前記物体の輪郭となる直線を決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体形状測定装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
宅配便や郵便等により荷物の配送を依頼する際、担当者が荷物の重量やサイズ（幅、奥行き、高さ）を計測し、計測結果に応じて運送料金が決定される。通常、担当者は荷物のサイズを巻尺や定規等を用いて手作業で計測するが、手作業で計測を行うと、計測作業に要する工数が増え、また、担当者による計測精度のばらつきが生じてしまう。このような問題を解決するために、従来では、荷物の形状やサイズを測定する物体形状測定装置が開発されている。物体形状測定装置は、載置台等に置かれた荷物を撮影した画像データから物体の輪郭情報を抽出し、抽出した輪郭情報からサイズを計測する（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１６５０３号公報
【特許文献２】特開２０１７−４９０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記画像データには測定対象である荷物の他に、柱や窓枠等の背景も含まれており、物体形状測定装置が背景の一部を荷物の輪郭と誤検知してしまうという問題が生じる。
【０００５】
本発明の目的は、画像データに含まれる背景に起因する物体の輪郭の誤検知を抑制することができる物体形状測定装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の物体形状測定装置は、撮影した物体の形状を測定する物体形状測定装置であって、前記撮影した物体の画像データを取得する取得手段と、前記画像データから直線を検出する直線検出手段と、前記直線検出手段によって検出された複数の直線の中から予め設定された形状情報に基づいて前記物体の輪郭となる直線を決定する決定手段とを備え、前記決定手段は、前記形状情報に基づいて導出されたベクトル線と前記検出された各直線との角度差に基づいて前記物体の輪郭となる直線を決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画像データに含まれる背景に起因する物体の輪郭の誤検知を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る物体形状測定装置としてのカメラスキャナが含まれるネットワーク構成を示す図である。
【図２】図１のカメラスキャナの構成を概略的に示す図である。
【図３】図２のカメラスキャナにおける座標系を説明するための図である。
【図４】図３における直交座標系、カメラ座標系及びカメラ撮像平面の関係を示す。
【図５】図１のカメラスキャナのコントローラ部及び距離画像センサ部の各ハードウェア構成を示すブロック図である。
【図６】図５におけるＣＰＵが実行するカメラスキャナの制御用プログラムの機能モジュールの構成を示すブロック図である。
【図７】図１のカメラスキャナによる荷物サイズの計測の手順を示すシーケンス図である。
【図８】計測対象となる物体の形状を説明するための図である。
【図９】図２の載置台の操作平面上に投影表示される画面の一例を示す図である。
【図１０】図６のメイン制御部によって実行される荷物サイズ計測処理の手順を示すフローチャートである。
【図１１】図１０の処理で用いられるデータを説明するための図である。
【図１２】図２の載置台の操作平面上に投影表示される最終確認画面の一例を示す図である。
【図１３】図１０のステップＳ１００６の荷物領域決定処理の手順を示すフローチャートである。
【図１４】図１０の処理における荷物の輪郭の決定を説明するための図である。
【図１５】図１のカメラスキャナの使用例を示す図である。
【図１６】荷物の模様に起因する荷物の輪郭の誤検知を説明するための図である。
【図１７】図１０の荷物サイズ計測処理の変形例の手順を示すフローチャートである。
【図１８】図１２の最終確認画面における荷物の輪郭の修正を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施の形態に記載されている構成によって限定されることはない。
【００１０】
図１は、本発明の実施の形態に係る物体形状測定装置としてのカメラスキャナ１０１が含まれるネットワーク構成を示す図である。図１において、カメラスキャナ１０１はホストコンピュータ１０２及びプリンタ１０３とイーサネット（登録商標）等のネットワーク１０４を介して接続されている。本実施の形態では、ホストコンピュータ１０２からの指示に応じ、カメラスキャナ１０１によって物体の形状を測定する測定-機能や、測定結果をプリンタ１０３によって出力するプリント機能が実行される。また、ホストコンピュータ１０２を介すること無くカメラスキャナ１０１へ直接に指示を行うことにより、スキャン機能やプリント機能を実行することもできる。
【００１１】
図２は、図１のカメラスキャナ１０１の構成を概略的に示す図である。図２において、カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０３、プロジェクタ２０７、及び距離画像センサ部２０８を含む。カメラスキャナ１０１の本体を構成するコントローラ部２０１、撮像を行うためのカメラ部２０２、プロジェクタ２０７（表示手段）及び距離画像センサ部２０８は互いに腕部２０３によって連結されている。腕部２０３は複数の関節を有し、各関節において屈曲されることにより、伸長自在に構成される。
【００１２】
カメラスキャナ１０１は操作平面を有する載置台２０４の脇に配置される。カメラ部２０２及び距離画像センサ部２０８は載置台２０４を指向し、カメラ部２０２は図中の破線で囲まれた操作平面上の読み取り領域２０５内の画像を読み取る。例えば、カメラ部２０２は読み取り領域２０５内に置かれた物体２０６の画像を読み取る。また、載置台２０４内にはターンテーブル２０９が設けられている。ターンテーブル２０９はコントローラ部２０１からの指示によって回転し、ターンテーブル２０９上に置かれた物体とカメラ部２０２の相対角度を変えることができる。カメラスキャナ１０１では、カメラ部２０２及び距離画像センサ部２０８が、載置台２０４の操作平面上に存在する物体を検知する検知部を構成する。カメラスキャナ１０１において、カメラ部２０２は単一解像度で画像を撮像するカメラからなるが、高解像度画像撮像と低解像度画像撮像の切り換えが可能なカメラであってもよい。なお、カメラスキャナ１０１は、載置台２０４に配置される後述のＬＣＤタッチパネル５１３（表示手段）及びスピーカ５１４を備えてもよい。さらに、カメラスキャナ１０１は、距離画像センサ部２０８以外に、周囲の環境情報を収集するための人感センサ、照度センサ、加速度センサ等の各種センサデバイスを備えてもよい。
【００１３】
図３は、図２のカメラスキャナ１０１における座標系を説明するための図である。図３において、カメラスキャナ１０１では、カメラ座標系、距離画像座標系及びプロジェクタ座標系が定義される。カメラ座標系は、カメラ部２０２が撮像する画像平面をＸＹ平面とし、且つ該画像平面に直交した方向をＺ方向として定義した座標系である。距離画像座標系は、距離画像センサ部２０８が有する後述のＲＧＢカメラ５１８が撮像する画像平面をＸＹ平面とし、且つ該画像平面に直交した方向をＺ方向として定義した座標系である。プロジェクタ座標系は、プロジェクタ２０７が画像を投影する画像平面をＸＹ平面とし、且つ該画像平面に直交した方向をＺ方向として定義した座標系である。さらに、カメラスキャナ１０１では、これらの３つの独立した座標系の３次元データを統一的に扱えるようにするために、載置台２０４を含む平面をＸＹ平面とし、且つ該ＸＹ平面に直交した方向をＺ方向とする直交座標系が定義される。
【００１４】
図４は、図３における直交座標系、カメラ座標系及びカメラ撮像平面の関係を示す。カメラスキャナ１０１では、直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］を下記式（１）によってカメラ座標系における３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］へ変換することができる。
[Xc, Yc, Zc]T = [Rc|tc][X, Y, Z, 1]T  …  （１）
【００１５】
ここで、Ｒｃは３×３の回転行列であり、ｔｃは並進ベクトルである。Ｒｃ及びｔｃは、直交座標系に対するカメラの姿勢（回転）と位置（並進）に基づいて定まる外部パラメータによって構成される。また、カメラ座標系で定義された３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を下記式（２）によって直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］へ変換することができる。
[X, Y, Z]T = [Rc-1|-Rc-1tc][Xc, Yc, Zc, 1]T  …  （２）
【００１６】
カメラ部２０２で撮影される２次元の画像平面（以下、「カメラ撮像平面」という。）は、カメラ部２０２によって３次元空間中の３次元点群の３次元情報を２次元情報に変換することによって構成される。すなわち、カメラ撮像平面は、カメラ座標系上での３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を下記式（３）によって２次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換することによって構成することができる。
λ[xp, yp, 1]T = A[Xc, Yc, Zc]T  …  （３）
【００１７】
ここで、Ａは、焦点距離と画像中心等で表現される３×３の行列であるカメラの内部パラメータである。
【００１８】
以上のように、カメラスキャナ１０１では、上記式（１），（３）を用いることによって直交座標系で表された３次元点群をカメラ座標系での３次元点群やカメラ撮像平面に変換することができる。なお、カメラスキャナ１０１では、各ハードウェアデバイスの内部パラメータ及び直交座標系に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法によって予めキャリブレーションされている。以後、本明細書において、「３次元点群」は直交座標系で表された３次元点群を示しているものとする。
【００１９】
図５は、図１のカメラスキャナ１０１のコントローラ部２０１及び距離画像センサ部２０８の各ハードウェア構成を示すブロック図である。図５において、コントローラ部２０１は、システムバス５０１に接続されたＣＰＵ５０２、ＲＡＭ５０３、ＲＯＭ５０４、ＨＤＤ５０５、ネットワークＩ／Ｆ５０６、及び画像処理プロセッサ５０７を備える。さらに、コントローラ部２０１は、カメラＩ／Ｆ５０８、ディスプレイコントローラ５０９、シリアルＩ／Ｆ５１０、オーディオコントローラ５１１、及びＵＳＢコントローラ５１２を備える。距離画像センサ部２０８は赤外線パターン投射部５１６、赤外線カメラ５１７、及びＲＧＢカメラ５１８を備える。
【００２０】
ＣＰＵ５０２はコントローラ部２０１全体の動作を制御する中央演算装置である。ＲＡＭ５０３は揮発性メモリである。ＲＯＭ５０４は不揮発性メモリであり、ＣＰＵ５０２の起動用プログラムが格納される。ＨＤＤ５０５はＲＡＭ５０３よりも大容量のハードディスクドライブ（ＨＤＤ）である。ＨＤＤ５０５にはコントローラ部２０１が実行する、カメラスキャナ１０１の制御用プログラムが格納される。
【００２１】
ＣＰＵ５０２は、電源オン等のカメラスキャナ１０１の起動時、ＲＯＭ５０４に格納される起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ５０５に格納される制御用プログラムを読み出してＲＡＭ５０３に展開する。ＣＰＵ５０２は、起動用プログラムを実行すると、続けてＲＡＭ５０３に展開された制御用プログラムを実行してコントローラ部２０１全体の動作を制御する。また、ＣＰＵ５０２は制御用プログラムの実行に用いるデータもＲＡＭ５０３に格納して読み書きを行う。ＨＤＤ５０５には制御用プログラムの実行に必要な各種設定やカメラ部２０２が撮像によって生成した画像データを格納することができ、格納されたデータ等はＣＰＵ５０２によって読み書きされる。また、ＣＰＵ５０２はネットワークＩ／Ｆ５０６を介してネットワーク１０４に接続された他の機器との通信を行う。
【００２２】
画像処理プロセッサ５０７はＲＡＭ５０３に格納された画像データを読み出して画像処理を施し、再度、ＲＡＭ５０３へ書き戻す。なお、画像処理プロセッサ５０７が実行する画像処理は、回転、変倍、色変換等である。カメラＩ／Ｆ５０８はカメラ部２０２及び距離画像センサ部２０８と接続され、ＣＰＵ５０２からの指示に応じてカメラ部２０２から広角画像データを取得するとともに距離画像センサ部２０８から距離画像データを取得してＲＡＭ５０３へ書き込む。また、カメラＩ／Ｆ５０８はＣＰＵ５０２からの制御コマンドをカメラ部２０２及び距離画像センサ部２０８へ送信し、カメラ部２０２及び距離画像センサ部２０８の設定を行う。なお、ディスプレイコントローラ５０９、シリアルＩ／Ｆ５１０、オーディオコントローラ５１１及びＵＳＢコントローラ５１２は、これらのうちの少なくとも１つがコントローラ部２０１に含まれていればよい。
【００２３】
ディスプレイコントローラ５０９はＣＰＵ５０２の指示に応じてＬＣＤタッチパネル５１３における画像データの表示を制御する。また、ディスプレイコントローラ５０９はプロジェクタ２０７に接続される。シリアルＩ／Ｆ３１０はシリアル信号の入出力を行う。シリアルＩ／Ｆ３１０はターンテーブル２０９に接続され、ＣＰＵ３０２による回転開始、回転終了、及び回転角度の指示をターンテーブル２０９へ送信する。また、シリアルＩ／Ｆ３１０はＬＣＤタッチパネル５１３に接続され、ＬＣＤタッチパネル５１３においてユーザに押下された位置の座標情報をＣＰＵ５０２に通知する。オーディオコントローラ５１１はスピーカ５１４に接続され、ＣＰＵ５０２の指示に応じて音声データをアナログ音声信号に変換し、スピーカ５１４を通じて音声を出力する。ＵＳＢコントローラ５１２はＣＰＵ５０２の指示に応じて外付けのＵＳＢデバイスの制御を行う。ＵＳＢコントローラ５１２はＵＳＢメモリやＳＤカード等の外部メモリ５１５に接続され、外部メモリ５１５へのデータの読み書きを行う。
【００２４】
距離画像センサ部２０８は赤外線によるパターン投射方式の距離画像センサからなり、距離画像データを生成する。距離画像データは複数の画素で構成され、各画素には距離画像センサ部２０８のレンズ（図示しない）中心から被写体までの距離データが設定される。赤外線パターン投射部５１６は視認できない赤外線による３次元測定パターンを対象物に投射する。赤外線カメラ５１７は対象物に投射された３次元測定パターンを読み取る。ＲＧＢカメラ５１８は可視光をＲＧＢ信号で撮影する。
【００２５】
図６は、図５におけるＣＰＵ５０２が実行するカメラスキャナ１０１の制御用プログラムの機能モジュールの構成を示すブロック図である。カメラスキャナ１０１の制御用プログラムは前述のようにＨＤＤ５０５に格納され、ＣＰＵ５０２が起動時に制御用プログラムをＲＡＭ５０３に展開して実行する。制御用プログラムが実行される際には機能構成６０１が構成される。機能構成６０１は、モジュールとして、メイン制御部６０２、画像取得部６０３、カメラ画像取得部６０４、距離画像取得部６０５、認識処理部６０６、ジェスチャー検知部６０７、及び物体検知部６０８を備える。さらに、機能構成６０１は、モジュールとして、画像処理部６０９、物体計測部６１０、データ管理部６１１、ユーザインターフェイス部６１２、表示部６１３、及びネットワーク通信部６１４を備える。
【００２６】
メイン制御部６０２は制御の中心モジュールであり、機能構成６０１が備える他の各モジュールを制御する。画像取得部６０３は画像入力処理を行うモジュールであり、カメラ画像取得部６０４及び距離画像取得部６０５によって構成される。カメラ画像取得部６０４はカメラＩ／Ｆ５０８を介してカメラ部２０２が出力する広角画像データを取得し、ＲＡＭ５０３へ格納する。距離画像取得部６０５はカメラＩ／Ｆ５０８を介して距離画像センサ部２０８が出力する距離画像データを取得し、ＲＡＭ５０３へ格納する。認識処理部６０６はカメラ画像取得部６０４が取得する広角画像データ及び距離画像取得部６０５が取得する距離画像データから載置台２０４の操作平面上の物体の動きを検知して認識するモジュールである。認識処理部６０６はジェスチャー検知部６０７及び物体検知部６０８によって構成される。ジェスチャー検知部６０７は画像取得部６０３から載置台２０４の操作平面上の画像を取得し続け、タッチ等のユーザのジェスチャー操作を検知する。ジェスチャー検知部６０７はユーザのジェスチャー操作を検知すると、この旨をメイン制御部６０２に通知する。物体検知部６０８は、画像取得部６０３から載置台２０４の操作平面を撮像した画像を取得して載置台２０４の操作平面上に存在する物体を検知する。また、物体検知部６０８は、載置台２０４の操作平面上に物体が置かれるタイミング、物体が置かれて静止するタイミング、又は物体が取り除かれるタイミング等も検知する。
【００２７】
画像処理部６０９は、カメラ部２０２及び距離画像センサ部２０８から取得した画像を画像処理プロセッサ５０７で解析するために用いられ、物体計測部６１０や図示しない各種画像処理モジュールによって構成される。物体計測部６１０は載置台２０４の操作平面上に置かれた物体２０６を計測するモジュールである。前述のジェスチャー検知部６０７や物体計測部６１０は画像処理部６０９の各種画像処理モジュールを利用して実現される。
【００２８】
データ管理部６１１は、制御用プログラムを実行して生成された作業データ等をＨＤＤ５０５の所定の領域へ格納し、上記作業データ等を管理する。ユーザインターフェイス部６１２はメイン制御部６０２からの要求に応じてメッセージやボタン等のＧＵＩ部品を生成し、生成したＧＵＩ部品の表示を表示部６１３に要求する。表示部６１３はディスプレイコントローラ５０９を介して、要求されたＧＵＩ部品の表示をプロジェクタ２０７又はＬＣＤタッチパネル５１３に実行させる。プロジェクタ２０７は載置台２０４の操作平面に向けて設置されるため、載置台２０４の操作平面上にＧＵＩ部品が投影表示される。また、ユーザインターフェイス部６１２は、ジェスチャー検知部６０７が認識したユーザのタッチ等のジェスチャー操作やＬＣＤタッチパネル５１３における入力操作、さらに各操作が行われた座標をメイン制御部６０２経由で受信する。また、ユーザインターフェイス部６１２は、描画されているＧＵＩ部品の座標と操作座標を対応させて操作されたＧＵＩ部品と操作内容を判定し、この操作内容をメイン制御部６０２に通知する。ネットワーク通信部６１４は、ネットワークＩ／Ｆ５０６を介してネットワーク１０４に接続された他の機器とＴＣＰ／ＩＰによる通信を行う。
【００２９】
図７は、図１のカメラスキャナ１０１による荷物サイズの計測の手順を示すシーケンス図である。図７の処理では、一例として、図８の荷物８０１のサイズの計測を行う場合について説明する。なお、図７の処理では、計測対象の物体の形状が直方体であることがメイン制御部６０２に既に通知され、また、計測開始を指示するための図９（ａ）のＵＩ画面９０１がプロジェクタ２０７によって載置台２０４の操作平面上に投影表示されていることとする。ＵＩ画面９０１は実行ボタン９０２及び終了ボタン９０３を含む。
【００３０】
図７において、ジェスチャー検知部６０７は、画像取得部６０３から取得した広角画像データ及び距離画像データに基づいてＵＩ画面９０１におけるジェスチャー検知処理を行う。ジェスチャー検知部６０７は、ＵＩ画面９０１において、図９（ｂ）に示すようなユーザによる実行ボタン９０２のジェスチャー操作を検知すると、この旨を示すジェスチャー通知をメイン制御部６０２に送信する（ステップＳ７０１）。実行ボタン９０２のジェスチャー操作を検知した旨を示すジェスチャー通知を受信したメイン制御部６０２は、図９（ｃ）に示すように、荷物を載置する位置を示す荷物計測領域９０４を載置台２０４の操作平面上に投影表示する。また、メイン制御部６０２は物体検知部６０８に物体検知処理の開始を要求する（ステップＳ７０２）。
【００３１】
物体検知処理の開始を要求された物体検知部６０８は、物体検知処理を開始し、画像取得部６０３から広角画像データ及び距離画像データを所定の間隔で取得する。物体検知部６０８は取得した広角画像データ及び距離画像データに基づいて荷物計測領域９０４に物体が所定の期間置かれ続けているか否かを判別する。物体検知部６０８は、例えば、図９（ｄ）に示すように、荷物８０１が荷物計測領域９０４に置かれ、さらに荷物８０１が所定の期間荷物計測領域９０４に静止した状態であることを検知すると、この旨を示す静止検知通知をメイン制御部６０２に送信する（ステップＳ７０３）。
【００３２】
メイン制御部６０２は、静止検知通知を受信すると、物体計測部６１０に荷物８０１のサイズの計測処理の開始を要求する（ステップＳ７０４）。また、メイン制御部６０２は、図９（ｅ）に示すように、荷物８０１のサイズを計測中である旨を示すメッセージ９０５を載置台２０４の操作平面上に投影表示する。さらに、メイン制御部６０２はユーザインターフェイス部６１２に対しＧＵＩ部品更新処理を要求する。ＧＵＩ部品更新処理を要求されたユーザインターフェイス部６１２は、ＧＵＩ部品更新処理を行い（ステップＳ７０５）、図９（ｆ）に示すように、載置台２０４の操作平面上の表示内容を荷物８０１のサイズの計測結果を示すメッセージ９０６に更新する。
【００３３】
載置台２０４の操作平面上にメッセージ９０６が投影表示されると、メイン制御部６０２は物体検知部６０８に物体検知処理の開始を要求する（ステップＳ７０６）。物体検知部６０８、図９（ｇ）に示すように、荷物８０１が荷物計測領域９０４から取り除かれたことを検知すると、この旨を示す除去検知通知をメイン制御部６０２に送信する（ステップＳ７０７）。除去検知通知を受信したメイン制御部６０２は、ユーザインターフェイス部６１２にＧＵＩ部品更新処理を要求する。ＧＵＩ部品更新処理を要求されたユーザインターフェイス部６１２は、ＧＵＩ部品更新処理を行い（ステップＳ７０８）、載置台２０４の操作平面上の表示内容を、荷物８０１のサイズの再計測や計測処理の終了を指示する操作ボタンを含む最終確認画面に更新する。その後、カメラスキャナ１０１は本処理を終了する。
【００３４】
図１０は、図６のメイン制御部６０２によって実行される荷物サイズ計測処理の手順を示すフローチャートである。図１０の処理では、ＵＩ画面９０１が載置台２０４の操作平面上に投影表示されていることを前提とする。
【００３５】
図１０において、メイン制御部６０２は、ジェスチャー検知部６０７によって実行ボタン９０２のジェスチャー操作が検知されると（ステップＳ１００１でＹＥＳ）、画像取得部６０３から距離画像データ及び広角画像データを取得する（ステップＳ１００２）。ステップＳ１００２では、メイン制御部６０２は、同じ撮影タイミングの距離画像データ及び広角画像データを取得する。なお、本実施の形態では、ステップＳ１００１において、メイン制御部６０２が、図１１（ａ）の距離画像データ１１０１及び図１１（ｂ）の広角画像データ１１０３を画像取得部６０３から取得したこととする。距離画像データ１１０１及び広角画像データ１１０３は、荷物８０１の２側面がカメラスキャナ１０１に正対するように荷物計測領域９０４に置かれた際に撮影された画像データである。距離画像データ１１０１は荷物８０１の一部の距離データ１１０２を含む。広角画像データ１１０３は、載置台２０４に置かれた荷物８０１の全体像を示す荷物領域１１０４、及び窓枠や柱等の背景１１０５を含む。
【００３６】
次いで、メイン制御部６０２は物体計測部６１０により、ステップＳ１００３〜Ｓ１００５の第１の荷物領域抽出処理を行う。具体的に、メイン制御部６０２は、距離画像データ１１０１を直交座標系の３次元点群に変換する（ステップＳ１００３）。次いで、メイン制御部６０２は、変換した３次元点群の中から所定のＺ値以上、つまり、載置台２０４の操作平面から所定の高さ以上の３次元点群１１０６を抽出する（ステップＳ１００４）。本実施の形態では、３次元点群１１０６は、後述する第２の荷物領域抽出処理における荷物の側面領域の抽出にも利用されるので、側面領域をより正確に抽出するために、荷物８０１を示す３次元点を或る程度の数以上含んでいる必要がある。このため、メイン制御部６０２は、３次元点群１１０６における３次元点の数が予め設定された所定数以上であるか否かを判別する（ステップＳ１００５）。
【００３７】
ステップＳ１００５の判別の結果、３次元点群１１０６における３次元点の数が所定数以上であるとき、メイン制御部６０２は物体計測部６１０により、ステップＳ１００６，Ｓ１００７の第２の荷物領域抽出処理を行う。具体的に、メイン制御部６０２は後述する図１３の荷物領域決定処理を行って（ステップＳ１００６）、例えば、図１１（ｄ）のように、広角画像データ１１０３において、頂点Ａ〜Ｆで構成される荷物８０１の輪郭を決定する。次いで、メイン制御部６０２は荷物８０１のサイズを計測可能であるか否かを判別する（ステップＳ１００７）。ここで、広角画像データ１１０３において、頂点Ａ〜Ｃの全てが抽出され、且つ頂点Ｄ〜Ｆの何れか１点が抽出されると、メイン制御部６０２は荷物８０１の幅、奥行き、高さを特定可能となる。このため、ステップＳ１００７では、広角画像データ１１０３において、頂点Ａ〜Ｃの全てが抽出され、且つ頂点Ｄ〜Ｆの何れか１点が抽出された場合、メイン制御部６０２は荷物８０１のサイズを計測可能であると判別する。一方、広角画像データ１１０３における頂点Ａ〜Ｃの何れか、又は頂点Ｄ〜Ｆの全てが抽出されない場合、メイン制御部６０２は、荷物８０１の幅、奥行き、高さを特定できないので、荷物８０１のサイズを計測不可能であると判別する。
【００３８】
ステップＳ１００７の判別の結果、荷物８０１のサイズを計測可能であるとき、メイン制御部６０２は広角画像データ１１０３における荷物領域１１０４から荷物８０１のサイズを計測する（ステップＳ１００８）。例えば、メイン制御部６０２は直交座標系に変換した頂点Ａ〜Ｃの各座標から荷物８０１の底面積を算出する。また、メイン制御部６０２は直交座標系に変換した頂点Ｄ〜Ｆの各座標から荷物８０１の高さの平均値を算出する。メイン制御部６０２は上記底面積及び上記高さの平均値を用いて荷物８０１のサイズを算出する。
【００３９】
次いで、メイン制御部６０２は、図９（ｆ）に示すように、載置台２０４の操作平面上に荷物８０１のサイズの計測結果を示すメッセージ９０６を投影表示する（ステップＳ１００９）。次いで、メイン制御部６０２は、載置台２０４の操作平面上からユーザによって荷物８０１が取り除かれると、ユーザインターフェイス部６１２にＧＵＩ部品更新処理を要求する。これにより、載置台２０４の操作平面には、図１２の最終確認画面１２００が投影表示される。最終確認画面１２００は、荷物８０１のサイズの計測結果の他に、輪郭情報１２０１、再計測ボタン１２０２、及び終了ボタン１２０３を備える。輪郭情報１２０１は、広角画像データ１１０３にステップＳ１００６において決定された輪郭及び該輪郭を構成する複数の頂点を重畳した重畳画像１２０４を含む。
【００４０】
次いで、メイン制御部６０２は最終確認画面１２００におけるユーザ操作を検知すると、ユーザ操作の内容を確認する（ステップＳ１０１０）。
【００４１】
ステップＳ１０１０において、上記ユーザ操作が終了ボタン１２０３のジェスチャー操作であるとき、メイン制御部６０２は本処理を終了する。
【００４２】
ステップＳ１００５の判別の結果、３次元点群１１０６における３次元点の数が所定数未満であるとき、ステップＳ１００７の判別の結果、荷物８０１のサイズを計測不可能であるとき、又はステップＳ１０１０において、上記ユーザ操作が再計測ボタン１２０２のジェスチャー操作であるとき、メイン制御部６０２はステップＳ１００２の処理に戻る。
【００４３】
図１３は、図１０のステップＳ１００６の荷物領域決定処理の手順を示すフローチャートである。
【００４４】
図１３において、メイン制御部６０２はステップＳ１３０１〜Ｓ１３０３において荷物８０１の輪郭を構成する底面辺の検出を行う。ステップＳ１３０１〜Ｓ１３０３では、３次元点群のクラスタリングについてPointCloudLibraryのSegmentation関数等が用いられ、また、各クラスの点群毎に最少２乗法等を用いて平面検出が行われる。底面辺の検出では、具体的に、メイン制御部６０２は物体計測部６１０により、３次元点群１１０６から、図１４（ａ）の３次元平面１４０１、１４０２を抽出する（ステップＳ１３０１）。また、メイン制御部６０２は、３次元平面１４０１、１４０２の各々における直交座標系Ｚ＝０、つまり、載置台２０４の操作平面上となる３次元直線を取得する（ステップＳ１３０２）。次いで、メイン制御部６０２はステップＳ１３０２の処理によって得られた２つの３次元直線を事前にキャリブレーション済みのパラメータを用いて、図１４（ｂ）に示すように、広角画像データ１１０３上に直線１４０３、１４０４として射影する（ステップＳ１３０３）。直線１４０３、１４０４の交叉箇所から画像端までが荷物８０１の底面辺となりうる。メイン制御部６０２は、ステップＳ１３０４〜Ｓ１３０７において荷物８０１の輪郭を構成する側面辺を検出し、側面辺の検出結果に基づいて荷物８０１の底面辺を確定する。
【００４５】
具体的に、メイン制御部６０２は広角画像データ１１０３から直線検出を行い、荷物８０１の側面辺の候補となる直線１４０５〜１４０８を抽出する（ステップＳ１３０４）。ステップＳ１３０４では、メイン制御部６０２はHough変換等を用いて複数の直線を抽出する。なお、ステップＳ１３０４では、メイン制御部６０２は広角画像データ１１０３において水平に近い直線等、広角画像データ１１０３における直線の角度から明らかに荷物８０１の側面辺ではないと判別可能な直線を側面辺の候補となる直線として抽出しない。
【００４６】
ここで、直線１４０５〜１４０８の中から荷物８０１の側面辺となる直線を決定する際に広角画像データ１１０３において基準面、例えば、載置台領域に対する各直線１４０５〜１４０８の角度を利用することが考えられる。ところが、広角画像データ１１０３における各直線１４０５〜１４０８の角度をそのまま利用すると、荷物８０１の側面辺を特定するのが困難な場合がある。ここで、広角画像データは広角カメラであるカメラ部２０２によって撮影された画像データである。広角画像データでは、同じ荷物８０１が撮影されても、例えば、荷物領域１１０４や図１４（ｄ）の荷物領域１４０９のように、荷物８０１とカメラ部２０２との距離や角度等の関係に依存して、荷物領域の成す側面辺の角度が変わる。このため、広角画像データにおける各直線１４０５〜１４０８の角度をそのまま利用して、荷物８０１の側面辺を特定するのが困難となる。これに対し、本実施の形態では、以降の処理において、荷物８０１が直方体であり、直方体の各辺の交叉角度が直交座標系において３次元的に直角をなすことを利用する。
【００４７】
次いで、メイン制御部６０２は荷物８０１の底面の頂点候補となる点を抽出する（ステップＳ１３０５）。ステップＳ１３０５では、メイン制御部６０２は、抽出した各直線１４０５〜１４０８と直線１４０３、１４０４との図１４（ｃ）の交点１４１０〜１４１３を抽出する。メイン制御部６０２は各交点１４１０〜１４１３の直交座標系の３次元座標を算出する。メイン制御部６０２は、直交座標系の３次元座標［Ｘ，Ｙ，Ｚ］とカメラ画像座標［ｘｐ、ｙｐ］との変換式である下記式（４）を用いて各交点１４１０〜１４１３の直交座標系の３次元座標を算出する。
λ[xp, yp, 1]T = A[Rc|tc][X, Y, Z, 1]T  …  （４）
【００４８】
式（４）は式（１）、式（３）、及び既知のキャリブレーションパラメータを用いで導出される。メイン制御部６０２は式（４）のｘｐ、ｙｐに各交点１４１０〜１４１３のカメラ画像座標を代入し、また、式（４）のＺに載置台２０４の操作平面を意味する「０」を代入する。これにより、各交点１４１０〜１４１３の直交座標系の３次元座標が算出される。算出された各交点１４１０〜１４１３の直交座標系の３次元座標はＲＡＭ５０３に記録される。
【００４９】
次いで、メイン制御部６０２は側面辺の評価処理を行う（ステップＳ１３０６）。ステップＳ１３０６では、メイン制御部６０２は、図１４（ｅ）に示すように、各交点１４１０〜１４１３を起点とするベクトル線１４１４〜１４１７を広角画像データ１１０３に射影する。ベクトル線１４１４〜１４１７は、直交座標系において各交点１４１０〜１４１３からＺ軸の正方向に垂直に伸びる直線がカメラ画像座標系に変換された直線である。ベクトル線１４１４〜１４１７は各交点１４１０〜１４１３の直交座標系の３次元座標及びベクトル線の長さを示す所定の高さＨを式（４）に代入して導出される。
【００５０】
また、ステップＳ１３０６では、メイン制御部６０２は、同じ交点を通過するベクトル線１４１４〜１４１７と直線１４０５〜１４０８との角度差を求め、角度差に基づいて直線１４０５〜１４０８の角度評価値を求める。ここで、荷物８０１が直方体である場合、荷物８０１の側面辺は載置台２０４の操作平面から直交座標系のＺ正方向に垂直に伸びる直線となる。つまり、複数の直線１４０５〜１４０８のうち、同じ交点を通過するベクトル線との角度差がなく、上記ベクトル線と略平行な直線が荷物８０１の側面辺である可能性が極めて高い。本実施の形態では、例えば、直線１４０５，１４０６は、同じ交点１４１０，１４１１を通過するベクトル線１４１４，１４１５との角度差が極めて小さいので、角度評価値が高い。一方、直線１４０７，１４０８は、同じ交点１４１２，１４１３を通過するベクトル線１４１６，１４１７との角度差が大きいので、角度評価値が低い。
【００５１】
さらに、ステップＳ１３０６では、メイン制御部６０２は、３次元点群１１０６と各直線１４０５〜１４０８が通過する交点１４１０〜１４１３の直交座標系の３次元座標との距離差に基づいて各交点１４１０〜１４１３の頂点評価値を求める。例えば、交点１４１０〜１４１２が荷物８０１を示す領域の一部であるとすると、３次元点群１１０６との距離差は小さくなるので、交点１４１０〜１４１２の頂点評価値は高い。一方、交点１４１３が荷物８０１を示す領域ではないとすると、３次元点群１１０６との距離差が大きくなるので、交点１４１３の頂点評価値は低い。メイン制御部６０２は、各直線１４０５〜１４０８に対し、角度評価値及び頂点評価値に予め定めた重み付けを行い、重み付けを行った結果の和を３次元評価値として算出する。
【００５２】
その後、ステップＳ１３０６では、メイン制御部６０２は、直線１４０５〜１４０８のうち、３次元評価値が所定の閾値以上である直線に対し、画像評価値を求める。画像評価値は対象となる直線上に強くて長いエッジが存在するか否かを評価するための評価値である。本実施の形態では、Sobel法やCanny法等を用いて広角画像データ１１０３中のエッジを検出する。画像評価値は対象となる直線上に連続して存在するエッジの割合等から求められる。メイン制御部６０２は上述の処理によって得られた画像評価値、３次元評価値、さらに予め規定された重み付け定数Ｗ１，Ｗ２を下記式（５）に代入して形状評価値を算出する。
形状評価値＝（Ｗ１×画像評価値）＋（Ｗ２×３次元評価値）  …（５）
【００５３】
次いで、メイン制御部６０２は直線１４０５〜１４０８の中から荷物８０１の側面辺を決定する（ステップＳ１３０７）。具体的に、メイン制御部６０２は直線１４０５〜１４０８のうち形状評価値が最も高い直線１４０５，１４０６を荷物８０１の側面辺に決定する。上述した処理により、検出した複数の直線が予め定めた形状と３次元的に類似するかを局所的に判定することで、図１４（ｃ）のように背景情報等に影響されて複数の直線が存在しても、荷物８０１の側面辺を決定することが可能となる。その後、メイン制御部６０２は、図１４（ｆ）に示す、直線１４０３と直線１４０５との交点１４１８、直線１４０４と直線１４０６との交点１４１９、及び直線１４０３と直線１４０４との交点１４２０を特定する。交点１４１８，１４１９，１４２０は荷物８０１の輪郭の底面を構成する頂点であり、交点１４１８，１４１９，１４２０と直線１４０３，１４０４により、荷物８０１の輪郭の底面辺が確定される。メイン制御部６０２は交点１４１８，１４１９，１４２０のカメラ画像座標及び直交座標系の３次元座標の両方を、荷物８０１の底面を構成する頂点情報としてＲＡＭ５０３に記録する。
【００５４】
その後、メイン制御部６０２は、ステップＳ１３０８〜Ｓ１３１１において荷物８０１の輪郭を構成する上面辺の検出を行う。
【００５５】
具体的に、メイン制御部６０２は広角画像データ１１０３から直線検出を行い、荷物８０１の上面辺の候補となる図１４（ｇ）の直線１４２１〜１４２４を抽出する（ステップＳ１３０８）。ステップＳ１３０８では、ステップＳ１３０４の処理と同様の処理が行われる。
【００５６】
次いで、メイン制御部６０２は、直線１４２１〜１４２４の中から２つの直線を任意に選択し（ステップＳ１３０９）、選択した直線の組み合わせの評価処理を行う（ステップＳ１３１０）。ステップＳ１３０９，Ｓ１３１０の処理は、直線１４２１〜１４２４の全ての組み合わせに対して行われ、以下では、一例として、直線１４２１，１４２３が選択された場合について説明する。このとき、側面辺に決定された直線１４０５と直線１４２１との図１４（ｈ）の交点１４２５、側面辺に決定された直線１４０６と直線１４２３との交点１４２６、及び直線１４２１と直線１４２３との交点１４２７が得られる。
【００５７】
ここで、仮に直線１４２１，１４２３が荷物８０１の上面辺である場合、直交座標系において、直線１４２１，１４２３と底面辺とが略平行となる。これを利用して、ステップＳ１３１０の評価処理では、メイン制御部６０２は直線１４２１，１４２３の組の角度評価値を求める。具体的に、メイン制御部６０２は、交点１４２５，１４２６を起点とし且つ底面辺に決定された直線１４０３，１４０４と平行な図１４（ｉ）のベクトル線１４２８，１４２９を広角画像データ１１０３に射影する。ベクトル線１４２８，１４２９は、ステップＳ１３０７の処理においてＲＡＭ５０３に記録された底面領域を構成する頂点情報及び所定のキャリブレーションパラメータを用いて導出される。角度評価値は、組となる直線の両方が同じ交点を通過するベクトル線と略平行である場合に高くなりまた、組となる直線の少なくとも一方が同じ交点を通過するベクトル線と略平行でない場合に低くなる。例えば、直線１４２１，１４２３の組では、直線１４２３が同じ交点１４２６を通過するベクトル線１４２９と略平行でないので、直線１４２１，１４２３の組の角度評価値は低くなる。
【００５８】
また、ステップＳ１３１０の評価処理では、メイン制御部６０２は、直方体の各側面辺の長さが同じになるという特性を利用して頂点評価値を求める。頂点評価値を求めるために、メイン制御部６０２は、選択した２つの直線１４２１，１４２３が通過する交点１４２５〜１４２７の各カメラ座標を直交座標系の３次元座標に変換して、直交座標系における交点１４２５〜１４２７の各々のＺ値を求める。本実施の形態では、求めた各Ｚ値の差が所定の閾値以下である場合、各側面辺の長さが同じである直方体の形状に近いと判断され、頂点評価値が高くなる。一方、求めた各Ｚ値の差が所定の閾値より大きい場合、直方体の形状ではないと判断され、頂点評価値が低くなる。
【００５９】
さらに、ステップＳ１３１０の評価処理では、メイン制御部６０２は求めた角度評価値及び頂点評価値に対して予め定めた所定の重み付けを行い、重み付けを行った結果の和を求めて、３次元評価値を算出する。その後、メイン制御部６０２はステップＳ１３０６の処理と同様に、画像評価値を求め、式（５）に３次元評価値及び画像評価値を代入して直線１４２１，１４２３の組の形状評価値を算出する。メイン制御部６０２は直線１４２１〜１４２４の全ての組み合わせの形状評価値を算出する。
【００６０】
次いで、メイン制御部６０２は複数の直線１４２１〜１４２４の中から荷物８０１の上面辺を決定する（ステップＳ１３１１）。具体的に、メイン制御部６０２は形状評価値が最も高い組み合わせの直線を荷物８０１の上面辺に決定する。例えば、広角画像データ１１０３において検出したエッジのみで上面辺を決定する場合、荷物８０１の上面辺でないにも関わらず、エッジとしての評価が高い直線１４２３等が荷物８０１の上面辺として検出される可能性がある。これに対し、本実施の形態では、エッジ情報だけでなく、予め定めた直方体との類似性を評価することにより、図１４（ｊ）に示すように、荷物８０１の形状に合致した上面辺を検出することが可能となる。その後、メイン制御部６０２は本処理を終了する。
【００６１】
上述した実施の形態によれば、予め設定された形状情報に基づいて導出されたベクトル線１４１４〜１４１７，１４２８〜１４２９と検出された直線１４０５〜１４０８，１４２１〜１４２４との角度差に基づいて荷物８０１の輪郭となる直線が決定される。これにより、直線１４０５〜１４０８，１４２１〜１４２４の中から荷物８０１の形状と合致する直線を特定することができ、もって、広角画像データ１１０３に含まれる背景１１０５に起因する荷物８０１の輪郭の誤検知を抑制することができる。
【００６２】
また、上述した実施の形態では、直交座標系におけるベクトル線１４１４〜１４１７，１４２８〜１４２９と検出された各直線１４０５〜１４０８，１４２１〜１４２４との角度差に基づいて荷物８０１の輪郭となる直線が決定される。これにより、荷物８０１とカメラ部２０２との距離や角度等の関係に依存して広角画像データにおける荷物領域の成す側面辺の角度が変わっても、直線１４０５〜１４０８，１４２１〜１４２４の中から荷物８０１の形状と合致する直線を特定することができる。
【００６３】
さらに、上述した実施の形態では、広角画像データ１１０３には、少なくとも荷物８０１の２側面全体を示す情報が含まれる。これにより、荷物８０１の底面及び高さを測定することができ、もって、荷物８０１のサイズを計測することができる。
【００６４】
上述した実施の形態では、広角画像データ１１０３にステップＳ１００６において決定された輪郭及び該輪郭を構成する複数の頂点を重畳した重畳画像１２０４が表示される。これにより、ステップＳ１００６において決定した荷物８０１の輪郭情報が妥当であるか否かをユーザが容易に判断することができる。
【００６５】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、直交座標系に変換した頂点Ａ〜Ｆの外接矩形を求めて荷物８０１のサイズを計測してもよい。
【００６６】
また、上述した実施の形態では、側面辺及び上面辺の各検出において、角度評価値及び頂点評価値の両方を用いる場合について説明したが、角度評価値及び頂点評価値の何れか一方のみを用いて側面辺及び上面辺の各検出を行っても良い。
【００６７】
さらに、上述した実施の形態では、荷物８０１の形状は直方体に限られず、直交座標系において載置台２０４の操作平面との角度が既知な形状、例えば、多角錐であっても良い。
【００６８】
上述した実施の形態では、図１５に示すように、荷物の計測操作を行う担当者１５０１と顧客１５０２とが対面するような対面用端末として利用しても良い。
【００６９】
また、上述した実施の形態では、計測処理の開始等の操作を行う操作画面や、計測結果といった計測関連情報を載置台２０４の操作平面上に投影表示する場合について説明したが、これに限られない。例えば、ＬＣＤタッチパネル５１３や図示しない出力装置に上記操作画面や計測関連情報を表示しても良い。
【００７０】
上述した実施の形態では、最終確認画面１２００において、重畳画像１２０４に含まれる頂点の位置の修正指示を受け付けても良い。
【００７１】
上述した図１０の処理では、広角画像データ１１０３における背景１１０５の影響を受けることなく、荷物８０１の輪郭を検出することが可能である。ところが、例えば、図１６（ａ）に示すように、荷物８０１に該荷物８０１の上面辺と略平行な模様１６０１が存在すると、図１６（ｂ）に示すように、模様１６０１を荷物８０１の上面辺として誤検出してしまうことがある。これに対し、本実施の形態では、最終確認画面１２００において、重畳画像１２０４に含まれる頂点の位置の修正指示を受け付ける。
【００７２】
図１７は、図１０の荷物サイズ計測処理の変形例の手順を示すフローチャートである。図１７の処理でも、ＵＩ画面９０１が載置台２０４の操作平面上に投影表示されていることを前提とする。
【００７３】
図１７において、メイン制御部６０２はステップＳ１００１〜Ｓ１０１０の処理を行う。
【００７４】
ステップＳ１０１０において、上記ユーザ操作が終了ボタン１２０３のジェスチャー操作であるとき、メイン制御部６０２は本処理を終了する。また、ステップＳ１０１０において、上記ユーザ操作が再計測ボタン１２０２のジェスチャー操作であるとき、メイン制御部６０２はステップＳ１００２の処理に戻る。
【００７５】
ステップＳ１０１０において、上記ユーザ操作が輪郭情報１２０１における頂点の位置の修正を指示するジェスチャー操作であるとき、メイン制御部６０２は修正処理を行う（ステップＳ１７０１）。例えば、ユーザが、図１８（ａ）及び図１８（ｂ）のように、頂点Ｄの位置を修正した場合、荷物８０１の形状が直方体であることを利用して、頂点Ｄと同じ高さとなる他の頂点を連動して修正する。具体的に、直交座標系において、上面辺を構成する頂点Ｅ，Ｆが頂点Ｄと同じ高さになるように、頂点Ｄに連動させて頂点Ｅ，Ｆの位置を修正する（例えば、図１８（ｃ）参照）。より具体的に、メイン制御部６０２は、式（４）の関係を利用し、底面辺を構成する頂点Ａの直交座標系の３次元座標と、頂点Ｄのカメラ画像座標とを参照することにより、修正後の頂点Ｄの直交座標系の３次元座標を求める。さらに、メイン制御部６０２は、頂点Ｅ、Ｆが頂点Ｄと同じ高さとなった時のカメラ画像座標を同様に式（４）の関係によって求め、求めた結果を用いて頂点Ｅ，Ｆの位置を修正する。その後、メイン制御部６０２はステップＳ１００５に戻り、荷物８０１の再計測を行う。
【００７６】
上述した実施の形態では、重畳画像１２０４において荷物８０１の頂点Ｄの修正指示を受け付けた際に頂点Ｄと荷物８０１の上面を構成する頂点Ｅ，Ｆが形状情報に基づいて修正される。すなわち、頂点Ｄ〜Ｆで構成される荷物８０１の上面の輪郭を修正する際にユーザが頂点Ｄ〜Ｆの何れか１つの修正指示を行うだけで、カメラスキャナ１０１は荷物８０１の上面の輪郭の修正指示として受け付ける。これにより、ユーザによる修正指示の手間を軽減することができる。
【００７７】
上述した実施の形態では、荷物８０１の形状は直方体に限られず、直交座標系において載置台２０４の操作平面との角度が予め与えているのであれば、上記角度に合うように連動して修正してもよい。
【００７８】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１０１  カメラスキャナ
２０７  プロジェクタ
５１３  ＬＣＤタッチパネル
６０２  メイン制御部
６０３  画像取得部
６０８  物体検知部
６１０  物体計測部
１１０３  広角画像データ
１４１４〜１４１７，１４２８，１４２９  ベクトル線
１４０５〜１４０８，１４２１〜１４２４  直線
１２０４  重畳画像
【図１】
2019101753.tif 000003
【図２】
2019101753.tif 000004
【図３】
2019101753.tif 000005
【図４】
2019101753.tif 000006
【図５】
2019101753.tif 000007
【図６】
2019101753.tif 000008
【図７】
2019101753.tif 000009
【図８】
2019101753.tif 000010
【図９】
2019101753.tif 000011
【図１０】
2019101753.tif 000012
【図１１】
2019101753.tif 000013
【図１２】
2019101753.tif 000014
【図１３】
2019101753.tif 000015
【図１４】
2019101753.tif 000016
【図１５】
2019101753.tif 000017
【図１６】
2019101753.tif 000018
【図１７】
2019101753.tif 000019
【図１８】
2019101753.tif 000020