IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 公立大学法人広島市立大学の特許一覧 ▶ 国立大学法人九州大学の特許一覧 ▶ 国立大学法人広島大学の特許一覧 ▶ 独立行政法人産業技術総合研究所の特許一覧

<>
  • 特開-画像分析方法および画像分析装置 図1
  • 特開-画像分析方法および画像分析装置 図2
  • 特開-画像分析方法および画像分析装置 図3
  • 特開-画像分析方法および画像分析装置 図4
  • 特開-画像分析方法および画像分析装置 図5
  • 特開-画像分析方法および画像分析装置 図6
  • 特開-画像分析方法および画像分析装置 図7
  • 特開-画像分析方法および画像分析装置 図8
  • 特開-画像分析方法および画像分析装置 図9
  • 特開-画像分析方法および画像分析装置 図10
  • 特開-画像分析方法および画像分析装置 図11
  • 特開-画像分析方法および画像分析装置 図12
  • 特開-画像分析方法および画像分析装置 図13
  • 特開-画像分析方法および画像分析装置 図14
  • 特開-画像分析方法および画像分析装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022178393
(43)【公開日】2022-12-02
(54)【発明の名称】画像分析方法および画像分析装置
(51)【国際特許分類】
   G01B 11/25 20060101AFI20221125BHJP
   G06T 7/00 20170101ALI20221125BHJP
