IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社キーエンスの特許一覧

特開2024-51799立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム
<>
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図1
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図2
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図3
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図4A
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図4B
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図5
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図6
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図7
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図8
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図9
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図10
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図11
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図12
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図13
  • 特開-立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024051799
(43)【公開日】2024-04-11
(54)【発明の名称】立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラム
(51)【国際特許分類】
   G01B 11/25 20060101AFI20240404BHJP
   G06T 7/521 20170101ALI20240404BHJP
【FI】
G01B11/25 H
G06T7/521
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022158132
(22)【出願日】2022-09-30
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】藤田 修平
(72)【発明者】
【氏名】名取 和毅
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA53
2F065DD03
2F065DD06
2F065FF04
2F065FF44
2F065HH07
2F065JJ26
2F065NN05
2F065NN12
2F065PP11
2F065QQ23
2F065QQ24
2F065QQ31
2F065QQ42
5L096CA04
5L096CA17
5L096EA05
5L096FA66
5L096FA69
5L096GA55
(57)【要約】
【課題】高精度な立体形状データの生成に要する時間を短縮する。
【解決手段】立体形状データ生成装置1は、構造化照明部110と、第1の明暗周期の構造化光を順次受光して複数のパターン画像データを順次生成するとともに、第1の明暗周期よりも長い第2の明暗周期の構造化光を順次受光して複数のパターン画像データを順次生成する撮像部120と、第1の明暗周期の構造化光を撮像部120が受光して生成された複数のパターン画像データに基づいて測定対象物の相対位相を算出する相対位相算出部301aと、第2の明暗周期の構造化光を撮像部120が受光して生成された複数のパターン画像データに平均化処理を実行し、測定対象物の絶対位相を算出する絶対位相算出部と、相対位相及び絶対位相に基づいて測定対象物の立体形状データを生成する立体形状データ生成部301cと、を備えている。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1の明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射するとともに、前記第1の明暗周期よりも長い第2の明暗周期を有する構造化光を測定対象物に複数回照射する構造化照明部と、
測定対象物で反射された前記第1の明暗周期を有する構造化光を、第1の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成するとともに、測定対象物で反射された前記第2の明暗周期を有する構造化光を、第1の露光時間よりも短い第2の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する撮像部と、
測定対象物で反射された前記第1の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに基づいて測定対象物の相対位相を算出する第1の算出部と、
測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対して平均化処理とダウンサンプリング処理とが実行された複数のパターン画像データを生成し、当該複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第2の算出部と、
前記第1の算出部により算出された測定対象物の相対位相と、前記第2の算出部により算出された測定対象物の絶対位相とに基づいて、測定対象物の立体形状データを生成する立体形状データ生成部と、を備える立体形状データ生成装置。
【請求項2】
請求項1に記載の立体形状データ生成装置であって、
前記撮像部の露光時間を決定するための目標輝度値と、前記第1の露光時間と前記第2の露光時間との比率と、が保持された設定テーブルを記憶する記憶部と、
前記撮像部の露光時間を設定する露光時間設定部とをさらに備え、
前記露光時間設定部は、
複数の異なる露光時間において前記撮像部により生成されたパターン画像データの輝度値と、前記設定テーブルに保持された目標輝度値とに基づいて前記第1の露光時間を設定し、
前記設定された第1の露光時間と、前記設定テーブルに保持された前記第1の露光時間と前記第2の露光時間との比率と、に基づいて、前記第2の露光時間を設定する立体形状データ生成装置。
【請求項3】
請求項1に記載の立体形状データ生成装置であって、
前記構造化照明部には、前記構造化光を生成するための光学素子が含まれ、
前記撮像部には、測定対象物で反射された構造化光を受光し、前記パターン画像データを生成するための受光素子が含まれ、
前記光学素子の分解能は、前記受光素子の分解能よりも大きく設定されている立体形状データ生成装置。
【請求項4】
請求項3に記載の立体形状データ生成装置であって、
前記第2の算出部は、前記受光素子の分解能に対する前記光学素子の分解能の比率に基づいて、前記複数のパターン画像データに平均化処理を実行する立体形状データ生成装置。
【請求項5】
請求項1に記載の立体形状データ生成装置であって、さらに、
前記第1の算出部が、測定対象物で反射された前記第1の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の相対位相を算出するとともに、前記第2の算出部が、測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第1の動作モードと、
前記第1の算出部が、測定対象物で反射された前記第1の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対する平均化処理を実行することなく測定対象物の相対位相を算出するとともに、前記第2の算出部が、測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第2の動作モードと、のいずれの動作モードで立体形状データの生成を行うかの選択を受け付ける受付部を備える立体形状データ生成装置。
【請求項6】
請求項5に記載の立体形状データ生成装置であって、
前記撮像部を有する測定部と、
前記測定部とは別体とされるとともに、前記第1の算出部、前記第2の算出部及び前記立体形状データ生成部を有するコントローラとをさらに備え、
測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対する平均化処理は、前記測定部に組み込まれた組み込みソフトウェアで実行され、
前記組み込みソフトウェアで平均化処理が実行された画像データが前記コントローラに転送される立体形状データ生成装置。
【請求項7】
請求項6に記載の立体形状データ生成装置であって、
測定対象物で反射された前記第1の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対する平均化処理は、前記コントローラの画像処理ソフトウェアで実行される立体形状データ生成装置。
【請求項8】
請求項5に記載の立体形状データ生成装置であって、
前記立体形状データ生成部は、前記第2の動作モードが選択された場合、前記第1の算出部により算出された測定対象物の相対位相と、前記第2の算出部により算出された測定対象物の絶対位相とに基づいて位相画像を生成し、生成した前記位相画像をアップサンプリングする立体形状データ生成装置。
【請求項9】
請求項5に記載の立体形状データ生成装置であって、
前記第1の動作モードが選択された場合の前記撮像部の露光時間を決定するための第1の目標輝度値と、前記第2の動作モードが選択された場合の前記撮像部の露光時間を決定するための第2の目標輝度値と、を記憶する記憶部をさらに備え、
前記第2の目標輝度値は、前記第1の目標輝度値よりも高く設定されている立体形状データ生成装置。
【請求項10】
第1の明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射し、測定対象物で反射された前記第1の明暗周期を有する構造化光を、第1の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第1の画像データ生成ステップと、
前記第1の明暗周期よりも長い第2の明暗周期を有する構造化光を測定対象物に複数回照射し、測定対象物で反射された前記第2の明暗周期を有する構造化光を、第1の露光時間よりも短い第2の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第2の画像データ生成ステップと、
前記第1の画像データ生成ステップで生成された複数のパターン画像データに基づいて測定対象物の相対位相を算出する第1の算出ステップと、
前記第2の画像データ生成ステップで生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第2の算出ステップと、
前記第1の算出ステップにより算出された測定対象物の相対位相と、前記第2の算出ステップにより算出された測定対象物の絶対位相とに基づいて、測定対象物の立体形状データを生成する立体形状データ生成ステップと、を備える立体形状データ生成方法。
【請求項11】
第1の明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射し、測定対象物で反射された前記第1の明暗周期を有する構造化光を、第1の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第1の画像データ生成ステップと、
前記第1の明暗周期よりも長い第2の明暗周期を有する構造化光を測定対象物に複数回照射し、測定対象物で反射された前記第2の明暗周期を有する構造化光を、第1の露光時間よりも短い第2の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第2の画像データ生成ステップと、
前記第1の画像データ生成ステップで生成された複数のパターン画像データに基づいて測定対象物の相対位相を算出する第1の算出ステップと、
前記第2の画像データ生成ステップで生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第2の算出ステップと、
前記第1の算出ステップにより算出された測定対象物の相対位相と、前記第2の算出ステップにより算出された測定対象物の絶対位相とに基づいて、測定対象物の立体形状データを生成する立体形状データ生成ステップと、をコンピュータに実行させる立体形状データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、測定対象物の立体形状データを生成する立体形状データ生成装置、立体形状データ生成方法及び立体形状データ生成プログラムに関する。
【背景技術】
【0002】
従来より、ステージに載置された測定対象物の立体形状データを生成する立体形状データ生成装置が知られている。特許文献1に開示されている立体形状データ生成装置は、ステージに載置された測定対象物に所定のパターンを有する構造化光を照射し、測定対象物で反射された構造化光を撮像部で受光して測定対象物のパターン画像データを生成し、生成されたパターン画像データに基づいて、測定対象物の立体形状データを生成可能に構成されている。
【0003】
この特許文献1の構造化光の照射範囲は、ステージの上面によって構成される載置面よりも大きな範囲となるように設定されている。これにより、撮像部の撮像視野を広げて測定範囲を拡大している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-4277号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、特許文献1のように測定範囲を拡大すると、当該測定範囲に照射される構造化光が暗くなるため、精度よく測定するためには、より長い露光時間が必要になる。その結果、測定の長時間化を招き、ユーザの利便性が低下する。特に、明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射し、複数のパターン画像データを順次生成する場合には、この問題が顕著なものになる。
【0006】
本開示は、かかる点に鑑みたものであり、その目的とするところは、高精度な立体形状データの生成に要する時間を短縮することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本態様では、構造化照明部と撮像部とを備えた立体形状データ生成装置を前提とすることができる。構造化照明部は、第1の明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射するとともに、前記第1の明暗周期よりも長い第2の明暗周期を有する構造化光を測定対象物に複数回照射可能に構成されている。撮像部は、測定対象物で反射された前記第1の明暗周期を有する構造化光を、第1の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成するとともに、測定対象物で反射された前記第2の明暗周期を有する構造化光を、第1の露光時間よりも短い第2の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成可能に構成されている。測定対象物で反射された前記第1の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに基づいて、第1の算出部が測定対象物の相対位相を算出し、また、第2の算出部は、測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対して平均化処理とダウンサンプリング処理とが実行された複数のパターン画像データを生成し、当該複数のパターン画像データに基づいて測定対象物の絶対位相を算出する。立体形状データ生成部は、前記第1の算出部により算出された測定対象物の相対位相と、前記第2の算出部により算出された測定対象物の絶対位相とに基づいて、測定対象物の立体形状データを生成する。
【0008】
この構成によれば、明暗周期が第1の明暗周期に比べて長い第2の明暗周期を有する構造化光の照射によって生成されたパターン画像データは、第2の算出部が平均化処理を実行して解像度が低下したとしても、大まかな絶対位相を把握することができる。精度よく測定するためには、精度よく相対位相を算出することが望ましく、絶対位相は相対位相の周期ずれを取り除けるような精度であればよいので、大まかな絶対位相が把握できれば測定精度の低下は回避できる。第2の明暗周期を有する構造化光の照射によって生成されたパターン画像データに対して平均化処理を実行することで、平均化処理を実行しない場合に比べて、同じ明るさを得るための露光時間は短くて済むため、測定時間が短縮する。
【0009】
前記構造化照明部には、前記構造化光を生成するための光学素子が含まれていてもよく、また、前記撮像部には、測定対象物で反射された構造化光を受光し、前記パターン画像データを生成するための受光素子が含まれていてもよい。この場合、前記光学素子の分解能は、前記受光素子の分解能よりも大きく設定することができる。
【0010】
この構成によれば、構造化照明部の光学素子の分解能の方が大きいため、撮像部の受光素子で得られるパターン画像データを平均化しても測定精度の低下を招くことなく、立体形状データの生成ができる。
【0011】
前記第2の算出部は、前記受光素子の分解能に対する前記光学素子の分解能の比率に基づいて、前記複数のパターン画像データに平均化処理を実行してもよい。この構成によれば、受光素子と光学素子の分解能の関係性に基づいて平均化量を決定することで、測定精度の低下を招くことなく立体形状データの生成ができる。
【0012】
測定対象物で反射された前記第2の明暗周期を有する構造化光を前記撮像部が順次受光することにより生成された複数のパターン画像データに対する平均化処理は、前記測定部に組み込まれた組み込みソフトウェアで実行できる。前記組み込みソフトウェアで平均化処理が実行された画像データは前記コントローラに転送して位相の算出や立体形状データの生成を実行できる。これにより、測定部からコントローラへ転送されるデータ量を少なくすることができる。
【0013】
また、第1の明暗周期を有する構造化光を位相シフトさせつつ測定対象物に複数回照射し、測定対象物で反射された前記第1の明暗周期を有する構造化光を、第1の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第1の画像データ生成ステップと、前記第1の明暗周期よりも長い第2の明暗周期を有する構造化光を測定対象物に複数回照射し、測定対象物で反射された前記第2の明暗周期を有する構造化光を、第1の露光時間よりも短い第2の露光時間で順次受光することにより測定対象物の画像を示す複数のパターン画像データを順次生成する第2の画像データ生成ステップと、前記第1の画像データ生成ステップで生成された複数のパターン画像データに基づいて測定対象物の相対位相を算出する第1の算出ステップと、前記第2の画像データ生成ステップで生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいて測定対象物の絶対位相を算出する第2の算出ステップと、前記第1の算出ステップにより算出された測定対象物の相対位相と、前記第2の算出ステップにより算出された測定対象物の絶対位相とに基づいて、測定対象物の立体形状データを生成する立体形状データ生成ステップと、を備える立体形状データ生成方法も本開示の範囲に含まれる。さらに、立体形状データ生成方法をコンピュータに実行させるための立体形状データ生成プログラムも本開示の範囲に含まれる。
【発明の効果】
【0014】
以上説明したように、明暗周期が相対的に短い構造化光の照射によって生成されたパターン画像データに基づいて相対位相を算出する一方、明暗周期が相対的に長い構造化光の照射によって生成されたパターン画像データに対して平均化処理を実行することによって露光時間が短くても精度よく絶対位相を算出し、算出された相対位相及び絶対位相に基づいて立体形状データを生成することができる。これにより、高精度な立体形状データの生成に要する時間を短縮できる。
【図面の簡単な説明】
【0015】
図1】本発明の実施形態1に係る立体形状データ生成装置の全体構成を示す図である。
図2】立体形状データ生成装置のブロック図である。
図3】構造化照明部が有する光学素子を模式的に示す平面図である。
図4A】構造化照明部から照射されるグレイコードパターン光を示す図である。
図4B】構造化照明部から照射されるマルチスリットパターン光を示す図である。
図5】撮像部が有する受光素子を模式的に示す平面図である。
図6】例1~4に係る画像データの処理について説明する図である。
図7】例2に係る図2相当図である。
図8】例3に係る図2相当図である。
図9】例4に係る図2相当図である。
図10】動作モードごとの処理の相違を説明する図である。
図11】動作モード設定用ユーザインターフェースの一例を示す図である。
図12】露光時間の設定テーブルの一例を示す図である。
図13】立体形状データ生成手順の一例を示すフローチャートである。
図14】本発明の実施形態2に係る立体形状データ生成装置の全体構成を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0017】
(実施形態1)
図1は、本発明の実施形態1に係る立体形状データ生成装置1の全体構成を示す図である。立体形状データ生成装置1は、ワーク(測定対象物)Wの立体形状データを生成するシステムであり、例えば、ワークWの形状を測定することによって取得したワークWのメッシュデータをCADデータに変換して出力することが可能になっている。この立体形状データ生成装置1を用いることで、立体形状データ生成方法を実行することができる。
【0018】
特に限定されるものではないが、立体形状データ生成装置1及び立体形状データ生成方法は、例えば既存製品のCADデータを取得して次機種展開や形状解析をCAD・CAE上で実施したり、製品デザインにおけるモデルやモックの形状を製品設計に反映したり、嵌合する相手部品の形状に基づいて嵌合元となる製品を設計したり、試作品の形状に基づいて改良設計を行う場合等に利用される。したがって、ワークWとしては、例えば既存製品、モデル、モック、試作品等を挙げることができる。
【0019】
また、立体形状データ生成装置1は、ワークWのメッシュデータをサーフェスデータに変換して出力することも可能である。ワークWのメッシュデータをサーフェスデータに変換して出力することで、ユーザのリバースエンジニアリング工程、リバースエンジニアリング作業を支援することができるので、立体形状データ生成装置1は、リバースエンジニアリング支援装置と呼ぶこともできる。
【0020】
以下の説明では、ワークWの形状を測定する際に、ワークW表面の座標情報を取得するにあたり、測定用の構造化光をワークWに対して照射して、ワークWの表面で反射された構造化光に基づいて座標情報を取得している。例えば、ワークWの表面で反射された構造化光から得られる縞投影画像を用いた三角測距による計測方法を適用することができる。ただ、本発明では、ワークWの座標情報を取得するための原理や構成は、これに限らず、他の方法も適用することができる。
【0021】
立体形状データ生成装置1は、測定部100と、台座部200と、コントローラ300と、表示部400と、操作部500とを備えている。図2に示すように、測定部100は、構造化照明部110と撮像部120とを備えるとともに、構造化照明部110及び撮像部120が取り付けられる筐体100Aを備えている。さらに、測定部100は、構造化照明部110及び撮像部120を制御する測定制御部130も備えている。測定制御部130は、筐体100Aに設けられていてもよいし、コントローラ300側に設けられていてもよい。
【0022】
筐体100Aは、コントローラ300とは別体とされて支持部600によって支持されている。支持部600は、ベース部601と、ベース部601に固定された伸縮部602と、伸縮部602の上部に設けられた角度調整部603とを備えた可搬性のものであり、ユーザによって設置位置を自由に設定できる。角度調整部603に測定部100が着脱可能に取り付けられている。伸縮部602を上下方向に伸縮させることで測定部100の高さ調整が可能である。また、角度調整部603は、例えば水平軸周りの回動、鉛直軸周りの回動、傾斜軸周りの回動等が調整可能に構成されている。これにより、測定部100の水平面に対する設置角、鉛直面に対する設置角を任意に調整することができる。
【0023】
支持部600は、上述した構成に限られるものではなく、例えば三脚、自由に屈曲させて屈曲させた形状を維持することが可能なフレキシブルアーム、ブラケット等、またはこれらを組み合わせて構成されていてもよい。また、測定部100は、例えば産業用ロボットの6自由度アームに取り付けて使用することもできる。さらに、測定部100は、ユーザが手で持って使用することもでき、この場合、支持部600は不要になる。つまり、支持部600は、立体形状データ生成装置1の一部に含まれる部材であってもよいし、立体形状データ生成装置1に含まれない部材であってもよい。
【0024】
ユーザが筐体100Aを持ってワークWを測定する場合には、測定部100をワークWの製造現場等に持ち込んで測定することができる。この場合、ユーザが測定部100を任意の位置に移動させて任意のタイミングで撮像することでワークWの形状を測定できる。これを手動測定と呼ぶことができる。
【0025】
また、測定部100を支持部600で支持するとともに、ワークWを、後述する自動回転式の台座部200に載置することで、ワークWを台座部200によって回転させながら、所定のタイミングで撮像することでワークWの広範囲の形状を測定できる。これを半自動測定と呼ぶことができる。尚、ワークWを台座部200に載置することなく、例えば定盤等に載置して測定することもできる。
【0026】
また、測定部100を産業用ロボットのアームに取り付けて移動させることで、ユーザの手を介することなく、ワークWの広範囲の形状を測定できる。これを全自動測定と呼ぶことができる。本発明は、手動測定、半自動測定及び全自動測定の全てに適用可能である。
【0027】
図2に示すように、測定部100は、測定用の構造化光をワークWに対して照射する構造化照明部110と、構造化照明部110により照射され、ワークWで反射された構造化光を受光し、ワークWのパターン画像データを生成する撮像部120とを備えている。測定部100は、複数の構造化照明部110を含んでいてもよく、例えば、第一の方向からワークWに対して第一構造化光を照射可能な第一構造化照明部と、第一の方向とは異なる第二の方向からワークWに対して第二構造化光を照射可能な第二構造化照明部がそれぞれ設けられていてもよい。また、測定部100は、複数の撮像部120を含んでいてもよい。
【0028】
なお、図示しないが、構造化照明部110を3以上備えたり、あるいは構造化照明部110と台座部200を相対移動させて、共通の構造化照明部110を用いつつも、構造化光の照射方向を異ならせてワークWに投光させることも可能である。また、構造化照明部110を複数用意し、共通の撮像部120で受光する構成とする以外に、共通の構造化照明部110に対して、複数の撮像部120を用意して受光するように構成してもよい。さらに構造化照明部110が投光する構造化光のZ方向に対する照射角度を固定としてもよいし、可変としてもよい。
【0029】
構造化照明部110は、測定光源111、光学素子112及び複数のレンズ113を含んでいる。測定光源111は、単色光を発光する光源、例えば白色光を出射するハロゲンランプ、青色光を出射する青色LED(発光ダイオード)、有機EL等の光源を用いることができる。測定光源111から出射された光は、集光された後、光学素子112に入射される。
【0030】
光学素子112は、構造化光をワークWに対して照射するよう、測定光源111から出射された光を反射させる。光学素子112に入射した測定光は、予め設定されたパターン及び予め設定された強度(明るさ)に変換されて出射される。光学素子112により出射された構造化光は、複数のレンズ113により撮像部120の観察・測定可能な視野よりも大きい径を有する光に変換された後、ワークWに照射される。
【0031】
光学素子112は、構造化光をワークWに照射する照射状態と、構造化光をワークWに照射しない非照射状態とに切り替え可能な部材である。このような光学素子112には、例えばDMD(デジタルマイクロミラーデバイス)等を利用できる。DMDを用いた光学素子112は、照射状態として構造化光を光路上に向けて反射させる反射状態と、非照射状態として構造化光を遮光させる遮光状態とを切り替え可能に、測定制御部130により制御できる。
【0032】
図3は、DMDからなる光学素子112を模式的に示す平面図であり、ワークWに対応する形状も一緒に記載している。光学素子112は、多数のマイクロミラー(微小鏡面)112aを平面上(X方向及びY方向)に配列した素子である。各マイクロミラー112aは、測定制御部130により個別にON状態、OFF状態を切り替えることができるので、多数のマイクロミラー112aのON状態、OFF状態を組み合わせて、測定用の構造化光として所望の投影パターンを持った光を生成できる。これによって、三角測距に必要なパターンを生成して、ワークWの形状の測定が可能となる。このように光学素子112は、測定時には測定用の周期的な投影パターンをワークWに照射する光学系の一部として機能する。またDMDは応答速度にも優れ、シャッターなどに比べ高速に動作させることができる利点も得られる。
【0033】
光学素子112を制御することで、明暗周期を有する複数種の構造化光を生成できる。具体的には、光学素子112は、例えば図4Aに示すグレイコードパターン光や、図4Bに示すマルチスリットパターン光等を構造化光として生成できる。グレイコードパターン光の明暗周期は、マルチスリットパターン光の明暗周期よりも長くなっており、従って、グレイコードパターン光を低周波の構造化光と呼ぶことができるとともに、マルチスリットパターン光を高周波の構造化光と呼ぶことができる。マルチスリットパターン光は、第1の明暗周期を有する構造化光であり、グレイコードパターン光は、第1の明暗周期よりも長い第2の明暗周期を有する構造化光である。第1の明暗周期よりも長い第2の明暗周期を有する構造化光としては、グレイコードパターン光に限られるものではなく、マルチスリット光であってよく、この場合、マルチスリットの位相違いで相対位相と絶対位相を算出することができる。
【0034】
光学素子112を制御することで明暗周期が異なる複数のグレイコードパターン光を生成することができるとともに、マルチスリットパターン光の位相を変えて互いに位相の異なる複数のマルチスリットパターン光を生成することができる。位相の異なる周期パターンを投影し、複数の取得画像から位相値を推定する手法を位相シフト法という。このような位相シフト法による測定は、正弦波ないしは白黒幅均等のバイナリパターンを用いて行うことができる。
【0035】
構造化照明部110は、ワークWの形状を測定する際に、光学素子112を制御することでグレイコードパターン光をワークWに複数回照射することができるとともに、マルチスリットパターン光を位相シフトさせつつワークWに複数回照射することができる。
【0036】
なお以上の例では、光学素子112にDMDを用いた例を説明したが、本発明は光学素子112をDMDに限定するものでなく、他の部材を用いることもできる。例えば、光学素子112として、LCOS(Liquid Crystal on Silicon:反射型液晶素子)を用いてもよい。あるいは反射型の部材に代えて透過型の部材を用いて、構造化光の透過量を調整してもよい。この場合は、光学素子112を光路上に配置して、光を透過させる照射状態と、光を遮光させる遮光状態とを切り替える。このような光学素子112には、例えばLCD(液晶ディスプレイ)が利用できる。あるいは、複数ラインLEDを用いた投影方法、複数光路を用いた投影方法、レーザとガルバノミラー等で構成される光スキャナ方式、ビームスプリッタで分割したビームを重ね合わせることによって発生された干渉縞を用いるAFI(Accordion fringe interferometry)方式、ピエゾステージと高分解能エンコーダ等で構成される実体格子と移動機構を用いた投影方法等で光学素子112を構成してもよい。尚、光学素子112は、パターンを生成することなく、均一光を照射することもできる。
【0037】
撮像部120は、受光素子121と複数のレンズ122とを含んでいる。ワークWで反射された構造化光は、レンズ122に入射して集光、結像された後、受光素子121により受光されてパターン画像データが生成される。撮像部120には、高倍のレンズ122を備えた高倍撮像部と、低倍のレンズ122を備えた低倍撮像部とが含まれていてもよい。また、レンズ122は倍率の変更が可能なズームレンズ等であってもよく、倍率の変更が可能な撮像部120であってもよい。撮像時の倍率と画像データとが対応付けられるようになっており、どの倍率で撮像された画像データであるかの識別が可能になっている。
【0038】
受光素子121は、例えばCCD(電荷結合素子)や、CMOS(相補性金属酸化膜半導体)等のイメージセンサで構成されている。図5は、受光素子121を模式的に示す平面図である。受光素子121は、多数の光電変換器121aを平面上(X方向及びY方向)に配列した素子であり、各光電変換器121aが各画素を構成している。図3に示す光学素子112と、図5に示す受光素子121とは、X方向とY方向が対応している。光学素子112のX方向に並ぶマイクロミラー112aの数は、受光素子121のX方向に並ぶ光電変換器121aの数よりも少なく設定され、また、光学素子112のY方向に並ぶマイクロミラー112aの数は、受光素子121のY方向に並ぶ光電変換器121aの数よりも少なく設定されている。つまり、光学素子112の分解能は、受光素子121の分解能よりも大きく設定されている。特に限定されるものではないが、本例では、光学素子112のX方向に並ぶマイクロミラー112aの数が受光素子121のX方向に並ぶ光電変換器121aの1/2とされ、また光学素子112のY方向に並ぶマイクロミラー112aの数が受光素子121のY方向に並ぶ光電変換器121aの1/2とされている。
【0039】
受光素子121の各画素からは、受光量に対応するアナログの電気信号(以下、「受光信号」と呼ぶ。)が後述するA/D変換器に出力される。カラーの受光素子は各画素を赤色用、緑色用、青色用の受光に対応させる必要があるため、モノクロの受光素子と比較すると計測分解能が低く、また各画素にカラーフィルタを設ける必要があるため感度が低下する。そのため、本実施形態では、受光素子121としてモノクロのCCDを採用している。なお、受光素子121として、カラーの受光素子を用いてもよい。
【0040】
撮像部120には、図示しないA/D変換器(アナログ/デジタル変換器)及びFIFO(First In First Out)メモリ、CPU等が実装されている。受光素子121から出力される受光信号は、A/D変換器により一定のサンプリング周期でサンプリングされると共にデジタル信号に変換される。A/D変換器から出力されるデジタル信号は、FIFOメモリに順次蓄積される。FIFOメモリに蓄積されたデジタル信号は画素データとしてCPUへ順次出力されて、CPUでパターン画像データが生成される。
【0041】
受光素子121から出力される受光信号に基づいて、特定の位置において受光素子121の視野内に含まれるワークWの立体形状を表すパターン画像データを生成する。パターン画像データは、受光素子121で取得された画像そのものである。例えば位相シフト方式でワークWの形状を測定する場合、複数枚の画像がパターン画像データを構成することになる。
【0042】
構造化照明部110がマルチスリットパターン光を位相シフトさせつつワークWに照射すると、撮像部120は、マルチスリットパターン光がワークWに照射される都度、当該ワークWから反射されたマルチスリットパターン光を第1の露光時間で順次受光する。これにより、撮像部120は、マルチスリットパターン光が照射されたときのワークWの画像を示す複数のパターン画像データを順次生成する。
【0043】
また、構造光照明部110が、明暗周期の異なる複数のグレイコードパターン光をワークWに照射すると、撮像部120は、グレイコードパターン光がワークWに照射される都度、当該ワークWから反射されたグレイコードパターン光を、第1の露光時間よりも短い第2の露光時間で順次受光する。これにより、撮像部120は、グレイコードパターン光が照射されたときのワークWの画像を示す複数のパターン画像データを順次生成する。グレイコードパターン光の露光時間が、マルチスリットパターン光の露光時間よりも短い理由については後述する。グレイコードパターン光のパターン画像データの数は、マルチスリットパターン光のパターン画像データの数よりも多い。
【0044】
なお、パターン画像データは、三次元位置情報を有する点の集合である点群データであってもよく、この点群データにより、ワークWのパターン画像データを取得できる。点群データは、三次元座標を有する複数の点の集合体で表現されるデータである。生成されたパターン画像データはコントローラ300に転送される。
【0045】
操作部500は、例えばキーボード501やマウス502等のポインティングデバイスを含むことができる。ポインティングデバイスとしては、例えばジョイスティック等を用いてもよい。また、操作部500は、ユーザによるタッチ操作を感知するタッチパネル等が含まれていてもよい。操作部500と、コントローラ300内の演算装置301とが接続されており、操作部500によってどのような操作がなされたかは、演算装置301で検出可能になっている。
【0046】
台座部200は、ベースプレート201と、ワークWが載置される載置面を形成するステージ202と、回転機構203とを備えている。台座部200は、ワークWをステージ202上でクランプするクランプ機構を含んでいてもよい。回転機構203は、ベースプレート201とステージ202との間に設けられており、ステージ202をベースプレート201に対して鉛直軸(図1に示すZ軸)周りに回転させる機構である。従って、ステージ202は回転ステージであり、ワークWを載置した状態で回転させることにより、撮像部120に対するワークWの相対的な位置関係を切り替えることが可能になる。Z軸を中心に回転する方向をθ方向と定義し、矢印θで示す。また、台座部200は、載置面に平行な軸を中心に回転可能な機構を有するチルトステージを含んでもよい。
【0047】
回転機構203は、後述する測定制御部130によって制御されるモータ等を有しており、ステージ202を所望の回転角度だけ回転させた後、停止状態で保持可能になっている。台座部200は、本発明に必須な構成要素ではなく、必要に応じて設けられるものである。また、台座部200は、コントローラ300によって制御されてもよい。
【0048】
図示しないが、台座部200は、ステージ202を、水平かつ互いに直交するX方向及びY方向に移動させる並進機構を備えていてもよい。並進機構も、測定制御部130やコントローラ300によって制御されるモータ等を有しており、ステージ202をX方向及びY方向に所望の移動量だけ移動させた後、停止状態で保持可能になっている。尚、本発明は、ステージ202が固定式のステージであっても適用可能である。
【0049】
コントローラ300は、演算装置301、作業用メモリ302、ROM(リードオンリメモリ)303、記憶部304、及び、表示部400を制御する表示制御部305等を含んでいる。コントローラ300には、PC(パーソナルコンピュータ)等が利用できるが、専用のコンピュータのみ、あるいは、PCと専用のコンピュータとの組み合わせで構成されていてもよい。
【0050】
コントローラ300のROM303には、例えばシステムプログラム等が記憶される。コントローラ300の作業用メモリ302は、例えばRAM(ランダムアクセスメモリ)からなり、種々のデータの処理のために用いられる。記憶部304は、例えばソリッドステートドライブや、ハードディスクドライブ等からなる。記憶部304には、立体形状データ生成プログラムが記憶される。また、記憶部304は、測定制御部130から与えられる画素データ(パターン画像データ)、ワークWの測定条件(設定テーブル)等の種々のデータを保存するために用いられる。測定条件としては、例えば構造化照明部110の設定(パターン周波数、パターン種類)、撮像部120の倍率、測定視野(単一視野か広視野か)、測定位置、回転姿勢、露光条件(露光時間、ゲイン、照明の明るさ)、解像度設定(低解像度測定、標準測定、高解像度測定)等が含まれる。
【0051】
演算装置301は、与えられた信号やデータを処理して各種の演算を行い、演算結果を出力する制御回路や制御素子で構成されている。本明細書において演算装置301とは、演算を行う素子や回路を意味し、その名称によらず、汎用PC向けのCPUやMPU、GPU、TPU等のプロセッサに限定するものでなく、FPGA、ASIC、LSI等のプロセッサやマイコン、あるいはSoC等のチップセットを含む意味で使用する。
【0052】
演算装置301は、撮像部120が生成したパターン画像データに対し、作業用メモリ302を用いて各種処理を行う。演算装置301により、相対位相算出部301a、絶対位相算出部301b、立体形状データ生成部301c、露光時間設定部301d及び受付部301e等が構成されている。相対位相算出部301a、絶対位相算出部301b、立体形状データ生成部301c、露光時間設定部301d及び受付部301eは、演算装置301のハードウェアのみで構成されていてもよいし、ハードウェアとソフトウェアとの組み合わせで構成されていてもよい。例えば、演算装置301が立体形状データ生成プログラムを実行することで、相対位相算出部301a、絶対位相算出部301b、立体形状データ生成部301c、露光時間設定部301d及び受付部301eの各機能の実現が可能になる。立体形状データ生成プログラムは、CD-ROMやDVD-ROMのような各種記憶媒体に記憶されていてもよいし、サーバ等に記憶されていてユーザによってダウンロード可能な形態で提供されてもよい。
【0053】
相対位相算出部301aは、ワークWで反射されたマルチスリットパターン光を撮像部120が順次受光することにより生成された複数のパターン画像データに基づいてワークWの相対位相を算出する部分である。
【0054】
絶対位相算出部301bは、ワークWで反射されたグレイコードパターン光を撮像部120が順次受光することにより生成された複数のパターン画像データに平均化処理を実行し、平均化処理後の複数のパターン画像データに基づいてワークWの絶対位相を算出する部分である。
【0055】
立体形状データ生成部301cは、相対位相算出部301aにより算出されたワークWの相対位相と、絶対位相算出部301bにより算出されたワークWの絶対位相とに基づいて、ワークWの立体形状データを生成する部分である。
【0056】
図6は、パターン画像データの処理に関する例1~4を示す図である。この図6では、撮像部120の受光素子121が実行する処理と、測定部100の測定制御部130が実行する処理と、コントローラ300が実行する処理とを分けて示している。受光素子121は、測定部100に内蔵されている部材であることから、受光素子121が実行する処理は、測定部100が実行する処理と呼ぶこともできる。また、測定部100はコントローラ300に対して通信ケーブル100Bを介して接続されている。この通信ケーブル100Bは、汎用USB(Universal Serial Bus)通信規格に準拠したものである。尚、測定部100とコントローラ300とは無線接続されていてもよい。
【0057】
例1では、グレイコードパターン光が照射されたときの複数のパターン画像データ800と、マルチスリットパターン光が照射されたときの複数のパターン画像データ800とを受光素子121が生成する。測定部100の測定制御部130は、受光素子121が生成した各パターン画像データ800に処理を実行することなく、当該パターン画像データ800をコントローラ300に転送する。コントローラ300の相対位相算出部301aは、マルチスリットパターン光が照射されたときの複数のパターン画像データ801に基づいてワークWの相対位相を算出し、また、絶対位相算出部301bは、グレイコードパターン光が照射されたときの複数のパターン画像データ801に基づいてワークWの絶対位相を算出する。コントローラ300の立体形状データ生成部301cは、相対位相算出部301aにより算出されたワークWの相対位相と、絶対位相算出部301bにより算出されたワークWの絶対位相とに基づいて、位相画像802、点群データ803、メッシュデータ804等の生成、即ち3次元画像処理及び描画処理を実行してワークWの立体形状データを生成する。
【0058】
ここで生成される立体形状データとしてのメッシュデータは、複数のポリゴンを含んでおり、ポリゴンデータとも呼ぶことができる。ポリゴンは、複数の点を特定する情報と、それらの点を結んで形成される多角形面を示す情報とで構成されるデータであり、例えば3つの点を特定する情報と、それら3つの点を結んで形成される三角形の面を示す情報とで構成することができる。メッシュデータおよびポリゴンデータは、複数のポリゴンの集合体で表現されるデータと定義することも可能である。生成されたワークWのメッシュデータはサーフェスデータに変換して出力される。
【0059】
例2では、グレイコードパターン光が照射されたときの複数のパターン画像データ810と、マルチスリットパターン光が照射されたときの複数のパターン画像データ810とを受光素子121が生成する。測定部100の測定制御部130は、グレイコードパターン光が照射されたときの複数のパターン画像データ810に平均化処理を実行する。図7に示すように、平均化処理は、測定制御部130に組み込まれた組み込みソフトウェア等で構成された平均化処理部130aが実行する。組み込みソフトウェアは、例えばFPGA、マイクロコンピュータなどである。
【0060】
平均化処理の一例としては、例えばビニングを挙げることができる。ビニングは、平均化とダウンサンプリングとを実行し、複数の画素の輝度値を加算することで、画素数を減らし輝度値を上げる処理である。
【0061】
平均化処理は、重み無しカーネルを用いて行うことも、ガウシアンカーネルを用いて行うこともできる。ガウシアンカーネルで平均化した後、ダウンサンプリングした場合は、重み無しカーネルで平均化した後、ダウンサンプリングした場合と比較してダウンサンプリング後の画素値を高くすることができる。
【0062】
ガウシアンフィルタをかけた後にダウンサンプリングすることはビニングの一例であり、、この処理を実行することで、ノイズの影響を減らすことができる。また、撮像部120から出力された直後のパターン画像データに平均化処理を実行するということは、前段で当該画像の容量を小さくすることができるということであり、後述する後段の処理、即ち、位相算出や立体形状データの生成を高速化できる。また、マルチスリットパターン光に比べて相対的に長い明暗周期を有するグレイコードパターン光の照射によって生成されたパターン画像データは、平均化処理を実行して解像度が低下したとしても、大まかな絶対位相を把握することができるので、測定精度の低下は回避できる。
【0063】
図3に示す光学素子112と、図5に示す受光素子121との分解能を比較すると、2倍の差がある。このため、グレイコードパターン光のパターン画像データをX方向、Y方向のそれぞれ1/2にダウンサンプリングし、1/4の解像度とても、光学素子112の空間解像度が損なわれない。すなわち、光学素子112の分解能をRa、受光素子121の分解能をRbとした場合、ダウンサンプリングの比率はRb/Ra以下とすることで光学素子112の空間解像度を損なうことなく位相算出できる。このように、受光素子121の分解能に対する光学素子112の分解能の比率に基づいて、グレイコードパターン光のパターン画像データに平均化処理を実行している。上記分解能の比率は一例であり、上記比率以外の比率であってもよい。
【0064】
一方、マルチスリットパターン光が照射されたときの複数のパターン画像データには平均化処理は実行しない。これにより、グレイコードパターン光に比べて相対的に短い明暗周期を有するマルチスリットパターン光の照射によって生成されたパターン画像データの解像度を低下させることなく、高精度な相対位相の計算が可能になる。
【0065】
測定制御部130は、平均化処理が実行されたグレイコードパターン光のパターン画像データ811をコントローラ300に転送する。このとき、当該画像の容量が平均化処理によって小さくなっているので転送時間が短縮される。また、測定制御部130は、平均化処理が実行されていないマルチスリットパターン光のパターン画像データもコントローラ300に転送する。
【0066】
コントローラ300の相対位相算出部301aは、測定制御部130から転送されたマルチスリットパターン光のパターン画像データに基づいてワークWの相対位相を算出する。また、コントローラ300の絶対位相算出部301bは、測定制御部130から転送された平均化処理後のグレイコードパターン光のパターン画像データに基づいてワークWの絶対位相を算出する。例2では、本発明の第1の算出部が相対位相算出部301aで構成され、本発明の第2の算出部が測定制御部130の平均化処理部130aと絶対位相算出部301bとで構成されている。
【0067】
コントローラ300の立体形状データ生成部301cは、測定制御部130から転送されたパターン画像データ812に基づいてワークWの相対位相と絶対位相とを算出し、算出したワークWの相対位相と絶対位相とに基づいて位相画像813、点群データ814、メッシュデータ815等の生成、即ち3次元画像処理及び描画処理を実行する。
【0068】
尚、例2において、測定制御部130の平均化処理部130aが、マルチスリットパターン光のパターン画像データに対して平均化処理を実行してもよい。この場合、マルチスリットパターン光のパターン画像データをコントローラ300に転送する時間も短縮できるとともに、後段の処理を高速化できる。
【0069】
図6に示す例3は、受光素子121で上記平均化処理を実行する例である。この例では、図8に示すように、受光素子121に設けられている平均化処理部121bが、グレイコードパターン光のパターン画像データ820に対して上記平均化処理を実行した後、平均化処理が実行されたパターン画像データ821をコントローラ300に転送する。コントローラ300では、例2と同様に、パターン画像データ822に基づいてワークWの相対位相と絶対位相とを算出し、算出したワークWの相対位相と絶対位相とに基づいて位相画像823、点群データ824、メッシュデータ825等の生成、即ち3次元画像処理及び描画処理を実行する。例3において、マルチスリットパターン光のパターン画像データを平均化処理部121bが平均化処理してもよい。
【0070】
図6に示す例4は、測定部100の測定制御部130で相対位相及び絶対位相を算出し、立体形状データを生成する例である。図9に示すように、測定制御部130には、相対位相算出部130bと絶対位相算出部130cと立体形状データ生成部130dとが設けられている。受光素子121がマルチスリットパターン光のパターン画像データ830を取得し、相対位相算出部130bは、受光素子121から出力されたマルチスリットパターン光のパターン画像データ831に基づいてワークWの相対位相を算出する。また、絶対位相算出部130cは、受光素子121から転送されたグレイコードパターン光のパターン画像データ831に基づいてワークWの絶対位相を算出する。立体形状データ生成部130dは、例2の立体形状データ生成部301cと同様に、位相画像832、点群データ833、メッシュデータ834等の生成、即ち3次元画像処理及び描画処理を実行する。尚、例4において、測定制御部130で、グレイコードパターン光のパターン画像データないしマルチスリットパターン光のパターン画像データに平均化処理を実行してもよい。
【0071】
(動作モード)
立体形状データ生成装置1は、複数の動作モードを有しており、ユーザによって動作モードの切替が可能に構成されている。図10に示すように、動作モードは、高速な処理が可能な高速モードと、高速モードよりも低速な標準モードと、標準モードよりも低速であるが高解像度な立体形状データを得ることが可能な高精細モードとがある。図10では、図6に示す例2の場合について説明するが、例1、3、4も同様に、動作モードの切替が可能である。尚、動作モードの数は3つに限られるものではなく、例えば高速モードと標準モードの2つであってもよいし、4つ以上の動作モードを備えていてもよい。
【0072】
高速モードでは、受光素子121で生成されたグレイコードパターン光のパターン画像データ(3000×3000画素)に対して、測定制御部130が平均化処理(ビニング)を実行する。平均化処理後の画像は1500×1500画素になる。この時点では、マルチスリットパターン光のパターン画像データには、平均化処理を実行しない。測定制御部130は、平均化処理を実行したグレイコードパターン光のパターン画像データと、平均化処理を実行しないマルチスリットパターン光のパターン画像データとをコントローラ300に転送する。
【0073】
コントローラ300の演算装置301では、マルチスリットパターン光のパターン画像データに平均化処理を実行する。マルチスリットパターン光のパターン画像データに対する平均化処理は、コントローラ300にインストールされている画像処理ソフトウェアで実行される。平均化処理後の画像は1500×1500画素になる。相対位相算出部301aは、平均化処理を実行したマルチスリットパターン光のパターン画像データに基づいてワークWの相対位相を算出し、また、絶対位相算出部301bは、平均化処理を実行したグレイコードパターン光のパターン画像データに基づいてワークWの絶対位相を算出する。コントローラ300の立体形状データ生成部301cは、ワークWの相対位相と絶対位相とに基づいて3次元画像処理及び描画処理を実行する。このように、高速モードでは、マルチスリットパターン光のパターン画像データと、グレイコードパターン光のパターン画像データの両方に平均化処理を実行しているので、後段の処理速度が高まり、高速な処理が可能になる一方、両パターン画像データの解像度を低下させていることで他の動作モードに比べて低解像度のメッシュデータになる。この高速モードが本発明の第1の動作モードに相当する。
【0074】
次に、標準モードについて説明する。標準モードでは、マルチスリットパターン光のパターン画像データに平均化処理を実行しない点で高速モードとは異なっている。つまり、1500×1500画素のグレイコードパターン光のパターン画像データと、3000×3000画素のマルチスリットパターン光のパターン画像データとに基づいてメッシュデータを生成できるので、高速モードに比べて高解像度のメッシュデータを得ることができる一方、マルチスリットパターン光のパターン画像データのデータ容量が高速モードに比べて大きいので、処理速度が低下する。標準モードは、本発明の第2の動作モードに相当する。
【0075】
次に、高精細モードについて説明する。高精細モードでは、立体形状データ生成部301cが、相対位相と絶対位相に基づいて位相画像を生成し、位相画像に対してアップサンプリングを実行する点で標準モードとは異なっている。アップサンプリングを実行することで、6000×6000画素の位相画像が生成される。よって、立体形状データ生成部301cでは、6000×6000個の点群データが取得されるので、メッシュデータが標準モードに比べて高解像度なものになる。アップサンプリングを実行することで、処理速度は標準モードに比べて低速になる。アップサンプリングは前段で実行してもよいが、後段で実行した方が高速な処理を実現できる。高速モードは、本発明の第2の動作モードに相当する。
【0076】
図2に示す受付部301eは、高速モード、標準モード及び高精細モードのいずれの動作モードで立体形状データの生成を行うかの選択を受け付ける部分である。例えば図11に一例を示すように、動作モード設定用ユーザインターフェース700を表示制御部305が生成し、表示部400に表示させる。動作モード設定用ユーザインターフェース700には、高速モードを選択する際に操作する高速ボタン701と、標準モードを選択する際に操作する標準ボタン702と、高精細モードを選択する際に操作する高精細ボタン703とが設けられている。ユーザが操作部500を使用してボタン701~703のうち、1つのボタンを押すと、押されたボタンがどのボタンであるかを受付部301eが特定する。高速ボタン701が押された場合には、「高速モードで立体形状データの生成を行う」として受付部301eが受け付け、また、標準ボタン702が押された場合には、「標準モードで立体形状データの生成を行う」として受付部301eが受け付け、また、高精細ボタン703が押された場合には、「高精細モードで立体形状データの生成を行う」として受付部301eが受け付ける。受付部301eで受け付けられた動作モードとなるように、演算装置301及び測定制御部130等が制御される。
【0077】
(露光時間の設定)
図2に示す露光時間設定部301dは、撮像部120の露光時間を設定する部分である。露光時間設定部301dが露光時間を設定する際には、図12に示す露光時間の設定テーブルを用いる。設定テーブルは記憶部304に記憶されている。
【0078】
設定テーブルには、撮像部120の露光時間を決定するための目標輝度値が保持されている。目標輝度値には、高速モードが選択された場合の撮像部120の露光時間を決定するための高速モード用の目標輝度値(本発明の第1の目標輝度値に相当)と、標準モードが選択された場合の撮像部120の露光時間を決定するための標準モード用の目標輝度値(本発明の第2の目標輝度値に相当)と、高精細モードが選択された場合の撮像部120の露光時間を決定するための高精細モード用の目標輝度値(本発明の第3の目標輝度値に相当)とが含まれている。高速モード用の目標輝度値が最も低く設定され、高精細用の目標輝度値が最も高く設定され、標準モード用の目標輝度値は、高速モード用の目標輝度値と高精細用の目標輝度値との間の輝度値に設定されている。各目標輝度値は例である。
【0079】
目標輝度値が高い方が、撮像部120による露光時間が長くなって画像が明るくなり、形状のノイズを減らすことができる。ただし、より高速なモードだと、後段の処理後、最終的に点群数が減るため、目標輝度値を低くしてノイズが増えたとしても、間引かれて目立たなくなる。そのため、より高速なモードほど、目標輝度値を低くしている。
【0080】
さらに、設定テーブルには、マルチスリットパターン光が照射されている時の撮像部120の露光時間と、グレイコードパターン光が照射されている時の撮像部120の露光時間との比率が保持されている。各比率は例であり、図12では「グレイコード/マルチスリット露光時間比」として示している。マルチスリットパターン光が照射されている時の撮像部120の露光時間は、第1の露光時間であり、グレイコードパターン光が照射されている時の撮像部120の露光時間は、第2の露光時間である。
【0081】
露光時間設定部301dは、複数の異なる露光時間において撮像部120により生成された複数のパターン画像データの輝度値と、設定テーブルに保持された目標輝度値とに基づいて、マルチスリットパターン光が照射されている時の撮像部120の露光時間を設定する。具体的には、露光時間を変化させつつ撮像部120で撮像し、露光時間が異なる複数の露光画像を取得する。取得された複数の露光画像から、露光時間と平均輝度の関係性を求め、平均輝度が目標輝度値になるような露光時間を自動で設定する。尚、自動で設定された露光時間をユーザが調整して変更することも可能である。
【0082】
露光時間設定部301dは、上述のようにして設定されたマルチスリットパターン光が照射されている時の撮像部120の露光時間と、設定テーブルに保持された露光時間の比率(グレイコード/マルチスリット露光時間比)とに基づいて、グレイコードパターン光が照射されている時の撮像部120の露光時間を設定する。
【0083】
図10に示すように、高速モードでは、受光素子121が画像データ900を生成し、測定制御部130は、受光素子121が生成した画像データ900のうち、グレイコードパターン光が照射されたときの複数のパターン画像データに平均化処理を実行して画像901を生成し、マルチスリットパターン光が照射されたときの複数のパターン画像データはそのままの画像データ902とする。コントローラ300は、測定制御部130から転送されたグレイコードパターン光が照射されたときの画像データ901と、マルチスリットパターン光が照射されたときの複数のパターン画像データに平均化処理を実行した画像データ902’とに基づいて、位相画像903、点群データ904、メッシュデータ905を生成する。
【0084】
標準モードでは、受光素子121が画像データ910を生成し、測定制御部130は、受光素子121が生成した画像データ910のうち、グレイコードパターン光が照射されたときの複数のパターン画像データに平均化処理を実行して画像911を生成し、マルチスリットパターン光が照射されたときの複数のパターン画像データはそのままの画像データ912とする。コントローラ300は、測定制御部130から転送されたグレイコードパターン光が照射されたときの画像データ911と、マルチスリットパターン光が照射されたときの複数のパターン画像データ912とに基づいて、位相画像913、点群データ914、メッシュデータ915を生成する。
【0085】
高精細モードでは、受光素子121が画像データ920を生成し、測定制御部130は、受光素子121が生成した画像データ920のうち、グレイコードパターン光が照射されたときの複数のパターン画像データに平均化処理を実行して画像921を生成し、マルチスリットパターン光が照射されたときの複数のパターン画像データはそのままの画像データ922とする。コントローラ300は、測定制御部130から転送されたグレイコードパターン光が照射されたときの画像データ921と、マルチスリットパターン光が照射されたときの複数のパターン画像データ922とに基づいて、アップサンプリングした位相画像923を生成し、この位相画像923に基づいて点群データ924、メッシュデータ925を生成する。
【0086】
すなわち、標準モード及び高精細モードでは、グレイコードパターン光のパターン画像データをビニングすることにより、4画素を加算して1画素として扱うことになるので、画素数が1/4になる。その分、ビニングしていないマルチスリットパターン光のパターン画像データと比べて、1画素あたりのS/Nが高くなる。そのため、マルチスリットパターン光のパターン画像データと、グレイコードパターン光のパターン画像データのS/Nを合わせる場合、図12に示すように、マルチスリットパターン光が照射されている時の露光時間を1/4(=0.25)まで下げることができる。標準モードと高精細モードでは、ビニングのモードが同じため、比率も同じとなる。
【0087】
グレイコードパターン光はマルチスリットパターン光に比べると外乱に強いため、グレイコードパターン光のパターン画像データのS/Nは、マルチスリットパターン光のパターン画像データのS/Nより多少低くても、解像度上は問題がない。よって、高速モードでは、露光時間を1/8に下げている。
【0088】
また、マルチスリットパターン光のパターン画像データにはカーネルのガウシアンフィルタをかけた後にダウンサンプリングを行うことができる。カーネルのガウシアンフィルタによる画素の平均化効果により、当該フィルタをかけない場合に比べて、1画素当たりのS/Nが向上する。よって、露光時間を下げることができる。
【0089】
(立体形状データ生成方法)
次に、図13に示すフローチャートを参照しながら、立体形状データ生成方法について具体的に説明する。スタート後のステップSA1では、ユーザの操作によって受付部301eが動作モード(高速モード、標準モード、高精細モードのいずれか)の選択を受け付ける。ステップSA2では、露光時間を設定するための複数の露光画像を取得する。ステップSA3では、露光時間設定部301dが記憶部304に記憶されている設定テーブルから、ステップSA1で受け付けた動作モードに対応した目標輝度値を取得する。
【0090】
ステップSA4では、露光時間設定部301dが、ステップSA2で取得された複数の露光画像から露光時間と平均輝度の関係性を求め、マルチスリットパターン光が照射されている時に撮像されたパターン画像データの平均輝度が、ステップSA3で取得した目標輝度値になるような露光時間を設定する。
【0091】
ステップSA5では、露光時間設定部301dが記憶部304に記憶されている設定テーブルから、ステップSA1で受け付けた動作モードに対応したグレイコード/マルチスリット露光時間比を取得する。取得した時間比となるように、グレイコードパターン光が照射されているときの露光時間を設定する。
【0092】
ステップSA6では、構造化照明部110がマルチスリットパターン光を位相シフトさせつつワークWに複数回照射し、ワークWで反射されたマルチスリットパターン光を、撮像部120が、ステップSA4で設定されている露光時間で順次受光することにより複数のパターン画像データを順次生成する。これが第1の画像データ生成ステップである。
【0093】
ステップSA7では、構造化照明部110がグレイコードパターン光を位相シフトさせつつワークWに複数回照射し、ワークWで反射されたグレイコードパターン光を、撮像部120が、ステップSA5で設定されている露光時間で順次受光することにより複数のパターン画像データを順次生成する。これが第2の画像データ生成ステップである。
【0094】
ステップSA8では、グレイコードパターン光のパターン画像データに対して平均化処理部130aが平均化処理を実行する。ステップSA9では、相対位相算出部301aがマルチスリットパターン光のパターン画像データに基づいてワークWの相対位相を算出する。このとき、高速モードであれば、マルチスリットパターン光のパターン画像データに平均化処理を実行してから、相対位相を算出する。
【0095】
ステップSA10では、絶対位相算出部301bが平均化処理後のグレイコードパターン光のパターン画像データに基づいてワークWの絶対位相を算出する。ステップSA9は、本発明の第1の算出ステップを構成している。ステップSA8とステップSA10は、本発明の第2の算出ステップを構成している。
【0096】
ステップSA11は、ステップSA9で算出した相対位相と、ステップSA10で算出した絶対位相とに基づいて位相画像を生成する。このとき、高精細モードであれば、位相画像に対してアップサンプリングを実行する。ステップSA12では、ステップSA11で生成した位相画像を利用して点群データを生成する。ステップSA13では、点群データを利用してメッシュデータを生成する。ステップSA11~SA13は、本発明の立体形状データ生成ステップである。
【0097】
上記第1の画像データ生成ステップ、第2の画像データ生成ステップ、第1の算出ステップ、第2の算出ステップ及び立体形状データ生成ステップは、立体形状データ生成プログラムがインストールされたコンピュータ(コントローラ300及び測定部100を含む)によって実行されるステップである。
【0098】
(実施形態2)
図14は、本発明の実施形態2に係る立体形状データ生成装置1の全体構成を示す図である。実施形態2に係る立体形状データ生成装置1は、測定部100と台座部200とが一体化されている点で実施形態1のものとは異なっている。以下、実施形態1と同じ部分には同じ符号を付して説明を省略し、異なる部分について詳細に説明する。
【0099】
すなわち、台座部200の奥側には、測定部100を支持する支持部250が上方へ延びるように設けられている。この支持部250の上部には、測定部100が固定されている。測定部100には、光軸がステージ202に向かうように、構造化照明部110及び撮像部120が設けられている。
【0100】
実施形態2のような立体形状データ生成装置1であっても、実施形態1と同様に立体形状データを生成することができる。
【0101】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0102】
以上説明したように、本開示に係る立体形状データ生成装置は、ワークの立体形状データを生成する場合に利用することができる。
【符号の説明】
【0103】
1 立体形状データ生成装置
110 構造化照明部
112 光学素子
120 撮像部
121 受光素子
301a 相対位相算出部
301b 絶対位相算出部
301c 立体形状データ生成部
301e 受付部
304 記憶部
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14