(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022071822
(43)【公開日】2022-05-16
(54)【発明の名称】画像表示方法、表示制御装置、およびプログラム
(51)【国際特許分類】
G02B 23/24 20060101AFI20220509BHJP
A61B 1/00 20060101ALI20220509BHJP
G06T 17/00 20060101ALI20220509BHJP
【FI】
G02B23/24 B
A61B1/00 552
G06T17/00
【審査請求】未請求
【請求項の数】29
【出願形態】OL
(21)【出願番号】P 2021135768
(22)【出願日】2021-08-23
(31)【優先権主張番号】P 2020180445
(32)【優先日】2020-10-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000000376
【氏名又は名称】オリンパス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(74)【代理人】
【識別番号】100207789
【弁理士】
【氏名又は名称】石田 良平
(72)【発明者】
【氏名】坂本 陽平
【テーマコード(参考)】
2H040
4C161
5B080
【Fターム(参考)】
2H040BA04
2H040BA15
2H040GA02
2H040GA10
2H040GA11
4C161AA29
4C161CC06
4C161HH55
4C161LL02
4C161WW10
4C161WW13
5B080AA17
5B080AA19
5B080AA20
5B080BA04
5B080CA00
5B080FA02
5B080FA08
5B080GA00
(57)【要約】
【課題】被写体の2次元画像の少なくとも一部と関連する3次元座標を持つ位置を可視化する。
【解決手段】記憶制御部は、記憶ステップにおいて被写体の3次元データを記憶媒体に記憶させる。選択部は、第1の選択ステップにおいて基準画像を選択する。前記選択部は、第2の選択ステップにおいて、前記基準画像に基づいて、前記3次元データを生成するために使用された2次元画像である選択画像を選択する。推定部は、推定ステップにおいて、前記選択画像に関する第1のカメラ座標に基づいて、前記基準画像に関する第2のカメラ座標を推定する。表示制御部は、表示ステップにおいて、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
記憶制御部が被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶ステップであって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶ステップと、
選択部が前記被写体の2次元画像である基準画像を選択する第1の選択ステップと、
前記選択部が、前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する第2の選択ステップと、
推定部が前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定ステップと、
表示制御部が、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示ステップと、
を有する画像表示方法。
【請求項2】
前記被写体の前記画像は、3次元画像であり、
前記3次元画像は、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方を可視化し、かつ前記2つ以上の点のうちの1つ以上の前記3次元座標を可視化する
請求項1に記載の画像表示方法。
【請求項3】
前記3次元データはさらに、前記第1のカメラの姿勢を示す第1の姿勢情報を含み、
前記第1の姿勢情報は、前記2枚以上の2次元画像の各々と関連付けられており、
前記推定部はさらに、前記推定ステップにおいて、前記選択画像と関連付けられている前記第1の姿勢情報に基づいて前記第2のカメラの姿勢を推定し、推定された前記姿勢を示す第2の姿勢情報を生成し、
前記推定部はさらに、前記推定ステップにおいて、前記第2のカメラ座標および前記第2の姿勢情報に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、
前記3次元画像は、前記領域の前記1つ以上の点の前記3次元座標を可視化する
請求項2に記載の画像表示方法。
【請求項4】
前記表示制御部はさらに、前記表示ステップにおいて、前記領域の位置を示す情報を前記3次元画像に重畳する
請求項3に記載の画像表示方法。
【請求項5】
前記3次元画像が前記ディスプレイに表示された後、前記表示制御部が、前記3次元画像の視点を変更する視点変更ステップをさらに有する
請求項3に記載の画像表示方法。
【請求項6】
前記選択部は、前記第1の選択ステップにおいて2枚以上の前記基準画像を選択し、
前記表示制御部はさらに、前記表示ステップにおいて、前記2枚以上の前記基準画像間で共通の領域の位置を示す情報を前記ディスプレイに表示する
請求項3に記載の画像表示方法。
【請求項7】
前記3次元画像は、前記被写体の3次元形状を示す形状データの画像であり、
前記画像表示方法は、データ処理部が、前記被写体の前記2つ以上の点の前記3次元座標を前記形状データによって示される前記3次元形状と関連付ける関連付けステップをさらに有する
請求項3に記載の画像表示方法。
【請求項8】
前記表示制御部はさらに、前記表示ステップにおいて、前記基準画像の画角を示す画角情報を前記ディスプレイに表示する
請求項3に記載の画像表示方法。
【請求項9】
前記表示制御部はさらに、前記表示ステップにおいて、前記被写体の前記2つ以上の点に含まれる基準点と前記領域との間の3次元距離を前記ディスプレイに表示する
請求項3に記載の画像表示方法。
【請求項10】
前記被写体は、周期的に配置された2つ以上の部分領域を含み、
前記表示制御部はさらに、前記表示ステップにおいて、基準部分から注目部分までの前記部分領域の少なくとも一部の数を前記ディスプレイに表示し、前記基準部分は前記2つ以上の部分領域のうちの1つであり、前記注目部分は、前記基準部分と異なり前記領域と対応する前記部分領域である
請求項3に記載の画像表示方法。
【請求項11】
前記領域は、前記基準画像に写っている範囲の全体である
請求項3に記載の画像表示方法。
【請求項12】
前記領域は、前記基準画像に写っている範囲の一部である
請求項3に記載の画像表示方法。
【請求項13】
前記推定部は、前記推定ステップにおいて、前記第2のカメラ座標、前記第2の姿勢情報、および前記選択画像に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、
前記領域の前記1つ以上の点は、前記3次元データに含まれる前記3次元座標を持つ点と異なり、
前記3次元画像は、前記領域の前記1つ以上の点の前記3次元座標を可視化し、かつ前記3次元データに含まれる前記3次元座標のうち前記領域に含まれる1つ以上の点の前記3次元座標を可視化し、
前記3次元画像によって可視化される前記3次元座標を持つ点の密度は、前記被写体の前記2つ以上の点のうち前記領域に含まれる点の密度よりも高い
請求項3に記載の画像表示方法。
【請求項14】
前記選択部は、前記第1の選択ステップにおいて、予め設定された条件を満たす基準領域を含む前記基準画像を選択し、
前記推定部は、前記推定ステップにおいて、前記基準領域の1つ以上の点の3次元座標を推定する
請求項3に記載の画像表示方法。
【請求項15】
前記推定部は、前記推定ステップにおいて、前記第2のカメラ座標、前記第2の姿勢情報、および前記選択画像に基づいて、前記基準領域の前記1つ以上の点の前記3次元座標を推定し、
前記基準領域の前記1つ以上の点は、前記3次元データに含まれる前記3次元座標を持つ点と異なり、
前記3次元画像は、前記基準領域の前記1つ以上の点の前記3次元座標を可視化し、かつ前記3次元データに含まれる前記3次元座標のうち前記基準領域に含まれる1つ以上の点の前記3次元座標を可視化し、
前記3次元画像によって可視化される前記3次元座標を持つ点の密度は、前記被写体の前記2つ以上の点のうち前記基準領域に含まれる点の密度よりも高い
請求項14に記載の画像表示方法。
【請求項16】
前記3次元データはさらに、前記2枚以上の2次元画像の各々に含まれる第1の点の2次元座標を含み、
前記推定部は、前記推定ステップにおいて、前記第1のカメラ座標と、前記2枚以上の2次元画像のうちの1枚に含まれる前記第1の点の前記2次元座標と、前記第1の点と対応する前記基準画像の第2の点の2次元座標とに基づいて、前記第2のカメラ座標を推定する
請求項3に記載の画像表示方法。
【請求項17】
前記選択部は、前記第1の選択ステップにおいて、1枚以上の選択対象画像のうちの1枚を前記基準画像として選択し、
前記1枚以上の選択対象画像は、前記被写体の2次元画像であり、前記2枚以上の2次元画像に含まれない
請求項3に記載の画像表示方法。
【請求項18】
前記2枚以上の2次元画像の各々は、前記2枚以上の2次元画像に含まれる他の2次元画像と時間的に関連付けられている
請求項3に記載の画像表示方法。
【請求項19】
前記2枚以上の2次元画像の各々は、単眼のカメラによって取得された画像である
請求項18に記載の画像表示方法。
【請求項20】
前記選択部は、前記第2の選択ステップにおいて、前記2枚以上の2次元画像を互いに時間的に関連付ける時間情報を使用することにより前記2枚以上の2次元画像のうちの少なくとも1枚を前記選択画像として選択する
請求項18に記載の画像表示方法。
【請求項21】
前記被写体の前記画像は、2次元画像であり、
前記2次元画像は、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方と対応する2次元座標を可視化し、かつ前記2つ以上の点のうちの1つ以上の前記3次元座標と対応する2次元座標を可視化する
請求項1に記載の画像表示方法。
【請求項22】
前記3次元データはさらに、前記第1のカメラの姿勢を示す第1の姿勢情報を含み、
前記第1の姿勢情報は、前記2枚以上の2次元画像の各々と関連付けられており、
前記推定部はさらに、前記推定ステップにおいて、前記選択画像と関連付けられている前記第1の姿勢情報に基づいて前記第2のカメラの姿勢を推定し、推定された前記姿勢を示す第2の姿勢情報を生成し、
前記推定部はさらに、前記推定ステップにおいて、前記第2のカメラ座標および前記第2の姿勢情報に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、
前記2次元画像は、前記領域の前記1つ以上の点の前記3次元座標と対応する2次元座標を可視化する
請求項21に記載の画像表示方法。
【請求項23】
前記表示制御部はさらに、前記表示ステップにおいて、前記領域の位置を示す情報を前記2次元画像に重畳する
請求項22に記載の画像表示方法。
【請求項24】
生成部が前記3次元データを使用することにより前記2次元画像を生成する生成ステップをさらに有する
請求項21に記載の画像表示方法。
【請求項25】
前記生成部は、前記生成ステップにおいて、第1の視点から見た前記被写体の前記2次元画像である第1の画像を生成し、かつ前記第1の視点と異なる第2の視点から見た前記被写体の前記2次元画像である第2の画像を生成し、
前記表示制御部は、前記表示ステップにおいて、前記第1の画像および前記第2の画像を前記ディスプレイに表示する
請求項24に記載の画像表示方法。
【請求項26】
前記基準画像は、前記被写体の情報と予め関連付けられており、
前記画像表示方法は、前記表示ステップが実行され、かつ前記基準画像を選択する指示が入力された場合に前記表示制御部が前記指示によって示される前記基準画像と関連付けられている前記情報を前記ディスプレイに表示する情報表示ステップをさらに有する
請求項21に記載の画像表示方法。
【請求項27】
前記2次元画像は、前記被写体の2次元形状を示す形状データの画像であり、
前記画像表示方法は、データ処理部が、前記被写体の前記2つ以上の点の前記3次元座標と対応する2次元座標を前記形状データによって示される前記2次元形状と関連付ける関連付けステップをさらに有する
請求項21に記載の画像表示方法。
【請求項28】
被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶制御部であって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶制御部と、
前記被写体の2次元画像である基準画像を選択し、前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する選択部と、
前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定部と、
前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示制御部と、
を有する表示制御装置。
【請求項29】
被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶ステップであって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶ステップと、
前記被写体の2次元画像である基準画像を選択する第1の選択ステップと、
前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する第2の選択ステップと、
前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定ステップと、
前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像表示方法、表示制御装置、およびプログラムに関する。
【背景技術】
【0002】
工業用の内視鏡装置は、ボイラー、ガスタービン、自動車エンジン、およびパイプ等の内部の異常(傷および腐食等)の検査に使用されている。内視鏡検査において、異常の有無および異常の深刻さを検査の証拠として残すために検査の作業者は検査中に静止画を記録する。内視鏡検査が完了した後、検査レポートが生成される。一般的に、記録された静止画に写っている異常の状態などを示すテキストがその静止画と一緒に検査レポートに付加される。
【0003】
位置情報が、異常に関する付加事項に含まれる。位置情報は、記録された静止画が検査対象物において取得された位置を示す。発見された異常の位置情報は、異常な部位を交換または修理する際、あるいは次回の検査が実施される際に重要である。検査の作業者は、位置情報を得るために、スコープの挿入部に印字された目印から位置を読み取る。その目印は、検査対象物に挿入された挿入部の部分の長さ(挿入長)を示す。作業者は、その位置をメモに書き取る。
【0004】
しかしながら、上記のような検査では、以下の4つの理由などにより作業者が異常の位置情報を把握することが困難になる場合がある。
【0005】
(1)作業者が、直管のような比較的単純な構造物における部位の大よその位置を知ることはできる。複雑な形状を有する構造物が検査される場合(例えばタービン検査など)には、作業者が異常な部位の位置を挿入長のみから知ることは困難である。
【0006】
(2)直管のような単純な構造物が検査される場合であっても、挿入長をメモに書き取る行為が作業者には面倒である。
【0007】
(3)安全が脅かされる過酷な検査環境では、検査中に挿入長をメモに書き取る時間的、精神的、または肉体的な余裕がない。
【0008】
(4)作業者が挿入長をメモに書き取り忘れる。
【0009】
上記の問題を解決する方法の1つとして、検査中に記録された静止画を、検査対象物の3次元形状(3D形状)を示す3次元データ(3Dデータ)と関連付け、かつその静止画が取得された位置を可視化するという方法がある。このような方法を使用することにより、静止画が取得された検査対象物の位置が明確になる。
【0010】
例えば、シェーマ図と静止画とを互いに関連付け、シェーマ図および静止画を可視化する方法が特許文献1に開示されている。シェーマ図は、生体の内部構造を模式的に表す。シェーマ図と関連付けられた音声またはテキストと、静止画と関連付けられた音声またはテキストとを照合することにより、静止画が取得された位置が特定される。
【0011】
検査対象物の動画と、CT(Computed Tomography)装置またはMRI(Magnetic Resonance Imaging)装置によって取得された3次元画像とを互いに関連付け、かつ動画または静止画を可視化する方法が特許文献2に開示されている。内視鏡で撮影された臓器の仮想的な画像が生成される。その画像と動画のフレームとを照合することにより、動画のフレームと対応する検査対象物の位置が特定される。
【0012】
検査中に記録された2枚以上の2次元画像と対応する3次元点群を検査対象物の3次元画像(3D画像)上に表示する方法が特許文献3に開示されている。特許文献3に開示された装置は、検査中に記録された2枚以上の静止画または検査中に記録された動画を使用する。その装置は、検査対象物の3D形状を再構成し、その3D形状の3D画像を表示する。その装置は、その3D画像上の任意の位置をユーザーから受け付け、その位置を含む領域を抽出する。その装置は、その領域が写っている静止画を表示する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特許第5451718号公報
【特許文献2】特許第6608111号公報
【特許文献3】特開2017-130049号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
特許文献1および特許文献2に開示された技術は、検査対象物の3Dデータと、検査中に記録された静止画とを関連付け、3Dデータおよび静止画を可視化することはできる。そのため、作業者は、静止画が取得された検査対象物の位置を把握することができる。しかしながら、作業者が把握できる位置は、検査対象物の特徴的な部位(例えば、分岐構造)に限定される可能性がある。また、特許文献1では、音声またはテキストを静止画と関連付ける作業が作業者にとって面倒である。
【0015】
特許文献3に開示された装置は、ユーザーによって3D画像上で指定された特定の領域が写っている静止画を表示する。しかしながら、その装置は、ユーザーが注目する静止画と対応する3D形状の領域を検出せず、その3D形状におけるその領域の位置を表示しない。
【0016】
検査対象物の位置を把握するために3Dデータと関連付けられる画像は静止画に限らない。ユーザーが動画記録中に特定のフレームに注目フレームを示すタグを付け、その特定のフレームに写っている注目領域(異常など)の画像が3Dデータと関連付けられてもよい。機械学習などを利用することにより異常が自動でフレームから検出され、そのフレームまたはそのフレーム内の領域が3Dデータと関連付けられてもよい。上記の画像が3Dデータと関連付けられているため、作業者および検査承認者は3Dデータ上の位置を把握することができる。しかしながら、上記に関する説明は特許文献1から特許文献3のいずれにおいても記載されていない。
【0017】
本発明は、被写体の2次元画像の少なくとも一部と関連する3次元座標を持つ位置を可視化することができる画像表示方法、表示制御装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明は、記憶制御部が被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶ステップであって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶ステップと、選択部が前記被写体の2次元画像である基準画像を選択する第1の選択ステップと、前記選択部が、前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する第2の選択ステップと、推定部が前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定ステップと、表示制御部が、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示ステップと、を有する画像表示方法である。
【0019】
本発明の画像表示方法において、前記被写体の前記画像は、3次元画像であり、前記3次元画像は、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方を可視化し、かつ前記2つ以上の点のうちの1つ以上の前記3次元座標を可視化する。
【0020】
本発明の画像表示方法において、前記3次元データはさらに、前記第1のカメラの姿勢を示す第1の姿勢情報を含み、前記第1の姿勢情報は、前記2枚以上の2次元画像の各々と関連付けられており、前記推定部はさらに、前記推定ステップにおいて、前記選択画像と関連付けられている前記第1の姿勢情報に基づいて前記第2のカメラの姿勢を推定し、推定された前記姿勢を示す第2の姿勢情報を生成し、前記推定部はさらに、前記推定ステップにおいて、前記第2のカメラ座標および前記第2の姿勢情報に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、前記3次元画像は、前記領域の前記1つ以上の点の前記3次元座標を可視化する。
【0021】
本発明の画像表示方法において、前記表示制御部はさらに、前記表示ステップにおいて、前記領域の位置を示す情報を前記3次元画像に重畳する。
【0022】
本発明の画像表示方法は、前記3次元画像が前記ディスプレイに表示された後、前記表示制御部が、前記3次元画像の視点を変更する視点変更ステップをさらに有する。
【0023】
本発明の画像表示方法において、前記選択部は、前記第1の選択ステップにおいて2枚以上の前記基準画像を選択し、前記表示制御部はさらに、前記表示ステップにおいて、前記2枚以上の前記基準画像間で共通の領域の位置を示す情報を前記ディスプレイに表示する。
【0024】
本発明の画像表示方法において、前記3次元画像は、前記被写体の3次元形状を示す形状データの画像であり、前記画像表示方法は、データ処理部が、前記被写体の前記2つ以上の点の前記3次元座標を前記形状データによって示される前記3次元形状と関連付ける関連付けステップをさらに有する。
【0025】
本発明の画像表示方法において、前記表示制御部はさらに、前記表示ステップにおいて、前記基準画像の画角を示す画角情報を前記ディスプレイに表示する。
【0026】
本発明の画像表示方法において、前記表示制御部はさらに、前記表示ステップにおいて、前記被写体の前記2つ以上の点に含まれる基準点と前記領域との間の3次元距離を前記ディスプレイに表示する。
【0027】
本発明の画像表示方法において、前記被写体は、周期的に配置された2つ以上の部分領域を含み、前記表示制御部はさらに、前記表示ステップにおいて、基準部分から注目部分までの前記部分領域の少なくとも一部の数を前記ディスプレイに表示し、前記基準部分は前記2つ以上の部分領域のうちの1つであり、前記注目部分は、前記基準部分と異なり前記領域と対応する前記部分領域である。
【0028】
本発明の画像表示方法において、前記領域は、前記基準画像に写っている範囲の全体である。
【0029】
本発明の画像表示方法において、前記領域は、前記基準画像に写っている範囲の一部である。
【0030】
本発明の画像表示方法において、前記推定部は、前記推定ステップにおいて、前記第2のカメラ座標、前記第2の姿勢情報、および前記選択画像に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、前記領域の前記1つ以上の点は、前記3次元データに含まれる前記3次元座標を持つ点と異なり、前記3次元画像は、前記領域の前記1つ以上の点の前記3次元座標を可視化し、かつ前記3次元データに含まれる前記3次元座標のうち前記領域に含まれる1つ以上の点の前記3次元座標を可視化し、前記3次元画像によって可視化される前記3次元座標を持つ点の密度は、前記被写体の前記2つ以上の点のうち前記領域に含まれる点の密度よりも高い。
【0031】
本発明の画像表示方法において、前記選択部は、前記第1の選択ステップにおいて、予め設定された条件を満たす基準領域を含む前記基準画像を選択し、前記推定部は、前記推定ステップにおいて、前記基準領域の1つ以上の点の3次元座標を推定する。
【0032】
本発明の画像表示方法において、前記推定部は、前記推定ステップにおいて、前記第2のカメラ座標、前記第2の姿勢情報、および前記選択画像に基づいて、前記基準領域の前記1つ以上の点の前記3次元座標を推定し、前記基準領域の前記1つ以上の点は、前記3次元データに含まれる前記3次元座標を持つ点と異なり、前記3次元画像は、前記基準領域の前記1つ以上の点の前記3次元座標を可視化し、かつ前記3次元データに含まれる前記3次元座標のうち前記基準領域に含まれる1つ以上の点の前記3次元座標を可視化し、前記3次元画像によって可視化される前記3次元座標を持つ点の密度は、前記被写体の前記2つ以上の点のうち前記基準領域に含まれる点の密度よりも高い。
【0033】
本発明の画像表示方法において、前記3次元データはさらに、前記2枚以上の2次元画像の各々に含まれる第1の点の2次元座標を含み、前記推定部は、前記推定ステップにおいて、前記第1のカメラ座標と、前記2枚以上の2次元画像のうちの1枚に含まれる前記第1の点の前記2次元座標と、前記第1の点と対応する前記基準画像の第2の点の2次元座標とに基づいて、前記第2のカメラ座標を推定する。
【0034】
本発明の画像表示方法において、前記選択部は、前記第1の選択ステップにおいて、1枚以上の選択対象画像のうちの1枚を前記基準画像として選択し、前記1枚以上の選択対象画像は、前記被写体の2次元画像であり、前記2枚以上の2次元画像に含まれない。
【0035】
本発明の画像表示方法において、前記2枚以上の2次元画像の各々は、前記2枚以上の2次元画像に含まれる他の2次元画像と時間的に関連付けられている。
【0036】
本発明の画像表示方法において、前記2枚以上の2次元画像の各々は、単眼のカメラによって取得された画像である。
【0037】
本発明の画像表示方法において、前記被写体の前記画像は、2次元画像であり、前記2次元画像は、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方と対応する2次元座標を可視化し、かつ前記2つ以上の点のうちの1つ以上の前記3次元座標と対応する2次元座標を可視化する。
【0038】
本発明の画像表示方法において、前記3次元データはさらに、前記第1のカメラの姿勢を示す第1の姿勢情報を含み、前記第1の姿勢情報は、前記2枚以上の2次元画像の各々と関連付けられており、前記推定部はさらに、前記推定ステップにおいて、前記選択画像と関連付けられている前記第1の姿勢情報に基づいて前記第2のカメラの姿勢を推定し、推定された前記姿勢を示す第2の姿勢情報を生成し、前記推定部はさらに、前記推定ステップにおいて、前記第2のカメラ座標および前記第2の姿勢情報に基づいて、前記基準画像に写っている前記被写体の領域の1つ以上の点の3次元座標を推定し、前記2次元画像は、前記領域の前記1つ以上の点の前記3次元座標と対応する2次元座標を可視化する。
【0039】
本発明の画像表示方法において、前記表示制御部はさらに、前記表示ステップにおいて、前記領域の位置を示す情報を前記2次元画像に重畳する。
【0040】
本発明の画像表示方法は、生成部が前記3次元データを使用することにより前記2次元画像を生成する生成ステップをさらに有する。
【0041】
前記生成部は、前記生成ステップにおいて、第1の視点から見た前記被写体の前記2次元画像である第1の画像を生成し、かつ前記第1の視点と異なる第2の視点から見た前記被写体の前記2次元画像である第2の画像を生成し、前記表示制御部は、前記表示ステップにおいて、前記第1の画像および前記第2の画像を前記ディスプレイに表示する。
【0042】
本発明の画像表示方法において、前記基準画像は、前記被写体の情報と予め関連付けられており、前記画像表示方法は、前記表示ステップが実行され、かつ前記基準画像を選択する指示が入力された場合に前記表示制御部が前記指示によって示される前記基準画像と関連付けられている前記情報を前記ディスプレイに表示する情報表示ステップをさらに有する。
【0043】
本発明の画像表示方法において、前記2次元画像は、前記被写体の2次元形状を示す形状データの画像であり、前記画像表示方法は、データ処理部が、前記被写体の前記2つ以上の点の前記3次元座標と対応する2次元座標を前記形状データによって示される前記2次元形状と関連付ける関連付けステップをさらに有する。
【0044】
本発明の画像表示方法において、前記選択部は、前記第2の選択ステップにおいて、前記2枚以上の2次元画像を互いに時間的に関連付ける時間情報を使用することにより前記2枚以上の2次元画像のうちの少なくとも1枚を前記選択画像として選択する。
【0045】
本発明は、被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶制御部であって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶制御部と、前記被写体の2次元画像である基準画像を選択し、前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する選択部と、前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定部と、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示制御部と、を有する表示制御装置である。
【0046】
本発明は、被写体の2枚以上の2次元画像に基づいて生成された3次元データを記憶媒体に記憶させる記憶ステップであって、前記3次元データは、前記被写体の2つ以上の点の3次元座標および第1のカメラ座標を含み、前記第1のカメラ座標は、前記2枚以上の2次元画像の各々を取得した第1のカメラの3次元座標であり、かつ前記2枚以上の2次元画像の各々と関連付けられている前記記憶ステップと、前記被写体の2次元画像である基準画像を選択する第1の選択ステップと、前記基準画像に基づいて、前記2枚以上の2次元画像のうちの少なくとも1枚を選択画像として選択する第2の選択ステップと、前記選択画像と関連付けられている前記第1のカメラ座標に基づいて、前記基準画像を取得した第2のカメラの3次元座標である第2のカメラ座標を推定する推定ステップと、前記第2のカメラ座標と、前記第2のカメラ座標に基づいて算出された前記被写体の1つ以上の点の3次元座標との少なくとも一方が示す位置を可視化する前記被写体の画像をディスプレイに表示する表示ステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0047】
本発明によれば、画像表示方法、表示制御装置、およびプログラムは、被写体の2次元画像の少なくとも一部と関連する3次元座標を持つ位置を可視化することができる。
【図面の簡単な説明】
【0048】
【
図1】本発明の第1の実施形態によるPCの構成を示すブロック図である。
【
図2】本発明の第1の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図3】本発明の第1の実施形態における画像取得の状況を示す模式図である。
【
図4】本発明の第1の実施形態における3次元モデルを生成するための処理の手順を示すフローチャートである。
【
図5】本発明の第1の実施形態におけるカメラの位置および姿勢を推定するための処理の手順を示すフローチャートである。
【
図6】本発明の第1の実施形態における画像取得の状況を示す模式図である。
【
図7】本発明の第1の実施形態におけるカメラの位置および姿勢を推定するための処理を示す模式図である。
【
図8】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図9】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図10】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図11】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図12】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図13】本発明の第1の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図14】本発明の第1の実施形態による内視鏡装置の全体構成を示す斜視図である。
【
図15】本発明の第1の実施形態による内視鏡装置の内部構成を示すブロック図である。
【
図16】本発明の第1の実施形態の第1の変形例によるPCの構成を示すブロック図である。
【
図17】本発明の第1の実施形態の第1の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図18】本発明の第1の実施形態の第1の変形例によるPCが有する表示部の表示画面の例を示す図である。
【
図19】本発明の第1の実施形態の第2の変形例における被写体の2次元画像の例を示す図である。
【
図20】本発明の第1の実施形態の第4の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図21】本発明の第1の実施形態の第4の変形例によるPCが有する表示部の表示画面の例を示す図である。
【
図22】本発明の第1の実施形態の第5の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図23】本発明の第1の実施形態の第5の変形例によるPCが有する表示部の表示画面の例を示す図である。
【
図24】本発明の第1の実施形態の第6の変形例によるPCの構成を示すブロック図である。
【
図25】本発明の第1の実施形態の第6の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図26】本発明の第2の実施形態によるPCの構成を示すブロック図である。
【
図27】本発明の第2の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図28】本発明の第2の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図29】本発明の第2の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図30】本発明の第3の実施形態によるPCの構成を示すブロック図である。
【
図31】本発明の第3の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図32】本発明の第3の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図33】本発明の第4の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図34】本発明の第4の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図35】本発明の第4の実施形態の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図36】本発明の第4の実施形態の変形例によるPCが有する表示部の表示画面の例を示す図である。
【
図37】本発明の第5の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図38】本発明の第5の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図39】本発明の第6の実施形態による画像表示システムの構成を示すブロック図である。
【
図40】本発明の第6の実施形態によるPCの構成を示すブロック図である。
【
図41】本発明の第6の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図42】本発明の第7の実施形態によるPCの構成を示すブロック図である。
【
図43】本発明の第7の実施形態によるPCが実行する処理の手順を示すフローチャートである。
【
図44】本発明の第7の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図45】本発明の第7の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図46】本発明の第7の実施形態によるPCが有する表示部の表示画面の例を示す図である。
【
図47】本発明の第7の実施形態の変形例によるPCが実行する処理の手順を示すフローチャートである。
【
図48】本発明の第7の実施形態の変形例における検査レポートの例を示す図である。
【
図49】本発明の第7の実施形態の変形例における検査レポートに添付された注目領域の情報を示す図である。
【発明を実施するための形態】
【0049】
以下、図面を参照し、本発明の実施形態を説明する。
【0050】
(第1の実施形態)
図1は、本発明の第1の実施形態によるPC(Personal Computer)41の構成を示す。例えば、PC41は、デスクトップPCである。PC41は、携帯性を有するラップトップPCまたはタブレット端末であってもよい。PC41は、クラウド上で動作するコンピュータシステムであってもよい。
図1に示すPC41は、CPU43、操作部44、表示部45、通信部46、およびメモリ47を有する。PC41は、表示制御装置として機能する。
【0051】
操作部44は、ユーザーインタフェースである。例えば、操作部44は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。操作部44は、PC41に対するユーザーの操作を受け付ける。ユーザーは、操作部44を操作することにより、各種情報をPC41に入力することができる。操作部44は、ユーザーが入力した情報を受け付け、その情報をCPU43に出力する。
【0052】
表示部45は、表示画面を有し、かつ検査対象物内の被写体の3Dモデル等を表示画面に表示する。表示部45は、LCD(Liquid Crystal Display)等のモニタ(ディスプレイ)である。表示部45は、タッチパネルであってもよい。その場合、操作部44および表示部45は一体化される。
【0053】
通信部46は、内視鏡装置等の外部装置と通信を実行する。例えば、通信部46はケーブルあるいは無線で外部装置と接続される。通信部46と外部装置との間の通信は、LAN(Local Area Network)またはインターネットを経由して実行されてもよい。
【0054】
メモリ47は、揮発性または不揮発性のメモリである。例えば、メモリ47は、RAM(Random Access Memory)、DRAM(DynamicRandom Access Memory)、SRAM(Static Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、およびフラッシュメモリの少なくとも1つである。メモリ47は、画像等を記憶する。
【0055】
本発明の各実施形態において内視鏡装置が被写体の画像(画像データ)を取得する。しかしながら、画像を取得する装置は内視鏡装置に限らない。カメラを有する装置が画像を取得し、かつPC41がその画像を取得してもよい。カメラを有する装置が画像を取得し、かつその画像がメモリカードのような記憶媒体に記憶されてもよい。PC41はその画像をその記憶媒体から取得してもよい。PC41がカメラを有し、かつそのカメラが画像を取得してもよい。
【0056】
CPU43は、PC41の動作を制御する。CPU43の機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、および記憶制御部436を含む。
図3に示すCPU43内のブロックの少なくとも1つがCPU43と異なる回路で構成されてもよい。
【0057】
CPU43内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field-Programmable Gate Array)の少なくとも1つである。CPU43内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43内の各部は、1つまたは複数の論理回路を含むことができる。
【0058】
画像取得部430は、通信部46を制御することにより、2枚以上の静止画を含む静止画群を内視鏡装置から取得する。静止画は被写体の2次元画像(2D画像)である。そのため、画像取得部430は、2枚以上の2D画像を取得する。静止画群は、互いに時間的に関連付けられた2枚以上の2D画像を含む動画であってもよい。
【0059】
ユーザーは、操作部44を操作することにより、被写体の3次元モデル(3Dモデル)を生成するための条件を示す情報をPC41に入力する。条件受付部431は、ユーザーが入力した情報に基づいて、被写体の3Dモデルを生成するための条件を受け付ける。具体的には、その条件は、カメラの内部パラメーター、カメラの歪み補正パラメーター、設定値、および基準長等を含む。設定値は、3Dモデルを生成するための各種処理に使用される。基準長は、3Dモデルを実際の被写体のスケールと合わせるために使用される。
【0060】
3Dモデル生成部432は、静止画群に含まれる2枚以上の2D画像に基づいて被写体の3Dモデルを生成(再構成)する。3Dモデル生成部432が静止画群に含まれる全ての2D画像を使用する必要はない。静止画群が3枚以上の2D画像を含む場合、3Dモデル生成部432は、静止画群の全てまたは一部に基づいて3Dモデルを生成する。3Dモデルは被写体の3次元データ(3Dデータ)である。3Dモデルは、被写体の2つ以上の点(3次元点群)の3次元座標(3D座標)、カメラ座標、および姿勢情報を含む。
【0061】
カメラ座標(第1のカメラ座標)は、2枚以上の2D画像の各々を取得したカメラ(第1のカメラ)の3D座標であり、かつ2枚以上の2D画像の各々と関連付けられている。カメラ座標は、2D画像が取得されたときの視点の3D座標である。例えば、カメラ座標は、カメラが有する観察光学系の3D座標である。姿勢情報(第1の姿勢情報)は、2枚以上の2D画像の各々を取得したカメラの姿勢を示し、かつ2枚以上の2D画像の各々と関連付けられている。例えば、姿勢情報は、カメラが有する観察光学系の姿勢を示す。
【0062】
被写体の2つ以上の点の各々は2D画像に写っている。本明細書では、便宜上、「点」という言葉を使っているが、被写体の点は画面上の1ピクセルに対応する1点である必要はない。被写体の点は、任意の大きさの領域を含んでもよい。被写体の点は、サブピクセル単位で指定できる領域を含んでもよい。
【0063】
3Dモデルは、2枚以上の2D画像の各々に含まれる点の2D座標を含む。3Dモデルにおいて3D座標および2D座標は互いに関連付けられている。3Dモデルにおいて3D座標および2D座標は、その2D座標が含まれる2D画像と関連付けられている。
【0064】
画像選択部433は、注目領域が写っている基準フレーム(基準画像)を静止画群から選択する。注目領域は、3Dモデル上の位置を可視化するためにユーザーまたはコンピュータによって指定された特定の領域を指す。注目領域と対応する3Dモデル上の位置が可視化される。注目領域は主に、特定の画像全体と、特定の画像に写っている特定の被写体の領域とに分類される。
【0065】
注目領域が特定の画像全体である例を説明する。例えば、注目領域は、検査中に取得された静止画の全体領域である。全体領域は、静止画に写っている範囲の全体である。注目領域は、機械学習などの技術手段を使用することにより異常が自動で検出された画像の全体領域であってもよい。注目領域は、動画が記録されている間にユーザーがタグを付けた画像の全体領域であってもよい。
【0066】
注目領域が特定の被写体の領域である例を説明する。例えば、注目領域は、検査中または検査後に、特定の画像においてユーザーが指定した被写体の特定の領域である。つまり、注目領域は、静止画の部分領域である。部分領域は、静止画に写っている範囲の一部である。注目領域は、異常が自動で検出された画像に含まれる特定の領域であってもよい。
【0067】
したがって、注目領域は、静止画群に含まれる1枚の静止画の全体または一部である。注目領域は、上記の例に限らない。画像選択部433は、2枚以上の基準フレームを静止画群から選択してもよい。
【0068】
また、画像選択部433は、静止画群に含まれ、かつ3Dモデルを生成するために使用された2枚以上の画像のうちの少なくとも1枚の画像(選択画像)を選択する。以下では、3Dモデルを生成するために使用された2枚以上の画像をキーフレームと呼ぶ。また、画像選択部433によって選択されたキーフレームを選択フレームと呼ぶ。画像選択部433によって選択された基準フレームおよび選択フレームは、推定部434によって使用される。
【0069】
前述したように、3Dモデルはカメラ座標および姿勢情報を含み、カメラ座標および姿勢情報は静止画群に含まれる静止画と関連付けられている。選択フレームは静止画群に含まれる。推定部434は、選択フレームと関連付けられているカメラ座標に基づいて、基準フレームを取得したカメラ(第2のカメラ)の3D座標(第2のカメラ座標)を推定する。
【0070】
推定部434はさらに、基準フレームを取得したカメラの姿勢を推定し、推定された姿勢を示す姿勢情報(第2の姿勢情報)を生成する。推定部434は、基準フレームを取得したカメラのカメラ座標および姿勢情報に基づいて、基準フレームに写っている被写体の領域の3D座標を推定する。これにより、推定部434は、注目領域と対応する3Dモデル上の位置を推定する。
【0071】
表示制御部435は、画像を表示部45に出力することにより、画像を表示部45に表示する。また、表示制御部435は、画像に情報を重畳し、かつその画像を表示部45に出力する。これにより、表示制御部435は、情報が重畳された画像を表示部45に表示する。具体的には、表示制御部435は、3Dモデルに含まれる3D座標を可視化する3次元画像(3D画像)を表示部45に表示する。また、表示制御部435は、基準フレームを取得したカメラのカメラ座標と、注目領域と対応する3Dモデルの領域の位置との少なくとも一方を3D画像上に表示する。また、表示制御部435は、ユーザーに提示される各種情報を表示部45に表示する。
【0072】
記憶制御部436は、内視鏡装置から取得された静止画群をメモリ47に記憶させる。記憶制御部436は、条件受付部431によって受け付けられた条件をメモリ47に記憶させる。記憶制御部436は、3Dモデル生成部432によって生成された3Dモデルをメモリ47に記憶させる。記憶制御部436は、上記の情報およびデータに加えて、CPU43によって処理された各種情報および各種データをメモリ47に記憶させる。
【0073】
CPU43が、プログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。そのプログラムは、CPU43の動作を規定する命令を含む。つまり、CPU43の機能はソフトウェアにより実現されてもよい。そのプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。そのプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波によりPC41に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク(通信網)および電話回線等の通信回線(通信線)を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル(差分プログラム)であってもよい。前述した機能は、コンピュータに既に記録されているプログラムと差分プログラムとの組合せによって実現されてもよい。
【0074】
PC41は、ユーザーから情報を受け付けずに処理を実行してもよい。そのため、PC41が操作部44を有する必要はない。PC41は、画像等を表示するためにPC41の外部の表示部を使用してもよい。そのため、PC41が表示部45を有する必要はない。PC41が、静止画群を取得するカメラを有する場合、PC41は静止画群を内視鏡装置から取得する必要はない。そのため、PC41が通信部46を有する必要はない。メモリ47は、PC41への装着とPC41からの取り外しとが可能であるように構成されてもよい。そのため、PC41がメモリ47を有する必要はない。
【0075】
図2を参照し、3Dモデルの生成および注目領域の表示のために実行される処理の手順を説明する。
図2は、CPU43が実行する処理の手順を示す。PC41は、静止画群、3Dモデルを生成するための条件、および注目領域の情報に基づいて処理を実行する。これにより、PC41は、注目領域と対応する3Dモデル上の位置を可視化する。
【0076】
第1の実施形態では、注目領域は、内視鏡を使用する検査中にユーザーからの指示に従って記録された静止画の全体領域である。また、静止画群は動画であり、静止画が記録されたタイミングは、検査中に記録された動画ファイルと関連付けられている。静止画が記録されたタイミングが動画ファイルと関連付けられていない例は、第1の実施形態の第3の変形例において説明する。ユーザーが注目領域を設定せず、装置が注目領域を自動的に設定する例は、第3の実施形態において説明する。
【0077】
画像取得部430は、通信部46を制御することにより、2枚以上の静止画(2D画像)を含む静止画群を内視鏡装置から取得する。記憶制御部436は、静止画群をメモリ47に記憶させる(ステップS101)。
【0078】
ステップS101の後、ユーザーは、被写体の3Dモデルを生成するための条件を示す情報をPC41に入力する。条件受付部431は、ユーザーがPC41に入力した情報に基づいて、被写体の3Dモデルを生成するための条件を受け付ける。記憶制御部436は、その条件をメモリ47に記憶させる(ステップS102)。前述したように、その条件は、カメラの内部パラメーター、カメラの歪み補正パラメーター、設定値、および基準長等を含む。これらの条件の全てをユーザーが指定する必要はない。CPU43がこれらの条件の少なくとも1つを自動的に設定してもよい。
【0079】
ステップS102の後、3Dモデル生成部432は、静止画群に含まれる2枚以上の2D画像と、3Dモデルを生成するための条件とに基づいて、被写体の3Dモデルを生成する(ステップS103)。3Dモデル生成部432が静止画群に含まれる全ての2D画像を使用する必要はない。
【0080】
3Dモデル生成部432が実行する具体的な処理の手順について説明する。3Dモデル生成部432は、画像取得部430によって取得された静止画群と、条件受付部431によって受け付けられた条件とを使用する。以下では、3Dモデル生成部432が、静止画群に含まれる2枚の画像(静止画)を使用する例について説明する。2枚の画像を撮影したとき、カメラの2つの視点は互いに異なる。3枚以上の画像が使用される場合でも、基本原理は、2枚の画像が使用される場合と変わらない。以下で説明される方法は、3枚以上の画像が使用される場合にも適用できる。
【0081】
以下で説明される方法では、互いに異なる2つの視点において取得された2枚の画像の各々における特徴点が検出され、複数の特徴点が互いに関連付けられる。また、以下で説明される方法では、複数の特徴点に基づいてカメラの位置、カメラの姿勢、および特徴点の3D座標が推定される。特徴点の情報を使用する方法は、Indirect Methodと呼ばれる。本発明の各実施形態に適用される方法はこの方法に限らない。
【0082】
例えば、互いに異なる2つの視点において取得された2枚の画像の画素値を直接使用する方法がある。この方法を使用することにより、カメラの位置、カメラの姿勢、および各画素と対応する3D座標が推定される。この方法は、Direct Methodと呼ばれる。本発明の各実施形態において、この方法が使用されてもよい。互いに異なる2つ以上の視点において取得された2枚以上の画像を使用することによりカメラの位置、カメラの姿勢、および被写体の3D座標を推定することができる限り、どのような方法が使用されてもよい。
【0083】
図3は、被写体の2枚の画像が取得される場合の画像取得の状況を模式的に示す。以下の説明では、広義のカメラという表現を使用する。内視鏡が画像を取得する場合、以下の説明におけるカメラは、具体的には内視鏡先端の観察光学系を指す。
【0084】
図3に示すように、最初にカメラの撮像状態c
1において画像I
1が取得される。次に、カメラの撮像状態c
2において画像I
2が取得される。撮像状態c
1と撮像状態c
2とでは、撮像位置および撮像姿勢の少なくとも1つが異なる。
図3において、撮像状態c
1と撮像状態c
2とでは、撮像位置および撮像姿勢の両方が異なる。
【0085】
本発明の各実施形態では、画像I1および画像I2は同じ内視鏡で取得されることを想定している。また、本発明の各実施形態では、内視鏡の対物光学系のパラメーターが変化しないことを想定している。対物光学系のパラメーターは、焦点距離、歪曲収差、およびイメージセンサのピクセルサイズ等である。以下では、対物光学系のパラメーターを便宜上、内部パラメーターと略す。このような条件を仮定したとき、内視鏡の光学系の特性が記述された内部パラメーターは、カメラ(観察光学系)の位置および姿勢に関わらず共通に使用できる。本発明の各実施形態では、内部パラメーターは工場出荷時に取得されていることを想定している。また、本発明の各実施形態では、画像の取得時には内部パラメーターは既知であることを想定している。
【0086】
本発明の各実施形態では、静止画群から2枚以上の画像が抽出されることを想定し、かつ静止画群は1つの内視鏡によって取得されることを想定している。しかし、本発明はこれに限らない。例えば、複数の内視鏡によって取得された複数の静止画群を使用して3Dモデルを復元する場合においても、本発明を適用できる。この場合、画像I1および画像I2は、互いに異なる内視鏡装置を使用して取得され、内視鏡毎に別々の内部パラメーターが保持されてさえいればよい。仮に内部パラメーターが未知であっても、内部パラメーターを変数として計算を実施することはできる。そのため、内部パラメーターが既知であるか否かにより以後の手順が大きく変わることはない。
【0087】
図4を参照し、2枚の画像に基づいて被写体の3D座標を計算し、かつ3Dモデルを生成するための処理について説明する。
図4は、3Dモデルを生成するための処理の手順を示す。
【0088】
まず、3Dモデル生成部432は、特徴点検出処理を実行する(ステップS103a)。3Dモデル生成部432は、特徴点検出処理において、2枚の画像の各々の特徴点を検出する。特徴点とは、画像に写っている被写体情報のうち、画像輝度勾配の大きいコーナーおよびエッジ等を指す。この特徴点を検出する方法として、SIFT(Scale-invariant Feature Transform)およびFAST(Features from Accelerated Segment Test)等が使用される。3Dモデル生成部432は、このような方法を使用することにより画像内の特徴点を検出することができる。
【0089】
図3は、画像I
1から特徴点P
11が検出され、かつ画像I
2から特徴点P
12が検出された例を示す。
図3では各画像の1つの特徴点のみが表示されているが、実際には各画像において複数の特徴点が検出される。検出される特徴点の数は画像間で異なる可能性がある。各画像から検出された各特徴点は特徴量というデータに変換される。特徴量は、特徴点の特徴を表すデータである。
【0090】
ステップS103aの後、3Dモデル生成部432は、特徴点関連付け処理を実行する(ステップS103b)。3Dモデル生成部432は、特徴点関連付け処理において、特徴点検出処理(ステップS103a)により検出された各特徴点に対して、画像間で特徴量の相関を比較する。特徴量の相関が比較され、各画像において特徴量が近い特徴点が見つかった場合、3Dモデル生成部432は、その情報をメモリ47に保持する。これにより、3Dモデル生成部432は、各画像の特徴点を互いに関連付ける。一方、特徴量が近い特徴点が見つからなかった場合には、3Dモデル生成部432は、その特徴点の情報を破棄する。
【0091】
ステップS103bの後、3Dモデル生成部432は、互いに関連付けられた2枚の画像の特徴点(特徴点ペア)の座標をメモリ47から読み出す。3Dモデル生成部432は、読み出された座標に基づいて、位置および姿勢の算出処理を実行する(ステップS103c)。3Dモデル生成部432は、位置および姿勢の算出処理において、画像I1を取得したカメラの撮像状態c1と画像I2を取得したカメラの撮像状態c2との間の相対的な位置および姿勢を算出する。より具体的には、3Dモデル生成部432は、エピポーラ制約を利用した以下の方程式(1)を解くことにより、行列Eを算出する。
【0092】
【0093】
行列Eは基本行列と呼ばれる。基本行列Eは、画像I1を取得したカメラの撮像状態c1と画像I2を取得したカメラの撮像状態c2との間の相対的な位置および姿勢を保持する行列である。方程式(1)において、行列p1は、画像I1から検出された特徴点の座標を含む行列である。行列p2は、画像I2から検出された特徴点の座標を含む行列である。基本行列Eは、カメラの相対的な位置および姿勢に関する情報を含んでいるため、カメラの外部パラメーターに相当する。3Dモデル生成部432は、公知のアルゴリズムを使用することにより基本行列Eを解くことができる。
【0094】
図3に示すように、カメラの位置変化量(相対的な位置)がtであり、かつカメラの姿勢変化量(相対的な姿勢)がRである場合、式(2)および式(3)が成り立つ。
【0095】
【0096】
式(2)において、x軸方向の移動量はtxと表され、y軸方向の移動量はtyと表され、かつz軸方向の移動量はtzと表される。式(3)において、x軸周りの回転量αはRx(α)と表され、y軸周りの回転量βはRy(β)と表され、かつz軸周りの回転量γはRz(γ)と表される。基本行列Eが算出された後、3D座標の復元精度を高めるためにバンドル調整という最適化処理が実行されてもよい。
【0097】
3Dモデル生成部432は、算出されたカメラの位置変化量を使用することにより3Dモデルの座標系における3D座標(カメラ座標)を算出する。例えば、3Dモデル生成部432は、画像I1を取得したカメラの3D座標を定義する。3Dモデル生成部432は、画像I1を取得したカメラの3D座標と、画像I2を取得したカメラの位置変化量とに基づいて、画像I2を取得したカメラの3D座標を算出する。
【0098】
3Dモデル生成部432は、算出されたカメラの姿勢変化量を使用することにより3Dモデルの座標系における姿勢情報を算出する。例えば、3Dモデル生成部432は、画像I1を取得したカメラの姿勢情報を定義する。3Dモデル生成部432は、画像I1を取得したカメラの姿勢情報と、画像I2を取得したカメラの姿勢変化量とに基づいて、画像I2を取得したカメラの姿勢情報を生成する。
【0099】
3Dモデル生成部432は、位置および姿勢の算出処理(ステップS103c)を実行することにより、カメラの位置における3D座標(カメラ座標)と、カメラの姿勢を示す姿勢情報とを含む3次元形状(3D形状)のデータ(3D形状データ)を生成する。また、Structure from Motionまたはvisual-SLAM等の方法が位置および姿勢の算出処理(ステップS103c)に適用される場合、3Dモデル生成部432はさらに、ステップS103cにおいて各特徴点の3D座標を算出する。ステップS103cにおいて生成された3D形状データは、特徴点以外の被写体上の点の3D座標を含まない。そのため、3D形状データは、被写体の疎な3D形状を示す。
【0100】
3D形状データは、各特徴点の3D座標、上記のカメラ座標、および上記の姿勢情報を含む。各特徴点の3D座標は、3Dモデルの座標系において定義される。各特徴点の3D座標は、各特徴点の2次元座標(2D座標)と関連付けられている。各特徴点の2D座標は、各特徴点が含まれる2D画像の座標系において定義される。各特徴点の2D座標および3D座標は、各特徴点が含まれる2D画像と関連付けられている。
【0101】
ステップS103cの後、3Dモデル生成部432は、ステップS103cにおいて算出されたカメラの相対的な位置および姿勢(位置変化量tおよび姿勢変化量R)に基づいて、3次元形状復元処理を実行する(ステップS103d)。3Dモデル生成部432は、3次元形状復元処理において、被写体の3Dモデルを生成する。被写体の3次元形状を復元する手法としては、PMVS(Patch-based Multi-view Stereo)、および平行化ステレオによるマッチング処理等が挙げられる。しかし、特に手段を限定する訳ではない。
【0102】
3Dモデル生成部432は、ステップS103dにおいて、特徴点以外の被写体上の点の3D座標を算出する。特徴点以外の各点の3D座標は、3Dモデルの座標系において定義される。各点の3D座標は、各点の2D座標と関連付けられている。各点の2D座標は、各点が含まれる2D画像の座標系において定義される。各点の2D座標および3D座標は、各点が含まれる2D画像と関連付けられている。3Dモデル生成部432は、3D形状データを更新する。更新された3D形状データは、各特徴点の3D座標、特徴点以外の各点の3D座標、カメラ座標、および姿勢情報を含む。ステップS103dにおいて更新された3D形状データは、特徴点の3D座標に加えて特徴点以外の被写体上の点の3D座標を含む。そのため、3D形状データは、被写体の密な3D形状を示す。
【0103】
ステップS103dの後、3Dモデル生成部432は、3次元形状復元処理(ステップS103d)において処理された3D形状データと、条件受付部431によって受け付けられた基準長とに基づいて3次元座標変換処理を実行する(ステップS103e)。3Dモデル生成部432は、3次元座標変換処理において、被写体の3D形状データを、長さの次元を持つ3次元座標データへと変換する。ステップS103eが実行されたとき、
図4に示す処理が終了する。
【0104】
処理時間を短縮するために、ステップS103dが省略されてもよい。この場合、ステップS103cが実行された後、ステップS103dが実行されずにステップS103eが実行される。
【0105】
ステップS103eが省略されてもよい。この場合、ステップS103dが実行された後、ステップS103eが実行されずに、
図4に示す処理が終了する。この場合、3Dモデルは、長さの次元を持たない被写体の相対的な形状を示す。3Dモデルが被写体の相対的な形状を示す場合であっても、PC41は、注目領域と対応する3Dモデルの領域を特定することができる。
【0106】
図3に示す原理に従って3Dモデルが生成されるためには、各2D画像の領域の少なくとも一部と、それ以外の少なくとも1枚の2D画像の各々の領域の少なくとも一部とが共通である必要がある。つまり、第1の2D画像の領域と、第1の2D画像と異なる第2の2D画像の領域とは、共通領域を含む。第1の2D画像において共通領域以外の領域と、第2の2D画像において共通領域以外の領域とは、互いに異なる。
【0107】
図2を再び参照し、3Dモデルが生成された後に実行される処理の手順を説明する。ステップS103の後、記憶制御部436は、3Dモデル生成部432によって生成された3Dモデルをメモリ47に記憶させる(ステップS104)。
【0108】
ステップS104の後、画像選択部433は、注目領域を含む基準フレームを静止画群から選択する。第1の実施形態において、静止画が記録されたタイミングは、検査中に記録された動画ファイルと関連付けられている。例えば、そのタイミングは動画ファイルのヘッダーに埋め込まれている。画像選択部433は、動画ファイルのヘッダーを読み取ることにより、静止画が記録されたタイミングを特定する。例えば、動画のフレームレートが60fpsであり、かつ動画の生成が開始されたタイミングの20秒後に静止画が記録された場合、動画の1200枚目の画像と対応する静止画が記録される。画像選択部433は、特定されたタイミングで記録された静止画を基準フレームとしてメモリ47から読み出す(ステップS105)。
【0109】
第1の実施形態において、基準フレームは、ユーザーによって指定された静止画と同じである。注目領域は、基準フレームに写っている範囲の全体である。
【0110】
基準フレームの条件は予めメモリ47に記憶されている。上記の例では、その条件は、選択される静止画が特定のタイミングと関連付けられていることを示す。画像選択部433は、ステップS105において、静止画群に含まれる2枚以上の2D画像のうち、その条件を満たす2D画像を選択する。
【0111】
ステップS105の後、画像選択部433は、ステップS103において3Dモデルを生成するために使用された2枚以上のキーフレームのうちの少なくとも1枚(選択フレーム)を選択する。選択フレームは、ステップS105において特定されたタイミングに時間的に最も近いタイミングと関連付けられている。選択フレームは、基準フレームと異なる。画像選択部433は、選択フレームをメモリ47から読み出す(ステップS106)。
【0112】
選択フレームの条件は予めメモリ47に記憶されている。上記の例では、その条件は、選択されるキーフレームが、ステップS105において特定されたタイミングに時間的に最も近いタイミングと関連付けられていることを示す。画像選択部433は、ステップS106において、2枚以上のキーフレームのうち、その条件を満たすキーフレームを選択する。
【0113】
上記の例では、画像選択部433は、基準フレームに時間的に最も近いキーフレームを選択フレームとして選択する。これにより、画像選択部433は、基準フレームの構図と最も似ている構図で取得されたキーフレームを選択する。そのため、被写体の同じ領域が基準フレームおよび選択フレームに写っていることが期待される。しかしながら、本発明の各実施形態はこの処理に限定されない。また、画像選択部433は、少なくとも2枚のキーフレームを選択フレームとして選択してもよい。例えば、画像選択部433は、基準フレームに時間的に最も近いキーフレームと、2番目に近いキーフレームとを選択してもよい。
【0114】
基準フレームの領域の少なくとも一部と、選択フレームの領域の少なくとも一部とは共通である。つまり、基準フレームの領域および選択フレームの領域は、共通領域を含む。基準フレームにおいて共通領域以外の領域と、選択フレームにおいて共通領域以外の領域とは、互いに異なる。
【0115】
ステップS106の後、推定部434は、3Dモデルをメモリ47から読み出す。推定部434は、基準フレーム、選択フレーム、および3Dモデルに基づいて、基準フレームを取得したカメラの位置および姿勢を推定する(ステップS107)。
【0116】
図5および
図6を参照し、カメラの位置および姿勢を推定するための処理について説明する。
図5は、カメラの位置および姿勢を推定するための処理の手順を示す。
図6は、基準フレームおよび選択フレームが取得される状況を模式的に示す。カメラの撮像状態C
dにおいて基準フレームI
dが取得され、かつカメラの撮像状態C
KFにおいてキーフレームの1つである選択フレームI
KFが取得される。第1の実施形態において、基準フレームおよび選択フレームは、内視鏡によって取得された静止画群に含まれる。そのため、基準フレームを取得したカメラは、選択フレームを取得したカメラと同じである。基準フレームを取得したカメラは、選択フレームを取得したカメラと異なっていてもよい。
【0117】
推定部434は、3Dモデルを構成する3次元点群(3D点群)の一部を抽出する。抽出された3D点群と対応する被写体の領域は、選択フレームを取得したカメラの撮像視野に入っている。そのため、その領域は選択フレームに写っている。前述したように、特徴点の2D座標および3D座標は、その特徴点が含まれる2D画像と関連付けられている。3Dモデルは、2枚以上のキーフレームの各々に含まれる特徴点の3D座標を含む。推定部434は、選択フレームと関連付けられている特徴点の3D座標を抽出する。これにより、推定部434は、3D点群を抽出する。例えば、推定部434は、
図6に示す3DモデルMD1上の点P11、点P12、点P13、および点P14を抽出する(ステップS107a)。
【0118】
ステップS107aの後、推定部434は、ステップS107aにおいて抽出された3D点群を選択フレームの2次元座標系へ再投影することにより、3D点群の2D座標を取得する。推定部434は、予め保持されているカメラモデルを使用することにより、3D点群の3D座標を選択フレームの2次元座標系へ再投影することができる。一般的に、ピンホールカメラモデルなどがカメラモデルとして良く使用される。例えば、推定部434は、
図6に示す選択フレームI
KFの点P11
KF、点P12
KF、点P13
KF、および点P14
KFの各々の2D座標を取得する。
図6において、選択フレームI
KFの点P11
KFが3DモデルMD1上の点P11と対応し、選択フレームI
KFの点P12
KFが3DモデルMD1上の点P12と対応し、選択フレームI
KFの点P13
KFが3DモデルMD1上の点P13と対応し、選択フレームI
KFの点P14
KFが3DモデルMD1上の点P14と対応する(ステップS107b)。
【0119】
ステップS107bの後、推定部434は、ステップS107bにおいて取得された選択フレームの2D座標と対応する基準フレームの2D座標を探索する。つまり、推定部434は、選択フレームに写っている点と同じ点を基準フレームにおいて特定する。例えば、推定部434は、
図6に示す基準フレームI
dの点P11
d、点P12
d、点P13
d、および点P14
dを特定する。
図6において、基準フレームI
dの点P11
dが選択フレームI
KFの点P11
KFと対応し、基準フレームI
dの点P12
dが選択フレームI
KFの点P12
KFと対応し、基準フレームI
dの点P13
dが選択フレームI
KFの点P13
KFと対応し、基準フレームI
dの点P14
dが選択フレームI
KFの点P14
KFと対応する(ステップS107c)。
【0120】
図4に示すステップS103aにおいて、各画像の特徴点における特徴量が算出される。3Dモデルは、静止画群に含まれる2枚以上の2D画像の各々の特徴点における特徴量を含んでもよい。推定部434は、ステップS107cにおいて、選択フレームの点の特徴量および基準フレームの点の特徴量に基づいて、選択フレームの点と同じ基準フレームの点を特定してもよい。
【0121】
ステップS107cの後、推定部434は、ステップS107aにおいて取得された3D座標と、ステップS107bにおいて取得された2D座標と、ステップS107cにおいて取得された2D座標とに基づいて、基準フレームを取得したカメラの位置および姿勢を推定する。具体的には、推定部434は、3Dモデル上の3D座標、選択フレームの2D座標、および基準フレームの2D座標を入力とするperspective n point problemを解くことにより、カメラの位置および姿勢を推定する。これにより、推定部434は、第1のカメラの位置を基準とする第2のカメラの相対的な位置を推定し、かつ第1のカメラの姿勢を基準とする第2のカメラの相対的な姿勢を推定する。第1のカメラは、選択フレームを取得したカメラである。第2のカメラは、基準フレームを取得したカメラである。例えば、推定部434は、
図6に示す位置t1
KF-dおよび姿勢R1
KF-dを推定する(ステップS107d)。
【0122】
3Dモデルは、3Dモデルを生成するための2枚以上の2D画像を取得したカメラのカメラ座標および姿勢情報を含む。第1の実施形態では、3Dモデル生成部432が基準フレームを使用せずに3Dモデルを生成することを想定している。この場合、画像選択部433は、3Dモデルを生成するために使用された2枚以上のキーフレームの全てと異なる2D画像を基準フレームとして選択する。3Dモデルは、基準フレームを取得したカメラのカメラ座標および姿勢情報を含まない。そのため、推定部434は、ステップS107dにおいて、基準フレームを取得したカメラの位置および姿勢を推定する。
【0123】
ステップS107dの後、推定部434は、ステップS107dにおいて取得されたカメラの位置および姿勢を、3Dモデルの座標系におけるカメラの位置および姿勢に変換する(ステップS107e)。ステップS107eが実行されたとき、
図5に示す処理が終了する。
【0124】
図7を参照し、ステップS107eの詳細を説明する。3Dモデル生成部432は、ステップS103において、
図7における選択フレームI
KFを取得したカメラの位置および姿勢を推定する。つまり、3Dモデル生成部432は、
図7における3DモデルMD10の座標系の原点O10を基準とする位置t2
W-KFおよび姿勢R2
W-KFを推定する。3DモデルMD10の3Dデータは、選択フレームI
KFを取得したカメラのカメラ座標およびそのカメラの姿勢情報を含む。つまり、3Dデータは、位置t2
W-KFの3D座標および姿勢R2
W-KFの姿勢情報を含む。
【0125】
推定部434は、ステップS107dにおいて、基準フレームI
dを取得したカメラの相対的な位置t1
KF-dおよび相対的な姿勢R1
KF-dを推定する。推定部434は、ステップS107eにおいて、選択フレームI
KFを取得したカメラの位置t2
W-KF(3D座標)と、そのカメラの姿勢R2
W-KF(姿勢情報)とを3Dデータから取得する。推定部434は、ステップS107eにおいて、
図7における基準フレームI
dを取得したカメラの位置および姿勢を推定する。具体的には、推定部434は、位置t2
W-KFおよび位置t1
KF-dに基づいて、原点O10を基準とする位置t3
W-dを推定する。また、推定部434は、姿勢R2
W-KFおよび姿勢R1
KF-dに基づいて、原点O10を基準とする姿勢R3
W-dを推定する。
【0126】
図2を再び参照し、3Dモデルが生成された後に実行される処理の手順を説明する。ステップS107の後、推定部434は、基準フレームと対応する3Dモデルの領域の3D座標を算出する。これにより、推定部434は、注目領域と対応する3Dモデル上の位置を推定する(ステップS108)。
【0127】
ステップS108の詳細を説明する。推定部434は、ステップS107において推定されたカメラの位置および姿勢と、条件受付部431から受け取った条件(内部パラメーターおよび歪み補正パラメーター)とに基づいて基準フレームの1つ以上の点の2D座標を3Dモデルに投影する。これにより、推定部434は、3Dモデル上の1つ以上の点を特定する。基準フレームの1つ以上の点は、ステップS107cにおいて特定された2D座標を持つ点を含む。つまり、基準フレームの1つ以上の点は、1つ以上の特徴点を含む。あるいは、基準フレームの1つ以上の点は、ステップS107cにおいて特定された2D座標以外の2D座標を持つ点を含む。つまり、基準フレームの1つ以上の点は、特徴点以外の1つ以上の点を含む。基準フレームの1つ以上の点は、1つ以上の特徴点と、特徴点以外の1つ以上の点とを含んでもよい。推定部434は、特定された点の3D座標を3Dモデルから取得する。推定部434は、上記の処理を実行することにより、基準フレームを取得したカメラの撮像視野に入る被写体の3D座標を算出する。
【0128】
ステップS108の後、推定部434は、ステップS108において算出された3D座標を3Dモデルと関連付ける。具体的には、推定部434は、アノテーションを実行することにより3D座標を3Dモデルと関連付ける(ステップS109)。
【0129】
ステップS109の後、表示制御部435は、3Dモデルの3D画像を表示部45に表示する。このとき、表示制御部435は、ステップS108において算出された3D座標を持つ点を含む領域を3D画像上に表示する。これにより、表示制御部435は、注目領域と対応する3Dモデルの領域を3D画像上に表示する(ステップS110)。ユーザーは、注目領域である基準フレームと対応する3Dモデル上の位置を確認することができる。ステップS110が実行されたとき、
図2に示す処理が終了する。
【0130】
PC41と異なる装置がステップS101からステップS103を実行し、PC41が3Dモデルをその装置から取得してもよい。そのため、ステップS101からステップS103は必須ではない。
【0131】
推定部434がステップS108およびステップS109を実行せず、表示制御部435が、基準フレームを取得したカメラのカメラ座標を3Dモデルの3D画像上に表示してもよい。カメラ座標が3D画像上に表示されるため、ユーザーは、基準フレームの視点の位置を確認することができる。そのため、ステップS108およびステップS109は必須ではない。
【0132】
表示制御部435は、ステップS110において、3Dモデルと、注目領域と対応する領域とを同時に表示してもよい。あるいは、表示制御部435は、ステップS109が実行される前に3Dモデルの3D画像を表示し、ステップS110において注目領域と対応する領域を3D画像上に表示してもよい。
【0133】
上記のように3Dモデルは、3Dモデルを生成するための2枚以上の2D画像を取得したカメラのカメラ座標および姿勢情報を含む。そのため、3Dモデルは、選択フレームを取得した第1のカメラのカメラ座標およびその第1のカメラの姿勢情報を含む。推定部434は、ステップS107dにおいて、第1のカメラのカメラ座標を、基準フレームを取得した第2のカメラのカメラ座標の推定結果として3Dモデルから取得してもよい。推定部434は、ステップS107dにおいて、第1のカメラの姿勢情報を第2のカメラの姿勢の推定結果として3Dモデルから取得してもよい。選択フレームの構図は、基準フレームの構図と似ている。そのため、推定部434は、第1のカメラのカメラ座標を第2のカメラの近似的なカメラ座標として使用してもよい。推定部434は、第1のカメラの姿勢情報を第2のカメラの近似的な姿勢情報として使用してもよい。
【0134】
上記の例では、画像選択部433は、3Dモデルを生成するために使用された2枚以上のキーフレームに含まれない2D画像を基準フレームとして選択する。画像選択部433は、2枚以上のキーフレームのうちの1枚を基準フレームとして選択してもよい。その場合、3Dモデルは、基準フレームを取得した第2のカメラのカメラ座標およびその第2のカメラの姿勢情報を含む。推定部434は、そのカメラ座標およびその姿勢情報を3Dモデルから取得してもよい。
【0135】
表示部45に表示される画像の例を説明する。
図8から
図13は、表示部45の表示画面の例を示す。以下では、便宜上、表示部45が3Dモデルの3D画像を表示した後にPC41が注目領域として1枚の基準フレームを選択する例を示す。PC41が3D画像を表示するタイミングと、PC41が基準フレームを選択するタイミングとに制約はない。そのため、3D画像の表示と基準フレームの選択とのどちらが先に実施されてもよい。
【0136】
図8から
図13に示す例は、本発明の各実施形態における最低限の構成を示す。
図8から
図13に示すユーザーインタフェースの部品(ボタン、チェックボックス、またはラジオボタン等)以外の部品が表示画面に配置されてもよい。
図8から
図13で共通する部分には同じ符号が付与されている。
【0137】
CPU43が
図2に示す処理を開始したとき、表示制御部435は、
図8に示すダイアログA10を表示部45に表示する。また、表示制御部435は、ボタンB10および領域R10をダイアログA10上に表示する。
【0138】
ボタンB10は、3Dモデルを生成する指示を入力するためのボタンである。ユーザーは、操作部44を通して表示画面上のボタンを押すことができる。表示部45がタッチパネルである場合、ユーザーは、表示画面を触ることにより、表示画面上のボタンを押すことができる。
【0139】
領域R10は、3Dモデルの3D画像を表示するための領域である。CPU43が
図2に示す処理を開始したとき、3Dモデルはまだ生成されていない。このとき、3D画像は領域R10に表示されていない。
【0140】
ユーザーは、ボタンB10を押すことにより、3Dモデルを生成する指示を入力する。このとき、3Dモデル生成部432は、ステップS103における処理を開始する。表示制御部435は、生成された3Dモデルの3D画像を表示するためのボタンを表示部45に表示してもよい。
【0141】
3Dモデルが生成された後、表示制御部435は、ステップS110において、3Dモデルの3D画像MI10を領域R10に表示する(
図9)。このとき、表示制御部435は、予め設定された視点から予め設定された方向に見た3Dモデルの3D画像MI10を表示する。また、表示制御部435は、ボタンB11をダイアログA10上に表示する。ボタンB11は、注目領域として基準フレームを読み込む指示を入力するためのボタンである。
【0142】
3Dモデルが表示された後、ユーザーはボタンB11を押す。このとき、表示制御部435は、検査中に記録された静止画を選択するためのダイアログを表示部45に表示する。ユーザーは、記録された位置を知りたい静止画を選択する。
【0143】
以下では、3枚の静止画(基準フレーム)が選択される例を説明する。例えば、img01、img02、img03という識別情報(ファイル名)が3枚の静止画に付与されている。第1の実施形態において、注目領域は、検査中に取得された静止画の全体領域である。注目領域の読み込みは静止画の読み込みに限定されない。以下の例では、3枚の静止画に写っている範囲は互いに重ならない。
【0144】
画像選択部433は、3枚の静止画をメモリ47から読み出し、ステップS106を実行する。推定部434は、ステップS107からステップS109を実行する。
【0145】
表示制御部435は、ステップS110において、3枚の静止画と対応する3Dモデル上の位置を示す情報を3D画像MI10上に表示する(
図10)。具体的には、表示制御部435は、文字列CH11、文字列CH12、および文字列CH13を3D画像MI10上に表示し、かつ線L11、線L12、および線L13を3D画像MI10上に表示する。
【0146】
各文字列は、3枚の静止画の各々のファイル名を示す。文字列CH11は、ファイル名img01を示す。文字列CH12は、ファイル名img02を示す。文字列CH13は、ファイル名img03を示す。各線は、各静止画と対応する位置を示す。線L11は、ファイル名img01を持つ静止画と対応する位置を示す。線L12は、ファイル名img02を持つ静止画と対応する位置を示す。線L13は、ファイル名img03を持つ静止画と対応する位置を示す。各位置は、ステップS108において、基準フレームを取得したカメラのカメラ座標および姿勢情報に基づいて算出された3D座標と対応する。各静止画と対応する3Dモデル上の位置が3D画像MI10上に表示されるため、ユーザーは、注目領域と対応する3Dモデル上の位置を確認することができる。
【0147】
また、表示制御部435は、ステップS110において、3枚の静止画の各々のサムネイル画像を表示部45に表示する。
図10に示す例では、表示制御部435は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13をダイアログA10内の領域R20に表示する。
【0148】
各サムネイル画像は、注目領域である静止画(基準フレーム)と対応する。サムネイル画像IM11は、ファイル名img01を持つ静止画と対応する。サムネイル画像IM12は、ファイル名img02を持つ静止画と対応する。サムネイル画像IM13は、ファイル名img03を持つ静止画と対応する。表示制御部435が注目領域の画像(サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13)を表示部45に表示する必要はない。
【0149】
図10に示す例では、3D画像MI10上の位置が静止画のファイル名と関連付けられている。ファイル名が表示される必要はない。3D画像MI10上の位置がファイル名と異なる識別情報と関連付けられてもよい。3D画像MI10上の位置がファイル名と異なるテキストまたは色等と関連付けられてもよい。例えば、表示制御部435は、ファイル名img01と対応するサムネイル画像IM11の外周を所定の色で表示し、かつ3D画像MI10上の位置にマークをその色で表示してもよい。
【0150】
図11は、表示部45の表示画面の他の例を示す。
図10に示す部分と同じ部分の説明を省略する。表示制御部435は、ステップS110において、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13をファイル名と一緒に3Dモデルの3D画像MI10上に表示する。
【0151】
表示制御部435は、サムネイル画像およびファイル名の表示と非表示とを切り替える機能を有してもよい。表示制御部435は、記録された静止画自体をサムネイル画像として表示する必要はない。表示制御部435は、人工的に処理された静止画を表示してもよい。例えば、表示制御部435は、表示される複数の画像間で各画像の明るさを複数の画像の平均的な明るさに統一する処理を実行してもよい。表示制御部435は、静止画を、特定の物体距離または特定の観察角度の条件で仮想的な視点において取得された画像(自由視点画像)に変換してもよい。表示制御部435は、静止画が記録された位置が大きく変わらない範囲で、この変換を実行してもよい。本発明の各実施形態は、静止画が表示されるときに画像に施される処理の制約を受けない。
【0152】
図12は、表示部45の表示画面の他の例を示す。
図10に示す部分と同じ部分の説明を省略する。表示制御部435は、ステップS110において、各静止画と対応する3Dモデルの領域の位置を示す情報を3D画像MI10上に表示する。例えば、表示制御部435は、領域MR11、領域MR12、および領域MR13を3Dモデルの3D画像MI10上に表示する。領域MR11は、ファイル名img01を持つ静止画と対応する3Dモデルの領域である。領域MR12は、ファイル名img02を持つ静止画と対応する3Dモデルの領域である。領域MR13は、ファイル名img03を持つ静止画と対応する3Dモデルの領域である。領域MR11、領域MR12、および領域MR13は、静止画に写っている被写体の範囲を正確に示す必要はない。
【0153】
表示制御部435は、視認性を高めるための処理(強調処理)を領域MR11、領域MR12、および領域MR13の各々の画像に施してもよい。例えば、表示制御部435は、各領域の輪郭を線で表示してもよい。表示制御部435は、各領域を所定の色または所定の模様で表示してもよい。ユーザーが各領域を3Dモデルの他の領域と区別できる限り、各領域を表示する方法は上記の方法に限らない。
【0154】
表示制御部435は、ステップS110において、各静止画を取得したカメラのカメラ座標を3D画像MI10上に表示する。例えば、表示制御部435は、
図12に示すマークC11、マークC12、およびマークC13を表示する。マークC11は、ファイル名img01を持つ静止画が取得されたときのカメラ座標を示す。マークC12は、ファイル名img02を持つ静止画が取得されたときのカメラ座標を示す。マークC13は、ファイル名img03を持つ静止画が取得されたときのカメラ座標を示す。
【0155】
表示制御部435は、マークC11、マークC12、およびマークC13の各々の画像に強調処理を施してもよい。例えば、表示制御部435は、各マークの輪郭を線で表示してもよい。表示制御部435は、各マークを所定の色または所定の模様で表示してもよい。ユーザーが各マークを識別できる限り、各マークを表示する方法は上記の方法に限らない。
【0156】
表示制御部435は、ステップS110において、各静止画の画角を示す画角情報を3D画像MI10上に表示する。例えば、表示制御部435は、
図12に示す線L21、線L22、および線L23を表示する。線L21は、ファイル名img01を持つ静止画の画角を示す。線L22は、ファイル名img02を持つ静止画の画角を示す。線L23は、ファイル名img03を持つ静止画の画角を示す。画角情報は、静止画を取得したカメラの撮像視野に入る領域とその撮像視野に入らない領域との境界を示す。表示制御部435は、静止画に写っている範囲の4隅の点と対応する3Dモデル上の4点と、その静止画を取得したカメラのカメラ座標とに基づいて、画角を示す4つの線を算出してもよい。
【0157】
表示制御部435は、静止画と対応する3Dモデルの領域と、カメラ座標と、画角情報との全てを表示する必要はない。表示制御部435は、画角情報を表示せずに3Dモデルの領域とカメラ座標との一方のみを表示してもよい。表示制御部435は、カメラ座標を表示せずに、3Dモデルの領域および画角情報を表示してもよい。表示制御部435は、3Dモデルの領域を表示せずに、カメラ座標および画角情報を表示してもよい。表示制御部435は、静止画毎に異なる種類の情報を表示してもよい。
【0158】
3D画像MI10が表示された後、表示制御部435は、3D画像MI10の視点を変更してもよい。例えば、ユーザーは、操作部44を操作することにより、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13のいずれか1つを指定する。あるいは、ユーザーは、操作部44を操作することにより、マークC11、マークC12、およびマークC13のいずれか1つを指定する。このとき、表示制御部435は、ユーザーによって指定されたサムネイル画像またはマークと対応する静止画を特定する。
【0159】
ユーザーは、操作部44を通して各サムネイルまたは各マークを指定することができる。表示部45がタッチパネルである場合、ユーザーは、表示部45の表示画面を触ることにより、各サムネイルまたは各マークを指定することができる。表示制御部435は、特定された静止画を取得したカメラのカメラ座標に基づいて3D画像MI10の視点を変更する。また、表示制御部435は、視線の方向を所定の方向に変更する。
【0160】
表示制御部435は、3D画像MI10の視点を、上記のカメラ座標を持つ点に変更してもよい。表示制御部435は、3D画像MI10の視点を、上記のカメラ座標に近い3D座標を持つ点に変更してもよい。表示制御部435は、3D画像MI10の視点を変更した後、静止画と対応する3Dモデルの領域を拡大、縮小、または回転してもよい。3D画像MI10の視点がカメラ座標またはその近傍の3D座標に変更される限り、視点を変更する方法は上記の方法に限らない。
【0161】
図13を参照し、3D画像MI10の視点が変更される例を説明する。表示制御部435は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を領域R20に表示する。例えば、ユーザーはサムネイル画像IM12を指定する。このとき、表示制御部435は、サムネイル画像IM12と対応する静止画を特定し、その静止画を取得したカメラのカメラ座標に基づいて、
図12に示す3D画像MI10の視点を変更する。これにより、表示制御部435は、
図13に示す3D画像MI20を表示する。例えば、表示制御部435は、そのカメラ座標を持つ点と、そのカメラの撮像視野に入る領域の少なくとも一部とが表示されるように視点を変更する。表示制御部435は、そのカメラの撮像視野に入る領域が見やすくなるように、拡大、縮小、または回転などの処理を実行してもよい。
【0162】
表示制御部435は、
図13に示すマークC21、領域MR21、および線L31を表示する。マークC21は、サムネイル画像IM12と対応する静止画が取得されたときのカメラ座標を示す。領域MR21は、その静止画と対応する3Dモデルの領域を示す。線L31は、その静止画の画角を示す。
【0163】
図14および
図15を参照し、静止画群を取得する内視鏡装置の構成を説明する。
図14は、内視鏡装置1の外観を示す。
図15は、内視鏡装置1の内部構成を示す。内視鏡装置1は、被写体を撮像し、画像を生成する。被写体は、工業製品である。検査者は、種々の被写体の観察を行うために、挿入部2の先端に装着される光学アダプターの交換と、内蔵された映像処理プログラムの選択と、映像処理プログラムの追加とを行うことが可能である。
【0164】
図14に示す内視鏡装置1は、挿入部2、本体部3、操作部4、および表示部5を有する。
【0165】
挿入部2は、被写体の内部に挿入される。挿入部2は、先端20から基端部にわたって屈曲可能な細長い管状である。挿入部2は、被写体を撮像し、かつ撮像信号を本体部3に出力する。挿入部2の先端20には、光学アダプターが装着される。例えば、単眼の光学アダプターが挿入部2の先端20に装着される。本体部3は、挿入部2を収納する収納部を備えた制御装置である。操作部4は、内視鏡装置1に対するユーザーの操作を受け付ける。表示部5は、表示画面を有し、かつ挿入部2によって取得された被写体の画像および操作メニュー等を表示画面に表示する。
【0166】
操作部4は、ユーザーインタフェースである。表示部5は、LCD等のモニタ(ディスプレイ)である。表示部5は、タッチパネルであってもよい。その場合、操作部4および表示部5は一体化される。
【0167】
図15に示す本体部3は、内視鏡ユニット8、CCU(Camera Control Unit)9、および制御装置10を有する。内視鏡ユニット8は、図示していない光源装置および湾曲装置を有する。光源装置は、観察に必要な照明光を供給する。湾曲装置は、挿入部2に内蔵された湾曲機構を湾曲させる。挿入部2の先端20には撮像素子28が内蔵されている。撮像素子28は、イメージセンサである。撮像素子28は、光学アダプターによって形成された被写体の光学像を光電変換し、かつ撮像信号を生成する。CCU9は、撮像素子28を駆動する。撮像素子28から出力された撮像信号がCCU9に入力される。CCU9は、撮像素子28により取得された撮像信号に対して、増幅およびノイズ除去等を含む前処理を行う。CCU9は、前処理が施された撮像信号をNTSC信号等の映像信号に変換する。
【0168】
制御装置10は、映像信号処理回路12、ROM(Read Only Memory)13、RAM(Random Access Memory)14、カードインタフェース15、外部機器インタフェース16、制御インタフェース17、およびCPU(Central Processing Unit)18を有する。
【0169】
映像信号処理回路12は、CCU9から出力された映像信号に対して、所定の映像処理を施す。例えば、映像信号処理回路12は、視認性向上に関わる映像処理を行う。例えば、その映像処理は、色再現、階調補正、ノイズ抑制、および輪郭強調などである。例えば、映像信号処理回路12は、CCU9から出力された映像信号と、CPU18によって生成されたグラフィック画像信号とを合成する。グラフィック画像信号は、操作画面の画像等を含む。映像信号処理回路12は、合成された映像信号を表示部5に出力する。
【0170】
ROM13は、CPU18が内視鏡装置1の動作を制御するためのプログラムが記録された不揮発性の記録媒体である。RAM14は、CPU18が内視鏡装置1の制御のために使用する情報を一時的に記憶する揮発性の記録媒体である。CPU18は、ROM13に記録されたプログラムに基づいて内視鏡装置1の動作を制御する。
【0171】
着脱可能な記録媒体であるメモリカード42がカードインタフェース15に接続される。カードインタフェース15は、メモリカード42に記憶されている制御処理情報および画像情報等を制御装置10に取り込む。また、カードインタフェース15は、内視鏡装置1によって生成された制御処理情報および画像情報等をメモリカード42に記録する。
【0172】
USB機器等の外部機器が外部機器インタフェース16に接続される。例えば、
図1に示すPC41が外部機器インタフェース16に接続される。外部機器インタフェース16は、PC41へ情報を送信し、かつPC41から情報を受信する。これによって、PC41の表示部45が情報を表示することができる。また、ユーザーは、PC41に指示を入力することにより、内視鏡装置1の制御に関する操作を行うことができる。
【0173】
制御インタフェース17は、操作部4、内視鏡ユニット8、およびCCU9と動作制御のための通信を行う。制御インタフェース17は、ユーザーによって操作部4に入力された指示をCPU18に通知する。制御インタフェース17は、光源装置および湾曲装置を制御するための制御信号を内視鏡ユニット8に出力する。制御インタフェース17は、撮像素子28を制御するための制御信号をCCU9に出力する。
【0174】
撮像素子28は、静止画群を取得するカメラである。静止画群は、2枚以上の2D画像を含む。2枚以上の2D画像の各々は、2枚以上の2D画像に含まれる他の2D画像と時間的に関連付けられている。例えば、静止画群が動画である場合、動画に含まれる2つ以上のフレームの各々は、タイムスタンプ(タイムコード)によって互いに関連付けられている。
【0175】
例えば、撮像素子28は、1つの視点を持つ単眼のカメラである。この場合、2枚以上の2D画像の各々は、単眼のカメラによって取得された画像である。
【0176】
撮像素子28は、2つ以上の視点を持ってもよい。例えば、撮像素子28は、第1の視点から見た被写体の画像と、第1の視点と異なる第2の視点から見た被写体の画像とを含むステレオ画像を取得してもよい。内視鏡装置1が、明部および暗部を持つパターン光を被写体に投影し、撮像素子28は、2枚以上の画像を取得してもよい。PC41は、ステレオ画像またはパターン光が投影された被写体の画像に基づいて3Dモデルを生成してもよい。
【0177】
本発明の各態様の画像表示方法は、記憶ステップ、第1の選択ステップ、第2の選択ステップ、推定ステップ、および表示ステップを有する。記憶制御部436は、記憶ステップ(ステップS104)において、被写体の2枚以上の2D画像に基づいて生成された3Dモデル(3Dデータ)をメモリ47(記憶媒体)に記憶させる。3Dモデルは、被写体の2つ以上の点の3D座標および第1のカメラ座標を含む。第1のカメラ座標は、2枚以上の2D画像の各々を取得した第1のカメラの3D座標であり、かつ2枚以上の2D画像の各々と関連付けられている。画像選択部433は、第1の選択ステップ(ステップS105)において、被写体の2D画像である基準フレーム(基準画像)を選択する。画像選択部433は、第2の選択ステップ(ステップS106)において、基準フレームに基づいて、2枚以上の2D画像のうちの少なくとも1枚を選択フレーム(選択画像)として選択する。推定部434は、推定ステップ(ステップS107)において、選択フレームと関連付けられている第1のカメラ座標に基づいて、基準フレームを取得した第2のカメラの3D座標である第2のカメラ座標を推定する。表示制御部435は、表示ステップ(ステップS110)において、第2のカメラ座標と、第2のカメラ座標に基づいて算出された被写体の1つ以上の点の3D座標との少なくとも一方を可視化し、かつ被写体の2つ以上の点のうちの1つ以上の3D座標を可視化する3D画像MI10を表示部45(ディスプレイ)に表示する。
【0178】
例えば、表示制御部435は、第2のカメラ座標と、第2のカメラ座標に基づいて算出された3D座標との少なくとも一方と対応する位置を3D画像MI10上に表示する。
図12に示す例では、表示制御部435は、第2のカメラ座標を示すマークC11等を表示する。
図10および
図12に示す例では、表示制御部435は、静止画と対応する3Dモデル上の位置を示す文字列CH11および線L11等を3D画像MI10上に表示する。文字列CH11および線L11等は、第2のカメラ座標に基づいて算出された3D座標を示す。
図12に示す例では、表示制御部435は、静止画と対応する3Dモデルの領域MR11等を3D画像MI10上に表示する。領域MR11等は、第2のカメラ座標に基づいて算出された3D座標を示す。
【0179】
本発明の各態様は次の変形例を含んでもよい。3Dモデルはさらに、第1のカメラの姿勢を示す第1の姿勢情報を含む。第1の姿勢情報は、2枚以上の2D画像の各々と関連付けられている。推定部434はさらに、推定ステップ(ステップS107)において、選択フレームと関連付けられている第1の姿勢情報に基づいて第2のカメラの姿勢を推定し、推定された姿勢を示す第2の姿勢情報を生成する。推定部434はさらに、推定ステップ(ステップS108)において、第2のカメラ座標および第2の姿勢情報に基づいて、基準フレームに写っている被写体の領域の1つ以上の点の3D座標を推定する。3D画像MI10は、その領域の1つ以上の点の3D座標を可視化する。
【0180】
例えば、推定部434は、基準フレームに写っている領域の全体の3D座標を算出する。推定部434は、基準フレームに写っている領域の一部の3D座標を算出してもよい。3Dモデルが生成されるとき、3Dモデルを構成する2つ以上の点の3D座標が算出される。推定部434は、その2つ以上の点と異なる点の3D座標を算出する。
【0181】
例えば、表示制御部435は、基準フレームに写っている領域の1つ以上の点の3D座標と対応する位置を3D画像MI10上に表示する。
図10および
図12に示す例では、表示制御部435は、静止画と対応する3Dモデル上の位置を示す文字列CH11等および線L11等を3D画像MI10上に表示する。
図12に示す例では、表示制御部435は、静止画と対応する3Dモデルの領域MR11等を3D画像MI10上に表示する。
図10および
図12に示す3D画像MI10は、基準フレームに写っている領域の1つ以上の点の3D座標と、被写体の2つ以上の点の3D座標とを可視化する。
【0182】
本発明の各態様は次の変形例を含んでもよい。表示制御部435はさらに、表示ステップ(ステップS110)において、基準フレームに写っている領域の位置を示す情報を3D画像MI10に重畳する。
【0183】
本発明の各態様は次の変形例を含んでもよい。3D画像が表示部45に表示された後、表示制御部435は、視点変更ステップ(ステップS110)において、3D画像MI10の視点を変更する。
【0184】
本発明の各態様は次の変形例を含んでもよい。表示制御部435は、表示ステップ(ステップS110)において、基準フレームの画角を示す画角情報を表示部45に表示する。
【0185】
本発明の各態様は次の変形例を含んでもよい。3Dモデルはさらに、2枚以上の2D画像の各々に含まれる第1の点の2D座標を含む。推定部434は、推定ステップ(ステップS107)において、第1のカメラ座標と、2枚以上の2D画像のうちの1枚に含まれる第1の点(
図6の点P11
KF等)の2D座標と、第1の点と対応する基準フレームの第2の点(
図6の点P11
d等)の2D座標とに基づいて、第2のカメラ座標を推定する。
【0186】
本発明の各態様は次の変形例を含んでもよい。画像選択部433は、第1の選択ステップ(ステップS105)において、1枚以上の選択対象画像のうちの1枚を基準フレームとして選択する。1枚以上の選択対象画像は、被写体の2D画像であり、2枚以上の2D画像に含まれない。
【0187】
本発明の各態様は次の変形例を含んでもよい。画像選択部433は、第2の選択ステップ(ステップS106)において、2枚以上の2D画像を互いに時間的に関連付ける時間情報を使用することにより2枚以上の2D画像のうちの少なくとも1枚を選択フレームとして選択する。
【0188】
第1の実施形態において、PC41は、被写体の3D画像を表示部45に表示する。その3D画像は、基準フレームを取得したカメラのカメラ座標と、そのカメラ座標に基づいて算出された3D座標との少なくとも一方を可視化し、かつ被写体の2つ以上の点のうちの1つ以上の3D座標を可視化する。これにより、PC41は、被写体の2D画像(基準フレーム)の少なくとも一部と関連する3D座標を持つ位置を可視化することができる。
【0189】
ユーザーは、注目領域と対応する3Dモデル上の位置を確認することができる。その位置が3D画像上に表示されるため、ユーザーは、検査対象物の全体における注目領域の相対的な位置を確認することができる。そのため、PC41は、修理または次回の検査において有用な情報をユーザーに提供することができる。ユーザーが検査中に挿入長をメモに書き取る必要はない。
【0190】
PC41は、注目領域の視認性が高まるように、3D画像を強調表示する。あるいは、PC41は、3D画像を表示するための視点を切り替える。これにより、ユーザーは、注目領域と対応する3Dモデルの領域の形状または傾き(方向)などを詳細に確認することができる。
【0191】
(第1の実施形態の第1の変形例)
本発明の第1の実施形態の第1の変形例を説明する。
図1に示すPC41は、
図16に示すPC41aに変更される。
図16は、PC41aの構成を示す。PC41aは、注目領域と対応する3Dモデル上の位置を表示し、かつその位置と3Dモデル上の基準点との間の3次元距離(3D距離)を表示する。
図1に示す構成と同じ構成の説明を省略する。
【0192】
図1に示すCPU43は、CPU43aに変更される。CPU43aの機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、記憶制御部436、および基準位置受付部437を含む。
図16に示すCPU43a内のブロックの少なくとも1つがCPU43aと異なる回路で構成されてもよい。
【0193】
CPU43a内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43a内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43a内の各部は、1つまたは複数の論理回路を含むことができる。
【0194】
ユーザーは、操作部44を操作することにより、3Dモデル上の基準位置をPC41aに入力する。基準位置は、3Dモデル上の1つの点に限らない。基準位置は、3Dモデル上の2つ以上の点を含む領域であってもよい。基準位置受付部437は、ユーザーがPC41aに入力した情報に基づいて、基準位置を受け付ける。記憶制御部436は、基準位置受付部437によって受け付けられた基準位置をメモリ47に記憶させる。基準位置受付部437は、基準位置と対応する3Dモデル上の基準点を特定する。3Dモデルは、基準点を含む2つ以上の点の3D座標を含む。基準位置受付部437は、基準点と、注目領域と対応する3Dモデルの領域との間の3D距離を算出する。表示制御部435は、基準位置受付部437によって算出された3D距離を3Dモデルの3D画像上に表示する。
【0195】
図17は、PC41aが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0196】
ユーザーは、操作部44を操作することにより3Dモデル上の基準位置をPC41aに入力する。例えば、ユーザーは、内視鏡が挿入される入り口であるアクセスポートを基準位置として指定する。あるいは、ユーザーは、エルボーなどの曲がり部位を基準位置として指定する。ステップS110の後、基準位置受付部437は、ユーザーがPC41aに入力した情報に基づいて、基準位置を受け付ける(ステップS121)。
【0197】
ステップS121の後、基準位置受付部437は、基準位置と対応する3Dモデル上の基準点を特定する。例えば、3Dモデル上の特定の領域が基準位置として指定された場合、基準位置受付部437は、その領域に含まれる1つの点を基準点として特定する。基準位置受付部437は、基準点と、注目領域と対応する3Dモデルの領域との間の3D距離を算出する(ステップS122)。
【0198】
ステップS122の詳細を説明する。例えば、基準位置受付部437は、注目領域と対応する3Dモデル上の代表点を選択し、基準点と代表点との間の3D距離を算出する。この場合、基準位置受付部437は、基準点と、3Dモデルの領域内の2つ以上の点のうちの1つとの間の3D距離を算出する。基準位置受付部437は、基準点と、注目領域と対応する3Dモデル上の2つ以上の点の各々との間の3D距離を算出し、かつ2つ以上の点の全てに対する3D距離の平均を算出してもよい。この場合、基準位置受付部437は、基準点と、3Dモデルの領域内の近似点との間の3D距離を算出する。近似点は、3Dモデル上の2つ以上の点のいずれか1つと一致する、またはその2つ以上の点のいずれか1つの近傍にある。
【0199】
ステップS122の後、表示制御部435は、ステップS122において算出された3D距離を3Dモデルの3D画像上に表示する(ステップS123)。ステップS123が実行されたとき、
図17に示す処理が終了する。
【0200】
上記の例では、ユーザーが基準位置を指定する。PC41aは、基準位置を自動で3Dモデルに設定してもよい。例えば、ユーザーが予め指定した基準位置の情報がメモリ47に記憶される。その情報は、過去にユーザーがPC41aに入力した基準位置を示してもよい。PC41aは、その情報に基づいて基準位置を3Dモデルに設定する。
【0201】
図18は、表示部45の表示画面の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0202】
表示制御部435は、ステップS123において、基準位置受付部437によって受け付けられた基準位置と、基準位置受付部437によって算出された3D距離とを3D画像MI10上に表示する。
図18に示す例では、表示制御部435は、基準位置RF1を3D画像MI10上に表示し、かつ3D距離を示す文字列D11、文字列D12、および文字列D13を3D画像MI10上に表示する。文字列D11は、基準位置RF1と対応する基準点と、静止画(ファイル名img01)と対応する領域との間の3D距離を示す。文字列D12は、基準位置RF1と対応する基準点と、静止画(ファイル名img02)と対応する領域との間の3D距離を示す。文字列D13は、基準位置RF1と対応する基準点と、静止画(ファイル名img03)と対応する領域との間の3D距離を示す。
【0203】
図18に示す例では、3D画像MI10および3D距離が領域R10に表示される。3D距離は、3D画像MI10が表示される領域R10と異なる領域に表示されてもよい。
【0204】
上記の例では、3Dモデル上の長さを実際の長さに変換するために基準長が必要である。基準長は必須ではない。基準位置受付部437は、実際の長さのスケールを持たない3D距離を算出してもよい。例えば、基準位置受付部437は、第1の基準点と3Dモデル上の第1の点との間の第1の3D距離を算出する。また、基準位置受付部437は、第2の基準点と3Dモデル上の第2の点との間の第2の3D距離を算出する。基準位置受付部437は、第1の3D距離と第2の3D距離との比を算出する。この場合、3D距離が長さのスケールを持つ必要はない。そのため、基準長は不要である。
【0205】
上記の例では、ユーザーからの指示に基づいて基準長が設定される。ユーザーが基準長を指定する必要はない。例えば、基準位置が設定される部位が特徴的な形状、模様、または色等を持つ場合、その部位の情報が予めメモリ47に記憶されてもよい。基準位置受付部437は、その情報を使用することにより、被写体の2D画像または被写体の3Dモデルを処理し、基準位置を検出してもよい。このとき、基準位置受付部437は、公知技術を使用することができる。
【0206】
本発明の各態様は次の変形例を含んでもよい。表示制御部435は、表示ステップ(ステップS123)において、被写体の2つ以上の点に含まれる基準点と、基準フレーム(基準画像)に写っている被写体の領域との間の3D距離を表示部45に表示する。
【0207】
第1の実施形態の第1の変形例において、PC41aは、基準点と、注目領域と対応する3Dモデルの領域との間の3D距離を表示する。ユーザーは、3Dモデル上の位置が基準点からどれだけ離れているのかを確認することができる。例えば、第1の実施形態の第1の変形例は配管検査に適用される。
【0208】
(第1の実施形態の第2の変形例)
本発明の第1の実施形態の第2の変形例を説明する。第1の実施形態の第2の変形例において、
図1に示すPC41が使用される。例えば、第1の実施形態の第2の変形例はガスタービン検査に適用される。ガスタービンは、周期的に配置された2つ以上のブレードを有する。2つ以上のブレードは、ガスタービンの外周方向に沿って配置されている。ガスタービンは検査中に外周方向に回転する。
【0209】
検査中に基準ブレードおよび注目ブレードが指定される。注目ブレードは、ユーザーによって指定された静止画に含まれる。基準フレームは、ユーザーによって指定された静止画と同じである。そのため、注目ブレードは、基準フレームに含まれる。PC41、または
図14および
図15に示す内視鏡装置1は、基準ブレードから注目ブレードまでのブレードの数を検出する。PC41は、その数を表示する。
【0210】
図19は、第1の実施形態の第2の変形例における被写体であるガスタービンの2D画像の例を示す。
図19に示す画像GT10において、2つ以上のブレードBD10が写っている。例えば、2つ以上のブレードBD10が同じ形状および同じ大きさを持つように2つ以上のブレードBD10が製造される。2つ以上のブレードBD10は等間隔に配置される。
【0211】
以下では、ブレードの数を検出する2つの方法を説明する。まず、内視鏡装置1がブレードの数を検出する第1の方法を説明する。例えば、内視鏡装置1は、レーザー光を投影する投影光学系と、レーザー光を検出する検出光学系とを有する。例えば、投影光学系はレーザーポインターを含む。検出光学系は、レーザー検出器を有する。レーザー検出器は撮像素子28であってもよい。
【0212】
投影光学系は、ガスタービンに向けてレーザー光を投影する。ブレードが撮像素子28の撮像視野に入っているとき、レーザー光はブレードで反射し、検出光学系に入射する。そのため、レーザー検出器はレーザー光を検出する。ブレードが撮像素子28の撮像視野に入っていないとき、レーザー光はブレードで反射せず、検出光学系に入射しない。そのため、レーザー検出器はレーザー光を検出しない。レーザー検出器は、レーザー光の検出結果を示す信号をCPU18に出力する。
【0213】
ガスタービンが回転している間、CPU18は、レーザー検出器がレーザー光を検出する第1の期間と、レーザー検出器がレーザー光を検出しない第2の期間とを検出する。第1の期間および第2の期間は交互に現れる。CPU18が1回の第1の期間および1回の第2の期間の組を検出したとき、CPU18は、1枚のブレードが検出されたと判断する。CPU18は、2種類の期間の組の数を数えることにより、ブレードの数を検出する。
【0214】
例えば、ユーザーは、特徴的な傷などを持つブレードを基準ブレードとして指定する。CPU18が、所定の基準を満たす基準ブレードを選択してもよい。撮像素子28が静止画群(動画)の取得を開始した後、CPU18は、撮像素子28によって取得された画像において基準ブレードが検出されたか否かを判断する。基準ブレードが検出された場合、CPU18はブレードの数を検出し始める。1枚のブレードが検出される度にCPU18はブレードの数を1ずつ増加させる。次に基準ブレードが検出された場合、CPU18はブレードの計数を終了し、ブレードの数を新たに検出し始める。CPU18は、ブレードの数を示す情報を、撮像素子28によって取得された各画像と関連付ける。例えば、CPU18は、その情報を動画ファイルのヘッダーに記録する。
【0215】
表示制御部435は、
図2または
図17に示すステップS110において、画像選択部433によって選択された基準フレームと関連付けられている情報を取得する。その情報は、基準ブレードから、その基準フレームに写っている注目ブレードまでのブレードの数を示す。
【0216】
次に、PC41がブレードの数を検出する第2の方法を説明する。ガスタービンの3Dモデルにおいて基準ブレードが指定された場合、表示制御部435は、ガスタービンの外周に沿って所定方向に並んだ各ブレードを検出する。所定方向は、ガスタービンの回転方向と同じ方向、またはその回転方向と反対の方向である。表示制御部435は、ガスタービンの3D-CAD(Computer Aided Design)データと3Dモデルとを組み合わせることにより、3Dモデルにおけるブレードを検出してもよい。表示制御部435は、
図2または
図17に示すステップS110において、基準ブレードから注目ブレードまでのブレードの数を検出する。
【0217】
表示制御部435は、基準ブレードから所定の方向にブレードの第1の数を検出し、かつ基準ブレードからその所定の方向と反対の方向にブレードの第2の数を検出してもよい。表示制御部435は、第1の数および第2の数のうち小さいほうを最終的なブレードの数として選択してもよい。
【0218】
表示制御部435は、第1の方法または第2の方法を使用することにより検出されたブレードの数を表示部45に表示する。例えば、表示制御部435は、
図2または
図17に示すステップS110において、その数を3Dモデルの3D画像上に表示する。
【0219】
本発明の各態様は次の変形例を含んでもよい。被写体は、周期的に配置された2つ以上の部分領域を含む。表示制御部435は、表示ステップ(ステップS110)において、基準部分から注目部分までの部分領域の少なくとも一部の数を表示部45に表示する。基準部分は2つ以上の部分領域のうちの1つである。注目部分は、基準部分と異なり、基準フレーム(基準画像)に写っている被写体の領域と対応する部分領域である。
【0220】
上記の例では、被写体はガスタービンであり、2つ以上のブレードを含む。基準部分は、2つ以上のブレードのうちの1つである。上記の例では、基準部分は基準ブレードである。上記の例では、注目部分は、基準フレームに写っている注目ブレードである。
【0221】
数を検出するブレードの範囲の例を説明する。例えば、その範囲は、基準ブレードおよび注目ブレードを含み、かつ基準ブレードおよび注目ブレードの間に配置された1つ以上のブレードの全てを含む。その範囲は、基準ブレードおよび注目ブレードのいずれか一方を含み、かつ基準ブレードおよび注目ブレードの間に配置された1つ以上のブレードの全てを含んでもよい。そのため、その範囲は、基準ブレードおよび注目ブレードの両方を含む必要はない。その範囲は、基準ブレードおよび注目ブレードを含まず、かつ基準ブレードおよび注目ブレードの間に配置された1つ以上のブレードの全てを含んでもよい。注目ブレードが基準ブレードと同じである場合、その範囲は基準ブレードのみを含む。
【0222】
第1の実施形態の第2の変形例において、PC41は基準ブレードから注目ブレードまでのブレードの数を表示する。注目ブレードは、注目領域に含まれる。ユーザーは、注目ブレードが基準ブレードからどれだけ離れているのかを確認することができる。
【0223】
(第1の実施形態の第3の変形例)
本発明の第1の実施形態の第3の変形例を説明する。第1の実施形態の第3の変形例において、
図1に示すPC41が使用される。前述した第1の実施形態において、内視鏡装置1等の装置は、被写体の3Dモデルを生成するための静止画群と、注目領域が写っている静止画とを1回の検査中に取得する。以下では、注目領域が写っている静止画を注目画像と呼ぶ。第1の実施形態の第3の変形例において、内視鏡装置1等の装置は、静止画群と注目画像とを互いに異なる検査中に取得する。
【0224】
図2を参照し、PC41が実行する処理を説明する。第1の実施形態における処理と同じ処理の説明を省略する。
図2に示すステップS105における処理が変更される。
【0225】
第1の実施形態において、注目画像が記録されたタイミングは動画ファイルのヘッダーに埋め込まれている。そのため、第1の実施形態において画像選択部433は、動画ファイルのヘッダーを読み取ることにより、注目画像が記録されたタイミングを特定することができる。
【0226】
第1の実施形態の第3の変形例において、静止画群(動画ファイル)を取得するための検査のタイミングと、注目画像を取得する検査のタイミングとが異なる。そのため、注目画像が記録されたタイミングは動画ファイルのヘッダーに埋め込まれていない。画像選択部433は、ステップS105において、注目画像の構図と似た構図で取得された画像を動画ファイルから選択する。これにより、画像選択部433は、注目画像と類似する基準フレームを選択する。
【0227】
画像選択部433は、“類似画像検索”と呼ばれる公知技術を使用してもよい。これにより、画像選択部433は、特定の静止画の構図と似た構図で取得された画像(フレーム)を動画ファイルにおいて検索することができる。類似画像検索の代表的な例として、Bag of Visual Wordsなどの技術がある。
【0228】
静止画群と注目画像とが互いに異なる検査中に取得される場合であっても、PC41は、注目画像と対応する基準フレームを選択することができる。そのため、PC41は、被写体の2D画像(基準フレーム)の少なくとも一部と関連する3D座標を持つ位置を可視化することができる。
【0229】
(第1の実施形態の第4の変形例)
本発明の第1の実施形態の第4の変形例を説明する。第1の実施形態の第4の変形例において、
図1に示すPC41が使用される。
【0230】
3Dモデルが表示された後、PC41は、静止画の特定領域を新たな注目領域としてユーザーから受け付ける。PC41は、注目領域と対応する3Dモデルの領域を3Dモデルの3D画像上に表示する。注目領域は、基準フレームに写っている範囲の一部である。
【0231】
図20は、PC41が実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0232】
ステップS110において3Dモデルの3D画像が表示部45に表示された後、ユーザーは、操作部44を操作することにより、特定の静止画における注目領域の位置を示す情報をPC41に入力する。その静止画は、ステップS105において選択された基準フレームである。ステップS105において2枚以上の基準フレームが選択された場合、ユーザーは、1枚の基準フレームにおける注目領域の位置を示す情報をPC41に入力する。推定部434は、ユーザーがPC41に入力した情報に基づいて、注目領域を受け付ける。推定部434は、2つ以上の注目領域を受け付けてもよい(ステップS131)。
【0233】
ステップS131の後、推定部434は、注目領域と対応する3Dモデルの領域の3D座標を算出する。これにより、推定部434は、注目領域と対応する3Dモデル上の位置を推定する(ステップS132)。
【0234】
ステップS132の詳細を説明する。推定部434は、公知技術を使用することによりステップS132を実行することができる。例えば、推定部434は、ステップS103と同様の処理を実行することにより、注目領域と対応する3Dモデルの領域の3D座標を算出する。注目領域が基準フレームの領域であるため、推定部434は、ステップS108の結果を使用することにより、注目領域と対応する3Dモデルの領域の3D座標を算出してもよい。
【0235】
注目領域は、3Dモデルを生成するために使用されたキーフレームの領域であってもよい。ステップS103が実行されたとき、キーフレームの各点の2D座標は3Dモデルの各点の3D座標と関連付けられる。そのため、推定部434は、その2D座標とその3D座標との関係に基づいて、注目領域と対応する3Dモデルの領域の3D座標を算出してもよい。
【0236】
ステップS132の後、表示制御部435は、ステップS132において推定された位置を含む3Dモデルの3D画像を表示部45に再度表示する。このとき、表示制御部435は、ステップS132において推定された位置が見やすくなるように3D画像の視点を変更してもよい。表示制御部435は、ステップS132において推定された位置を含む領域を拡大、縮小、または回転してもよい(ステップS133)。ユーザーは、注目領域と対応する3Dモデル上の位置を確認することができる。ステップS133が実行されたとき、
図20に示す処理が終了する。
【0237】
図20に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS133の後、ステップS121からステップS123が実行されてもよい。ステップS131が実行される前にステップS121からステップS123が実行されてもよい。
【0238】
表示制御部435は、ステップS110またはステップS133において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0239】
図21は、表示部45の表示画面の例を示す。
図13に示す部分と同じ部分の説明を省略する。
【0240】
表示制御部435は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を領域R20に表示する。例えば、ユーザーはサムネイル画像IM12の一部を指定する。このとき、推定部434は、ステップS131において、サムネイル画像IM12の一部を注目領域MR31として受け付ける。表示制御部435は、注目領域MR31をサムネイル画像IM12上に表示してもよい。推定部434は、ステップS132において、注目領域MR31と対応する3Dモデル上の位置を推定する。表示制御部435は、ステップS133において、注目領域MR31と対応する3Dモデルの領域の位置を示す情報を3Dモデルの3D画像MI20上に表示する。例えば、表示制御部435は、領域MR32を3D画像MI20上に表示する。
【0241】
表示制御部435は、視認性を高めるための処理(強調処理)を領域MR32の画像に施してもよい。例えば、表示制御部435は、領域MR32の輪郭を線で表示してもよい。表示制御部435は、領域MR32を所定の色または所定の模様で表示してもよい。ユーザーが領域MR32を3Dモデルの他の領域と区別できる限り、領域MR32を表示する方法は上記の方法に限らない。
【0242】
第1の実施形態の第4の変形例において、PC41は、静止画の特定領域と対応する3Dモデルの領域を3Dモデルの3D画像上に表示する。ユーザーは、その特定領域と対応する3Dモデル上の位置を確認することができる。
【0243】
ユーザーは、静止画に写っている異常な部位などを注目領域として指定することができる。ユーザーは、注目領域と対応する3Dモデルの領域の位置および傾き(方向)を詳細に確認することができる。
【0244】
(第1の実施形態の第5の変形例)
本発明の第1の実施形態の第5の変形例を説明する。第1の実施形態の第5の変形例において、
図1に示すPC41が使用される。2枚以上の基準フレームが使用される。2枚以上の基準フレームに写っている範囲は互いに重なる。PC41は、2枚以上の基準フレーム間で重なる領域を表示する。
【0245】
画像選択部433は、2枚以上の基準フレームを静止画群から選択する。画像選択部433は、各基準フレームに基づいて選択フレームを静止画群から選択する。したがって、画像選択部433は、2枚以上の選択フレームを選択する。
【0246】
推定部434は、各基準フレームを取得したカメラのカメラ座標を推定する。また、推定部434は、各基準フレームを取得したカメラの姿勢を推定し、推定された姿勢を示す姿勢情報を生成する。さらに、推定部434は、各基準フレームに写っている被写体の領域の3D座標を推定する。
【0247】
表示制御部435は、3Dモデルの3D画像を表示部45に表示する。表示制御部435は、各基準フレームを取得したカメラのカメラ座標と、注目領域と対応する3Dモデルの領域との少なくとも一方と対応する位置を3D画像上に表示する。表示制御部435は、2枚以上の基準フレーム間で共通の領域(重複領域)の位置を示す情報を表示部45に表示する。表示制御部435は、重複領域のうち被写体の形状が大きく変化する領域を表示部45に表示する。
【0248】
以下では、ユーザーが2枚の静止画(第1の静止画および第2の静止画)を注目領域として指定する例を説明する。2枚の静止画に写っている範囲は互いに重なる。第1の静止画は、過去に実施された検査(例えば、1年前に実施された検査)で取得された静止画であり、処理対象の静止画群に含まれない。第2の静止画は、最も新しい検査で取得された静止画であり、処理対象の静止画群に含まれる。3枚以上の静止画が注目領域となる場合であっても、PC41は、以下で説明される方法と同様の方法を使用することができる。
【0249】
図22は、PC41が実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0250】
図2に示すステップS105は、ステップS105aに変更される。ユーザーは、操作部44を操作することにより、2枚の静止画を示す情報をPC41に入力する。画像選択部433は、ユーザーがPC41に入力した情報に基づいて、2枚の静止画を受け付ける。画像選択部433は、2枚の静止画に基づいて2枚の基準フレーム(第1の基準フレームおよび第2の基準フレーム)を静止画群から選択する。画像選択部433は、2枚の基準フレームをメモリ47から読み出す(ステップS105a)。
【0251】
ステップS105aの詳細を説明する。画像選択部433は、第1の静止画に基づいて第1の基準フレームを選択する。第1の基準フレームを選択する方法は、第1の実施形態の第3の変形例における方法と同じである。画像選択部433は、第1の静止画の構図と似た構図で取得された静止画を静止画群から選択することにより、第1の静止画と類似する第1の基準フレームを選択する。
【0252】
第1の静止画が取得されたタイミングは、静止画群に含まれる各静止画が取得されたタイミングと大きく異なる。過去の検査と最も新しい検査との間に異常が発生する可能性がある。そのため、第1の静止画には異常が写ってなく、第1の基準フレームには異常が写っている場合がある。第1の静止画と類似する第1の基準フレームを正確に選択するために、異常な領域が静止画群の各静止画から除外されてもよい。
【0253】
ユーザーが、操作部44を操作することにより、異常な領域を示す情報をPC41に入力し、画像選択部433はその領域を受け付けてもよい。PC41が機械学習などを使用することにより異常な領域を静止画から検出してよい。画像選択部433は、静止画群の各静止画に写っている範囲から異常な領域を除外し、第1の基準フレームを選択してもよい。異常な領域を除外する方法は上記の方法に限らない。
【0254】
画像選択部433は、第2の静止画に基づいて第2の基準フレームを選択する。第2の基準フレームを選択する方法は、第1の実施形態における方法と同じである。例えば、第2の静止画が記録されたタイミングは動画ファイルのヘッダーに埋め込まれている。画像選択部433は、動画ファイルのヘッダーを読み取ることにより、第2の静止画が記録されたタイミングを特定する。画像選択部433は、特定されたタイミングで記録された静止画を第2の基準フレームとしてメモリ47から読み出す。第2の基準フレームは第2の静止画と同じである。
【0255】
ユーザーによって指定された2枚の静止画に写っている範囲が互いに重なる場合、画像選択部433は、以下の方法を使用することにより2枚の基準フレームを選択してもよい。まず、画像選択部433は、上記の方法を使用することにより、第2の基準フレームを選択する。画像選択部433は、静止画群において第2の基準フレームと時間的に近い1枚以上の静止画を処理対象として選択する。画像選択部433は、第1の静止画と似ている静止画を処理対象から選択する。選択された静止画は第1の基準フレームである。これにより、誤ったフレームを第1の基準フレームとして選択する頻度が減り、第1の基準フレームを選択するための処理時間が短縮される。
【0256】
画像選択部433は、ステップS106において、2枚の基準フレームに基づいて2枚の選択フレーム(第1の選択フレームおよび第2の選択フレーム)を選択する。各選択フレームを選択する方法は、第1の実施形態における方法と同じである。
【0257】
推定部434は、ステップS107において、第1の基準フレーム、第1の選択フレーム、および3Dモデルに基づいて、第1の基準フレームを取得したカメラの位置および姿勢を推定する。また、推定部434は、ステップS107において、第2の基準フレーム、第2の選択フレーム、および3Dモデルに基づいて、第2の基準フレームを取得したカメラの位置および姿勢を推定する。カメラの位置および姿勢を推定する方法は、第1の実施形態における方法と同じである。
【0258】
推定部434は、ステップS108において、第1の基準フレームと対応する3Dモデルの領域の3D座標を算出する。また、推定部434は、ステップS108において、第2の基準フレームと対応する3Dモデルの領域の3D座標を算出する。これにより、推定部434は、第1の静止画および第2の静止画の各々と対応する3Dモデル上の位置を推定する。3Dモデル上の位置を推定する方法は、第1の実施形態における方法と同じである。
【0259】
ステップS109の後、表示制御部435は、第1の基準フレームおよび第2の基準フレーム間で共通の領域(重複領域)を検出する。その領域は、第1の基準フレームおよび第2の基準フレームに写っている。表示制御部435は、2枚の基準フレームの2次元情報のみに基づいて重複領域を検出してもよい。ステップS108において各基準フレームと対応する3Dモデルの領域が特定されているため、表示制御部435は、その領域の3次元情報を使用することにより重複領域を検出してもよい(ステップS141)。
【0260】
ステップS141の後、表示制御部435は、重複領域における被写体の形状の変化量を算出し、その変化量が所定量以上である領域を検出する。これにより、表示制御部435は、被写体の形状が大きく変化する領域を検出する。表示制御部435は、2枚の基準フレームの2次元情報のみに基づいてその領域を検出してもよい。例えば、表示制御部435は、互いに隣接する2つの画素の値の差分を算出し、その差分が所定値を超える領域を検出してもよい。あるいは、表示制御部435は、画像の色が周囲の領域と大きく異なる領域を検出してもよい。表示制御部435は、重複領域の3次元情報を使用することにより、被写体の形状が大きく変化する領域を検出してもよい。例えば、表示制御部435は、被写体の3D形状において周囲の領域に対する高さまたは深さが所定値を超える領域を検出してもよい(ステップS142)。
【0261】
図2に示すステップS110は、ステップS110aに変更される。ステップS142の後、表示制御部435は、3Dモデルの3D画像を表示部45に表示する。このとき、表示制御部435は、ステップS108において算出された3D座標を持つ点を含む領域を3D画像上に表示する。これにより、表示制御部435は、第1の静止画および第2の静止画の各々と対応する3Dモデルの領域を3D画像上に表示する。また、表示制御部435は、ステップS141において検出された重複領域と、ステップS142において検出された領域とを表示部45に表示する(ステップS110a)。ステップS110aが実行されたとき、
図22に示す処理が終了する。
【0262】
PC41が実行する処理の順番は、
図22に示す順番に限らない。例えば、表示制御部435は、基準フレームが選択されるタイミングと、3D画像が表示されるタイミングとの間の任意のタイミングで重複領域を検出してもよい。したがって、ステップS141はステップS105aとステップS110aとの間の任意のタイミングで実行されてもよい。表示制御部435は、基準フレームが選択されるタイミングと、3D画像が表示されるタイミングとの間の任意のタイミングで、被写体の形状が大きく変化する領域を検出してもよい。したがって、ステップS142はステップS105aとステップS110aとの間の任意のタイミングで実行されてもよい。
【0263】
表示制御部435は、ステップS141を実行しなくてもよく、ステップS110aにおいて重複領域を表示しなくてもよい。そのため、ステップS141は必須ではない。
【0264】
表示制御部435は、ステップS142を実行しなくてもよく、ステップS110aにおいて被写体の形状が大きく変化する領域を表示しなくてもよい。そのため、ステップS142は必須ではない。
【0265】
図22に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS110aの後、ステップS121からステップS123が実行されてもよい。ステップS141が実行される前に、
図17に示すステップS110、およびステップS121からステップS123が実行されてもよい。
【0266】
図22に示す処理に加えて、
図20に示すステップS131からステップS133が実行されてもよい。例えば、ステップS110aの後、ステップS131からステップS133が実行されてもよい。ステップS141が実行される前に、
図20に示すステップS110、およびステップS131からステップS133が実行されてもよい。
【0267】
表示制御部435は、ステップS110aにおいて、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0268】
図23は、表示部45の表示画面の例を示す。
図13に示す部分と同じ部分の説明を省略する。
【0269】
表示制御部435は、ステップS110aにおいて、第1の静止画および第2の静止画の各々のサムネイル画像を表示部45に表示する。
図23に示す例では、表示制御部435は、サムネイル画像IM14およびサムネイル画像IM15を領域R20に表示する。サムネイル画像IM14は、ファイル名img04を持つ静止画のサムネイル画像である。サムネイル画像IM15は、ファイル名img05を持つ静止画のサムネイル画像である。
【0270】
表示制御部435は、ステップS110aにおいて、3Dモデルの注目領域MR31および領域MR32を3Dモデルの3D画像MI20上に表示する。注目領域MR31は、ファイル名img04を持つ静止画と対応する3Dモデルの領域である。領域MR32は、ファイル名img05を持つ静止画と対応する3Dモデルの領域である。
【0271】
表示制御部435はステップS110aにおいて、マークC31およびマークC32を3D画像MI20上に表示する。マークC31は、ファイル名img04を持つ静止画が取得されたときのカメラ座標を示す。マークC32は、ファイル名img05を持つ静止画が取得されたときのカメラ座標を示す。
【0272】
表示制御部435は、ステップS110aにおいて、線L41および線L42を表示する。線L41は、ファイル名img04を持つ静止画の画角を示す。線L42は、ファイル名img05を持つ静止画の画角を示す。
【0273】
表示制御部435は、ステップS141において、2枚の基準フレーム間で共通の領域(重複領域)を検出する。表示制御部435は、ステップS110aにおいて、重複領域の位置を示す情報を表示部45に表示する。例えば、表示制御部435は、領域MR41をサムネイル画像IM14およびサムネイル画像IM15上に表示し、領域MR42をサムネイル画像IM15上に表示する。領域MR41は、重複領域である。領域MR42は、2枚の基準フレーム間で共通しない領域である。
図23に示す例では、静止画(ファイル名img05)を取得したカメラの撮像視野は、静止画(ファイル名img04)を取得したカメラの撮像視野を含む。サムネイル画像IM14は、領域MR41のみの画像である。サムネイル画像IM15は、領域MR41および領域MR42の画像である。
【0274】
ユーザーによって指定された静止画は、基準フレームと同じである、または基準フレームと似ている。そのため、2枚の基準フレーム間で共通の領域のほぼ全体が2枚の静止画に含まれる可能性が高い。
図23に示す例では、表示制御部435は、基準フレームの重複領域と同じ領域をユーザーによって指定された静止画において検出する。表示制御部435は、検出された領域をサムネイル画像上に表示する。
【0275】
ユーザーによって指定された静止画と基準フレームとが異なる場合、表示制御部435は基準フレームを表示部45に表示してもよい。表示制御部435は、重複領域を基準フレーム上に表示してもよい。
【0276】
表示制御部435は、ステップS142において、被写体の形状が大きく変化する領域を検出する。表示制御部435は、ステップS110aにおいて領域MR43をサムネイル画像IM14およびサムネイル画像IM15上に表示する。領域MR43において被写体の形状が大きく変化する。領域MR43は領域MR41に含まれる。ユーザーによって指定された静止画と基準フレームとが異なる場合、表示制御部435は、被写体の形状が大きく変化する領域を基準フレーム上に表示してもよい。
【0277】
図23に示す例では、表示制御部435は、各静止画と対応するサムネイル画像上に重複領域を表示する。表示制御部435は、重複領域を3D画像MI20上に表示してもよい。
【0278】
図23に示す例では、表示制御部435は、被写体の形状が大きく変化する領域を、各静止画と対応するサムネイル画像上に表示する。表示制御部435は、その領域を3D画像MI20上に表示してもよい。
【0279】
表示制御部435は、視認性を高めるための処理(強調処理)を領域MR41、領域MR42、および領域MR43の各々の画像に施してもよい。例えば、表示制御部435は、各領域の輪郭を線で表示してもよい。表示制御部435は、各領域を所定の色または所定の模様で表示してもよい。ユーザーが各領域を静止画の他の領域または3Dモデルの領域と区別できる限り、各領域を表示する方法は上記の方法に限らない。
【0280】
本発明の各態様は次の変形例を含んでもよい。画像選択部433は、第1の選択ステップ(ステップS105a)において2枚以上の基準フレーム(基準画像)を選択する。表示制御部435は、表示ステップ(ステップS110a)において、2枚以上の基準フレーム間で共通の領域の位置を示す情報を表示部45に表示する。
【0281】
第1の実施形態の第5の変形例において、PC41は、2枚以上の基準フレーム間で共通の領域(重複領域)の位置を示す情報を表示部45に表示する。ユーザーは、互いに大きく異なるタイミングで取得された2枚以上の静止画の関係を分析および管理することができる。
【0282】
PC41は、重複領域のうち被写体の形状が大きく変化する領域を表示部45に表示する。ユーザーは、被写体の形状の時系列的な変化を分析および管理することができる。
【0283】
(第1の実施形態の第6の変形例)
本発明の第1の実施形態の第6の変形例を説明する。
図1に示すPC41は、
図24に示すPC41bに変更される。
図24は、PC41bの構成を示す。PC41bは、3Dモデルの代わりに、3D-CAD等の設計データ(参照データ)の3D画像を表示する。
図1に示す構成と同じ構成の説明を省略する。
【0284】
図1に示すCPU43は、CPU43bに変更される。CPU43bの機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、記憶制御部436、データ受付部438、およびデータ処理部439を含む。
図24に示すCPU43b内のブロックの少なくとも1つがCPU43bと異なる回路で構成されてもよい。
【0285】
CPU43b内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43b内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43b内の各部は、1つまたは複数の論理回路を含むことができる。
【0286】
メモリ47は、PC41bまたは外部装置によって生成された参照データを記憶する。参照データは、被写体の3D形状を示す。参照データは、3Dモデルから独立しているデータである。3Dモデルのデータフォーマットと参照データのデータフォーマットとが異なっていてもよい。ユーザーは、操作部44を操作することにより、参照データを指定するための情報をPC41bに入力する。データ受付部438は、その情報を操作部44から受け付ける。
【0287】
3Dモデルは、被写体の2つ以上の点の3D座標を含む。データ処理部439は、その2つ以上の点の3D座標を参照データによって示される3D形状と関連付ける。これにより、データ処理部439は、3Dモデルの位置と参照データの位置とを互いに関連付ける。
【0288】
図25は、PC41bが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0289】
ステップS102の後、ユーザーは、操作部44を操作することにより、参照データを指定するための情報をPC41bに入力する。データ受付部438は、その情報を操作部44から受け付ける(ステップS151)。ステップS151の後、ステップS103が実行される。
【0290】
ステップS108の後、データ処理部439は、ステップS103において生成された3Dモデルと、ステップS151において受け付けられた情報が示す参照データとをメモリ47から読み出す。データ処理部439は、3Dモデルの位置と参照データの位置とを互いに関連付ける(ステップS152)。
【0291】
ステップS152の詳細を説明する。3Dモデルのデータフォーマットと参照データのデータフォーマットとが異なる場合、データ処理部439は、3Dモデルのデータフォーマットと参照データのデータフォーマットとを揃える処理を実行する。3Dモデルは、3D点群データである。例えば、参照データがソリッドデータまたはサーフェースデータである場合、データ処理部439は、参照データを3D点群データに変換する。データ処理部439は、3Dモデルをソリッドデータまたはサーフェースデータに変換してもよい。
【0292】
その後、データ処理部439は、公知の3Dデータの位置合わせ技術を使用することにより、3Dモデルの位置と参照データの位置とを互いに関連付ける。データ処理部439は、3Dモデルまたは参照データのデータフォーマットを変換することにより、位置合わせを容易に実行することができる。ユーザーは、操作部44を操作することにより、3Dモデルの位置と参照データの位置とを合わせてもよい。
【0293】
ステップS152の後、推定部434は、ステップS108において算出された3D座標を参照データと関連付ける(ステップS153)。ステップS153は、
図2に示すステップS109と同様である。
【0294】
ステップS153の後、表示制御部435は、参照データの3D画像を表示部45に表示する。このとき、表示制御部435は、ステップS108において算出された3D座標を持つ点を含む領域を3D画像上に表示する。これにより、表示制御部435は、注目領域と対応する3Dモデルの領域を3D画像上に表示する(ステップS154)。ユーザーは、参照データの3D画像を確認することにより、注目領域である基準フレームと対応する3Dモデル上の位置を確認することができる。ステップS154が実行されたとき、
図25に示す処理が終了する。
【0295】
PC41bが実行する処理の順番は、
図25に示す順番に限らない。例えば、データ受付部438は、データ処理部439が参照データを処理する前の任意のタイミングで、参照データを指定するための情報を受け付けてもよい。したがって、ステップS151はステップS152が実行される前の任意のタイミングで実行されてもよい。
【0296】
所定の参照データを使用する条件が予めPC41bに設定されている場合、データ受付部438は、参照データを指定するための情報を受け付ける必要はない。そのため、CPU43bがデータ受付部438を有する必要はなく、ステップS151は必須ではない。
【0297】
図25に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS154の後、ステップS121からステップS123が実行されてもよい。表示制御部435は、ステップS123において、3D距離を参照データの3D画像上に表示してもよい。
【0298】
図25に示す処理に加えて、
図20に示すステップS131からステップS133が実行されてもよい。例えば、ステップS154の後、ステップS131からステップS133が実行されてもよい。表示制御部435は、ステップS133において、新たな注目領域の位置として推定された位置を含む参照データの3D画像を表示部45に表示してもよい。
【0299】
図25に示す処理に加えて、
図22に示すステップS141およびステップS142が実行されてもよい。例えば、ステップS154の後、ステップS141およびステップS142が実行されてもよい。ステップS142の後、表示制御部435は、ステップS141において検出された重複領域と、ステップS142において検出された領域とを参照データの3D画像上に表示してもよい。ステップS152が実行される前にステップS141およびステップS142が実行されてもよい。ステップS154が実行されたとき、表示制御部435は、ステップS141において検出された重複領域と、ステップS142において検出された領域とを参照データの3D画像上に表示してもよい。
【0300】
表示制御部435は、ステップS154において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0301】
本発明の各態様は次の変形例を含んでもよい。3D画像は、被写体の3D形状を示す形状データの画像である。データ処理部439は、関連付けステップ(ステップS153)において、被写体の2つ以上の点の3D座標を形状データによって示される3D形状と関連付ける。
【0302】
第1の実施形態の第6の変形例において、PC41bは、3D-CAD等の参照データの3D画像を表示する。被写体の表面が高い品質で表示されるため、ユーザーは、被写体の表面を詳細に確認することができる。
【0303】
(第2の実施形態)
本発明の第2の実施形態を説明する。
図1に示すPC41は、
図26に示すPC41cに変更される。
図26は、PC41cの構成を示す。PC41cは、動画を再生する機能を有し、3Dモデルの3D画像と一緒に動画を表示する。
図1に示す構成と同じ構成の説明を省略する。
【0304】
図1に示すCPU43は、CPU43cに変更される。CPU43cの機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、記憶制御部436、および動画制御部440を含む。
図26に示すCPU43c内のブロックの少なくとも1つがCPU43cと異なる回路で構成されてもよい。
【0305】
CPU43c内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43c内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43c内の各部は、1つまたは複数の論理回路を含むことができる。
【0306】
第2の実施形態において、動画が静止画群として使用される。内視鏡装置1等の装置は、検査中に動画を取得する。ユーザーは、動画の撮影中に注目フレームを指定することにより、インデックスを動画の特定のフレームに付与することができる。インデックスは、チャプターと同様の機能を持つ。動画制御部440は、動画の再生を制御する。
【0307】
図27および
図28は、PC41cが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0308】
図2に示すステップS105は、ステップS105bに変更される。画像選択部433は、動画に埋め込まれたインデックスを読み取り、そのインデックスと対応するフレームを特定する。画像選択部433は、そのフレームを基準フレームとしてメモリ47から読み出す(ステップS105b)。
【0309】
ステップS110の後、動画制御部440は、動画をメモリ47から読み出し、動画を再生する。動画制御部440は、再生された動画を表示部45に表示する。動画制御部440は、動画に埋め込まれたインデックスを読み取り、そのインデックスと対応するフレームを特定してもよい。動画制御部440は、インデックスが付与されたフレームを示す情報を動画と一緒に表示してもよい(ステップS161)。
【0310】
ユーザーは、動画の再生中に操作部44を操作することにより、動画の特定のフレームを示す情報をPC41cに入力する。これにより、ユーザーは、新たな注目領域を示す情報をPC41cに入力する。画像選択部433は、入力された情報が示すフレームを新たな基準フレームとしてメモリ47から読み出す(ステップS162)。
【0311】
ステップS162の後、ステップS163からステップS166が実行される。ステップS163は、
図2に示すステップS106と同じである。ステップS164は、
図2に示すステップS107と同じである。ステップS165は、
図2に示すステップS108と同じである。ステップS166は、
図2に示すステップS109と同じである。
【0312】
ステップS166の後、表示制御部435は、ステップS165において算出された3D座標を持つ点を含む領域を3Dモデルの3D画像上に表示する。これにより、表示制御部435は、新たな注目領域と対応する3Dモデルの領域を3D画像上に表示する(ステップS167)。ステップS167が実行されたとき、
図27および
図28に示す処理が終了する。
【0313】
動画が記録された後にインデックスが動画に付与されてもよい。例えば、動画が表示部45に表示された後、ユーザーが操作部44を操作することにより、インデックスを動画の所望の位置に付与してもよい。
【0314】
PC41cが実行する処理の順番は、
図27および
図28に示す順番に限らない。例えば、ステップS105bが実行される前に動画が表示され、ユーザーは、動画の特定のフレームを注目領域として指定してもよい。画像選択部433は、ステップS105bにおいて、そのフレームを基準フレームとして選択してもよい。したがって、ステップS104が実行される前にステップS161が実行されてもよい。
【0315】
動画制御部440は、動画の再生を一時的に停止してもよい。画像選択部433は、動画の再生が停止されたときに表示されているフレームを基準フレームとして選択してもよい。ユーザーは、操作部44を操作することにより、基準フレームにおける注目領域を示す情報をPC41cに入力してもよい。その後、
図20に示すステップS131からステップS133と同様の処理が実行されてもよい。
【0316】
図27および
図28に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS167の後、ステップS121からステップS123が実行されてもよい。ステップS161が実行される前にステップS121からステップS123が実行されてもよい。
【0317】
図27および
図28に示す処理に加えて、
図22に示すステップS141およびステップS142が実行されてもよい。例えば、ステップS166の後、ステップS141およびステップS142が実行されてもよい。ステップS161が実行される前にステップS141およびステップS142が実行されてもよい。ステップS167が実行されたとき、表示制御部435は、ステップS141において検出された重複領域と、ステップS142において検出された領域とを3D画像上に表示してもよい。
【0318】
図27および
図28に示す処理に加えて、
図25に示すステップS151からステップS154が実行されてもよい。例えば、ステップS102とステップS103との間にステップS151が実行されてもよい。ステップS152からステップS154がステップS109およびステップS110の代わりに実行されてもよい。ステップS167が実行されたとき、表示制御部435は、新たな注目領域と対応する3Dモデルの領域を参照データの3D画像上に表示してもよい。
【0319】
表示制御部435は、ステップS110またはステップS167において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0320】
図29は、表示部45の表示画面の例を示す。第1の実施形態と同様に、表示部45が3Dモデルの3D画像を表示した後にPC41cが注目領域として1枚の基準フレームを読み込む例を示す。インデックスが基準フレームに付与されている。
【0321】
表示制御部435は、
図29に示すダイアログA20を表示部45に表示する。また、表示制御部435は、領域R10をダイアログA20上に表示する。領域R10は、3Dモデルの3D画像を表示するための領域である。
【0322】
3Dモデルが生成された後、表示制御部435は、3Dモデルの3D画像MI10を領域R10に表示する。このとき、表示制御部435は、予め設定された視点から見た3Dモデルの3D画像MI10を表示する。
【0323】
表示制御部435は、ステップS161において、動画IM21をダイアログA20上に表示する。このとき、表示制御部435は、3D画像MI10が表示された領域R10と異なる領域に動画IM21を表示する。3D画像MI10および動画IM21は、水平方向に並べられている。
【0324】
表示制御部435は、ステップS161において、シークバーSB10をダイアログA20上に表示する。シークバーSB10は、動画IM21の再生位置または再生時間を示す。表示制御部435は、ステップS161において、インデックス位置IN11およびインデックス位置IN12をシークバーSB10上に表示する。インデックス位置IN11およびインデックス位置IN12は、動画IM21の撮影中にユーザーによってインデックスが付与されたフレームの位置を示す。
【0325】
表示制御部435は、ステップS161において、インデックス位置IN11およびインデックス位置IN12の各々と対応する3Dモデル上の位置を示す情報を3D画像MI10上に表示する。具体的には、表示制御部435は、文字列CH21および文字列CH22を3D画像MI10上に表示し、かつ線L51および線L52を3D画像MI10上に表示する。
【0326】
各文字列は、インデックス名を示す。文字列CH21は、インデックス位置IN11と対応するインデックス名index1を示す。文字列CH22は、インデックス位置IN12と対応するインデックス名index2を示す。各線は、各インデックス名が示すフレームと対応する位置を示す。線L51は、インデックス名index1が示す静止画と対応する位置を示す。線L52は、インデックス名index2が示す静止画と対応する位置を示す。各位置は、ステップS108において、基準フレームを取得したカメラのカメラ座標および姿勢情報に基づいて算出された3D座標と対応する。
【0327】
ユーザーは、インデックスが付与されたフレームの位置を確認することができる。また、ユーザーは、動画IM21に付与されたインデックスと対応する3Dモデル上の位置を確認することができる。3D画像MI10および動画IM21が表示されるため、ユーザーは、インデックスが付与されたフレームの位置と、そのインデックスと対応する3Dモデル上の位置とを互いに関連付けることができる。
【0328】
3D画像MI10が表示された後、表示制御部435は、3D画像MI10の視点を変更してもよい。例えば、ユーザーは、操作部44を操作することにより、インデックスを指定してもよい。このとき、表示制御部435は、ユーザーによって指定されたインデックスが付与されたフレームを特定してもよい。表示制御部435は、特定されたフレームを取得したカメラのカメラ座標に基づいて3D画像MI10の視点を変更してもよい。表示制御部435は、特定されたフレームと対応する3Dモデルの領域を拡大、縮小、または回転してもよい。3D画像MI10の視点を変更する方法は、第1の実施形態における方法と同じである。3Dモデルの領域を拡大、縮小、または回転する方法は、第1の実施形態における方法と同じである。
【0329】
動画IM21が表示された後、ユーザーは、操作部44を操作することにより、シークバーSB10上の特定の位置SP10を指定する。これにより、ユーザーは、動画の特定のフレームを注目領域として指定する。画像選択部433は、ステップS162において、ユーザーによって指定されたフレームを新たな基準フレームとして選択する。ステップS163からステップS166が実行された後、表示制御部435は、ステップS167において、新たな注目領域と対応する領域の位置P31を3D画像MI10上に表示する。
【0330】
ユーザーは、動画の再生を一時的に停止してもよい。ユーザーは、表示されているフレームに写っている範囲の一部を指定してもよい。このとき、推定部434は、そのフレームの一部を注目領域として受け付けてもよい。推定部434は、注目領域と対応する3Dモデル上の位置を推定してもよい。表示制御部435は、注目領域と対応する領域を3D画像MI10上に表示してもよい。静止画の一部を注目領域として受け付け、かつその注目領域と対応する3Dモデルの領域を可視化する方法は、第1の実施形態の第4の変形例における方法と同じである。
【0331】
第2の実施形態において、PC41cは、3Dモデルの3D画像を表示し、かつその3Dモデルの生成に使用された2枚以上の静止画を含む動画を表示する。PC41cは、特定のフレームの全体または一部と対応する3Dモデル上の位置を3D画像上に表示する。検査が終了した後、ユーザーは、注目領域と対応する3Dモデルの領域の位置および姿勢を詳細に確認することができる。そのため、ユーザーは、検査結果の報告(レビュー)を効率的に実施することができ、かつ検査動画を使用することにより異常を効率的に見直すことができる。
【0332】
(第3の実施形態)
本発明の第3の実施形態を説明する。
図1に示すPC41は、
図30に示すPC41dに変更される。
図30は、PC41dの構成を示す。PC41dは、ユーザーが実施する操作に関わらず、注目領域を自動で設定する。
図1に示す構成と同じ構成の説明を省略する。
【0333】
図1に示すCPU43は、CPU43dに変更される。CPU43dの機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、記憶制御部436、および領域検出部441を含む。
図30に示すCPU43d内のブロックの少なくとも1つがCPU43dと異なる回路で構成されてもよい。
【0334】
CPU43d内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43d内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43d内の各部は、1つまたは複数の論理回路を含むことができる。
【0335】
領域検出部441は、画像に写っている被写体の領域の一部を注目領域として検出する。例えば、注目領域は、異常を含むと推定される領域(異常領域)である。注目領域は、異常領域に限らない。3Dモデル上の位置を可視化する目的で注目領域が設定される限り、注目領域は、異常ではない領域であってもよい。例えば、注目領域は、配管検査における被写体の溶接痕であってもよいし、その被写体のエルボーなどの分岐点であってもよい。注目領域は、ガスタービン検査における基準ブレードであってもよい。注目領域は、検査対象物においてランドマークとなる領域であってもよい。
【0336】
図31は、PC41dが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0337】
ステップS104の後、領域検出部441は、画像を処理し、その画像における注目領域を検出する(ステップS171)。ステップS171の後、ステップS105が実行される。
【0338】
ステップS171の詳細を説明する。以下では、機械学習を使用することにより検査対象物内の異常を検出する例を説明する。異常な領域は、形状、色、または模様等の観点で異常ではない領域と区別される。ユーザーは、過去の検査において管理している画像(静止画または動画)を予め2種類の画像に分類する。2種類の画像は、既知の異常が写っている画像と、既知の異常が写っていない画像とである。領域検出部441は、これらの画像を機械学習の教師データ(正解付き教師データ)として扱う。
【0339】
領域検出部441は、教師データを入力とする学習を実施することにより、学習データを生成する。学習データは、異常な領域の特徴を示す。領域検出部441は、学習データに基づいて、異常領域が任意の画像に含まれるか否かを判断する。異常領域が画像に含まれると領域検出部441が判断した場合、領域検出部441は、異常領域を注目領域として検出する。PC41dが注目領域を自動的に検出できる限り、注目領域を検出する方法は、上記の方法に限らない。
【0340】
例えば、領域検出部441は、静止画群に含まれる静止画に注目領域が含まれるか否かを判断する。あるいは、領域検出部441は、静止画群が取得されたタイミングと異なるタイミングで取得された静止画における注目領域を検出する。この場合、領域検出部441は、静止画群に含まれる2枚以上の静止画の全てと異なる静止画に注目領域が含まれるか否かを判断する。
【0341】
静止画群は、3Dモデルを生成するために使用された2枚以上のキーフレームを含む。領域検出部441は、キーフレームに注目領域が含まれるか否かを判断する。あるいは、領域検出部441は、その2枚以上のキーフレームに含まれない静止画に注目領域が含まれるか否かを判断する。例えば、静止画群が、3Dモデルを生成するために使用されない静止画を含む場合、領域検出部441は、その静止画に注目領域が含まれるか否かを判断する。静止画群に含まれない静止画は、3Dモデルを生成するために使用されない。領域検出部441は、その静止画に注目領域が含まれるか否かを判断してもよい。
【0342】
画像選択部433は、ステップS105において、静止画群に含まれる2枚以上の静止画のうちの1枚を基準フレームとして選択する。領域検出部441が、静止画群に含まれる静止画における注目領域を検出した場合、画像選択部433はその静止画を基準フレームとして選択する。領域検出部441が、静止画群に含まれる2枚以上の静止画の全てと異なる静止画における注目領域を検出した場合、画像選択部433は、第1の実施形態の第3の変形例と同様に、その静止画の構図と似た構図で取得された画像を静止画群から選択する。これにより、画像選択部433は、基準フレームを選択する。その基準フレームは、静止画において検出された注目領域を含む。
【0343】
領域検出部441が、3Dモデルを生成するために使用されたキーフレームにおける注目領域を検出した場合、画像選択部433はそのキーフレームを基準フレームとして選択する。領域検出部441が、2枚以上のキーフレームに含まれない静止画における注目領域を検出し、かつその静止画が静止画群に含まれる場合、画像選択部433は、その静止画を基準フレームとして選択する。領域検出部441が、2枚以上のキーフレームに含まれない静止画における注目領域を検出し、かつその静止画が静止画群に含まれない場合、画像選択部433は、第1の実施形態の第3の変形例と同様に、その静止画の構図と似た構図で取得された画像を静止画群から選択する。これにより、画像選択部433は、基準フレームを選択する。その基準フレームは、静止画において検出された注目領域を含む。
【0344】
基準フレームの条件は予めメモリ47に記憶されている。上記の例では、その条件は学習データによって示される。画像選択部433は、ステップS105において、静止画群に含まれる2枚以上の静止画のうちの1枚を選択する。選択された静止画は、その条件を満たす注目領域を含む。上記の例では、画像選択部433は、領域検出部441によって検出された注目領域を含む基準フレームを選択する。あるいは、画像選択部433は、その注目領域を含む静止画と対応する基準フレームを選択する。これにより、画像選択部433は、学習データによって示される条件を満たす静止画を基準フレームとして選択する。
【0345】
推定部434は、ステップS108において、基準フレームにおける注目領域を検出する。画像選択部433が、領域検出部441によって検出された注目領域を含む静止画と同じ静止画を基準フレームとして選択した場合、その基準フレームは注目領域を含む。推定部434は、その注目領域を検出する。画像選択部433が、領域検出部441によって検出された注目領域を含む静止画と異なる静止画を基準フレームとして選択した場合、推定部434は、その注目領域と類似する領域を基準フレームにおいて抽出する。推定部434は、抽出された領域を注目領域として扱う。
【0346】
推定部434は、ステップS108において、注目領域と対応する3Dモデルの領域の3D座標を算出する。これにより、推定部434は、注目領域と対応する3Dモデル上の位置を推定する。3Dモデル上の位置を推定する方法は、第1の実施形態における方法と同じである。
【0347】
表示制御部435は、ステップS110において、3Dモデルの3D画像を表示部45に表示する。このとき、表示制御部435は、注目領域を表示部45に表示する。
【0348】
PC41dが実行する処理の順番は、
図31に示す順番に限らない。例えば、3Dモデル生成部432が3Dモデルを生成する前に領域検出部441が注目領域を検出してもよい。したがって、ステップS171は、ステップS101とステップS104との間の任意のタイミングで実行されてもよい。
【0349】
図31に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS110の後、ステップS121からステップS123が実行されてもよい。
【0350】
図31に示す処理に加えて、
図20に示すステップS131からステップS133が実行されてもよい。例えば、ステップS110の後、ステップS131からステップS133が実行されてもよい。
【0351】
図31に示す処理に加えて、
図22に示すステップS141およびステップS142が実行されてもよい。例えば、ステップS109の後、ステップS141およびステップS142が実行されてもよい。ステップS142の後、
図22に示すステップS110aがステップS110の代わりに実行されてもよい。
【0352】
図31に示す処理に加えて、
図25に示すステップS151からステップS154が実行されてもよい。例えば、ステップS102とステップS103との間にステップS151が実行されてもよい。ステップS152からステップS154がステップS109およびステップS110の代わりに実行されてもよい。
【0353】
図31に示す処理に加えて、
図28に示すステップS161からステップS167が実行されてもよい。例えば、ステップS110の後、ステップS161からステップS167が実行されてもよい。
【0354】
表示制御部435は、ステップS110において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0355】
図32は、表示部45の表示画面の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0356】
表示制御部435は、ステップS110において、3Dモデルの領域の位置を示す情報を3Dモデルの3D画像MI10上に表示する。例えば、表示制御部435は、領域MR51、領域MR52、および領域MR53を3D画像MI10上に表示する。領域MR51は、ファイル名img01を持つ静止画と対応する3Dモデルの領域である。領域MR52は、ファイル名img02を持つ静止画と対応する3Dモデルの領域である。領域MR53は、ファイル名img03を持つ静止画と対応する3Dモデルの領域である。
【0357】
表示制御部435は、ステップS110において、領域検出部441によって検出された注目領域の位置を示す情報を3D画像MI10上に表示する。例えば、表示制御部435は、注目領域MR61、注目領域MR62、および注目領域MR63を表示する。注目領域MR61はサムネイル画像IM11上に表示され、注目領域MR62はサムネイル画像IM12上に表示され、注目領域MR63はサムネイル画像IM13上に表示される。領域MR51は注目領域MR61と対応し、領域MR52は注目領域MR62と対応し、領域MR53は注目領域MR63と対応する。
【0358】
表示制御部435は、視認性を高めるための処理(強調処理)を領域MR51、領域MR52、領域MR53、注目領域MR61、注目領域MR62、および注目領域MR63の各々の画像に施してもよい。例えば、表示制御部435は、各領域の輪郭を線で表示してもよい。表示制御部435は、各領域を所定の色または所定の模様で表示してもよい。ユーザーが各領域を静止画の他の領域または3Dモデルの領域と区別できる限り、各領域を表示する方法は上記の方法に限らない。
【0359】
図32に示す例では、表示制御部435は、3枚の静止画の各々における注目領域を表示し、かつ各注目領域と対応する3Dモデルの領域を表示する。様々な視点で取得された画像が表示されるため、領域検出部441によって検出された異常領域が本当に異常であるか否かをユーザーは容易に確認することができる。
【0360】
領域検出部441が異常領域を多くの静止画において検出する可能性がある。異常領域が検出された全ての静止画を表示制御部435が表示した場合、ユーザーが異常領域を確認することが困難になる可能性がある。その場合、表示制御部435は、異常が検出された代表的な静止画のみを表示してもよい。
【0361】
3D画像MI10が表示された後、表示制御部435は、3D画像MI10の視点を変更してもよい。例えば、ユーザーは、操作部44を操作することにより、注目領域MR61、注目領域MR62、および注目領域MR63のいずれか1つを指定する。あるいは、ユーザーは、操作部44を操作することにより、領域MR51、領域MR52、および領域MR53のいずれか1つを指定する。このとき、表示制御部435は、ユーザーによって指定された領域と対応する静止画を特定する。表示制御部435は、特定された静止画を取得したカメラのカメラ座標に基づいて3D画像MI10の視点を変更する。表示制御部435は、特定された静止画と対応する3Dモデルの領域を拡大、縮小、または回転してもよい。3D画像MI10の視点を変更する方法は、第1の実施形態における方法と同じである。3Dモデルの領域を拡大、縮小、または回転する方法は、第1の実施形態における方法と同じである。ユーザーは、3D画像MI10の視点を変更することにより、異常領域を容易に確認することができる。
【0362】
本発明の各態様は次の変形例を含んでもよい。画像選択部433は、第1の選択ステップ(ステップS105)において、予め設定された条件を満たす注目領域(基準領域)を含む基準フレーム(基準画像)を選択する。推定部434は、推定ステップ(ステップS108)において、注目領域の1つ以上の点の3D座標を推定する。
【0363】
第3の実施形態において、PC41dは、ユーザーが実施する操作に関わらず、注目領域を自動で設定する。ユーザーの操作量が減るため、ユーザーは所定の作業に集中することができる。例えば、ユーザーは、検査対象物の全体における注目領域の相対的な位置を確認することができる。異常領域が注目領域として検出された場合、ユーザーは、異常領域が本当に異常であるか否かを確認することができる。
【0364】
(第4の実施形態)
本発明の第4の実施形態を説明する。第4の実施形態において、
図1に示すPC41が使用される。
【0365】
ユーザーが、3Dモデルを観察することにより、注目領域の凹凸の状態または異常の寸法などを詳細に確認する場合がある。第1から第3の実施形態では、3Dモデルは被写体の疎な3D形状を示す。3Dモデルが高精細ではないため、ユーザーが、注目領域と対応する3Dモデルの領域の状態を十分に確認できない可能性がある。検査対象物の全体のような比較的広い範囲の高精細な3Dモデルを得るためには、長い処理時間が必要である。
【0366】
ユーザーは、疎な点で構成された3Dモデルを観察することにより、検査対象物の全体像を確認することはできる。しかしながら、ユーザーが被写体の特定の位置における凹凸などの微細な構造を確認するための、またはその構造の寸法を計測するための精度が足りない可能性がある。
【0367】
第4の実施形態において、PC41は、注目領域と対応する3Dモデルの領域の高精細な3Dモデルを生成し、その3Dモデルの3D画像を表示する。これにより、PC41は、上記の問題を解決する。
【0368】
図33は、PC41が実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0369】
ステップS103において
図4に示すステップS103dは実行されない。そのため、ステップS103において生成された3Dモデルは、特徴点以外の被写体上の点の3D座標を含まない。
【0370】
ステップS110において3Dモデルの3D画像が表示部45に表示された後、ユーザーは、操作部44を操作することにより、特定の静止画を示す情報をPC41に入力する。その静止画は、ステップS105において選択された基準フレームである。ステップS105において2枚以上の基準フレームが選択された場合、ユーザーは、1枚の基準フレームを示す情報をPC41に入力する。推定部434は、ユーザーがPC41に入力した情報に基づいて、基準フレームを注目領域として受け付ける。注目領域は、基準フレームに写っている範囲の全体である。推定部434は、2枚以上の基準フレームを受け付けてもよい(ステップS181)。
【0371】
ステップS181の後、推定部434は、ステップS181において受け付けられた基準フレームと対応する3Dモデルの領域の3D座標を算出し、その3D座標を含む3Dモデルを生成する。記憶制御部436は、推定部434によって生成された3Dモデルをメモリ47に記憶させる(ステップS182)。
【0372】
ステップS182の詳細を説明する。推定部434は、基準フレームを取得したカメラのカメラ座標と、そのカメラの姿勢情報と、選択フレームとに基づいて、基準フレームの2つ以上の点の3D座標を算出する。
図5に示すステップS107dが実行されたとき、推定部434は、基準フレームを取得したカメラのカメラ座標および姿勢情報を取得する。推定部434は、ステップS182においてそのカメラ座標および姿勢情報を使用する。
【0373】
基準フレームの2つ以上の点は、
図5に示すステップS107cにおいて特定された2D座標を持つ点を含む。つまり、基準フレームの2つ以上の点は、1つ以上の特徴点を含む。あるいは、基準フレームの2つ以上の点は、ステップS107cにおいて特定された2D座標以外の2D座標を持つ1つ以上の点を含む。つまり、基準フレームの2つ以上の点は、特徴点以外の1つ以上の点を含む。3Dモデルが特徴点の3D座標を含む場合、推定部434は、その特徴点の3D座標を3Dモデルから取得してもよい。
【0374】
例えば、推定部434は、
図4に示すステップS103dと同様の処理を実行することにより3D座標を算出する。このとき、例えば推定部434は、選択フレームを
図3に示す画像I
1として使用し、基準フレームを
図3に示す画像I
2として使用する。推定部434は、上記の処理を実行することにより、基準フレームを取得したカメラの撮像視野に入る被写体の3D座標を算出する。また、推定部434は、
図4に示すステップS103eと同様の処理を実行する。
【0375】
推定部434は、基準フレームに写っている範囲の3D座標に加えて、その範囲の周辺の3D座標を算出してもよい。例えば、推定部434は、基準フレームおよび選択フレーム間で共通の領域(重複領域)を選択フレームから検出してもよい。推定部434は、選択フレームにおいて重複領域の外側の領域の3D座標を算出してもよい。
【0376】
推定部434は、ステップS182を実行することにより、基準フレームと対応する高精細な3Dモデルを生成する。ステップS182において生成された3Dモデルの点の密度は、ステップS103において生成された3Dモデルの2つ以上の点のうち基準フレームと対応する領域に含まれる点の密度よりも高い。点の密度は、3Dモデルの座標系における単位体積に含まれる点の数を示す。
【0377】
ステップS182の後、表示制御部435は、ステップS182において生成された3Dモデルの3D画像を表示部45に表示する。これにより、表示制御部435は、注目領域と対応する高精細な3Dモデルの領域を表示する(ステップS183)。ユーザーは、注目領域である基準フレームと対応する高精細な3Dモデルを認識することができる。ステップS183が実行されたとき、
図33に示す処理が終了する。
【0378】
推定部434がステップS181において2枚以上の基準フレームを受け付けた場合、推定部434は、ステップS182において2枚以上の基準フレームの各々と対応する高精細な3Dモデルを生成してもよい。表示制御部435は、ステップS183において2枚以上の基準フレームの各々と対応する高精細な3Dモデルの3D画像を表示部45に表示してもよい。
【0379】
PC41が実行する処理の順番は、
図33に示す順番に限らない。例えば、画像選択部433が基準フレームを選択した後、かつ表示制御部435が疎な3Dモデルの3D画像を表示する前に推定部434が基準フレームを受け付けてもよい。したがって、ステップS181は、ステップS105とステップS110との間の任意のタイミングで実行されてもよい。
【0380】
推定部434が基準フレームを取得したカメラのカメラ座標および姿勢情報を取得した後、かつ表示制御部435が疎な3Dモデルの3D画像を表示する前に推定部434が高精細な3Dモデルを生成してもよい。したがって、ステップS182は、ステップS107とステップS110との間の任意のタイミングで実行されてもよい。
【0381】
推定部434が基準フレームを取得したカメラのカメラ座標および姿勢情報を取得した後、かつ表示制御部435が疎な3Dモデルの3D画像を表示する前に表示制御部435が高精細な3Dモデルの3D画像を表示してもよい。したがって、ステップS183は、ステップS107とステップS110との間の任意のタイミングで実行されてもよい。
【0382】
推定部434は、ステップS105において選択された基準フレームと対応する高精細な3Dモデルを生成してもよい。そのため、推定部434がステップS181を実行する必要はない。
【0383】
図33に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS183の後、ステップS121からステップS123が実行されてもよい。ステップS181が実行される前にステップS121からステップS123が実行されてもよい。
【0384】
図33に示す処理に加えて、
図20に示すステップS131からステップS133が実行されてもよい。例えば、ステップS183の後、ステップS131からステップS133が実行されてもよい。ステップS181が実行される前にステップS131からステップS133が実行されてもよい。
【0385】
図33に示す処理に加えて、
図22に示すステップS141、ステップS142、およびステップS110aが実行されてもよい。例えば、ステップS183の後、ステップS141、ステップS142、およびステップS110aが実行されてもよい。ステップS181が実行される前にステップS141、ステップS142、およびステップS110aが実行されてもよい。
【0386】
図33に示す処理に加えて、
図25に示すステップS151からステップS154が実行されてもよい。例えば、ステップS102とステップS103との間にステップS151が実行されてもよい。ステップS152からステップS154がステップS109およびステップS110の代わりに実行されてもよい。
【0387】
図33に示す処理に加えて、
図28に示すステップS161からステップS167が実行されてもよい。例えば、ステップS183の後、ステップS161からステップS167が実行されてもよい。ステップS181が実行される前にステップS161からステップS167が実行されてもよい。
【0388】
図33に示す処理に加えて、
図31に示すステップS171が実行されてもよい。例えば、ステップS104とステップS105との間にステップS171が実行されてもよい。領域検出部441は、ステップS171において、画像における注目領域を検出する。推定部434は、ステップS181を実行する必要はない。推定部434は、ステップS182において、注目領域と対応する3Dモデルの領域の3D座標を算出し、その3D座標を含む3Dモデルを生成してもよい。
【0389】
表示制御部435は、ステップS110において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0390】
図34は、表示部45の表示画面の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0391】
表示制御部435は、
図10と同様にサムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を領域R20に表示する。例えば、ユーザーはサムネイル画像IM13を指定する。このとき、推定部434は、ステップS181において、サムネイル画像IM13と対応する基準フレームを注目領域として受け付ける。推定部434は、ステップS182において、基準フレームと対応する高精細な3Dモデルを生成する。表示制御部435は、ステップS183において、高精細な3Dモデルの3D画像MI30をダイアログA10上の領域R30に表示する。
【0392】
表示制御部435は、予め設定された視点から予め設定された方向に見た3Dモデルの3D画像MI30を表示する。表示制御部435は、基準フレームを取得したカメラのカメラ座標から、そのカメラの姿勢情報が示す方向に見た3Dモデルの3D画像MI30を表示してもよい。例えば、表示制御部435は、疎な3Dモデルの3D画像MI10が表示される領域R10と、各サムネイル画像が表示される領域R20との間に3D画像MI30を表示する。
【0393】
図34に示す例では、3D画像MI10が表示される領域R10と、3D画像MI30が表示される領域R30とが互いに異なる。表示制御部435は、3D画像MI10および3D画像MI30を1つの領域に表示してもよい。
【0394】
表示制御部435は、第1の表示状態と第2の表示状態とを切り替えてもよい。表示制御部435は、第1の表示状態において、3D画像MI30を表示せずに3D画像MI10を表示する。表示制御部435は、第2の表示状態において、3D画像MI10を表示せずに3D画像MI30を表示する。ユーザーは、操作部44を操作することにより、第1の表示状態および第2の表示状態の一方を示す情報をPC41に入力してもよい。表示制御部435は、その情報が示す表示状態を実現してもよい。
【0395】
図34に示す例では、表示制御部435は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を領域R20に表示する。表示制御部435は、各基準フレームと対応する高精細な3Dモデルを各サムネイル画像の代わりに領域R20に表示してもよい。
【0396】
ユーザーは、操作部44を操作することにより、3D画像MI30の2つ以上の計測点をPC41に入力してもよい。CPU43は、その2つ以上の計測点を受け付け、かつその2つ以上の計測点に基づいて3Dモデルの寸法を計測してもよい。
【0397】
本発明の各態様は次の変形例を含んでもよい。推定部434は、推定ステップ(ステップS182)において、基準フレーム(基準画像)を取得した第2のカメラの第2のカメラ座標、その第2のカメラの第2の姿勢情報、および選択フレーム(選択画像)に基づいて、基準フレームに写っている被写体の領域の1つ以上の点の3D座標を推定する。その領域の1つ以上の点は、ステップS104においてメモリ47に記憶された3Dモデル(3Dデータ)に含まれる3D座標を持つ点と異なる。3D画像MI30は、その領域の1つ以上の点の3D座標を可視化する。また、3D画像MI30は、その3Dモデルに含まれる3D座標のうちその領域に含まれる1つ以上の点の3D座標を可視化する。3D画像MI30によって可視化される3D座標を持つ点の密度は、被写体の2つ以上の点のうちその領域に含まれる点の密度よりも高い。
【0398】
本発明の各態様は次の変形例を含んでもよい。画像選択部433は、第1の選択ステップ(ステップS105)において、予め設定された条件を満たす注目領域(基準領域)を含む基準フレームを選択する。推定部434は、推定ステップ(ステップS182)において、第2のカメラ座標、第2の姿勢情報、および選択フレーム(選択画像)に基づいて、注目領域の1つ以上の点の3D座標を推定する。注目領域の1つ以上の点は、ステップS104においてメモリ47に記憶された3Dモデルに含まれる3D座標を持つ点と異なる。3D画像は、注目領域の1つ以上の点の3D座標を可視化する。また、その3D画像は、その3Dモデルに含まれる3D座標のうち注目領域に含まれる1つ以上の点の3D座標を可視化する。3D画像によって可視化される3D座標を持つ点の密度は、被写体の2つ以上の点のうち注目領域に含まれる点の密度よりも高い。
【0399】
第4の実施形態において、PC41は、注目領域と対応する3Dモデルの領域の高精細な3Dモデルを生成する。PC41が検査対象物の全体の高精細な3Dモデルを生成する場合と比較して、処理時間の増加が抑制される。PC41が高精細な3Dモデルの3D画像を表示するため、ユーザーは、注目領域と対応する3Dモデル上の位置を確認することができる。また、ユーザーは、注目領域の局所的な異常の状態(凹凸の状態または異常の寸法など)を正確に確認することができる。
【0400】
(第4の実施形態の変形例)
本発明の第4の実施形態の変形例を説明する。第4の実施形態の変形例において、
図1に示すPC41が使用される。PC41は、3Dモデル生成部432によって生成された疎な3Dモデルの3D画像を表示する必要はない。
【0401】
図35は、PC41が実行する処理の手順を示す。
図33に示す処理と同じ処理の説明を省略する。
【0402】
ステップS107の後、推定部434は、ステップS182において、基準フレームと対応する3Dモデルの領域の3D座標を算出し、その3D座標を含む3Dモデルを生成する。このとき、推定部434は、ステップS105において選択された基準フレームを使用する。
【0403】
3Dモデル生成部432によって生成された3Dモデルは、3Dモデルを生成するための2枚以上の2D画像を取得したカメラのカメラ座標および姿勢情報を含む。3Dモデル生成部432が基準フレームを使用せずに3Dモデルを生成する場合、その3Dモデルは、基準フレームを取得したカメラのカメラ座標および姿勢情報を含まない。そのため、推定部434は、ステップS107において、基準フレームを取得したカメラの位置および姿勢を推定する。
【0404】
上記の例では、画像選択部433は、3Dモデルを生成するために使用された2枚以上のキーフレームに含まれない静止画を基準フレームとして選択する。画像選択部433は、2枚以上のキーフレームのうちの1枚を基準フレームとして選択してもよい。その場合、3Dモデルは、基準フレームを取得した第2のカメラのカメラ座標およびその第2のカメラの姿勢情報を含む。推定部434は、ステップS107において、そのカメラ座標およびその姿勢情報を3Dモデルから取得してもよい。
【0405】
図36は、表示部45の表示画面の例を示す。
図34に示す部分と同じ部分の説明を省略する。
【0406】
表示制御部435は、3Dモデルの3D画像を表示するための領域R10を表示しない。表示制御部435は、
図34と同様にサムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を領域R20に表示する。例えば、ユーザーはサムネイル画像IM13を指定する。このとき、画像選択部433は、ステップS105において、サムネイル画像IM13と対応する基準フレームを選択する。推定部434は、ステップS182において、基準フレームと対応する高精細な3Dモデルを生成する。表示制御部435は、ステップS183において、高精細な3Dモデルの3D画像MI30をダイアログA10上の領域R30に表示する。
【0407】
本発明の各態様の画像表示方法は、記憶ステップ、第1の選択ステップ、第2の選択ステップ、推定ステップ、および表示ステップを有する。記憶制御部436は、記憶ステップ(ステップS104)において、被写体の2枚以上の2D画像に基づいて生成された3Dモデル(3Dデータ)をメモリ47(記憶媒体)に記憶させる。3Dモデルは、被写体の2つ以上の点の3D座標および第1のカメラ座標を含む。第1のカメラ座標は、2枚以上の2D画像の各々を取得した第1のカメラの3D座標であり、かつ2枚以上の2D画像の各々と関連付けられている。画像選択部433は、第1の選択ステップ(ステップS105)において、被写体の2D画像である基準フレーム(基準画像)を選択する。画像選択部433は、第2の選択ステップ(ステップS106)において、基準フレームに基づいて、2枚以上の2D画像のうちの少なくとも1枚を選択フレーム(選択画像)として選択する。推定部434は、推定ステップ(ステップS182)において、基準フレームを取得した第2のカメラの第2のカメラ座標、その第2のカメラの第2の姿勢情報、および選択フレームに基づいて、基準フレームに写っている被写体の領域の1つ以上の点の3D座標を推定する。その領域の1つ以上の点は、3Dモデルに含まれる3D座標を持つ点と異なる。表示制御部435は、表示ステップ(ステップS183)において、その領域の1つ以上の点の3D座標を可視化し、かつ3Dモデルに含まれる3D座標のうちその領域に含まれる1つ以上の点の3D座標を可視化する3D画像MI30を表示部45(ディスプレイ)に表示する。3D画像MI30によって可視化される3D座標を持つ点の密度は、被写体の2つ以上の点のうちその領域に含まれる点の密度よりも高い。
【0408】
第4の実施形態の変形例において、PC41は、検査対象物の全体の疎な3Dモデルを表示せずに注目領域と対応する3Dモデルの領域の高精細な3Dモデルを表示する。そのため、疎な3Dモデルと高精細な3Dモデルとが同時に表示される場合と比較して、PC41は、高精細な3Dモデルを表示するために表示部45の表示画面を効率的に使用することができる。
【0409】
(第5の実施形態)
本発明の第5の実施形態を説明する。第5の実施形態において、
図1に示すPC41が使用される。
【0410】
第5の実施形態においてPC41は、注目領域を含む基準フレームをキーフレームとして使用することにより3Dモデルを生成する。3Dモデルが生成される前に画像選択部433は基準フレームを選択する。3Dモデル生成部432が3Dモデルを生成するとき、3Dモデル生成部432は、基準フレームを取得したカメラのカメラ座標および姿勢を推定する。
【0411】
図37は、PC41が実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0412】
ステップS102の後、画像選択部433は、ステップS105において、静止画群に含まれる2枚以上の静止画のうちの1枚を基準フレームとして選択する。例えば、画像選択部433は、第1の実施形態と同様に動画ファイルのヘッダーを読み取ることにより、静止画が記録されたタイミングを特定する。画像選択部433は、そのタイミングで記録された静止画を基準フレームとして選択する。PC41が
図26に示すPC41cと同様に動画を再生する機能を有する場合、ユーザーは、動画の再生中に動画の特定のフレームを指定してもよい。画像選択部433は、ユーザーによって指定されたフレームを基準フレームとして選択してもよい。
【0413】
ステップS105の後、3Dモデル生成部432は、静止画群に含まれる2枚以上の静止画と、3Dモデルを生成するための条件とに基づいて、被写体の3Dモデルを生成する(ステップS191)。3Dモデルを生成するために使用される2枚以上の静止画は基準フレームを含む。
【0414】
3Dモデル生成部432が実行する具体的な処理の手順について説明する。
図38は、3Dモデル生成部432が実行する処理の手順を示す。
【0415】
3Dモデル生成部432は、静止画群に含まれる1枚の静止画をメモリ47から読み出す(ステップS191a)。ステップS191aは、静止画群に含まれる静止画の数と同じ回数だけ実行される。3Dモデル生成部432は、ステップS191aにおいて、既に読み出された静止画と異なる静止画をメモリ47から読み出す。静止画群に含まれる2枚以上の静止画は、タイムスタンプなどに従って予め順番に並べられてもよい。3Dモデル生成部432は、ステップS191aにおいて、その順番に従って静止画をメモリ47から読み出してもよい。
【0416】
ステップS191aの後、3Dモデル生成部432は、ステップS191aにおいて読み出された静止画の特徴点を検出する(ステップS191b)。
【0417】
ステップS191bの後、3Dモデル生成部432は、既に読み出された各静止画の特徴点と、ステップS191bにおいて検出された特徴点とを互いに関連付ける(ステップS191c)。ステップS191aが1回だけ実行されたとき、ステップS191cは実行されない。
【0418】
ステップS191cの後、3Dモデル生成部432は、静止画群に含まれる全ての画像が読み出されたか否かを判断する(ステップS191d)。一部の画像が読み出されていないと3Dモデル生成部432がステップS191dにおいて判断した場合、ステップS191aが実行される。静止画群に含まれる全ての画像が処理されるまでステップS191aからステップS191dが繰り返し実行される。
【0419】
静止画群に含まれる全ての画像が読み出されたと3Dモデル生成部432がステップS191dにおいて判断した場合、3Dモデル生成部432は、3Dモデルを生成するための1枚以上のキーフレームを静止画群から選択する(ステップS191e)。
【0420】
ステップS191eの詳細を説明する。3Dモデル生成部432は、所定の基準を満たすキーフレームを選択する。例えば、3Dモデル生成部432は、ボケがない画像、または明るい画像をキーフレームとして選択する。また、3Dモデル生成部432は、2枚のキーフレーム間の動きの量が所定量以上であることを確認する。ステップS105において選択された基準フレームがキーフレームの条件を満たす場合、3Dモデル生成部432は、ステップS191eにおいて基準フレームを含む2枚以上のキーフレームを選択してもよい。
【0421】
ステップS191eの後、3Dモデル生成部432は、ステップS105において選択された基準フレームをキーフレームに追加する(ステップS191f)。ステップS191eにおいて基準フレームを含む2枚以上のキーフレームが選択された場合、ステップS191fは実行されない。
【0422】
ステップS191fの後、3Dモデル生成部432は、2枚以上のキーフレームの特徴点の2D座標に基づいて、各キーフレームを取得したカメラのカメラ座標と、そのカメラの姿勢とを推定する(ステップS191g)。
【0423】
ステップS191gの後、3Dモデル生成部432は、各特徴点の3D座標を算出する(ステップS191h)。ステップS191gおよびステップS191hは、
図4に示すステップS103cと同様である。ステップS191hが実行されたとき、
図38に示す処理が終了する。
【0424】
図37を再び参照し、3Dモデルが生成された後に実行される処理の手順を説明する。ステップS191の後、ステップS104が実行される。ステップS104の後、ステップS109が実行される。
【0425】
3Dモデル生成部432は、
図38に示すステップS191hにおいて、基準フレームと対応する3Dモデルの領域の3D座標を算出する。これにより、3Dモデル生成部432は、注目領域と対応する3Dモデル上の位置を推定する。推定部434は、ステップS109において、その領域の3D座標を3Dモデルと関連付ける。
【0426】
図37に示す処理に加えて、
図17に示すステップS121からステップS123が実行されてもよい。例えば、ステップS110の後、ステップS121からステップS123が実行されてもよい。
【0427】
図37に示す処理に加えて、
図20に示すステップS131からステップS133が実行されてもよい。例えば、ステップS110の後、ステップS131からステップS133が実行されてもよい。
【0428】
図37に示す処理に加えて、
図22に示すステップS141およびステップS142が実行されてもよい。例えば、ステップS109の後、ステップS141およびステップS142が実行されてもよい。ステップS142の後、
図22に示すステップS110aがステップS110の代わりに実行されてもよい。
【0429】
図37に示す処理に加えて、
図25に示すステップS151からステップS154が実行されてもよい。例えば、ステップS102とステップS103との間にステップS151が実行されてもよい。ステップS152からステップS154がステップS109およびステップS110の代わりに実行されてもよい。
【0430】
図37に示す処理に加えて、
図28に示すステップS161からステップS167が実行されてもよい。例えば、ステップS110の後、ステップS161からステップS167が実行されてもよい。
【0431】
図37に示す処理に加えて、
図31に示すステップS171が実行されてもよい。例えば、ステップS101とステップS102との間にステップS171が実行されてもよい。あるいは、ステップS102とステップS105との間にステップS171が実行されてもよい。領域検出部441は、ステップS171において、画像における注目領域を検出する。画像選択部433は、ステップS105において、領域検出部441によって検出された注目領域を含む基準フレームを選択してもよい。
【0432】
図37に示す処理に加えて、
図33に示すステップS181からステップS183が実行されてもよい。例えば、ステップS110の後、ステップS181からステップS183が実行されてもよい。
【0433】
表示制御部435は、ステップS110において、第1の実施形態の第2の変形例に示す方法を使用することによりガスタービンのブレードの数を表示してもよい。
【0434】
本発明の各態様の画像表示方法は、選択ステップ、推定ステップ、および表示ステップを有する。画像選択部433は、選択ステップ(ステップS105)において、被写体の2D画像である基準フレーム(基準画像)を選択する。3Dモデル生成部432は、推定ステップ(ステップS191)において、基準フレームを含む被写体の2枚以上の2D画像に基づいて、被写体の2つ以上の点の3D座標およびカメラ座標を推定する。カメラ座標は、2枚以上の2D画像の各々を取得したカメラの3D座標であり、かつ2枚以上の2D画像の各々と関連付けられている。表示制御部435は、表示ステップ(ステップS110)において、基準フレームを取得したカメラのカメラ座標と、そのカメラ座標に基づいて算出された被写体の1つ以上の点の3D座標との少なくとも一方を可視化し、かつ被写体の2つ以上の点のうちの1つ以上の3D座標を可視化する3D画像を表示部45(ディスプレイ)に表示する。
【0435】
第5の実施形態において、PC41は、3Dモデルを生成する前に、注目領域を含む基準フレームをキーフレームに追加する。PC41は、基準フレームを含む2枚以上のキーフレームを使用することにより3Dモデルを生成する。PC41が3Dモデルの生成を終了したとき、PC41は基準フレームと対応する3Dモデルの領域の3D座標を得ることができる。
【0436】
(第6の実施形態)
本発明の第6の実施形態を説明する。第6の実施形態において、2つの装置が連携する。第1の装置は、ユーザーから指示を受け付けて処理を実行し、かつ処理結果をユーザーに通知する。第1の装置は、画像の表示などに関する処理を実行する。第2の装置は、3Dモデルの生成などに関する処理を実行する。例えば、第1の装置の携帯性は優れているが、第1の装置の計算リソースは小さい。第2の装置の携帯性は優れていないが、第2の装置の計算リソースは豊富である。第6の実施形態において、2つの装置の利点が生かされる。大型の装置などを持ち運びにくい現場において、画像を使用する処理が求められる状況がある。そのような状況において、第6の実施形態は効果的である。
【0437】
図39は、第6の実施形態による画像表示システム6の構成を示す。
図39に示す画像表示システム6は、PC41eおよび3Dモデル生成装置7を有する。
【0438】
図1に示すPC41は、
図40に示すPC41eに変更される。
図40は、PC41eの構成を示す。
図1に示す構成と同じ構成の説明を省略する。
【0439】
通信部46は、3Dモデル生成装置7と通信を実行する。例えば、通信部46はケーブルあるいは無線で3Dモデル生成装置7と接続される。通信部46と3Dモデル生成装置7との間の通信は、LAN(Local Area Network)またはインターネットを経由して実行されてもよい。
【0440】
図1に示すCPU43は、CPU43eに変更される。CPU43eの機能は、画像取得部430、条件受付部431、画像選択部433、推定部434、表示制御部435、記憶制御部436、および3Dモデル取得部442を含む。
図40に示すCPU43e内のブロックの少なくとも1つがCPU43eと異なる回路で構成されてもよい。
【0441】
CPU43e内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43e内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43e内の各部は、1つまたは複数の論理回路を含むことができる。
【0442】
図1に示す3Dモデル生成部432は、3Dモデル取得部442に変更される。3Dモデル取得部442は、通信部46を制御することにより、3Dモデル生成装置7と通信を実行する。3Dモデル取得部442は、3Dモデルを生成するための静止画群と、3Dモデルを生成するための条件とを3Dモデル生成装置7に送信する。3Dモデル取得部442は、3Dモデルを3Dモデル生成装置7から受信することにより3Dモデルを取得する。
【0443】
3Dモデル生成装置7は、3Dモデルを生成するための静止画群と、3Dモデルを生成するための条件とをPC41eから受信する。3Dモデル生成装置7は、静止画群に含まれる2枚以上の静止画と、3Dモデルを生成するための条件とに基づいて、被写体の3Dモデルを生成する。3Dモデル生成装置7は、生成された3DモデルをPC41eに送信する。
【0444】
図41は、PC41eが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0445】
ステップS102の後、3Dモデル取得部442は、通信部46を制御することにより、ステップS101において取得された静止画群と、ステップS102において受け付けられた条件とを3Dモデル生成装置7に送信する(ステップS201)。
【0446】
ステップS201の後、3Dモデル取得部442は、通信部46を制御することにより、3Dモデルを3Dモデル生成装置7から受信する(ステップS202)。ステップS202の後、ステップS104が実行される。
【0447】
上記の例では、複数の処理が2つの装置間で分散される。装置の数に制約はなく、かつ各装置が実行する処理に制約はない。例えば、複数の3Dモデル生成装置7が、時間のかかる処理を実行してもよい。
【0448】
例えば、ステップS201の後、PC41eは、ステップS202およびステップS104を実行せずにステップS105を実行してもよい。ステップS105の後、PC41eは、ステップS105において選択された基準フレームと、ステップS106において選択された選択フレームとを3Dモデル生成装置7に送信してもよい。3Dモデル生成装置7は、基準フレームおよび選択フレームをPC41eから受信し、かつステップS107、ステップS108、およびステップS109と同様の処理を実行してもよい。3Dモデル生成装置7は3DモデルをPC41eに送信し、PC41eは3Dモデルを3Dモデル生成装置7から受信してもよい。PC41eは、ステップS110において、3Dモデルの3D画像を表示部45に表示し、3Dモデル生成装置7によって算出された3D座標を持つ点を含む領域を3D画像上に表示してもよい。
【0449】
第6の実施形態において、複数の装置が連携して処理を実行する。複数の装置のうち少なくとも1つは、携帯性は優れているが、計算リソースは小さいという特徴を持つ。複数の装置の少なくとも1つは、携帯性は優れていないが、計算リソースは豊富であるという特徴を持つ。画像表示システム6は、複数の装置の利点を生かして3Dモデルを表示することができる。
【0450】
(第7の実施形態)
本発明の第7の実施形態を説明する。3Dモデルを生成するために使用される画像にノイズが含まれる場合がある。そのノイズの影響により、被写体の本来の形状と正確に一致しない3Dモデルが生成される可能性がある。そのノイズは、画像のボケ、画像の不適切な明るさ、またはモーションブラー等に起因する。画像が非常に明るい、または非常に暗い場合、画像の明るさは不適切である。したがって、3Dモデルがそのまま表示される場合と比較して、CAD等を使用することにより生成された参照データの画像が表示される場合には、ユーザーが被写体の形状を容易に確認することができる。
【0451】
参照データは、検査中に記録された静止画に写っている被写体の範囲と関連付けられていない。そのため、参照データのみが表示される場合、ユーザーは、検査中に記録された静止画に写っている被写体の範囲を確認することができない。第7の実施形態は、この問題を解決する。3DCAD等の3D設計データが参照データとして使用される例は、前述した第1の実施形態の第6の変形例と対応する。以下では、2DCAD等の2D設計データが参照データとして使用される例を説明する。
【0452】
図1に示すPC41は、
図42に示すPC41fに変更される。
図42は、PC41fの構成を示す。PC41fは、3Dモデルの3D画像の代わりに参照データの2D画像を表示する。
図1に示す構成と同じ構成の説明を省略する。
【0453】
図1に示すCPU43は、CPU43fに変更される。CPU43fの機能は、画像取得部430、条件受付部431、3Dモデル生成部432、画像選択部433、推定部434、表示制御部435、記憶制御部436、データ受付部438、データ処理部439、および2Dデータ生成部443を含む。
図42に示すCPU43f内のブロックの少なくとも1つがCPU43fと異なる回路で構成されてもよい。
【0454】
CPU43f内の各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。CPU43f内の各部は、1つまたは複数のプロセッサを含むことができる。CPU43f内の各部は、1つまたは複数の論理回路を含むことができる。
【0455】
メモリ47は、PC41fまたは外部装置によって生成された参照データを記憶する。参照データは、被写体の2次元形状(2D形状)を示す。ユーザーは、操作部44を操作することにより、参照データを指定するための情報をPC41fに入力する。データ受付部438は、その情報を操作部44から受け付ける。
【0456】
2Dデータ生成部443は、3Dモデルを2Dデータに変換する。2Dデータは、被写体の2つ以上の点の3D座標と対応する2D座標を含む。また、2Dデータは、カメラ座標(第1のカメラ座標)と対応する2D座標を含む。カメラ座標は、3Dモデルを生成するための2枚以上の2D画像の各々を取得したカメラ(第1のカメラ)の3D座標であり、かつ2枚以上の2D画像の各々と関連付けられている。2Dデータ生成部443は、3Dモデルに含まれる3D座標を持つ点の2D座標を算出する。2Dデータ生成部443は、算出された2D座標を含む2Dデータ(2D画像)を生成する。
【0457】
データ処理部439は、2Dデータにおける2D座標を参照データによって示される2D形状と関連付ける。これにより、データ処理部439は、2Dデータの位置と参照データの位置とを互いに関連付ける。
【0458】
図43は、PC41fが実行する処理の手順を示す。
図2に示す処理と同じ処理の説明を省略する。
【0459】
ステップS109の後、ユーザーは、操作部44を操作することにより、参照データを指定するための情報をPC41fに入力する。データ受付部438は、その情報を操作部44から受け付ける(ステップS211)。
【0460】
ステップS211の後、2Dデータ生成部443は、3Dモデルを、特定の視点から見た被写体の2Dデータに変換する(ステップS212)。このとき、3Dモデルを2Dデータに変換するための公知の技術が適用できる。その技術は、透視投影または平行投影等である。3Dモデルを2Dデータに変換するために使用される技術は上記の技術に限らない。CPU43fは、メモリ47に予め記憶された設定情報に従って上記の視点を選択してもよい。あるいは、ユーザーは、操作部44を操作することにより、上記の視点を選択してもよい。
【0461】
被写体の2つ以上の点の各々の3D座標は、ステップS212において2D座標に変換される。また、カメラ座標はステップS212において2D座標に変換される。2Dデータ生成部443は、被写体の2つ以上の点の各々の3D座標およびカメラ座標を2Dデータにおける2D座標と関連付ける。記憶制御部436は、2Dデータ生成部443によって生成された2Dデータをメモリ47に記憶させる。
【0462】
ステップS108において算出された3D座標は、ステップS109において3Dモデルと関連付けられる。ステップS212が実行されたとき、ステップS108において算出された3D座標は、2Dデータと関連付けられる。つまり、ステップS108において算出された3D座標は、2Dデータにおける2D座標と関連付けられる。
【0463】
ステップS212の後、データ処理部439は、ステップS212において生成された2Dデータと、ステップS211において受け付けられた情報が示す参照データとをメモリ47から読み出す。データ処理部439は、2Dデータの位置と参照データの位置とを互いに関連付ける(ステップS213)。
【0464】
ステップS213の詳細を説明する。2Dデータのデータフォーマットと参照データのデータフォーマットとが異なる場合、データ処理部439は、2Dデータのデータフォーマットと参照データのデータフォーマットとを揃える処理を実行する。
【0465】
その後、データ処理部439は、公知の位置合わせ技術を使用することにより、2Dデータの位置と参照データの位置とを互いに関連付ける。データ処理部439は、被写体の2D形状におけるユニークな形状の位置を検出することにより2Dデータの位置と参照データの位置とを互いに関連付けてもよい。
【0466】
ステップS213の後、推定部434は、ステップS108において算出された3D座標を参照データと関連付ける(ステップS214)。ステップS108において算出された3D座標は、2Dデータにおける2D座標と関連付けられている。2Dデータの位置と参照データの位置とは互いに関連付けられている。推定部434は、ステップS214において、この関係を使用することにより、3D座標を参照データと関連付ける。
【0467】
ステップS214の後、表示制御部435は、参照データの2D画像を表示部45に表示する。このとき、表示制御部435は、ステップS108において算出された3D座標を持つ点を含む領域を2D画像上に表示する。これにより、表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示する(ステップS215)。ユーザーは、参照データの2D画像を確認することにより、注目領域である基準フレームと対応する3Dモデル上の位置を確認することができる。表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示し、かつカメラ座標と対応する2D座標を2D画像上に表示してもよい。あるいは、表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示せずに、カメラ座標と対応する2D座標を2D画像上に表示してもよい。ステップS215が実行されたとき、
図43に示す処理が終了する。
【0468】
図44は、表示部45の表示画面の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0469】
2Dデータ生成部443は、ステップS212において、3Dモデルの座標系における第1の視点から予め設定された方向に見た3D形状の2Dデータを生成する。表示制御部435は、ステップS215において、2Dデータの2D画像DI10を領域R10に表示する。
【0470】
表示制御部435は、ステップS215において、静止画と対応する3Dモデル上の位置を示す情報を2D画像DI10上に表示する。具体的には、表示制御部435は、文字列CH11、文字列CH12、および文字列CH13を2D画像DI10上に表示し、かつ線L11、線L12、および線L13を2D画像DI10上に表示する。また、表示制御部435は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を2D画像DI10上に表示する。
【0471】
図45は、表示部45の表示画面の他の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0472】
2Dデータ生成部443は、ステップS212において、3Dモデルの座標系における第2の視点から予め設定された方向に見た3D形状の2Dデータを生成する。第2の視点は、上記の第1の視点と異なる。表示制御部435は、ステップS215において、2Dデータの2D画像DI11を領域R10に表示する。表示制御部435は、ステップS215において、静止画と対応する3Dモデル上の位置を示す情報を2D画像DI11上に表示する。その情報は、文字列CH11、文字列CH12、文字列CH13、線L11、線L12、線L13、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を含む。
【0473】
2Dデータ生成部443は、ステップS212において、第1の視点から見た3D形状の2Dデータと、第2の視点から見た3D形状の2Dデータとを生成してもよい。表示制御部435は、ステップS215において、2D画像DI10および2D画像DI11を表示部45に表示してもよい。表示制御部435は、ステップS215において、静止画と対応する3Dモデル上の位置を示す情報を2D画像DI10および2D画像DI11上に表示してもよい。
【0474】
第1の視点から見た3D形状において互いに異なる第1の位置および第2の位置が互いに重なる場合であっても、第2の視点から見た3D形状において第1の位置および第2の位置は互いに重ならない。ユーザーは、基準フレームと対応する3Dモデル上の位置を容易に確認することができる。
【0475】
ガスタービン検査において取得された3Dモデルが使用される例を説明する。ガスタービンは、2つ以上のブレードおよび2つ以上の燃料噴射ノズルを有する。2つ以上のブレードおよび2つ以上の燃料噴射ノズルは、円環状に配置されている。2Dデータ生成部443は、ステップS212において、特定の視点から、ガスタービンの回転軸に平行な方向に見たガスタービンの3D形状の2Dデータを生成する。2Dデータ生成部443は、ガスタービンの回転軸に垂直な断面における3Dモデルのデータを使用することによりその断面の2Dデータを生成してもよい。
【0476】
以下の例では、2つ以上のブレードを有する構造の3Dモデルが使用される。以下の方法は、2つ以上の燃料噴射ノズルを有する構造の3Dモデルに適用されてもよい。
【0477】
図46は、表示部45の表示画面の例を示す。
図10に示す部分と同じ部分の説明を省略する。
【0478】
表示制御部435は、ステップS215において、2Dデータの2D画像DI12を領域R10に表示する。12枚のブレードBD11がディスクDS10に配置されている。実際には、数十枚のブレードまたは100枚を超えるブレードが1つのディスクに配置されている。中心位置CP10は、回転軸に垂直な平面におけるディスクDS10の中心を示す。
【0479】
表示制御部435は、ステップS215において、静止画と対応する3Dモデル上の位置を示す情報を2D画像DI12上に表示する。具体的には、表示制御部435は、文字列CH16および文字列CH17を2D画像DI12上に表示し、かつ線L16および線L17を2D画像DI12上に表示する。また、表示制御部435は、サムネイル画像IM16およびサムネイル画像IM17を2D画像DI12上に表示する。
【0480】
各文字列は、各静止画のファイル名を示す。文字列CH16は、ファイル名img06を示す。文字列CH17は、ファイル名img07を示す。各線は、各静止画と対応する位置を示す。線L11は、ファイル名img06を持つ静止画と対応する位置を示す。線L17は、ファイル名img07を持つ静止画と対応する位置を示す。各位置は、ステップS108において、基準フレームを取得したカメラのカメラ座標および姿勢情報に基づいて算出された3D座標と対応する。サムネイル画像IM16は、ファイル名img06を持つ静止画のサムネイル画像である。サムネイル画像IM17は、ファイル名img07を持つ静止画のサムネイル画像である。
【0481】
2Dデータ生成部443は、ステップS212において、上記の視点と異なる視点から見たガスタービンの3D形状の2Dデータを生成してもよい。表示制御部435は、ステップS215において、2つの2Dデータの2枚の2D画像を表示部45に表示してもよい。表示制御部435は、ステップS215において、静止画と対応する3Dモデル上の位置を示す情報をその2枚の2D画像上に表示してもよい。
【0482】
PC41fが実行する処理の順番は、
図43に示す順番に限らない。例えば、データ受付部438は、データ処理部439が参照データを処理する前の任意のタイミングで、参照データを指定するための情報を受け付けてもよい。したがって、ステップS211はステップS213が実行される前の任意のタイミングで実行されてもよい。
【0483】
所定の参照データを使用する条件が予めPC41fに設定されている場合、データ受付部438は、参照データを指定するための情報を受け付ける必要はない。そのため、CPU43fがデータ受付部438を有する必要はなく、ステップS211は必須ではない。
【0484】
推定部434がステップS108およびステップS109を実行せず、データ処理部439がステップS214を実行せず、表示制御部435が、カメラ座標と対応する2D座標を参照データの2D画像上に表示してもよい。カメラ座標が2D画像上に表示されるため、ユーザーは、基準フレームの視点の位置を確認することができる。そのため、ステップS108、ステップS109、およびステップS214は必須ではない。
【0485】
各種変形例を含む第1から第6の実施形態において、表示制御部435は、3Dモデルの3D画像を表示する代わりに参照データの2D画像を表示部45に表示してもよい。
【0486】
本発明の各態様は次の変形例を含んでもよい。表示制御部435は、表示ステップ(ステップS215)において、第2のカメラ座標と、第2のカメラ座標に基づいて算出された被写体の1つ以上の点の3D座標との少なくとも一方と対応する2D座標を可視化し、かつ被写体の2つ以上の点のうちの1つ以上の3D座標と対応する2D座標を可視化する2D画像を表示部45に表示する。
【0487】
本発明の各態様は次の変形例を含んでもよい。3Dデータはさらに、第1のカメラの姿勢を示す第1の姿勢情報を含む。第1の姿勢情報は、2枚以上の2D画像の各々と関連付けられている。推定部434はさらに、推定ステップ(ステップS107)において、選択フレームと関連付けられている第1の姿勢情報に基づいて第2のカメラの姿勢を推定し、推定された姿勢を示す第2の姿勢情報を生成する。推定部434はさらに、推定ステップ(ステップS108)において、第2のカメラ座標および第2の姿勢情報に基づいて、基準レームに写っている被写体の領域の1つ以上の点の3D座標を推定する。2D画像は、基準フレームに写っている被写体の領域の1つ以上の点の3D座標と対応する2D座標を可視化する。
【0488】
本発明の各態様は次の変形例を含んでもよい。表示制御部435はさらに、表示ステップ(ステップS215)において、基準フレームに写っている領域の位置を示す情報を2D画像に重畳する。
【0489】
本発明の各態様は次の変形例を含んでもよい。2Dデータ生成部443は、生成ステップ(ステップS212)において、3Dモデルを使用することにより2D画像を生成する。
【0490】
本発明の各態様は次の変形例を含んでもよい。2Dデータ生成部443は、生成ステップ(ステップS212)において、第1の視点から見た被写体の2D画像である第1の画像を生成し、かつ第1の視点と異なる第2の視点から見た被写体の2D画像である第2の画像を生成する。表示制御部435は、表示ステップ(ステップS215)において、第1の画像および第2の画像を表示部45に表示する。
【0491】
本発明の各態様は次の変形例を含んでもよい。2D画像は、被写体の2D形状を示す形状データの画像である。データ処理部439は、関連付けステップ(ステップS214)において、被写体の2つ以上の点の3D座標と対応する2D座標を形状データによって示される2D形状と関連付ける。
【0492】
第7の実施形態において、PC41fは、被写体の2D画像を表示部45に表示する。その2D画像は、基準フレームを取得したカメラのカメラ座標と、そのカメラ座標に基づいて算出された3D座標との少なくとも一方と対応する2D座標を可視化し、かつ被写体の2つ以上の点のうちの1つ以上の3D座標と対応する2D座標を可視化する。これにより、PC41fは、被写体の2D画像(基準フレーム)の少なくとも一部と関連する3D座標を持つ位置を可視化することができる。
【0493】
ユーザーは、注目領域と対応する3Dモデル上の位置を確認することができる。2D画像が2D-CAD等の参照データの画像であるため、ユーザーは被写体の本来の形状を確認することができる。
【0494】
(第7の実施形態の変形例)
本発明の第7の実施形態の変形例を説明する。第7の実施形態の変形例において、
図42に示すPC41fが使用される。PC41fは、参照データを使用せず、3Dモデルを2Dデータに変換し、かつその2Dデータの画像を表示する。第7の実施形態の変形例において、PC41fは、
図42に示すデータ受付部438を有する必要はない。
【0495】
第7の実施形態の変形例において、検査レポートが使用される例を説明する。検査が完了した後、ユーザーは検査レポートを作成する。例えば、検査対象物の全体の位置関係を示す情報が検査レポートに添付される。3Dモデルのデータ量は大きく、かつ3Dモデルを扱う方法が複雑であるため、3Dモデルが検査レポートに添付される必要はない。2Dデータのデータ量は3Dモデルのデータ量よりも小さく、かつ2Dデータを扱う方法は簡単である。そのため、2Dデータは、検査レポートに添付される情報に適している。また、参照データが入手できない場合がある。その場合、第7の実施形態の変形例は効果的である。
【0496】
以下の例では、注目領域は、基準フレームの全体領域である。注目領域は、特定の画像に写っている特定の被写体の領域であってもよい。
【0497】
図47は、PC41fが実行する処理の手順を示す。
図43に示す処理と同じ処理の説明を省略する。
【0498】
ステップS109の後、2Dデータ生成部443は、ステップS212において、3Dモデルを、特定の視点から見た被写体の2Dデータに変換する。
【0499】
ステップS212の後、データ処理部439は、2Dデータを検査レポートに添付する(ステップS221)。記憶制御部436は、2Dデータが添付された検査レポートをメモリ47に記憶させる。
【0500】
ステップS221の後、データ処理部439は、ステップS108において算出された3D座標を示す情報を検査レポートに添付する。つまり、データ処理部439は、注目領域と対応する3Dモデル上の位置の情報を検査レポートに添付する(ステップS222)。
【0501】
ステップS221およびステップS222は任意の順番で実行されてもよい。したがって、ステップS222が実行され、その後、ステップS221が実行されてもよい。
【0502】
ステップS222の後、表示制御部435は、2Dデータの2D画像を表示部45に表示する。このとき、表示制御部435は、ステップS108において算出された3D座標を持つ点を含む領域を2D画像上に表示する。これにより、表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示する(ステップS223)。ユーザーは、2Dデータの2D画像を確認することにより、注目領域である基準フレームと対応する3Dモデル上の位置を確認することができる。表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示し、かつカメラ座標と対応する2D座標を2D画像上に表示してもよい。あるいは、表示制御部435は、注目領域と対応する3Dモデルの領域を2D画像上に表示せずに、カメラ座標と対応する2D座標を2D画像上に表示してもよい。ステップS223が実行されたとき、
図47に示す処理が終了する。
【0503】
図48は、検査レポートの例を示す。
図48に示す検査レポートIR10は、2DデータDT10を含む。2DデータDT10は、
図44に示す領域R10に表示される情報と同様の情報を含む。2DデータDT10は、サムネイル画像IM11、サムネイル画像IM12、およびサムネイル画像IM13を含む。
【0504】
図49は、検査レポートに添付された注目領域の情報の例を示す。
図49に示す情報INF10は、3つの注目領域の情報を含む。各注目領域の情報は、注目領域のサムネイル画像を含み、かつ注目領域における異常に関する異常情報を含む。異常情報は、検査結果を示し、かつ注目領域に異常があるか否かを示す。注目領域に異常がある場合、異常情報は、その異常の深刻度を示す。
【0505】
図49に示す例では、サムネイル画像IM11aおよび異常情報AI11が互いに関連付けられ、サムネイル画像IM12aおよび異常情報AI12が互いに関連付けられ、サムネイル画像IM13aおよび異常情報AI13が互いに関連付けられている。サムネイル画像IM11aはサムネイル画像IM11と同じである。サムネイル画像IM12aはサムネイル画像IM12と同じである。サムネイル画像IM13aはサムネイル画像IM13と同じである。2DデータDT10に含まれるサムネイル画像の縮尺と、注目領域の情報に含まれるサムネイル画像の縮尺とが互いに異なってもよい。2DデータDT10に含まれるサムネイル画像のアスペクト比と、注目領域の情報に含まれるサムネイル画像のアスペクト比とが互いに異なってもよい。
【0506】
各静止画(基準フレーム)および各異常情報は、予め互いに関連付けられている。データ処理部439は、ステップS222において、サムネイル画像IM11a、サムネイル画像IM12a、およびサムネイル画像IM12aを検査レポートに添付する。このとき、データ処理部439は、サムネイル画像IM11aを異常情報AI11と関連付け、サムネイル画像IM12aを異常情報AI12と関連付け、サムネイル画像IM13aを異常情報AI13と関連付ける。また、データ処理部439は、サムネイル画像IM11aをサムネイル画像IM11と関連付け、サムネイル画像IM12aをサムネイル画像IM12と関連付け、サムネイル画像IM13aをサムネイル画像IM13と関連付ける。
【0507】
例えば、表示制御部435は、ステップS223において検査レポートIR10を表示部45に表示する。これにより、表示制御部435は、2DデータDT10の2D画像を表示部45に表示する。例えば、ユーザーは、静止画に異常が写っているか否かを確認するために、または静止画に写っている異常の深刻度を確認するために、操作部44を操作する。これにより、ユーザーは、サムネイル画像IM11を選択する指示をPC41fに入力する。CPU43fは、その指示を操作部44から受け付ける。各サムネイル画像は、注目領域である静止画(基準フレーム)と対応する。上記の指示は、サムネイル画像IM11と対応する基準フレームを示す。
【0508】
表示制御部435は、上記の指示に基づいて情報INF10を表示部45に表示する。このとき、表示制御部435は、サムネイル画像IM11aおよび異常情報AI11を線L60で囲む。これにより、表示制御部435は、PC41fに入力された指示によって示される基準フレームと関連付けられている情報を強調する。ユーザーは、異常が静止画に写っているか否か、または異常の深刻度を確認することができる。ユーザーが、選択されたサムネイル画像と対応する情報を容易に確認できる限り、その情報を強調するためにどのような方法が使用されてもよい。
【0509】
情報INF10が表示されたとき、表示制御部435は、検査レポートIR10を非表示にしてもよい。表示制御部435は、検査レポートIR10および情報INF10を表示部45に表示してもよい。サムネイル画像IM11を選択する指示がPC41fに入力されたとき、表示制御部435は、サムネイル画像IM11aおよび異常情報AI11を情報INF10から抽出し、かつサムネイル画像IM11aおよび異常情報AI11を表示部45に表示してもよい。
【0510】
情報INF10が表示されているとき、ユーザーはサムネイル画像を選択してもよい。例えば、ユーザーは、操作部44を操作することにより、サムネイル画像IM11aを選択する指示をPC41fに入力する。CPU43fは、その指示を操作部44から受け付ける。表示制御部435は、その指示に基づいて検査レポートIR10を表示部45に表示し、かつサムネイル画像IM11を強調する。
【0511】
ユーザーが選択する情報はサムネイル画像に限らない。例えば、ユーザーは、静止画のファイル名(img01等)を選択してもよい。
【0512】
推定部434がステップS108およびステップS109を実行せず、データ処理部439がステップS222を実行せず、表示制御部435が、カメラ座標と対応する2D座標を2Dデータの2D画像上に表示してもよい。カメラ座標が2D画像上に表示されるため、ユーザーは、基準フレームの視点の位置を確認することができる。そのため、ステップS108、ステップS109、およびステップS222は必須ではない。
【0513】
2Dデータが検査レポートに添付される必要はない。そのため、ステップS221およびステップS222は必須ではない。
【0514】
各種変形例を含む第1から第6の実施形態において、表示制御部435は、3Dモデルの3D画像を表示する代わりに2Dデータの2D画像を表示部45に表示してもよい。
【0515】
本発明の各態様は次の変形例を含んでもよい。基準フレームは、被写体の情報(異常情報AI11)と予め関連付けられている。表示ステップ(ステップS223)が実行され、かつ基準フレームを選択する指示が入力された場合に表示制御部435は、情報表示ステップ(ステップS223)において、その指示によって示される基準フレームと関連付けられている情報(異常情報AI11)を表示部45に表示する。
【0516】
第7の実施形態の変形例において、PC41fは、3Dモデルを、検査レポートに添付するために適した形式を持つ2Dデータに変換することができる。そのため、PC41fは、検査レポートを作成するために必要な作業の負荷を減らすことができる。
【0517】
図48に示す2DデータDT10に含まれる情報と、
図49に示す情報INF10とは、互いに関連付けられている。ユーザーおよび検査レポートの承認者は、注目領域と対応する3Dモデル上の位置と、その位置における被写体の情報とを確認することができる。そのため、ユーザーおよび検査レポートの承認者は、検査の状況を容易に確認することができる。
【0518】
(付記)
本発明の各態様において、表示制御部435は、第2のカメラ座標と、第2のカメラ座標に基づいて算出された被写体の1つ以上の点の3D座標との少なくとも一方が示す位置を可視化する被写体の画像を表示部45(ディスプレイ)に表示する。被写体の画像は、3次元画像または2次元画像である。
【0519】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
【符号の説明】
【0520】
1 内視鏡装置
2 挿入部
3 本体部
4,44 操作部
5,45 表示部
6 画像表示システム
7 3Dモデル生成装置
8 内視鏡ユニット
9 CCU
10 制御装置
12 映像信号処理回路
13 ROM
14 RAM
15 カードインタフェース
16 外部機器インタフェース
17 制御インタフェース
18,43,43a,43b,43c,43d,43e,43f CPU
20 先端
28 撮像素子
41,41a,41b,41c,41d,41e PC
42 メモリカード
46 通信部
47 メモリ
430 画像取得部
431 条件受付部
432 3Dモデル生成部
433 画像選択部
434 推定部
435 表示制御部
436 記憶制御部
437 基準位置受付部
438 データ受付部
439 データ処理部
440 動画制御部
441 領域検出部
442 3Dモデル取得部
443 2Dデータ生成部