【FI】
G01B11/25 H
G06T7/00 350C
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021085166
(22)【出願日】2021-05-20
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 開催年月日:令和2年7月20日 集会名、開催場所:国際会議「42nd Annual International Conferences of the IEEE Engineering in Medicine and Biology Society in conjunction with the 43rd Annual Conference of the Canadian Medical and Biological Engineering Society」(オンライン開催)
(71)【出願人】
【識別番号】510108951
【氏名又は名称】公立大学法人広島市立大学
(71)【出願人】
【識別番号】504145342
【氏名又は名称】国立大学法人九州大学
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】古川 亮
(72)【発明者】
【氏名】三鴨 道弘
(72)【発明者】
【氏名】川崎 洋
(72)【発明者】
【氏名】岡 志郎
(72)【発明者】
【氏名】田中 信治
(72)【発明者】
【氏名】佐川 立昌
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA53
2F065BB05
2F065CC16
2F065DD03
2F065FF02
2F065FF04
2F065FF09
2F065GG04
2F065HH06
2F065HH07
2F065JJ03
2F065LL02
2F065LL42
2F065MM06
2F065PP22
2F065QQ03
2F065QQ21
2F065QQ24
2F065QQ25
2F065QQ28
2F065QQ31
2F065QQ41
2F065UU05
5L096AA06
5L096BA06
5L096BA13
5L096CA04
5L096DA01
5L096HA08
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
【課題】基準となるパターン画像と、パターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する。
【解決手段】基準画像は、縦方向に延在する第1の要素の集合および横方向に延在する第2の要素の集合を含み、第1の要素の集合および第2の要素の集合のいずれかが、断続的に延在する要素を含むことを表す。方法は、撮影画像内で、第1の要素の集合および第2の要素の集合から構成されたそれぞれのノードを識別するステップと、ノードの各々に対し、隣接するノードに対する相対位置に基づいてノードを分類して、分類値を付与するステップと、分類したノードから格子グラフを生成するステップと、格子グラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定するステップと、分類値および隣接関係に基づいて、格子グラフ内のノードを基準画像内のノードと対応付けるステップとを含む。
【選択図】図5
【特許請求の範囲】
【請求項1】
パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータによって実行される方法であって、前記基準画像は、二次元平面において縦方向に延在する第1の要素の集合および二次元平面において横方向に延在する第2の要素の集合を含み、前記基準画像は、前記第1の要素の集合および前記第2の要素の集合の少なくともいずれかが、断続的に延在する要素を含むことを表し、
前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別するステップと、
前記ノードの各々に対し、隣接するノードに対する相対位置に基づいて前記ノードを分類して、分類値を付与するステップと、
前記分類したノードからグラフを生成するステップと、
前記グラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定するステップと、
前記分類値および前記隣接関係に基づいて、前記グラフ内のノードを前記基準画像内のノードと対応付けるステップと、
を備えたことを特徴とする方法。
【請求項2】
前記グラフ内のノードを前記基準画像内のノードと対応付けるステップは、ニューラルネットワークを使用することによって実行され、前記ニューラルネットワークは、前記分類値および前記隣接関係に基づいて、前記グラフ内のノードの前記基準画像内のノードに対する対応を出力するように学習される、ことを特徴とする請求項1の方法。
【請求項3】
前記ニューラルネットワークは、グラフ畳み込みネットワーク(GCN)である、ことを特徴とする請求項2の方法。
【請求項4】
前記第2の要素の集合が断続的に延在する要素を表す場合、前記基準画像は、
前記第2の要素の集合における複数の第2の要素が、前記第1の要素の集合における1つの第1の要素と、複数の位置において交差することと、
前記複数の第2の要素のうちの1つ目の要素と前記第1の要素との交点の二次元平面における第1の高さが、前記複数の第2の要素のうちの2つ目の要素と前記第1の要素との交点の二次元平面における第2の高さとは異なることと、を表す、
ことを特徴とする請求項1または2に記載の方法。
【請求項5】
前記相対位置は、前記基準画像によって表される前記第1の高さが第2の高さとは異なることに基づいている、ことを特徴とする請求項4に記載の方法。
【請求項6】
前記基準画像は、n個のマーカを含み、
前記n個のマーカをそれぞれ含むn個の領域を識別するステップと、
前記n個の領域の各々に対し、領域内の中心のノードと隣接するノードとの関係に基づいて前記ノードを分類して、第2の分類値を付与するステップと、
前記第2の分類値に更に基づいて、前記グラフ内のノードを前記基準画像内のノードと対応付けるステップと、
を更に備えたことを特徴とする請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記n個の領域は相互に、領域内の中心のノードと隣接するノードとの関係が同一であり、異なり、および対称である、ことを特徴とする請求項6に記載の方法。
【請求項8】
前記ノードを識別するステップ、前記分類値を付与するステップ、および前記グラフを生成するステップは、第2のニューラルネットワークを使用することによって実行され、前記第2のニューラルネットワークは、前記基準画像からノードを識別し、分類値を付与し、グラフを生成するよう前記基準画像を学習している、ことを特徴とする請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記第2のニューラルネットワークは、U-Netである、ことを特徴とする請求項8の方法。
【請求項10】
前記撮影画像内の各々の画素に対し、
前記識別したノードのうち、前記画素に近接するノードに対する相対位置を判定するステップと、
前記判定した相対位置と、前記基準画像内の対応する画素に近接するノードに対する相対位置とに基づいて、前記撮影画像内の画素と前記基準画像内の画素とを対応付けるステップと、
を更に備えたこと特徴とする請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記基準画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別するステップと、
前記ノードの各々に対し、隣接するノードに対する相対位置に基づいて前記ノードを分類して、第3の分類値を付与するステップと、
前記分類したノードから第2のグラフを生成するステップと、
前記第2のグラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定するステップと、
を更に備え、
前記グラフ内のノードを前記基準画像内のノードと対応付けるステップは、
前記グラフをニューラルネットワークに入力することによって、前記グラフ内のノードごとに第1の特徴ベクトルを生成するステップと、
前記第2のグラフを前記ニューラルネットワークに入力することによって、前記第2のグラフ内のノードごとに第2の特徴埋め込みベクトルを生成するステップと、
ノードごとに、前記第1の特徴ベクトル前記第2の特徴ベクトルとの内積値をするステップと、
前記内積値を評価するステップと、
を含むことを特徴とする請求項1乃至10のいずれか一項に記載に方法。
【請求項12】
パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータによって実行される方法であって、前記基準画像は、二次元平面において縦方向または横方向に延在する第1の要素の集合および前記第1の要素の集合と同一の方向に断続的に延在する第2の要素の集合を含み、前記基準画像は、前記第2の要素の集合の各々が、前記同一の方向にランダムな間隔に配置されることを表し、
前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別するステップと、
前記ノードの各々に対し、隣接するノードに対する相対角度に基づいて前記ノードを分類して、分類値を付与するステップと、
前記分類したノードからグラフを生成するステップと、
前記グラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定するステップと、
前記分類値および前記隣接関係に基づいて、前記グラフ内のノードを前記基準画像内のノードと対応付けるステップと、
を備えたことを特徴とする方法。
【請求項13】
前記ノードを識別するステップは、ニューラルネットワークを使用することによって実行され、前記ニューラルネットワークは、前記第1の要素または前記第2の要素を識別するよう前記撮影画像および所定の角度で回転した前記撮影画像を学習している、ことを特徴とする請求項12に記載の方法。
【請求項14】
前記基準画像は、前記第2の要素の集合のうちの1つ目の要素の、隣接する第2の要素に対する角度が、前記第2の要素の集合のうちの2つ目の要素の、隣接する第2の要素に対する角度とは異なることを表す、ことを特徴とする請求項12または13に記載の方法。
【請求項15】
グラフを生成するステップは、前記画素ごとの相対位置および撮影画像上の格子情報に基づいて、前記撮影画像を、前記ノードを含む複数の領域に分割するステップを含む、ことを特徴とする請求項12乃至14のいずれか一項に記載の方法。
【請求項16】
パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータデバイスであって、前記基準画像は、二次元平面において縦方向に延在する第1の要素の集合および二次元平面において横方向に延在する第2の要素の集合を含み、前記基準画像は、前記第1の要素の集合および前記第2の要素の集合の少なくともいずれかが、断続的に延在する要素を含むことを表し、
前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別し、
前記ノードの各々に対し、隣接するノードに対する相対位置に基づいて前記ノードを分類して、分類値を付与し、
前記分類したノードからグラフを生成し、
前記グラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定し、
前記分類値および前記隣接関係に基づいて、前記グラフ内のノードを前記基準画像内のノードと対応付ける、
ように構成された制御装置を含む、
ことを特徴とするコンピュータデバイス。
【請求項17】
パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータデバイスであって、前記基準画像は、二次元平面において縦方向または横方向に延在する第1の要素の集合および前記第1の要素の集合と同一の方向に断続的に延在する第2の要素の集合を含み、前記基準画像は、前記第2の要素の集合の各々が、前記同一の方向にランダムな間隔に配置されることを表し、
前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別し、
前記ノードの各々に対し、隣接するノードに対する相対角度に基づいて前記ノードを分類して、分類値を付与し、
前記分類したノードからグラフを生成し、
前記グラフ内の各々のノードに対し、隣接するノードとの隣接関係を判定し、
前記分類値および前記隣接関係に基づいて、前記グラフ内のノードを前記基準画像内のノードと対応付ける、
ように構成された制御装置を含む、
ことを特徴とするコンピュータデバイス。
【請求項18】
コンピュータ実行可能命令を含むコンピュータプログラムであって、前記コンピュータ実行可能命令は、プロセッサによって実行されるとき、前記プロセッサに、請求項1乃至15のいずれか一項に記載に方法を実行させる、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像分析方法および画像分析装置に関し、特に、基準となるパターン画像と、パターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する画像分析方法および画像分析装置に関する。
【背景技術】
【0002】
撮像装置(カメラ)を使用して物体(撮影対象)を撮影することによって生成される二次元画像において立体感(奥行)を表現する(つまり、三次元画像を構築する)技術が存在する。例えば、ステレオ画像法は、三次元画像を表現する典型的な技術である。
【0003】
ステレオ画像法は一般的に、パッシブステレオ法およびアクティブステレオ法に分類される。アクティブステレオ法は、撮像装置とは別に設けられた投光器が撮影対象に光を投影し、光が投影された撮影対象を撮像装置が撮影する。アクティブステレオ法では、投光器からの光が撮影対象から反射されて撮像装置に到達することになり、つまり、投光器からの光の光路は、撮影対象の奥行に対応する距離に応じてずれることになる。よって、アクティブステレオ法は、この光路のずれを利用して、三角測量に基づいて撮像装置と撮影対象との間の距離を計算し、この距離に基づいて三次元画像(奥行)を表現する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-300277号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したアクティブステレオ法では、上述した光路のずれに応じた距離を計算するために、撮影対象の二次元平面における、撮影対象に投影されることになる光の元の位置と、実際に投影された光の位置とを対応付ける必要がある。アクティブステレオ法のうち、投光器から特定のパターン(格子など)を構成する光を投影する方式であるパターン光投影法が存在する。パターン光投影法は、例えば、スポット光を投影する方式と比較して、撮影対象を撮影する回数を低減させることができる。
【0006】
しかしながら、パターン光投影法は、複数の格子のそれぞれに対して、パターン光の元の位置と実際に投影された位置とを対応付ける必要があるので、対応付けが困難である。撮影対象の奥行に応じて、撮影対象から反射したパターン光の形状が歪み、投影されることになるパターン光のどの格子は、実際に投影されたパターン光のどの格子に対応するかを判定することが困難であることが理由である。
【0007】
上述した問題を、投影装置と撮像装置との間のエピポーラ幾何を考慮して解決する技術が存在する。エピポーラ幾何を考慮するためには、投影装置と撮像装置との間の位置関係が既知であることが必要となる。例えば、撮像装置は内視鏡に組み込まれ、人体の内部の撮影対象を撮影する場合、内視鏡が人体の内部に入り込むので、投影装置と撮像装置との間の位置関係を知ることができない。このようなケースでは、エピポーラ幾何を考慮することができず、上述した対応付けが困難である。
【0008】
特許文献1は、縦と横のみが識別可能な多数の直線で構成された単純なグリッドパターンを使用して、その交点を特徴点とすることで三次元復元を実現する技術を開示している。特許文献1の開示された技術は、単純なパターンを使用することによって、簡易に三次元復元を実現することができるが、上述した課題を解決するものではない。
【課題を解決するための手段】
【0009】
一実施形態に係る実行される方法は、パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータによって実行される方法であって、前記基準画像は、二次元平面において縦方向に延在する第1の要素の集合および二次元平面において横方向に延在する第2の要素の集合を含み、前記基準画像は、前記第1の要素の集合および前記第2の要素の集合の少なくともいずれかが、断続的に延在する要素を含むことを表し、前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別するステップと、前記ノードの各々に対し、隣接するノードに対する相対位置に基づいて前記ノードを分類して、分類値を付与するステップと、前記分類したノードから格子グラフを生成するステップと、前記分類値および前記格子グラフをグラフ畳み込みネットワーク(GCN)に入力することによって、前記撮影画像内のノードを前記基準画像内のノードと対応付けるステップであって、前記GCNは、前記基準画像から分類されたノードに対する分類値および前記基準画像から生成された格子グラフを学習するように構成されている、ステップと、を含む。
【0010】
また、別の実施形態に係る方法は、パターンを含む基準画像と、前記基準画像に対応するパターン光を投影した撮影対象から生成された撮影画像との対応関係を分析する、コンピュータによって実行される方法であって、前記基準画像は、二次元平面において縦方向または横方向に延在する第1の要素の集合および前記第1の要素の集合と同一の方向に断続的に延在する第2の要素の集合を含み、前記基準画像は、前記第2の要素の集合の各々が、前記同一の方向にランダムな間隔に配置されることを表し、前記撮影画像内で、前記第1の要素の集合および前記第2の要素の集合から構成されたそれぞれのノードを識別するステップと、前記ノードの各々に対し、隣接するノードに対する相対角度に基づいて前記ノードを分類して、分類値を付与するステップと、前記分類したノードから格子グラフを生成するステップと、前記分類値および前記格子グラフをグラフ畳み込みネットワーク(GCN)に入力することによって、前記撮影画像内のノードを前記基準画像内のノードと対応付けるステップであって、前記GCNは、前記基準画像から分類されたノードに対する分類値および前記基準画像から生成された格子グラフを学習するように構成されている、ステップと、を含む。
【発明の効果】
【0011】
実施形態に係る画像分析方法および画像分析装置によれば、元のパターンと撮影対象を撮影した画像に含まれるパターンとの対応付けを容易にする。
【図面の簡単な説明】
【0012】
図1】画像分析システムの構成の例を示す図である。
図2】コンピュータデバイスの構成の例を示すブロック図である。
図3】第1の実施形態に係る基準画像の例を示す図である。
図4】第1の実施形態に係る基準画像の別の例を示す図である。
図5】第1の実施形態に係る画像分析システムが実行する処理の例を示すフローチャートである。
図6】画像内のノードを分類する例を示す図である。
図7】マーカを中心として領域を示す図である。
図8】GCNの構成の例を示すブロック図である。
図9】特徴ベクトル、隣接ノードとの関係、および重み値を考慮した演算を示す図である。
図10】第2の実施形態に係る画像分析システムが実行する処理の例を示すフローチャートである。
図11】第2の実施形態に係る基準画像および撮影画像の特徴ベクトルの内積を計算する処理の例を示す。
図12】第3の実施形態に係る基準画像の例を示す図である。
図13】第3の実施形態に係る撮影画像から格子の位相(繰り返す格子と各画素の相対位置関係を、0以上2π未満の回転角度として表現したもの)を求める処理の例を示す図である。
図14】第3の実施形態に係る近接関係に基づく接続の例を示す図である。
図15】第3の実施形態に係る画像内のノードを分類する例を示す図である。
【発明を実施するための形態】
【0013】
以下、添付した図面を参照して、一実施形態に係る画像分析方法および画像分析装置を詳細に説明する。本実施形態では、画像分析方法および画像分析装置は、画像分析システムにおいて実装される。また、本実施形態では、投光器からの光が投影され、カメラから撮影される対象を「撮影対象」と称する。撮影対象は、人間、動物、物、またはそれらの一部など、奥行を有するいずれかの物体を含む。
【0014】
以下では、実施形態に係る画像分析システムを説明する。画像分析システムは、人体の内部の撮影対象を撮影する例に適用される。画像分析システムは、アクティブステレオ法に基づいて、撮影対象に投影するパターン光に対応するパターン画像(基準画像)と、パターン光が投影された撮影対象を撮影することによって生成された撮影画像との間の対応関係を分析する。
【0015】
<第1の実施形態>
まず、図1を参照して、画像分析システム100の構成の例を説明する。本実施形態では、画像分析システム100は、コンピュータデバイス1および内視鏡2。コンピュータデバイス1は、バスまたはネットワークなどを介して、内視鏡2と相互に結合されている。
【0016】
コンピュータデバイス1は、少なくとも演算機能を含むいずれかの情報処理装置である。コンピュータデバイス1は、後述する撮像装置から受信した撮影信号に基づいて画像を生成し、投光装置が投影するパターン光に対応する基準画像と、パターン光が投影された撮影対象を撮影することによって生成された撮影画像との間の対応関係を分析する。
【0017】
内視鏡2は、先端(ヘッド)に組み込まれた撮像装置21(カメラ)および投光装置22を含む。図1では、内視鏡2の先端を囲む楕円O1に対応した楕円O2の内部に、撮像装置21、投光装置22、および内視鏡ヘッド23を拡大した状態を示す。内視鏡ヘッド23は、人体の内部に挿入され、投光装置22が撮影対象にパターン光PLを投影し、撮像装置21が撮影対象を撮影する。
【0018】
撮像装置21は、1つまたは複数のCCDイメージセンサまたはCMOSイメージセンサなどを含み、撮影対象を撮影し、撮影信号をコンピュータデバイス1に送信する。撮像装置21は、高画素の画像を生成するために、より多くのイメージセンサが配列されることが望ましい。
【0019】
投光装置22は、回折光学素子(DOE:Diffractive Optical Element)22a、レンズ22b、および光ファイバー22cを含む。図1では、投光装置22を囲む四角形R1に対応した四角形R2の内部に、回折光学素子22a、レンズ22b、および光ファイバー22cを拡大した状態を示す。
【0020】
回折光学素子22aは、投影するパターン光PLを回折させる。レンズ22bは、例えば、屈折率分布型(GRIN)レンズによって実装される。屈折率分布型レンズを実装することによって、光の屈折率を半径方向に変化させ、投光装置22を小型にすることができる。光源(図示せず)からの光が光ファイバー22cを伝播して、レンズ22bおよび回折光学素子22aを通じてパターン光PLを放射する。パターン光PLの詳細については後述する。
【0021】
なお、本実施形態では、人体の内部の撮影対象を撮影するために、撮像装置21および投光装置22が内視鏡2に組み込まれた構成を採用するが、本実施形態はそのような構成に限定されない。例えば、任意の撮影対象を撮影するために、撮影対象を撮影する撮像装置および撮影対象にパターン光を投影する投光装置が独立して存在してもよい。つまり、本実施形態は、少なくとも撮影対象を撮影する撮像装置および撮影対象にパターン光を投影する投光装置を含むアクティブステレオシステムの構成を採用する。
【0022】
次に、図2を参照して、コンピュータデバイス1の詳細な構成要素を説明する。コンピュータデバイス1は、制御装置11、メモリ12、記憶装置13、通信装置14、入力装置15、および出力装置16を含む。メモリ12、記憶装置13通信装置14、入力装置15、および出力装置16はそれぞれ、内部バスを通じて制御装置11に結合され、制御装置11によって制御される。
【0023】
制御装置11は、プロセッサとも称され、中央処理装置(CPU)およびグラフィックプロセシングユニット(GPU)などを含む。制御装置11は、撮像装置21から受信した撮影信号に基づいて画像を生成し、画像内のパターンに基づいて、投光装置22が投影するパターン光PLに対応する基準画像と、生成された画像との間の対応関係を分析するなどの演算を実行する。
【0024】
メモリ12は、制御装置11が処理する、コンピュータ実行可能命令、および当該命令による演算処理後のデータなどを記憶した揮発性データ記憶装置である。メモリ12は、RAM(ランダムアクセスメモリ)(例えば、SRAM(スタティックRAM)およびDRAM(ダイナミックRAM))などで実装されてもよい。
【0025】
記憶装置13は、上述したコンピュータ実行可能命令を含むプログラムなどを記憶した不揮発性データ記憶装置である。記憶装置13は、ROM(リードオンリメモリ)などの不揮発性半導体メモリ、磁気記憶装置(ハードディスクドライブなど)、および光ディスクなどで実装されてもよい。なお、プログラムなどのデータは、記憶装置13に加えまたはその代わりに、NAS(Network Attached Storage)および/またはSAN(Storage Area Network)などに記憶されてもよい。
【0026】
通信装置14は、内視鏡2(撮像装置21)から撮影信号を受信し、内視鏡2(投光装置22)に基準画像に対応する信号を送信するなど、コンピュータデバイス1と結合された外部機器と通信する。
【0027】
入力装置15は、ユーザからの入力を受け付け、受け付けた入力を制御装置11に送信する。入力装置15は、例えば、マウス、タッチパッド、キーボード、およびトラックボールなどによって実装される。
【0028】
出力装置16は、制御装置11が演算した結果を出力する(例えば、制御装置11が生成した基準画像を表示する)。出力装置16は、例えば、ディスプレイ(液晶、CRTなど)などによって実装される。
【0029】
なお、本実施形態では、入力装置15および出力装置16がコンピュータデバイス1に組み込まれた構成を採用するが、そのような構成に限定されない。入力装置15および出力装置16のいずれかまたは両方は、コンピュータデバイス1とは独立した装置として構成されてもよい。
【0030】
次に、図3を参照して、投光装置22が放射するパターン光PLを構成する基準画像RIを説明する。上述したように、画像分析システム100は、撮影対象にパターン光PLを投影する。基準画像RIは、予め定められたパターンを表現した画像であり、コンピュータデバイス1または内視鏡2に記憶され、投光装置22は、基準画像RIに基づいてパターン光PLを放射する。
【0031】
基準画像RIは、二次元平面において縦方向に延在する要素の集合(複数の第1の要素の集合)SE1、および二次元平面において横方向に延在する要素の集合(複数の第2の要素の集合)SE2を含む。図3に示す例では、第1の要素の集合SE1は、二次元平面において縦方向に延在する直線の集合であり、各々の直線が、第1の要素E1a乃至E1n(nは任意の2以上の整数)である。第2の要素の集合SE2は、二次元平面において横方向に延在する直線の集合であり、各々の直線が、第2の要素E2a乃至E2n(nは任意の2以上の整数)である。第1の要素の集合SE1のそれぞれの第1の要素は、第2の要素の集合SE2のそれぞれの第2の要素と交差する。なお、上述したnおよび以下で言及するnの値は、任意の2以上の整数を意味しており、言及した全てのnが同一の値であるわけではない。
【0032】
図3に示すように、第1の要素の集合SE1における各々の直線は、基準画像RI内の二次元平面において縦方向に連続的に延在する。一方、第2の要素の集合SE2における各々の直線の一部は、基準画像RI内の二次元平面において横方向に断続的に延在する。図3では、基準画像RIの一部を囲む円C1に対応した円C2の内部に、円C1によって囲まれた基準画像RIの一部の領域を拡大した状態を示す。
【0033】
円C2内の領域では、第1の要素E1a乃至E1dはそれぞれ、縦方向に連続的に延在する。第2の要素E2a、E2d、およびE2gは、横方向に断続的に延在する。第2の要素E2b、E2e、およびE2hは、横方向に連続的に延在する。第2の要素E2c、E2f、およびE2iは、横方向に断続的に延在する。
【0034】
第2の要素E2aは、第1の要素E1aとの交点I1から右横方向に延在し、第1の要素E1bとの交点I2において終端する。第2の要素E2dは、第1の要素E1bとの交点I3から右横方向に延在し、第1の要素E1cとの交点I4において終端する。第2の要素E2gは、第1の要素E1cとの交点I5から右横方向に延在し、第1の要素E1dとの交点I6において終端する。第2の要素E2dは、交点I3から、第2の要素E2aよりも高い位置で延在し、第2の要素E2gは、交点I5から、第2の要素E2dよりも低い位置で延在する。
【0035】
第2の要素E2bは、第1の要素E1aとの交点I7から右横方向に延在し、第1の要素E1bとの交点I8において第2の要素E2eと接続する。第2の要素E2eは、交点I8から右横方向に延在し、第1の要素E1cとの交点I9において第2の要素E2hと接続する。第2の要素E2hは、交点I9から右横方向に延在し、第1の要素E1dとの交点I10において次の第2の要素(符号なし)と接続する。
【0036】
第2の要素E2cは、第1の要素E1aとの交点I11から右横方向に延在し、第1の要素E1bとの交点I12において終端する。第2の要素E2fは、第1の要素E1bとの交点I13から右横方向に延在し、第1の要素E1cとの交点I14において終端する。第2の要素E2iは、第1の要素E1cとの交点I15から右横方向に延在し、第1の要素E1dとの交点I16において終端する。第2の要素E2fは、交点I13から、第2の要素E2cよりも低い位置で延在し、第2の要素E2iは、交点I15から、第2の要素E2fよりも高い位置で延在する。
【0037】
また、基準画像RIは、所定の交点上の位置にn個の任意の形状のマーカが配置される。本実施形態では、9個のマーカM1乃至M9が配置される。マーカM1乃至M9は、基準画像RIの二次元平面において一定間隔に配置されてもよく、またはランダムな間隔に配置されてもよい。後述する図4に示す基準画像でも同様である。マーカM1乃至M9の各々は、対応付けの精度を高めるために使用されるが、詳細については後述する。
【0038】
なお、本実施形態では、二次元平面において連続的に縦方向に延在する要素の集合および二次元平面において断続的に横方向に延在する要素の集合を含む基準画像を採用しているが、基準画像は、そのような構成に限定されない。例えば、図4に示すように、基準画像RIは、二次元平面において断続的に縦方向に延在する要素の集合および二次元平面において連続的に横方向に延在する要素の集合を含んでもよい。
【0039】
図4に示すように、第1の要素の集合SE1における各々の直線の一部は、基準画像RI内の二次元平面において縦方向に断続的に延在する。一方、第2の要素の集合SE2における各々の直線は、基準画像RI内の二次元平面において横方向に連続的に延在する。図4では、基準画像RIの一部を囲む円C1に対応した円C2の内部に、円C1によって囲まれた基準画像RIの一部の領域を拡大した状態を示す。
【0040】
円C2内の領域では、第2の要素E2a乃至E2dはそれぞれ、横方向に連続的に延在する。第1の要素E1a、E1d、およびE1gは、縦方向に断続的に延在する。第1の要素E1b、E1e、およびE1hは、縦方向に連続的に延在する。第1の要素E1c、E1f、およびE1iは、縦方向に断続的に延在する。
【0041】
第1の要素E1aは、第2の要素E1aとの交点I1から下方向に延在し、第2の要素E2bとの交点I2において終端する。第1の要素E1dは、第2の要素E2bとの交点I3から下方向に延在し、第2の要素E2cとの交点I4において終端する。第1の要素E1gは、第2の要素E2cとの交点I5から下方向に延在し、第2の要素E2dとの交点I6において終端する。第1の要素E1dは、交点I3から、第1の要素E1aよりも左の位置で延在し、第1の要素E1gは、交点I5から、第1の要素E1dよりも右の位置で延在する。
【0042】
第1の要素E1bは、第2の要素E2aとの交点I7から下方向に延在し、第2の要素E2bとの交点I8において第1の要素E1eと接続する。第1の要素E1eは、交点I8から下方向に延在し、第2の要素E2cとの交点I9において第1の要素E1hと接続する。第1の要素E1hは、交点I9から下方向に延在し、第2の要素E2dとの交点I10において次の第1の要素(符号なし)と接続する。
【0043】
第1の要素E1cは、第2の要素E2aとの交点I11から下方向に延在し、第2の要素E2bとの交点I12において終端する。第1の要素E1fは、第2の要素E2bとの交点I13から下方向に延在し、第2の要素E2cとの交点I14において終端する。第1の要素E1iは、第2の要素E2cとの交点I15から下方向に延在し、第2の要素E2dとの交点I16において終端する。第1の要素E1fは、交点I13から、第1の要素E1cよりも右の位置で延在し、第1の要素E1iは、交点I15から、第1の要素E1fよりも左の位置で延在する。
【0044】
図3および図4において示したパターンはいずれも、二次元平面において縦方向に延在する直線の要素の集合、およびそれぞれが縦方向に延在する直線の要素の集合と交差し、二次元平面において横方向に延在する直線の要素の集合を含むと言える。また、上記パターンは、縦方向に延在する直線の要素の集合およびそれぞれが横方向に延在する直線の要素の集合の少なくともいずれかが、断続的に延在する要素を含むと言える。
【0045】
要素が二次元平面において断続的に延在するとは、その要素が、交差するもう一方の要素のうちの同一の要素と複数の位置において交差し、その交点の位置が二次元平面において異なることであると言える。図3において示したパターンでは、第2の要素が二次元平面において横方向に断続的に延在するとは、第2の要素(例えば、第2の要素E2aおよびE2d)が同一の第1の要素(例えば、第1の要素E1b)の複数の位置において交差し(例えば、交点I2およびI3)、その交点の位置が二次元平面において異なることであると言える。図4において示したパターンでは、第1の要素が二次元平面において縦方向に断続的に延在するとは、第1の要素(例えば、第1の要素E1aおよびE1d)が同一の第2の要素(例えば、第2の要素E2b)の複数の位置において交差し(例えば、交点I2およびI3)、その交点の位置が二次元平面において異なることであると言える。
【0046】
なお、本実施形態では、基準画像RIが、二次元平面において縦方向に延在する直線の集合、および二次元平面において横方向に延在する直線の集合を含むが、そのような構成に限定されない。例えば、基準画像RIは、二次元平面において縦方向に延在する曲線の集合などの任意の形状を有する要素の集合、および二次元平面において横方向に延在する曲線の集合などの任意の形状を有する要素の集合を含んでもよい。
【0047】
次に、図5に示すフローチャートを参照して、画像分析システム100が実行する処理の例を説明する。上述したように、本実施形態では、撮影対象に投影するパターン光に対応する基準画像と、パターン光が投影された撮影対象を撮影することによって生成された撮影画像との間の対応関係を分析する。具体的には、図3または図4に示した基準画像と、基準画像に対応するパターン光を投影した撮影対象を撮影することによって生成された撮影画像との対応関係を分析する。対応関係は、ニューラルネットワークを使用することによって分析される。
【0048】
撮影対象にパターン光を投影すると、奥行に応じて、撮影対象から反射したパターン光の形状が歪み、対応して、生成された撮影画像において認識されるパターンの形状も歪むことになる。従来の画像処理では、このように歪んだ形状のパターンを含む撮影画像からは必ずしも正確なパターンを認識することができないことがある。本実施形態では、ニューラルネットワークが基準画像内のパターンを構成するノードを学習し、学習したノードに関する情報から、撮影画像内のパターンを構成するノードを基準画像内のノードと対応付けて抽出する。
【0049】
本実施形態では、図3に示したいずれかの基準画像RIが予め生成され、コンピュータデバイス1の記憶装置13が記憶されているものとする。基準画像RIは、上述したマーカM1乃至M9を含む。
【0050】
まず、内視鏡2の投光装置22は、基準画像RIに対応するパターン光PLを撮影対象に投影する(ステップS501)。基準画像RIは、コンピュータデバイス1の通信装置14から光ファイバー22cを通じて投光装置22に送信される。パターン光PLは、回折光学素子22aによって回折するので、奥行を有する撮影対象の全体に到達する。
【0051】
次に、内視鏡2の撮像装置21は、パターン光PLが投影された撮影対象を撮影する(ステップS502)。撮影対象を撮影すると、撮影信号が撮像装置21からコンピュータデバイス1の通信装置14に送信され、制御装置11が、撮影信号に基づいて撮影画像DIを生成する。生成した撮影画像は、メモリ12または記憶装置13に記憶される。
【0052】
次に、コンピュータデバイス1の制御装置11は、撮影画像DI内のパターンを構成する第1の要素の組の全ての第1の要素に対し、要素を構成するライン(列)を識別する。同様に、第2の要素の組の全ての第2の要素に対し、要素を構成するライン(行)を識別する(ステップS503)。すなわち、制御装置11は、撮影画像DI内の全ての列および全ての行を識別する。識別された列および行は、識別番号が割り当てられる(列に第1の要素識別子、行に第2の要素識別子)。上述したように、第2の要素の一部は、二次元平面において断続的に延在するが、断続的に延在する要素については、線形になるラインを認識する。
【0053】
次に、制御装置11は、ステップS503において識別した列と行との全ての交点をノードとして識別する(ステップS504)。次に、制御装置11は、ノードごとに隣接するノードに対する相対位置に基づいて分類する(ステップS505)。識別および分類されたノードは、相対位置に基づいてラベル付けされる(撮影画像DI内のノードにラベルが付加される(分類値が付与される)。
【0054】
ステップS503乃至ステップS505の処理は、深層学習において学習された学習データに基づいて実行される。本実施形態では、制御装置11は、学習のためにU-Netを実装する。U-Netは、深層学習を利用した完全畳み込みネットワーク(FCN:fully convolution network)の1つであり、画像内のセグメンテーションを推定する。セグメンテーションとは、画像を複数の領域に分割する処理を意味する。U-Netは、畳み込み演算、および活性化演算(ReLU)、最大プーリング演算などを通じて、学習データに基づいて、各々の画素が何を表すかを分類する。
【0055】
図6は、撮影画像DIに基づいてU-Netを学習する処理の例を視覚的に示す。図6では、U-Netにおける学習の例を示すために、1つの画像に基づいてU-Netを学習する例を提示するが、実際には、あらゆる基準画像、および基準画像に対応するパターン光を投影した撮影対象を撮影することによって生成された撮影画像に基づいて、ノードを識別および分類するよう学習される。なお、図6に示す例では、上述したマーカM1乃至M9は考慮しない。また、図6は、撮影画像DI内の一部のパターンのみを示す。
【0056】
まず、図6(a)に示すように、制御装置11が、撮影画像DIを学習データとして認識する。撮影画像DIは、二次元平面において縦方向に延在する第1の要素の集合SE1、および二次元平面において横方向に延在する第2の要素の集合SE2を含む。なお、撮影画像DIでは、第1の要素の集合SE1は、撮影対象の奥行によって生じるパターン光の経路のずれに起因して、歪んで表される。
【0057】
次に、ユーザは、各々の第1の要素を識別するためのラベルを付加するために、第1の要素の集合SE1のそれぞれを描くように縦マークVMを付加する。図6(b)に示すように、縦マークVMは、それぞれの第1の要素をなぞるように曲線を描くことによって付加される。縦マークVMは、制御装置11によって学習データとして認識される。
【0058】
次に、制御装置11は、例えば、縦マークVMの所定のエリアを認識し、マークを付加する。本実施例では、図6(c)に示すように、縦マークVMの二次元平面における右側の予め定められた画素数にわたる領域が縦マーク領域VR1として認識され、縦マークVMの二次元平面における左側の予め定められた画素数にわたる領域が縦マーク領域VR2として認識される。縦マーク領域VR1および縦マーク領域VR2は、制御装置11によって学習データとして認識される。
【0059】
同様に、各々の第2の要素を識別するためのラベルを付加するために、ユーザは、第2の要素の集合SE2のそれぞれを描くように横マークを付加する。横マークは、それぞれの第2の要素をなぞるように曲線を描くことによって付加される。横マークは、制御装置11によって学習データとして認識される。
【0060】
次に、制御装置11は、例えば、横マークの所定のエリアを認識し、マークを付加する。本実施例では、図6(d)に示すように、横マークの二次元平面における上側の予め定められた画素数にわたる領域が横マーク領域HR1として認識され、横マークの二次元平面における下側の予め定められた画素数にわたる領域が横マーク領域HR2として認識される。横マーク領域HR1および横マーク領域HR2は、制御装置11によって学習データとして認識される。
【0061】
上述したように、第2の要素の集合SE2は、二次元平面において断続的に延在する要素を含む。断続的に延在する要素は、同一の第1の要素と2つの位置において交差し、その2つの交点が異なる。図6(a)の例では、交点I1は、交点I2よりも二次元平面において低い位置にあり、交点I3は、交点I4よりも二次元平面において低い位置にある。横マーク領域HR1および横マーク領域HR2は、これらの交点を覆うよう、線形になるラインとして描かれる。図6(d)における破線の枠内の領域が示すように、横マーク領域HR1および横マーク領域HR2は、交点I1およびI2に対応して二次元平面において右上方向に延在し、交点I3およびI4に対応して二次元平面において右下方向に延在する。
【0062】
次に、制御装置11は、縦マーク領域VR1と縦マーク領域VR2との境界を第1の要素として識別番号(第1の要素識別子)を割り当てる。第1の要素識別子が割り当てられた第1の要素は、学習データとして認識される。同様に、制御装置11は、横マーク領域HR1と横マーク領域HR2との境界を第2の要素として識別番号(第2の要素識別子)を割り当てる。第2の要素識別子が割り当てられた第2の要素は、学習データとして認識される。なお、第1の要素識別子は、各々の第1の要素を識別するための任意の記号、形状、および色などを有してもよい。第2の要素識別子も同様である。
【0063】
なお、U-Netでは、例えば、基準画像を出力装置16に表示し、表示された基準画像に対して、ユーザが入力装置15を介して縦マークおよび横マークを入力することによって、行および列を認識するよう学習されてもよい。
【0064】
次に、制御装置11は、第1の要素と第2の要素との交点をノードとして認識する。そして、制御装置11は、全てのノードを、隣接するノードに対する相対位置に基づいて分類し、ラベルを付加する(分類値を付与する)。本実施形態では、隣接する2つのノードの相対位置に基づいて、2つのノードが二次元平面において同一または略同一の高さの位置にあること、2つのノードのうち左に位置するノードの方が二次元平面において高い位置にあること、または2つのノードのうち右に位置するノードの方が二次元平面において高い位置にあること、の3個のクラスに分類される。
【0065】
なお、実際には、ノードの隣接するノードに対する相対位置を認識することができないことがあるので、このようなノードをunknownクラスとして分類してもよい。この場合、ノードは、4個のクラスに分類される。本実施形態では、ノードを4個のクラスに分類する。図6(e)は、ラベル付けされたノードを示す。
【0066】
2つのノードが二次元平面において同一または略同一の高さの位置あることとは、例えば、2つのノードの二次元平面における高さの差が、予め定められた閾値範囲(例えば、m画素(mは任意の数))にあることを意味する。このように分類されるノードは、赤(R)ラベルが付加され、図6(e)では、白抜きの円がRラベルを表す。
【0067】
Rラベルが付加されるノードは、パターンにおいて、連続的に延在する第2の要素と第1の要素との交点に対応する。図6(a)に示した例では、交点I7およびI8を構成する第2の要素は連続的に延在しているので、交点I7およびI8に対応して、ノードN4およびN5が識別され、Rラベルが付加される。同様に、ノードN6乃至N11、N14、およびN16乃至N20も、連続的に延在する第2の要素と第1の要素との交点に対応して、Rラベルが付加される。
【0068】
2つのノードのうち右に位置するノードの方が二次元平面において高い位置にあることとは、例えば、右に位置するノードが左に位置するノードよりも二次元平面において高い位置にあり、2つのノードの二次元平面における高さの差が、予め定められた閾値を上回ることを意味する。このように分類されるノードは、緑(G)ラベルが付加され、図6(e)では、黒塗りの円がGラベルを表す。
【0069】
Gラベルが付加されるノードは、パターンにおいて、断続的に延在する第2の要素と第1の要素との2つ交点(右に位置する第2の要素との交点の方が、左に位置する第2の要素との交点よりも高い位置にある)に対応する。図6(a)に示した例では、交点I1およびI2を構成する第2の要素は断続的に延在し、右に位置する第2の要素との交点I2の方が、左に位置する第2の要素との交点I1よりも高い位置にあるので、交点I1およびI2に対応して、ノードN1が識別され、Gラベルが付加される。同様に、交点I5およびI6を構成する第2の要素は断続的に延在し、右に位置する第2の要素との交点I6の方が、左に位置する第2の要素との交点I5よりも高い位置にあるので、交点I5およびI6に対応して、ノードN3が識別され、Gラベルが付加される。同様に、ノードN13も、断続的に延在する第2の要素と第1の要素との交点に対応して、Gラベルが付加される。
【0070】
2つのノードのうち左に位置するノードの方が二次元平面において高い位置にあることとは、例えば、左に位置するノードが右に位置するノードよりも二次元平面において高い位置にあり、2つのノードの二次元平面における高さの差が、予め定められた閾値を上回ることを意味する。このように分類されるノードは、青(B)ラベルが付加され、図6(e)では、網掛けの円がBラベルを表す。
【0071】
Bラベルが付加されるノードは、パターンにおいて、断続的に延在する第2の要素と第1の要素との2つ交点(左に位置する第2の要素との交点の方が、右に位置する第2の要素との交点よりも高い位置にある)に対応する。図6(a)に示した例では、交点I3およびI4を構成する第2の要素は断続的に延在し、左に位置する第2の要素との交点I3の方が、右に位置する第2の要素との交点I4よりも高い位置にあるので、交点I3およびI4に対応して、ノードN2が識別され、Bラベルが付加される。同様に、ノードN12およびN15も、断続的に延在する第2の要素と第1の要素との交点に対応して、Bラベルが付加される。
【0072】
本実施形態では、相対位置に基づいてノードを3個のクラスに分類する例を示したが、分類するクラスの数は3に限定されない。例えば、基準画像RIにおいて、第1の要素および第2の要素のいずれもが、断続的に延在する要素を含む場合、隣接するノードのうち上に位置するノードが下に位置するノードよりも二次元平面において右(または、左)に位置することなどのクラスに分類されてもよい。なお、ラベルを上述した色で表すことは例示にすぎず、相対位置を示す任意の記号などがラベルとして付加されてもよい。
【0073】
このようにして、撮影画像DIがU-Netに入力され、撮影画像DIから列(第1の要素)および行(第2の要素)が識別され、ノードが識別及び分類される。U-Netは、上述した手順に従って、あらゆる基準画像、および基準画像に対応するパターン光を投影した撮影対象を撮影することによって生成された撮影画像に基づいて、列および行を認識し、ノードを識別および分類するよう学習される。
【0074】
U-Netは、ノードごとに、第1の要素識別子および第2の要素識別子(ノードは、第1の要素識別子および第2の要素識別子の組によって識別される)、ならびにラベルを出力する。ノードを識別するための第1の要素識別子および第2の要素識別子は、2次元の特徴ベクトルとして表される。また、3個のクラス(RGB)およびunknownクラスのラベルは、4次元の特徴ベクトルFとして表される。
【0075】
上述したように、ノードが識別および分類されると、制御装置11は、ノードの分類(つまり、ノードの位置関係)および隣接するノードとの隣接関係に基づいて、ノード同士を接続するエッジを付与する。ステップS503乃至S505の処理では、撮影画像DIから6次元(2次元(第1の要素識別子および第2の要素識別子)+4次元(3個のクラス+unknownクラス))のベクトルを含む特徴ベクトルFが抽出される。また、ノードにラベルが付加された格子グラフGが生成される。
【0076】
任意選択で、ステップS503乃至S505の処理では、対応付けの精度を高めるために、上述した基準画像RIに配置されたマーカM1乃至M9(撮影画像DIにもマーカM1乃至M9が配置される)が位置する所定の領域に基づいて、ノードを分類し、ノードに対してラベルを付加してもよい(分類値を付与する)。
【0077】
図7は、図3に示した基準画像RI内で、マーカM1乃至M9のそれぞれを中心とした所定の領域である領域R1乃至R9を示す。例えば、領域R1は、マーカM1が位置するノードを構成する第1の要素および第2の要素と、それらに隣接する第1の要素および第2の要素とによって構成された4個の格子を含む。領域R2乃至R9も同様に、4個の格子を含む。つまり、領域R1乃至R9はそれぞれ、マーカM1乃至M9がそれぞれ位置するノードと、そのノードに隣接するノードを含む。
【0078】
領域R1乃至R9はそれぞれ、第1の要素および第2の要素から構成された格子の形状において、同一、異なる、左右対称、および上下左右対称などの関係を有する。つまり、領域R1乃至R9は相互に、領域内の中心のノードと隣接するノードとの間の関係が、同一であり、異なり、左右対称、および上下左右対称などである。よって、領域R1乃至R9内の中心ノードと隣接するノードとの関係に基づいて、ノードが分類される。
【0079】
図7に示すように、領域R1乃至R5は、相互に異なる形状を有する。領域R6は、領域R4と、二次元平面において上下左右対称の形状を有する。領域R7は、領域R2と、二次元平面において左右対称の形状を有する。領域R8は、領域R3と、二次元平面において左右対称の形状を有する。領域R9は、領域R1と、二次元平面において上下左右対称の形状を有する。これらの分類も、U-Netによって学習データとして認識される。
【0080】
ステップS503乃至S505の処理では、撮影画像DIがU-Netに入力され、上述した学習によって生成された学習データに基づいて、撮影画像DI内のマーカM1乃至M9が5個のクラスに分類される。図7の例では、例えば、領域R1およびR9がクラス1、領域R2およびR7がクラス2、領域R3およびR8がクラス3、領域R4およびR6がクラス4、領域5がクラス5に分類される。
【0081】
なお、実際には、マーカの周囲の領域またはその形状を識別することができないこともあるので、そのようなマーカをunknownクラスとして分類してもよい。この場合、マーカは、6個のクラスに分類される。本実施形態では、マーカを6個のクラスに分類する。
【0082】
これらのクラスは、それぞれのマーカが位置するノードとそのノードに隣接するノードとの関係を識別することができる。例えば、領域R1では、マーカM1が位置するノードの下のノード(交点I1およびI2から構成されるノード(図7ではノードを表していない))は、Gラベルが付加される(右に位置するノードが左に位置するノードよりも二次元平面において高いと分類される)。よって、分類されたクラスごとにこれらの位置関係を学習することによって、基準画像と、撮影対象に投影するパターン光に対応するパターン光が投影された撮影対象を撮影することによって生成された画像との間の対応関係を分析することを容易にする。
【0083】
上述した任意選択の処理によって、ステップS503乃至S505の処理では、撮影画像DIから12次元(2次元+4次元+6次元(5個のクラス+unknownクラス))のベクトルを含む特徴ベクトルFが抽出される。
【0084】
なお、本実施形態では、U-Netにおいて第1の要素識別子および第2の要素識別子を割り当てているが、そのような方式に限定されない。各々の第1の要素を識別する番号、および各々の第2の要素を識別する番号が事前に割り当てられ、それらの番号(要素を識別する任意の記号)が基準画像RIに埋め込まれてもよい。
【0085】
また、本実施形態では、画像内のそれぞれのノードと、対応する相対位置との対応関係を学習したU-Netから、対応するノードを示す情報の集合と、および対応する相対位置を示す情報の集合を抽出しているが、使用するニューラルネットワークは、U-Netに限定されない。例えば、画像内のそれぞれのノードと、対応する相対位置との対応関係を学習したU-Net以外の公知のニューラルネットワークを使用してもよい。
【0086】
また、ニューラルネットワークを使用せず、画像内の隣接する2つのノードを認識し、2つのノードの相対位置を判定してもよい(例えば、ハフ変換、射影変換、および/または二値化などの画像処理によって)。つまり、ステップS503乃至S505の処理はいずれも、ニューラルネットワークを使用するか否かに関わらず、画像内のそれぞれの列および行を識別し、ノードを分類する。
【0087】
図7の説明に戻ると、制御装置11は、特徴ベクトルFおよび格子グラフGに基づいて、格子グラフG内の各々のノードを、対応する基準画像RIから生成された格子グラフ内のノードと対応付ける(ステップS506)。
【0088】
上述したU-Netは、基準画像RIなどを学習した結果に基づいて、グラフGを生成している。しかしながら、U-Netは、必ずしも正確なグラフを生成することができるとは限らず、誤ったグラフからは、上述した対応付けを正確に行うことはできない。
【0089】
本実施形態では、制御装置11は、学習のためにグラフ畳み込みネットワーク(GCN:Graph Convolutional Network)を実装し、ステップS506の処理は、GCNによる深層学習において学習された学習データに基づいて実行される。GCNは、深層学習をグラフデータに適用するニューラルネットワークであり、グラフデータに対して畳み込み演算を行う。GCNにおける畳み込み演算では、各々のノードに対し、隣接ノードとの関係ごとに重み値に従って尤度が計算される。上述した特徴ベクトルFは、撮影画像DI内の各々のノード自体の性質(相対位置)を表し、格子グラフGは、ノード間の隣接関係を表す。
【0090】
GCNは、あらゆる基準画像およびあらゆる撮影画像から抽出および生成された、上述したような特徴ベクトルFおよび格子グラフGに基づいて学習される。よって、上述した基準画像RIから生成された格子グラフGに基づいて、基準画像RI内のノードに対応するノードを抽出するようGCNが学習される。よって、GCNからの出力は、入力した格子グラフG内のノードを表す情報である。
【0091】
図8は、本実施形態で実装されるGCN800の構成を示す。GCN800は、入力された特徴ベクトルFおよび格子グラフGを所定の回数の演算を行うため、その演算の回数に従った階層構造を採用している。GCN800は、GCN層801、全結合層802、および出力層803を含む。
【0092】
GCN層801では、特徴ベクトルFおよび格子グラフGに基づいて、グラフ畳み込み演算部801aがグラフ畳み込み演算を実行し、正規化演算部801bが正規化演算(Batch Normalization)を実行し、活性化演算部801cが活性化演算(ReLU)を実行する。この処理では、12次元の特徴ベクトルFに対しノードごとに上記演算が実行される。よって、D×N(Nは、ノード数、Dは次元数(12))の行列Hが生成される。
【0093】
GCNは、隣接するノードとの関係に基づいてノードごとに演算を行う。本実施形態では、格子グラフG内の各々のノードは、4方向(上方向、下方向、右方向、および左方向)に隣接するノードを有する(4方向(以下、方向数をlで表す)に隣接するノードと隣接関係を有する)。よって、方向ごとに行列H(1)乃至H(l)が生成される。これらの行列は、層データ行列に累積されるので、最終的に、行列H(l+1)が生成される。行列H(l+1)は、式(1)によって表すことができる。
【0094】
【数1】
【0095】
【数2】
【0096】
は、自己結合を追加した格子グラフGの隣接行列であり、Iは、単位行列であり、
【0097】
【数3】
【0098】
は、
【0099】
【数4】
【0100】
の次数行列であり、W(l)は、この層の重み行列であり、σは、活性化関数(ReLU)である。隣接行列Aは、{A0(上方向)、A1(下方向)、A2(右方向)、A3(左方向)}である。
【0101】
行列H(l+1)の計算は、式(2)に従って実行される。
【0102】
【数5】
【0103】
【数6】
【0104】
は、方向d∈{0、1、2、3}に応じた重み行列である。
【0105】
式(2)を実行した後、正規化演算および活性化演算が実行される。この処理が5回繰り返される。このようにして、GCN層801は、行列H(l+1)を出力する。
【0106】
全結合層802では、行列H(l+1)に基づいて、線形変換演算部802aが線形変換演算を実行し、活性化演算部802bが活性化演算(ReLU)を実行する。この処理では、D個の次元(本実施形態では12次元)およびN個のノードごとに上記演算が実行される。よって、特徴ベクトルFの特徴埋め込み行列(N×Dのサイズを有する)が生成される。このようにして、全結合層802は、特徴ベクトルFの特徴埋め込み行列を出力する。
【0107】
上述した演算によって、ノードごとに、自身の特徴ベクトル(つまり、隣接ノードとの相対位置を示す値)、隣接ノードとの関係、および重み付けを考慮した畳み込み演算によって、元の基準画像RI内のそれぞれのノードとの対応付けに対する精度を高めることができる。図9は、ノードの特徴ベクトル、隣接ノードとの関係、および重み値を考慮した演算を視覚的に示す。
【0108】
出力層803では、特徴埋め込み行列について、Softmax演算部803aがノードごとにSoftmax演算を実行し、ノードごとの対数尤度ベクトルを出力する。
【0109】
GCNは、U-Netから出力される格子グラフGに基づいて学習される。具体的には、U-Netによって識別され、ラベルが付加された格子グラフG内のノードが学習データとして認識される。また、格子グラフ内の各々の第1の要素を識別するための第1の要素識別子が割り当てられ、各々の第2の要素を識別するための第2の要素識別子が割り当てられ、第1の要素識別子および第2の要素識別子が教師データとして使用される。
【0110】
GCNによって、ノードごとの対数尤度ベクトルが出力されると、対数尤度ベクトルに基づいて対応するノードが判定される。このような判定において、学習データから一定の確率を有すると判断されたノードが、基準画像RI内のノードに対応するノードとして抽出される。GCNは、上述した演算を行った後のノードを反映した第1の要素識別子の集合および第2の要素識別子の集合を出力する。第1の要素識別子の集合および第2の要素識別子の集合により、画像内の列および行を認識することができるので、その交点であるノードを識別することができる。
【0111】
なお、本実施形態では、GCNが全てのノードを出力する負荷を考慮して、第1の要素識別子の集合および第2の要素識別子の集合を出力しているが、全ノードに識別子を割り当て(ノード識別子)、ノード識別子を出力してもよい。
【0112】
なお、パターン内のノードについての特徴ベクトルおよびノードによって構成された格子グラフに基づいて学習したGCNから、基準画像内のノードに対応するノードを抽出しているが、使用するニューラルネットワークは、GCNに限定されない。例えば、特徴ベクトルおよびノードによって構成された格子グラフに基づいて学習したGCN以外の公知のニューラルネットワークを使用してもよい。グラフの接続に基づいて、グラフのノードと関連付けられた特徴ベクトルを集約する機能があってもよく、他の手法および他のニューラルネットワークでも代替が可能である。GCN以外のネットワークを使用する場合も、格子グラフ内の各々のノードに対し、隣接ノードとの関係および重み値を考慮して演算が実行される。
【0113】
また、ニューラルネットワークを使用せず、撮影画像内のノードの隣接するノードに対する相対位置(相対位置に基づいた分類)および隣接ノードとの関係に基づいて、ノードによって構成された格子グラフから、基準画像内のノードに対応するノードを抽出してもよい(例えば、空間フィルタリングおよび畳み込み演算などの画像処理によって)。つまり、ステップS506の処理は、ニューラルネットワークを使用するか否かに関わらず、入力された格子グラフおよび特徴ベクトル(格子グラフ内のノードの隣接ノードに対する相対位置に基づいた分類)に基づいて、隣接ノードとの関係および重み値を考慮して基準画像内のノードに対応するノードを抽出する。
【0114】
以上のようにして、GCNを使用して、基準画像RI内の各々のノードに対応する、撮影画像DI内の各々のノードが識別される。このようにして撮影画像DI内のより多くのノードが基準画像RI内のノードと対応付けられるので、その対応付けに基づいて、三角測量に基づいて撮像装置と撮影対象との間の距離を計算し、この距離に基づいて三次元画像を構築するができる。また、対応付けに基づいて、撮像装置21と投光装置22との間の位置情報などを示す外部パラメータ(エピポーラ幾何に使用される)を計算することができる。
【0115】
上述したように、撮影対象の奥行に応じて反射したパターン光の形状が歪むので、従来技術の画像処理では、画像内の全てノードを元のノードと対応付けることは困難であった。本実施形態では、二次元平面において縦および/または横に断続的に延在する要素によって、パターンの形状が歪んでも、撮像画像DIにおいて隣接ノードとの関係が維持されるので、その関係に基づいて、GCNにより元のパターン内のノードと対応付ける精度を高めることができる。例えば、図3に示した基準画像RIを投影して撮影した撮像画像DIでは、パターンの形状が歪んでも、2つのノードとの間で二次元平面における横方向での高さの関係が維持される。
【0116】
また、基準画像RIが、第1の要素または第2の要素の少なくとも一方において、断続的に延在する要素を含めることによって構成されるので、ノードを対応付けるための情報を少なくすることができる。更に、基準画像RIに配置されたマークM1乃至M9に基づいた分類に基づいて、ノードの隣接関係を判定するので、対応付けの精度を更に高めることができる。
【0117】
上述した処理に加え、撮像画像DI内の画素と隣接するノードとの相対位置を判定し、基準画像RI内の画素と隣接するノードとの相対位置を判定し、双方の相対位置に基づいて、画素ごとの対応付けを行ってもよい。この処理は、撮像画像DIおよび基準画像RIの両方に対し、画素ごとに隣接するノードとの相対位置を認識するので、処理負荷は高くなるが、対応付けの精度を更に高めることができる。このような画素ごとの対応付けも、GCNによって学習される。
【0118】
上述したGCNからの出力およびノードの隣接ノードに対する相対位置に基づいたノード間の対応付けは、GCNもしくは他のニューラルネットワーク、またはニューラルネットワークを使用しない画像処理(例えば、空間フィルタリングおよび畳み込み演算など)によって行われてもよい。
【0119】
<第2の実施形態>
次に、第2の実施形態を説明する。第2の実施形態は、第1の実施形態と比較して、撮影画像DIと共に、基準画像RIもU-NetおよびGCNに入力し、双方のGCNからの出力を比較する点で異なる。
【0120】
図10を参照して、第2の実施形態に従った、画像分析システム100が実行する処理の例を説明する。図10に示すステップS1001乃至S1005は、図5に示したステップS501乃至S505と同様であるので、説明を省略する。なお、ステップS1005からは、撮影画像DIから、特徴ベクトルFdおよび格子グラフGdが出力される。
【0121】
ステップS1006では、制御装置11は、記憶装置13に記憶された基準画像RIがU-Netに入力され、基準画像RI内の第1の要素を構成するライン(列)および第2の要素を構成するライン(行)を識別する。列および行を識別する方式は、図5に示したステップS503について説明した方式と同様である。
【0122】
次に、制御装置11は、ステップS1006において識別した列と行との全ての交点をノードとして識別する(ステップS1007)。ノードを識別する方式は、図5に示したステップS504について説明した方式と同様である。
【0123】
次に、制御装置11は、ノードごとに隣接するノードに対する相対位置に基づいて分類する(ステップS1008)。ノードを分類する方式は、図5に示したステップS505について説明した方式と同様である。ステップS1008からは、基準画像RIから、特徴ベクトルFpおよび格子グラフGpが出力される。
【0124】
次に、制御装置11は、ステップS1005の出力(特徴ベクトルFdおよび格子グラフGd)をGCNに入力し、撮影画像DIから計算された特徴埋め込み行列Fdを出力する(ステップS1009)。特徴埋め込み行列Fdを計算する方式は、図5に示したステップS506について説明した方式と同様である。
【0125】
次に、制御装置11は、ステップS1008の出力(特徴ベクトルFpおよび格子グラフGp)をGCNに入力し、基準画像RIから計算された特徴埋め込み行列Fdを出力する(ステップS1010)。特徴埋め込み行列Fpを計算する方式は、図5に示したステップS506について説明した方式と同様である。
【0126】
次に、制御装置11は、特徴埋め込み行列Fdおよび特徴埋め込み行列Fpについて、ノードごとの特徴ベクトルFdおよびFdの内積を計算することによって、基準画像RIと撮影画像DIとの類似性を判定する(ステップS1011)。特徴ベクトルFdおよびFdの内積は、
【0127】
【数7】
【0128】
によって表される。
【0129】
制御装置11は、Softmax関数を使用して、内積のSoftmax値を導出する。CGNは、格子グラフGpおよびGdに基づいて、上述した演算を実行して、2つの特徴ベクトルの内積と第1の要素識別子および第2の要素識別子との間の交差エントロピのコスト関数を使用することによって学習される。上述した学習から、内積のSoftmax関数によってノードごとにSoftmax値を導出し、ノードごとの対数尤度ベクトルを評価することによって、2つの画像の間で、ノードごとに対応付けることができる。
【0130】
第2の実施形態に係る処理は、第1の実施形態に係る処理と基本的には同様であるが、基準画像に対してもGCNを介して演算を行い、基準画像RIおよび撮影画像DIの双方の特徴ベクトルの内積を計算し、ノードごとの対数尤度ベクトルを評価する。図11は、この処理を視覚的に表している。
【0131】
以上のように、第2の実施形態を説明した。第2の実施形態によっても、撮影画像内のノードと基準画像内のノードとの対応付けの精度を高めることができる。
【0132】
<第3の実施形態>
次に、第3の実施形態を説明する。第3の実施形態は、第1の実施形態および第2の実施形態と比較して、使用する基準画像RIが異なる。
【0133】
図12を参照して、第3の実施形態に係る基準画像RIを説明する。図12に示すように、基準画像RIは、二次元平面において縦方向に連続的に延在する長方形の要素の集合および二次元平面において縦方向に断続的に延在する任意の記号(本実施形態では、十字)の要素の集合を含む。
【0134】
図12に示すように、第1の要素の集合SE1における第1の要素(図12に示す網掛けの長方形)E1a乃至E1n(nは任意の整数)は、基準画像RI内の二次元平面において縦方向に連続的に延在する。一方、第2の要素の集合SE2における第2の要素(図12に示す十字記号)E2a乃至E2n(nは任意の整数)は、基準画像RI内の二次元平面において縦方向に断続的に延在する。第2の要素E2a乃至E2nはそれぞれ、第1の要素E1a乃至E1nの各々に沿って配置される。図12では、基準画像RIの一部を囲む円C1に対応した円C2の内部に、円C1によって囲まれた基準画像RIの一部の領域を拡大した状態を示す。
【0135】
円C2内の領域では、第1の要素E1a乃至E1cはそれぞれ、縦方向に連続的に延在する。第2の要素E2a乃至E2nは、縦方向にランダムな間隔に配置される。例えば、第2の要素E2bと第2の要素E2eとの距離は、第2の要素E2eと第2の要素E2hとの距離とは異なる。同様に、第2の要素E2cと第2の要素E2fとの距離は、第2の要素E2fと第2の要素E2iとの距離とは異なる。
【0136】
第2の要素E2a乃至E2nが二次元平面において縦方向にランダムな間隔に配置されるので、1つ目の第2の要素が二次元平面において隣接する第2の要素に対して位置する角度は、2つ目の第2の要素が二次元平面において隣接する第2の要素に対して位置する角度とは異なる。例えば、円C2内の領域では、第2の要素E2bが隣接する第2の要素E2cに対して位置する角度は、第2の要素E2cが隣接する第2の要素E2dに対して位置する角度とは異なる。同様に、第2の要素E2bが隣接する第2の要素E2cに対して位置する角度は、第2の要素E2hが隣接する第2の要素E2iに対して位置する角度とは異なる。
【0137】
なお、本実施形態では、二次元平面において縦方向に連続的に延在する長方形の要素の集合および二次元平面において縦方向に断続的に延在する記号の要素の集合を含む基準画像を採用しているが、基準画像は、そのような構成に限定されない。例えば、図示しないが、基準画像は、二次元平面において横方向に連続的に延在する長方形の要素の集合および二次元平面において横方向に断続的に延在する記号の要素の集合を含んでもよい。この場合、記号の要素の集合は、横方向にランダムな間隔に配置される。
【0138】
なお、図示しないが、図12に示した基準画像RIにおいても、図3に示した基準画像RIと同様に、n個のマーカが配置されてもよい。
【0139】
第3の実施形態で使用する基準画像RIついても、対応するパターン光PLが撮影対象に投影され、撮影画像DIが生成される。第3の実施形態に従って撮影画像DIを処理する方法は、第1の実施形態および第2の実施形態で説明したいずれかの方式と同様であるが、画像内の列のみを識別すること、および隣接するノードの間の相対角度に基づいてノードを分類する点で、第1の実施形態および第2の実施形態に係る処理とは異なる。
【0140】
上述したように、第3の実施形態で使用する基準画像RIは、第1の要素および第2の要素のいずれもが二次元平面において縦方向に延在するので、撮影画像DIでは、画像内の列のみが識別される。列は、例えば、第1の要素の端または第2の要素(記号)をなぞり、二次元平面において縦方向に線形になるラインを描くことによって識別される。これらの処理は、図6(b)および図6(c)について説明した方式と同様である。
【0141】
また、ノードの識別については、例えば、図12において符号NR1が付された矩形領域に示されるように、第1の要素と第2の要素との間の一定の領域がノードとして識別される。つまり、後述する分類されたラベル(隣接するノードに対する相対角度(特徴ベクトル))に基づいて、一定の領域に分割される。図12におけるノード領域NR1は、第1の要素E1b上の、第2の要素E2fに隣接する一定の領域として分割され、領域NR1がノードとして識別される。
【0142】
同様に、ノード領域NR2は、第1の要素E1b上の、第2の要素E2iに隣接する一定の領域として分割され、領域NR2がノードとして識別される。ノード領域NR3は、第1の要素E1c上の、第2の要素E2gに隣接する一定の領域として分割され、領域NR3がノードとして識別される。分割された領域は、各々がノードを含む複数の格子を構成する。このようなノード領域も、上述したU-Netが学習することによって識別されてもよい。図12に示すノード領域は例示にすぎず、予め定められたルールに従って第1の要素と第2の要素との間の一定の領域がノードとして識別されてもよい。
【0143】
第3の実施形態で使用する基準画像RIに対応するパターン光PLが投影された撮影対象から生成された撮影画像DIも、上述したように第1の要素と第2の要素との間の一定の領域がノードとして識別される。第3の実施形態では、ノードを識別する際に、行を識別する必要がないので、U-Netなどによる演算処理を簡易化することができる。
【0144】
第3の実施形態では、第1の実施形態における処理のように、列と行との交点によりノードを識別しない。図12のパターンを投影して撮影を行いつつ、撮影画像から、画素ごとに対応関係を計算することによって計測精度の精度を高めることができる。このために、U-Netにより撮影画像から格子の位相、つまり格子を基準とした相対位置を各画素で抽出するように学習してもよい。図13に、撮影画像から格子の位相(繰り返す格子と各画素の相対位置関係を、0以上2π未満の回転角度として表現したもの)を推定した例を示す。
【0145】
図13は、撮影画像の格子情報について、格子と各画素の相対位置関係を回転角度として表現する例を示す。この回転角度は格子の繰り返しと連動しており、一つの格子ごとに1回転する。つまり0から2πまで上昇し、その後0に戻る。図13(a)は、図12のパターンを投影した画像である。図13(b)は、上述したように、U-Netで格子の区切りの位置で回転角度が0になるような余弦信号を推定した画像である。図13(b)および図13(c)は、図13(a)に示した撮影画像から、U-Netで、格子の区切りの位置で回転角度が4π/5になるような余弦信号を推定した画像を示す。図13(d)は、図13(b)および図13(c)を含む位相推定結果から、格子の位相情報を画素ごとに計算した結果を示す。図13(e)は、図13は、格子の縦方向の位相情報を画素ごとに計算した結果を示す。
【0146】
図13に示した撮影画像の位相情報(回転角度)の推定は例示にすぎず、U-Netによる格子の位相情報の検出を、余弦信号の推定を経ずに直接検出することも可能である。ただし、U-Netによって位相情報を直接検出するよりも、余弦信号の検出を学習するほうが、位相情報の推定精度が高くなる。また、ガボールフィルタ等を利用することもできる。上述したように、格子の位相情報が、U-Net以外のニューラルネットワークまたは他の画像処理によって識別されてもよい。
【0147】
本実施形態では、グラフのノードは、図13に示した画素ごとの位相情報を、位相の0度の部分を領域の区切りとして領域分割する(つまり、画素ごとの相対位置および撮影画像上の格子情報に基づいて撮影画像を複数の領域に分割する)ことによって識別される。また、ノードの隣接関係を、領域の隣接関係から抽出する。ノードが識別されると、制御装置11は、U-Netなどを使用して、各々のノードに対し、ノード周辺の画像特徴から、ノードを分類し、ラベルを付加する(分類値を付与する)。ノードが識別および分類されると、制御装置11は、隣接するノードとの隣接関係に基づいて、ノード同士を接続するエッジを付与する。
【0148】
なお、ノードを領域分割によって抽出する際、位相情報以外の情報に基づいてもよい。例えば、U-Netによって格子から一定の範囲内をノードとして認識し、そのノードを中心としてドロネー分割などの技術を使用して領域分割を行ってもよい。さらに、位相情報に基づく領域分割と、ノードを中心とした領域分割を組み合わせてもよい。また、ノード同士の接続は、隣接関係以外に近接関係に基づいてもよい。その場合、出力されるグラフは格子グラフではなく一般のグラフとなる。図14に近接関係による接続の例を示す。
【0149】
本実施形態では、各ノードについて、そのノードに付随する2つの点の相対位置に基づいて、2つ点が二次元平面において水平または略水平にあること、2つの点のうち左に位置する点が右に位置する点に対し二次元平面において正の角度の位置にあり、その角度が予め定められた角度を上回ること、2つの点のうち左に位置する点が右に位置する点に対し二次元平面において正の角度の位置にあり、その角度が予め定められた角度以下であること、2つの点のうち左に位置する点が右に位置する点に対し二次元平面において負の角度の位置にあり、その角度が予め定められた角度以下であること、2つの点のうち左に位置する点が右に位置するノードに対し二次元平面において負の角度の位置にあり、その角度が予め定められた角度を上回ること、の5個のクラスに分類される。
【0150】
正の角度とは、隣接する2つの点のうち左に位置する点が右に位置する点よりも二次元平面において低い位置にある角度を意味する。負の角度とは、隣接する2つの点のうち左に位置する点が右に位置する点よりも二次元平面において高い位置にある角度を意味する。
【0151】
なお、実際には、あるノードについて、付随する2点の相対位置を認識することができないことがあるので、このようなノードをunknownクラスとして分類してもよい。この場合、ノードは、6個のクラスに分類される。本実施形態では、ノードを6個のクラスに分類する。図15は、ラベル付けされたノードを示す。
【0152】
2つの点のうち左に位置する点が右に位置する点に対し二次元平面において正の角度の位置にあり、その角度が予め定められた角度を上回ることとは、例えば、左に位置する点が右に位置する点よりも二次元平面において低い位置にあり、2つの点の二次元平面における高さの差が、予め定められた閾値を上回ることに等しい。このように分類される点は、緑(G)ラベルが付加され、図15では、黒塗りの円がGラベルを表す。図15に示した例では、点N1が点N6よりも二次元平面において低い位置にあり、点N1の点N6に対する角度が閾値を上回ると仮定して、Gラベルが付加される。
【0153】
2つの点のうち左に位置する点が右に位置する点に対し二次元平面において正の角度の位置にあり、その角度が予め定められた角度以下であることとは、例えば、左に位置する点が右に位置する点よりも二次元平面において低い位置にあり、2つの点の二次元平面における高さの差が、予め定められた閾値以下であることに等しい。このように分類される点は、青(B)ラベルが付加され、図15では、網掛けの円がBラベルを表す。図15に示した例では、点N2が点N7よりも二次元平面において低い位置にあり、点N2の点N7に対する角度が閾値以下であると仮定して、Bラベルが付加される。
【0154】
2つの点が二次元平面において水平または略水平にあることとは、例えば、2つの点の二次元平面における高さの差が、予め定められた閾値範囲にあることに等しい。このように分類される点は、黄(Y)ラベルが付加され、図15では、網掛け(Bラベルよりも明るい)の円がYラベルを表す。図15に示した例では、点N3が点N8と水平または略水平の位置にあるので、Yラベルが付加される。
【0155】
2つの点のうち左に位置する点が右に位置する点に対し二次元平面において負の角度の位置にあり、その角度が予め定められた角度以下であることとは、例えば、左に位置する点が右に位置する点よりも二次元平面において高い位置にあり、2つの点の二次元平面における高さの差が、予め定められた閾値以下であることに等しい。このように分類される点は、紫(P)ラベルが付加され、図15では、網掛け(Yラベルよりも明るい)の円がPラベルを表す。図15に示した例では、点N4が点N9よりも二次元平面において高い位置にあり、点N4の点N9に対する角度が閾値以下であると仮定して、Pラベルが付加される。
【0156】
2つの点のうち左に位置する点が右に位置する点に対し二次元平面において負の角度の位置にあり、その角度が予め定められた角度を上回ることとは、例えば、左に位置する点が右に位置する点よりも二次元平面において高い位置にあり、2つの点の二次元平面における高さの差が、予め定められた閾値を上回ることに等しい。このように分類される点は、赤(R)ラベルが付加され、図15では、白抜きの円がRラベルを表す。図15に示した例では、点N5が点N10よりも二次元平面において高い位置にあり、点N5の点N10に対する角度が閾値を上回ると仮定して、Rラベルが付加される。
【0157】
第3の実施形態では、実施形態1と同様にノードごとに対応を求めた後、ノードごとの対応情報と、U-Netで求めた位相情報を組み合わせて、画素ごとの対応情報を求める。具体的には、画素に近接するノードごとの対応情報を整数値で、位相情報を0以上1以下の小数値とし、足し合わせることで、画素ごとに、対応情報を実数精度で求めることができる。
【0158】
本実施形態では、横方向において隣接する点の間の相対角度に基づいてノードを5個のクラスに分類する例を示したが、分類するクラスの数は5に限定されない。例えば、基準画像RIにおいて、第1の要素および第2の要素のいずれもが、断続的に延在する要素を含む場合、縦方向および横方向に隣接する点の間の相対角度に基づいて更になるクラスに分類されてもよい。なお、ラベルを上述した色で表すことは例示にすぎず、相対位置を示す任意の記号などがラベルとして付加されてもよい。
【0159】
第3の実施形態で示した基準画像RIについても、対応するパターン光PLが撮影対象に投影され、パターンの形状が歪んでも、撮像画像DIにおいて隣接ノードとの関係が維持される。よって、その関係に基づいて、GCNにより元のパターン内のノードと対応付ける精度を高めることができる。
【0160】
なお、第の実施形態においても、GCNからの出力およびノードに付随する点同士の相対角度(相対角度に基づいて付与された分類値)に基づいたノード間の対応付けが行われてもよい(GCNもしくは他のニューラルネットワーク、またはニューラルネットワークを使用しない画像処理(例えば、空間フィルタリングおよび畳み込み演算など)によって)。
【0161】
なお、図3図4、および12に示した基準画像RIに代えて、パターンを正方形の格子を含むパターンによって構成してもよい。このようなパターン自体は、上述した相対位置および相対角度における相違を表すことはできないが、格子内に、相対位置および相対角度を表す任意の記号を配置することによって、上述した相違を表してもよい。つまり、基準画像RIは、第1の要素または第2の要素のいずれかにおいて、上述した相対位置および/または相対角度における相違を表す。
【0162】
上記実施形態で説明したハードウェアの構成要素は例示的なものにすぎず、その他の構成も可能であることに留意されたい。また、上記実施形態で説明した処理の順序は、必ずしも説明した順序で実行される必要がなく、任意の順序で実行されてもよい。更に、本発明の基本的な概念から逸脱することなく、追加のステップが新たに加えられてもよい。
【0163】
また、本発明の一実施形態に係る画像分析方法は、コンピュータデバイス1の制御装置11(プロセッサ)によって実行されるコンピュータプログラムによって実装されるが、当該コンピュータプログラムは、非一時的記憶媒体に記憶されてもよい。非一時的記憶媒体の例は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリ装置、内蔵ハードディスクおよび取外可能ディスク装置などの磁気媒体、光磁気媒体、ならびにCD-ROMディスクおよびデジタル多用途ディスク(DVD)などの光学媒体などを含む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15