(57)【要約】【課題】  従来よりも対象物体への光の曝露量を増やすことなく、高精度に対象物体の三次元形状を得るための処理を提供することを目的とする。【解決手段】  互いに異なる複数のパターンが投影された物体を撮像して得られた画像データに基づいて生成された、前記物体の高さ分布を表す高さデータを取得する第１取得手段と、前記高さ分布に対応する前記物体の反射率分布を表す反射率データを取得する第２取得手段と、前記反射率データに基づいて、前記反射率分布における第１領域に用いる平滑化フィルタのカットオフ周波数よりも、前記第１領域よりも反射率が大きい第２領域に用いる平滑化フィルタのカットオフ周波数の方が高くなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行う処理手段と、を有することを特徴とする画像処理装置。【選択図】  図６
2018132452.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数のパターンが投影された物体を撮像して得られた画像データに基づいて生成された、前記物体の高さ分布を表す高さデータを取得する第１取得手段と、
前記高さ分布に対応する前記物体の反射率分布を表す反射率データを取得する第２取得手段と、
前記反射率データに基づいて、前記反射率分布における第１領域に用いる平滑化フィルタのカットオフ周波数よりも、前記第１領域よりも反射率が大きい第２領域に用いる平滑化フィルタのカットオフ周波数の方が高くなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行う処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記高さデータは、位相シフト法によって生成されたデータであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記平滑化フィルタは、ガウシアンフィルタであることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記平滑化フィルタは、移動平均フィルタであることを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項５】
前記反射率データは、前記画像データに基づいて生成されるデータであることを特徴とする請求項１乃至請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画像データは、正弦波状に輝度が変化するパターンを表すパターン画像と、前記パターン画像から正弦波の位相をずらしたパターンを表すパターン画像とが投影された前記物体を撮像することによって得られた複数の画像データであることを特徴とする請求項１乃至請求項５のいずれか一項に記載の画像処理装置。
【請求項７】
前記処理手段は、前記反射率データに基づいて、前記反射率分布における前記第１領域に用いる平滑化フィルタのフィルタサイズよりも、前記第１領域よりも反射率が大きい第２領域に用いる平滑化フィルタのフィルタサイズの方が小さくなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行うことを特徴とする請求項１乃至請求項６のいずれか一項に記載の画像処理装置。
【請求項８】
前記平滑化フィルタのフィルタサイズは、前記反射率データが表す反射率分布における反射率の対数と比例の関係にあることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記平滑化フィルタのフィルタサイズは、前記反射率データが表す反射率分布における反射率と反比例の関係にあることを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記物体に互いに異なる複数のパターンを投影するように、投影装置を制御する第１制御手段と、
前記第１制御手段によって制御された前記投影装置によって互いに異なる複数のパターンが投影された前記物体を撮像するように、撮像装置を制御する第２制御手段と、
前記第２制御手段によって制御された前記撮像手段の撮像によって得られた複数の前記画像データに基づいて、前記高さデータを生成する高さデータ生成手段と、をさらに有し、
前記第１取得手段は、前記高さデータ生成手段によって生成された前記高さデータを取得することを特徴とする請求項１乃至請求項９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記物体に互いに異なる複数のパターンを投影する投影手段と、
前記投影手段によって互いに異なる複数のパターンが投影された前記物体を撮像する撮像手段と、
前記撮像手段の撮像によって得られた複数の前記画像データに基づいて、前記高さデータを生成する高さデータ生成手段と、をさらに有し、
前記第１取得手段は、前記高さデータ生成手段によって生成された前記高さデータを取得することを特徴とする請求項１乃至請求項９のいずれか一項に記載の画像処理装置。
【請求項１２】
前記処理手段によって平滑化処理された前記高さデータに基づいて、プリンタが前記物体を表す３次元形状をプリントするためのプリントデータを生成するプリントデータ生成手段と、
前記プリントデータを前記プリンタに出力するプリントデータ出力手段と、
をさらに有することを特徴とする請求項１乃至請求項１１のいずれか一項に記載の画像処理装置。
【請求項１３】
前記処理手段によって平滑化処理された前記高さデータに基づいて、プリンタが前記物体を表す三次元形状をプリントするためのプリントデータを生成するプリントデータ生成手段と、
前記プリントデータに基づいて、前記物体を表す三次元形状をプリントするプリント手段と、
をさらに有することを特徴とする請求項１乃至請求項１１のいずれか一項に記載の画像処理装置。
【請求項１４】
前記処理手段によって平滑化処理された前記高さデータを表示装置に出力する高さデータ出力手段をさらに有することを特徴とする請求項１乃至請求項１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記処理手段によって平滑化処理された前記高さデータを表示する表示手段をさらに有することを特徴とする請求項１乃至請求項１３のいずれか一項に記載の画像処理装置。
【請求項１６】
互いに異なる複数のパターンが投影された物体を撮像して得られた画像データに基づいて生成された、前記物体の高さ分布を表す高さデータを取得する第１取得手段と、
前記高さ分布に対応する、前記物体において反射した光の光量分布を表す光量データを取得する第２取得手段と、
前記光量データに基づいて、前記光量分布における第１領域に用いる平滑化フィルタのカットオフ周波数よりも、前記第１領域よりも光量が多い第２領域に用いる平滑化フィルタのカットオフ周波数の方が高くなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行う処理手段と、
を有することを特徴とする画像処理装置。
【請求項１７】
互いに異なる複数のパターンが投影された物体を撮像して得られた画像データに基づいて生成された、前記物体の高さ分布を表す高さデータを取得する第１取得ステップと、
前記高さ分布に対応する前記物体の反射率分布を表す反射率データを取得する第２取得ステップと、
前記反射率データに基づいて、前記反射率分布における第１領域に用いる平滑化フィルタのカットオフ周波数よりも、前記第１領域よりも反射率が大きい第２領域に用いる平滑化フィルタのカットオフ周波数の方が高くなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行う処理ステップと、
を有することを特徴とする画像処理方法。
【請求項１８】
コンピュータを請求項１乃至請求項１６のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の三次元形状の測定に関する画像処理技術に関する。
【背景技術】
【０００２】
従来、物体の三次元形状を測定する方法として位相シフト法が知られている。位相シフト法では、明暗の縞パターンを位相をずらしながら対象物体に複数回投影し、縞パターンが投影された対象物体を撮像する。例えば、最初に投影した縞パターンに対して位相を２π／３、４π／３ずらしたパターンを投影し、対象物体を撮像することによって３種類の画像を取得する。このとき、撮像した各画像における同一画素位置の画素値（輝度）を用いて演算処理することにより各画素の位相が得られる。位相は投影装置における投影角度に対応するため、投影装置と撮像装置との位置関係が既知であれば、三角測量の原理から対象物の三次元形状が得られる。
【０００３】
位相シフト法においては、対象物体の光の反射率に応じて投影された縞パターンのコントラストが異なってしまう。対象物体の反射率が低い場合には、撮像された縞パターンがノイズに埋もれてしまう。一方で、反射率が高い場合には、撮像された縞パターンの一部が飽和してしまう。つまり、何れの場合も各画素の位相を正確に得ることができず、物体の三次元形状を正確に得ることはできない。位相シフト法によって物体の三次元形状を正確に得る技術として、特許文献１の技術がある。特許文献１の技術では、複数の光量で投影パターンを投影し、撮像した複数の画像から画素ごとに縞パターンのコントラストが高いものを選択している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１４６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術は、複数の光量で縞パターンを対象物体に投影し撮像するため、対象物体への光の曝露量が増え、対象物体へ与えるダメージが多くなってしまうという課題がある。
【０００６】
そこで本発明では、従来よりも対象物体への光の曝露量を増やすことなく、高精度に対象物体の三次元形状を得るための処理を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置は、互いに異なる複数のパターンが投影された物体を撮像して得られた画像データに基づいて生成された、前記物体の高さ分布を表す高さデータを取得する第１取得手段と、前記高さ分布に対応する前記物体の反射率分布を表す反射率データを取得する第２取得手段と、前記反射率データに基づいて、前記反射率分布における第１領域に用いる平滑化フィルタのカットオフ周波数よりも、前記第１領域よりも反射率が大きい第２領域に用いる平滑化フィルタのカットオフ周波数の方が高くなるように、前記高さデータに対して平滑化フィルタによる平滑化処理を行う処理手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明は、従来よりも対象物体への光の曝露量を増やすことなく、高精度に対象物体の三次元形状を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】三次元形状測定システムの装置構成を示すブロック図
【図２】画像処理装置１０５で実行されるプログラムの機能構成を示すブロック図
【図３】測定アプリケーション２０９の処理の流れを示すフローチャート
【図４】投影装置１０３が投影するパターン画像を説明する図
【図５】形状算出部２０８の機能構成を示すブロック図
【図６】三次元形状を算出する処理（Ｓ３０２）の流れを示すフローチャート
【図７】ノイズを低減する処理（Ｓ６０５）の流れを示すフローチャート
【図８】ノイズの特性を説明する図
【図９】形状算出部２０８の機能構成を示すブロック図
【発明を実施するための形態】
【００１０】
［実施例１］
＜３次元形状システムの装置構成について＞
図１は、三次元形状測定システムの装置構成を示す図である。１０１は測定の対象となる被測定物体であり、１０２は被測定物体１０１を固定するための試料台である。１０３は三次元形状測定に必要な二次元のパターン画像を被測定物体１０１に投影するための投影装置である。投影装置１０３としては、６４０×４８０画素であり、ＬＥＤ光源を用いた単板モノクロのＤＬＰ方式プロジェクターを用いるが、これに限るものではない。被測定物体１０１上に二次元のパターン画像を投影できるものであればどのようなものであってもよい。１０４は、投影装置１０３によりパターン画像が投影された被測定物体１０１を撮像する撮像装置である。撮像装置１０４としては、８６８８×５７９２画素のＣＭＯＳ方式のエリアセンサを有するＤＳＬＲ（Ｄｉｇｉｔａｌ  Ｓｉｎｇｌｅ  Ｌｅｎｓ  Ｒｅｆｌｅｘ  ｃａｍｒａ）に焦点距離が１００ｍｍのマクロレンズを組み合わせたものを用いる。また、撮像装置１０４は被測定物体１０１上の輝度に対し線形な信号値を得る光電変換特性を有しているものとする。また、記録される画像データは、各画素でＲＧＢ３チャンネルの色情報を有し、各チャンネルが１６ビットで量子化されるものとする。尚、撮像装置１０４は、光電変換特性やチャンネル数、量子化ビット数など上記一例に限定するものではない。１０５は投影装置１０３及び撮像装置１０４を制御して得られた画像データから、被測定物体１０１の三次元形状を算出する処理を行う画像処理装置である。本実施例における画像処理装置１０５は、ＣＰＵ、ＲＡＭ（ランダムアクセスメモリ）等の主記憶装置、ＨＤ（ハードディスク）やフラッシュメモリ等の補助記憶装置を備えたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）として説明する。ただし、画像処理装置１０５は、ＰＣに限るものではなく、マイクロコンピュータ等であってもよい。
【００１１】
投影装置１０３及び撮像装置１０４は、不図示のＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のインターフェースを介して画像処理装置１０５とそれぞれ接続されている。図１に示すように、本実施例では、撮像装置１０４は被測定物体１０１に正対するよう上方に配置され、斜め上方に投影装置１０３が配置されている。
【００１２】
＜画像処理装置１０５において実行されるプログラムの機能構成について＞
図２は画像処理装置１０５において実行されるプログラムの機能構成を示すブロック図である。尚、２０１はユーザからの操作を受け付ける入力装置であり、例えばキーボード、マウス等のデバイスである。また、２０２はユーザが入力した内容や測定条件、測定結果をユーザに提示する表示装置であり、液晶モニタ等のデバイスである。入力装置２０１、表示装置２０２は、何れも図１に不図示である。
【００１３】
撮像ドライバ２０３は、撮像装置１０４を制御するための命令群であり、撮像装置１０４の撮像条件を変更する命令や撮像の実行を指示する命令、撮像によって得られた画像データを撮像装置１０４から画像処理装置１０５へ送信するための命令を含んでいる。また、投影ドライバ２０４は、投影装置１０３を制御するための命令群であり、パターン画像データを画像処理装置１０５から投影装置１０３へ送信するための命令や、投影を開始、終了する命令を含んでいる。同様に、入力ドライバ２０５は、入力装置２０１の制御をおこなう命令群、表示ドライバ２０６は表示装置２０２を制御する命令群である。
【００１４】
取得制御部２０７は、投影ドライバ２０４、撮像ドライバ２０３に命令を送り、被測定物体１０１の三次元形状を算出するために必要な撮像画像データを取得する一連の処理を行う命令群である。形状算出部２０８は、取得制御部２０７が取得した撮像画像データから被測定物体１０１の三次元形状を算出する命令群である。また、ＵＩ管理部２０９は、ユーザが入力装置２０１に入力した情報の管理や、測定結果を表示装置２０２に表示する等の処理を行うユーザインターフェース（ＵＩ）機能を有する命令群である。測定アプリケーション２１０は、２０７〜２０９の命令群を連動させ、１つの測定アプリケーションとして機能させるための命令群である。
【００１５】
＜測定アプリケーション２１０の処理の流れについて＞
図３は、測定アプリケーション２１０の処理の流れを説明するフローチャートである。測定アプリケーション２１０は、まず、ステップＳ３０１にて、取得制御部２０７の命令群を用いて被測定物体１０１上にパターン画像を投影し、撮像する一連の処理を実行する。ステップＳ３０１の処理が終了すると、ステップＳ３０２において形状算出部２０８の命令群を実行し、撮像によって得られた画像データから被測定物体１０１の三次元形状情報を算出する。本実施例において得られる三次元形状情報は、撮像装置１０４のエリアセンサの各画素の高さ情報を各３２ビットの浮動小数点で記録した高さ画像（高さデータ）とするがこれに限るものではない。尚、高さ情報が表す高さは、試料台の表面からの被測定物体１０１の高さである。最後に、ステップＳ３０３において、ステップＳ３０２によって得られた三次元形状情報を表示装置２０２に表示し、処理を終了する。この処理は、３次元形状情報である高さデータの各画素に記録された高さを濃淡で示し二次元分布（高さ分布）を表示するなどの処理を行う。尚、ステップＳ３０３の処理を上記の処理に限定するものではなく、表示装置２０２に表示を行わず、不図示のＨＤやフラッシュメモリ等に直接記録するよう構成しても良い。
【００１６】
＜投影装置１０３が投影するパターン画像について＞
図４は、投影装置１０３が投影するパターン画像を説明する図である。図４に示すパターン画像は、投影装置１０３の画素と１対１に対応する６４０×４８０画素、０（黒）〜２５５（白）の画素値をとる８ビットのグレースケール画像であるものとして説明する。尚、画素数、ビット深度、色数等はこれに限るものではない。
【００１７】
図４（ａ）〜（ｃ）は、縞パターンを表すパターン画像である。本実施例ではこれらのパターン画像を被測定物体１０１に投影し、撮像された画像から位相を算出し、三次元形状を算出する。この縞パターンは、正弦波のパターンであり画素値は以下の式（１）〜式（３）で決定することができる。
【００１８】
【数１】
2018132452.tif 000003
【００１９】
【数２】
2018132452.tif 000004
【００２０】
【数３】
2018132452.tif 000005
【００２１】
ここで、Ｉ１（ｊ，ｉ）は、図４（ａ）の位置（ｊ，ｉ）の画素値を示している。同様にＩ２（ｊ，ｉ）は図４（ｂ）の画素値、Ｉ３（ｊ，ｉ）は図４（ｃ）の画素値を示している。尚、ｊは画像の横方向、ｉは画像の縦方向の位置を示す添字である。また、Ｎｃｙｃｌｅは正弦波１周期あたりの横方向の画素数を示すパラメータである。図４（ｄ）は、Ｉ１、Ｉ２、Ｉ３のｊに対する画素値の変化を示した図である。このように、図４（ａ）〜（ｃ）に示した縞パターンは、１／３周期ずつ位相をシフトさせたパターンである。また、図４（ｅ）は、図４（ｄ）におけるｊに対する位相の変化を示した図である。尚、位相ΦはＩ１、Ｉ２、Ｉ３から式（４）により算出したものである。
【００２２】
【数４】
2018132452.tif 000006
【００２３】
ただし、Φ（ｊ，ｉ）は０〜２πの値をとるものとする。位相シフト法は、これらの縞パターンを被測定物体１０１に投影したときの位相の変化から三次元形状を推定する。尚、本実施例は１／３周期ずつ位相をシフトさせた３枚の縞パターンを用いたが、これに限るものではない。例えば、１／６周期ずつ位相をシフトさせた６枚の縞パターンであってもよい。また、縞パターンの波形は正弦波状に限らず、三角波等、位相が推定可能なものであればどのような波形であってもよい。
【００２４】
＜三次元形状を算出する処理（Ｓ３０２）について＞
図５は、ステップＳ３０２を実行する形状算出部２０８の機能構成を示すブロック図である。読み込み部５０１は、撮像装置１０４によって撮像され、ＨＤ等の記録媒体に記録された撮像画像データを読み込む。第１生成部５０２は、図４（ａ）〜（ｃ）のパターン画像に対応する３枚の画像データから式（４）に従って各画素の位相を算出し、位相画像データを生成する。このとき、位相は、画像データのＧチャンネルのみを使用して算出する。尚、Ｒ、Ｇ、Ｂの各チャンネルを所定の重みで加算した輝度情報から算出しても良い。また、位相画像データは、各画素１チャンネル、０〜２πまでの値をとる３２ビットの浮動小数点の画素値が記録された画像データとして不図示のＲＡＭ等の記録媒体に記録されるものとするが、これに限るものではない。
【００２５】
第２生成部５０３は、被測定物体１０１の反射率分布を推定し、被測定物体１０１の反射率分布を表す反射率データを生成する。この反射率データは、位相画像データの各画素に対応する振幅値を反射率として算出することで得られる。各画素の反射率（振幅値）Ａは式（５）により算出できる。
【００２６】
【数５】
2018132452.tif 000007
【００２７】
反射率データは、３２ビットの浮動小数点の反射率（振幅値）が記録された画像データとして不図示のＲＡＭ等の記録媒体に記録される。
【００２８】
図４（ｅ）に示した図と同様に、位相画像データが表す位相画像は０〜２πの値を投影した縞パターンの周期に応じて繰り返すため、０と２πとの間で位相値が不連続となる。接続部５０４は、この不連続が生じないよう、Ｎ番目の周期の位相値に２πＮを加えることによって位相を接続する。周期を示す番号Ｎは、位相画像を幅方向にスキャンしたときに不連続点があらわれたらＮに１を加える処理を行うことで特定することができる。あるいは、周期を特定するためのグレイコードなどのパターン画像を投影し、撮像することで周期の特定を行ってもよい。以下、位相接続された位相画像データの位相値をΦＣとする。
【００２９】
第３生成部５０５は、位相接続された位相画像データが表す位相値ΦＣから高さＨを算出し、当該高さＨを表す高さデータを生成する。各画素の高さは、式（６）によって算出できる。
【００３０】
Ｈ（ｊ，ｉ）＝α（ΦＣ（ｊ，ｉ）−ΦＲ（ｊ，ｉ））・・・式（６）
ここで、ΦＲはリファレンスとして試料台１０２を測定した場合の、位相接続後の位相画像データが表す位相値である。リファレンスとなる位相画像データは予めＨＤ等に保存されている。このΦＲは、被測定物体１０１を除いた試料台１０２のみに対して接続部５０４による位相接続までの測定および処理を行うことによって取得できる。また、αは係数であり、位相の周期の長さや投影装置１０３の光軸と試料台１０２の法線とのなす角度に応じて予め決定された値である。
【００３１】
ノイズ低減部５０６は、第２生成部５０３で生成した反射率データに基づき、第３生成部５０５で生成した高さデータに対してノイズ低減処理を行う。処理の詳細は後述する。
【００３２】
図６は、三次元形状を算出する処理（Ｓ３０２）の流れを説明するフローチャートである。まず、ステップＳ６０１において、第１生成部５０２が位相画像データを生成する。次に、ステップＳ６０２において、第２生成部５０３が反射率データを生成する。そして、ステップＳ６０３において、接続部５０４が位相接続を行い、Ｓ６０４において、第３生成部５０５が高さデータを生成する。最後に、ステップＳ６０５において、ノイズ低減部５０６が高さデータに対してノイズ低減処理を行う。
【００３３】
＜ノイズを低減する処理（Ｓ６０５）について＞
図８は、式（４）のＩ１、Ｉ２、Ｉ３が表す正弦波信号の位相値の標準偏差を、反射率（振幅値）を横軸にしてプロットした図である。尚、当該正弦波信号には、標準偏差が０．４の正規分布特性を有するノイズを加えてある。この図から、式（４）により位相値を算出すると、正弦波の振幅値が低いときに急激に位相値の標準偏差が大きくなり、位相値がばらつくことがわかる。一般に、被測定物体１０１の反射率が低い場合、投影された正弦波パターンが被測定物体１０１で反射され、撮像装置１０４に入る光量が少なくなる。そのため、撮像された正弦波の振幅値が少なくなり、さらに撮像装置１０４のノイズが加わると位相値がばらつき、それに応じて式（６）で算出される高さもばらついてしまう。特に被測定物体１０１の領域ごとに反射率が大きく異なる場合には、反射率が高く明るいところノイズが小さく、反射率が低く暗いところでノイズが大きくなってしまう。この暗部でノイズが大きくなる高さデータを３Ｄプリンタ等で再現すると違和感のある不自然な再現となってしまう。そこで本実施例においては、どの反射率でもノイズが一様となるようノイズ低減を行う。尚、本実施例においては、高さデータに対して平滑化フィルタを用いたフィルタ処理（平滑化処理）を行うことによってノイズを低減する。
【００３４】
図７は、ノイズ低減部５０６で行われるノイズ低減処理（Ｓ６０５）の流れを説明するフローチャートである。まずステップＳ７０１において、ノイズ低減処理に用いる平滑化フィルタのフィルタ係数を決定する。ステップＳ６０４において生成された高さデータの各画素について、着目画素の周辺画素におけるフィルタ係数を決定する。具体的には、着目画素（ｊ、ｉ）の周辺画素の位置を（ｘ，ｙ）とすると、式（７）によって係数Ｃを決定する。
【００３５】
ｉｆ（│ｊ−ｘ│＜Ｎ／２）∩（│ｉ−ｙ│＜Ｎ／２）
Ｃ（ｘ，ｙ）＝１
ｏｔｈｅｒｗｉｓｅ
Ｃ（ｘ，ｙ）＝１
・・・式（７）
ただし、Ｎはフィルタサイズであり、式（８）によって決定される。
【００３６】
Ｎ＝αＡ（ｊ，ｉ）−β・・・式（８）
フィルタサイズＮは、反射率データが表す反射率Ａのβ乗に反比例するよう決定される。尚、α、βは予め設定された定数であり、α≧０、β≧１の値をとる。
【００３７】
ステップＳ７０２において、ステップＳ７０１で算出したフィルタ係数に基づき、高さＨを表す高さデータに対して式（９）により平滑化処理を行う。
【００３８】
Ｈ’（ｊ，ｉ）＝Σｘ，ｙＣ（ｘ，ｙ）Ｈ（ｊ＋ｘ，ｉ＋ｙ）／Σｘ，ｙＣ（ｘ，ｙ）
・・・式（９）
ここで、Ｈ’は平滑化処理後の高さデータが表す高さである。
【００３９】
ステップＳ７０３において、全画素を着目画素として処理したか確認し、処理されていない場合は画素の位置を示す変数ｊ、ｉを更新し、ステップＳ７０１に処理を戻す。全画素について処理された場合は、平滑化処理後の高さデータをＲＡＭまたはＨＤ等のメモリに記憶させて処理を終了する。
【００４０】
尚、式（８）において、βの値は図８に示した特性の横軸を反射率Ａの値とみなしてフィッティングすることで決定することができる。一般に、母集団が正規分布に従うと仮定したとき、標本平均の推定誤差は標本数をＭとしたとき１／√Ｍとなる。式（７）および式（９）で示した方法による平滑化は、Ｎ×Ｎの画素を標本とし平均を推定することとほぼ等しく、平滑化後の画素の推定精度、すなわちノイズ量は１／Ｎとなる。そこで、式（８）に示したように、反射率に応じて、高さデータのノイズ量と比例するようＮを決定すると、どの反射率においてもノイズ量が均一な高さデータを得ることができる。
【００４１】
以上で説明したように、本実施例では、被測定物体１０１の反射率分布に応じて適応的にノイズ低減を行う。これにより、投影パターンの光量を変えて撮像を複数回行う必要なく、どの反射率においてもノイズ量が均一な高さデータ（三次元形状情報）を得ることができる。また、反射率、つまり被測定物体１０１で反射した光量に応じて適応的にノイズ低減を行うため、投影装置１０３として比較的光の強度の弱い投影装置を用いても被測定物体１０１の反射率分布によらずノイズが均一な三次元形状情報を得ることができる。すなわち、被測定物体１０１への光の曝露によるダメージを軽減することが可能となる。また、撮像装置１０４の露光量が少なくてもノイズが均一な三次元形状情報が得られるため、撮像装置としてより安価なものが利用可能であると同時に、シャッター速度を短く設定できるため、測定時間を短縮することが可能である。
【００４２】
［変形例］
＜変形例１＞
実施例１においては、画像処理装置１０５が投影装置１０３および撮像装置１０４を制御することによって画像データを取得し、取得した画像データから反射率データおよび高さデータを生成していたが、上記一例には限定されない。予め投影装置１０３および撮像装置１０４を用いて、実施例１と同様の処理から反射率データおよび高さデータを予め生成しておいて、ＲＡＭまたはＨＤ等のメモリに記憶させておく。画像処理装置１０５は、記憶させておいた反射率データおよび高さデータをメモリから取得し、実施例１のノイズ低減処理を行うのみでもよい。この場合の画像処理装置１０５における形状算出部２０８の機能構成を図９に示す。この構成により、反射率データおよび高さデータの生成を行わずにノイズが均一な三次元形状情報を得ることができる。
【００４３】
＜変形例２＞
実施例１における平滑化フィルタは公知の移動平均フィルタであり、フィルタ係数を式（７）によって決定した。しかし、平滑化フィルタは移動平均フィルタに限定されず、公知のガウシアンフィルタを用いてもよい。この場合、フィルタ係数は以下の式（１０）を用いて決定する。
【００４４】
【数６】
2018132452.tif 000008
【００４５】
ここで、σ＝Ｎ／４である。このようにガウス分布関数に比例するよう係数を決定することによって、平滑化フィルタにおける着目画素（ｊ，ｉ）と周辺画素（ｘ，ｙ）との距離に応じて平滑化の重みを設定できるため、より好適な平滑化処理を行うことができる。
【００４６】
＜変形例３＞
実施例１では、フィルタサイズＮが反射率Ａと反比例の関係にあるとして式（８）によってＮを決定したが、上記一例に限定されない。図８の特性が横軸（反射率）の対数と比例関係にあるとみなし、式（１１）を用いてフィルタサイズＮを決定してもよい。
【００４７】
Ｎ＝α−β・ｌｏｇ（Ａ（ｊ，ｉ））・・・式（１１）
このとき、定数α、βはα≧０、β≧０の値をとる。
【００４８】
式（１０）をフーリエ変換し、カットオフ周波数ωＣを振幅が１／√２となるときの周波数とすると、以下の式（１２）が得られる。
【００４９】
【数７】
2018132452.tif 000009
【００５０】
式（７）をフーリエ変換し、カットオフ周波数を求めても同様の結果が得られる。式（１２）より、平滑化フィルタのカットオフ周波数が高くなると、フィルタサイズが小さくなることがわかる。実施例１において用いる平滑化フィルタは、式（８）又は式（１１）のように、反射率が大きい領域ではフィルタサイズが小さくなるように設計されている。このため、実施例１において用いる平滑化フィルタは、反射率が大きい（光量が多い）領域ではカットオフ周波数が高くなるように設計されていればよい。
【００５１】
＜変形例４＞
実施例１においては、撮像装置１０４を１台利用し、位相シフト法により三次元形状測定を行う例を示したが、これに限るものではなく、位相画像を算出する三次元形状測定の方法であればどのような方式でもよい。例えば、複数台の撮像装置を用い、それらから算出した位相画像をステレオマッチング法により対応させ、三角測量の原理により三次元形状を取得するいわゆるステレオ位相シフト法を用いてもよい。
【００５２】
＜変形例５＞
第２生成部５０３は、位相に対応する振幅値を算出することによって反射率データを生成したがこれに限るものではない。例えば、投影装置１０３から全面白色の投影パターンを投影し、投影された被測定物体１０１を撮像装置１０４で撮像して得られた画像データから、輝度情報を算出し、反射率データとして用いるよう構成してもよい。また、第２生成部が生成するデータは反射率分布を表す反射率データに限定されず、被測定物体１０１の光の反射率分布がわかれば、被測定物体１０１で反射した光の量の分布（光量分布）を表す光量データや輝度分布を表す輝度データであってもよい。
【００５３】
＜変形例６＞
実施例１では、ノイズ低減処理後の高さデータを表示装置２０２に表示する、もしくは、ＨＤやフラッシュメモリ等に直接記録する。しかし、上記の例には限定されない。例えば、ノイズ低減処理後の高さデータに基づいて、インクジェットプリンタや３Ｄプリンタなどのプリンタが被測定物体１０１を表す画像又は三次元形状をプリントするためのプリントデータを生成しプリンタに出力してもよい。この場合、形状算出部２０８は、プリントデータ生成部およびプリントデータ出力部を有する。または、画像処理装置１０５が生成したプリントデータに基づいてプリントを行うプリント部を有していてもよい。尚、プリントデータは、例えば、色材量を表す色材量データや色材を記録するか否かの２値を表す２値データ、三次元形状を表すＳＴＬデータなどである。
【００５４】
［その他の実施例］
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５５】
１０５  画像処理装置
９０１  第１取得部
９０２  第２取得部
５０６  ノイズ低減部
【図１】
2018132452.tif 000010
【図２】
2018132452.tif 000011
【図３】
2018132452.tif 000012
【図４】
2018132452.tif 000013
【図５】
2018132452.tif 000014
【図６】
2018132452.tif 000015
【図７】
2018132452.tif 000016
【図８】
2018132452.tif 000017
【図９】
2018132452.tif 000018