(57)【要約】【課題】（１）外光が存在する場合にも正しい距離を計測できる、（２）被計測物体の白黒の濃淡や照明からの遠近に関わらず全体を計測できる、（３）計測分解能を向上した、計測方法および装置を提供する。【解決手段】（１）ある距離から拡散光を被計測物体に照射し撮影して画像１を取得し、異なる距離から拡散光を照射し画像２を取得し、無照明または光量を変えて画像３を取得し、画像１と画像２と画像３の同位置の画素に記録された輝度値を演算し、これを全画素に行い被計測物体の３次元形状を求める。（２）輝度値が所定の値より大きいか、小さい領域について、拡散光の光量を変えて再計測する。（３）３ヶ所以上互いに換えた拡散光で被計測物体を照射し、各照射毎に画像を撮影して画像１から画像Ｎまでを撮影し、無照明で画像Ｎ＋１を取得し、画像１〜画像Ｎ＋１の同座標値の画素に記録された輝度値を演算する。【選択図】　　　　図５
2004117235.tif 000002
【特許請求の範囲】
【請求項１】
ある距離から拡散光を被計測物体に照射し、被計測物体を撮影、記録することによって画像１を取得する第１のステップと、
第１のステップとは異なる距離から拡散光を被計測物体に照射し、被計測物体を撮影、記録することによって画像２を取得する第２のステップと、
無照明で、または、第１のステップまたは第２のステップの距離から拡散光の光量を変えて被計測物体に照射して、被計測物体を撮影、記録することによって画像３を取得する第３のステップと、
画像１と画像２と画像３の同位置の画素に記録された輝度値を演算することによって該画素に写っている被計測物体までの距離を算出する第４のステップと、第４のステップを全画素に行うことによって被計測物体の３次元形状を求める第５のステップ
を有することを特徴とする３次元形状計測方法。
【請求項２】
異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項１の方法で動作することを特徴とする３次元形状計測装置。
【請求項３】
ある光量の拡散光を用いて、請求項１の方法で被計測物体の３次元形状を計測する第６のステップと、第６のステップにて取得したいずれかの画像内で輝度値が所定の値より大きいか、または、画像１と画像２の同位置の画素間の輝度値の差の絶対値が所定の値より小さい領域について、拡散光の光量を変えて再度第６のステップを実行することにより再計測する第７のステップと、
前記領域がなくなるか、または、所定の反復回数に達するまで第７のステップを繰り返す第８のステップ
を有することを特徴とする３次元形状計測方法。
【請求項４】
光量を変えられ異なる距離から拡散光を照射する照明手段と、該照明手段で照明された被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項３の方法で動作することを特徴とする３次元形状計測装置。
【請求項５】
被計測物体までの距離を少なくとも３ヶ所以上互いに換えた拡散光で被計測物体を照射し、各照射毎に被計測物体の画像を撮影することによってＮ枚の画像１から画像Ｎまでを撮影、記録する第１のステップと、
無照明で被計測物体を撮影、記録することによって画像Ｎ＋１を取得する第２のステップと、
画像１から画像Ｎ＋１の同座標値の画素に記録された輝度値を演算することによって該画素に写っている被計測物体の距離を算出する第３のステップと、
第３のステップを全画素に行うことによって被計測物体の３次元形状を求める第４のステップ
を有することを特徴とする３次元形状計測方法。
【請求項６】
少なくとも３ヶ所以上の互いに異なる距離から拡散光を照射する照射手段と、被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項５の方法で動作することを特徴とする３次元形状計測装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は被計測物体の３次元形状または３次元形状と色を計測する方法および装置であり、主に計測産業、通信産業、映像産業の分野において用いられる。
【０００２】
【従来の技術】
カメラを用いて被計測物体の３次元形状を取得する様々な計測方法が提案されている。これらの方法はステレオ法に代表される被計測物体に特別な照明を照射しないパッシブ型計測法と、被計測物体に特別な照明を照射するアクティブ型計測法に分類できる。
【０００３】
パッシブ型計測法はカメラ２台でできるため非常に低コストで汎用性もあり、昔から精力的に研究されてきたが、未だに計測の信頼性が低く汎用的に使える方法としては実用段階に至っていない。
【０００４】
一方、アクティブ型計測法は計測精度、分解能、計測信頼性も実用水準に到達しており、近年では動画像計測も可能となった。しかしながら、一般に装置が大型かつ高価であり携帯化できるサイズヘの小型化が困難である問題があった。
【０００５】
また、アプリケーションによっては計測精度や分解能が低くて構わない場合も多いが、従来のアクティブ型計測法ではこれらのスペックを下げても装置の低価格化や小型化を効率よくはかることができない。
【０００６】
これに対し、異なる距離から拡散光を被計測物体に照射して撮影し、各々の画像の輝度値の比を取ることによって距離を求める装置がある（特許文献１）。
この装置の構成を図１に示す。１１は遠方の光源、１２は近方の光源、１３は被計測物体、１４はカメラである。この装置は計測精度、分解能はあまり高くないものの、基本的には２つの光源とカメラを用意するだけで装置を構成することができるので、極めて低価格に作ることが可能であり、比較的小型の装置にすることも可能である。
【０００７】
この装置の動作原理を数式で説明する。
遠方の光源１１と被計測物体１３間の距離をｘ、遠方の光源１１および近方の光源１２の光量をＬとする（簡潔な式で説明するため光量を同じＬとしたが本計測法は１１と１２の相対的な強度比が既知であれば異なる光量であっても構わない）と、遠方の光源１１で照明された被計測物体１３上のある地点の輝度Ｖ１は、遠方の光源１１と近方の光源１２からの照射光をカメラ方向へ反射する反射率をｋとすると、
（式１）Ｖ１＝ｋＬ／４πｘ２
の輝度で撮影される。近方の光源１２が遠方の光源１１より距離ｘ０だけ被計測物体１３に近いとすると、近方の光源１２で照明された該地点の輝度Ｖ２は、
（式２）Ｖ２＝ｋＬ／４π（ｘ−ｘ０）２
の輝度で撮影される。式１と式２の比をとることによって、距離ｘが、
（式３）ｘ＝ｘ０／｛１−√（Ｖ１／Ｖ２）｝
として求まる。
【０００８】
前記特許文献１では１点の距離計測なのか３次元形状全体の計測なのか明示されていないが、計測原理は同じで３次元形状計測を明示的に示した発明が特許文献２の請求項に記載されている。また、特許文献２と同様な発明が数式の表現を変えて、特許文献３の請求項１、２、特許文献４の請求項１、特許文献５の請求項１、特許文献６の請求項１に記載されている。
【０００９】
【特許文献１】
特開昭６１−１５５９０９号公報
【特許文献２】
特公平６−０７６８８８号公報
【特許文献３】
特開２００２−０７７９４４号公報
【特許文献４】
特開２００２−０６５５８１号公報
【特許文献５】
特開２００２−０９５６２５号公報
【特許文献６】
特開２００２−０６５５８５号公報
【００１０】
【発明が解決しようとする課題】
しかし、この従来の計測方法には以下に掲げる問題点がある。
１．外光が存在すると正しい距離を求められない。
外光が存在する場合、外光量をＬａ、外光を撮影カメラの向きに反射する反射率をｋ’とすると、式１、式２は以下の式４、式５に置き換わる。
（式４）Ｖ１＝ｋ’Ｌａ＋ｋＬ／４πｘ２
（式５）Ｖ２＝ｋ’Ｌａ＋ｋＬ／４π（ｘ−ｘ０）２
これらの式の比をとっても、未知の量であるｋ’、Ｌａが残るため距離ｘを求めることが出来ない。従って、従来の計測方法では暗室や内視鏡のように外光がない環境下でしか動作できない。外光が存在する場合にも正しい距離を計測できる計測方法および装置を提供することが本発明の課題１である。
【００１１】
２．被計測物体の黒い領域や照明から遠い領域と白い領域や照明に近い領域を同時に計測することが困難である。
被計測物体の黒い（低反射率）領域や照明から遠い領域が計測できるように光量を上げると、被計測物体の白い（高反射率）領域や照明に近い領域の輝度がオーバーフローを起こして撮影できなくなる。一方で、オーバーフローを避けるため光量を下げると、被計測物体の黒い領域や照明から遠い領域の輝度が非常に小さくなってしまう。本計測法では輝度値Ｖ１とＶ２のわずかな差を利用して距離を算出するので、Ｖ１やＶ２の値そのものが小さいと、その差はＴＶカメラの撮影できる輝度階調未満となり計測不能となってしまう問題が起こる。この計測不能な状態をここではアンダーフローと呼ぶことにする。被計測物体の白黒の濃淡や照明からの遠近に関わらず全体を計測できる計測方法および装置を提供することが本発明の課題２である。
【００１２】
３．計測分解能が悪い。
被計測物体上の反射率の違いや照明からの遠近によって、撮影された画像は広範囲な輝度分布を有する。それと比較してＶ１とＶ２の差はわずかな値でしかない。例えば、Ｖ１とＶ２の差が数階調しかないとするなら、計測分解能もわずか数階調に過ぎない。これでは物体の存在位置がわかる程度の大まかな距離情報しか取得できない。計測分解能を向上した計測方法および装置を提供することが本発明の課題３である。
【００１３】
【課題を解決するための手段】
課題１を解決するため、本発明請求項１の方法は図２に示すステップで処理を行う。第１のステップ２１において拡散光をある距離から被計測物体に照射し、被計測物体を撮影、記録することによって画像１を取得し、第２のステップ２２において第１のステップよりｘ０だけ近い距離から拡散光を被計測物体に照射し、被計測物体を撮影、記録することによって画像２を取得し、第３のステップ２３において、無照明、または、第１のステップ２１または第２のステップ２２の距離から拡散光の光量を変えて被計測物体に照射し、被計測物体を撮影、記録することによって画像３を取得し、第４のステップ２４において画像１と画像２と画像３の同位置の画素に記録された輝度値を演算することによって該画素に写っている被計測物体までの距離を算出し、第５のステップ２５において第４のステップ２４の処理を全画素に行うことによって被計測物体の３次元形状を求める。
【００１４】
各ステップ毎に行われる作用について説明する。第１のステップ２１において、ある距離から拡散光を被計測物体に照射し、被計測物体を撮影、記録することによって画像１を取得する。この時、被計測物体上のある地点の輝度Ｖ１は、拡散光の強度をＬ、該地点と照明手段までの距離をｘ、照明光を撮影手段方向に反射する反射率をｋ、外光の光量をＬａ、外光を撮影手段方向に反射する反射率をｋ’とすると、
（式４）Ｖ１＝ｋ’Ｌａ＋ｋＬ／４πｘ２
なる輝度値で撮影される。
【００１５】
次に第２のステップ２２において、第１のステップ２１より距離ｘ０だけ近い距離から拡散光を被計測物体に照射し、被計測物体を撮影、記録することによって画像２を取得する。この時、被計測物体上の該地点の輝度Ｖ２は、
（式５）Ｖ２＝ｋ’Ｌａ＋ｋＬ／４π（ｘ−ｘ０）２
なる輝度値で撮影される。
【００１６】
次に第３のステップ２３において、無照明、または、第１のステップ２１または第２のステップ２２の距離から拡散光の光量を変えて被計測物体に照射し、被計測物体を撮影、記録することによって画像３を取得する。ここで無照明であるならば、光源で照明された被計測物体中の同位置の輝度Ｖ３は、
（式６）Ｖ３＝ｋ’Ｌａ
となり、第１のステップ２１の位置から拡散光の光量を１／ｎ倍で照射するなら、
（式６１）Ｖ３＝ｋ’Ｌａ＋ｋＬ／４ｎπｘ２
となり、第２のステップ２２の位置から拡散光の光量を１／ｎ倍で照射するなら、
（式６２）Ｖ３＝ｋ’Ｌａ＋ｋＬ／４ｎπ（ｘ−ｘ０）２
となる。
【００１７】
次に第４のステップ２４において、画像１と画像２と画像３の同位置の画素に記録された輝度値を演算することによって該画素に写っている被計測物体の距離を算出する。例えば画像３が無照明で撮影された画像の場合、式４、式５、式６を連立させることによって、
（式７）ｘ＝ｘ０／〔１−√｛（Ｖ１−Ｖ３）／（Ｖ２−Ｖ３）｝〕
にて距離ｘが算出される。
【００１８】
なお、式６１や式６２を式６の代わりに用いてもｎが既知であればｘは算出できる。外光はあるが照明光に比べて光量が小さい場合、補助的に照明する式６１や式６２の方法は計測精度を高める上で有利である。
【００１９】
最後に第５のステップ２５において、第４のステップ２４の画素の演算処理を画像全体に適用することによって画像に写った被計測物体の３次元形状を算出する。
【００２０】
本発明請求項２の装置は、異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項１の方法に従って動作する。
【００２１】
まず、異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段とを用いて第１のステップ２１と第２のステップ２２と第３のステップ２３を実行し、撮影した画像データを記録手段を用いて記録する。次に画像データの演算手段を用いて第４のステップ２４と第５のステップ２５を実行する。
【００２２】
請求項１の方法および請求項２の装置を用いることによって、外光の存在する条件下でも形状計測が可能となり課題１を解決することができる。
【００２３】
課題２を解決するため、本発明請求項３の方法は以下に示すステップの処理を行う。第６のステップにおいて、十分に強い（弱い）光量の拡散光を照射して、請求項１の方法で被計測物体の３次元形状を計測する。第７のステップにおいて、第６のステップで取得した画像内で輝度値がオーバーフロー（アンダーフロー）して計測できなかった領域について、光量を弱く（強く）して、再度第６のステップを実行して計測できなかった領域を再計測する。第８のステップにおいて、計測できない領域がなくなるか、または、所定の反復回数に達するまで第７のステップを繰り返す。
【００２４】
十分に強い光量から計測を開始し徐々に光量を落とす場合を例にとって各ステップで行われる作用の説明を行う。まず、第６のステップにおいて、十分に強い光量の拡散光を照射して、請求項１の方法で被計測物体の３次元形状を計測する。すると、図３（Ａ）に示すような被計測物体の白い領域や照明に近い領域の輝度が撮影においてオーバーフローを起こしてしまい計測できなかった領域３５が発生している。
【００２５】
次に第７のステップにおいて光量を弱くして第６のステップを繰り返す。すると、図３（Ｂ）に示すように前回オーバーフローを起こして計測できなかった領域の一部が再計測可能となる。一方、被計測物体の黒い領域や照明から遠い領域の中からアンダーフローで計測できなかった領域３６が発生するが、該領域は前回の計測にて既に計測済みである。第８のステップにおいて、計測できない領域がなくなるか、または、所定の反復回数に達するまで第７のステップを繰り返す。すると、図３（Ｃ）に示すようにオーバーフローを起こしていた領域が全て再計測でき、図３（Ａ）から（Ｃ）までの計測できた領域を全てあわせると全領域が計測できていることになる。
十分弱い光量から始める場合は、図３（Ｃ）から始まり、図３（Ａ）にて計測が終了することとなる。
【００２６】
本発明請求項４の装置は、光量を変えられ異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項３の方法に従って動作する。
【００２７】
まず、光量を変えられ異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段とを用いて第６のステップを実行し、計測可能だった領域のみ計測結果を記録する。次に第７のステップを実行して新たに計測可能となった領域について計測結果を追加記録する。そして、計測できない領域がなくなるか、または、所定の反復回数に達するまで第７のステップを繰り返すことによって被計測物体の３次元形状を求める。
【００２８】
請求項３の方法または請求項４の装置を用いることによって、被計測物体の白黒の濃淡や照明からの遠近に関わらず全体の３次元形状が計測可能となり課題２を解決することができる。
【００２９】
課題３を解決するため、本発明請求項５の方法は以下に示すステップの処理を行う。第１のステップにて被計測物体までの距離を徐々にＮ回変えた距離から拡散光を被計測物体を照射し、各照射毎に被計測物体の画像を撮影、記録することによってＮ枚の画像１から画像Ｎまでを取得する。第２のステップにて、無照明で被計測物体を撮影、記録することによって画像Ｎ＋１を取得する。第３のステップにて画像１から画像Ｎ＋１の同位置の画素に記録された輝度値を演算することによって該画素に写っている被計測物体の距離を算出する。
【００３０】
その一例として、請求項１の方法を組み合わせて距離を算出する方法を示す。請求項１の方法を用いて距離を算出するためには距離の異なる拡散光で撮影された２枚の画像と画像Ｎ＋１が必要なので、例えば、Ｎ＝４（画像１から画像４）の撮影を行った場合には、画像１と画像２、画像２と画像３、画像３と画像４、画像１と画像３、画像２と画像４、画像１と画像４の組と、画像５（Ｎ＋１）で演算することによって６つの距離が算出できる。これらの平均値を最終的な距離とする。第４のステップにて第３のステップを全画素に行うことによって被計測物体の３次元形状を算出する。
【００３１】
請求項５の作用について説明する。図４は実際の距離と計測の結果得られる距離との関係を表したグラフを画像の組み合わせ毎に示した図である。４つの距離ｘ１、ｘ２、ｘ３、ｘ４（ただしｘ１＞ｘ２＞ｘ３＞ｘ４）から拡散光を照射して４枚の画像１から画像４を取得した場合、これらの画像の組み合わせによって得られるグラフを４５から４１０に示す。本来、理想的にはグラフは斜線でなければならないが、いずれのグラフも分解能が悪いため階段状の折れ線となる。しかし、これらのグラフの平均値を算出すると４１１が得られ、階段が細かくなる、つまり、計測分解能が向上して斜線に近づくのがわかる。
【００３２】
本発明請求項６の装置は、少なくとも３ヶ所以上の異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段と、画像データの記録手段と、画像データの演算手段を有し、請求項５の方法に従って動作する。
【００３３】
請求項６の装置の動作について説明する。少なくとも３ヶ所以上の異なる距離から拡散光を照射する照明手段と、被計測物体を撮影する手段と、画像データの記録手段を用いて第１のステップと第２のステップを実行する。次に、画像データの演算手段を用いて第３のステップと第４のステップを実行する。
【００３４】
請求項５の方法または請求項６の装置を用いることによって、計測分解能を向上した計測方法および装置を実現することができ課題３を解決できる。
【００３５】
【発明の実施の形態】
本発明請求項１の方法および請求項２の装置の一実施形態を図５および図６を用いて説明する。図５は請求項２の装置の構成図、図６は図５の装置を用いて行う請求項１の方法のフローチャートである。図５において、５１は遠方から拡散光を照射するライト、５２は手前から拡散光を照射するライト、５３は被計測物体、５４は撮影カメラであり、本実施例では画像データをデジタルデータとして出力するカメラを使用する。５５は画像データの格納メモリ、５６は画像の演算器、５７は形状データの格納メモリ、５８は全体の制御装置である。なお、５５から５８はパソコンやワークステーションで構成し、５６と５８にはＣＰＵを使用し、５５と５７はメモリまたは磁気記録媒体等の記憶領域を区分して使用しても良い。
【００３６】
請求項２の装置を用いて請求項１の方法を実行する動作を図６のフローチャートに従って説明する。ステップ６１において、制御装置５８は遠方のライト５１を点灯させ、撮影カメラ５４に被計測物体５３を撮影させて得られた画像データ１を画像メモリ５５に格納後、遠方のライト５１を消灯する。ステップ６２において、制御装置５８は手前のライト５２を点灯させ、撮影カメラ５４に被計測物体５３を撮影させて得られた画像データ２を画像メモリ５５に格納後、手前のライト５２を消灯する。ステップ６３において、撮影カメラ５４に被計測物体５３を撮影させて得られた画像データ３を画像メモリ５５に格納する。ステップ６４において、制御装置５８は画像演算器５６に座標値（ｉ，ｊ）を与えて、該座標値の画素の輝度値から距離データの算出を命令する。ステップ６５において、画像演算器５６は座標値（ｉ，ｊ）の画素の輝度値を画像１、画像２、画像３から取り出す。この輝度値をそれぞれＶ１、Ｖ２、Ｖ３とする。ステップ６６において、画像演算器５６は以下の式で示される演算を行って座標値（ｉ，ｊ）における距離データｘ（ｉ，ｊ）を算出し形状データメモリ５７に格納する。
（式８）ｘ（ｉ，ｊ）＝ｘ０／〔１−√｛（Ｖ１−Ｖ３）／（Ｖ２−Ｖ３）｝〕
【００３７】
なお、遠方のライト５１と手前のライト５２間の距離ｘ０は既知であり画像演算器５６に予め与えられているものとする。ステップ６７において、制御装置５８は画像の全座標において算出処理が終了したか判定し、算出処理されていれば終了する。そうでなければ、ステップ６８にて未算出の座標値（ｉ，ｊ）を決定してステップ６４に戻る。なお、画像を左上から順次走査して座標値（ｉ，ｊ）を決定し、右下の座標値に到達したことを終了の判定条件とすれば容易に座標値（ｉ，ｊ）決定や終了判定が実現できることは言うまでもない。
【００３８】
本発明請求項３の方法および請求項４の装置の一実施形態を図７および図８を用いて説明する。図７は請求項４の装置の構成図、図８は図７の装置を用いて行う請求項３の方法のフローチャートである。図７において、７１は指定された光量の拡散光を照射する遠方のライト、７２は指定された光量の拡散光を照射する手前のライト、７３は被計測物体、７４は撮影カメラであり、本実施例では画像データをデジタルデータとして出力するカメラを使用する。７５は画像データの格納メモリ、７６は画像の演算器、７７は形状データの格納メモリ、７８は全体の制御装置、７９は計測済みフラグデータの格納メモリである。なお、７５から７９はパソコンやワークステーションで構成し、７６と７８にはＣＰＵを使用し、７５と７７と７９はメモリまたは磁気記録媒体等の記憶領域を区分して使用しても良い。
【００３９】
また、遠方のライト７１や手前のライト７２の光量を制御する代わりに、撮影カメラ７４のシャッタ解放時間を制御することによって、光量を制御するのと同等の作用を行っても良い。
【００４０】
請求項４の装置を用いて請求項３の方法を実行する動作を図８のフローチャートに従って説明する。ステップ８１において照明の初期強度Ｌを設定する。次第に照明強度を下げながら計測する場合には、Ｌは十分大きな値とし、次第に照明強度を上げながら計測する場合には、Ｌは十分小さな値とする。次に、形状データメモリ７７に格納された画像全画素に対応して設けられた計測済みフラグＦを全て０にリセットする。ステップ８２において、制御装置７８は遠方のライト７１を強度Ｌで点灯させ、撮影カメラ７４に被計測物体７３を撮影させて得られた画像データ１を画像メモリ７５に格納後、遠方のライト７１を消灯する。ステップ８３において、制御装置７８は手前のライト７２を強度Ｌで点灯させ、撮影カメラ７４に被計測物体７３を撮影させて得られた画像データ２を画像メモリ７５に格納後、手前のライト７２を消灯する。ステップ８４において、撮影カメラ７４に被計測物体７３を撮影させて得られた画像データ３を画像メモリ７５に格納する。ステップ８５において、制御装置７８は計測済みフラグ格納メモリ７９に格納された全フラグを１画素毎に順次読み出し、座標値（ｉ，ｊ）のＦ＝０ならば座標値（ｉ，ｊ）を画像演算器７６に与えて該座標値の画素の距離データの算出を命令する。初期状態は全フラグＦ＝０なので、初めに実行するステップ８５は全画素について命令することになる。ステップ８６において、画像演算器７６は座標値（ｉ，ｊ）の画素の輝度値を画像１、画像２、画像３から取り出す。この輝度値をそれぞれＶ１、Ｖ２、Ｖ３とする。ステップ８７において、オーバーフローまたはアンダーフローの状態であるか調べる。予め設定された最大輝度値Ｖｍａｘに対してＶ１＞ＶｍａｘまたはＶ２＞Ｖｍａｘであった時にオーバーフローとみなし、予め設定されたＶｍｉｎに対してＶｍｉｎ＞｜Ｖ１−Ｖ２｜であった時にアンダーフローとみなす。どちらの状態であっても画像演算器７６はステップ８８の処理を行わない。どちらの状態にもない時は、計測可能と見なしてステップ８８に進む。ステップ８８において、画像演算器７６は以下の式で示される演算を行って座標値（ｉ，ｊ）における距離データｘ（ｉ，ｊ）を算出し７７に格納し、座標値（ｉ，ｊ）のフラグＦを１にセットする。
（式８）ｘ（ｉ，ｊ）＝ｘ０／〔１−√｛（Ｖ１−Ｖ３）／（Ｖ２−Ｖ３）｝〕
【００４１】
なお、遠方のライト７１と手前のライト７２間の距離ｘ０は既知であり画像演算器７６に予め与えられているものとする。ステップ８９において制御装置７８は計測済みフラグ格納メモリ７９の全フラグを調べ全てのフラグＦ＝１ならば終了する。そうでなければ、ステップ８１０からステップ８２〜８８を反復して繰り返すが、反復回数が一定以上になった場合にも終了する。ステップ８１０において、次第に照明強度を下げながら計測する場合にはＬを小さくし、次第に照明強度を上げながら計測する場合にはＬを大きくしてステップ８２に戻る。
【００４２】
本実施例ではどの画素の距離も一回の計測で求めることになるが、実際には数回計測できる場合もある。そこで、計測できる場合には距離を算出して全て形状データメモリ７７に書き込んでおき、計測終了後に複数回計測した距離の平均または加重平均を取ることによって最終的な距離としても良い。この場合、計算コストは増大するが、計測データのＳＮ比を向上できる利点がある。本実施形態では、照明強度を単調に減少または増加させながら計測を行う例を示した。しかし、本発明の方法では、照明強度は各撮影において互いに異なるように設定しさえすればよく、必ずしも単調に変化させなくてもよい。
【００４３】
本発明請求項５の方法および請求項６の装置の一実施形態を図９および図１０を用いて説明する。図９は請求項６の装置の構成図、図１０は図９の装置を用いて行う請求項５の方法のフローチャートである。図９において、９１は拡散光を照射するライト、９２はライトの距離を変える移動装置、９３は被計測物体、９４は撮影カメラであり、本実施例では画像データをデジタルデータとして出力するカメラを使用する。９５は撮影回数分の画像データの格納メモリ、９６は画像の演算器、９７は複数枚分の形状データの格納メモリ、９８は全体の制御装置、９９は最終形状データの格納メモリである。なお、９５から９９はパソコンやワークステーションで構成し、９６と９８にはＣＰＵを使用し、９５と９７と９９はメモリまたは磁気記録媒体等の記憶領域を区分して使用しても良い。また、９１と９２を組み合わせる代わりに、異なる距離に複数のライトを用意して切り替えて使っても良い。
【００４４】
図９の装置を用いて請求項５の方法を実行する動作を図１０のフローチャートに従って説明する。ステップ１０１において、制御装置９８は、移動装置９２に指令して、ライト９１を所定の位置に移動させ、ステップ１０２においてライト９１を点灯させ、撮影カメラ９４に被計測物体９３を撮影させて得られた画像データを画像メモリ９５に格納後、ライト９１を消灯する。ステップ１０３において、ステップ１０１とステップ１０２を所定の回数Ｎ繰り返す。なお、各繰り返し毎にライト９１は被計測物体９３との距離が小さくなるように移動させる。ステップ１０４において、撮影カメラ９４に被計測物体９３を撮影させて得られた画像データを画像メモリ９５に格納する。ステップ１０５において制御装置９８は形状データ算出に使う画像データｉと画像データｊ（ｉ≠ｊ）を画像演算器９６に与えて形状データの算出を命令する。ステップ１０６において、画像演算器９６は画像メモリ９５から画像データｉと画像データｊと画像データＮ＋１を取り出し、請求項１の方法に基づいて３次元形状データを算出し形状データメモリ９７に格納する。なお、オーバーフローやアンダーフローによって計測不能であった領域は計測不能の印をつけておく。これは該領域では距離に０や負数を書き込むことによって容易に実現できる。ステップ１０７にて、制御装置９８はステップ１０５とステップ１０６をＭ回繰り返す。なお、繰り返し毎に画像演算器９６に与えるｉとｊは変えるものとする。例えば、照明下で撮影した画像がＮ枚得られている場合、ｉとｊの組み合わせは最大でＮ（Ｎ−１）／２通りあるので、全ての組み合わせを実行するならＭ＝（Ｎ−１）／２となる。ただし、常に全部の組み合わせを計算させる必要はない。ステップ１０８にて形状データ１から形状データＭの平均値を求めて最終形状データメモリ９９に最終的な形状データを書き込む。各画素毎に距離の平均を求める際に、計測不能だった画素が含まれていた場合は、該画素を除いて平均を求める。
【００４５】
なお、本実施例では請求項１の方法を用いたが、計測不能領域を除去するため請求項３の方法を用いることができる。
また、特にアンダーフローは照明の距離差が小さい時に生成しやすいので、距離差の小さい撮影データの全組み合わせは除外して形状データを求めても良い。また、距離差が大きい画像を用いて算出した形状データほどノイズの影響の少ないデータとなるので、ステップ１０８において、単なる平均ではなく距離差に応じた重み付けをした加重平均を用いても良い。
【００４６】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００４７】
【発明の効果】
請求項１の方法および請求項２の装置を用いることによって、外光の存在する条件下でも形状計測が可能となる。
請求項３の方法または請求項４の装置を用いることによって、被計測物体の白黒の濃淡や照明からの遠近に関わらず全体の３次元形状が計測可能となる。
請求項５の方法または請求項６の装置を用いることによって、計測分解能を向上した計測方法および装置を実現することができる。
【図面の簡単な説明】
【図１】従来の装置の構成を示した図である。
【図２】本発明請求項１の方法を示した図である。
【図３】オーバーフロー領域やアンダーフロー領域の発生を示した図である。
【図４】実際の距離と計測された距離の対応を示すグラフである。
【図５】本発明請求項２の装置の実施例の構成図である。
【図６】本発明請求項１の方法の実施例のフローチャートである。
【図７】本発明請求項４の装置の実施例の構成図である。
【図８】本発明請求項３の方法の実施例のフローチャートである。
【図９】本発明請求項６の装置の実施例の構成図である。
【図１０】本発明請求項５の方法の実施例のフローチャートである。
【符号の説明】
１１…遠方の光源、１２…近方の光源、１３…被計測物体、１４…カメラ、３５…オーバーフローで計測できなかった領域、３６…アンダーフローで計測できなかった領域、４５〜４１１…実際の距離と計測の結果得られる距離との関係を表したグラフ、５１、７１…遠方のライト、５２、７２…手前のライト、５３、７３、９３…被計測物体、５４、７４、９４…撮影カメラ、５５、７５、９５…画像メモリ、５６、７６、９６…画像演算器、５７、７７、９７…形状データメモリ、５８、７８、９８…制御装置、７９…計測済みフラグ格納メモリ、９１…ライト、９２…移動装置、９９…最終形状データメモリ
【図１】
2004117235.tif 000003
【図２】
2004117235.tif 000004
【図３】
2004117235.tif 000005
【図４】
2004117235.tif 000006
【図５】
2004117235.tif 000007
【図６】
2004117235.tif 000008
【図７】
2004117235.tif 000009
【図８】
2004117235.tif 000010
【図９】
2004117235.tif 000011
【図１０】
2004117235.tif 000012