(57)【要約】【課題】設定した幾何条件に合うようにカメラの位置を移動させる場合に、設定した幾何条件に対してユーザがカメラの位置を容易に合わせられるようにすることを課題とする。【解決手段】画像処理装置は、計測する幾何条件を設定する幾何条件設定部２０４と、マーカが配された対象物を撮像装置１にて撮像した画像データを取得する画像データ取得部２１と、画像データから対象物に配されたマーカの輪郭を抽出する輪郭抽出部２３と、画像データと設定された幾何条件とを基にマーカ輪郭の射影を算出する形状法線算出部２２およびマーカ輪郭射影部２５と、画像データから抽出されたマーカの輪郭と算出された射影のマーカ輪郭とを表示装置に表示させる輪郭表示部２６とを有する。【選択図】図２
2020096254.tif 000002
【特許請求の範囲】
【請求項１】
計測する幾何条件を設定する設定手段と、
マーカが配された対象物を撮像装置にて撮像した画像データを取得する取得手段と、
前記画像データから、前記対象物に配された前記マーカの輪郭を抽出する抽出手段と、
前記画像データと前記設定された幾何条件とを基に、マーカ輪郭の射影を算出する算出手段と、
前記画像データから抽出された前記マーカの輪郭と前記算出された前記射影のマーカ輪郭とを表示装置に表示させる表示手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記設定手段は、
前記マーカの計測対象点を設定する手段と、
前記幾何条件として、前記撮像装置の光軸が向かう方位角と仰角を設定する手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記幾何条件の許容範囲を設定する手段を更に有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記表示手段は、前記マーカの計測対象点と、前記画像データから抽出された前記マーカの輪郭と、前記算出された前記射影のマーカ輪郭とを、前記撮像装置にて撮像されている画像に重畳表示することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記表示手段は、前記マーカの計測対象点と、前記画像データから抽出された前記マーカの輪郭と、前記算出された前記射影のマーカ輪郭と、前記許容範囲を表す輪郭とを、前記撮像装置にて撮像されている画像に重畳表示することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記算出手段は、
前記画像データから、前記対象物に配された前記マーカに対する法線を算出する手段と、
前記法線と前記設定された幾何条件とを基に、前記マーカ輪郭の射影を算出する手段と、
を有することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記対象物に配された前記マーカは、複数のポイントパターンと、前記マーカのＩＤコード領域とを有して形成されており、
前記算出手段は、前記画像データの前記複数のポイントパターンの位置を基に座標値を算出し、前記算出した座標値を基に前記法線を算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記算出手段は、前記算出した座標値を基にポリゴンの形状を取得することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記算出手段は、
前記画像データから前記複数のポイントパターンの位置を基に算出した複数の座標値を、定義された座標値を基にソートし、
前記ソートした後の前記複数の座標値を基に前記ポリゴンの形状を算出することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記算出した形状の前記ポリゴンの法線を算出し、前記ポリゴンの法線を基に、前記ポリゴンの平面に対する前記撮像装置の位置と姿勢を取得することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
画像処理装置が実行する画像処理方法であって、
計測する幾何条件を設定する設定工程と、
マーカが配された対象物を撮像装置にて撮像した画像データを取得する取得工程と、
前記画像データから、前記対象物に配された前記マーカの輪郭を抽出する抽出工程と、
前記画像データと前記設定された幾何条件とを基に、マーカ輪郭の射影を算出する算出工程と、
前記画像データから抽出された前記マーカの輪郭と前記算出された前記射影のマーカ輪郭とを表示装置に表示させる表示工程と、
を有することを特徴とする画像処理方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ撮影時のカメラ位置合わせの補助を行う技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラの普及により、本来の用途である写真撮影以外でも利用される例が増えてきている。例えば、デジタルカメラでは２次元で色を取得することができるため、２次元測色器として利用する例や、何らかのマーカを立体物表面に取り付け、その撮影後にマーカの位置変化や大きさの変化から形状を算出する形状測定器として利用する例がある。このような立体物形状を有する被写体の計測では、複数の異なる観察角度からの見た目の色が変化する変角反射特性を計測することが求められる。この場合、デジタルカメラでの撮影において空間的な幾何条件を自動で制御することが望ましい。このような自動制御の技術として、例えば特許文献１には、ジャイロセンサーや加速度センサーを利用してカメラ姿勢を検出し、予め決められたカメラ姿勢と判断されると自動で撮影を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−４１０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の記載の技術では、検出したカメラ姿勢が予め設定されたカメラ姿勢になったことを検出した時に撮影を行うことは可能である。しかしながら、予め設定した幾何条件に合うようにカメラの位置を移動させる際に、ユーザは、カメラ位置をどのように移動させれば良いのかを把握することが困難である。
【０００５】
そこで、本発明は、設定した幾何条件に合うようにカメラの位置を移動させる場合に、設定した幾何条件に対してユーザがカメラの位置を容易に合わせられるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、計測する幾何条件を設定する設定手段と、マーカが配された対象物を撮像装置にて撮像した画像データを取得する取得手段と、前記画像データから、前記対象物に配された前記マーカの輪郭を抽出する抽出手段と、前記画像データと前記設定された幾何条件とを基に、マーカ輪郭の射影を算出する算出手段と、前記画像データから抽出された前記マーカの輪郭と前記算出された前記射影のマーカ輪郭とを表示装置に表示させる表示手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、設定した幾何条件に合うようにカメラの位置を移動させる場合に、設定した幾何条件に対してユーザがカメラの位置を容易に合わせられるようになる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置の構成例を示す図である。
【図２】画像処理装置の論理構成を示す図である。
【図３】画像処理装置における処理フローチャートである。
【図４】第１の実施形態におけるＵＩの一例を示す図である。
【図５】球面座標を示す図である。
【図６】第１の実施形態におけるＵＩの状態遷移を表す状態遷移図である。
【図７】形状法線算出部の論理構成を示すブロック図である。
【図８】マーカを説明する模式図である。
【図９】マーカとメタデータの説明に用いる図である。
【図１０】形状算出処理のフローチャートである。
【図１１】法線算出処理のフローチャートである。
【図１２】輪郭抽出処理のフローチャートである。
【図１３】第１の実施形態の輪郭射影処理のフローチャートである。
【図１４】第１の実施形態における輪郭表示のＵＩの一例を示す図である。
【図１５】第２の実施形態におけるＵＩの一例を示す図である。
【図１６】第２の実施形態におけるＵＩの状態遷移を表す状態遷移図である。
【図１７】第２の実施形態における輪郭射影処理のフローチャートである。
【図１８】第２の実施形態における輪郭表示のＵＩの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の好ましい実施の形態を添付の図面を参照して詳細に説明する。なお、以下に説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、本発明は以下の実施形態に限定されるものではない。
本実施形態では、計測対象物である立体物の表面には後述するマーカが配されているとする。また本実施形態では、マーカとして、複数のポイントパターンを有するマーカを例に挙げており、その具体例については後述する。そして本実施形態では、計測対象物の被写体を撮像した撮像画像内のマーカと予め設定された計測幾何条件とから、その計測幾何条件と被写体とカメラ位置との関係をユーザにフィードバックし、計測幾何条件に対してユーザがカメラの位置を合わせ易くする。
【００１０】
＜第１の実施形態＞
図１は本発明に係る第１の実施形態の画像処理装置の概略構成を示すブロック図である。図１は、本実施形態の画像処理装置の一適用例として、コンピュータ１１の構成を示している。
【００１１】
ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとし、ＲＯＭ１０２やハードディスクドライブ（ＨＤＤ）１７、各種記録メディア等に格納されているオペレーティングシステム（ＯＳ）や各種プログラムを実行し、システムバス１０７を介して各構成を制御する。なお、ＣＰＵ１０１が実行するプログラムには、後述する本実施形態に係る処理フローを実行するプログラム（画像処理アプリケーション）が含まれる。なお、本実施形態に係る画像処理アプリケーションのプログラムは、各種記録メディアやネットワークを介して供給され、ＲＡＭ１０３等に展開されることによりＣＰＵ１０１により実行可能となされる。
【００１２】
汎用Ｉ／Ｆ１０４は、ＵＳＢなどのシリアルバスインタフェイスであり、シリアルバス１２を介して、マウスやキーボードなどの入力デバイス１３やプリンタ１４などが接続される。ＣＰＵ１０１は、汎用Ｉ／Ｆ１０４を介して、入力デバイス１３からのユーザ指示を含むユーザ入力を受信する。
ＳＡＴＡＩ／Ｆ１０５は、シリアルＡＴＡ（ＳＡＴＡ）のインタフェイスであり、ＨＤＤ１７や各種記録メディアの読み書きを行う汎用ドライブ１８が接続される。ＣＰＵ１０１は、ＳＡＴＡＩ／Ｆ１０５を介して、ＨＤＤ１７や汎用ドライブ１８にマウントされた各種記録メディアをデータの格納場所として読み書きに利用する。
ＶＣ１０６は、ビデオインタフェイスのためのビデオカードであり、表示装置であるディスプレイ１５が接続されている。ＣＰＵ１０１は、プログラムが提供するユーザインタフェイス（ＵＩ）を、ＶＣ１０６を介してディスプレイ１５に表示する。
【００１３】
以下、図１に示した構成において、ＣＰＵ１０１からの指令に基づき画像処理アプリケーションが、実行する処理について説明する。
図２は、本実施形態の画像処理アプリケーションの実行によりコンピュータ１１において構成される、マーカ位置合わせガイド表示装置２の論理構成を示すブロック図である。なお、図２には計測対象物を撮像する撮像装置１も記載している。
図２に示すガイド表示装置２は、画像データ取得部２１、形状法線算出部２２、輪郭抽出部２３、幾何条件設定部２４、マーカ輪郭射影部２５、輪郭表示部２６を有して構成される。
【００１４】
画像データ取得部２１は、撮像装置１が計測対象物の被写体を撮像した撮像画像データを取得する。画像データ取得部２１により取得された撮像画像データは形状法線算出部２２と輪郭抽出部２３に送られる。
【００１５】
形状法線算出部２２は、画像データ取得部２１が取得した撮像画像からマーカを抽出し、その抽出したマーカを基に法線方向、ならびに、カメラ（撮像装置１）の位置および角度を算出する。カメラの角度とは、カメラの光軸が向いている方位角と仰角である。マーカに基づく法線方向の算出処理、ならびに、カメラの位置および角度の算出処理の詳細は後述する。
【００１６】
輪郭抽出部２３は、画像データ取得部２１が取得した撮像画像から、形状法線算出部２２にて抽出されたマーカの輪郭を抽出する。マーカの輪郭抽出処理の詳細は後述する。輪郭抽出部２３が撮像画像から抽出したマーカ輪郭の情報は、輪郭表示部２６に送られる。
【００１７】
幾何条件設定部２４は、入力デバイス１３を介して入力されたユーザの指示に基づいて、計測する幾何条件を設定する。ユーザ指示に基づいて設定される幾何条件の詳細は後述する。幾何条件設定部２４により設定された幾何条件の情報はマーカ輪郭射影部２５に送られる。
【００１８】
マーカ輪郭射影部２５は、幾何条件設定部２４にて設定された幾何条件と、形状法線算出部２２により算出された法線方向ならびにカメラの位置および角度とに基づいて、プレビュー画面上の被写体（計測対象物）に射影するマーカ輪郭を算出する。マーカ輪郭射影部２５におけるマーカ輪郭の射影算出処理の詳細は後述する。マーカ輪郭射影部２５により算出されたマーカ輪郭の射影情報は輪郭表示部２６に送られる。
【００１９】
輪郭表示部２６は、輪郭抽出部２３にて撮像画像から抽出されたマーカ輪郭と、マーカ輪郭射影部２５にて算出された射影用のマーカ輪郭とを、ディスプレイ１５に表示されているプレビュー画面上に重畳表示する。それらマーカ輪郭のプレビュー画面への重畳表示の詳細は後述する。
【００２０】
なお図２にはコンピュータ１１が画像処理アプリケーションを実行することによるソフトウェア構成を例に挙げたが、図２の各ブロックはハードウエア構成により実現されても良いし、一部がソフトウェア構成で残りがハードウエア構成により実現されても良い。
【００２１】
図３は、本実施形態のガイド表示装置２におけるガイド表示処理の流れを示すフローチャートである。なお、以下の説明では、図３のフローチャートの処理ステップＳ３０１〜Ｓ３０５をそれぞれＳ３０１〜Ｓ３０５のように略記する。このことは後述する他のフローチャートにおいても同様とする。図３のフローチャートの処理は、入力デバイス１３を操作してユーザが所定の開始指示を入力することで開始する。
【００２２】
先ずＳ３０１において、画像データ取得部２１は撮像画像データを取得し、幾何条件設定部２４はユーザにより設定された幾何条件を取得する。
次にＳ３０２において、形状法線算出部２２は、後述する処理により、撮像画像からマーカの形状と、計測対象点の法線ならびにカメラの位置および角度とを算出する。
次にＳ３０３において、輪郭抽出部２３は、後述する処理により、撮像画像からマーカの輪郭を抽出する。
次にＳ３０４において、マーカ輪郭射影部２５は、後述する処理により、Ｓ３０１で取得された幾何条件を法線とする平面に対するマーカの射影を算出する。
そしてＳ３０５において、輪郭表示部２６は、後述する処理により、二つのマーカ輪郭をＵＩとして表示する。
【００２３】
図４は、ディスプレイ１５に表示されるＵＩ画面４の一例を示した図である。
図４のＵＩ例において、プレビューウィンドウ４０１は、カメラ（撮像装置１）により撮像されているプレビュー画像を表示するための表示領域である。＋マーカ４０２は、被写体４１における計測対象点を表すマーカである。テキストボックス４０３は幾何条件としてカメラの方位角を編集する際にユーザが角度の値等を入力するための入力領域である。テキストボックス４０４は幾何条件としてカメラの仰角を編集する際にユーザが角度の値等を入力するための入力領域である。実行ボタン４０５は、テキストボックス４０３とテキストボックス４０４への入力により設定された幾何条件に基づく計測を開始する際にユーザが指示する操作ボタンである。
【００２４】
図５は、本実施形態において、設定された幾何条件の一例を示す図であり、球面座標系を用いた被写体ならびにカメラの位置関係と幾何条件（球面座標値）を模式的に表している。
ここでは、動径座標をｒとし、ｚ軸と動径とが成す角をθ（天頂角θ）、ｚ軸に垂直な面にある別の軸（ｘ軸）と動径の射影がなす角をψ（方位角ψ）とする。また、座標原点は計測対象点であり、その計測対対象点における法線とｘ軸は一致するものとする。なお、動径座標のｒについては後述する。
【００２５】
図６は、ガイド表示装置２におけるＵＩ画面４の表示とユーザ入力に応じた状態遷移図である。
図６において、ステート６０１では、初期データを読み込んだ後にＵＩ画面をディスプレイ１５に表示し、その後、ステート６０２へ遷移する。
ステート６０２ではユーザの入力待ちとなり、ユーザから指示によりプレビューウィンドウ４０１内に計測対象点が設定された場合にはステート６０３へ遷移する。方位角編集用のテキストボックス４０３に対してユーザ入力が行われた場合や、仰角編集用のテキストボックス４０４に対するユーザ入力が行われた場合にはステート６０４へ遷移する。またステート６０２において実行ボタン４０５が押下された場合にはステート６０５へ遷移する。
【００２６】
ステート６０３に遷移し、計測対象点についてユーザによる設定がなされると、ステート６０２へ遷移する。
ステート６０４に遷移し、テキストボックス４０３，４０４に対して幾何条件の角度（方位角、仰角）についてユーザによる設定がなされると、ステート６０２へ遷移する。
そして、ステート６０２において実行ボタン４０５が押下されてステート６０５へ遷移すると、設定された計測対象点、設定された幾何条件とに基づく計測動作が開始される。
【００２７】
図７は、形状法線算出部２２の論理構成を示したブロック図である。なお、図７にはライブビュー画像を取得する撮像装置１も記載している。
形状法線算出部２２は、形状算出部７０１と法線算出部７０２を有して構成されている。
図７の形状法線算出部２２における構成および処理の詳細を説明する前に、図８と図９を参照して、マーカの詳細と、そのマーカ８０２に対応したメタデータについて説明する。
【００２８】
図８は、撮像装置１により撮像される計測対象物８（被写体）、およびその計測対象物８に取り付けられたマーカ８０２の一例を示した図である。マーカ８０２は、撮像装置１の位置取得用の複数のポイントパターン８０１と、マーカ８０２に付与されたＩＤコードが記述されたＩＤコード領域８０３と、を有して形成されている。
【００２９】
図９は、ＩＤコード領域８０３のＩＤコードに対応したメタデータとして保持している情報と、マーカとの対応関係を説明する図である。図９（ａ）はメタデータとして記録される具体的な情報とその配列例を示した図であり、図９（ｂ）は複数のポイントパターン８０１とＩＤコード領域８０３により構成されたマーカ８０２の一例を示した図である。
【００３０】
ここで、図９（ａ）に示したメタデータの領域９０１は、図９（ｂ）のマーカ８０２の各ポイントパターン８０１の中心点の紙面上における３次元（Ｘ，Ｙ，Ｚ）座標値を記録する領域であり、例えばＮｘ×Ｎｙ行分が記録されている。例えば図９（ｂ）のマーカ８０２の左上端のポイントパターン８０１の中心点を原点とし、その原点に対する他のポイントパターン８０１の中心点の紙面上における相対的な位置として、各ポイントパターン８０１の中心点の３次元座標値を記録している。
【００３１】
また、図９（ａ）のメタデータの領域９０２は、マーカ８０２の各ポイントパターン８０１の中心点の２次元（ｕ，ｖ）座標値を記録する領域であり、例えばＮｘ×Ｎｙ行分が記録されている。例えば図９（ｂ）のマーカ８０２の左上端のポイントパターン８０１の中心点を原点とし、その原点に対する画素単位の２次元座標値を記録している。
【００３２】
さらに、図９（ａ）のメタデータの領域９０３は、ポリゴンの情報を記録する領域である。本実施形態の場合、マーカ８０２内の幾つかのポイントパターン８０１の中心点を頂点として形成される形状により、ポリゴンが決められる。例えば図９（ｂ）に示すように、四つのポイントパターン８０１のそれぞれの中心点を頂点とした矩形８０４がポリゴンとなされる。ポリゴン情報は、矩形の頂点の情報として、領域９０１の行番号と領域９０２の行番号との組を表すＡ／Ａ（Ａは同じ行番号である。）を、矩形の四つの頂点分、例えば反時計回りの矩形外周を回る順に記録する。なおポリゴンは、矩形に限らず、例えば矩形を対角線で半分にした３角形ポリゴンであってもよい。
【００３３】
以下、形状算出部７０１における処理の詳細を、図１０に示したフローチャートを参照しながら説明する。
先ずＳ１００１において、形状算出部７０１は、撮像装置１による撮像画像データを図１の画像データ取得部２１を介して取得する。
次にＳ１００２において、形状算出部７０１は、取得した撮像画像データからＩＤコード領域８０３を抽出し、その抽出したＩＤコード領域８０３の画像パターンからマーカ８０２のＩＤコードを読み取る。具体的には、形状算出部７０１は、先ず撮像画像の画素値を２値化する。この２値化処理は、所定の閾値以上の画素値を有する画素を白、所定の閾値未満の画素値を有する画素を黒とする２値化処理である。次に形状算出部７０１は、２値化処理後の撮像画像から、公知のキャニー法を用いてエッジ位置を抽出し、八つの近傍画素にエッジ位置がある画素を同一の輪郭とみなしてグループ化する輪郭抽出を行う。さらに形状算出部７０１は、抽出した複数の輪郭グループの中から四角形の輪郭を選択し、撮像画像から抽出したＩＤコード領域が実際のＩＤコード領域８０３の形状と同じになるように輪郭を変形する。そして、形状算出部７０１は、輪郭変形処理により得られたＩＤコード領域の内部のパターンを、８×８画素のブロックに分割し、各ブロックの濃淡に基づいてＩＤコードを読み取る。
さらにＳ１００３において、形状算出部７０１は、Ｓ１００２で読み取ったＩＤコードに対応するマーカ８０２のメタデータを取得する。
【００３４】
次にＳ１００４において、形状算出部７０１は、撮像画像データから、マーカ８０２の各ポイントパターン８０１のそれぞれのパターン領域の中心座標を算出する。ここで、形状算出部７０１は、先ずＳ１００２と同様に輪郭抽出までの処理を行い、抽出された輪郭グループの中から円または楕円となる輪郭の候補を取得する。次に、形状算出部７０１は、輪郭候補として取得した円または楕円の輪郭により囲まれる面積を算出し、その算出した各輪郭候補の面積と予め設定されたポイントパターン８０１の面積との差に応じて輪郭候補の順位付けを行う。さらに形状算出部７０１は、例えば順位１〜１８の各輪郭候補のパターン領域の中心座標値を算出する。そして形状算出部７０１は、各輪郭候補の中心座標値の相対的な位置関係が、メタデータの領域９０２に記載されている座標値の相対的な位置関係と一致するように各輪郭候補の中心座標値をソートする。これにより、形状算出部７０１は、メタデータの領域９０３で定義される矩形およびその矩形の頂点となるポイントパターン８０１の中心座標との対応を容易にとることができ、撮像画像における各矩形の歪を特定でき、形状を取得できることになる。
【００３５】
次に法線算出部７０２における法線方向算出処理について説明する。
法線算出部７０２は、形状算出部７０１により算出された座標値により決まる形状データから、各画素の法線方向（例えば３次元ベクトル）を算出する。
図１１は、法線算出部７０２における法線方向算出処理の流れを示すフローチャートである。
【００３６】
先ずＳ１１０１において、法線算出部７０２は、メタデータから矩形８０４の頂点の３次元座標値を読み込む。具体的には、法線算出部７０２は、メタデータから、領域９０３に示したポリゴン情報の一行を読み取り、そのポリゴンの各頂点に対応する座標値を領域９０１から読み取る。
【００３７】
次にＳ１１０２において、法線算出部７０２は、Ｓ１００４で算出されたポイントパターン８０１の中心座標から、Ｓ１１０１で座標値を読み取った各頂点に対応する座標値を読み取る。ここで、ポイントパターン８０１の中心座標の順は、Ｓ１００４において既に領域９０２に登録されている座標値の順と一致するようにソートされている。そのため、Ｓ１１０２においては、Ｓ１１０１と同様に、領域９０３に記載されている頂点の番号に対応する中心座標を抽出すればよい。
【００３８】
次にＳ１１０３において、法線算出部７０２は、下記の式（１）で示すｒ１１〜ｒ３３の係数からなる回転行列と、ｔ１〜ｔ３の係数からなる並進ベクトルとを推定する。これにより、矩形８０４の平面に対する撮像装置１の位置、姿勢を知ることができることになる。
【００３９】
【数１】
2020096254.tif 000003
【００４０】
式（１）のｆｘ，ｆｙは撮像装置１の焦点距離、ｃｘ，ｃｚは撮像装置１の主点をそれぞれ意味しており、既知の値として保持されている。また、式（１）の（ｕ，ｖ）はＳ１００２で読み取った撮像画像データのポイントパターン８０１の中心座標、（Ｘ，Ｙ，Ｚ）はＳ１００３で取得したメタデータの対応する３次元座標値である。Ｓ１１０３では、ポリゴンの四つの頂点における（ｕ，ｖ）と（Ｘ，Ｙ，Ｚ）の対応から、回転行列と並進ベクトルを推定する。この推定手法は、例えばＰｎＰ（Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ）問題として公知であり、３点以上の（ｕ，ｖ）と（Ｘ，Ｙ，Ｚ）の対応から回転行列と並進ベクトルが推定可能である。
【００４１】
次にＳ１１０４において、法線算出部７０２は、撮像装置１を原点とする各頂点の３次元座標（ｘ，ｙ，ｚ）と、各頂点を含む平面の法線ベクトルとを算出する。このときの法線算出部７０２は、次の式（２）により、先ず各頂点の３次元座標（ｘ，ｙ，ｚ）を算出する。
【００４２】
【数２】
2020096254.tif 000004
【００４３】
式（２）のＲは回転行列、ｔは並進ベクトルであり、Ｓ１００３で算出したものである。また、（Ｘ，Ｙ，Ｚ）はＳ１００１で読み取ったメタデータにおける各頂点の３次元座標値である。また、この処理では、ある頂点の（ｘ，ｙ，ｚ）座標値を原点として他の二つの頂点の（ｘ，ｙ，ｚ）座標値へのベクトルを算出し、それらの外積ベクトルが示す方向の単位ベクトルを法線ベクトルとして算出する。なお、各頂点の（Ｘ，Ｙ，Ｚ）座標値のＺ値が同じ場合、回転行列の３列目のｒ１３，ｒ２３，ｒ３３を成分とする単位ベクトルを法線ベクトルとすることもできる。
【００４４】
法線算出部７０２は、前述したＳ１１０１からＳ１１０４の処理を全矩形に対して行い、撮像装置１を原点とする各矩形の頂点の３次元（ｘ，ｙ，ｚ）座標値を取得する。これらの座標は、対象物８が例えば曲面であっても、各矩形が平面とみなせる間隔で配置されている場合であれば、対象物８自身の３次元座標値であるとみなすことができる。
【００４５】
次にＳ１１０５において、法線算出部７０２は、位置取得用のポイントパターン８０１の中心の３次元（ｘ，ｙ，ｚ）座標値を決定する。ここで、Ｓ１１０１〜Ｓ１１０４の処理で算出した各矩形の頂点は隣接する矩形同士で重複している。そこで、法線算出部７０２は、重複した頂点の（ｘ，ｙ，ｚ）座標値を再計算する。具体的には、法線算出部７０２は、先ず各矩形において、隣接する矩形と重複する頂点を含み、矩形の法線ベクトルを法線とする平面を算出する。そして、法線算出部７０２は、重複しない頂点の座標値と原点とを通る直線を算出し、その直線と平面との交点を新たな重複しない頂点の座標値とする処理を行う。このように座標値を再計算することで、各矩形の法線ベクトルを維持することが可能となる。なお、単純に重複する頂点の（ｘ，ｙ，ｚ）座標値の平均値を対応するポイントパターン８０１の中心の３次元座標値としてもよい。
【００４６】
その後、Ｓ１１０６において、法線算出部７０２は、矩形ごとに算出した法線ベクトルから位置取得用の各ポイントパターン８０１の法線ベクトルを算出する。この処理は、例えば、各ポイントパターン８０１の中心を頂点とする全矩形の法線ベクトルの平均値を算出することによって行われる。
【００４７】
以下、輪郭抽出部２３においてプレビュー画像からマーカの輪郭抽出を行う処理について説明する。
図１２は輪郭抽出部２３におけるマーカの輪郭抽出処理の流れを示すフローチャートである。
先ずＳ１２０１において、輪郭抽出部２３は、Ｓ１００４で算出された画像平面におけるマーカの各ポイントパターンの中心座標と識別番号を取得する。ポイントパターンの識別番号は、一例としてマーカ内で反時計回りの順に割り当てられた番号であるとする。
【００４８】
次にＳ１２０２において、輪郭抽出部２３は、識別番号ｉと識別番号ｉ＋１のポイントパターンの中心座標間を結ぶ実線を、プレビュー画像に追加する線として生成する。この実線の情報は輪郭表示部２６に送られて表示されることにより、各ポイントパターンの中心座標間を結ぶ実線がプレビュー画像に重畳表示されることになる。
【００４９】
次にＳ１２０３において、輪郭抽出部２３は、全てのポイントパターンに対してＳ１２０２の処理を実施したか否かを判定し、実施していればＳ１２０４へ処理を進め、そうでなければＳ１２０２へ処理を戻す。
Ｓ１２０４に進むと、輪郭抽出部２３は、識別番号Ｎ−１と識別番号０のポイントパターンの中心座標間を結ぶ実線をプレビュー画像に追加する線として生成する。なお、Ｎはマーカのポイントパターン総数を表す。この実線の情報は輪郭表示部２６に送られて表示されることにより、各ポイントパターンの中心座標間を結ぶ実線がプレビュー画像に重畳表示されることになる。
【００５０】
以下、マーカ輪郭射影部２５においてマーカ輪郭を射影する処理について説明する。
図１３は、マーカ輪郭射影部２５において、プレビュー画像から、設定された幾何条件に対応したマーカ８０２の輪郭の射影を算出して、平面写像を行う処理の流れを示すフローチャートである。
先ずＳ１３０１において、マーカ輪郭射影部２５は、Ｓ１００４にて算出された３次元空間における各ポイントパターンの中心座標と識別番号、Ｓ１１０３にて算出された撮像装置１の位置を取得する。
【００５１】
次にＳ１３０２において、マーカ輪郭射影部２５は、Ｓ１１０３で説明した式（１）を用いて、識別番号ｉのポイントパターンの写像先の２次元座標（ｕｉ，ｖｉ）を算出する。
次にＳ１３０３において、マーカ輪郭射影部２５は、全てのポイントパターンに対してＳ１３０２の処理を実施したか否かを判定し、実施していればＳ１３０４へ処理を進め、そうでなければ識別番号をインクリメントしてＳ１３０２へ処理を戻す。
【００５２】
Ｓ１３０４に進むと、マーカ輪郭射影部２５は、識別番号ｉと識別番号ｉ＋１のポイントパターンについて射影先座標間の破線を、プレビュー画像に追加する破線として生成する。この破線の情報は輪郭表示部２６に送られて表示されることにより、各ポイントパターンの射影先座標間を結ぶ破線がプレビュー画像に重畳表示されることになる。
【００５３】
次にＳ１３０５において、マーカ輪郭射影部２５は、全てのポイントパターンに対してＳ１３０４の処理を実施したか否かを判定し、実施していればＳ１３０６へ処理を進め、そうでなければ識別番号をインクリメントしてＳ１３０４へ処理を戻す。
Ｓ１３０６に進むと、マーカ輪郭射影部２５は、識別番号Ｎ−１と識別番号０の各ポイントパターンの中心座標間を結ぶ破線を、プレビュー画像に追加する破線として生成する。この破線の情報は輪郭表示部２６に送られて表示されることにより、マーカの各ポイントパターンの中心座標間を結ぶ破線がプレビュー画像に重畳表示されることになる。
【００５４】
以下、輪郭表示部２６によりディスプレイ１５に表示されるＵＩについて詳細に説明する。図１４（ａ）〜図１４（ｄ）は、ＵＩの一例を模式的に示す図であり、ウィンドウ４０１は前述した図４の例とプレビュー画像を表示する表示領域である。また図１４（ａ）〜図１４（ｄ）において、実線マーカ１４０１は撮影画像のマーカの輪郭を示すガイドマーカであり、破線マーカ１４０２は設定された幾何条件におけるマーカの輪郭の写像を示すガイドマーカである。頂点１４０３，１４０４，１４０５，１４０６はマーカ輪郭の四つの頂点である。頂点１４０３'，１４０４'，１４０５'，１４０６'は正射影されたマーカ輪郭の四つの頂点である。＋マーカ１４０７は被写体４１における計測対象点を示すガイドマーカである。
【００５５】
図１４（ａ）は、カメラの幾何条件と、設定された幾何条件とが一致している場合のマーカ表示例を示しており、図１４（ｂ）と図１４（ｃ）は、カメラの幾何条件と、設定された幾何条件とが一致していない場合のマーカ表示例を示している。また図１４（ｄ）は、計測対象点の＋マーカ１４０７が画角中心と異なる場合の表示例を示している。
これら図１４（ａ）〜図１４（ｄ）の表示例によれば、ユーザは、カメラの幾何条件と、設定された幾何条件とが一致しているかどうか、計測対象点のマーカ１４０７が画角中心と一定しているかどうかを視覚的に容易に認識することができる。そして、ユーザは、実線マーカ１４０１と破線マーカ１４０２が合うように撮像装置１の位置や角度を変更することで、設定した幾何条件に合うように撮像装置１の位置や角度を合わせることができる。
【００５６】
以上説明したように、第１の実施形態のガイド表示装置２においては、複数の計測幾何条件について指定された条件に従い計測順を決定し、設定した幾何条件と被写体とカメラの位置関係をユーザにフィードバックしている。これにより、第１の実施形態のガイド表示装置２によれば、ユーザは、カメラをどのように移動させれば良いかを容易に認識でき、設定した幾何条件に対しカメラ位置を容易に合わせることができるようになる。
【００５７】
次に第２の実施形態について説明する。
第１の実施形態では、設定された幾何条件に対応したマーカ輪郭と、撮影されたマーカの輪郭とを表示してカメラの移動方向をガイドする例を挙げている。第２の実施形態では、カメラの移動方向をガイドする表示に合わせて、移動の許容範囲を表示することにより、設定された幾何条件に対し、ピクセルレベルでカメラの位置を合わせ易くする例について説明する。なお、第２の実施形態における構成は図１、図２、図７と同様であるためそれらの図示は省略する。
【００５８】
図１５は、第２の実施形態におけるＵＩ画面１５００の一例を示している。
図１５のＵＩ画面１５００において、ウィンドウ１５０１はプレビュー画像を表示するための表示領域であり、＋マーカ１５０２は被写体４１における計測対象点を表すマーカである。テキストボックス１５０３とテキストボックス１５０４、実行ボタン１５０６は、図４に示したテキストボックス４０３とテキストボックス４０４、実行ボタン４０５と同様のものである。テキストボックス１５０５は、ユーザが許容範囲の値等を入力するための入力領域である。本実施形態の場合、画素数（ピクセル数）により許容角度範囲の入力が可能になされているとする。
【００５９】
図１６は、第２の実施形態にガイド表示装置２における図１５に示したＵＩ画面１５００の表示とユーザ入力に応じた状態遷移図である。
図１６において、ステート１６０１では、初期データを読み込んだ後にＵＩをディスプレイ１５に表示し、その後、ステート１６０２へ遷移する。
ステート１６０２ではユーザの入力待ちとなり、ユーザからの指示がプレビューウィンドウ１５０１内に計測対象点を設定する指示である場合にはステート１６０３へ遷移する。また幾何条件における方位角編集用のテキストボックス１５０３、仰角編集用のテキストボックス１５０４に対するユーザ入力が行われる場合にはステート１６０４へ遷移する。またステート１６０２において実行ボタン１５０６が押下された場合にはステート１６０６へ遷移する。またステート１６０２において許容範囲編集用のテキストボックス１５０５に対するユーザ入力が行われる場合にはステート１６０５へ遷移する。
【００６０】
ステート１６０３に遷移すると、計測対象点についてユーザによる設定が可能となり、計測対象点の設定がなされるとステート１６０２へ遷移する。
ステート１６０４に遷移すると、幾何条件の角度についてユーザによる設定が可能となり、テキストボックス１５０３，１５０４に対して角度の入力が行われた後にはステート１６０２へ遷移する。
ステート１６０５に遷移すると、許容範囲の角度についてユーザによる設定が可能となり、テキストボックス１５０５に対して入力が行われた後にはステート１６０２へ遷移する。
そして、ステート１６０２において実行ボタン１５０６が押下されてステート１６０６へ遷移すると、設定された計測対象点、設定された幾何条件に基づく計測動作が開始される。
【００６１】
以下、第２の実施形態のマーカ輪郭射影部２５においてマーカ輪郭を射影する処理について説明する。
図１７は、第２の実施形態のマーカ輪郭射影部２５において、プレビュー画像に対し、設定された幾何条件に対応した平面写像を行う処理の流れを示すフローチャートである。Ｓ１７０１〜Ｓ１７０６までの処理は、図１３に示したＳ１３０１〜Ｓ１３０６までの処理と同様であるため、それらの説明は省略する。
【００６２】
Ｓ１７０６の後、Ｓ１７０７に進むと、マーカ輪郭射影部２５は、Ｓ１７０４〜１７０６にて描画した破線を構成する各画素Ｐ（ｘ，ｙ）について、テキストボックス１５０５に設定された画素数Ｂを用い、以下の条件を満たす領域に追加する斜線を生成する。
【００６３】
ｘ−Ｂ＜斜線表示領域＜ｘ＋Ｂ、且つ、ｙ−Ｂ＜斜線表示領域＜ｙ＋Ｂ
【００６４】
そして、その斜線の情報は輪郭表示部２６に送られて表示されることにより、ポイントパターン間を結ぶ斜線がプレビュー画像に重畳表示されることになる。
【００６５】
図１８には、第２の実施形態において輪郭表示部２６によりディスプレイ１５に表示されるＵＩ表示例を示す。図１８（ａ）〜図１８（ｃ）は、ＵＩの一例を模式的に示す図であり、ウィンドウ４０１は図４の例とプレビュー画像を表示する表示領域である。また図１８（ａ）〜図１８（ｃ）において、実線マーカ１８０１は撮影画像のマーカの輪郭を表し、斜線マーカ１８０２は設定された幾何条件におけるマーカの輪郭の写像を表している。頂点１８０３，１８０４，１８０５，１８０６はマーカ輪郭の四つの頂点である。頂点１８０３'，１８０４'，１８０５'，１８０６'は正射影されたマーカ輪郭の四つの頂点である。＋マーカ１８０７は被写体４１における計測対象点を示すマーカである。
【００６６】
図１８（ａ）はカメラの幾何条件と設定された幾何条件とが許容範囲内に収まっている場合のマーカ表示例を示しており、図１８（ｂ）と図１８（ｃ）はカメラの幾何条件と設定された幾何条件とが許容範囲内に収まっていない場合のマーカ表示例を示している。
これら図１８（ａ）〜図１８（ｃ）のＵＩ表示例によれば、ユーザは、カメラの幾何条件と設定された幾何条件とが許容範囲内に収まっているかどうかを、視覚的に容易に認識することができる。そして、ユーザは、実線マーカ１８０１と斜線マーカ１８０２が合うように撮像装置１の位置や角度を変更することで、設定した幾何条件に合うように撮像装置１の位置や角度を合わせることができる。
【００６７】
以上説明したように、第２の実施形態のガイド表示装置２においては、設定した幾何条件に対する許容範囲を設定することにより、ユーザは、設定した幾何条件に対しカメラ位置を容易に合わせることができるようになる。
【００６８】
＜他の実施形態＞
なお、前述した実施形態では、計測幾何条件を表現する座標系として球面座標系を用いたが、計測対象点を原点とする直交座標系で表しても良い。その場合、ｘ軸を計測対称点の法線と一致させた座標系が望ましい。また、前述の実施形態では、設定された幾何条件と法線とを基にマーカ輪郭の射影を算出したが、設定された幾何条件に基づくマーカ輪郭と撮像画像から抽出したマーカ輪郭とを比較した結果を基にマーカ輪郭の射影を算出しても良い。また、前述の実施形態では、カメラを移動させる方向のガイド表示としてはマーカの輪郭表示のみを用いたが、例えば上下左右前後等の文字や矢印等のガイドを合わせて表示しても良い。
【００６９】
前述した実施形態の撮像装置１はデジタル一眼レフカメラ、ミラーレス一眼カメラ、コンパクトデジタルカメラ等のデジタルカメラを想定しているが、撮像装置１は、カムコーダ、医療用カメラ、工業用カメラ等であってもよい。その他にも、撮像装置は、タブレット端末、ＰＨＳ、スマートフォン、フィーチャフォン、携帯ゲーム機などの携帯情報端末に搭載されているカメラであっても良い。
【００７０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７１】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７２】
１：撮像装置、２：ガイド表示装置、２１：画像データ取得部、２２：形状法線算出部、２３：輪郭抽出部、２４：幾何条件設定部、２５：マーカ輪郭射影部、２６：輪郭表示部、１１：コンピュータ、１０１：ＣＰＵ
【図１】
2020096254.tif 000005
【図２】
2020096254.tif 000006
【図３】
2020096254.tif 000007
【図４】
2020096254.tif 000008
【図５】
2020096254.tif 000009
【図６】
2020096254.tif 000010
【図７】
2020096254.tif 000011
【図８】
2020096254.tif 000012
【図９】
2020096254.tif 000013
【図１０】
2020096254.tif 000014
【図１１】
2020096254.tif 000015
【図１２】
2020096254.tif 000016
【図１３】
2020096254.tif 000017
【図１４】
2020096254.tif 000018
【図１５】
2020096254.tif 000019
【図１６】
2020096254.tif 000020
【図１７】
2020096254.tif 000021
【図１８】
2020096254.tif 000022