(57)【要約】【課題】現実空間と同じスケールの３次元形状を簡易な作業により再現する。【解決手段】入力部１ａには、対象物３とマーカ４ａ，４ｂとが撮影された動画像が入力される。演算部１ｂは、入力された動画像に基づいて、対象物３およびマーカ４ａ，４ｂの３次元形状を示す第１の３次元座標を算出する。また、演算部１ｂは、第１の３次元座標に基づいてマーカ４ａ，４ｂの位置を検出する。そして、演算部１ｂは、マーカ４ａ，４ｂの位置の検出結果に基づくマーカ４ａ，４ｂの間の距離Ａと、現実空間におけるマーカ４ａ，４ｂの間の距離Ｂとの比率に基づいて、第１の３次元座標を、長さの単位が現実空間と同じ座標空間における第２の３次元座標に変換する。【選択図】図１
2019207531.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
対象物と複数のマーカとが撮影された動画像を取得し、
前記動画像に基づいて、前記対象物および前記複数のマーカの３次元形状を示す第１の３次元座標を算出し、
前記第１の３次元座標に基づいて前記複数のマーカの位置を検出し、
前記複数のマーカの位置の検出結果に基づく前記複数のマーカの間の距離と、現実空間における前記複数のマーカの間の距離との比率に基づいて、前記第１の３次元座標を、長さの単位が前記現実空間と同じ座標空間における第２の３次元座標に変換する、
処理を実行させる画像処理プログラム。
【請求項２】
前記現実空間における前記複数のマーカの間の相対位置があらかじめ決められており、前記相対位置を示す位置情報が記憶部に記憶され、
前記第２の３次元座標への変換では、前記位置情報に基づいて前記現実空間における前記複数のマーカの間の距離を算出する、
請求項１記載の画像処理プログラム。
【請求項３】
前記コンピュータに、
前記第２の３次元座標に基づいて、前記対象物の体積を計測する、
処理をさらに実行させる請求項１または２記載の画像処理プログラム。
【請求項４】
前記複数のマーカとして３つ以上のマーカが用いられ、
前記コンピュータに、
前記複数のマーカの高さを示す高さ情報を取得し、
前記高さ情報に基づき、前記第２の３次元座標を、前記複数のマーカの高さが０になるように前記第２の３次元座標に基づく３次元形状を回転させたときの当該３次元形状を示す第３の３次元座標に変換し、
前記第３の３次元座標に基づいて前記対象物の体積を計測する、
処理をさらに実行させる請求項１または２記載の画像処理プログラム。
【請求項５】
前記第２の３次元座標への変換では、
前記複数のマーカの位置の検出結果に基づいて、前記複数のマーカを組み合わせて得られる複数のマーカペアの中から、マーカ間距離が最大のマーカペアを抽出し、
抽出されたマーカペアについてのマーカ間距離と、前記現実空間における前記抽出されたマーカペアについてのマーカ間距離との比率に基づいて、前記第１の３次元座標を前記第２の３次元座標に変換する、
請求項４記載の画像処理プログラム。
【請求項６】
コンピュータが、
対象物と複数のマーカとが撮影された動画像を取得し、
前記動画像に基づいて、前記対象物および前記複数のマーカの３次元形状を示す第１の３次元座標を算出し、
前記第１の３次元座標に基づいて前記複数のマーカの位置を検出し、
前記複数のマーカの位置の検出結果に基づく前記複数のマーカの間の距離と、現実空間における前記複数のマーカの間の距離との比率に基づいて、前記第１の３次元座標を、長さの単位が前記現実空間と同じ座標空間における第２の３次元座標に変換する、
画像処理方法。
【請求項７】
対象物と複数のマーカとが撮影された動画像が入力される入力部と、
前記動画像に基づいて、前記対象物および前記複数のマーカの３次元形状を示す第１の３次元座標を算出し、前記第１の３次元座標に基づいて前記複数のマーカの位置を検出し、前記複数のマーカの位置の検出結果に基づく前記複数のマーカの間の距離と、現実空間における前記複数のマーカの間の距離との比率に基づいて、前記第１の３次元座標を、長さの単位が前記現実空間と同じ座標空間における第２の３次元座標に変換する演算部と、
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
近年、対象物を撮影した複数の画像を基に対象物の３次元形状を復元する技術の研究が進んでいる。例えば、Structure from Motion（ＳｆＭ）は、動画像などの複数の画像を基に各画像を撮影したカメラの位置姿勢を推定するとともに、対象物の３次元形状を復元するものである。
【０００３】
また、画像を用いた３次元形状の復元技術を計測に応用した次のような計測装置が提案されている。この計測装置は、複数のポインタを有する標識と計測対象箇所とを写した２枚の画像を用い、各ポインタの３次元座標に基づいて各画像に対応するカメラ位置を推定する。そして、計測装置は、推定されたカメラ位置に基づいて計測対象箇所に含まれる複数の特定点の３次元座標を特定し、特定された３次元座標に基づいて計測対象箇所の長さまたは面積を算出する。
【０００４】
また、次のような計測装置も提案されている。この計測装置は、取り付け具と基準プレート全体とを固定位置から撮影した画像を基に、取り付け具の３次元位置を計測しやすい視点位置を探索する。そして、計測装置は、探索された視点位置に３次元計測カメラを移動させて撮影した画像を基に、３次元計測カメラの位置を基準とした座標系での、取り付け具の３次元座標を求め、求めた３次元座標から取り付け具の３次元寸法を計測する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１６５１９２号公報
【特許文献２】特開２０１２−１０３０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、動画像を基にＳｆＭを用いて対象物の３次元形状を復元した場合、復元された３次元形状のスケールは、現実空間における対象物のスケールとは異なる。そのため、例えば、対象物の大きさに関する計測を、復元された３次元形状をそのまま用いて行うことはできない。
【０００７】
また、現実空間と同じスケールの３次元形状を再現する方法としては、例えば、現実空間上の絶対座標があらかじめ計測された複数のマーカを撮影した画像を用いる方法がある。しかし、この方法では、各マーカの絶対座標を正確に計測する必要があり、その計測作業に手間がかかるという問題がある。
【０００８】
１つの側面では、本発明では、現実空間と同じスケールの３次元形状を簡易な作業により再現することが可能な画像処理プログラム、画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、次のような画像処理プログラムが提供される。この画像処理プログラムは、コンピュータに、対象物と複数のマーカとが撮影された動画像を取得し、動画像に基づいて、対象物および複数のマーカの３次元形状を示す第１の３次元座標を算出し、第１の３次元座標に基づいて複数のマーカの位置を検出し、複数のマーカの位置の検出結果に基づく複数のマーカの間の距離と、現実空間における複数のマーカの間の距離との比率に基づいて、第１の３次元座標を、長さの単位が現実空間と同じ座標空間における第２の３次元座標に変換する、処理を実行させる。
【００１０】
また、１つの案では、上記の画像処理プログラムにしたがった処理と同様の処理をコンピュータが実行する画像処理方法が提供される。
さらに、１つの案では、上記の画像処理プログラムにしたがった処理と同様の処理を実行する画像処理装置が提供される。
【発明の効果】
【００１１】
１つの側面では、現実空間と同じスケールの３次元形状を簡易な作業により再現できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る計測システムの構成例を示す図である。
【図３】計測サーバのハードウェア構成例を示す図である。
【図４】計測サーバが備える処理機能の構成例を示すブロック図である。
【図５】対象物の体積を計測するための作業手順を示す図である。
【図６】マーカセットの例を示す図である。
【図７】動画像の撮影方法を示す図である。
【図８】対象物の配置面が傾いている場合のマーカの配置例を示す図である。
【図９】マーカ位置の計測方法の例を示す図である。
【図１０】ユーザ端末に表示される画面の表示例を示す図である。
【図１１】計測サーバの処理手順を示すフローチャートの例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。図１に示す画像処理装置１は、カメラ２によって対象物３が撮影された画像に基づき、対象物３についての実スケールの３次元形状を示す情報を生成する。ここで言う実スケールとは、長さの単位が現実空間と同じであることを意味する。
【００１４】
画像処理装置１は、入力部１ａと演算部１ｂを有する。入力部１ａは、例えば、通信インタフェース回路、あるいは可搬型記録媒体の読み取り装置として実現される。演算部１ｂは、例えば、画像処理装置１が備えるプロセッサとして実現される。
【００１５】
入力部１ａは、対象物３と複数のマーカとが撮影された動画像を取得する（ステップＳ１）。本実施の形態では、例として、２つのマーカ４ａ，４ｂが用いられる。マーカ４ａ，４ｂは、対象物３の近傍に配置される。図１の例では、カメラ２によって、対象物３とマーカ４ａ，４ｂとが写った動画像が撮影される。例えば、カメラ２を保持する撮影者が対象物３の周囲を周回しながら動画像が撮影される。なお、マーカ４ａ，４ｂは、動画像の全フレームに写っている必要はなく、その一部のフレームに写っていればよい。ただし、マーカ４ａ，４ｂが写っているフレームが多い方が望ましい。
【００１６】
演算部１ｂは、取得された動画像に基づいて、対象物３およびマーカ４ａ，４ｂの３次元形状を示す第１の３次元座標を算出する（ステップＳ２）。第１の３次元座標は、例えば、ＳｆＭを用いて算出される。ここでは例として、図１の下側に示す３次元形状５を示す第１の３次元座標が算出されたとする。なお、この算出処理では、第１の３次元座標に対して、例えば、３次元形状における各点の色情報が付加されてもよい。
【００１７】
次に、演算部１ｂは、算出された第１の３次元座標に基づいて、マーカ４ａ，４ｂの位置を検出する（ステップＳ３）。そして、演算部１ｂは、第１の３次元座標からのマーカ４ａ，４ｂの位置の検出結果に基づくマーカ４ａ，４ｂの間の距離と、現実空間におけるマーカ４ａ，４ｂの間の距離との比率に基づいて、第１の３次元座標を第２の３次元座標に変換する（ステップＳ４）。この座標変換処理では、算出された第１の３次元座標のスケールが、現実空間のスケール（実スケール）に変換される。
【００１８】
例えば、第１の３次元座標からのマーカ４ａ，４ｂの位置の検出結果に基づくマーカ４ａ，４ｂの間の距離が、Ａと算出されたとする。また、現実空間におけるマーカ４ａ，４ｂの間の距離が、Ｂであったとする。なお、距離Ｂは、実測されてもよいし、あらかじめ決められていてもよい。演算部１ｂは、これらの距離Ａ，Ｂに基づき、第１の３次元座標（すなわち、３次元形状５の各点の座標値）を（Ｂ／Ａ）倍にすることで、第２の３次元座標を算出する。なお、図１では、変換後の第２の３次元座標に基づく対象物３の３次元形状６が例示されている。
【００１９】
以上の画像処理装置１によれば、対象物３の３次元形状として、現実空間と同じスケールの３次元形状を、簡易な作業により再現できる。
例えば、上記処理では、ユーザは、ステップＳ４の座標変換処理で必要となる、現実空間におけるマーカ４ａ，４ｂの間の距離だけを、事前に用意すればよい。現実空間におけるマーカ４ａ，４ｂの距離は、簡単に計測することができる。また、マーカ４ａ，４ｂの３次元座標上の位置が計測されてもよいが、処理に必要なのはマーカ４ａ，４ｂの距離であるので、計測される位置の情報は絶対位置を示す情報である必要はなく、マーカ４ａ，４ｂの相対位置を示す情報であればよい。したがって、例えば、計測用の高価な専用機材も、計測のための特殊な技能も必要にならず、少なくとも絶対位置を計測する場合と比較して、ユーザの作業負荷や必要な機材のコストを軽減できる。
【００２０】
さらに、マーカ４ａ，４ｂの距離があらかじめ決められた距離を保つように固定されていれば、そのような固定状態のマーカ４ａ，４ｂを配置するだけで、ユーザはマーカ４ａ，４ｂの間の距離を計測する必要もなくなる。この場合、マーカ４ａ，４ｂの距離が、画像処理装置１にあらかじめ記憶されていてもよい。
【００２１】
また、上記処理によって得られた第２の３次元座標は、現実空間と同じスケールを有するので、例えば、対象物３の長さ、体積、重量などの計測に用いることができる。
〔第２の実施の形態〕
次に、第２の実施の形態として、上記の画像処理装置１の処理機能を用いて対象物の体積を計測できるようにした計測システムについて説明する。
【００２２】
図２は、第２の実施の形態に係る計測システムの構成例を示す図である。図２に示す計測システムは、計測サーバ１００、ユーザ端末２００およびカメラ２１０を含む。計測サーバ１００は、対象物１０を撮影した動画像を基に対象物１０の体積を計測する計測サービスを提供するためのサーバ装置である。ユーザ端末２００は、計測サービスを利用するユーザ側に設置される端末装置である。カメラ２１０は、可搬型であり、対象物１０を撮影するためにユーザによって保持される。
【００２３】
ユーザの操作により、カメラ２１０を用いて、対象物１０の周囲を周回しながら対象物１０が写った動画像が撮影される。ユーザ端末２００は、撮影された動画像をカメラ２１０から取得する。例えば、ユーザ端末２００は、撮影された動画像を無線通信によってカメラ２１０から受信する。あるいは、ユーザ端末２００は、撮影された動画像を記録媒体を介してカメラ２１０から取得してもよい。ユーザ端末２００は、ユーザの操作に応じて、カメラ２１０から取得した動画像を計測サーバ１００に送信（アップロード）し、対象物１０の体積の計測を依頼する。
【００２４】
計測サーバ１００とユーザ端末２００との間は、ネットワーク２２０によって接続されている。ネットワーク２２０は、例えば、インターネットなどの広域ネットワークである。計測サーバ１００は、ユーザ端末２００から受信した動画像に基づき、ＳｆＭ技術を用いて対象物１０の形状を示す３次元データ（３次元モデル）を再現し、その３次元データに基づいて対象物１０の体積を算出する。
【００２５】
ここで、カメラ２１０の撮影対象は、例えば、製品製造のための原材料や資材が集積される領域とされる。例えば、製紙工場においては、原材料となる木材チップが所定の場所に集積される。この場合、集積された木材チップの山が対象物１０となる。このような集積領域では、集積される原材料や資材の量が時間に応じて変化する。そこで、カメラ２１０を保持したユーザによって、集積領域が例えば定期的に撮影される。そして、得られた動画像がユーザ端末２００から計測サーバ１００にアップロードされ、計測サーバ１００によって、集積されている原材料や資材の体積（すなわち、対象物１０の体積）が計測される。これにより、ユーザは、集積されている原材料や資材の量を効率的に管理できる。
【００２６】
なお、本実施の形態では、計測サーバ１００は、対象物１０の３次元データから対象物１０の体積を計測するが、この３次元データから対象物１０の重量を推測することもできる。
【００２７】
図３は、計測サーバのハードウェア構成例を示す図である。計測サーバ１００は、例えば、図３に示すようなコンピュータとして実現される。
計測サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
プロセッサ１０１には、バス１０８を介して、ＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、計測サーバ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００２９】
バス１０８に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６および通信インタフェース１０７がある。
【００３０】
ＨＤＤ１０３は、計測サーバ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３１】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像を表示装置１０４ａに表示させる。表示装置としては、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどがある。
【００３２】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３３】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３４】
通信インタフェース１０７は、ネットワーク２２０を介して、ユーザ端末２００などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、計測サーバ１００の処理機能を実現することができる。
【００３５】
図４は、計測サーバが備える処理機能の構成例を示すブロック図である。計測サーバ１００は、記憶部１１０、ユーザインタフェース処理部１２１、３次元モデリング部１２２、３次元データ変換部１２３および体積計算部１２４を有する。
【００３６】
なお、記憶部１１０は、例えば、ＲＡＭ１０２、ＨＤＤ１０３などの計測サーバ１００が備える記憶装置の記憶領域として実現される。ユーザインタフェース処理部１２１、３次元モデリング部１２２、３次元データ変換部１２３および体積計算部１２４の処理は、例えば、プロセッサ１０１が所定のアプリケーションプログラムを実行することで実現される。
【００３７】
記憶部１１０には、マーカセット情報１１１が記憶される。マーカセット情報１１１には、対象物１０の体積計測に利用されるマーカセットに関する情報が登録される。マーカセットは、相互の位置関係があらかじめ決められた複数のマーカを含む。マーカセットは、対象物１０の近傍に配置され、カメラ２１０による動画像の撮影の際には、対象物１０とともにマーカセットが写るように撮影が行われる。
【００３８】
マーカセット情報１１１には、１組のマーカセットに含まれる複数のマーカの位置関係を示す情報が登録される。この位置関係を示す情報は、マーカ間の距離が一意に決まるような情報であればよい。後述するように、本実施の形態では例として、マーカセット情報１１１には、マーカセットに含まれるいずれか１つのマーカの位置を基準とした、各マーカの３次元座標が登録される。また、他の例として、位置関係を示す情報は、マーカセットに含まれるマーカ間の距離を示す情報であってもよい。
【００３９】
さらに、本実施の形態では、マーカ間の距離が異なる複数のマーカセットが用意されており、記憶部１１０には、各マーカセットに対応するマーカセット情報１１１が登録される。
【００４０】
ユーザインタフェース処理部１２１は、ユーザインタフェースを提供する処理を実行する。例えば、ユーザインタフェース処理部１２１は、ユーザ端末２００の表示装置に、対象物１０の体積計測の依頼を受け付けるための画面を表示させる。このような画面としては、例えば、ユーザが動画像をアップロードするための画面、ユーザがマーカセットに関する設定を行うための画面、ユーザが体積計測の依頼操作を行うための画面などがある。このような画面を介して、ユーザインタフェース処理部１２１は、対象物１０およびマーカセットが撮影された動画像をユーザ端末２００から取得する。
【００４１】
また、ユーザインタフェース処理部１２１は、算出された対象物１０の体積を示す情報をユーザに通知する。この情報は、例えば、電子メールによってユーザに通知されてもよいし、ユーザ端末２００におけるＷｅｂブラウザ上の画面に表示されてもよい。
【００４２】
３次元モデリング部１２２は、ユーザ端末２００から取得された動画像を用い、ＳｆＭによって、撮影対象領域における物体の３次元形状を示す３次元データ（点群データ）を計算する。この３次元データに基づく３次元形状には、対象物１０の形状とマーカセットの形状とが含まれる。
【００４３】
このような３次元モデリング部１２２の処理によって算出された３次元データのスケールは、現実空間のスケール（実スケール）とは一致していない。そこで、３次元データ変換部１２３は、算出された３次元データのスケールを実スケールに変換する。この処理では、３次元データ変換部１２３は、算出された３次元データから、マーカセットに含まれる各マーカの位置を検出し、検出されたマーカ間の距離を算出する。３次元データ変換部１２３は、算出されたマーカ間の距離と、マーカセット情報１１１に基づく、現実空間におけるマーカ間の距離との比率に基づいて、３次元データのスケールを実スケールに変換する。このスケール変換では、３次元データの座標空間における長さの単位が現実空間と一致するように、３次元データが変換される。
【００４４】
体積計算部１２４は、スケール変換後の対象物１０の３次元データに基づいて、対象物１０の体積を計算する。体積の計算結果はユーザインタフェース処理部１２１に通知され、ユーザインタフェース処理部１２１の処理によってユーザに通知される。
【００４５】
図５は、対象物の体積を計測するための作業手順を示す図である。
各マーカセットに関するマーカセット情報１１１が、計測サーバ１００の記憶部１１０に事前に登録される（ステップＳ１１）。この状態で、ユーザは、マーカセットを対象物１０の近傍に配置する（ステップＳ１２）。そして、ユーザは、カメラ２１０を用いて対象物１０の動画像を撮影する（ステップＳ１３）。
【００４６】
ここで図６、図７を用いて、ステップＳ１２，Ｓ１３の作業について説明する。
図６は、マーカセットの例を示す図である。図６（Ａ）は、マーカの例を示し、図６（Ｂ）は、マーカセットに含まれる各マーカの位置関係の例を示す。
【００４７】
マーカ２１は、統一された所定の形状を有している。図６（Ａ）の例では、マーカ２１は、三角錐の頂点が平坦にされた形状を有している。また、マーカ２１は、例えば、画像処理によって抽出しやすいように、対象物１０やその配置面などの周囲の構造物の色とは異なる所定の色を有している。
【００４８】
マーカセット２０は、このようなマーカ２１を所定数（複数）備え、それぞれのマーカ２１の間の距離が所定の距離になるように各マーカ２１の位置関係があらかじめ決められている。本実施の形態では、図６（Ｂ）に示すように、マーカセット２０は、このようなマーカ２１を３つ（マーカ２１ａ〜２１ｃ）備えるものとする。また、マーカ２１ａとマーカ２１ｂとの中心間距離が３ｍと決められ、マーカ２１ａとマーカ２１ｃとの中心間距離が４ｍと決められている。そして、マーカ２１ａとマーカ２１ｂとを結ぶ直線に対し、マーカ２１ａとマーカ２１ｃとを結ぶ直線が時計回り方向に９０度の角度をなすように、マーカ２１ａ〜２１ｃの位置関係が規定されている。
【００４９】
ここで、マーカ間の距離は、マーカセット２０に含まれるすべてのマーカペアについて異なることが望ましい。これにより、３次元データに基づいて検出された各マーカがマーカ２１ａ〜２１ｃのどれに対応するかを容易に判定することができる。図６（Ｂ）の例のようにマーカ間の角度の１つが直角である場合には、マーカ間を結んで形成される３角形が２等辺３角形にならないようにマーカ間の距離が決められることが望ましい。
【００５０】
なお、図６（Ｂ）の例では、マーカ２１ａとマーカ２１ｂとの間、およびマーカ２１ａとマーカ２１ｃとの間が、それぞれチェーン２２ａ，２２ｂによって接続されている。これにより、マーカセット２０の使用時には、チェーン２２ａ，２２ｂが延びた状態になることで、マーカ２１ａとマーカ２１ｂとの距離、およびマーカ２１ａとマーカ２１ｃとの距離がそれぞれ所定の距離を保つようになる。これとともに、マーカセット２０の不使用時には、マーカ２１ａ〜２１ｃを収納するための容量を小さくできるようになっている。
【００５１】
本実施の形態では、マーカセット情報１１１には、このようなマーカセット２０におけるマーカ２１ａ〜２１ｃの位置関係を示す情報として、マーカ２１ａを基準としたマーカ２１ａ〜２１ｃのそれぞれの３次元座標があらかじめ登録されるものとする。例えば、マーカセット２０に対応するマーカセット情報１１１には、マーカ２１ａ，２１ｂ，２１ｃのそれぞれの３次元座標として、（０ｍ，０ｍ，０ｍ），（３ｍ，０ｍ，０ｍ），（０ｍ，４ｍ，０ｍ）が登録される。
【００５２】
図７は、動画像の撮影方法を示す図である。
図５のステップＳ１２では、マーカセット２０は、図７の上側に示す例のように、対象物１０の近傍に配置される。このとき、マーカ２１ａとマーカ２１ｂとを結ぶ直線に対し、マーカ２１ａとマーカ２１ｃとを結ぶ直線が時計回り方向に９０度の角度をなすように、マーカ２１ａ〜２１ｃが配置される。
【００５３】
そして、図５のステップＳ１３では、図７の下側に示す例のように、対象物１０とマーカセット２０とを含む領域が、カメラ２１０によって撮影される。このとき、カメラ２１０を保持するユーザが対象物１０の周囲を周回しながら、動画像が撮影される。なお、動画像は、例えば、対象物１０の周囲を周回しながら１回で撮影される必要はなく、周回の途中で複数回に分けて撮影されてもよい。また、例えば、カメラ２１０の撮影位置の高さを変えながら複数の周回数にわたって動画像が撮影されてもよい。
【００５４】
また、前述のように、マーカ間の距離が異なる複数のマーカセットが用意されているので、上記作業では、対象物１０の大きさに合ったマーカセットが選択されて、使用されればよい。例えば、対象物１０の大きさが大きいほど、マーカ間の距離が長いマーカセットが使用される。
【００５５】
以下、図５に戻って説明を続ける。
動画像を撮影したユーザは、ユーザ端末２００を操作することで、計測サーバ１００に対して対象物１０の体積計測を依頼する（ステップＳ１４）。このとき、計測サーバ１００のユーザインタフェース処理部１２１の処理によって、ユーザ端末２００の表示装置に計測依頼のためのインタフェース画面が表示される。ユーザは、インタフェース画面を介して、撮影された動画像をユーザ端末２００から計測サーバ１００にアップロードする。また、ユーザは、使用されたマーカセットを示す情報を計測サーバ１００に通知する。そして、ユーザは、計測サーバ１００に対して対象物１０の体積計測を依頼するための操作を行う。
【００５６】
計測サーバ１００は、アップロードされた動画像を用いて、この動画像に写った対象物１０の体積の計測処理を実行する（ステップＳ１５）。この計測処理は、大別して、３次元モデリング部１２２による３次元モデリング、３次元データ変換部１２３によるスケール変換、体積計算部１２４による体積計測を含む。
【００５７】
３次元モデリングでは、動画像を用い、ＳｆＭによって、動画像の撮影対象領域における物体の形状を示す３次元データが算出される。スケール変換では、算出された３次元データが示す３次元空間上の点群の中から、マーカセットに含まれる各マーカの位置が検出される。そして、検出されたマーカ間の距離と、マーカセット情報２１１に基づく、実空間におけるマーカ間の距離との比率に基づいて、３次元データのスケールが実スケールに変換される。体積計測では、スケール変換後の対象物１０の３次元データに基づいて、対象物１０の体積が算出される。
【００５８】
ただし、ステップＳ１２では、対象物１０の状況によっては、既存のマーカセットが配置される代わりに、既存のマーカセットと同数のマーカが、対象物１０が配置された配置面における任意の位置に配置されてもよい。例えば、既存のマーカセットの大きさと比較して対象物１０の大きさが大き過ぎる場合や、対象物１０が配置された配置面が傾斜している場合が考えられる。
【００５９】
このような場合、ユーザは、配置された各マーカの位置を計測する（ステップＳ１３ａ）。この計測により、各マーカの位置を示す位置情報として、例えば、各マーカについての現実空間における３次元座標が得られる。なお、後述するように、各マーカの位置の計測方法としては、例えば、準天頂衛星によるセンチメータ級測位補強サービスを用いた、情報処理端末による位置計測方法を用いることができ、これによって計測作業を簡易化することができる。
【００６０】
各マーカの位置が計測された場合、ステップＳ１４では、ユーザの操作により、計測された各マーカの位置情報が計測サーバ１００に通知される。この場合、ステップＳ１４では、通知された位置情報を用いて処理が行われる。また、対象物１０の配置面が傾斜している場合、すなわち、各マーカの高さが異なる場合には、スケール変換後の対象物１０の３次元データが、各マーカの高さが０になるように変換される。そして、変換後の３次元データに基づいて対象物１０の体積が計測される。
【００６１】
ここで、図８、図９を用いて、任意の位置にマーカが配置される場合の例について説明する。
図８は、対象物の配置面が傾いている場合のマーカの配置例を示す図である。この図８の例では、対象物１０が配置された配置面３１が傾斜しており、マーカ２１ａ〜２１ｃが配置面３１における対象物１０の近傍に配置されている。この場合、マーカ２１ａ〜２１ｃの各位置が計測され、計測サーバ１００に通知される。
【００６２】
計測サーバ１００は、動画像に基づいて対象物１０の３次元データを算出し、この３次元データのスケールを、計測されたマーカ２１ａ〜２１ｃの位置情報に基づいて、現実空間のスケールに変換する。さらに、計測サーバ１００は、スケール変換された３次元データを、マーカ２１ａ〜２１ｃの高さがすべて０になるように変換する。後者の変換では、スケール変換後の３次元データに基づく対象物１０の３次元形状が、対象物１０の配置面３１が地平面３２（すなわち、高さを示すｚ座標が０であるｘｙ平面）と一致するように回転され、回転後の３次元形状を示す３次元データが算出される。そして、計測サーバ１００は、変換後の３次元データに基づいて対象物１０の体積を計測する。
【００６３】
このように、配置面３１が地平面３２と一致するように変換された３次元データを用いることで、地平面３２を基準として対象物１０の体積を計算できるので、計算が容易になり、その計算負荷を軽減できる。例えば、３次元データのｚ座標を対象物１０の高さとしてそのまま用いて体積を計算できるので、計算手順が容易になる。
【００６４】
なお、前述のように、本実施の形態では、マーカセット情報１１１には各マーカの３次元座標が登録されるが、マーカセット情報１１１には、各マーカ間の距離が登録されていてもよい。この場合、例えば、対象物１０の配置面３１が傾斜していても、ステップＳ１２で既存のマーカセットが用いられ、なおかつ、ステップＳ１３ａにおいて、そのマーカセットに含まれる各マーカの高さのみが計測されてもよい。この場合、ステップＳ１４では、計測された各マーカの高さが計測サーバ１００に通知される。計測サーバ１００は、３次元データのスケール変換を、そのマーカセット情報１１１に登録されたマーカ間距離をそのまま用いて実行する。さらに、計測サーバ１００は、スケール変換後の３次元データを、通知された各マーカの高さに基づき、各マーカの高さが０になるように変換する。
【００６５】
図９は、マーカ位置の計測方法の例を示す図である。
マーカ２１の位置を計測する方法としては、例えば、準天頂衛星２３０を用いたセンチメータ級測位補強サービスを利用する方法が考えられる。このサービスでは、準天頂衛星２３０から送信される補完信号（Ｌ１，Ｌ２，Ｌ５信号）および補強信号（Ｌ６信号）を用いて、マーカの測位を行うことができる。
【００６６】
例えば、衛星信号受信装置２４１と気圧センサ２４２とを備えた、スマートフォンなどの携帯端末２４０が用いられる。ユーザによって携帯端末２４０がマーカ２１に近づけられ、この状態で準天頂衛星２３０からの補完信号および補強信号が携帯端末２４０によって受信される。携帯端末２４０は、受信した補完信号および補強信号に基づいて、マーカ２１の緯度と経度を計測するとともに、気圧センサ２４２による検出結果に基づいて、マーカ２１の高さを計測する。このような方法により、測量用の高価な専用機材や専門の技能がなくても、ユーザはマーカ２１の３次元座標を容易に計測できる。
【００６７】
なお、上記の携帯端末２４０がユーザ端末２００として用いられてもよい。この場合、携帯端末２４０によって計測されたマーカ２１の３次元座標を、そのまま計測サーバ１００に通知できる。
【００６８】
次に、図５のステップＳ１４において、ユーザインタフェース処理部１２１の処理によってユーザ端末２００の表示装置に表示される画面の例について、図１０を用いて説明する。
【００６９】
図１０は、ユーザ端末に表示される画面の表示例を示す図である。なお、図１０の画面表示が行われる前の初期状態において、カメラ２１０によって対象物１０を撮影した動画像がユーザ端末２００に保存されているものとする。
【００７０】
まず、ユーザ端末２００に対するユーザの操作により、計測サーバ１００に対するログインが行われる。すると、計測サーバ１００のユーザインタフェース処理部１２１は、動画アップロード画面２０１をユーザ端末２００に表示させる。動画アップロード画面２０１には、ユーザ端末２００に保存された動画像の中からアップロード対象の動画像を選択するための選択領域２０１ａが含まれる。ユーザの操作によってアップロード対象の動画像が選択され、アップロードボタン２０１ｂに対する押下操作が行われると、選択された動画像がユーザ端末２００から計測サーバ１００に送信される。
【００７１】
ユーザインタフェース処理部１２１は、受信した動画像を記憶部１１０に一時的に格納し、次に、情報設定画面２０２をユーザ端末２００に表示させる。情報設定画面２０２には、マーカ種別選択領域２０２ａと、マーカセット選択領域２０２ｂと、マーカ位置入力画面２０２ｃとが含まれる。
【００７２】
マーカ種別選択領域２０２ａでは、既存のマーカセットを利用することを示す「既存」と、ユーザが各マーカの位置を計測する「ユーザ指定」のいずれかが選択される。マーカ種別選択領域２０２ａで「既存」が選択された場合、マーカセット選択領域２０２ｂでは、既存のマーカセットの中から計測に利用するマーカセットが選択される。マーカセットが選択されると、ユーザインタフェース処理部１２１は、選択されたマーカセットに含まれる各マーカの３次元座標をそのマーカセットに対応するマーカセット情報１１１から読み出し、マーカ位置入力画面２０２ｃに設定する。すなわち、計測に利用する既存のマーカセットが選択されると、そのマーカに含まれる各マーカの３次元座標がマーカ位置入力画面２０２ｃに自動設定される。
【００７３】
一方、マーカ種別選択領域２０２ａで「ユーザ指定」が選択された場合、マーカセット選択領域２０２ｂではマーカセットが選択できない状態となる。そして、マーカ位置入力画面２０２ｃには、ユーザの操作によって計測に利用する各マーカの３次元座標が設定される。
【００７４】
以上のようにして各マーカの３次元座標が設定され、決定ボタン２０２ｄに対する押下操作が行われると、マーカ位置入力画面２０２ｃに設定された各マーカの３次元座標が計測サーバ１００に送信される。
【００７５】
ユーザインタフェース処理部１２１は、受信した各マーカの３次元座標を記憶部１１０に一時的に格納し、次に、画像選択画面２０３をユーザ端末２００に表示させる。ユーザインタフェース処理部１２１は、画像選択画面２０３に含まれる静止画選択領域２０３ａに、受信した動画像に含まれる静止画像（フレーム）を順に表示させる。この静止画選択領域２０３ａには、動画像に含まれる静止画像が一定間隔を置いて間欠的に表示されてもよい。
【００７６】
ユーザは、静止画選択領域２０３ａに表示された静止画像の中から、計測に使用する静止画像を選択することができる。例えば、ユーザは、隣接する静止画像間である程度の大きさの領域がオーバラップするように、計測に使用する静止画像を選択する。この操作によれば、例えば、互いにオーバラップしている領域が小さいような、対象物１０の３次元データの計算に不向きな静止画像を除外して、対象物１０の３次元データの計算精度を高めることができる。
【００７７】
静止画像が選択され、計測依頼ボタン２０３ｂに対する押下操作が行われると、選択された静止画像が計測に使用する静止画像として確定されるとともに、計測サーバ１００に対して体積の計測が依頼される。この計測依頼に応じて、設定された各マーカの３次元座標と、動画像に含まれる静止画像のうち、計測に使用する静止画像として確定された静止画像とを用いた体積の計測処理が開始される。
【００７８】
次に、計測サーバ１００の処理についてフローチャートを用いて説明する。
図１１は、計測サーバの処理手順を示すフローチャートの例である。
［ステップＳ２１］ユーザインタフェース処理部１２１は、動画アップロード画面２０１をユーザ端末２００に表示させ、動画像のアップロートを受け付ける。
【００７９】
［ステップＳ２２］ユーザインタフェース処理部１２１は、情報設定画面２０２をユーザ端末２００に表示させ、マーカに関する情報、具体的には、各マーカの３次元座標の入力を受け付ける。図１０で例示したように、情報設定画面２０２上で既存のマーカセットが選択された場合、ユーザインタフェース処理部１２１は、選択されたマーカセットに含まれる各マーカの３次元座標をそのマーカセットに対応するマーカセット情報１１１から読み出し、読み出した３次元座標を情報設定画面２０２に設定する。決定ボタン２０２ｄに対する押下操作が行われることで、ユーザインタフェース処理部１２１は、設定された３次元座標を受け付ける。一方、情報設定画面２０２上で既存のマーカセットを使用しないことが選択された場合、ユーザの操作によって各マーカの３次元座標が情報設定画面２０２に設定される。決定ボタン２０２ｄに対する押下操作が行われることで、ユーザインタフェース処理部１２１は、設定された３次元座標を受け付ける。
【００８０】
［ステップＳ２３］ユーザインタフェース処理部１２１は、画像選択画面２０３をユーザ端末２００に表示させる。ユーザインタフェース処理部１２１は、ステップＳ２１で受け付けた動画像に含まれる静止画像（フレーム）を画像選択画面２０３上に順に表示させ、計測に使用する静止画像の選択を受け付ける。
【００８１】
［ステップＳ２４］３次元モデリング部１２２は、ステップＳ２３で選択された複数の静止画像を用い、ＳｆＭによって、撮影対象領域における物体の３次元形状を示す３次元データを算出する。この３次元データは、対象物１０およびマーカセットの各表面を含む多数の点の３次元座標を示すデータ（点群データ）として算出される。また、各点の３次元座標には、色情報が付加されている。
【００８２】
３次元データの計算は、例えば、次のように実行される。３次元モデリング部１２２は、連続する複数の静止画像から、静止画像間で対応する特徴点（対応点）を抽出する。３次元モデリング部１２２は、抽出された対応点に基づいて、各静止画像に対応するカメラの位置姿勢を推定する。３次元モデリング部１２２は、推定されたカメラの位置姿勢に基づいて、抽出された各対応点の３次元座標を示す点群データを算出する。これによって、撮影対象領域における物体の３次元データが算出される。
【００８３】
なお、対応点の抽出には、例えば、オプティカルフローを利用することができる。また、対応点の抽出結果に基づく位置姿勢および点群データの算出には、例えば、Tomasi−Kanadeの因子分解法を利用することができる。さらに、例えば、Patch−based Multi−View Stereo（ＰＭＶＳ）やマルチベースラインステレオ法などのマルチビューステレオ方式を用いて、上記方法で抽出された対応点より密な点群の３次元座標が算出されてもよい。
【００８４】
［ステップＳ２５］３次元データ変換部１２３は、ステップＳ２４で算出された３次元データに基づき、画像処理によって各マーカの位置を検出する。例えば、３次元データ変換部１２３は、３次元データに含まれる各点の色情報に基づき、K−meansクラスタリングによって各マーカの中心位置を示す３次元座標を検出する。
【００８５】
［ステップＳ２６］３次元データ変換部１２３は、検出された各マーカの中心位置間の距離を第１のマーカ間距離として算出する。また、３次元データ変換部１２３は、ステップＳ２２で受け付けた各マーカの３次元座標に基づいて、各マーカ間の距離を第２のマーカ間距離として算出する。そして、３次元データ変換部１２３は、第２のマーカ間距離に対する第１のマーカ間距離の比率を算出する。
【００８６】
ここでは例として、互いの距離が最も長いマーカペアについて、第１のマーカ間距離および第２のマーカ間距離を算出し、これらに基づいて比率を算出するものとする。例えば、３次元データ変換部１２３は、ステップＳ２５で検出された各マーカの中心位置に基づいて、マーカペアごとにマーカ間距離を算出し、それらの中から最も長いものを第１のマーカ間距離とする。また、３次元データ変換部１２３は、ステップＳ２２で受け付けた各マーカの３次元座標に基づいて、マーカペアごとにマーカ間距離を算出し、それらの中から最も長いものを第２のマーカ間距離とする。そして、３次元データ変換部１２３は、第２のマーカ間距離に対する第１のマーカ間距離の比率を算出する。
【００８７】
なお、他の例として、３次元データに基づくマーカの検出誤差を考慮して、次のような方法で比率が算出されてもよい。３次元データ変換部１２３は、ステップＳ２５で検出された各マーカの中心位置に基づき、第１のマーカペアについてのマーカ間距離Ｄ１と、第２のマーカペアについてのマーカ間距離Ｄ２と、第３のマーカペアについてのマーカ間距離Ｄ３を算出する。また、３次元データ変換部１２３は、ステップＳ２２で受け付けた各マーカの３次元座標に基づき、第１のマーカペアについてのマーカ間距離ｄ１と、第２のマーカペアについてのマーカ間距離ｄ２と、第３のマーカペアについてのマーカ間距離ｄ３を算出する。そして、３次元データ変換部１２３は、Ｄ１／ｄ１、Ｄ２／ｄ２、Ｄ３／ｄ３を算出し、これらの平均値を最終的な比率として算出する。
【００８８】
［ステップＳ２７］３次元データ変換部１２３は、ステップＳ２６で算出された比率に基づいて、ステップＳ２４で算出された３次元データをスケール変換する。具体的には、３次元データ変換部１２３は、ステップＳ２４で算出された３次元データの各点について、ｘ座標、ｙ座標、ｚ座標の各値とステップＳ２６で算出された比率とを乗算する。例えば、第１のマーカ間距離が２ｍと算出され、第２のマーカ間距離が４ｍと算出されて、比率が２と算出された場合、３次元データの各点についてのｘ座標、ｙ座標、ｚ座標の各値が２倍にされる。これにより、３次元データが属する座標空間のスケール（長さの単位）が、現実空間のスケールと一致するように補正される。
【００８９】
なお、このスケール変換では、あくまで長さの単位が現実空間と一致するように変換されるだけであり、変換後の３次元データが属する座標空間の座標値が現実空間の座標値と一致している必要はない。
【００９０】
［ステップＳ２８］３次元データ変換部１２３は、ステップＳ２２で表示させた情報設定画面２０２において、マーカ種別として「ユーザ指定」が選択されたかを判定する。３次元データ変換部１２３は、「ユーザ指定」が選択された場合、ステップＳ２９の処理を実行し、「既存」が選択された場合、処理をステップＳ３０に進める。
【００９１】
［ステップＳ２９］３次元データ変換部１２３は、スケール変換後の３次元データを、各マーカの高さがすべて０になるように変換する。この変換では、スケール変換後の３次元データに基づく対象物１０の３次元形状が、対象物１０の配置面が地平面（すなわち、高さを示すｚ座標が０であるｘ−ｙ平面）と一致するように回転され、回転後の３次元形状を示す３次元データが算出される。
【００９２】
［ステップＳ３０］体積計算部１２４は、３次元データに基づいて、対象物１０の体積を算出する。体積計算部１２４は、算出された対象物１０の体積をユーザに通知する。例えば、体積計算部１２４は、算出された体積をユーザ端末２００に送信する。なお、体積計算の対象となる３次元データとしては、ステップＳ２８で「Ｙｅｓ」と判定された場合、ステップＳ２９での変換後の３次元データが用いられ、ステップＳ２８で「Ｎｏ」と判定された場合、ステップＳ２７でのスケール変換後の３次元データが用いられる。
【００９３】
体積計算は、例えば次のように行われる。体積計算部１２４は、３次元データが属する座標空間におけるｘｙ平面（地平面）に等間隔のメッシュを設定し、各メッシュについて、ｘ座標およびｙ座標がメッシュに含まれる点群の高さ（ｚ座標）の平均値を算出する。体積算出部１２５は、メッシュを底面とし、算出された平均値を高さとする四角柱の体積を全メッシュについて累積加算することで、対象物１０の体積を計算する。
【００９４】
なお、この体積計算では、計算に利用される３次元データの中から、ステップＳ２５で３次元データに基づいて検出された各マーカに対応する点群のデータが除外されてもよい。
【００９５】
以上説明した第２の実施の形態によれば、マーカ間距離があらかじめ決められたマーカセットを用いることで、対象物１０の体積を簡易な作業で計測できる。例えば、マーカセットに含まれる各マーカに関して、それらの絶対位置だけでなく、マーカ間距離や相対位置についても、ユーザが計測する必要がなくなる。
【００９６】
また、対象物１０が傾斜した配置面に配置されている場合には、少なくとも、その配置面に配置した各マーカの高さを計測して計測サーバ１００に入力することで、対象物１０の体積を正確に計測できる。この計測処理の際には、各マーカの高さに基づいて３次元形状を回転させるような座標変換が行われることで、体積計算を単純化し、その処理負荷を軽減しながら体積の計測精度を高めることができる。
【００９７】
また、第２の実施の形態によれば、対象物１０の体積を、可搬型のカメラ２１０を用いて撮影された動画像を用いて計測でき、例えば、固定カメラなどの固定的な計測用の設備を設置する必要がない。このため、対象物１０の大きさが時間に伴って変化する場合だけでなく、計測対象の対象物１０の位置が移動する場合や、新たな位置に対象物１０が発生する場合でも、新たな設備を設置することなく、対象物１０の体積を簡単な作業で計測できる。
【００９８】
なお、上記の第２の実施の形態では、例として３つのマーカを用いて計測が行われた。ここで、対象物１０の配置面の傾斜に応じて対象物１０の３次元データを変換する（図１１のステップＳ２９）場合には、３つ以上のマーカの高さ情報が必要となる。ただし、このような配置面の傾斜に応じた３次元データの変換を行わない場合には、２つのマーカだけを用いて計測を行うこともできる。この場合、マーカセット情報１１１には、２つのマーカそれぞれの３次元座標、または２つのマーカ間の距離が登録される。
【００９９】
なお、上記の各実施の形態に示した装置（例えば、画像処理装置１、計測サーバ１００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blu-ray Disc：ＢＤ、登録商標）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１００】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１０１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【０１０２】
１  画像処理装置
１ａ  入力部
１ｂ  演算部
２  カメラ
３  対象物
４ａ，４ｂ  マーカ
５，６  ３次元形状
Ａ，Ｂ  距離
Ｓ１〜Ｓ４  ステップ
【図１】
2019207531.tif 000003
【図２】
2019207531.tif 000004
【図３】
2019207531.tif 000005
【図４】
2019207531.tif 000006
【図５】
2019207531.tif 000007
【図６】
2019207531.tif 000008
【図７】
2019207531.tif 000009
【図８】
2019207531.tif 000010
【図９】
2019207531.tif 000011
【図１０】
2019207531.tif 000012
【図１１】
2019207531.tif 000013