特許第6238521号(P6238521)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノン株式会社の特許一覧

<>
  • 特許6238521-3次元計測装置およびその制御方法 図000002
  • 特許6238521-3次元計測装置およびその制御方法 図000003
  • 特許6238521-3次元計測装置およびその制御方法 図000004
  • 特許6238521-3次元計測装置およびその制御方法 図000005
  • 特許6238521-3次元計測装置およびその制御方法 図000006
  • 特許6238521-3次元計測装置およびその制御方法 図000007
  • 特許6238521-3次元計測装置およびその制御方法 図000008
  • 特許6238521-3次元計測装置およびその制御方法 図000009
  • 特許6238521-3次元計測装置およびその制御方法 図000010
  • 特許6238521-3次元計測装置およびその制御方法 図000011
  • 特許6238521-3次元計測装置およびその制御方法 図000012
  • 特許6238521-3次元計測装置およびその制御方法 図000013
  • 特許6238521-3次元計測装置およびその制御方法 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6238521
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】3次元計測装置およびその制御方法
(51)【国際特許分類】
   G01B 11/25 20060101AFI20171120BHJP
【FI】
   G01B11/25 H
【請求項の数】17
【全頁数】19
(21)【出願番号】特願2012-277438(P2012-277438)
(22)【出願日】2012年12月19日
(65)【公開番号】特開2014-119442(P2014-119442A)
(43)【公開日】2014年6月30日
【審査請求日】2015年12月21日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】▲高▼林 志幾
(72)【発明者】
【氏名】吉川 博志
【審査官】 眞岩 久恵
(56)【参考文献】
【文献】 特開2008−002995(JP,A)
【文献】 特開2010−091377(JP,A)
【文献】 特開2010−041436(JP,A)
【文献】 特開平09−280818(JP,A)
【文献】 特開2008−185582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00 −11/30
G01C 3/00 − 3/32
H04N 5/222− 5/257
G01B 9/00 − 9/10
(57)【特許請求の範囲】
【請求項1】
測定対象物の3次元形状を計測する3次元計測装置であって、
投影手段によって前記測定対象物の形状を測定するためのパターンが投影された前記測定対象物を撮像手段により撮像した画像を取得する第1の取得手段と、
前記撮像手段の撮像素子に入射する光量に応じて変動するノイズを表すノイズ情報を導出する導出手段と、
前記ノイズ情報に基づいて、前記測定対象物の3次元形状の計測の信頼度を表す信頼度情報を求める信頼度算出手段と、
前記撮像手段によって撮像された画像に基づいて、前記測定対象物の3次元形状を取得する第2の取得手段と、
前記第2の取得手段で取得した前記3次元形状を表す情報と、前記信頼度算出手段が算出した前記信頼度情報とを出力する出力手段とを有し、
前記導出手段は、前記撮像手段によって撮影された前記測定対象物によるノイズ情報を導出する測定対象物ノイズ導出手段を含み、
当該測定対象物ノイズ導出手段は、
前記第1の取得手段で取得した画像において、明部と暗部の並ぶ第1の方向に連続し且つ前記第1の方向に直交する第2の方向に隣接する画素対で表される、平面状の所定領域における各画素対の輝度差分の分散を求め、当該分散から前記撮像素子に由来するノイズを減じた結果を、前記測定対象物に起因するノイズとして導出する
ことを特徴とする3次元計測装置。
【請求項2】
前記導出手段は、前記撮像手段の撮像条件のノイズ情報を導出することを特徴とする請求項1に記載の3次元計測装置。
【請求項3】
前記導出手段は、前記撮像手段の撮像素子に入射する光量に応じて変動するノイズとして、ショットノイズを導出することを特徴とする請求項1又は2に記載の3次元計測装置。
【請求項4】
前記信頼度算出手段は前記導出したノイズ情報に加えて、更に、前記撮像手段の撮像素子に入射する光量に応じて変動しないノイズに基づいて前記信頼度情報を算出することを特徴とする請求項1乃至のいずれか1項に記載の3次元計測装置。
【請求項5】
前記撮像手段の撮像素子に入射する光量に応じて変動しないノイズは、撮像手段の暗電流ノイズ、固定パターンノイズが含まれることを特徴とする請求項4に記載の3次元計測装置。
【請求項6】
前記導出手段は、更に、カメラの暗電流ノイズ、読み出しノイズ、固定パターンノイズを導出することを特徴とする請求項2に記載の3次元計測装置。
【請求項7】
更に、3次元計測を行う前に前記撮像手段の撮像条件によるノイズモデルを実験により取得する手段を有し、当該取得したノイズモデルを前記導出手段に保持することを特徴とする請求項2又はに記載の3次元計測装置。
【請求項8】
更に、前記撮像手段の撮像条件によるノイズモデルを手動設定する手段を有し、手動設定したノイズモデルを前記導出手段に保持することを特徴とする請求項2又はに記載の3次元計測装置。
【請求項9】
前記導出手段は、前記測定対象物の形状の特徴を取得して前記測定対象物の平面領域を抽出し、前記平面領域を前記平面状の所定領域に設定する手段を有することを特徴とする請求項に記載の3次元計測装置。
【請求項10】
前記導出手段は、予め前記測定対象物のCADデータを有し、前記CADデータを用いて前記測定対象物の平面領域を抽出し、前記平面状の所定領域に設定する手段を有することを特徴とする請求項に記載の3次元計測装置。
【請求項11】
前記導出手段は、均一光を投射して撮像した画像に対し、ユーザの指示に応じて前記平面状の所定領域を設定する手段を有することを特徴とする請求項に記載の3次元計測装置。
【請求項12】
前記3次元形状の計測は空間符号化法を用いて、前記信頼度を所定領域の前記パターンの明部と暗部の境界位置の推定誤差とする際に、前記導出手段は境界位置の輝度情報に基づき前記ノイズ情報を算出し、前記信頼度算出手段は前記ノイズ情報を用いて信頼度を算出することを特徴とする請求項2に記載の3次元計測装置。
【請求項13】
前記3次元形状の計測は位相シフト法を用いて、前記信頼度を所定領域の計測点に対する前記パターンの投影枚数分の輝度情報に基づく所定の関数とする際に、前記導出手段は前記輝度情報に基づきノイズ情報を算出し、前記信頼度算出手段は前記ノイズ情報を用いて信頼度を算出することを特徴とすることを請求項2に記載の3次元計測装置。
【請求項14】
前記3次元形状の計測はマルチスリット法もしくはワンショット計測法を用いて、前記信頼度を所定領域のパターンの明部の重心位置の推定誤差とする際に、前記導出手段は重心位置の輝度情報に基づきノイズ情報を算出し、前記信頼度算出手段は前記ノイズ情報を用いて信頼度を算出することを特徴とする請求項2記載の3次元計測装置。
【請求項15】
前記投影手段及び前記撮像手段を有することを特徴とする請求項1乃至10のいずれか1項に記載の3次元計測装置。
【請求項16】
測定対象物の3次元形状を計測する3次元計測装置の制御方法であって、
第1取得手段が、投影手段によって前記測定対象物の形状を測定するためのパターンが投影された前記測定対象物を撮像手段により撮像した画像を取得する第1の取得工程と、
導出手段が、前記撮像手段の撮像素子に入射する光量に応じて変動するノイズを表すノイズ情報を導出する導出工程と、
信頼度算出手段が、前記ノイズ情報に基づいて、前記測定対象物の3次元形状の計測の信頼度を求める信頼度算出工程と、
第2の取得手段が、前記撮像手段によって撮像された画像に基づいて、前記測定対象物の3次元形状を取得する第2の取得工程と、
出力手段が、前記3次元形状を表す情報と前記信頼度情報を出力する出力工程とを有し、
前記導出工程は、前記撮像手段によって撮影された前記測定対象物によるノイズ情報を導出する測定対象物ノイズ導出工程を含み、
当該測定対象物ノイズ導出工程は、
前記第1の取得工程で取得した画像において、明部と暗部の並ぶ第1の方向に連続し且つ前記第1の方向に直交する第2の方向に隣接する画素対で表される、平面状の所定領域における各画素対の輝度差分の分散を求め、当該分散から前記撮像素子に由来するノイズを減じた結果を、前記測定対象物に起因するノイズとして導出する
ことを特徴とする3次元計測装置の制御方法。
【請求項17】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至15のいずれか1項に記載の3次元計測装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本提案は、被写体の表面形状を測定する3次元計測技術に関するものである。
【背景技術】
【0002】
被写体に複数種類のパターン光を投影して、各パターン光の投影毎に被写体を撮像することで、パターンの変形から三角測量の原理を用いて形状測定を行うパターン投影法が知られている。その一例として空間符号化法を用いて、その計測方法および信頼度の概念について、以下に説明する。
【0003】
図11を参照して、一般的な3次元形状を測定する装置の構成および3次元計測の概念を説明する。3次元計測装置は、被写体(測定対象物体)110にパターン光を照射するプロジェクタ102、被写体110からの反射パターンを撮像するカメラ103から構成されるのが一般的である。プロジェクタ102から被写体110に向けて明部と暗部が任意の幅で交互に配置された縞パターン光を投射する。縞パターン光には、予め決められた複数のパターン形状があり、それらを投影し、その度にカメラ103により撮像して画像データとして取得する。被写体110の明部と暗部の境界位置を(X,Y,Z)とする。境界位置(X,Y,Z)と、プロジェクタ102の主点を直線で結んだ時のプロジェクタ102の表示素子面との交点位置を(X1,Y1)とする。同様に、境界位置(X,Y,Z)とカメラ103の主点を直線で結んだ時のカメラ103のセンサ面との交点位置を(X2,Y2)とする。ここで、カメラ103のセンサ面の交点位置(X2,Y2)は、カメラ103の撮像センサ(CCDやCMOSなど)の水平座標によって求まる点である。水平座標とは撮像センサの水平幅と垂直幅によって決まり、例えば640×480の撮像センサであれば、水平方向のx座標は0から640、垂直方向のy座標は0から480の値を有する。同様にプロジェクタ102の表示素子面の交点位置(X1,Y1)も投光センサの水平座標によって求まる。また、プロジェクタ102とカメラ103との間の距離Lは基線長となり、装置の構成条件から定められる値である。これらのパラメータから三角測量の原理によって被写体110の境界位置(X,Y,Z)を求めることができる。被写体110の全面に対してそれぞれの境界位置(X,Y,Z)を求めることで、被写体110の3次元形状を測定することができる。
【0004】
次に縞パターン光の形状について説明する。図12を参照して、符号化誤り耐性のあるグレイコードと呼ばれる2進符号の縞パターン光を説明する。撮像された反射パターンで黒く観察された部分は0、白く観察された部分は1に対応する。図12(a)では全体を2分割し、2つの領域で1、0と符号化する。図12(b)では明部と暗部の4つの領域を1、0、0、1と符号化し、対応する縞パターン光を照射および撮像する。さらに図12(c)では8つの領域を1、0、0、1、1、0、0、1と符号化し、対応する縞パターン光を照射および撮像する。この3種類の縞パターンを順番に照射したとき、個々の領域は3ビットで表わせる。すなわち、各領域は(1,1,1)、(1,1,0)、(1,0,0)、(1,0,1)、(0,0,1)、(0,0,0)、(0,1,0)、(0,1,1)として判断できる。このようにして3枚の縞パターン光を使い、空間を8分割することができるため、この空間符号化を3ビットの空間符号化と称する。そして、図12(a)、図12(b)、図12(c)の縞パターン光をそれぞれ1ビットの縞パターン光、2ビットの縞パターン光、3ビットの縞パターン光と称する。
【0005】
さらに詳細に3次元計測を行う場合には、明部と暗部の領域を順次縮小しながらn枚の縞パターン光を照射する。そしてプロジェクタの照射領域を2に分割した領域番号を付与することにより、各領域を判断できる。例えば、領域を1024分割する3次元計測においては10ビットの空間符号化が行われる。
【0006】
グレイコードの利点は、縞パターン光のずれやぼけなどで領域境界に符号化の誤りが発生しても、隣接領域と判断されるだけで、大きくずれた領域として符号化誤りを生じないことである。そのためグレイコードによる空間符号化は一般に用いられている方法である。
【0007】
空間符号化法による3次元計測で精度を向上させるには、撮像した画像データから明部と暗部の境界の水平座標位置x(以下、「境界位置」と称する)を決定する必要がある。図13(a),(b)を参照して、明部と暗部の境界位置について説明する。図13(a)は2ビットの縞パターン光を撮像した画像データの輝度を縦軸に、水平座標xを横軸にとった時のグラフである。同図の下部は理想的な境界位置を示している。同図では、明部と暗部の輝度値が境界において1,0で異なるため、明部と暗部の境界位置が一意に決まり、位置aおよび位置bが境界位置と決定できる。しかし実際の計測では、縞パターン光のボケ、被写体の反射率、外光の影響などにより、カメラ103で実際に撮像される画像では、図13(b)に示されるように境界近傍はなだらかな変化となり、境界位置を一意に決めることができず、計測誤差を生じさせる。
【0008】
こうした問題を回避するため、計測精度を示す信頼度を計測点に付与し、その信頼度が閾値以下であれば、その計測座標は使用しない方法が開示されている(例えば、特許文献1参照)。
【0009】
特許文献1では、縞パターン光のほかに、全面明部である全点灯光と、全面暗部である全消灯光とを被写体に照射する。そして全点灯光による輝度の上限値と全消灯光の輝度の下限値を求め、輝度の上限値と下限値を用いコントラストを算出し、信頼度にしている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特許第3996560号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献1に開示された技術では、縞パターン光のコントラストを信頼度にしているが、その際に3次元計測のノイズによる輝度の影響を考慮していない。現実には3次元計測にはカメラ、被写体、プロジェクタ、環境光などによる不確定性のあるノイズが含まれる(以降、これらを3次元計測におけるノイズ情報と呼ぶ)。しかるに、特許文献1で求めるコントラストによる信頼度には3次元計測におけるノイズ情報が含まれないため、信頼度は不正確な値となる。
【0012】
本発明は係る点に鑑みなされたものである。そして、本明細書では、3次元計測におけるノイズ情報をも考慮して、より信頼度の高い計測を行える技術を提供する。
【課題を解決するための手段】
【0013】
この課題を解決するため、例えば本発明の3次元計測装置は以下の構成を備える。すなわち、
測定対象物の3次元形状を計測する3次元計測装置であって、
投影手段によって前記測定対象物の形状を測定するためのパターンが投影された前記測定対象物を撮像手段により撮像した画像を取得する第1の取得手段と、
前記撮像手段の撮像素子に入射する光量に応じて変動するノイズを表すノイズ情報を導出する導出手段と、
前記ノイズ情報に基づいて、前記測定対象物の3次元形状の計測の信頼度を表す信頼度情報を求める信頼度算出手段と、
前記撮像手段によって撮像された画像に基づいて、前記測定対象物の3次元形状を取得する第2の取得手段と、
前記第2の取得手段で取得した前記3次元形状を表す情報と、前記信頼度算出手段が算出した前記信頼度情報とを出力する出力手段とを有し、
前記導出手段は、前記撮像手段によって撮影された前記測定対象物によるノイズ情報を導出する測定対象物ノイズ導出手段を含み、
当該測定対象物ノイズ導出手段は、
前記第1の取得手段で取得した画像において、明部と暗部の並ぶ第1の方向に連続し且つ前記第1の方向に直交する第2の方向に隣接する画素対で表される、平面状の所定領域における各画素対の輝度差分の分散を求め、当該分散から前記撮像素子に由来するノイズを減じた結果を、前記測定対象物に起因するノイズとして導出することを特徴とする
【発明の効果】
【0014】
本明細書によれば、3次元計測におけるノイズ情報をも考慮して、より信頼度の高い計測を行えるようになる。
【図面の簡単な説明】
【0015】
図1】実施形態における3次元計測装置の基本構成概略図。
図2】カメラノイズ計算部でのノイズ計算の方法を示す図。
図3】カメラノイズ計算部におけるノイズ計測処理のフローチャート。
図4】被写体ノイズ計算部でのノイズ計算の方法を説明するための図。
図5】被写体ノイズ計算部で計算領域の取得方法を説明するための図。
図6】第1の実施形態に係る信頼度算出を説明するための図。
図7】第1の実施形態に係る均一光を用いる場合の原理を説明するための図。
図8】第2の実施形態に係る信頼度算出を説明するための図。
図9】第3の実施形態に係る信頼度算出を説明するための図。
図10】第4の実施形態に係る信頼度算出を説明するための図。
図11】3次元計測装置の構成および計測方法の概念図
図12】グレイコードによる空間符号化法の投影する縞パターン光を示す図。
図13】境界位置の説明するための図。
【発明を実施するための形態】
【0016】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0017】
[第1の実施形態]
本第1の実施形態では、縞パターンを投影撮像して3次元計測を行う手法の一つである空間符号化法における信頼度算出方法について説明する。
【0018】
本第1の実施形態に係る3次元計測装置の基本構成概略図を図1に示す。3次元計測装置は、縞パターン光を測定対象物(以下、単に被写体という)110に投影するプロジェクタ102と、縞パターン光が投影された被写体110の反射パターン光を撮像するカメラ103と、種々の演算を実行する計算処理部100を備える。計算処理部100は、縞パターン光の投影や撮像を指示し、撮像された画像データを計算処理し、3次元計測情報を出力する。
【0019】
計算処理部100は、パターンメモリ101と、画像メモリ104と、ノイズ情報部105と、輝度値算出部106と、信頼度算出部107と、計測処理部108とを備える。パターンメモリ101はROM等で構成されており、縞パターン光の元になるパターンデータを生成するパターン形状プログラム、投影時間を設定するタイムアカウントプログラムなどを格納する。パターンメモリ101は生成された縞パターン光形状信号をプロジェクタ102に送信する。またタイムアカウント信号がプロジェクタ102およびカメラ103に送信され、縞パターン光の投影および撮像のタイミングが管理される。
【0020】
カメラ103により撮像された画像は、画像メモリ104に一時的に格納され、順次輝度値算出部106に送信される。輝度値算出部106に送信された画像は、それぞれの画素の輝度情報(輝度値)によるデータ化がおこなわれる。輝度値で表わされる画像データは信頼度算出部107に送信される。
【0021】
ノイズ情報部105は3次元計測におけるノイズ情報を導出する導出手段として機能するものであって、具体的には、ノイズ情報の保持もしくは算出を行う。3次元計測におけるノイズ情報とは、カメラ、被写体、プロジェクタ、環境光などによる不確定性のあるノイズのことである。ノイズ情報部105は、カメラ103のノイズ情報を計算するカメラノイズ計算部111を有する。また、ノイズ情報部105は、被写体によるノイズを計算する被写体ノイズ計算部112、更には、その他として考えられるプロジェクタ102や環境光によるノイズを計算する投射兼環境ノイズ計算部113を有する。各ノイズ計算部はノイズ情報の取得方法や、そのために付随するさまざまな処理の方法を有する。また各ノイズ計算部の情報は必要に応じてノイズ情報部105内で応答しあい、ノイズ計算することもある。たとえば、被写体ノイズ計算部112では、カメラノイズ計算部111からカメラノイズを取得し、被写体ノイズを求める。各ノイズ情報部によるノイズの計算方法は後述する。ノイズ情報は、信頼度算出時に信頼度算出部107に送信される。
【0022】
信頼度算出部107は、送信された画像データと、ノイズ情報に基づき計測点の信頼度を算出する処理を行う。信頼度を算出する方法は後述する。画像データおよび計測点の信頼度は計測処理部108に送信される。
【0023】
計測処理部108は画像データから3次元位置情報を算出する。計測処理部108は、プロジェクタ102とカメラ103の基線長、焦点距離、画素数等の機器に依存するパラメータ、予め行うキャリブレーションによるディストーション、外光輝度などの外部パラメータ等を格納する。また三角測量による3次元計測処理プログラムも格納する。計測処理部108は画像データ中の計測点に対して、プロジェクタ102の画素とカメラ103の画素との対応関係をとり、三角測量の原理によって3次元計測処理を行う。計測結果は距離画像データ(画素単位に距離情報を格納する画像)として生成される。距離情報には信頼度を付与する事ができる。距離画像データは表示部109で距離画像として観察することができる。
【0024】
次に図2を参照して、カメラノイズによる問題点およびカメラノイズ計算部111でのノイズ計算の方法について説明する。
【0025】
まず図2(a)、(b)、(c)を用いてカメラノイズによる問題点を説明する。
【0026】
図2(a)は投影する縞パターン光を示す。縞パターン光21は3bitのグレイコードによる空間符号化の縞パターン光で、ポジティブパターンと称する。縞パターン光22は縞パターン光21の明部と暗部を反転させた逆縞パターン光であり、ネガティブパターンと称する。本図では、一例として3bitの縞パターン光のポジティブ/ネガティブパターンを示す。しかし、実際の空間符号化法による計測では、プロジェクタの解像度に応じて、例えば1bitから10bitまでの縞パターン光のポジティブ/ネガティブパターンを投影し、それぞれ撮影してもよい。つまり、10bitの計測であれば、撮影枚数は20枚必要となる。
【0027】
図2(b)を用いて境界位置を決定する方法を説明する。図2(b)は撮像した画像データの輝度を縦軸に、水平ピクセル座標を横軸にとったグラフである。縞パターン光21の反射パターン光を撮像した画像データの輝度が輝度曲線23で、縞パターン光22の反射パターン光を撮像した画像データの輝度が輝度曲線24である。輝度曲線23と輝度曲線24の水平ピクセル座標の相対位置は同じとする。水平ピクセル座標は画素幅分だけ広がりをもっており、図の軸ではs−1番目、s番目、s+1番目、s+2番目の画素が表記されている。輝度曲線23上の点25、点26はそれぞれs番目、s+1番目の画素の輝度値で、輝度曲線24上の点27、点28もそれぞれs番目、s+1番目の画素の輝度値である。そして点25と点26、点27と点28をそれぞれ直線で結び、線分200と線分201との交点29が境界位置である。前述のとおり、水平ピクセル座標は画素幅分だけ広がりをもつため、交点29の位置は、s番とs+1番の間のサブピクセル値をもつ。
【0028】
図2(c)はノイズが発生したことによる誤差を概念的に示す。輝度曲線23上の点25、点26および輝度曲線24上の点27、点28にカメラノイズによる矢印で示す大きさの輝度誤差202が生じる。輝度誤差202によって、点25と点26、点27と点28をそれぞれ直線で結んで求める交点29の境界位置に位置誤差203が発生する。すなわち、距離精度にはカメラノイズが関わり、信頼度もカメラノイズを考慮して算出しないと、正しい値を得ることができない。
【0029】
本発明におけるカメラのノイズとは、出力データに対するノイズである。ノイズは主にショットノイズ、暗電流ノイズ、読み出しノイズ、固定パターンノイズの4種類が存在する。このうち、暗電流ノイズ、固定パターンノイズ、読み出しノイズはカメラへの入射光に関係せず一定であり、ショットノイズ入射光量に応じて変動する。本発明はこれら4種類のノイズに対して適応するものである。以上、カメラノイズによる誤差の発生メカニズムについて説明した。
【0030】
次に、図2(d)を参照し、カメラノイズ計算部111の役割としてカメラノイズの算出について説明する。カメラノイズ計算部111には、予めカメラの出力データとノイズとの関係性をノイズモデルとして保持する。図2(d)はその一例として、輝度値とショットノイズの関係を示している。このグラフでは、輝度値256でショットノイズσsnが16、輝度値64でショットノイズσsnが8となり、輝度値とショットノイズσsnの関係式がσsn=√L(Lは輝度値)であることを示している。そこで、交点29の輝度値からショットノイズσsnを求めることができる。
【0031】
暗電流ノイズ、読み出しノイズ、固定パターンノイズにおいても同様に、予め出力データとノイズとの関係を示すノイズモデルを取得しておくことで、それぞれのノイズを求めることができる。
【0032】
上記の方法のメリットとデメリットをまとめる。専門的な機器を使用してノイズを測るため、高精度にカメラの出力データとノイズとの関係を示すノイズモデルを取得できるメリットがある。また3次元計測装置を使用するユーザーにとっては、予め保持されているノイズ情報を用いればよく、すぐに3次元計測できるメリットがある。デメリットは、3次元計測装置の生産の際に、専門的な機器が必要となる点である。
【0033】
その他、本実施形態では、次の2つの方法でカメラの出力データとノイズとの関係を示すノイズモデルを取得することができるので、その方法を以下に説明する。
【0034】
1つは、計測環境にてノイズ情報を実験で取得して、カメラノイズ計算部111にノイズモデルを保持させておく方法である。ここで、カメラの入射光量に応じて変動するノイズの簡易計測方法と、カメラの入射光に関係せず一定のノイズの簡易計測方法の一例を示す。
【0035】
図3(a)は入射光量に応じて変動するノイズの計測方法のフローチャートである。s300でユーザーは標準拡散板を被写体面のカメラ撮影範囲に配置する。標準拡散板とは、入射する光を偏りなく一様に拡散反射する板である。s301で被写体面に対して一様な照明、例えば全面白色光を照射する。s302で照射を行ったまま撮影を行う。すなわち標準拡散板からの反射光が撮影される。s303で、これを画像データ化し標準拡散板の一部領域を抽出する。そしてs304で抽出領域の輝度の平均値と標準偏差を算出する。ここで求まる標準偏差を入射光量に応じて変動するノイズ値と定義する。s305でここまでの一連の計測が規定の回数Nまで行ったか確認し、もし規定回数以下の場合、s306で照明条件を変えて、撮影からノイズの算出までを行う。照明条件を変えるとは、前回撮影に比べ、明るくしたり、暗くしたりすることである。規定回数以上の撮影を行った後に、輝度の平均値と標準偏差の組み合わせが撮影回数分でき、その値からノイズの傾向を線形的に把握することができる(s307)。以上のようにして、輝度値に応じてのノイズ値を知ることが可能となる。カメラノイズ計算部111には本ノイズ傾向を入射光量に応じて変動するノイズモデルとして保持する。
【0036】
図3(b)はカメラの入射光に関係せず一定のノイズの計測方法のフローチャートである。s308でユーザーはカメラレンズに直接遮蔽板を取り付け、外光の影響をなくす。遮蔽板は完全に外光を入れないようにするものが望ましいが、最も簡易的にはレンズキャップでもよい。s309で撮影を行う。撮影された画像データは全面が輝度0に近いものとなる。s310で画像データから一部領域を抽出する。そしてs311で抽出領域の輝度の平均値と標準偏差を算出する。ここで求まる標準偏差を入射光に関係せず一定のノイズ値と定義する。s312でここまでの一連の計測が規定の回数Nまで行ったか確認し、もし規定回数以下の場合、撮影条件を変えず、同様の撮影からノイズの算出までを行う。これは一度の撮影だけでノイズ値を決定せず、サンプリング数を増やし、できるだけ正確な値を求めるためである。そして規定回数以上の撮影を行った後に、輝度の標準偏差の組み合わせが撮影回数分でき、それらの値の平均値をとることで、入射光に関係せず一定のノイズ値を決定する。カメラノイズ計算部111には本ノイズ値も保持する。
【0037】
この方法では、簡易なデバイスでノイズモデルを取得できるメリットがある一方、ユーザーは図3で示したノイズモデルを得る準備が必要となるため、事前のセットアップが煩雑化になるデメリットがある。
【0038】
もう1つが、ノイズモデルを手動設定する方法である。この方法は、事前取得ができず、さらに計測環境においても取得ができない場合にとられる措置である。そのため、ノイズモデルは最も不正確になる可能性が高いが、本発明のノイズ情報を信頼度に付与することは必ず行うことができる。
【0039】
以上、カメラノイズ計算部111は上記3つの方法によるノイズモデルの取得を可能とする。
【0040】
図4は被写体ノイズ計算部112でのノイズ計算の方法について説明する。図4(a)では被写体ノイズが発生するメカニズムを示す。被写体110上に3次元計測装置の解像度より微小な突起400が無数に存在する場合、投射光401は被写体110上で乱反射を起こし、反射光402はさまざまな方向に散乱する。そのため、そのような被写体を観察した場合、明暗が一様に広がったような表面状態を観測することになる。そのため被写体起因のノイズもカメラノイズ同様に、画像輝度にノイズがのることになり、境界位置に誤差が生じる。境界位置の誤差についての説明は図2で行ったため、省略する。
【0041】
図4(b)では被写体起因のノイズを計算する方法を示す。図4(b)は被写体110をカメラ103で撮像した際に被写体110上の任意のノイズ取得領域403を示す。ノイズ取得領域403は1もしくは複数の画素で構成される所定領域である。図4(b)では縞パターンが水平方向に投影されるため、隣接上下2画素を水平方向に5画素分、すなわちノイズ取得領域403を10画素として考え、以下説明する。被写体起因のノイズを求めるアルゴリズムは、隣接領域の輝度差分がノイズの重ね合わせであるという前提に基づいている。つまり平面状の隣接領域であれば、理想的には輝度差分はないはずである。そこに輝度差分が生じるならば、それはカメラノイズ、被写体起因のノイズ、その他の環境によるノイズの重ね合わせであると考えられる。そのため、隣接領域の輝度差分からノイズ値が求められるという考えである。
【0042】
具体的な計算を示す。各領域の輝度を、上段の領域は左からPu1、Pu2…とし、下段の領域は左からPd1、Pd2…とする。各画素の輝度差分d1=Pu1-Pd1、d2=Pu2-Pd2、…をとり、得られた輝度差分の分散Vdを求める。輝度差分の分散Vdは以下の式であらわされる。
Vd = σc2 + σr2 + σe2 …(1)
ここでσcはカメラノイズ値、σrは被写体起因のノイズ値、σeは環境などその他のノイズ値である。
【0043】
そして、環境などその他のノイズσeは隣接画素間ではほぼ同じ影響のため輝度差分には微小にしか現れないので、輝度差分はカメラノイズσcと被写体ノイズσrに集約されると考えられる。
【0044】
そのため、図2で示すようにカメラノイズ値σcを別途求めると、(1)式のVdからσc2を引くことで、被写体起因のノイズ値σrを求めることができる。
【0045】
以上のアルゴリズムで被写体起因のノイズを求めるため、ノイズ取得領域403の設定に関しては3つの条件がいる。1つはノイズ取得領域403が平面状であること(条件1)。なぜなら、ノイズ取得領域403が非平面で凹凸がある場合、凹凸によって輝度にノイズが発生する可能性があるからである。それを避けて、純粋な被写体起因のノイズを得る必要がある。残る2つはノイズ取得領域403が隣接していること(条件2)と、縞パターンの方向と一致した方向に領域を確保すること(条件3)である。条件2と条件3に関してはアルゴリズムそのものである。
【0046】
図5図4で説明したノイズ取得領域403を設定において(条件1)平面状であることを満たすために、被写体から平面状を探索し、ノイズ取得領域403を設定する方法を3つ説明する。図5のそれぞれの被写体は四角錐台の被写体110を上面から撮像した図である。図5(a)は撮影画像に輪郭検出を適用して、ノイズ取得領域403を設定する方法である。被写体ノイズ計算部112は輪郭抽出機能として、一次微分による抽出法(ソーベルフィルタなど)や二次微分による抽出法を持つ。得られた画像中の被写体110に対して、いずれかの輪郭抽出を適用し輪郭抽出を行う。図5(a)で、白の点線が輪郭抽出によって求めた輪郭線分500である。そして輪郭線分500にかからない領域は平面と考えられる。そのため、輪郭線分500にかからない領域から所定の画素領域をノイズ取得領域403として設定する。図5(b)はCADデータを使用する方法である。予め被写体110の形状が決まっている場合、被写体110のCADデータ502を被写体ノイズ計算部112に管理する。得られた画像中の被写体110にCADデータ502をフィッティングさせることによって、被写体110のどこに平面が存在するかがわかる。最終的にフィッティングからわかった平面内で所定の画素領域をノイズ取得領域403として設定する。図5(c)は撮像した画像に対して手動で設定する方法である。均一光を投射した画像から手動で被写体110の平面を選択し、ノイズ取得領域403として設定する。
【0047】
以上、被写体ノイズ計算部112は上記3つの方法によってノイズ取得領域403を設定し、ノイズの計算を可能とする。
【0048】
次に図6を参照して、3次元計測のノイズを考慮した信頼度の算出方法について説明する。
【0049】
信頼度は、境界位置のサブピクセル値を求める際に発生するサブピクセル推定誤差Eをそれとする。まずは輝度の量子化誤差を考慮した信頼度の算出方法を図6(a)で示す。輝度値とは、画像データがいくつのビットで保存されるかによって、輝度値の上限下限が決まる。たとえば、8ビットの画像データでは、輝度値は1から256で表される。しかし現実には、輝度値はさらに細かい値を有するため、輝度値1の輝度空間における誤差が発生する。それを量子化誤差と呼ぶ。サブピクセル推定誤差Eとは、位置を決定する際に、図2(b)の点25、点26、点27、点28の輝度値が量子化誤差をもつために発生する位置誤差である。
【0050】
以下から、量子化誤差を考慮した信頼度の算出方法について説明する。図2(b)の点25、点26、点27、点28における輝度差Idを次式で決める。
Id=abs(L25 -L27)+ abs(L28-L26) …(2)
ここでL25,L26,L27,L28はそれぞれ点25、点26、点27、点28の輝度値である。また、abs(x-y)は値xとyの差分絶対値を示す。
【0051】
図6(a)では輝度差Idを輝度差線分600で示している。ここで輝度差線分600とはabs(L25-L27)とabs(L28-L26)の足し合わせのため、量子化誤差として2つ分の誤差を持つ領域になる(縦軸矢印の幅)。そのため、輝度差線分600は上下の輝度差Id、そして量子化誤差分である値2をもつ領域を示す。サブピクセル推定誤差Eは輝度差Idと輝度差線分600の量子化誤差分である値2によって、以下の式できまる。
2:E = Id:1 …(3)
したがって
E =2 / Id …(4)
この(4)式が量子化誤差を考慮した信頼度である。
【0052】
図6(b)において、さらにL25,L26,L27,L28のカメラおよび被写体起因のノイズを付加する方法を説明する。輝度差線分601はabs(L25-L27)のノイズσ1を示している。同様に輝度差線分602はabs(L28-L26)のノイズσ2を示している。投影する縞パターンの明部と暗部ともに、その領域内では大きな濃度差がなく一様であるため、abs(L25-L27)≒ abs(L28-L26)と考え、ノイズをσ1=σ2=σと簡略化する。ノイズは偶然誤差として二乗和の分散をとるため、輝度差線分601と輝度差線分602の合わせたノイズ値はσ×√2となる。
【0053】
したがって、3次元計測のノイズ値を考慮したサブピクセル推定誤差Eを求めるには、(3)式を以下のように変形する。
2 + σ×√2 : E = Id : 1 …(5)
したがって
E = (2 + σ×√2 ) / Id …(6)
ここでσはσc とσrの集合あるため、σは以下の式であらわされる
σ= √(σc2r2 ) …(7)
以上のようにして、3次元計測のノイズを考慮した信頼度を算出することが可能となる。
【0054】
上記では、3次元計測において主なノイズがカメラの撮影条件によるノイズσcと被写体によるノイズσrであったため、それらのノイズを中心に記述した。環境などによるその他のノイズσeは次の方法で導出可能である。
【0055】
その他のノイズσeを算出するには、すでに輝度差分の分散Vd、カメラの撮影条件によるノイズσcと被写体によるノイズσrが既知であることが前提条件となる。
【0056】
その条件の下、投射兼環境ノイズ計算部113にて、(1)式から既知のノイズを引いて、σeを求める。算出したσeを(7)式に適用すると以下の式となる。
σ= √(σc2+σr2+σe2 ) …(8)
以上のようにして、環境などによるその他のノイズも考慮して信頼度を算出することが可能となる。
【0057】
第1の実施形態によれば、ポジティブ/ネガティブパターンを投影する空間符号化法において3次元計測のノイズを考慮した信頼度を算出することが可能となる。
【0058】
また、空間符号化法には、ポジティブ/ネガティブパターンを使わず、ポジティブパターンと均一光量の均一パターン光を用いる空間符号化法もあるため、その方法における信頼度算出方法について説明する。
【0059】
図7を用いてポジティブパターンと均一光量の均一パターン光を用いる空間符号化法を説明する。図7(a)は投影する縞パターン光を示す。縞パターン光700は3bitのグレイコードによる空間符号化の縞パターン光である。パターン701は明部のみの全照明パターン光である。パターン702は暗部のみの全消灯パターン光である。3bitの空間符号化を行う場合には、1bitから3bitの縞パターン光と明部のみの全照明パターン701、暗部のみの全消灯パターン702が必要となる。
【0060】
次に図7(b)を参照して、境界位置を決定する方法を説明する。グラフの下に画素番号が置かれ、縞パターン光700の反射パターン光を撮像した画像データの輝度が輝度曲線703である。パターン701の反射パターン光を撮像した画像データの輝度が輝度曲線704、パターン702の反射パターン光を撮像した画像データの輝度が輝度曲線705である。輝度曲線703上の点706、点707はそれぞれs番目、s+1番目の画素の輝度値である。また輝度曲線704上の点708、点710と輝度曲線705上の点709、点711もそれぞれs番目、s+1番目の画素の輝度値である。全照明パターン701と全消灯パターン702を投影して撮影した輝度曲線の対応する画素の平均輝度値を求めると、s番目の点708と点709の平均値は点712と求まる。また、s+1番目の点710と点711の平均値は点713と求まる。そこで点706と点707、点712と点713をそれぞれ直線で結び、その交点714の水平座標を求める。このようにして境界位置を算出できる。
【0061】
信頼度は、前述と同様に、境界位置のサブピクセル値を求める際に発生するサブピクセル推定誤差Eをそれとする。そのため、境界位置検出に使用する点706、点707、点712、点713の輝度や、点712、点713を求めるための点708、点709、点710、点711の輝度から、カメラや被写体起因のノイズを算出する。そして図6で説明した考えと同様に、サブピクセル推定誤差Eにノイズを付加する。
【0062】
以上のようにして、ポジティブパターンと均一光量の均一パターン光を用いる空間符号化法においても信頼度を求めることができる。ポジティブパターンと均一光量の均一パターン光を用いる空間符号化法は、ポジティブ/ネガティブパターンを用いる空間符号化法に比べて、精度は低減するものの、撮影枚数は約半分で済むため、精度より高速を求められる計測において有効である。そのため製品実施形態として数多く採用されており、信頼度を用いて、より正確性のある距離情報出力が可能となる。なお、上記実施形態における計算処理部100は、メモリ、及び、そのメモリに格納されたプログラム、及び、プログラムを実行し、装置全体の制御を司るプロセッサで実現しても構わない。
【0063】
[第2の実施形態]
第2の実施形態では、位相シフト法の信頼度算出方法について説明する。
【0064】
図8(a)は投影する縞パターン光を示す。縞パターン光800は明度が正弦波状に分布する縞パターンである。位相シフト法では、縞パターン光800の位相をπ/2ずつずらしてカメラで撮影するという手順を、パターンの位相が1周期分移動するまで4回繰り返す。
【0065】
図8(b)は、撮像した画像データの輝度を縦軸に、画像読み取り回数を横軸にとったグラフである。撮像された投影枚数分(実施形態では4枚)の画像上の同じ位置(x,y)での輝度を輝度801、輝度802、輝度803、輝度804で示す。図8(b)に示すように、4つの輝度は必ず縞パターン光800の位相差分だけの変化を示す。したがって、以下の式によって、位置(x,y)での縞パターン光800の反射パターン光の位相α(x,y)が求められる。
α(x,y)= tan-1{(L804 - L802)/(L801 - L803)} …(13)
ここで、L801,L802,L803,L804は輝度801、輝度802、輝度803、輝度804の輝度値である。
【0066】
図8(b)の曲線805は(13)式で推定された正弦波である。この位相をもとに三角測量の原理により3次元計測を行うことができる。
【0067】
次に信頼度の算出方法を示す。信頼度は(13)式のL804-L802とL801-L803におけるノイズ値の二乗和の分散Eをそれとする。
【0068】
L804-L802のノイズ値をσ7とし、L801-L803のノイズ値をσ8とすると、Eは以下の式(関数)によって求められる。
E = √(σ72 + σ82 ) …(14)
ここで、L804-L802≒L801-L803と考えると、σ7でノイズ値を代表させ、Eは
E = σ7 × √2 …(15)
となる。σ7には第1の実施形態と同様に、カメラの撮影条件によるノイズσcと被写体によるノイズσr、環境などによるその他のノイズσeが含まれる。そのため、第1の実施形態に示したように各ノイズを計算することで信頼度を求めることが出来る。
【0069】
以上のように第2の実施形態によれば、位相シフト法においても3次元計測のノイズを考慮して信頼度を求めることができる。本実施形態は、分解能の高い距離情報を高速に求める計測において有効であり、信頼度を用いて、より正確性のある距離情報出力が可能となる。
【0070】
[第3の実施形態]
第3の実施形態では、マルチスリット法の信頼度算出方法について説明する。
【0071】
図9(a)は投影する縞パターン光を示す。縞パターン光900は明部と暗部が規則的に繰り返し配置されている縞パターン光である。マルチスリット法では、縞パターン光900を被写体へ投射、撮像する。
【0072】
撮像された画像データは、輝度と水平座標の関係グラフである図9(b)に示すと、複数本の輝度ピークが生じる輝度曲線となる。ここで水平画素s-1,s,s+1に着目すると、それぞれの画素の輝度901、902、903を用いて、輝度ピークの重心位置である位置905を求める。重心位置を求める数学的方法は、一次微分によるエッジ検出(ソーベル法など)が代表的である。求めた位置905とカメラ103とプロジェクタ102の位置関係から三角測量の原理で3次元計測を行う。
【0073】
次に信頼度の算出方法を示す。信頼度は位置905を求めるためのエッジ検出に使用する画素数の輝度値のノイズ値の二乗和の分散Eをそれとする。図9(b)を例にとると、輝度901のノイズをσp1、輝度902のノイズをσp2、輝度903のノイズをσp3とする。Eは以下の式によって求められる。
E = √(Σσpn2 ) …(16)
ここでΣはn=1,2,3の合算を表わす。σpnには第1の実施形態と同様に、カメラの撮影条件によるノイズσcと被写体によるノイズσr、環境などによるその他のノイズσeが含まれる。そのため、第1の実施形態に示したように各ノイズを計算することで信頼度を求めることが出来る。
【0074】
以上のように第3の実施形態によれば、マルチスリット法においても3次元計測のノイズを考慮して信頼度を求めることができる。また本実施形態の考えは縞パターンの重心を計測位置にする3次元計測方法全般に適用でき、例えば、ワンショットで計測を行う方式においても信頼度を算出することが可能となる。
【0075】
ワンショット計測法の一例として、縦横の線からなる格子パターンを投影パターンとして用いて、同時に格子で囲まれる矩形内に2次元のコードパターンを埋め込んだものを被写体に投影する。投影されるパターン上の2次元位置と、撮像画像における2次元位置をコードパターンによって対応付ける。対応付けられたパターン上の縦横線の重心位置をサブピクセル推定で求めて、三角測量の原理で測定を行う。本方法によれば、マルチスリット法と同様に投影するパターンの重心位置から距離計測をするため、マルチスリット法で考えた信頼度の算出方法がワンショット計測法でも使用することができる。
【0076】
以上、空間符号化法、位相シフト法、マルチスリット法、ワンショット法における3次元計測のノイズ情報を考慮した信頼度の算出方法を説明した。3つの実施形態で示した式は一例であり、3次元計測のノイズ情報によって生じる輝度の誤差を付加した場合には、本発明に含めるものとする。
【0077】
[第4の実施形態]
これまでの実施形態は輝度を用いて信頼度を求める方法において、3次元計測のノイズを付与する方法を示した。第4の実施形態では、被写体形状を用いて平面領域は信頼度を高くする信頼度算出について述べる。
【0078】
図10(a)は3次元計測装置で計測する被写体の斜視図である。被写体1000には土台の上に複数の突起1001が配置される。被写体1000のように突起1001のある領域では、縞パターン光を投影した際に、突起1001の周辺で縞パターンが判明しづらくなり、正確な距離計測が困難となる。また突起1001が複数かたまる場合、突起物が互いに縞パターン光を反射しあい、いわゆる多重反射を引き起こす。これも正確な距離計測が困難となる原因となる。それに比べて、平面領域1004では縞パターン光が鮮明に確認でき、かつ多重反射も起きないため、距離計測が正確になりやすい。
【0079】
第4の実施形態では、突起1001周辺の信頼度を低くし、平面領域の信頼度を高くすることを行う。
【0080】
図10(b)は被写体を上面から観察した図である。突起1001と平面領域1004が撮像された様子を示す。
【0081】
図10(c)は信頼度の設定方法を説明する図である。撮像された被写体1000に対して一次微分法などで輪郭抽出を行う。輪郭抽出を行った結果が太線で示した輪郭1005である。次に被写体1000に対してメッシュをきる。つまり、被写体画像を複数の領域に分割する。図では、メッシュ1002の大きさで縦4、横2でメッシュをきる。そしてメッシュ内で、どれだけ輪郭があるか、もしくは平面があるかを割合として算出する。その割合を信頼度とする。図では、Aの2、Bの2、Cの2の領域は輪郭が少ない、すなわち平面領域1004と判断され、信頼度が高くなる。逆にAの1、Bの1、Cの1の領域は輪郭が多い、すなわち突起1001が多いと判断され、信頼度が低くなる。
【0082】
本実施形態では、被写体形状の突起部分を被写体形状起因のノイズと考え、ノイズを考慮して信頼度を設定した。
【0083】
信頼度の算出方法を4つの実施形態で示したが、以下に信頼度の活用例を示す。一例として、図1の表示部109で距離画像を表示する際に、信頼度を用いて、信頼度の高い距離情報のみを抽出することができる。信頼度の低い距離情報は距離画像を表示する際に雑音になり、視認性を低くする。そのため、信頼度の高い距離情報のみで距離画像を表示すれば、ユーザーの視認性は格段に向上する。
【0084】
別の例としては、信頼度を用いて精度の高い距離情報と低い距離情報が数値的に示せるので、信頼度による閾値を設定し、信頼度の閾値以下の距離情報が集合する部分に対しては再計測することができる。
【0085】
また3次元計測装置で被写体の周囲から複数回計測し、それらの3次元形状計測結果を重ね合わせて3次元形状モデルを作成することは一般的に行われる。その際に、重ね合わせる距離情報を選択する際に、信頼度を利用し、信頼度の高い距離情報で重ね合わせを行うことで、精度の高い3次元形状モデルを作成することができる。
【0086】
上記のとおり、信頼度を使用する例は多く、その際に正確な信頼度を算出することができれば、最終結果の精度向上を達成できる。
【0087】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13