図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態の計測装置7の構成を示す。図1に示す計測装置7は、生成部70、領域検出部71、表示制御部72、点入力部73、および計測部74を有する。
生成部70は、被写体の2次元画像に基づいて被写体上の2つ以上の点の3次元座標を算出し、かつその2つ以上の点の3次元座標を含む点群データ(3次元画像データ)を生成する(生成ステップ)。領域検出部71は、点群データに基づいて被写体上の2つ以上の特徴領域を検出する(領域検出ステップ)。被写体の3次元形状は2つ以上の特徴領域の各々において共通の特徴を持つ。表示制御部72は、2つ以上の特徴領域が互いに視覚的に区別されるように2つ以上の特徴領域の画像をディスプレイに表示する(画像表示ステップ)。2つ以上の特徴領域の画像が表示された後、点入力部73は、被写体上の点を、入力装置を通して受け付け、かつ受け付けられた点を示す点情報を生成する(点入力ステップ)。計測部74は、点情報が示す点を含む被写体上の2つ以上の点の3次元座標に基づいて被写体の大きさを計測する(計測ステップ)。
図1に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field-Programmable Gate Array)の少なくとも1つである。図1に示す各部は、1つまたは複数のプロセッサを含むことができる。図1に示す各部は、1つまたは複数の論理回路を含むことができる。
計測装置7のコンピュータがプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。そのプログラムは、生成部70、領域検出部71、表示制御部72、点入力部73、および計測部74の動作を規定する命令を含む。つまり、生成部70、領域検出部71、表示制御部72、点入力部73、および計測部74の機能はソフトウェアにより実現されてもよい。
上記のプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。そのプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波により計測装置7に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク(通信網)および電話回線等の通信回線(通信線)を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル(差分プログラム)であってもよい。コンピュータに既に記録されているプログラムと差分プログラムとの組合せが、前述した機能を実現してもよい。
図2を使用することにより、第1の実施形態における3次元計測について説明する。図2は、3次元計測の手順を示す。
生成部70は、被写体の2次元画像(2D画像)に基づいて被写体上の2つ以上の点の3次元座標(3D座標)を算出し、かつその2つ以上の点の3D座標を含む点群データを生成する(ステップS1)。ステップS1は、生成ステップに対応する。
被写体の2D画像がステレオ画像である場合、1枚の2D画像は、第1の視点から見た被写体の画像と、第1の視点と異なる第2の視点から見た被写体の画像とを含む。生成部70は、その2D画像の各画素に対応する3D座標を算出する。生成部70は、被写体上の2つ以上の点の3D座標を含む点群データを生成する。点群データにおいて2つ以上の点の各々の3D座標は2D画像上の点と関連付けられている。具体的には、点群データにおける3D座標は、2D画像上の画素と関連付けられている。例えば、点群データは、3D座標と、2D画像上の画素の位置情報とを含む。
生成部70は、2枚以上の画像を使用することにより、かつSfM(Structure from Motion)を適用することにより、被写体上の2つ以上の点の3D座標を算出してもよい。生成部70は、空間的な位相が互いに異なる2つ以上の縞パターンが投影された被写体の2枚以上の2D画像を使用することにより、かつ位相シフト法を適用することにより、被写体上の2つ以上の点の3D座標を算出してもよい。生成部70は、明部および暗部がランダムに配置されたパターン光が照射された被写体の1枚の2D画像を使用することにより、被写体上の2つ以上の点の3D座標を算出してもよい。点群データを生成する方法は上記の方法に限らない。
生成部70は、点群データをディスプレイに表示するための3次元画像(3D画像)を生成してもよい。3D画像は、点群データが示す3次元形状(3D形状)の画像である。3D画像は、各画素のカラーデータを含む。3D画像の各画素は、3D座標と関連付けられている。生成部70は、互いに異なる2つ以上の視点の各々に対応する3D画像を生成してもよい。生成部70は、特徴領域の画像を生成してもよい。特徴領域の画像は、各画素のカラーデータを含む。特徴領域の画像の各画素は、3D座標と関連付けられている。特徴領域の画像の各画素は、2D画像の画素または3D画像の画素と関連付けられている。
ステップS1の後、領域検出部71は、点群データに基づいて被写体上の2つ以上の特徴領域を検出する(ステップS2)。ステップS2は、領域検出ステップに対応する。
領域検出部71は、点群データを使用することにより、被写体の3D形状の特徴を抽出する。領域検出部71は、抽出された特徴に従って、点群データにおける3D座標に対応する各点を2つ以上の特徴領域のうちの1つに割り当てる。被写体の3D形状は1つの特徴領域内において共通の特徴を持つ。被写体の3D形状の特徴は、異なる2つ以上の特徴領域間で互いに異なる。1つの点のみが1つの特徴領域に割り当てられてもよい。2つ以上の点が1つの特徴領域に割り当てられた場合、その2つ以上の点は、被写体の3D形状の特徴を示す共通の条件を満たす。第1の特徴領域内の点が満たすその条件と、第1の特徴領域と異なる第2の特徴領域内の点が満たすその条件とは、互いに異なる。
点群データに対応する各点を分類する簡易的な方法としてセグメンテーションがある。例えば、領域検出部71は、Euclidean Cluster Extractionをセグメンテーションに使用することができる。これは、オープンソースであるPCL(Point Cloud Library)に搭載されている機能である。
領域検出部71は、この機能を使用することにより、各点から所定距離以内にある点を近傍点と判断する。1つの点およびその近傍点は、同じ物体上にある。例えば、被写体が、互いに離れた第1の物体および第2の物体を有する場合、点群データに対応する各点は、第1の物体上の点および第2の物体上の点のいずれか1つに分類される。第1の物体および第2の物体の各々は、特徴領域(セグメント)である。この場合、1つの特徴領域内の2つ以上の点は、同じ物体上にあるという特徴を持つ。
領域検出部71は、WatershedアルゴリズムまたはDeep Learning等をセグメンテーションに使用してもよい。領域検出部71は、点群データに基づいて被写体の表面に垂直な法線を算出し、かつ法線方向の変化に基づいて被写体のエッジまたは段差を特徴領域として検出してもよい。例えば、領域検出部71は、エッジまたは段差からなる第1の特徴領域と、そのエッジまたは段差以外の部分からなる第2の特徴領域とを検出してもよい。領域検出部71は、被写体の2D画像に画像処理を施すことにより、被写体のエッジを検出してもよい。領域検出部71は、被写体の2D画像上のエッジに対応する特徴領域を、点群データが示す被写体の3D形状から検出してもよい。領域検出部71は、被写体の2D画像または点群データの3D画像の明るさまたは色に基づいて特徴領域を検出してもよい。領域検出部71は、被写体のステレオ画像にマッチング処理を実行し、かつそのマッチング処理において得られた相関値に基づいて特徴領域を検出してもよい。
図3は、点群データの3D画像の例を示す。生成部70は、点群データをメッシュデータに変換し、かつそのメッシュデータにテクスチャを付加する。生成部70は、この処理を実行することにより3D画像G1を生成する。
図4は、特徴領域の画像の例を示す。生成部70は、領域検出部71によって検出された2つ以上の特徴領域の情報に基づいて特徴領域の画像G2を生成する。特徴領域R1、特徴領域R2、特徴領域R3、および特徴領域R4が画像G2上に表示される。
ステップS2の後、表示制御部72は、2つ以上の特徴領域が互いに視覚的に区別されるように2つ以上の特徴領域の画像をディスプレイに表示する(ステップS3)。ステップS3は、画像表示ステップに対応する。
表示制御部72は、領域検出部71によって検出された2つ以上の特徴領域の画像をディスプレイに出力し、かつその画像をディスプレイに表示させる。例えば、表示制御部72は、特徴領域の画像および被写体の2D画像をディスプレイに表示する。表示制御部72は、特徴領域の画像および点群データの3D画像をディスプレイに表示してもよい。表示制御部72は、被写体の2D画像および点群データの3D画像をディスプレイに表示せずに特徴領域の画像のみをディスプレイに表示してもよい。
特徴領域の画像が被写体の2D画像に重畳されてもよい。表示制御部72は、特徴領域の画像における各画素のデータを、特徴領域の画像における画素と関連付けられた被写体の2D画像における画素のデータに重畳してもよい。表示制御部72は、特徴領域の画像が重畳された被写体の2D画像をディスプレイに表示してもよい。その2D画像において、被写体の表面の起伏および特徴領域の位置が視認できる。
特徴領域の画像が点群データの3D画像に重畳されてもよい。表示制御部72は、特徴領域の画像における各画素のデータを、特徴領域の画像における画素と関連付けられた点群データの3D画像における画素のデータに重畳してもよい。表示制御部72は、特徴領域の画像が重畳された点群データの3D画像をディスプレイに表示してもよい。その3D画像において、被写体の表面の起伏および特徴領域の位置が視認できる。
例えば、2つ以上の特徴領域は画像において互いに異なる色で表示される。2つ以上の特徴領域の境界を示す線が画像に重畳されてもよい。各特徴領域を示す文字、記号、またはマーク等が各特徴領域上に表示されてもよい。ユーザーは、ディスプレイに表示された画像上の2つ以上の特徴領域を視覚的に区別することができる。
ステップS3の後、点入力部73は、被写体上の点を、入力装置を通して受け付け、かつ受け付けられた点を示す点情報を生成する(ステップS4)。ステップS4は、点入力ステップに対応する。
ユーザーは、入力装置を操作することにより、被写体上の点の情報を入力装置に入力する。入力装置は、ユーザーインタフェースである。例えば、入力装置は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つを含む。入力装置は、ユーザーが入力した点の情報を出力する。点入力部73は、入力装置から出力されたその情報を取得することにより、被写体上の点を受け付ける。点入力部73は、被写体の2D画像、点群データの3D画像、および特徴領域の画像の少なくとも1つにおける点の位置を示す点情報を生成する。
点入力部73が被写体の2D画像上の点を受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。点入力部73が点群データの3D画像上の点を受け付けた場合、点情報はその点の3D座標を含む。点入力部73が特徴領域の画像上の点を受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。特徴領域の画像が重畳された被写体の2D画像上の点を点入力部73が受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。特徴領域の画像が重畳された点群データの3D画像上の点を点入力部73が受け付けた場合、点情報はその点の3D座標を含む。
例えば、2点間距離計測が実行される場合、点入力部73は、2つの計測点の各々の位置を示す点情報を生成する。線基準計測が実行される場合、点入力部73は、基準線を定義する2つの基準点と、1つの計測点との各々の位置を示す点情報を生成する。面基準計測が実行される場合、点入力部73は、基準面を定義する3つ以上の基準点と、1つの計測点との各々の位置を示す点情報を生成する。面積計測または周長計測が実行される場合、点入力部73は、3つ以上の計測点の各々の位置を示す点情報を生成する。線基準計測、面基準計測、面積計測、および周長計測の少なくとも1つが実行される場合、点群データは、被写体上の3つ以上の点の3D座標を含む。
点入力部73は、計測に使用される2つ以上の点の一部のみを受け付けてもよい。例えば、被写体の2D画像または点群データの3D画像において1つ以上の点が特徴点検出のような画像処理によって検出され、かつ検出された点の点情報が生成されてもよい。この例では、点入力部73によって受け付けられた1つ以上の点と、画像処理によって検出された1つ以上の点とが計測に使用される。
例えば、線基準計測が実行される場合、2つの基準点が画像処理によって検出され、かつ点入力部73が1つの計測点を受け付けてもよい。あるいは、点入力部73が2つの基準点を受け付け、かつ1つの計測点が画像処理によって検出されてもよい。例えば、基準線と計測点との3次元距離(3D距離)が最大となる1つの計測点が画像処理によって検出されてもよい。
例えば、面基準計測が実行される場合、3つの基準点が画像処理によって検出され、かつ点入力部73が1つの計測点を受け付けてもよい。あるいは、点入力部73が3つの基準点を受け付け、かつ1つの計測点が画像処理によって検出されてもよい。例えば、基準面と計測点との3D距離が最大となる1つの計測点が画像処理によって検出されてもよい。
点入力部73が受け付ける点は画面上の1ピクセルに対応する1点である必要はない。点入力部73が受け付ける点は、任意の大きさの領域を含んでもよい。点入力部73が受け付ける点は、サブピクセル単位で指定できる領域を含んでもよい。
図5は、ステップS4においてディスプレイに表示される画像の例を示す。図4に示す画像G2と同じ画像G2がディスプレイに表示される。例えば、図5に示されていないカーソルが画像G2上に表示される。ユーザーは、カーソルの位置を示す情報を入力装置に入力する。表示制御部72は、画像G2においてその情報に対応する位置にカーソルを表示する。ユーザーが所定の操作を実行したとき、カーソルの位置に対応する点が入力装置に入力される。このとき、点入力部73はその点を受け付ける。カーソルの表示は必須ではない。入力装置およびディスプレイがタッチパネルとして構成されている場合、ユーザーは、ディスプレイの画面をタッチすることにより点の情報を入力する。このとき、点入力部73はその点を受け付ける。
図5に示す例では、ユーザーは2つの点の情報を入力装置に入力する。点入力部73は、図5に示す点P1および点P2を受け付ける。点P1および点P2は、特徴領域R1内にある。点P1および点P2を示すマークが画像G2上に表示される。点入力部73が受け付けた点を示すマークの表示は必須ではない。図5に示す例では、画像G2において4つの特徴領域が視覚的に分かりやすい。そのため、ユーザーは、自身が望む特徴領域内の点を容易に指定することができる。
図6は、ステップS4においてディスプレイに表示される画像の他の例を示す。図4に示す画像G2と同じ画像G2と、被写体の2D画像G3とがディスプレイに表示される。例えば、図6に示されていないカーソルが2D画像G3上に表示される。ユーザーは、カーソルの位置を示す情報を入力装置に入力する。表示制御部72は、2D画像G3においてその情報に対応する位置にカーソルを表示する。
ユーザーが所定の操作を実行したとき、カーソルの位置に対応する点が入力装置に入力される。このとき、点入力部73はその点を受け付ける。カーソルの表示は必須ではない。入力装置およびディスプレイがタッチパネルとして構成されている場合、ユーザーは、ディスプレイの画面をタッチすることにより点の情報を入力する。このとき、点入力部73はその点を受け付ける。点入力部73は、2D画像G3上の受け付けられた点と関連付けられている点を点群データにおいて特定し、かつその点の点情報を生成する。
図6に示す例では、ユーザーは2つの点の情報を入力装置に入力する。点入力部73は、図6に示す点P3および点P4を受け付ける。点P3および点P4を示すマークが2D画像G3上に表示される。点入力部73が受け付けた点を示すマークの表示は必須ではない。図6に示す例では、ユーザーは、画像G2を参考にして2D画像G3上の点を指定する。そのため、ユーザーは、自身が望む特徴領域に対応する領域上の点を容易に指定することができる。表示制御部72は、点入力部73が受け付けた点に対応する点を画像G2上に表示してもよい。
図6に示す例では、画像G2および2D画像G3がディスプレイの画面の水平方向に並べられている。画像G2および2D画像G3の配置は、この例に限らない。例えば、画像G2および2D画像G3がディスプレイの画面の垂直方向に並べられてもよい。このとき、画像G2および2D画像G3は90度回転してもよい。画像G2および2D画像G3の一部が互いに重なってもよい。
ステップS4の後、計測部74は、点情報が示す点を含む被写体上の2つ以上の点の3D座標に基づいて被写体の大きさを計測する(ステップS5)。ステップS5は、計測ステップに対応する。ステップS5が実行されたとき、3次元計測が終了する。
計測部74は、被写体上の2つ以上の点の各々の3D座標を取得する。点情報が被写体の2D画像における画素の座標を含む場合、計測部74は、その座標と関連付けられた3D座標を点群データから取得する。点情報が点群データにおける点の3D座標を含む場合、計測部74は、その3D座標を点情報から取得する。点情報が特徴領域の画像における画素の座標を含む場合、計測部74は、その座標と関連付けられた3D座標を点群データから取得する。
計測部74は、被写体上の2つ以上の点の3D座標に基づいて被写体の大きさを計測する。例えば、2点間距離計測では、計測部74は、点情報が示す2つの計測点間の3D距離を計測する。線基準計測では、計測部74は、点情報が示す2つの基準点に基づいて基準線を算出し、かつその基準線と点情報が示す1つの計測点との間の3D距離を計測する。面基準計測では、計測部74は、点情報が示す3つ以上の基準点に基づいて基準面を算出し、かつその基準面と点情報が示す1つの計測点との間の3D距離を計測する。面積計測では、計測部74は、点情報が示す3つ以上の計測点で囲まれた領域の面積を算出する。周長計測では、計測部74は、点情報が示す3つ以上の計測点で囲まれた領域の周長を計測する。計測部74が実行する計測は、上記の例に限らない。
図5に示す例では、特徴領域の画像がディスプレイに表示され、かつその画像上の点が入力装置に入力される。図6に示す例では、特徴領域の画像および被写体の2D画像がディスプレイに表示され、かつ被写体の2D画像上の点が入力装置に入力される。ディスプレイに表示される画像と、点の入力に使用される画像との組み合わせはこれらの例に限らない。
被写体の2D画像がディスプレイに表示され、かつその2D画像上の点が入力装置に入力されてもよい。点群データの3D画像がディスプレイに表示され、かつその3D画像上の点が入力装置に入力されてもよい。
特徴領域の画像および被写体の2D画像がディスプレイに表示され、かつ特徴領域の画像上の点が入力装置に入力されてもよい。特徴領域の画像および点群データの3D画像がディスプレイに表示され、かつその3D画像上の点が入力装置に入力されてもよい。特徴領域の画像および点群データの3D画像がディスプレイに表示され、かつ特徴領域の画像上の点が入力装置に入力されてもよい。
特徴領域の画像が重畳された被写体の2D画像がディスプレイに表示され、かつその2D画像上の点が入力装置に入力されてもよい。特徴領域の画像が重畳された点群データの3D画像がディスプレイに表示され、かつその3D画像上の点が入力装置に入力されてもよい。
被写体の2D画像と、特徴領域の画像が重畳された点群データの3D画像とがディスプレイに表示され、かつその2D画像上の点が入力装置に入力されてもよい。被写体の2D画像と、特徴領域の画像が重畳された点群データの3D画像とがディスプレイに表示され、かつその3D画像上の点が入力装置に入力されてもよい。
点群データの3D画像と、特徴領域の画像が重畳された被写体の2D画像とがディスプレイに表示され、かつその3D画像上の点が入力装置に入力されてもよい。点群データの3D画像と、特徴領域の画像が重畳された被写体の2D画像とがディスプレイに表示され、かつその2D画像上の点が入力装置に入力されてもよい。
第1の実施形態において、計測装置7は、2つ以上の特徴領域の画像をディスプレイに表示する。ユーザーは、ディスプレイに表示された画像を参考にして自身が望む特徴領域内の点を容易に指定することができる。そのため、計測装置7は、被写体上の点の正確な指定を支援することができる。
(第2の実施形態)
本発明の第2の実施形態を説明する。図7は、第2の実施形態の計測装置7aの構成を示す。図7に示す計測装置7aは、生成部70、領域検出部71a、表示制御部72a、点入力部73、計測部74、および情報制御部75を有する。図1に示す構成と同じ構成の説明を省略する。
図7に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図7に示す各部は、1つまたは複数のプロセッサを含むことができる。図7に示す各部は、1つまたは複数の論理回路を含むことができる。
計測装置7aのコンピュータがプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。そのプログラムは、図1に示す計測装置7のコンピュータによって実行されるプログラムと同様に実現される。
領域検出部71aは、点群データに基づいて被写体上の1つ以上の特徴領域を検出する(領域検出ステップ)。第1の実施形態における領域検出部71は2つ以上の特徴領域を検出するが、第2の実施形態における領域検出部71aは1つの特徴領域を検出してもよい。例えば、被写体が1つの物体のみで構成されている場合、領域検出部71aは1つの特徴領域を検出する。被写体の3D形状は1つの特徴領域内において共通の特徴を持つ。被写体の3D形状の特徴は、異なる2つ以上の特徴領域間で互いに異なる。1つの点のみが1つの特徴領域に割り当てられてもよい。2つ以上の点が1つの特徴領域に割り当てられた場合、その2つ以上の点は、被写体の3D形状の特徴を示す共通の条件を満たす。第1の特徴領域内の点が満たすその条件と、第1の特徴領域と異なる第2の特徴領域内の点が満たすその条件とは、互いに異なる。
表示制御部72aは、点群データの3D画像、被写体の2D画像、および1つ以上の特徴領域の画像のうちの1つをディスプレイに表示する(画像表示ステップ)。点群データの3D画像は、点群データが示す3D形状の画像である。
情報制御部75は、第1の制御および第2の制御の一方を実行する(制御ステップ)。情報制御部75は、第1の制御において、点情報が1つ以上の特徴領域のうちの1つ内の点を示すように点情報を制御する。点情報は、点入力部73によって受け付けられた点を示す。情報制御部75は、第2の制御において、点群データの3D画像、被写体の2D画像、および1つ以上の特徴領域の画像のうちの1つ上にマークを表示する。マークは、アイコンまたはポインター等である。例えば、マークはカーソルである。情報制御部75は、そのマークの位置を1つ以上の特徴領域のうちの1つに対応する領域内に制限する。点入力部73は、そのマークの位置に対応する点を受け付ける。表示制御部72aが第2の制御を実行してもよい。この場合、表示制御部72aが情報制御部75の機能を持つ。
図8および図9を使用することにより、第2の実施形態における3次元計測について説明する。図8は、3次元計測の手順を示す。図2に示す処理と同じ処理の説明を省略する。
ステップS1の後、領域検出部71aは、点群データに基づいて被写体上の1つ以上の特徴領域を検出する(ステップS2a)。ステップS2aは、領域検出ステップに対応する。領域検出部71aは、第1の実施形態で説明した方法と同じ方法で特徴領域を検出することができる。
ステップS2aの後、表示制御部72aは、点群データの3D画像、被写体の2D画像、および1つ以上の特徴領域の画像のうちの1つをディスプレイに表示する(ステップS3a)。ステップS3aは、画像表示ステップに対応する。
例えば、表示制御部72aは、被写体の2D画像および特徴領域の画像を表示せずに点群データの3D画像をディスプレイに表示する。表示制御部72aは、点群データの3D画像および特徴領域の画像を表示せずに被写体の2D画像をディスプレイに表示してもよい。表示制御部72aは、点群データの3D画像および被写体の2D画像を表示せずに特徴領域の画像をディスプレイに表示してもよい。
ステップS3aにおいてディスプレイに表示される画像は、点群データの3D画像、被写体の2D画像、および特徴領域の画像のうちの1つで十分である。しかし、表示制御部72aは、点群データの3D画像、被写体の2D画像、および特徴領域の画像のうちの2つ以上をディスプレイに表示してもよい。例えば、表示制御部72aは、点群データの3D画像および特徴領域の画像をディスプレイに表示してもよい。表示制御部72aは、被写体の2D画像および特徴領域の画像をディスプレイに表示してもよい。表示制御部72aは、特徴領域の画像が重畳された点群データの3D画像または特徴領域の画像が重畳された被写体の2D画像をディスプレイに表示してもよい。
ステップS3aの後、点入力部73は、ステップS4において、被写体上の点を、入力装置を通して受け付け、かつ受け付けられた点を示す点情報を生成する。ステップS4の後、情報制御部75は、第1の制御を実行する。つまり、情報制御部75は、ステップS4において生成された点情報が1つ以上の特徴領域のうちの1つ内の点を示すように点情報を制御する(ステップS6)。ステップS6は、制御ステップに対応する。
例えば、1つの特徴領域内の点を示す点情報のみが有効となり、かつその点の3D座標が計測に使用される。あるいは、1つの特徴領域外の点を示す点情報は、その特徴領域内の点を示す点情報に更新される。第1の制御の具体例については第4および第6の実施形態において説明する。ステップS6の後、ステップS5が実行される。
図9は、3次元計測の他の手順を示す。図2および図8に示す処理と同じ処理の説明を省略する。
ステップS3aの後、情報制御部75は、第2の制御を実行する。つまり、情報制御部75は、点群データの3D画像、被写体の2D画像、および1つ以上の特徴領域の画像のうちの1つ上にマークを表示する。ステップS3aにおいて点群データの3D画像がディスプレイに表示された場合、マークはその3D画像上に表示される。ステップS3aにおいて被写体の2D画像がディスプレイに表示された場合、マークはその2D画像上に表示される。ステップS3aにおいて特徴領域の画像がディスプレイに表示された場合、マークはその画像上に表示される。情報制御部75は、そのマークの位置を1つ以上の特徴領域のうちの1つに対応する領域内に制限する(ステップS7)。ステップS7は、制御ステップに対応する。
例えば、マークは、1つの特徴領域に対応する領域内でのみ移動する。あるいは、マークが1つの特徴領域に対応する領域外に移動した場合、そのマークの位置はその1つの特徴領域内の位置に強制的に変更される。第2の制御の具体例については第5および第7の実施形態において説明する。表示制御部72aがステップS7を実行してもよい。
ステップS7の後、点入力部73は、ステップS4において、マークの位置に対応する点を受け付ける。
3次元計測における処理の順番は、図8および図9に示す順番に限らない。例えば、ステップS2aが実行される前に点群データの3D画像がディスプレイに表示されてもよい。ステップS1またはステップS2aが実行される前に被写体の2D画像がディスプレイに表示されてもよい。点入力部73がステップS4において点を受け付けた後、情報制御部75は、ステップS7においてその点に基づいて第2の制御を実行してもよい。
第2の実施形態において、計測装置7aは、第1の制御および第2の制御の一方を実行する。第1の制御において、点情報が1つ以上の特徴領域のうちの1つ内の点を示すように点情報が制御される。第2の制御において、画像上のマークの位置は1つ以上の特徴領域のうちの1つに対応する領域内に制限される。1つの特徴領域内の点の3D座標が計測に使用される。そのため、計測装置7aは、被写体上の点の正確な指定を支援することができる。
(第3の実施形態)
本発明の第3の実施形態を説明する。以下では、計測装置が内視鏡装置である例を説明する。計測装置は、計測機能を有する装置でありさえすればよく、内視鏡装置に限らない。計測装置は、特定の装置またはシステムに実装された組み込み機器であってもよい。計測装置は、クラウド上の環境であってもよい。被写体は、工業製品である。
図10は、第3の実施形態の内視鏡装置1の外観を示す。図11は、内視鏡装置1の内部構成を示す。内視鏡装置1は、被写体を撮像し、画像を生成する。検査者は、種々の被写体の観察を実施するために、挿入部2の先端に装着される光学アダプターの交換と、内蔵された映像処理プログラムの選択と、映像処理プログラムの追加とを実施することが可能である。
図10に示す内視鏡装置1は、挿入部2、本体部3、操作部4、および表示部5を有する。
挿入部2は、被写体の内部に挿入される。挿入部2は、先端20から基端部にわたって屈曲可能な細長い管状である。挿入部2は、被写体を撮像し、かつ撮像信号を本体部3に出力する。挿入部2の先端20には、光学アダプターが装着される。例えば、単眼の光学アダプターが挿入部2の先端20に装着される。本体部3は、挿入部2を収納する収納部を備えた制御装置である。操作部4は、内視鏡装置1に対するユーザーの操作を受け付ける。表示部5は、表示画面を有し、かつ挿入部2で取得された被写体の画像および操作メニュー等を表示画面に表示する。
操作部4は、ユーザーインタフェース(入力装置)である。例えば、操作部4は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。表示部5は、LCD(Liquid Crystal Display)等のモニタ(ディスプレイ)である。表示部5は、タッチパネルであってもよい。その場合、操作部4および表示部5は一体化される。
図11に示す本体部3は、内視鏡ユニット8、CCU(Camera Control Unit)9、および制御装置10を有する。内視鏡ユニット8は、図示していない光源装置および湾曲装置を有する。光源装置は、観察に必要な照明光を供給する。湾曲装置は、挿入部2に内蔵された湾曲機構を湾曲させる。挿入部2の先端20には撮像素子28が内蔵されている。撮像素子28は、イメージセンサである。撮像素子28は、光学アダプターによって形成された被写体の光学像を光電変換し、かつ撮像信号を生成する。CCU9は、撮像素子28を駆動する。撮像素子28から出力された撮像信号がCCU9に入力される。CCU9は、撮像素子28により取得された撮像信号に対して、増幅およびノイズ除去等を含む前処理を施す。CCU9は、前処理が施された撮像信号をNTSC信号等の映像信号に変換する。
制御装置10は、映像信号処理回路12、ROM(Read Only Memory)13、RAM(Random Access Memory)14、カードインタフェース15、外部機器インタフェース16、制御インタフェース17、およびCPU(Central Processing Unit)18を有する。
映像信号処理回路12は、CCU9から出力された映像信号に対して、所定の映像処理を施す。例えば、映像信号処理回路12は、視認性向上に関わる映像処理を実行する。例えば、その映像処理は、色再現、階調補正、ノイズ抑制、および輪郭強調などである。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18によって生成されたグラフィック画像信号とを合成する。グラフィック画像信号は、操作画面の画像および計測情報等を含む。計測情報は、点群データの3D画像、特徴領域の画像、または計測結果等を含む。映像信号処理回路12は、合成された映像信号を表示部5に出力する。また、映像信号処理回路12は、CCU9から出力された映像信号に基づく画像データをCPU18に出力する。
ROM13は、CPU18が内視鏡装置1の動作を制御するためのプログラムが記録された不揮発性の記録媒体である。RAM14は、CPU18が内視鏡装置1の制御のために使用する情報を一時的に記憶する揮発性の記録媒体である。CPU18は、ROM13に記録されたプログラムに基づいて内視鏡装置1の動作を制御する。
着脱可能な記録媒体であるメモリカード42がカードインタフェース15に接続される。カードインタフェース15は、メモリカード42に記憶されている制御処理情報および画像情報等を制御装置10に取り込む。また、カードインタフェース15は、内視鏡装置1によって生成された制御処理情報および画像情報等をメモリカード42に記録する。
USB機器等の外部機器が外部機器インタフェース16に接続される。例えば、パーソナルコンピュータ(PC)41が外部機器インタフェース16に接続される。外部機器インタフェース16は、PC41へ情報を送信し、かつPC41から情報を受信する。これによって、PC41のモニタが情報を表示することができる。また、ユーザーは、PC41に指示を入力することにより、内視鏡装置1の制御に関する操作を実施することができる。
制御インタフェース17は、操作部4、内視鏡ユニット8、およびCCU9と動作制御のための通信を実行する。制御インタフェース17は、ユーザーによって操作部4に入力された指示をCPU18に通知する。制御インタフェース17は、光源装置および湾曲装置を制御するための制御信号を内視鏡ユニット8に出力する。制御インタフェース17は、撮像素子28を制御するための制御信号をCCU9に出力する。
CPU18が実行するプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。この記録媒体に記録されたプログラムを内視鏡装置1以外のコンピュータが読み込み、かつ実行してもよい。例えば、PC41がプログラムを読み込んで実行してもよい。PC41は、プログラムに従って、内視鏡装置1を制御するための制御情報を内視鏡装置1に送信することにより内視鏡装置1を制御してもよい。あるいは、PC41は、内視鏡装置1から映像信号を取得し、かつ取得された映像信号を処理してもよい。
上記のように、内視鏡装置1は、撮像素子28およびCPU18を有する。撮像素子28は、被写体を撮像し、かつ撮像信号を生成する。撮像信号は、被写体の画像を含む。したがって、撮像素子28は、被写体を撮像することにより生成された、その被写体の画像を取得する。撮像素子28によって取得された画像は映像信号処理回路12を経由してCPU18に入力される。
撮像素子28は、被写体の画像を取得する画像取得部の機能を有する。画像取得部は、画像入力装置であってもよい。例えば、PC41が計測装置として動作する場合、画像取得部は、内視鏡装置1と通信を実行する通信インタフェース(通信機)である。画像取得部は無線通信機であってもよい。画像取得部は、画像が記録された記録媒体から画像を読み出す読み出し回路であってもよい。
図12は、CPU18の機能構成を示す。制御部180、生成部181、領域検出部182、表示制御部183、カーソル算出部184、点入力部185、領域選択部186、および計測部187によってCPU18の機能が構成されている。図12に示すブロックの少なくとも1つがCPU18とは別の回路で構成されてもよい。
図12に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図12に示す各部は、1つまたは複数のプロセッサを含むことができる。図12に示す各部は、1つまたは複数の論理回路を含むことができる。
制御部180は、被写体の2D画像(画像データ)を映像信号処理回路12から取得し、かつ図12に示す各部が実行する処理を制御する。
生成部181は、図1に示す生成部70の機能と同じ機能を持つ。生成部181は、被写体の2D画像に基づいて被写体上の2つ以上の点の3D座標を算出し、かつその2つ以上の点の3D座標を含む点群データを生成する(生成ステップ)。生成部181は、第1の実施形態で説明した方法と同じ方法で点群データを生成することができる。また、生成部181は、特徴領域の画像を生成する。生成部181は、点群データを表示部5に表示するための3D画像を生成してもよい。
領域検出部182は、図1に示す領域検出部71と同じ機能を持つ。領域検出部182は、点群データに基づいて被写体上の2つ以上の特徴領域を検出する(領域検出ステップ)。領域検出部182は、第1の実施形態で説明した方法と同じ方法で特徴領域を検出することができる。
表示制御部183は、撮像素子28によって取得された被写体の2D画像と、生成部181によって生成された2つ以上の特徴領域の画像とを表示部5に表示する。表示制御部183は、2つ以上の特徴領域が互いに視覚的に区別されるように2つ以上の特徴領域の画像を表示部5に表示する(画像表示ステップ)。表示制御部183は、点群データの3D画像を表示部5に表示してもよい。表示制御部183は、特徴領域の画像が重畳された被写体の2D画像を表示部5に表示してもよい。表示制御部183は、特徴領域の画像が重畳された点群データの3D画像を表示部5に表示してもよい。
例えば、表示制御部183は、映像信号処理回路12によって実行される処理を制御する。表示制御部183は、映像信号処理回路12によって処理された映像信号を映像信号処理回路12から表示部5へ出力させる。その映像信号は、被写体の2D画像の各画素のカラーデータを含む。表示部5は、映像信号処理回路12から出力された映像信号に基づいて被写体の2D画像を表示する。あるいは、表示制御部183は、特徴領域の画像を表示するための映像信号を、映像信号処理回路12を経由して表示部5へ出力する。その映像信号は、特徴領域の画像の各画素のカラーデータを含む。表示部5は、映像信号処理回路12から出力された映像信号に基づいて特徴領域の画像を表示する。
具体的には、表示制御部183は、特徴領域の画像を表示するためのグラフィック画像信号を生成する。表示制御部183は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18から出力されたグラフィック画像信号とを合成する。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、被写体の2D画像および特徴領域の画像を表示する。
表示制御部183は、3D映像信号を、映像信号処理回路12を経由して表示部5へ出力してもよい。3D映像信号は、点群データの3D画像の各画素のカラーデータを含む。表示部5は、映像信号処理回路12から出力された3D映像信号に基づいて点群データの3D画像を表示してもよい。
表示制御部183は、各種情報を表示部5に表示する。つまり、表示制御部183は、画像上に各種情報を表示する。各種情報は、カーソルまたは計測結果等を含む。カーソルは、ユーザーが画像上の特定の点を指定するためのマークである。
例えば、表示制御部183は、各種情報のグラフィック画像信号を生成する。表示制御部183は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18から出力されたグラフィック画像信号とを合成する。これにより、各種情報が画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各種情報が重畳された画像を表示する。
ユーザーは、操作部4を操作することにより、カーソルの位置情報を操作部4に入力する。操作部4は、ユーザーが操作部4に入力した位置情報を出力する。操作部4に入力された位置情報は、入力部である制御インタフェース17に入力される。その位置情報は、制御インタフェース17からCPU18に出力される。カーソル算出部184は、操作部4に入力された位置情報に基づいて画像上の位置を算出する。表示制御部183は、カーソル算出部184によって算出された位置にカーソルを表示する。
点入力部185は、図1に示す点入力部73と同じ機能を持つ。点入力部185は、被写体上の点を、操作部4を通して受け付ける。例えば、ユーザーは、カーソルを画像上の所望の位置に移動させ、かつ所定の操作を実行する。このとき、点入力部185は、その位置に対応する点を受け付ける。表示部5および操作部4がタッチパネルとして構成されている場合、ユーザーは表示部5の画面をタッチすることにより画像上の点を操作部4に入力する。点入力部185は、その点を受け付ける。点入力部185は、受け付けられた点を示す点情報を生成する(点入力ステップ)。
点入力部185が被写体の2D画像上の点を受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。点入力部185が特徴領域の画像上の点を受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。点入力部185が点群データの3D画像上の点を受け付けた場合、点情報はその点の3D座標を含む。特徴領域の画像が重畳された被写体の2D画像上の点を点入力部185が受け付けた場合、点情報はその点に対応する画素の座標を含む。その画素の座標は、点群データにおける3D座標と関連付けられている。特徴領域の画像が重畳された点群データの3D画像上の点を点入力部185が受け付けた場合、点情報はその点の3D座標を含む。
点入力部185は、基準点および計測点を受け付ける。基準点は、線基準計測における基準線または面基準計測における基準面を算出するための基準位置を示す。計測点は、被写体の大きさを計測する位置を示す。
点入力部185が被写体の2D画像上の点を受け付けた場合、点入力部185は、受け付けられた点をその2D画像に設定する。点入力部185が点群データの3D画像上の点を受け付けた場合、点入力部185は、受け付けられた点をその3D画像に設定する。点入力部185が特徴領域の画像上の点を受け付けた場合、点入力部185は、受け付けられた点をその画像に設定する。特徴領域の画像が重畳された被写体の2D画像上の点を点入力部185が受け付けた場合、点入力部185は、受け付けられた点をその2D画像に設定する。特徴領域の画像が重畳された点群データの3D画像上の点を点入力部185が受け付けた場合、点入力部185は、受け付けられた点をその3D画像に設定する。点入力部185によって設定された点の位置情報は、RAM14に保持される。点が特定の画像に関連付けられることにより、その点が設定される。
領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを選択領域として選択する(領域選択ステップ)。例えば、ユーザーは、操作部4を操作することにより、カーソルを被写体の2D画像または点群データの3D画像上の所望の位置に移動させる。その位置は、ユーザーが点を指定したい特徴領域に対応する領域内にある。カーソルがその位置に表示されているとき、ユーザーは所定の操作を実行する。このとき、領域選択部186は、その位置に対応する特徴領域の画像上の位置を算出する。2D画像の各画素および3D画像の各画素は、特徴領域の画像の画素と関連付けられている。そのため、領域選択部186は、2D画像または3D画像上の位置に対応する特徴領域の画像上の位置を算出することができる。領域選択部186は、算出された位置を含む特徴領域を選択する。
ユーザーは、操作部4を操作することにより、カーソルを特徴領域の画像上の所望の位置に移動させてもよい。その位置は、ユーザーが点を指定したい特徴領域内にある。カーソルがその位置に表示されているとき、ユーザーは所定の操作を実行する。このとき、領域選択部186は、その位置を含む特徴領域を選択する。
表示部5および操作部4がタッチパネルとして構成されている場合、ユーザーは表示部5の画面をタッチすることにより画像上の位置を操作部4に入力してもよい。
領域選択部186は、予め設定された基準を満たす特徴領域を選択してもよい。例えば、領域選択部186は、最も広い面積を持つ特徴領域を選択してもよい。領域選択部186は、特徴領域毎に画像の明るさを算出し、かつその明るさが所定の範囲にある特徴領域を選択してもよい。領域選択部186は、特徴領域毎にコントラストを算出し、かつそのコントラストが最も高い特徴領域を選択してもよい。領域選択部186は、計測モードに基づいて特徴領域を選択してもよい。例えば、計測モードが線基準計測である場合、領域選択部186は被写体のエッジを含む特徴領域を選択してもよい。特徴領域を選択する方法は上記の方法に限らない。
計測部187は、図1に示す計測部74と同じ機能を持つ。計測部187は、点情報が示す点を含む被写体上の2つ以上の点の3D座標に基づいて被写体の大きさを計測する(計測ステップ)。具体的には、計測部187は、被写体上の2つ以上の点の各々の3D座標を取得する。点情報が被写体の2D画像における画素の座標を含む場合、計測部187は、その座標と関連付けられた3D座標を点群データから取得する。点情報が点群データにおける点の3D座標を含む場合、計測部187は、その3D座標を点情報から取得する。点情報が特徴領域の画像における画素の座標を含む場合、計測部187は、その座標と関連付けられた3D座標を点群データから取得する。
計測部187は、取得された3D座標を使用することにより計測を実行する。計測部187は、2点間距離計測、線基準計測、面基準計測、面積計測、および周長計測の少なくとも1つを実行する。計測部187が実行する計測は、これらに限らない。計測部187は、点入力部185によって受け付けられた1つ以上の点の3D座標と、画像処理において検出された1つ以上の点の3D座標とを使用することにより計測を実行してもよい。
図13を使用することにより、第3の実施形態における3次元計測について説明する。図13は、3次元計測の手順を示す。
生成部181は、被写体の2D画像に基づいて被写体上の2つ以上の点の3D座標を算出し、かつその2つ以上の点の3D座標を含む点群データを生成する(ステップS101)。ステップS101は、生成ステップに対応する。
ステップS101の後、領域検出部182は、点群データを使用することにより、被写体の3D形状の特徴を抽出する(ステップS102)。ステップS102の後、領域検出部182は、抽出された特徴に従って、点群データにおける3D座標に対応する各点を2つ以上の特徴領域の各々に割り当てる。これにより、領域検出部182は、被写体の3D形状を2つ以上の特徴領域に分割する(ステップS103)。ステップS102およびステップS103は、領域検出ステップに対応する。
ステップS103の後、表示制御部183は、被写体の2D画像および特徴領域の画像を表示部5に表示する(ステップS104)。ステップS104は、画像表示ステップに対応する。
図14は、ステップS104において表示部5に表示される画像の例を示す。被写体の2D画像G11および特徴領域の画像G12が表示部5に表示される。特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14が画像G12上に表示される。例えば、特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14は画像において互いに異なる色で表示される。ユーザーは、表示部5に表示された画像上の2つ以上の特徴領域を視覚的に区別することができる。
特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14の境界を示す線が画像G12に重畳されてもよい。各特徴領域を示す文字、記号、またはマーク等が各特徴領域上に表示されてもよい。
図14に示す例では、2D画像G11および画像G12が表示部5の画面の水平方向に並べられている。2D画像G11および画像G12の配置は、この例に限らない。例えば、2D画像G11および画像G12が表示部5の画面の垂直方向に並べられてもよい。このとき、2D画像G11および画像G12は90度回転してもよい。2D画像G11および画像G12の一部が互いに重なってもよい。
ステップS104の後、表示制御部183は、カーソルを被写体の2D画像上に表示する(ステップS105)。ユーザーは、操作部4を操作することにより、カーソルをその2D画像上で移動させることができる。カーソル算出部184は、操作部4に入力された位置情報に基づいてその2D画像上の位置を算出する。表示制御部183は、カーソル算出部184によって算出された位置にカーソルを表示することによりカーソルを更新する。
図15は、ステップS105において表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。カーソルC11が2D画像G11上に表示される。例えば、カーソルC11は最初に2D画像G11上の所定の位置に表示される。その所定の位置は、2D画像G11の中心等である。
ステップS105の後、領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを選択領域として選択する(ステップS106)。ステップS106は、領域選択ステップに対応する。
例えば、領域選択部186は、カーソルの位置を含む領域に対応する特徴領域を選択する。あるいは、領域選択部186は、所定の基準を満たす特徴領域を選択する。
図16は、ステップS106において表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。ユーザーは、カーソルC11を2D画像G11上で移動させる。ユーザーが所定の操作を実行したとき、領域選択部186は、カーソルC11の位置に対応する画像G12上の位置を算出する。領域選択部186は、算出された位置を含む特徴領域を選択する。
図16に示す例では、ユーザーが所定の操作を実行したとき、カーソルC11は、特徴領域R11内の位置に対応する2D画像G11上の位置にある。そのため、領域選択部186は特徴領域R11を選択領域として選択する。
表示制御部183は、ステップS106において、選択領域である特徴領域R11を強調表示する。ステップS106は、画像表示ステップに対応する。図16に示す例では、特徴領域R11は太い線で囲まれる。その線は、表示制御部183によって生成されるグラフィック画像信号に含まれる。特徴領域R12、特徴領域R13、および特徴領域R14は強調表示されない。
ユーザーの注目を引く色または模様が特徴領域R11に付加されてもよい。選択領域を示す文字、記号、またはマーク等が特徴領域R11上に表示されてもよい。選択領域を強調表示する方法は上記の方法に限らない。選択領域が強調表示されるため、ユーザーは、点を指定すべき2D画像G11上の領域を容易に確認することができる。
表示制御部183は、ステップS106において、選択領域である特徴領域R11のみを表示してもよい。この場合、特徴領域R12、特徴領域R13、および特徴領域R14は表示されない。選択領域のみが表示されるため、ユーザーは、点を指定すべき2D画像G11上の領域を容易に確認することができる。
表示制御部183は、ステップS106において、選択領域を第1の色で表示し、かつステップS106において選択領域と異なる特徴領域を第1の色と異なる第2の色で表示してもよい。例えば、特徴領域R11は赤などの色で表示され、特徴領域R12、特徴領域R13、および特徴領域R14はグレーなどの色で表示される。特徴領域R12、特徴領域R13、および特徴領域R14は同じ色で表示される。選択領域とそれ以外の特徴領域とが互いに異なる色で表示されるため、ユーザーは、点を指定すべき2D画像G11上の領域を容易に確認することができる。
ステップS106の後、カーソル算出部184は、操作部4に入力された位置情報に基づいて被写体の2D画像上の位置を算出する(ステップS107)。ステップS107の後、表示制御部183は、カーソル算出部184によって算出された位置にカーソルを表示することによりカーソルを更新する(ステップS108)。
ステップS108の後、点入力部185は、被写体の2D画像上の1つの点を、操作部4を通して受け付け、かつ受け付けられた点を示す点情報を生成する(ステップS109)。ステップS109は、点入力ステップに対応する。
図17は、ステップS109において表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。ユーザーは、カーソルC11を2D画像G11上の所望の位置に移動させ、かつ所定の操作を実行する。このとき、点入力部185は、その位置に対応する点を受け付ける。
図17に示す例では、点入力部185は点P11を受け付ける。点P11を示すマークが2D画像G11上に表示される。点入力部185が受け付けた点を示すマークの表示は必須ではない。図17に示す例では、ユーザーは、画像G12を参考にして、特徴領域R11内の位置に対応する2D画像G11上の点を指定する。そのため、ユーザーは、自身が望む特徴領域に対応する領域上の点を容易に指定することができる。表示制御部183は、点入力部185が受け付けた点に対応する点を画像G12上に表示してもよい。
点入力部185が点を受け付けた後、その点が修正されてもよい。例えば、ユーザーは、自身が指定した点が誤っていると判断し、かつその点の修正の指示を操作部4に入力してもよい。この場合、ユーザーは、新しい点を操作部4に入力する。点入力部185は、その指示および新しい点を受け付ける。点入力部185は、修正が指示された点をその新しい点で更新する。
ステップS109の後、制御部180は、点入力部185が必要な数の点を受け付けたか否かを判断する(ステップS110)。2つの計測点が2点間距離計測に必要である。2つの基準点および1つの計測点を含む3つの点が線基準計測に必要である。3つ以上の基準点および1つの計測点を含む4つ以上の点が面基準計測に必要である。3つ以上の計測点が面積計測および周長計測に必要である。
点入力部185が必要な数の点を受け付けていないと制御部180がステップS110において判断した場合、ステップS107が実行される。その後、ステップS108およびステップS109が再度実行される。そのため、点入力部185は2つ以上の点を受け付ける。
図18は、ステップS109が2回以上実行された後に表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。図18では、線基準計測の例が示されており、点入力部185は2D画像G11上の3つの点を受け付ける。点P11が指定された後、ユーザーは、カーソルC11を移動させ、かつ点P12および点P13を順に指定する。点入力部185は、1回目のステップS109において点P11を受け付ける。その後、点入力部185は、2回目のステップS109において点P12を受け付け、かつ3回目のステップS109において点P13を受け付ける。
点入力部185が点P13を受け付ける前、制御部180は、点入力部185が必要な数の点を受け付けていないとステップS110において判断する。点入力部185が点P13を受け付けた後、制御部180は、点入力部185が必要な数の点を受け付けたとステップS110において判断する。
点入力部185が必要な数の点を受け付けたと制御部180がステップS110において判断した場合、計測部187は、点情報が示す点を含む被写体上の2つ以上の点の3D座標に基づいて被写体の大きさを計測する(ステップS111)。ステップS111は、計測ステップに対応する。ステップS111が実行されたとき、3次元計測が終了する。
ステップS111が実行された後、表示制御部183は、計測結果を表示部5に表示してもよい。計測結果は、表示制御部183によって生成されるグラフィック画像信号に含まれる。
図19は、表示部5に表示される画像の他の例を示す。図19に示す例では、ステップS104において被写体の2D画像は表示されない。図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が画像G12上に表示される。ステップS106において画像G12上の位置が操作部4を通して受け付けられた場合、領域選択部186は、ステップS106においてその位置に対応する特徴領域を選択する。図19では、特徴領域R11が選択された例が示されており、特徴領域R11は強調表示される。図19では、線基準計測の例が示されており、点入力部185は画像G12上の3つの点を受け付ける。ユーザーは、カーソルC11を移動させ、かつ点P14、点P15、および点P16を順に指定する。点入力部185は、点P14、点P15、および点P16を受け付ける。
図13から図18に示す例では、被写体の2D画像および特徴領域の画像が表示部5に表示され、かつその2D画像が点の入力に使用される。図19に示す例では、特徴領域の画像が表示部5に表示され、かつその画像が点の入力に使用される。表示部5に表示される画像と、点の入力に使用される画像との組み合わせはこの例に限らない。
被写体の2D画像が表示部5に表示され、かつその2D画像上の点が操作部4に入力されてもよい。点群データの3D画像が表示部5に表示され、かつその3D画像上の点が操作部4に入力されてもよい。
特徴領域の画像および被写体の2D画像が表示部5に表示され、かつ特徴領域の画像上の点が操作部4に入力されてもよい。特徴領域の画像および点群データの3D画像が表示部5に表示され、かつその3D画像上の点が操作部4に入力されてもよい。特徴領域の画像および点群データの3D画像が表示部5に表示され、かつ特徴領域の画像上の点が操作部4に入力されてもよい。
特徴領域の画像が重畳された被写体の2D画像が表示部5に表示され、かつその2D画像上の点が操作部4に入力されてもよい。特徴領域の画像が重畳された点群データの3D画像が表示部5に表示され、かつその3D画像上の点が操作部4に入力されてもよい。
被写体の2D画像と、特徴領域の画像が重畳された点群データの3D画像とが表示部5に表示され、かつその2D画像上の点が操作部4に入力されてもよい。被写体の2D画像と、特徴領域の画像が重畳された点群データの3D画像とが表示部5に表示され、かつその3D画像上の点が操作部4に入力されてもよい。
点群データの3D画像と、特徴領域の画像が重畳された被写体の2D画像とが表示部5に表示され、かつその3D画像上の点が操作部4に入力されてもよい。点群データの3D画像と、特徴領域の画像が重畳された被写体の2D画像とが表示部5に表示され、かつその2D画像上の点が操作部4に入力されてもよい。
表示部5および操作部4がタッチパネルとして構成されている場合、ユーザーは表示部5の画面をタッチすることにより点を操作部4に入力することができる。そのため、カーソルの表示は必須ではない。したがって、ステップS105、ステップS107、およびステップS108が実行される必要はない。CPU18は、カーソル算出部184の機能を有する必要はない。
図16に示す特徴領域の強調表示は必須ではない。したがって、ステップS106が実行される必要はない。CPU18は、領域選択部186の機能を有する必要はない。
3次元計測における処理の順番は、図13に示す順番に限らない。例えば、ステップS101、ステップS102、またはステップS103が実行される前に被写体の2D画像が表示部5に表示されてもよい。被写体の2D画像の代わりに点群データの3D画像が使用される場合、ステップS102またはステップS103が実行される前にその3D画像が表示部5に表示されてもよい。
第3の実施形態において、内視鏡装置1は、2つ以上の特徴領域の画像を表示部5に表示する。ユーザーは、表示部5に表示された画像を参考にして自身が望む特徴領域内の点を容易に指定することができる。そのため、内視鏡装置1は、被写体上の点の正確な指定を支援することができる。
(第4の実施形態)
本発明の第4の実施形態を説明する。第4の実施形態において、1つの選択領域内の点のみが有効であり、有効な点の3D座標が計測に使用される。
第4の実施形態において、図12に示すCPU18は、図20に示すCPU18aに変更される。図20は、CPU18aの機能構成を示す。制御部180、生成部181、領域検出部182、表示制御部183、カーソル算出部184、点入力部185、領域選択部186、計測部187、および情報制御部188によってCPU18aの機能が構成されている。図20に示すブロックの少なくとも1つがCPU18aとは別の回路で構成されてもよい。図12に示す構成と同じ構成の説明を省略する。
図20に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図20に示す各部は、1つまたは複数のプロセッサを含むことができる。図20に示す各部は、1つまたは複数の論理回路を含むことができる。
領域検出部182は、点群データに基づいて被写体上の1つ以上の特徴領域を検出する。第3の実施形態における領域検出部182は2つ以上の特徴領域を検出するが、第4の実施形態における領域検出部182は1つの特徴領域を検出してもよい。領域検出部182が1つの特徴領域を検出した場合、領域検出部182は、点群データにおける全ての点をその特徴領域に割り当てる。
情報制御部188は、第1の制御を実行する。情報制御部188は、点入力部185によって生成された点情報が1つ以上の特徴領域のうちの1つ内の点を示すように点情報を制御する。
領域選択部186は、領域検出部182によって検出された1つ以上の特徴領域のうちの1つを選択領域として選択する(領域選択ステップ)。領域検出部182が2つ以上の特徴領域を検出した場合、領域選択部186は、その2つ以上の特徴領域のうちの1つを選択領域として選択する。領域検出部182が1つのみの特徴領域を検出した場合、領域選択部186はその特徴領域を選択する。点入力部185が選択領域における点を受け付けた場合のみ、情報制御部188は、その点を示す点情報を有効にする(情報制御ステップ)。計測部187は、有効な点情報が示す点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する。
計測部187は、有効な点情報が示す1つ以上の点の3D座標を計測に使用する。計測部187が使用する2つ以上の点の全ての点情報が有効である必要はない。計測部187が使用する2つ以上の点の一部の点情報は有効でなくてもよい。例えば、面基準計測が実行される場合、基準面を定義する3つの基準点の点情報のみが有効であってもよく、かつ1つの計測点の点情報は有効でなくてもよい。あるいは、1つの計測点の点情報は、その計測点の位置に関わらず有効であってもよい。
領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを第1の選択領域として選択し、かつ第1の選択領域を除く1つ以上の特徴領域のうちの1つを第2の選択領域として選択してもよい。点入力部185が第1の選択領域または第2の選択領域における点を受け付けた場合のみ、情報制御部188は、その点を示す点情報を有効にしてもよい。例えば、面基準計測が実行される場合、点入力部185が第1の選択領域における3つの基準点を受け付け、かつ点入力部185が第2の選択領域における1つの計測点を受け付けてもよい。
図21を使用することにより、第4の実施形態における3次元計測について説明する。図21は、3次元計測の手順を示す。図13に示す処理と同じ処理の説明を省略する。
ステップS105の後、点入力部185は、被写体の2D画像上の1つの点を、操作部4を通して受け付け、かつ受け付けられた点を示す点情報を生成する。情報制御部188は、その点情報を有効にする(ステップS121)。ステップS121は、点入力ステップに対応する。
例えば、情報制御部188は、点情報が有効であることを示す情報を生成し、かつその情報を点情報に付加する。情報制御部188は、点情報と、その点情報が有効であることを示す情報とを含むテーブルを管理してもよい。
ステップS121の後、領域選択部186は、ステップS121において受け付けられた点に対応する特徴領域の画像上の位置を検出する。領域選択部186は、その位置を含む特徴領域を選択領域として選択する(ステップS122)。ステップS122は、領域選択ステップに対応する。
被写体の2D画像の各画素は、特徴領域の画像の画素と関連付けられている。そのため、領域選択部186は、被写体の2D画像上の位置に対応する特徴領域の画像上の位置を算出することができる。領域選択部186は、算出された位置を含む特徴領域を選択する。ステップS122の後、ステップS107が実行される。
ステップS109の後、情報制御部188は、ステップS109において受け付けられた点に対応する特徴領域の画像上の位置を算出する。情報制御部188は、被写体の2D画像上の位置に対応する特徴領域の画像上の位置を算出することができる。情報制御部188は、算出された位置が選択領域内にあるか否かを判断する(ステップS123)。選択領域と他の特徴領域との境界上の点は選択領域内の点として扱われる。選択領域と他の特徴領域との境界上の点は選択領域外の点として扱われてもよい。
その点が選択領域内にないと情報制御部188がステップS123において判断した場合、ステップS107が実行される。その場合、その点の点情報は有効ではない。情報制御部188は、その点の点情報を破棄してもよい。表示制御部183は、受け付けられた点が有効ではないことを示す情報を表示部5に表示してもよい。これにより、内視鏡装置1は、有効な点の指定をユーザーに促すことができる。
その点が選択領域内にあると情報制御部188がステップS123において判断した場合、情報制御部188は、その点の点情報を有効にする(ステップS124)。ステップS124は、情報制御ステップに対応する。点情報を有効にする方法は、ステップS121における方法と同様である。ステップS124の後、ステップS110が実行される。
計測部187は、ステップS111において、有効な点情報が示す点のみの3D座標に基づいて被写体の大きさを計測する。有効な点情報が示す点は、選択領域内にある。選択領域内の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図22は、表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。図22は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ2D画像G11上の点を指定する。例えば、ユーザーは点P21を指定し、かつ点入力部185は点P21を受け付ける。点P21は、特徴領域R12内の点に対応する。情報制御部188は、ステップS123において、点P21に対応する画像G12上の点が特徴領域R11内にないと判断する。そのため、点P21の点情報は有効でなく、計測部187は点P21の3D座標を計測に使用しない。
その後、ユーザーは点P22を指定し、かつ点入力部185は点P22を受け付ける。点P22は、特徴領域R11内の点に対応する。情報制御部188は、ステップS123において、点P22に対応する画像G12上の点が特徴領域R11内にあると判断する。そのため、情報制御部188は、ステップS124において点P22の点情報を有効にする。計測部187は点P22の3D座標を計測に使用する。
図23は、表示部5に表示される画像の他の例を示す。図23に示す例では、ステップS104において被写体の2D画像は表示されない。図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が画像G12上に表示される。ステップS121において画像G12上の位置が操作部4を通して受け付けられた場合、領域選択部186は、ステップS122においてその位置に対応する特徴領域を選択する。図23は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ画像G12上の点を指定する。例えば、ユーザーは点P23を指定し、かつ点入力部185は点P23を受け付ける。点P23は、特徴領域R12内にある。情報制御部188は、ステップS123において、点P23が特徴領域R11内にないと判断する。そのため、点P23の点情報は有効でなく、計測部187は点P23の3D座標を計測に使用しない。
その後、ユーザーは点P24を指定し、かつ点入力部185は点P24を受け付ける。点P24は、特徴領域R11内にある。情報制御部188は、ステップS123において、点P24が特徴領域R11内にあると判断する。そのため、情報制御部188は、ステップS124において点P24の点情報を有効にする。計測部187は点P24の3D座標を計測に使用する。
点入力部185が、特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14のいずれでもない領域(背景)内の点を受け付ける場合がある。その場合、情報制御部188は、ステップS123において、その点が特徴領域R11内にないと判断する。そのため、その点の点情報は有効でなく、計測部187はその点の3D座標を計測に使用しない。
図21に示す3次元計測では、点入力部185が被写体上の第1の点をステップS121において受け付けた場合、領域選択部186は、その第1の点を含む特徴領域を選択領域としてステップS122において選択する。点入力部185が選択領域における第2の点をステップS109において受け付けた場合、計測部187は、ステップS111において、第1の点および第2の点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する。第2の点は第1の点と異なる。点入力部185が3つ以上の点を受け付けた場合、その3つ以上の点は上記の第1の点および第2の点を含む。選択領域内の2つ以上の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図22に示す例では、被写体の2D画像および特徴領域の画像が表示部5に表示され、かつその2D画像が点の入力に使用される。図23に示す例では、特徴領域の画像が表示部5に表示され、かつその画像が点の入力に使用される。表示部5に表示される画像と、点の入力に使用される画像との組み合わせはこの例に限らない。その組み合わせは、第3の実施形態と同様である。第4の実施形態において、特徴領域の画像の表示は必須ではない。
図21に示す3次元計測では、計測部187は、ステップS121において受け付けられた点を計測に使用する。その点は、特徴領域の選択のみに使用されてもよい。計測部187がその点を計測に使用する必要はない。
表示制御部183は、ステップS122において選択領域を強調表示してもよい。あるいは、表示制御部183は、ステップS122において選択領域のみを表示部5に表示してもよい。
表示部5および操作部4がタッチパネルとして構成されている場合、カーソルの表示は必須ではない。したがって、ステップS105、ステップS107、およびステップS108が実行される必要はない。CPU18は、カーソル算出部184の機能を有する必要はない。
3次元計測における処理の順番は、図21に示す順番に限らない。例えば、ステップS101、ステップS102、またはステップS103が実行される前に被写体の2D画像が表示部5に表示されてもよい。被写体の2D画像の代わりに点群データの3D画像が使用される場合、ステップS102またはステップS103が実行される前にその3D画像が表示部5に表示されてもよい。
第4の実施形態において、内視鏡装置1は、第1の制御を実行する。第1の制御において、点情報が選択領域内の点を示すように点情報が制御される。内視鏡装置1は、選択領域内の点の3D座標を計測に使用する。そのため、内視鏡装置1は、被写体上の点の正確な指定を支援することができる。ユーザーは、選択領域の境界上の点を容易に指定することができる。
(第5の実施形態)
本発明の第5の実施形態を説明する。第5の実施形態の内視鏡装置1は、図12に示すCPU18を有する。第5の実施形態において、画像上のマークの位置が1つの特徴領域内に制限される。
表示制御部183およびカーソル算出部184は、第2の制御を実行する。表示制御部183は、マークを画像上に表示する。カーソル算出部184は、マークの位置を1つ以上の特徴領域のうちの1つに対応する領域内に制限する。
表示制御部183は、点群データの3D画像および被写体の2D画像の一方を表示部5に表示する(画像表示ステップ)。領域選択部186は、領域検出部182によって検出された1つ以上の特徴領域のうちの1つを選択領域として選択する(領域選択ステップ)。領域検出部182が2つ以上の特徴領域を検出した場合、領域選択部186は、その2つ以上の特徴領域のうちの1つを選択領域として選択する。領域検出部182が1つのみの特徴領域を検出した場合、領域選択部186はその特徴領域を選択する。表示制御部183は、マークを点群データの3D画像および被写体の2D画像の一方上に表示する(マーク表示ステップ)。カーソル算出部184は、マークが表示される位置を、操作部4を通して受け付けられた情報に基づいて算出する(位置算出ステップ)。マークが表示される位置は、選択領域に対応する領域内に制限される。点入力部185は、マークの位置に対応する点を受け付ける(点入力ステップ)。
表示制御部183は、マークを1つ以上の特徴領域の画像上に表示してもよい(マーク表示ステップ)。マークが特徴領域の画像上に表示される場合、表示制御部183は、点群データの3D画像および被写体の2D画像を表示部5に表示する必要はない。
領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを第1の選択領域として選択し、かつ第1の選択領域を除く1つ以上の特徴領域のうちの1つを第2の選択領域として選択してもよい。マークが表示される位置は、第1の選択領域または第2の選択領域に対応する領域内に制限されてもよい。例えば、面基準計測が実行される場合、マークの位置は第1の選択領域に対応する領域内に制限され、かつ点入力部185が第1の選択領域における3つの基準点を受け付けてもよい。その後、マークの位置は第2の選択領域に対応する領域内に制限され、かつ点入力部185が第2の選択領域における1つの計測点を受け付けてもよい。
図24を使用することにより、第5の実施形態における3次元計測について説明する。図24は、3次元計測の手順を示す。図13および図21に示す処理と同じ処理の説明を省略する。
表示制御部183は、ステップS104において被写体の2D画像および特徴領域の画像を表示部5に表示する。ステップS105の後、点入力部185は、被写体の2D画像上の1つの点を、操作部4を通して受け付け、かつ受け付けられた点を示す点情報を生成する(ステップS131)。ステップS131は、点入力ステップに対応する。
ステップS131の後、領域選択部186は、ステップS122において1つの特徴領域を選択領域として選択する。カーソル算出部184は、ステップS107において、操作部4に入力された位置情報に基づいて被写体の2D画像上の位置を算出する。ステップS107は、位置算出ステップに対応する。
ステップS107の後、カーソル算出部184は、ステップS107において算出された位置に対応する特徴領域の画像上の位置を算出する。被写体の2D画像の各画素は、特徴領域の画像の画素と関連付けられている。そのため、カーソル算出部184は、被写体の2D画像上の位置に対応する特徴領域の画像上の位置を算出することができる。カーソル算出部184は、算出された位置が選択領域内にあるか否かを判断する(ステップS132)。選択領域と他の特徴領域との境界上の点は選択領域内の点として扱われる。選択領域と他の特徴領域との境界上の点は選択領域外の点として扱われてもよい。
その位置が選択領域内にないとカーソル算出部184がステップS132において判断した場合、ステップS107が実行される。その位置が選択領域内にあるとカーソル算出部184がステップS132において判断した場合、表示制御部183は、ステップS108において、その位置にカーソルを表示する。ステップS108は、マーク表示ステップに対応する。カーソルは、選択領域に対応する2D画像の領域内に表示される。ユーザーは、その領域内でのみカーソルを移動させることができる。
点入力部185は、ステップS109において、選択領域に対応する2D画像の領域内の点を受け付ける。計測部187は、ステップS111において、選択領域に対応する2D画像の領域内の点のみの3D座標に基づいて被写体の大きさを計測する。選択領域内の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図25は、表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。図25は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ2D画像G11上の点を指定する。ユーザーがカーソルC11を特徴領域R11に対応する2D画像G11上の領域外に移動させようとしたとき、カーソル算出部184は、ステップS132において、カーソルC11の位置に対応する画像G12上の位置が特徴領域R11内にないと判断する。そのため、ステップS108は実行されない。例えば、ユーザーは、特徴領域R12内の位置に対応する2D画像G11上の位置にカーソルC11を移動させることができない。一方、ユーザーは、特徴領域R11内の位置に対応する2D画像G11上の位置にカーソルC11を移動させることができる。例えば、ユーザーは点P31を指定し、かつ点入力部185は点P31を受け付ける。点P31は、特徴領域R11内の点に対応する。計測部187は点P31の3D座標を計測に使用する。
図26は、表示部5に表示される画像の他の例を示す。図26に示す例では、ステップS104において被写体の2D画像は表示されない。図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が画像G12上に表示される。ステップS131において画像G12上の位置が操作部4を通して受け付けられた場合、領域選択部186は、ステップS122においてその位置に対応する特徴領域を選択する。図26は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ画像G12上の点を指定する。ユーザーがカーソルC11を特徴領域R11外に移動させようとしたとき、カーソル算出部184は、ステップS132において、カーソルC11の位置が特徴領域R11内にないと判断する。そのため、ステップS108は実行されない。例えば、ユーザーは、特徴領域R12内の位置にカーソルC11を移動させることができない。一方、ユーザーは、特徴領域R11内の位置にカーソルC11を移動させることができる。例えば、ユーザーは点P32を指定し、かつ点入力部185は点P32を受け付ける。点P32は、特徴領域R11内にある。計測部187は点P32の3D座標を計測に使用する。
図24に示す3次元計測では、点入力部185が被写体上の第1の点をステップS131において受け付けた場合、領域選択部186は、その第1の点を含む特徴領域を選択領域としてステップS122において選択する。点入力部185が選択領域における第2の点をステップS109において受け付けた場合、計測部187は、ステップS111において、第1の点および第2の点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する。第2の点は第1の点と異なる。点入力部185が3つ以上の点を受け付けた場合、その3つ以上の点は上記の第1の点および第2の点を含む。選択領域内の2つ以上の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図25に示す例では、被写体の2D画像および特徴領域の画像が表示部5に表示され、かつその2D画像が点の入力に使用される。図26に示す例では、特徴領域の画像が表示部5に表示され、かつその画像が点の入力に使用される。表示部5に表示される画像と、点の入力に使用される画像との組み合わせはこの例に限らない。その組み合わせは、第3の実施形態と同様である。第5の実施形態において、特徴領域の画像の表示は必須ではない。
図24に示す3次元計測では、計測部187は、ステップS131において受け付けられた点を計測に使用する。その点は、特徴領域の選択のみに使用されてもよい。計測部187がその点を計測に使用する必要はない。
表示制御部183は、ステップS122において選択領域を強調表示してもよい。あるいは、表示制御部183は、ステップS122において選択領域のみを表示部5に表示してもよい。
3次元計測における処理の順番は、図24に示す順番に限らない。例えば、ステップS101、ステップS102、またはステップS103が実行される前に被写体の2D画像が表示部5に表示されてもよい。被写体の2D画像の代わりに点群データの3D画像が使用される場合、ステップS102またはステップS103が実行される前にその3D画像が表示部5に表示されてもよい。
第5の実施形態において、内視鏡装置1は、第2の制御を実行する。第2の制御において、マークが画像上に表示され、かつマークの位置は選択領域に対応する領域内に制限される。内視鏡装置1は、選択領域内の点の3D座標を計測に使用する。そのため、内視鏡装置1は、被写体上の点の正確な指定を支援することができる。ユーザーは、選択領域の境界上の点を容易に指定することができる。
(第6の実施形態)
本発明の第6の実施形態を説明する。第6の実施形態の内視鏡装置1は、図20に示すCPU18aを有する。第6の実施形態において、1つの特徴領域外の点が受け付けられた場合、その点はその特徴領域内の点に変更される。
情報制御部188は、第1の制御を実行する。情報制御部188は、点入力部185によって生成された点情報が1つ以上の特徴領域のうちの1つ内の点を示すように点情報を制御する。
領域選択部186は、領域検出部182によって検出された1つ以上の特徴領域のうちの1つを選択領域として選択する(領域選択ステップ)。領域検出部182が2つ以上の特徴領域を検出した場合、領域選択部186は、その2つ以上の特徴領域のうちの1つを選択領域として選択する。領域検出部182が1つのみの特徴領域を検出した場合、領域選択部186はその特徴領域を選択する。点入力部185が、選択領域外の点を受け付けた場合、情報制御部188は、その点を示す点情報を無効にする。さらに、情報制御部188は、選択領域内の点を示す新たな点情報を生成する(情報制御ステップ)。計測部187は、無効な点情報を除く点情報が示す2つ以上の点の3D座標に基づいて被写体の大きさを計測する(計測ステップ)。
計測部187は、無効である点情報が示す1つ以上の点の3D座標を計測に使用しない。計測部187は、無効ではない点情報が示す1つ以上の点の3D座標を計測に使用する。計測部187が使用する2つ以上の点の一部の点情報は、上記の処理の対象でなくてもよい。例えば、面基準計測が実行される場合、基準面を定義する3つの基準点の点情報は上記の処理の対象であってもよく、かつ1つの計測点の点情報は上記の処理の対象でなくてもよい。
領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを第1の選択領域として選択し、かつ第1の選択領域を除く1つ以上の特徴領域のうちの1つを第2の選択領域として選択してもよい。点入力部185が第1の選択領域および第2の選択領域以外の領域における点を受け付けた場合のみ、情報制御部188は、その点を示す点情報を無効にしてもよい。例えば、面基準計測が実行される場合、点入力部185が第1の選択領域における3つの基準点を受け付け、かつ点入力部185が第2の選択領域における1つの計測点を受け付けてもよい。
図27を使用することにより、第6の実施形態における3次元計測について説明する。図27は、3次元計測の手順を示す。図13、図21、および図24に示す処理と同じ処理の説明を省略する。
表示制御部183は、ステップS104において被写体の2D画像および特徴領域の画像を表示部5に表示する。点入力部185は、ステップS131において、被写体の2D画像上の点を受け付ける。領域選択部186は、ステップS122において1つの特徴領域を選択領域として選択する。
点入力部185は、ステップS109において、被写体の2D画像上の点を受け付ける。情報制御部188は、ステップS123において、その点に対応する特徴領域の画像上の位置を算出する。情報制御部188は、ステップS123において、その位置が選択領域内にあるか否かを判断する。
その位置が選択領域内にないと情報制御部188がステップS123において判断した場合、情報制御部188は、その点の点情報を無効にする(ステップS141)。ステップS141は、情報制御ステップに対応する。
例えば、情報制御部188は、点情報が無効であることを示す情報を生成し、かつその情報を点情報に付加する。情報制御部188は、点情報と、その点情報が無効であることを示す情報とを含むテーブルを管理してもよい。無効な点情報は、計測においてその点情報が示す点の使用の禁止を示す。情報制御部188は、点情報を破棄することによりその点情報を無効にしてもよい。
ステップS141の後、情報制御部188は、選択領域内の点を示す新たな点情報を生成する(ステップS142)。ステップS142は、情報制御ステップに対応する。
情報制御部188は、ステップS123において算出された位置に基づいて選択領域内の位置を算出する。例えば、情報制御部188は、ステップS123において算出された位置に最も近い位置を算出する。情報制御部188は、その位置を示す点情報を生成する。情報制御部188は、ステップS123において算出された位置と選択領域内の位置との間の距離、選択領域内の位置における明るさ、選択領域内の位置におけるコントラスト、およびマッチング処理において得られた相関値などに基づいて新たな点の位置を算出してもよい。ステップS142の後、ステップS110が実行される。
計測部187は、ステップS111において、無効ではない点情報が示す点のみの3D座標に基づいて被写体の大きさを計測する。無効ではない点情報が示す点は、選択領域内にある。選択領域内の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図28は、表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。図28は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ2D画像G11上の点を指定する。例えば、ユーザーは点P41を指定し、かつ点入力部185は点P41を受け付ける。点P41は、特徴領域R12内の点に対応する。情報制御部188は、ステップS123において、点P41に対応する画像G12上の点が特徴領域R11内にないと判断する。そのため、情報制御部188は、ステップS141において点P41の点情報を無効にする。さらに、情報制御部188は、ステップS142において、特徴領域R11に対応する領域内の点P42を示す新たな点情報を生成する。このとき、点P41のマークは表示されずに点P42のマークが表示されてもよい。図28に示す例では、点P42は、特徴領域R11に対応する領域内の点のうち点P41に最も近い。計測部187は点P41の3D座標を計測に使用せずに点P42の3D座標を計測に使用する。
図29は、表示部5に表示される画像の他の例を示す。図29に示す例では、ステップS104において被写体の2D画像は表示されない。図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が画像G12上に表示される。ステップS131において画像G12上の位置が操作部4を通して受け付けられた場合、領域選択部186は、ステップS122においてその位置に対応する特徴領域を選択する。図29は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ画像G12上の点を指定する。例えば、ユーザーは点P43を指定し、かつ点入力部185は点P43を受け付ける。点P43は、特徴領域R12内にある。情報制御部188は、ステップS123において、点P43が特徴領域R11内にないと判断する。そのため、情報制御部188は、ステップS141において点P43の点情報を無効にする。さらに、情報制御部188は、ステップS142において、特徴領域R11内の点P44を示す新たな点情報を生成する。このとき、点P43のマークは表示されずに点P44のマークが表示されてもよい。図29に示す例では、点P44は、特徴領域R11内の点のうち点P43に最も近い。計測部187は点P43の3D座標を計測に使用せずに点P44の3D座標を計測に使用する。
点入力部185が、特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14のいずれでもない領域(背景)内の点を受け付ける場合がある。その場合、情報制御部188は、ステップS123において、その点が特徴領域R11内にないと判断する。そのため、その点の点情報は無効であり、計測部187はその点の3D座標を計測に使用しない。
図27に示す3次元計測では、点入力部185が被写体上の第1の点をステップS131において受け付けた場合、領域選択部186は、その第1の点を含む特徴領域を選択領域としてステップS122において選択する。点入力部185が選択領域における第2の点をステップS109において受け付けた場合、計測部187は、ステップS111において、第1の点および第2の点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する。第2の点は第1の点と異なる。点入力部185が3つ以上の点を受け付けた場合、その3つ以上の点は上記の第1の点および第2の点を含む。選択領域内の2つ以上の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図28に示す例では、被写体の2D画像および特徴領域の画像が表示部5に表示され、かつその2D画像が点の入力に使用される。図29に示す例では、特徴領域の画像が表示部5に表示され、かつその画像が点の入力に使用される。表示部5に表示される画像と、点の入力に使用される画像との組み合わせはこの例に限らない。その組み合わせは、第3の実施形態と同様である。第6の実施形態において、特徴領域の画像の表示は必須ではない。
図27に示す3次元計測では、計測部187は、ステップS131において受け付けられた点を計測に使用する。その点は、特徴領域の選択のみに使用されてもよい。計測部187がその点を計測に使用する必要はない。
表示制御部183は、ステップS122において選択領域を強調表示してもよい。あるいは、表示制御部183は、ステップS122において選択領域のみを表示部5に表示してもよい。
表示部5および操作部4がタッチパネルとして構成されている場合、カーソルの表示は必須ではない。したがって、ステップS105、ステップS107、およびステップS108が実行される必要はない。CPU18は、カーソル算出部184の機能を有する必要はない。
3次元計測における処理の順番は、図27に示す順番に限らない。例えば、ステップS101、ステップS102、またはステップS103が実行される前に被写体の2D画像が表示部5に表示されてもよい。被写体の2D画像の代わりに点群データの3D画像が使用される場合、ステップS102またはステップS103が実行される前にその3D画像が表示部5に表示されてもよい。
第6の実施形態において、内視鏡装置1は、第1の制御を実行する。第1の制御において、点情報が選択領域内の点を示すように点情報が制御される。内視鏡装置1は、選択領域内の点の3D座標を計測に使用する。そのため、内視鏡装置1は、被写体上の点の正確な指定を支援することができる。ユーザーは、選択領域の境界上の点を容易に指定することができる。
(第7の実施形態)
本発明の第7の実施形態を説明する。第7の実施形態の内視鏡装置1は、図20に示すCPU18aを有する。第7の実施形態において、画像上のマークが1つの特徴領域外にあり、かつそのマークの位置にある点が受け付けられた場合、そのマークの位置はその特徴領域内の位置に変更される。
表示制御部183およびカーソル算出部184は、第2の制御を実行する。表示制御部183は、マークを画像上に表示する。カーソル算出部184は、マークの位置を1つ以上の特徴領域のうちの1つに対応する領域内に制限する。
表示制御部183は、点群データの3D画像および被写体の2D画像の一方を表示部5に表示する(画像表示ステップ)。領域選択部186は、領域検出部182によって検出された1つ以上の特徴領域のうちの1つを選択領域として選択する(領域選択ステップ)。領域検出部182が2つ以上の特徴領域を検出した場合、領域選択部186は、その2つ以上の特徴領域のうちの1つを選択領域として選択する。領域検出部182が1つのみの特徴領域を検出した場合、領域選択部186はその特徴領域を選択する。表示制御部183は、マークを点群データの3D画像および被写体の2D画像の一方上に表示する(マーク表示ステップ)。カーソル算出部184は、マークが表示される位置を、操作部4を通して受け付けられた情報に基づいて算出する(位置算出ステップ)。
選択領域に対応する領域内にマークが表示され、かつ点入力部185がそのマークの位置に対応する点を受け付けた場合、計測部187は、点情報が示す点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する(計測ステップ)。選択領域に対応する領域外にマークが表示され、かつ点入力部185がそのマークの位置に対応する点を受け付けた場合、そのマークは選択領域に対応する領域内に表示される。
表示制御部183は、マークを1つ以上の特徴領域の画像上に表示してもよい(マーク表示ステップ)。選択領域内にマークが表示され、かつ点入力部185がそのマークの位置に対応する点を受け付けた場合、計測部187は、点情報が示す点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測してもよい(計測ステップ)。選択領域外にマークが表示され、かつ点入力部185がそのマークの位置に対応する点を受け付けた場合、そのマークは選択領域内に表示されてもよい。マークが特徴領域の画像上に表示される場合、表示制御部183は、点群データの3D画像および被写体の2D画像を表示部5に表示する必要はない。
領域選択部186は、領域検出部182によって検出された2つ以上の特徴領域のうちの1つを第1の選択領域として選択し、かつ第1の選択領域を除く1つ以上の特徴領域のうちの1つを第2の選択領域として選択してもよい。マークが表示される位置は、第1の選択領域または第2の選択領域に対応する領域内に制限されてもよい。例えば、面基準計測が実行される場合、マークの位置は第1の選択領域に対応する領域内に制限され、かつ点入力部185が第1の選択領域における3つの基準点を受け付けてもよい。その後、マークの位置は第2の選択領域に対応する領域内に制限され、かつ点入力部185が第2の選択領域における1つの計測点を受け付けてもよい。
図30を使用することにより、第7の実施形態における3次元計測について説明する。図30は、3次元計測の手順を示す。図13、図21、図24、および図27に示す処理と同じ処理の説明を省略する。
表示制御部183は、ステップS104において被写体の2D画像および特徴領域の画像を表示部5に表示する。点入力部185は、ステップS131において、被写体の2D画像上の点を受け付ける。領域選択部186は、ステップS122において1つの特徴領域を選択領域として選択する。
点入力部185は、ステップS109において、被写体の2D画像上の点を受け付ける。情報制御部188は、ステップS123において、その点に対応する特徴領域の画像上の位置を算出する。情報制御部188は、ステップS123において、その位置が選択領域内にあるか否かを判断する。
その位置が選択領域内にないと情報制御部188がステップS123において判断した場合、情報制御部188は、ステップS141においてその点の点情報を無効にする。
ステップS141の後、カーソル算出部184は、被写体の2D画像上のカーソルの新たな位置を算出する(ステップS151)。ステップS151は、位置算出ステップに対応する。
カーソル算出部184は、ステップS123において算出された位置に基づいて選択領域内の位置を算出する。例えば、カーソル算出部184は、ステップS123において算出された位置に最も近い位置を算出する。カーソル算出部184は、ステップS123において算出された位置と選択領域内の位置との間の距離、選択領域内の位置における明るさ、選択領域内の位置におけるコントラスト、およびマッチング処理において得られた相関値などに基づいてカーソルの新たな位置を算出してもよい。ステップS151の後、ステップS108が実行される。
表示制御部183は、ステップS108において、カーソル算出部184によって算出された位置にカーソルを表示することによりカーソルを更新する。ステップS108が実行されたとき、カーソルは、選択領域に対応する2D画像の領域外の位置から選択領域に対応する2D画像の領域内の位置に移動する。
計測部187は、ステップS111において、無効ではない点情報が示す点のみの3D座標に基づいて被写体の大きさを計測する。無効ではない点情報が示す点は、選択領域内にある。選択領域内の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図31は、表示部5に表示される画像の例を示す。図14に示す2D画像G11と同じ2D画像G11および図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が2D画像G11上に表示される。図31は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ2D画像G11上の点を指定する。例えば、ユーザーは点P51を指定し、かつ点入力部185は点P51を受け付ける。点P51は、特徴領域R12内の点に対応する。情報制御部188は、ステップS123において、点P51に対応する画像G12上の点が特徴領域R11内にないと判断する。そのため、情報制御部188は、ステップS141において点P51の点情報を無効にする。カーソル算出部184は、ステップS151においてカーソルC11の新たな位置を算出する。その位置は、特徴領域R11内に対応する領域内にある。表示制御部183は、ステップS151においてその位置にカーソルC11を表示する。計測部187は点P51の3D座標を計測に使用しない。
図32は、表示部5に表示される画像の他の例を示す。図32に示す例では、ステップS104において被写体の2D画像は表示されない。図14に示す画像G12と同じ画像G12が表示部5に表示される。図15に示すカーソルC11と同じカーソルC11が画像G12上に表示される。ステップS131において画像G12上の位置が操作部4を通して受け付けられた場合、領域選択部186は、ステップS122においてその位置に対応する特徴領域を選択する。図32は、ステップS122において特徴領域R11が選択された後の状態を示す。
ユーザーは、カーソルC11を移動させ、かつ画像G12上の点を指定する。例えば、ユーザーは点P52を指定し、かつ点入力部185は点P52を受け付ける。点P52は、特徴領域R12内にある。情報制御部188は、ステップS123において、点P52が特徴領域R11内にないと判断する。そのため、情報制御部188は、ステップS141において点P52の点情報を無効にする。カーソル算出部184は、ステップS151においてカーソルC11の新たな位置を算出する。その位置は、特徴領域R11内にある。表示制御部183は、ステップS108においてその位置にカーソルC11を表示する。計測部187は点P52の3D座標を計測に使用しない。
点入力部185が、特徴領域R11、特徴領域R12、特徴領域R13、および特徴領域R14のいずれでもない領域(背景)内の点を受け付ける場合がある。その場合、情報制御部188は、ステップS123において、その点が特徴領域R11内にないと判断する。そのため、その点の点情報は無効であり、計測部187はその点の3D座標を計測に使用しない。
図30に示す3次元計測では、点入力部185が被写体上の第1の点をステップS131において受け付けた場合、領域選択部186は、その第1の点を含む特徴領域を選択領域としてステップS122において選択する。点入力部185が選択領域における第2の点をステップS109において受け付けた場合、計測部187は、ステップS111において、第1の点および第2の点を含む2つ以上の点の3D座標に基づいて被写体の大きさを計測する。第2の点は第1の点と異なる。点入力部185が3つ以上の点を受け付けた場合、その3つ以上の点は上記の第1の点および第2の点を含む。選択領域内の2つ以上の点が計測に使用されるため、内視鏡装置1は、ユーザーが意図しない点の使用を避けることができる。
図31に示す例では、被写体の2D画像および特徴領域の画像が表示部5に表示され、かつその2D画像が点の入力に使用される。図32に示す例では、特徴領域の画像が表示部5に表示され、かつその画像が点の入力に使用される。表示部5に表示される画像と、点の入力に使用される画像との組み合わせはこの例に限らない。その組み合わせは、第3の実施形態と同様である。第7の実施形態において、特徴領域の画像の表示は必須ではない。
図30に示す3次元計測では、計測部187は、ステップS131において受け付けられた点を計測に使用する。その点は、特徴領域の選択のみに使用されてもよい。計測部187がその点を計測に使用する必要はない。
表示制御部183は、ステップS122において選択領域を強調表示してもよい。あるいは、表示制御部183は、ステップS122において選択領域のみを表示部5に表示してもよい。
3次元計測における処理の順番は、図30に示す順番に限らない。例えば、ステップS101、ステップS102、またはステップS103が実行される前に被写体の2D画像が表示部5に表示されてもよい。被写体の2D画像の代わりに点群データの3D画像が使用される場合、ステップS102またはステップS103が実行される前にその3D画像が表示部5に表示されてもよい。
第7の実施形態において、内視鏡装置1は、第2の制御を実行する。第2の制御において、マークが画像上に表示され、かつマークの位置は選択領域に対応する領域内に制限される。内視鏡装置1は、選択領域内の点の3D座標を計測に使用する。そのため、内視鏡装置1は、被写体上の点の正確な指定を支援することができる。ユーザーは、選択領域の境界上の点を容易に指定することができる。
(第8の実施形態)
本発明の第8の実施形態を説明する。以下では、図11に示すPC41が計測装置である例を説明する。PC41は、被写体の2D画像を内視鏡装置1から取得し、かつ3次元計測を実行する。
内視鏡装置1の外部機器インタフェース16は、PC41と通信を実行する。具体的には、外部機器インタフェース16は、1枚以上の被写体の2D画像をPC41に送信する。PC41は、その2D画像を内視鏡装置1から受信する。
例えば、外部機器インタフェース16はケーブルあるいは無線でPC41と接続される。外部機器インタフェース16とPC41との間の通信は、LAN(Local Area Network)またはインターネットを経由して実行されてもよい。
図33は、PC41の構成を示す。図33に示すPC41は、通信部43、CPU44、および表示部45を有する。
通信部43は、内視鏡装置1の外部機器インタフェース16と通信を実行する。具体的には、通信部43は、1枚以上の被写体の2D画像を外部機器インタフェース16から受信する。CPU44は、3次元計測のための処理を実行する。表示部45は、LCD等のモニタ(ディスプレイ)である。表示部45は、表示画面を有し、かつ画像および操作メニュー等を表示画面に表示する。
図34は、CPU44の機能構成を示す。制御部440、生成部441、領域検出部442、表示制御部443、カーソル算出部444、点入力部445、領域選択部446、計測部447、および通信制御部448によってCPU44の機能が構成されている。図34に示すブロックの少なくとも1つがCPU44とは別の回路で構成されてもよい。
図34に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。図34に示す各部は、1つまたは複数のプロセッサを含むことができる。図34に示す各部は、1つまたは複数の論理回路を含むことができる。
制御部440は、各部が実行する処理を制御する。生成部441は、図12に示す生成部181の機能と同じ機能を持つ。領域検出部442は、図12に示す領域検出部182の機能と同じ機能を持つ。表示制御部443は、図12に示す表示制御部183の機能と同じ機能を持つ。カーソル算出部444は、図12に示すカーソル算出部184の機能と同じ機能を持つ。点入力部445は、図12に示す点入力部185の機能と同じ機能を持つ。領域選択部446は、図12に示す領域選択部186の機能と同じ機能を持つ。計測部447は、図12に示す計測部187の機能と同じ機能を持つ。通信制御部448は、通信部43を制御することにより、内視鏡装置1の外部機器インタフェース16と通信を実行する。
CPU44は、図13または図24に示す3次元計測を実行する。CPU44は、図20に示す情報制御部188の機能を持ってもよい。CPU44が情報制御部188の機能を持つ場合、CPU44は、図21、図27、または図30に示す3次元計測を実行してもよい。
CPU44は、CPU44の動作を規定する命令を含むプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。つまり、CPU44の機能はソフトウェアにより実現されてもよい。
内視鏡装置1が被写体の2D画像に基づいて点群データを生成し、かつ内視鏡装置1の外部機器インタフェース16がその2D画像およびその点群データをPC41に送信してもよい。PC41の通信部43は、その2D画像およびその点群データを外部機器インタフェース16から受信してもよい。したがって、CPU44が生成部181を有する必要はない。
第8の実施形態において、PC41は、被写体上の点の正確な指定を支援することができる。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。