生産ラインにおける自動車部品や電子基板の検査に画像処理が取り入れられ自動化が図られています。しかし、同じ色のキズやヘコミなど二次元画像処理では区別できない欠陥も多く存在します。また、ロボットの目も高速で三次元情報を得られると高度な行動ができ、活動の範囲が増えます。さらに、人物の顔写真による認証などにおいても二次元画像では得られる情報量が少なく、三次元情報を利用すれば認証の精度が大きく向上します。そこで、前回、格子法・モアレ法による変形(変位・ひずみ)の計測法について述べた手法を用いて、三次元形状計測する方法について述べます。とくにキャリブレーションが簡単かつ高精度にできる全空間テーブル化手法について紹介します。
三次元形状計測法
光切断法

前回、三角測量の原理を用いて三次元形状計測をする方法について述べました。このとき説明しませんでしたが、よく使われている三次元形状計測法の一つに図 1 に示す光切断法があります。プロジェクタにより直線上のスリット光を計測したいモノ(構造物や部品)に投影します。これをプロジェクタの横からカメラで撮影すると、形状に応じて格子線がゆがみます。このゆがみを解析すればそのスリット光上の形状がわかることになります。この投影するスリット光を動かすかモノを動かすことによりモノの三次元形状を計測することができます。この方法は原理が簡単なのでよく使われています。しかし、1ラインの形状を解析するのに二次元画像を使用しており、効率が悪く、座標は基本的に画素単位で得られることになり、精度もそれほどよくなりません。
格子投影法

これに比べて、図2に示す多くの等間隔の平行線からなる格子を投影する格子投影法を使用すると、1枚の画像で全面の情報を撮影することができます。この格子の明るさ分布を余弦波状であるとみなしてその位相解析を、前回述べました位相シフト法(格子の位置を数回ずらして投影し格子の位相を解析する)で解析すると格子ピッチの 1/100~1/1000 の精度で三次元形状を計測することができます。
モアレトポグラフィ

この格子投影法の光学系を図3のように配置すると、すなわち、プロジェクタのレンズとカメラのレンズを同じ平面内に置くと、簡単に等高線を撮影することができます。すなわち、レンズ面に平行な基準面に格子を投影します。これをカメラで撮影すると、図4(a)に示すように平行な格子線が撮影されます。モノを置いた場合は、(b)に示すようにその形状に応じて格子線がゆがんで写ります。この平行な格子線画像とゆがんだ格子線画像を重ねると(c)に示すような等高線を表すモアレ縞が現れます。この等高線となる理由を図3を用いて説明します。
図3のオレンジ色の実線はこの格子の明るい線が投影されている光路を、黒い破線は格子の暗い線が投影されている光路を示しています。これをカメラで撮影するとき、カメラの画素ピッチが基準面上で格子のピッチと等しくなるように光学系を調整すると、カメラの各画素には W の高さにあるモノは常に明るく、B の高さにあるモノは常に黒く写ります。これによりモアレ縞が発生していることになり、等高線が同じ明るさで写ることになります。
図4 モアレトポグラフィで撮影される画像

(a) 基準面に投影された格子(基準格子)

(b)モノに投影された格子(変形格子)

(c)モアレ縞
実際にはカメラの画素間隔はもっと細かく図4(b)に示すようなゆがんだ格子線が写りますが、前回述べたサンプリングモアレ法を用いて、画素を間引いて図4(a)の格子線のピッチとおなじ間隔となるようにサンプリングし、間引かれた画素の輝度を補間すると、図4(c)のような等高線を表すモアレ縞が現れます。このモアレ縞の位相は基準面の格子(基準格子)の位相とモノに投影された格子(変形格子)の位相の差になっています。このように、ゆがんだ格子やモアレ縞の位相を解析すると格子ピッチの 1/100~1/1000 程度の高精度に形状を計測することができるようになります。
全空間テーブル化手法

