(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】三次元形状計測装置及びプログラム
(51)【国際特許分類】
G06T 17/10 20060101AFI20240626BHJP
G06T 1/00 20060101ALI20240626BHJP
G06T 7/564 20170101ALI20240626BHJP
【FI】
G06T17/10
G06T1/00 315
G06T7/564
(21)【出願番号】P 2020123297
(22)【出願日】2020-07-17
【審査請求日】2023-06-01
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】三須 俊枝
(72)【発明者】
【氏名】三ツ峰 秀樹
(72)【発明者】
【氏名】洗井 淳
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2004-220312(JP,A)
【文献】特開平11-353496(JP,A)
【文献】特表2018-514885(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/50 - 7/593
G06T 17/10
G06T 19/00 - 19/20
(57)【特許請求の範囲】
【請求項1】
被写体を含む画像から、SVO(スパースボクセルオクトリー)モデルで表現した前記被写体の三次元形状を計測する三次元形状計測装置において、
画像処理部及び形状処理部を備え、前記被写体を含む三次元の計測領域が複数のボクセルにより構成されるものとして、
前記画像処理部
が、
前記形状処理部から前記ボクセルのアドレスを入力し、前記アドレスに対応するボクセル像を生成し、前記被写体のシルエット画像と前記ボクセル像との間の包含関係を判定し、前記アドレスに対応する判定結果を求める画像処理を行い、
前記形状処理部
が、
前記画像処理部により求めた前記判定結果に基づいて、前記ボクセルの全体が前記被写体の外部にあるか、または内部にあるか、または前記外部及び前記内部の判定不明であるかを判定し、統合判定結果を求め、前記統合判定結果が前記外部及び前記内部の判定不明であることを示している場合、前記ボクセルを分割し、分割後の前記ボクセルの前記アドレスを前記画像処理部に出力し、所定の終了条件を満たす場合に、前記統合判定結果を、前記被写体の前記三次元形状に関する形状情報として出力する形状処理を行う
場合に、
前記画像処理部は、
前記形状処理部から前記アドレスを受信するアドレス受信部と、
前記アドレス受信部により受信された前記アドレスに対応する前記ボクセルの頂点座標を、所定の演算またはテーブルにて生成する頂点座標生成部と、
前記頂点座標生成部により生成された前記頂点座標を、前記画像の座標系に投影し、前記ボクセル像を生成する投影部と、
前記シルエット画像と、前記投影部により生成された前記ボクセル像とに基づいて、前記ボクセル像が前記画像の枠内にあり、かつ前記シルエット画像
の完全に外側に存在する場合を第1結果とし、前記ボクセル像が前記画像の枠内にあり、かつ前記シルエット画像
の完全に内側(境界を含む)に存在する場合を第2結果とし、前記ボクセル像が前記画像の枠の外にはみ出している場合を第3結果とし、前記第1結果、前記第2結果及び前記第3結果でない場合を第4結果として、前記アドレスに対応する前記判定結果を求める判定部と、
前記判定部により求めた前記判定結果を前記形状処理部に送信する判定結果送信部と、を備え、
前記形状処理部は、
前記画像処理部の前記判定結果送信部から送信された前記判定結果を受信する判定結果受信部と、
前記判定結果受信部により受信された前記判定結果が前記第1結果である場合、前記アドレスに対応する前記ボクセルの全体が前記被写体の前記外部にあると判定し、前記判定結果が前記第2結果である場合、前記ボクセルの全体が前記被写体の前記内部にあると判定し、前記判定結果が前記第3結果または前記第4結果である場合、前記外部及び前記内部の判定不明であると判定し、前記アドレスに対応する前記統合判定結果を求める判定結果統合部と、
前記判定結果統合部により求めた前記アドレスに対応する前記統合判定結果を記録するボクセル記録部と、
前記ボクセル記録部により記録された前記アドレスに対応する前記統合判定結果が、前記外部及び前記内部の判定不明であることを示している場合に、前記アドレスに対応する前記ボクセルを分割し、分割後の前記ボクセルの前記アドレスを前記画像処理部の前記アドレス受信部に送信するアドレス送信部と、
前記所定の終了条件を満たす場合、前記ボクセル記録部に記録された前記アドレスに対応する前記統合判定結果を読み出し、前記形状情報として出力するボクセル出力部と、を備えたことを特徴とする三次元形状計測装置。
【請求項2】
請求項
1に記載の三次元形状計測装置において、
前記画像処理部を複数備え、
前記形状処理部に備えた前記判定結果受信部は、複数の前記画像処理部の前記判定結果送信部から前記判定結果をそれぞれ受信し、
前記形状処理部に備えた前記判定結果統合部は、
前記判定結果受信部により受信された全ての前記判定結果のうち、いずれかの前記判定結果が前記第1結果である第1条件を満たす場合、前記アドレスに対応する前記ボクセルの全体が前記被写体の前記外部にあると判定し、全ての前記判定結果が前記第2結果である第2条件を満たす場合、前記ボクセルの全体が前記被写体の前記内部にあると判定し、前記第1条件及び前記第2条件のいずれも満たさない場合、前記外部及び前記内部の判定不明であると判定し、前記アドレスに対応する前記統合判定結果を求める、ことを特徴とする三次元形状計測装置。
【請求項3】
請求項
2に記載の三次元形状計測装置において、
複数の前記画像処理部によるそれぞれの前記画像処理、または、複数の前記画像処理部によるそれぞれの前記画像処理及び前記形状処理部による前記形状処理を、独立して並列に実行する、ことを特徴とする三次元形状計測装置。
【請求項4】
請求項
1に記載の三次元形状計測装置において、
前記画像処理部による前記画像処理及び前記形状処理部による前記形状処理を、独立して並列に実行する、ことを特徴とする三次元形状計測装置。
【請求項5】
コンピュータを、請求項1から
4までのいずれか一項に記載の三次元形状計測装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から被写体の三次元形状を計測する装置及びプログラムに関する。
【背景技術】
【0002】
従来、被写体の三次元形状を計測する手法として、視体積交差法が知られている。視体積交差法は、複数視点のカメラから撮影された被写体のシルエット(またはマスク)を求め、シルエットを各視点の位置、姿勢及び画角情報に基づいて3次元空間にそれぞれ投影し、投影された3次元空間の部分空間の積集合を求めることで、被写体の三次元形状を計測するものである。
【0003】
また、視体積交差法の別の実装法として、3次元空間内の計測領域内の各点(空間上の点)を各カメラの画像に投影し、当該投影像がシルエットの内部にあるか否かによって、各空間上の点が被写体の内部にあるか否かを判定する手法がある。
【0004】
この手法では、複数視点のうち1視点でも空間上の点の投影像がシルエットの外部にあれば、その空間上の点は被写体の外部にあると判定することができる。一方、複数視点のうち全視点において空間上の点の投影像がシルエットの内部にあれば、その空間上の点は被写体の内部にあると判定することができる。
【0005】
前述した視体積交差法においては、膨大なメモリアクセスが必要となり、処理速度が低下するという問題がある。この問題を解決するために、メモリアクセスの高速化を実現する技術として、キャッシュメモリへのエピポーラ拘束に基づくプリフェッチを行うものが開示されている(例えば特許文献1を参照)。
【0006】
また、視体積交差法においては、被写体に、部分的に観測された不完全なシルエットが含まれる場合、計測形状が欠けてしまうという問題がある。この問題を解決するため、部分領域毎に有効な撮像装置を選別して3次元形状を復元する技術が開示されている(例えば特許文献2を参照)。
【0007】
また、視体積交差法において、被写体のほかに不要な物体が映り込む場合の計測形状を改善する技術が開示されている(例えば特許文献3を参照)。
【0008】
一方で、被写体の三次元形状を、ボクセルの集まりとして表現するボクセルモデルが知られている。ボクセルモデルを用いることにより、少ないメモリ容量で三次元形状を記述することができる。ボクセルモデルとしては、2のべき乗に比例した辺の長さを有する大きさの異なるボクセルの八分木表現を用いるSVO(Sparse Voxel Octree:スパースボクセルオクトリー)モデルがある。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2019-117582号公報
【文献】特許第4839237号公報
【文献】特許第6403862号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述の視体積交差法の演算は、3次元空間内の膨大な標本点において内外判定処理が必要である。このため、演算量及びメモリ帯域共に膨大なものとなる。
【0011】
前述の特許文献1の技術によれば、メモリアクセスの高速化が期待できる。しかし、3次元空間内の標本点を減ずるものではないため、メモリそのものの容量削減には寄与しない。
【0012】
また、前述の特許文献2及び特許文献3の技術は、形状の誤差を削減するものであって、演算量を削減するものではない。
【0013】
前述のとおり、SVOモデルは、三次元形状を表現するモデル化の手法である。SVOモデルは、細かな均等サイズのボクセルを用いる従来のボクセルモデルに比べ、少ないメモリ容量で三次元形状を表現することができる。
【0014】
しかしながら、SVOモデル自体は計測を想定したものではなく、一種のデータ圧縮の手法である。このため、SVOモデルは、三次元形状の表現及び符号化の用途として利用されるに留まり、三次元形状を直接的に取得する技術として利用されることはない。
【0015】
例えば、前述の視体積交差法を用いて三次元形状を計測し、この三次元形状を均等なボクセルモデルで表現し、その後、均等なボクセルモデルをSVOモデルに圧縮することが想定される。これは、SVOモデルで表現した三次元形状を得るために、視体積交差法を用いることを前提としているため、SVOモデルで表現した三次元形状を直接的に計測するものではなく、多くのメモリ容量が必要であり、処理負荷も高い。
【0016】
このため、画像から三次元形状を計測する際に、SVOモデルを直接利用できることが所望されていた。つまり、画像から、SVOモデルで表現した三次元形状を直接計測することができれば、少ないメモリ容量で実現でき、処理負荷を低減できることが期待される。
【0017】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、SVOモデルで表現した三次元形状を、画像から直接計測可能な三次元形状計測装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0018】
前記課題を解決するために、請求項1の三次元形状計測装置は、被写体を含む画像から、SVO(スパースボクセルオクトリー)モデルで表現した前記被写体の三次元形状を計測する三次元形状計測装置において、画像処理部及び形状処理部を備え、前記被写体を含む三次元の計測領域が複数のボクセルにより構成されるものとして、前記画像処理部が、前記形状処理部から前記ボクセルのアドレスを入力し、前記アドレスに対応するボクセル像を生成し、前記被写体のシルエット画像と前記ボクセル像との間の包含関係を判定し、前記アドレスに対応する判定結果を求める画像処理を行い、前記形状処理部が、前記画像処理部により求めた前記判定結果に基づいて、前記ボクセルの全体が前記被写体の外部にあるか、または内部にあるか、または前記外部及び前記内部の判定不明であるかを判定し、統合判定結果を求め、前記統合判定結果が前記外部及び前記内部の判定不明であることを示している場合、前記ボクセルを分割し、分割後の前記ボクセルの前記アドレスを前記画像処理部に出力し、所定の終了条件を満たす場合に、前記統合判定結果を、前記被写体の前記三次元形状に関する形状情報として出力する形状処理を行う場合に、前記画像処理部が、前記形状処理部から前記アドレスを受信するアドレス受信部と、前記アドレス受信部により受信された前記アドレスに対応する前記ボクセルの頂点座標を、所定の演算またはテーブルにて生成する頂点座標生成部と、前記頂点座標生成部により生成された前記頂点座標を、前記画像の座標系に投影し、前記ボクセル像を生成する投影部と、前記シルエット画像と、前記投影部により生成された前記ボクセル像とに基づいて、前記ボクセル像が前記画像の枠内にあり、かつ前記シルエット画像の完全に外側に存在する場合を第1結果とし、前記ボクセル像が前記画像の枠内にあり、かつ前記シルエット画像の完全に内側(境界を含む)に存在する場合を第2結果とし、前記ボクセル像が前記画像の枠の外にはみ出している場合を第3結果とし、前記第1結果、前記第2結果及び前記第3結果でない場合を第4結果として、前記アドレスに対応する前記判定結果を求める判定部と、前記判定部により求めた前記判定結果を前記形状処理部に送信する判定結果送信部と、を備え、前記形状処理部が、前記画像処理部の前記判定結果送信部から送信された前記判定結果を受信する判定結果受信部と、前記判定結果受信部により受信された前記判定結果が前記第1結果である場合、前記アドレスに対応する前記ボクセルの全体が前記被写体の前記外部にあると判定し、前記判定結果が前記第2結果である場合、前記ボクセルの全体が前記被写体の前記内部にあると判定し、前記判定結果が前記第3結果または前記第4結果である場合、前記外部及び前記内部の判定不明であると判定し、前記アドレスに対応する前記統合判定結果を求める判定結果統合部と、前記判定結果統合部により求めた前記アドレスに対応する前記統合判定結果を記録するボクセル記録部と、前記ボクセル記録部により記録された前記アドレスに対応する前記統合判定結果が、前記外部及び前記内部の判定不明であることを示している場合に、前記アドレスに対応する前記ボクセルを分割し、分割後の前記ボクセルの前記アドレスを前記画像処理部の前記アドレス受信部に送信するアドレス送信部と、前記所定の終了条件を満たす場合、前記ボクセル記録部に記録された前記アドレスに対応する前記統合判定結果を読み出し、前記形状情報として出力するボクセル出力部と、を備えたことを特徴とする。
【0019】
請求項1の発明によれば、SVOモデルによる被写体の三次元形状の計測を直接的に実現することができる。このため、被写体の三次元形状における大まかな構造は、大きなボクセルで表現し、大きなボクセルで表現しきれなかった部分の構造は、順次より細かなボクセルに分割して表現することができる。その結果、三次元形状の表現に用いるボクセル数程度の少ないメモリ容量で形状計測が可能となる。また、形状計測にかかる処理量を、被写体の体積の対数に比例するオーダーに抑えることができる。
【0022】
また、請求項2の三次元形状計測装置は、請求項1に記載の三次元形状計測装置において、前記画像処理部を複数備え、前記形状処理部に備えた前記判定結果受信部が、複数の前記画像処理部の前記判定結果送信部から前記判定結果をそれぞれ受信し、前記形状処理部に備えた前記判定結果統合部が、前記判定結果受信部により受信された全ての前記判定結果のうち、いずれかの前記判定結果が前記第1結果である第1条件を満たす場合、前記アドレスに対応する前記ボクセルの全体が前記被写体の前記外部にあると判定し、全ての前記判定結果が前記第2結果である第2条件を満たす場合、前記ボクセルの全体が前記被写体の前記内部にあると判定し、前記第1条件及び前記第2条件のいずれも満たさない場合、前記外部及び前記内部の判定不明であると判定し、前記アドレスに対応する前記統合判定結果を求める、ことを特徴とする。
【0023】
請求項2の発明によれば、複数視点からのカメラにより撮影された撮影画像に基づいて、包含関係を判定する視体積交差が実行され、被写体の三次元形状の精度を高めることができる。
【0024】
さらに、請求項3の三次元形状計測装置は、請求項2に記載の三次元形状計測装置において、複数の前記画像処理部によるそれぞれの前記画像処理、または、複数の前記画像処理部によるそれぞれの前記画像処理及び前記形状処理部による前記形状処理を、独立して並列に実行する、ことを特徴とする。
【0025】
請求項3の発明によれば、処理負荷を分散して処理することができ、演算の高速化が可能となる。個々の画像処理部を小型化することが可能となり、画像処理部をカメラに装着する小型の付加装置として実現し、カメラの内部に組み込むことも可能となる。
【0026】
また、請求項4の三次元形状計測装置は、請求項1に記載の三次元形状計測装置において、前記画像処理部による前記画像処理及び前記形状処理部による前記形状処理を、独立して並列に実行する、ことを特徴とする。
【0027】
請求項4の発明によれば、処理負荷を分散して処理することができ、演算の高速化等が可能となる。
【0028】
さらに、請求項5のプログラムは、コンピュータを、請求項1から4までのいずれか一項に記載の三次元形状計測装置として機能させることを特徴とする。
【発明の効果】
【0029】
以上のように、本発明によれば、SVOモデルで表現した三次元形状を、画像から直接計測することができる。
【図面の簡単な説明】
【0030】
【
図1】本発明の実施形態による三次元形状計測装置の構成例を示すブロック図である。
【
図2】カメラ、被写体及び計測領域の配置例を示す図である。
【
図4】画像処理部の構成例を示すブロック図である。
【
図5】画像処理部の処理例を示すフローチャートである。
【
図7】八分木表現によるボクセル分割を説明する図である。
【
図8】八分木表現によるボクセル配置を説明する図である。
【
図9】ボクセルB(A)及びボクセル像C(A)の例を説明する図である。
【
図10】シルエット画像Sとボクセル像C(A)との間の包含関係及び判定結果J
n(A)の例を説明する図である。
【
図11】形状処理部の構成例を示すブロック図である。
【
図12】形状処理部の処理例を示すフローチャートである。
【
図13】ボクセル記録部に記録されたアドレスA及び統合判定結果P(A)の例を示す図である。
【発明を実施するための形態】
【0031】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔三次元形状計測装置〕
まず、本発明の実施形態による三次元形状計測装置について説明する。
図1は、本発明の実施形態による三次元形状計測装置の構成例を示すブロック図である。
【0032】
この三次元形状計測装置1は、N個の画像処理部10-1,・・・,10-N、形状処理部11及びネットワーク12を備えている。Nは1以上の自然数とし、n番目(n∈{1,・・・,N})の画像処理部を画像処理部10-nとする。
【0033】
画像処理部10-1は、カメラ2-1から、当該カメラ2-1により撮影された被写体を含む撮影画像を入力する。また、画像処理部10-1は、形状処理部11からネットワーク12を介して、ボクセルのアドレスAを受信する。
【0034】
画像処理部10-1は、撮影画像から被写体のシルエット画像Sを生成すると共に、アドレスAに対応するボクセル像C(A)を生成し、これらの包含関係を判定し、アドレスAに対応する判定結果J1(A)を求める。そして、画像処理部10-1は、判定結果J1(A)を、ネットワーク12を介して形状処理部11に送信する。
【0035】
画像処理部10-Nは、カメラ2-Nから撮影画像を入力し、画像処理部10-1と同様の処理を行い、判定結果JN(A)を、ネットワーク12を介して形状処理部11に送信する。N個の画像処理部10-1,・・・,10-Nは、いずれも同一の構成をなし、同一の処理を行う。
【0036】
形状処理部11は、画像処理部10-1,・・・,10-Nに対して被写体の三次元形状を計測するための包含関係を判定させるボクセルのアドレスAを、ネットワーク12を介して画像処理部10-1,・・・,10-Nに送信する。
【0037】
形状処理部11は、画像処理部10-1,・・・,10-Nからネットワーク12を介して、判定結果J1(A),・・・,JN(A)を受信する。そして、形状処理部11は、判定結果J1(A),・・・,JN(A)から、アドレスAに対応するボクセルが被写体の内外のいずれにもないと判定した場合、当該ボクセルを分割する。
【0038】
形状処理部11は、分割後のボクセルのアドレスA’を、ネットワーク12を介して画像処理部10-1,・・・,10-Nに送信する。これにより、画像処理部10-1,・・・,10-Nにて、アドレスA’に対応する判定結果J1(A),・・・,JN(A)が求められ、形状処理部11に送信される。
【0039】
形状処理部11は、所定の終了条件を満足する場合、判定結果J1(A),・・・,JN(A)を被写体の三次元形状に関する形状情報として出力する。
【0040】
N個の画像処理部10-1,・・・,10-Nと形状処理部11とは、ネットワーク12により接続される。ネットワーク12は、N個の画像処理部10-1,・・・,10-Nと形状処理部11との間で情報の送受信を行うための接続手段であり、その形態は問わない。例えばネットワーク12は、星型構成、リング型構成、バス型構成及びこれらの組み合わせを介して、情報の送受信を行うものであってもよい。
【0041】
尚、ネットワーク12の代わりに、共有メモリまたは共有ファイルを介して、N個の画像処理部10-1,・・・,10-Nと形状処理部11とが相互に接続されるものであってもよい。また、ネットワーク12等は、物理的な接続方法は問わず、例えば導線であってもよいし、光(可視光線、不可視光線)、電波または磁気であってもよい。
【0042】
図2は、カメラ2-1,・・・,2-4、被写体及び計測領域の配置例を示す図である。この配置例は、4台のカメラ2-1,・・・,2-4により、予め設定された三次元の計測領域4内部に存在する2つの被写体3-1,3-2の三次元形状を測定する場合の一例を示している。
【0043】
各カメラ2-1,・・・,2-4は、計測領域4内の一部または全体を撮影するものとする。計測領域4の形状及び大きさは如何なるものであっても構わない。例えば計測領域4の形状は、直方体状、球体状または円柱状である。また、計測領域4の大きさ(例えば計測領域4の形状が立方体状の場合における辺Lの長さ)は、顕微鏡等で撮影されるナノメートルオーダーから、宇宙機、惑星、衛星等の運動を利用して撮影される1億キロメートルオーダーまでのサイズである。
【0044】
図3は、
図2に示したカメラ2-1,・・・,2-4により撮影された撮影画像の例を示す図である。(a)は、カメラ2-1により撮影された撮影画像の例を示し、(b)は、カメラ2-2により撮影された撮影画像の例を示し、(c)は、カメラ2-3により撮影された撮影画像の例を示し、(d)は、カメラ2-4により撮影された撮影画像の例を示す。
【0045】
(a)~(d)の撮影画像において、視点によって、被写体3-1,3-2の見た目の形状及び大きさ、被写体3-1,3-2間の重なりの度合いが異なっている。
【0046】
以下、複数のカメラ2-1,・・・,2-Nを用いた三次元形状計測装置1について説明するが、少数のカメラ2-1等を用いた場合にも適用があり、1台のカメラ2-1を用いた場合にも適用がある。例えば、時間を隔てて異なる視点からの撮影が行われ、画像処理部10-1等が、異なる視点からの撮影画像をそれぞれ入力するようにしてもよい。
【0047】
〔画像処理部10〕
次に、
図1の三次元形状計測装置1に備えた画像処理部10-nについて詳細に説明する。
図4は、画像処理部10-nの構成例を示すブロック図であり、
図5は、画像処理部10-nの処理例を示すフローチャートである。
【0048】
この画像処理部10-nは、シルエット生成部20、アドレス受信部21、頂点座標生成部22、投影部23、包含関係判定部24及び判定結果送信部25を備えている。
【0049】
(シルエット生成部20)
シルエット生成部20は、カメラ2-nから、当該カメラ2-nにより撮影された撮影画像を入力する(ステップS501)。そして、シルエット生成部20は、撮影画像から被写体3の領域(被写体領域)を検出することで、被写体3のシルエットを抽出し、被写体3であるか否かを画素位置毎に判定したシルエット画像Sを生成する(ステップS502)。シルエット生成部20は、シルエット画像Sを包含関係判定部24に出力する。
【0050】
例えばシルエット生成部20は、背景差分法、クロマキー法、ルミナンスキー法、動的輪郭モデルによる被写体抽出、人工知能(例えば深層ニューラルネットワーク)による被写体抽出手法等の任意の既存の手法を用いて、シルエット画像Sを生成する。
【0051】
シルエット生成部20は、背景差分法を用いる場合、予め被写体3の存在しない状態の画像を背景画像として取得しておき、背景画像と撮影画像との間の差分の絶対値に基づいて、被写体領域と非被写体領域とを分割する。尚、シルエット生成部20は、予め背景画像を撮影しておくのではなく、時々刻々の撮影映像の時間方向の統計処理(例えば、複数時点の撮影映像における画素位置毎の中央値演算)によって、背景画像を生成してもよい。
【0052】
また、シルエット生成部20は、クロマキー法及びルミナンスキー法を用いる場合、計測領域4に単色(例えば青、緑、黒、白等)の構造物(スクリーンまたは衝立)を背景として設置しておく。そして、シルエット生成部20は、撮影画像の各画素値が所定の色範囲または輝度範囲にあるか否かを判定することで、非被写体領域と被写体領域とを分割する。
【0053】
図6は、
図2におけるシルエット画像Sの例を示す図である。(a)は、カメラ2-1の撮影画像から生成されたシルエット画像Sの例を示し、(b)は、カメラ2-2の撮影画像から生成されたシルエット画像Sの例を示す。(c)は、カメラ2-3の撮影画像から生成されたシルエット画像Sの例を示し、(d)は、カメラ2-4の撮影画像から生成されたシルエット画像Sの例を示す。
【0054】
(a)~(d)のシルエット画像Sにおいて、白は被写体領域を示し、黒は非被写体領域を示す。カメラ2-nに対応する画像処理部10-nにおいて、シルエット画像Sをシルエット画像Snとし、その画像座標(x,y)における画素値をSn(x,y)とする。画素値としては、被写体領域をSn(x,y)=1とし非被写体領域をSn(x,y)=0とする。
【0055】
(SVOモデル)
図1に示した三次元形状計測装置1は、被写体3の三次元形状をSVOモデルによって表現する。SVOモデルとは、辺の長さが2のべき乗に比例するような様々な大きさの複数のボクセルを組み合わせることにより、三次元形状を表現するものである。
【0056】
SVOモデルに用いるボクセルは、直方体であってもよいし、立方体であってもよい。また、ボクセルは、3次元空間(
図2に示した計測領域4)を充填できる3次元形状であれば他のもの(例えば斜方体、正三角柱等)であってもよい。
【0057】
以下、ボクセルを立方体とし、最大のボクセルの大きさを、
図2に示した計測領域4における各辺の長さがLであるものとする。つまり、計測領域4は、最大のボクセルを構成する。SVOモデルにおいては、あるボクセルにて表現できなかった三次元領域を、各辺の長さを半分にしたボクセルによって表現することを再度試みる。
【0058】
図7は、八分木表現によるボクセル分割を説明する図である。八分木表現によるボクセルは、典型的には、各辺(ここでは世界座標XYZの各軸に平行とする)をそれぞれ1/2に分割することで、B0,・・・,B7の8領域に分割される。この8領域のうち、必要な領域についてはさらに8分割されるという操作を繰り返すことにより、三次元形状の精度を高めていく。領域B0,・・・,B7に対応するアドレスは、それぞれ0,・・・,7である。
【0059】
図8は、八分木表現によるボクセル配置を説明する図であり、ボクセル分割を繰り返した例を示している。このようにして分割された各ボクセルに、被写体3の内外を示す数値(例えば、ボクセルが被写体3の内部に存在する場合に値1、ボクセルが被写体3の外部に存在する場合に値0)を設定することで、三次元形状が表現される。つまり、複数のボクセルにより構成される三次元の計測領域4において、当該計測領域4に含まれる被写体3は、例えば値1のボクセルにより、その三次元形状を表現することができる。
【0060】
このとき、大きさの混在したボクセルの中からいずれか1つを、一意に指定及び選択するための情報をアドレスAとする。アドレスAは、例えば可変長の数列によって表現することができ、三次元の計測領域4におけるボクセルの位置及び大きさを示すこととなる。
【0061】
<1個の最大ボクセルを出発点として、分割を繰り返す場合>
例えば、1個の最大ボクセルを出発点として、再帰的に分割を繰り返す場合には、当該1つの最大ボクセルのアドレスAを空数列(A=())で表す。
図2に示した計測領域4は、最大ボクセルであり、このボクセルのアドレスA=()である。
【0062】
この最大ボクセルが8分割された場合には、分割後のボクセルを、その場所に応じて、例えば
図7に示した領域B0~B7に対応する番号1項からなる数列(0)~(7)のアドレスで表す。
【0063】
以下、(・・・,k)(k∈{0,1,2,3,4,5,6,7})のアドレスで表されるボクセルを分割した場合には、分割後のボクセルを、その場所に応じて、例えば
図7に示した領域B0~B7に対応する番号1項を末項に追加した数列(・・・,k,0)~(・・・,k,7)のアドレスで表す。
【0064】
図8の例では、例えば、アドレスA=(2),(7,5),(7,6,4)等で表されるボクセルの位置及び大きさを示している。アドレスA=(2)のボクセルは、アドレスA=()の最大ボクセルが8分割された場合の分割後の1個のボクセルを示している。また、アドレスA=(7,5)は、アドレスA=(7)のボクセルが8分割された場合の分割後の1個のボクセルを示している。また、アドレスA=(7,6,4)のボクセルは、アドレスA=(7,6)のボクセルが8分割された場合の分割後の1個のボクセルを示している。
【0065】
図8の例では、被写体3を含む三次元の計測領域4は、以下の各アドレスで表される計22個のボクセルにより構成されることとなる。
【数1】
【0066】
<M個(Mは自然数)の最大ボクセルを出発点として、分割を繰り返す場合>
また、例えば、M個(Mは自然数)の最大ボクセルを出発点として、再帰的に分割を繰り返す場合には、当該1つの最大ボクセルのアドレスを、その場所に応じて数列(m)(m∈{0,1,・・・,M-1})で表す。
【0067】
この最大ボクセルが8分割された場合には、分割後のボクセルを、その場所に応じて、例えば
図7に示した領域B0~B7に対応する番号1項からなる数列(m,0)~(m,7)のアドレスで表す。
【0068】
以下、(m,・・・,k)(k∈{0,1,2,3,4,5,6,7})のアドレスで表されるボクセルを分割した場合には、分割後のボクセルを、その場所に応じて、例えば
図7に示した領域B0~B7に対応する番号1項を末項に追加した数列(m,・・・,k,0)~(m,・・・,k,7)のアドレスで表す。
【0069】
以下、<1個の最大ボクセルを出発点として、分割を繰り返す場合>のアドレス表記を用いて説明する。
【0070】
(アドレス受信部21)
図4及び
図5に戻って、アドレス受信部21は、形状処理部11からネットワーク12を介して、ボクセルのアドレスAを受信する(ステップS503)。そして、アドレス受信部21は、アドレスAを頂点座標生成部22に出力する。
【0071】
ここで、アドレスAは、前述のとおり数列である。アドレスAにおける数列の項数をKとする(Kは0以上の整数)。また、K=0のときはアドレスA=()とし、K>0のときは、数列の第k項(k∈{1,・・・,K})をakとする。
【0072】
すなわち、アドレスAは、以下の式で表される。
【数2】
【0073】
(頂点座標生成部22)
頂点座標生成部22は、アドレス受信部21からアドレスAを入力し、アドレスAに対応するボクセルの頂点座標V(A)を生成する(ステップS504)。そして、頂点座標生成部22は、頂点座標V(A)を投影部23に出力する。
【0074】
ここでは、最大ボクセルを各辺の長さLの立方体とし、最大ボクセルが計測領域4と一致するものとし、最大ボクセルの8個の頂点座標V(A)は、以下の座標で表される。
【数3】
【0075】
このとき、アドレスAに対応するボクセルの8個の頂点座標V(A)のうち、最も原点O(0,0,0)に近い頂点座標V(A)は、以下の式で表される。
【数4】
【0076】
また、ボクセルの一辺の長さl(A)は、以下の式で表される。
【数5】
【0077】
よって、ボクセルの8個の頂点座標V(A)は、以下の座標で表される。
【数6】
【0078】
ここで、頂点座標生成部22は、アドレスAに対応するボクセルの頂点座標V(A)を、前記式等(4)~(6)の演算にて求めるようにしてもよい。また、前記式等(4)~(6)の演算結果をルックアップテーブル(LUT:Look-Up Table)に予め格納しており、頂点座標生成部22は、アドレスAに対応するボクセルの頂点座標V(A)を、ルックアップテーブルを用いて求めるようにしてもよい。
【0079】
(投影部23)
投影部23は、頂点座標生成部22からボクセルの頂点座標V(A)を入力する。そして、投影部23は、頂点座標V(A)を、カメラ2-nの位置、姿勢及び画角を考慮してカメラ2-nの撮影画像の座標系の平面に投影し、頂点座標V(A)に対応するボクセルB(A)の像(ボクセル像)C(A)を生成する(ステップS505)。投影部23は、ボクセル像C(A)を包含関係判定部24に出力する。
【0080】
図9は、ボクセルB(A)及びボクセル像C(A)の例を説明する図である。
図9に示すように、ボクセルB(A)の頂点座標V(A)がカメラ2-nの画像平面に投影されたときのボクセルB(A)の像が、ボクセル像C(A)として生成される。これにより、カメラ2-nから見たときの多角形状のボクセル像C(A)が得られる。
【0081】
(包含関係判定部24)
図4及び
図5に戻って、包含関係判定部24は、シルエット生成部20からシルエット画像Sを入力すると共に、投影部23からボクセル像C(A)を入力する。そして、包含関係判定部24は、シルエット画像S及びボクセル像C(A)に基づいて、以下の式により、これらの包含関係を判定し、包含関係を示す判定結果J
n(A)を求める(ステップS506)。包含関係判定部24は、判定結果J
n(A)を判定結果送信部25に出力する。
【数7】
【0082】
具体的には、包含関係判定部24は、ボクセル像C(A)が撮影画像の枠(シルエット画像Sを含む全体画像)内に収まっており、かつボクセル像C(A)が全体画像のうちのシルエット画像S以外の画像に含まれる(シルエット画像S内に存在しない)と判定した場合、判定結果Jn(A)=0を設定する。また、包含関係判定部24は、ボクセル像C(A)が全体画像内に収まっており、かつボクセル像C(A)がシルエット画像Sに含まれる(境界を含む、シルエット画像S内に存在する)と判定した場合、判定結果Jn(A)=1を設定する。
【0083】
また、包含関係判定部24は、ボクセル像C(A)が全体画像外にはみ出していると判定した場合、判定結果Jn(A)=2を設定する。また、包含関係判定部24は、判定結果Jn(A)=0,1,2の判定条件を満たさない場合(それ以外の場合)、判定結果Jn(A)=3を設定する。
【0084】
図10は、シルエット画像Sとボクセル像C(A)との間の包含関係及び判定結果J
n(A)の例を説明する図である。(a)は、ボクセル像C(A)が全体画像内に収まっており、かつボクセル像C(A)がシルエット画像Sの完全に外側に存在し、前記式(7)の第1行目の条件を満たすため、判定結果J
n(A)=0である。
【0085】
(b)は、ボクセル像C(A)が全体画像内に収まっており、かつボクセル像C(A)がシルエット画像Sの完全に内側(境界を含む)に存在し、前記式(7)の第2行目の条件を満たすため、判定結果Jn(A)=1である。
【0086】
(c)及び(d)は、ボクセル像C(A)が全体画像からはみ出しており、前記式(7)の第3行目の条件を満たすため、判定結果Jn(A)=2である。
【0087】
(e)及び(f)は、ボクセル像C(A)が全体画像内に収まっているが、ボクセル像C(A)がシルエット画像Sの完全に外側に存在しておらず、また、ボクセル像C(A)がシルエット画像Sの完全に内側に存在しておらず、前記式(7)の第4行目の条件を満たすため、判定結果Jn(A)=3である。
【0088】
(判定結果送信部25)
図4及び
図5に戻って、判定結果送信部25は、包含関係判定部24から判定結果J
n(A)を入力し、判定結果J
n(A)を、ネットワーク12を介して形状処理部11に送信する(ステップS507)。
【0089】
〔形状処理部11〕
次に、
図1の三次元形状計測装置1に備えた形状処理部11について詳細に説明する。
図11は、形状処理部11の構成例を示すブロック図であり、
図12は、形状処理部11の処理例を示すフローチャートである。
【0090】
この形状処理部11は、判定結果受信部30、判定結果統合部31、ボクセル記録部32、ボクセル分割部33、アドレスFIFO(First In First Out:フィーストインファーストアウト)部34、アドレス送信部35及びボクセル出力部36を備えている。
【0091】
(判定結果受信部30)
判定結果受信部30は、画像処理部10-1,・・・,10-Nからネットワーク12を介して、判定結果J1(A),・・・,JN(A)(判定結果Jn(A)(n∈{1,・・・,N}))をそれぞれ受信する(ステップS1201)。判定結果J1(A),・・・,JN(A)は、アドレスAについてのボクセル像C(A)とシルエット画像Sとの間の包含関係を示す結果である。そして、判定結果受信部30は、判定結果J1(A),・・・,JN(A)を判定結果統合部31に出力する。
【0092】
(判定結果統合部31)
判定結果統合部31は、判定結果受信部30から判定結果J
1(A),・・・,J
N(A)を入力し、判定結果J
1(A),・・・,J
N(A)を統合し、以下の式により、統合判定結果P(A)を求める(ステップS1202)。そして、判定結果統合部31は、統合判定結果P(A)をボクセル記録部32に記録する(ステップS1203)。
【数8】
【0093】
具体的には、判定結果統合部31は、判定結果J1(A),・・・,JN(A)のうちのいずれかが0の場合(ボクセル像C(A)が全体画像内に収まっており、かつシルエット画像S内に存在しない場合)、ボクセルB(A)の全体が被写体3の外部に存在するとして、統合判定結果P(A)=0を設定する。
【0094】
また、判定結果統合部31は、判定結果J1(A),・・・,JN(A)のうち、判定結果Jn(A)=2を除く全ての判定結果が1の場合(ボクセル像C(A)が全体画像内に収まっており、かつシルエット画像S内に存在する場合)、ボクセルB(A)の全体が被写体3の内部に存在するとして、統合判定結果P(A)=1を設定する。
【0095】
ボクセルB(A)が被写体3内に存在することを示す統合判定結果P(A)=1は、ボクセル像C(A)が全体画像外にはみ出している判定結果Jn(A)は除外され、除外後の全ての判定結果Jn(A)において、ボクセル像C(A)が全体画像内に収まっている場合に判定される。
【0096】
また、判定結果統合部31は、統合判定結果P(A)=0,1の判定条件を満たさない場合(それ以外の場合)、ボクセルB(A)が被写体3の外部及び内部に存在するかを判定できない(判定不明)として、統合判定結果P(A)=2を設定する。
【0097】
(ボクセル記録部32)
ボクセル記録部32は、アドレスAに紐づけて統合判定結果P(A)が記録されるメモリである。記録の形式としては、例えば、木構造を用いることができる。
【0098】
図13は、ボクセル記録部32に記録されたアドレスA及び統合判定結果P(A)の例を示す図であり、八分木表現によるボクセルの形状情報の例を示している。四角はボクセルを示し、その中の数値は統合判定結果P(A)=0,1,2を示す。
【0099】
また、統合判定結果P(A)=2(判定不明)のボクセルが再帰的に8分割されている。統合判定結果P(A)=2(判定不明)のボクセルは、後述するボクセル分割部33により8分割される。
【0100】
(ボクセル分割部33)
図11及び
図12に戻って、ボクセル分割部33は、ボクセル記録部32に八分木表現で記録された末端(外側)のボクセルの統合判定結果P(A)のうち、統合判定結果P(A)=2のボクセルが有るか否かを判定する(ステップS1204)。
【0101】
ボクセル分割部33は、ステップS1204において、末端のボクセルの統合判定結果P(A)=2が有ると判定した場合(ステップS1204:Y)、全ての統合判定結果P(A)=2のボクセルについて、当該ボクセルを8分割する。
【0102】
ボクセル分割部33は、統合判定結果P(A)=2のボクセル毎に、以下の式により、アドレスAから、8分割したボクセルのアドレスA’
0,・・・,A’
7を生成する(ステップS1205)。ボクセル分割部33は、8つのアドレスA’
0,・・・,A’
7をアドレスFIFO部34に記憶する(ステップS1206)。
【数9】
(A,k)は、アドレスAの数列の後ろに(末項として)、数値kの項を追加する操作を示す。
【0103】
図13を参照して、例えばアドレスA=(6,4)のボクセルが末端のボクセルであるとした場合、ボクセル分割部33は、末端のボクセルの統合判定結果P(A=(6,4))=2が有ると判定する。そして、ボクセル分割部33は、アドレスA(6,4)のボクセルを8分割し、8分割したボクセルのアドレスA’
0=(6,4,0),・・・,A’
7==(6,4,7)を生成する。
【0104】
(アドレスFIFO部34)
図11及び
図12に戻って、アドレスFIFO部34は、ファーストインファーストアウトのメモリであり、ボクセル分割部33によりアドレスA’
0,・・・,A’
7が記憶される。後述するアドレス送信部35によりアドレスFIFO部34からアドレスA’が読み出された場合、アドレスFIFO部34は、当該アドレスA’の情報を消去する。
【0105】
尚、ここでは、アドレスFIFO部34はファーストインファーストアウトのメモリであるとしたが、スタック(ファーストインラストアウト)のメモリであるとしてもよい。また、アドレスFIFO部34は、メモリであって、入力して記憶されたアドレスA’0,・・・,A’7を、最終的に全て読み出して空にするように動作するメモリであれば、その入出力の順序は問わない。
【0106】
(アドレス送信部35)
アドレス送信部35は、アドレスFIFO部34に記憶されたアドレスA’を読み出し、アドレスA’を、ネットワーク12を介して画像処理部10-1,・・・,10-Nに送信し(ステップS1207)、ステップS1201へ移行する。このアドレスA’は、
図4に示した画像処理部10-nの構成において、アドレスAに相当する。
【0107】
例えば、アドレス送信部35は、アドレスA’0を画像処理部10-1,・・・,10-Nに送信した後、判定結果受信部30がアドレスA’0に対応する判定結果J1(A’0),・・・,JN(A’0)を受信したとする。そうすると、アドレス送信部35は、アドレスFIFO部34に記憶された次のアドレスA’1を読み出し、アドレスA’1を画像処理部10-1,・・・,10-Nに送信する。
【0108】
このように、
図12に示したステップS1201~S1207の処理が繰り返されることで、被写体3内外の判定不可能であったボクセルB(A)についてのみ、再帰的に分割が行われる。そして、分割されたボクセルB(A)についての被写体3内外の判定を確定させながら、計測された三次元形状の精度が向上することとなる。
【0109】
(ボクセル出力部36)
ボクセル出力部36は、ボクセル分割部33と同様に、ステップS1204において、ボクセル記録部32に八分木表現で記録された末端のボクセルの統合判定結果P(A)のうち、統合判定結果P(A)=2のボクセルが有るか否かを判定する。
【0110】
ボクセル出力部36は、末端のボクセルの統合判定結果P(A)=2がないと判定した場合(ステップS1204:N)、ステップS1201~S1207の繰り返し処理を終了する。そして、ボクセル出力部36は、ボクセル記録部32に記録された全てのアドレスAに紐づいた統合判定結果P(A)を読み出し、これを形状情報(八分木表現で記録されたボクセル情報)として外部へ出力する(ステップS1208)。
【0111】
これにより、形状情報に含まれるアドレスAから、ボクセルの位置及び大きさを判断することができ、統合判定結果P(A)から、ボクセルが被写体3の内部にあるのか、または外部にあるのかを判断することができる。
【0112】
尚、ボクセル出力部36は、所定の終了条件を満たす場合に、ステップS1208の処理を行うようにしてもよい。例えば、ボクセル出力部36は、末端のボクセルの統合判定結果P(A)=2がある場合であっても(ボクセル記録部32において、ボクセルB(A)が被写体3の内外のいずれにもなく判定不可能である場合であっても)、ある既定のボクセルの大きさまで(分割を繰り返して)処理を終えた場合に、終了条件を満たすとして、ステップS1208の処理を行う。
【0113】
この場合、ボクセル出力部36は、被写体3内外の判定不可能なボクセルB(A)については(統合判定結果P(A)=2)、判定不可能であり内外不明として扱ってもよい。また、ボクセル出力部36は、統合判定結果P(A)=2のボクセルB(A)を統合判定結果P(A)=1のボクセルB(A)に変更し、被写体3内に存在するボクセルB(A)として扱ってもよい。また、ボクセル出力部36は、統合判定結果P(A)=2のボクセルB(A)を統合判定結果P(A)=0のボクセルB(A)に変更し、被写体3外に存在するボクセルB(A)として扱ってもよい。
【0114】
以上のように、本発明の実施形態による三次元形状計測装置1によれば、画像処理部10-1,・・・,10-Nのそれぞれは、対応するカメラ2-1,・・・,2-Nにより撮影された撮影画像から被写体3のシルエット画像Sを生成し、形状処理部11から受信したアドレスAから頂点座標V(A)を求め、撮影画像の座標系に投影してボクセル像C(A)を生成する。
【0115】
画像処理部10-1,・・・,10-Nのそれぞれは、シルエット画像S及びボクセル像C(A)の包含関係を判定し、対応する判定結果J1(A),・・・,JN(A)を求めて形状処理部11に送信する。
【0116】
形状処理部11は、画像処理部10-1,・・・,10-Nから受信した判定結果J1(A),・・・,JN(A)を統合し、統合判定結果P(A)を求めてボクセル記録部32に記録する。そして、形状処理部11は、被写体3内外の判定不可能を示すボクセルについて8分割し、8分割したボクセルの8つのアドレスA’をアドレスFIFO部34に記憶し、アドレスFIFO部34に記憶されたアドレスA’を画像処理部10-1,・・・,10-Nに送信する。
【0117】
形状処理部11は、このような処理を繰り返すことで、ボクセルB(A)についての被写体3内外の判定不可能であったボクセルB(A)についてのみ、再帰的に分割を行い、被写体3内外の判定を確定させる。
【0118】
また、形状処理部11は、ボクセル記録部32に八分木表現で記録された末端のボクセルについて統合判定結果P(A)=2がないと判定する等の所定の終了条件を満たす場合、ボクセル記録部32に記録された全てのアドレスAに紐づいた統合判定結果P(A)を読み出し、これを形状情報として外部へ出力する。
【0119】
これにより、SVOモデルで表現した被写体3の三次元形状を、撮影画像から直接計測することができる。このため、被写体3の三次元形状の大まかな構造は、大きなボクセルで表現し、大きなボクセルで表現しきれなかった部分の構造は、より細かなボクセルに順次分割して表現することができる。その結果、被写体3の三次元形状の表現に用いるボクセル数程度の少ないメモリ容量で、三次元形状の計測が可能となる。また、計測にかかる処理量は、被写体3の体積の対数に比例するオーダーに抑えることができる。つまり、メモリ容量及び処理負荷の低減を実現することができる。
【0120】
尚、画像処理部10-1,・・・,10-NにおけるNは2以上(N≧2)であることが好ましい。すなわち、三次元形状計測装置1は、2以上の所定数の画像処理部10-1,・・・,10-Nを備えることが好ましい。これにより、複数の包含関係判定部24による包含関係を判定するための視体積交差の処理が実行されることで、形状処理部11のボクセル出力部36により出力される形状情報の精度、すなわち被写体3の三次元形状の精度を高めることができる。
【0121】
この場合、画像処理部10-1,・・・,10-Nは、それぞれ別の処理装置(画像処理装置)として独立して並列実行するようにしてもよい。それぞれの処理装置は、例えば、CPU(Central Processing Unit:中央処理装置)、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)、FPGA(Field Programmable Gate Array:フィールドプログラマブルゲートアレイ)に実装された論理及び順序回路、GPU(Graphics Processing Unit:画像処理装置)等、これらを組み合わせて製作されたコンピュータである。
【0122】
また、形状処理部11は、画像処理部10-1,・・・,10-Nとは異なる処理装置(形状処理装置)で分担し、画像処理部10-1,・・・,10-N及び形状処理部11は、それぞれ別の処理装置として独立して並列実行するようにしてもよい。
【0123】
三次元形状計測システムを構成するそれぞれの処理装置の画像処理部10-1,・・・,10-N、または画像処理部10-1,・・・,10-N及び形状処理部11が独立して並列に実行することで、処理負荷を分散することができ、高速化が可能となる。また、個々の処理装置を小型化することができ、画像処理部10-1,・・・,10-Nをカメラ2-1,・・・,2-Nにそれぞれ装着する小型の付加装置として実現し、カメラ2-1,・・・,2-Nの内部に組み込むこともできる。
【0124】
また、カメラ2を増設する場合、当該カメラ2に対応する画像処理部10をネットワーク12に接続するだけで対応でき、簡便である。さらに、例えば、一部のカメラ2または画像処理部10が故障した場合または取り外した場合にも、当該画像処理部10のみをネットワーク12から切断するだけで対応でき、簡便である。
【0125】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0126】
例えば、
図4に示した画像処理部10-nは、シルエット生成部20を備えているが、シルエット生成部20を備えていなくてもよい。この場合、画像処理部10-nの包含関係判定部24は、カメラ2-nにより撮影された被写体3のシルエット画像Sを直接入力する。
【0127】
尚、本発明の実施形態による三次元形状計測装置1のハードウェア構成としては、通常のコンピュータを使用することができる。三次元形状計測装置1は、CPU(またはASIC、FPGA、GPU等)、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0128】
三次元形状計測装置1に備えた画像処理部10-1,・・・,10-N及び形状処理部11の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0129】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0130】
1 三次元形状計測装置
2 カメラ
3 被写体
4 計測領域
10 画像処理部
11 形状処理部
12 ネットワーク
20 シルエット生成部
21 アドレス受信部
22 頂点座標生成部
23 投影部
24 包含関係判定部
25 判定結果送信部
30 判定結果受信部
31 判定結果統合部
32 ボクセル記録部
33 ボクセル分割部
34 アドレスFIFO(First In First Out)部
35 アドレス送信部
36 ボクセル出力部
A,A’ アドレス
J(A) 判定結果
S シルエット画像
V(A) 頂点座標
B(A) ボクセル
C(A) ボクセル像
P(A) 統合判定結果