モアレトポグラフィの光学系を用いると簡単に等高線が得られましたが、市販のプロジェクタやカメラを用いて、どちらもモノの方向に向けると、プロジェクタやカメラの両方のレンズ面を同じ平面にすることが困難になります。この場合も、三角測量の原理を用いて格子の位相を解析することにより形状を計測することができますが、カメラの各画素位置から、プロジェクタやカメラのレンズ位置およびプロジェクタやカメラが見ているモノの一点の方向をパラメータとして、マトリックス演算をして三次元座標を求めることになります。この計算に時間を要します。また、位相解析により高精度計算ができるようになると、レンズの収差などが計測の誤差を生み出すことになります。この計算を行わずに格子の位相から表を見るだけで三次元座標を求める高速高精度な方法がここで述べる全空間テーブル化手法 1) です。
すなわち、図5に示すようにプロジェクタとカメラが配置されています。プロジェクタから投影された格子の位相が 2nπ となる n が整数のときを黒い実線で表示しています。図には左から位相が 0,2π,4π,6π の4本の線が示されています。この線の間においても位相は連続的に変化していきます。モノの上に投影されたこの格子線をカメラで撮影します。このときカメラの1画素に注目すると、その画素は視線 L の線上のモノを撮影することになります。すなわち、モノの位置が低いほど、撮影した格子の位相が小さくなり、モノの位置が高くなると、撮影した格子の位相も大きくなり、位相 ϕ と高さ z は1:1の対応関係があります。そこで、各画素ごとにこの対応関係を表にして覚えておくと、各画素の投影された格子の位相がわかればその表を見るだけで高さが判ることになります。高さ z だけでなく、x,y 座標も位相と1:1の関係があり、位相がわかれば、その点の三次元座標(x,y,z)が判ることになります。
手順としましては、まず計測したい全空間にプロジェクタで格子を投影します。基準面を上下方向の移動テーブルに載せ、その基準面上に投影された格子を位相シフトさせながらカメラで撮影します。これによりカメラのすべての画素で、基準面上の格子の位相が判ることになります。つぎに、基準面を下から上に一定間隔で移動テーブルを移動させます。それぞれの高さで格子の位相シフトを行い各画素の位相を覚えます。このようにして、各画素ごとに高さと位相の関係を表す表を作ることができます。高さ間隔を粗くとった場合は途中の高さを補間により求めることにより、細かな分解能をもたせることができます。つぎにモノを置いたときに各画素の位相がわかればその表を見るだけで高さ情報が得られることになります。
この方法の良い点は、各画素の位相がわかればマトリックス計算をしなくても表を見るだけで良いので高速に計測できます。また、レンズに収差があっても、格子が少々ゆがんでいても、これらの誤差は表を見ることにより、自動的にキャンセルされます。そのため精度の悪い安価な装置でも、精度が良くなります。また、全周計測を行うためなどカメラやプロジェクタを複数つけても座標系はすべて基準面と移動テーブルにより決まり、同じ座標で表現されるため、簡単に合成ができます。一度表を作ってしまえばカメラとプロジェクタだけを一体としたままどこへ移動させても形状を計測することができます。
この原理に基づいて開発した三次元形状計測装置とその形状計測例を図6に示します。

3Dカメラ
4Dセンサー株式会社では、全空間テーブル化手法を用いた形状計測装置を3Dカメラとして販売しています。簡単に安価に三次元形状を計測することができます。
この詳細仕様やデモ動画はホームページ(http://4d-sensor.com/)で見ることができます。
次回は格子法・モアレ法を用いた高速度三次元形状計測法である光源切替位相シフト法を紹介します。
文献
1) 藤垣元治・森本吉春 「全空間テーブル化手法による格子投影3次元形状計測」 実験力学、Vol.8, No.4,pp.402-408, 2008
和歌山大学名誉教授 4Dセンサー株式会社(フォーディセンサー) 代表取締役会長 森本 吉春さんのその他の記事
- 2021年1月
- 2020年12月
- 2020年11月
- 2020年10月
- 2020年9月
- 2020年8月
- 2020年7月
- 2020年6月
- 2020年5月
- 2020年4月
- 2020年3月
- 2020年2月
- 2020年1月
- 2019年12月
- 2019年11月
- 2019年10月
- 2019年9月
- 2019年8月
- 2019年7月
- 2019年6月
- 2019年5月
- 2019年4月
- 2019年3月
- 2019年2月
- 2019年1月
- 2018年12月
- 2018年11月
- 2018年10月
- 2018年9月
- 2018年8月
- 2018年7月
- 2018年6月
- 2018年5月
- 2018年4月
- 2018年3月
- 2018年2月
- 2018年1月
- 2017年12月
- 2017年11月
- 2017年10月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年4月
- 2017年3月
- 2017年2月
- 2017年1月
- 2016年12月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年5月
- 2016年4月
- 2016年3月
- 2016年2月
- 2016年1月
- 2015年12月
- 2015年11月
- 2015年10月
- 2015年9月
- 2015年8月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年4月
- 2015年3月
- 2015年2月
- 2015年1月
- 2014年12月
- 2014年11月
- 2014年10月
- 2014年9月
- 2014年8月
- 2014年7月
- 2014年6月
- 2014年5月
- 2014年4月
- 2014年3月
- 2014年2月
- 2014年1月
- 2013年12月
- 2013年11月
- 2013年10月
- 2013年9月
- 2013年8月
- 2013年7月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年11月
- 2012年10月
- 2012年9月
- 2012年8月
- 2012年7月
- 2012年6月
- 2012年5月
- 2012年4月
- 2012年3月
- 2012年2月
- 2012年1月
- 2011年12月
- 2011年11月
- 2011年10月
- 2011年9月
- 2011年8月
- 2011年7月
- 2011年6月
- 2011年5月
- 2011年4月
- 2011年3月
- 2011年2月
- 2011年1月
- 2010年12月
- 2010年11月
- 2010年10月
- 2010年9月
- 2010年8月
- 2010年7月
- 2010年6月
- 2010年5月
- 2010年4月
- 2010年3月
- 2010年2月
- 2010年1月
- 2009年12月