(57)【要約】【課題】撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる３次元測定装置等を提供する。【解決手段】３次元測定装置は、パターン光を測定対象物に投影する投影部と、パターン光が投影された測定対象物の画像を、所定の露光時間で撮像する撮像部と、画像に含まれる複数の特徴点に基づいて、測定対象物の３次元形状を表す３次元点群の位置を算出する算出部と、複数の特徴点の数及び３次元点群の数の少なくとも一方が、いずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定する決定部と、を備える。【選択図】図１
2019138686.tif 000002
【特許請求の範囲】
【請求項１】
パターン光を測定対象物に投影する投影部と、
前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像する撮像部と、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出する算出部と、
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定する決定部と、
を備える３次元測定装置。
【請求項２】
前記撮像部は、前記露光時間を変えて複数の前記画像を撮像し、
複数の前記画像に基づいて、前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記露光時間に対してどのように変化するかを推定する推定部をさらに備え、
前記決定部は、前記推定部による推定結果に基づいて、前記露光時間を決定する、
請求項１に記載の３次元測定装置。
【請求項３】
前記推定結果は、
前記露光時間が長くなるに従って前記複数の特徴点の数及び前記３次元点群に含まれる点の数が増加する第１段階と、
前記第１段階に隣接し、前記露光時間が長くなるに従って、前記複数の特徴点の数及び前記３次元点群に含まれる点の数が前記第１段階よりも緩やかに変化し、前記複数の特徴点の数及び前記３次元点群の数の少なくとも一方が前記閾値以上である第２段階と、を含み、
前記決定部は、前記第１段階と前記第２段階との境界に基づいて、前記露光時間を決定する、
請求項２に記載の３次元測定装置。
【請求項４】
前記推定結果は、前記第２段階に隣接し、前記露光時間が長くなるに従って前記複数の特徴点の数及び前記３次元点群に含まれる点の数が減少する第３段階をさらに含み、
前記露光時間を所定量変化させた場合における前記複数の特徴点の数及び前記３次元点群に含まれる点の数の変化量の絶対値は、前記第２段階の場合に前記第３段階の場合よりも小さい、
請求項３に記載の３次元測定装置。
【請求項５】
前記推定部は、前記第１段階及び前記第２段階における前記露光時間と前記複数の特徴点の数及び前記３次元点群に含まれる点の数との関係を、１又は複数のパラメータを含む関数によって推定する、
請求項３又は４に記載の３次元測定装置。
【請求項６】
前記露光時間をｔと表し、前記１又は複数のパラメータをＮ0及びτと表すとき、
前記推定部は、前記関数をＮ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））として、前記第１段階及び前記第２段階における前記露光時間と前記複数の特徴点の数及び前記３次元点群に含まれる点の数との関係を推定する、
請求項５に記載の３次元測定装置。
【請求項７】
前記閾値を、０より大きく１以下のＡと表すとき、
前記決定部は、ｔ=τｌｎ（１／（１−Ａ））により前記露光時間を決定する、
請求項６に記載の３次元測定装置。
【請求項８】
前記決定部は、前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間又は前記投影部の光量を決定する、
請求項１から７のいずれか一項に記載の３次元測定装置。
【請求項９】
パターン光を測定対象物に投影することと、
前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像することと、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出することと、
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定することと、
を含む３次元測定方法。
【請求項１０】
パターン光を測定対象物に投影する投影部及び前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像する撮像部を備える３次元測定装置に備えられた演算装置を、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出する算出部、及び
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定する決定部、
として動作させる３次元測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、３次元測定装置、３次元測定方法及び３次元測定プログラムに関する。
【背景技術】
【０００２】
従来、測定対象物にパターン光を投影した状態で撮像を行い、画像上のパターンの位置から、三角測距の原理により、測定対象物の３次元形状を表す３次元点群の位置を算出する３次元測定装置が用いられている。
【０００３】
下記特許文献１には、複数の撮像部によって撮像した複数の撮像画像に基づいて視差情報を生成し、撮像領域内の対象物を映し出す画像部分の視差値群に含まれる視差値の数が増えるように、後の撮像時に複数の撮像部が用いる露光量を決定する撮像装置が記載されている。ここで、撮像装置は、複数の露光量を用いてそれぞれ撮像した撮像画像から生成される各露光量に対応した視差情報を取得し、取得した視差情報の中で視差値の数が最も多い視差情報に対応する露光量を特定して、後の撮像時に複数の撮像部が用いる露光量を決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３４７２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の図４には、縦軸に視差点数を示し、横軸に露光時間を示して、視差点数がある露光時間で最大値を取ることが示されている。特許文献１に記載の撮像装置は、複数の撮像部の視差情報に基づいて測定対象物の３次元形状を測定する装置であり、複数の撮像部の露光量を、視差値の数が最も多くなるように決定している。そのため、撮像部の絞り値を一定とした場合、撮像部による撮像の露光時間は、視差値の数が最も多くなるように、比較的長く決定されることがある。
【０００６】
特許文献１に記載の撮像装置によれば、算出される３次元点群の数が最大となるように撮像部の露光時間を決定することができる。しかしながら、露光時間と算出される３次元点群の数を実際に調べて、算出される３次元点群の数を縦軸に示し、露光時間を横軸に示すと、例えば図８の「ｐｈａｓｅ  ２」のように、算出される３次元点群の数が露光時間の変化に対してほとんど変化しない区間が生じることがあることを発明者らは見出した。このような場合、特許文献１に記載の撮像装置では、撮像部の露光時間が不要に長く調整されることがあり、例えば、製造ラインを移動する複数の測定対象物の３次元形状を測定する場合等、複数の測定対象物の３次元形状を連続して測定する場合、特許文献１に記載の撮像装置では、測定を行える時間間隔が制限されることがある。
【０００７】
そこで、本発明は、撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる３次元測定装置、３次元測定方法及び３次元測定プログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る３次元測定装置は、パターン光を測定対象物に投影する投影部と、パターン光が投影された測定対象物の画像を、所定の露光時間で撮像する撮像部と、画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、測定対象物の３次元形状を表す３次元点群の位置を算出する算出部と、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定する決定部と、を備える。ここで、パターン光とは、ランダムドットパターンやコード化されたパターンを含む光であり、可視光であってもよいし、赤外線等の不可視の光であってもよい。また、露光時間とは、撮像部が有する撮像素子に光をあてる時間である。
【０００９】
この態様によれば、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間が減少するメリットを大きくして、３次元点群に含まれる点の数を最大とする露光時間よりも短い露光時間で測定対象物を撮像することができ、撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる。
【００１０】
上記態様において、撮像部は、露光時間を変えて複数の画像を撮像し、複数の画像に基づいて、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、露光時間に対してどのように変化するかを推定する推定部をさらに備え、決定部は、推定部による推定結果に基づいて、露光時間を決定してもよい。
【００１１】
この態様によれば、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、露光時間に対してどのように変化するかを推定することで、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となる露光時間を比較的少ない枚数の画像から推定することができ、露光時間を決定する処理に要する時間を短縮できる。
【００１２】
上記態様において、推定結果は、露光時間が長くなるに従って複数の特徴点の数及び３次元点群に含まれる点の数が増加する第１段階と、第１段階に隣接し、露光時間が長くなるに従って、複数の特徴点の数及び３次元点群に含まれる点の数が第１段階よりも緩やかに変化し、複数の特徴点の数及び３次元点群の数の少なくとも一方が閾値以上である第２段階と、を含み、決定部は、第１段階と第２段階との境界に基づいて、露光時間を決定してもよい。
【００１３】
この態様によれば、第１段階と第２段階との境界に基づいて露光時間を決定することで、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となる最短の露光時間とすることができ、撮像部の露光時間を短縮して測定対象物の３次元形状を測定することができる。
【００１４】
上記態様において、推定結果は、第２段階に隣接し、露光時間が長くなるに従って複数の特徴点の数及び３次元点群に含まれる点の数が減少する第３段階をさらに含み、露光時間を所定量変化させた場合における複数の特徴点の数及び３次元点群に含まれる点の数の変化量の絶対値は、第２段階の場合に第３段階の場合よりも小さくてもよい。
【００１５】
この態様によれば、露光時間を所定量変化させた場合における複数の特徴点の数及び３次元点群に含まれる点の数の変化量の絶対値が、第２段階の場合に第３段階の場合よりも小さいため、第２段階の場合に露光時間を変化させても、複数の特徴点の数及び３次元点群に含まれる点の数の変化は比較的小さい。そのため、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値と閾値の差が比較的小さくなるように閾値を設定することができ、複数の特徴点の数及び３次元点群に含まれる点の数を十分に多くしながら、露光時間をより短くすることができる。
【００１６】
上記態様において、推定部は、第１段階及び第２段階における露光時間と複数の特徴点の数及び３次元点群に含まれる点の数との関係を、１又は複数のパラメータを含む関数によって推定してもよい。
【００１７】
この態様によれば、１又は複数のパラメータを推定することで、複数の特徴点の数及び３次元点群に含まれる点の数が、露光時間に対してどのように変化するかを精度良く推定することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００１８】
上記態様において、露光時間をｔと表し、１又は複数のパラメータをＮ0及びτと表すとき、推定部は、関数をＮ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））として、第１段階及び第２段階における露光時間と複数の特徴点の数及び３次元点群に含まれる点の数との関係を推定してもよい。
【００１９】
この態様によれば、関数Ｎ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））を仮定して、２つのパラメータＮ0及びτを推定することで、露光時間と複数の特徴点の数及び３次元点群に含まれる点の数との非線形な関係を精度良く推定することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００２０】
上記態様において、閾値を、０より大きく１以下のＡと表すとき、決定部は、ｔ=τｌｎ（１／（１−Ａ））により露光時間を決定してもよい。
【００２１】
この態様によれば、パラメータτを推定することで、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値に一致する露光時間を算出することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００２２】
上記態様において、決定部は、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間又は投影部の光量を決定してもよい。
【００２３】
この態様によれば、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間又は投影部の光量を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間又は光量が減少するメリットを大きくして、３次元点群に含まれる点の数を最大とする光量よりも少ない光量で測定対象物を撮像することができ、投影部の消費電力を低減させて測定対象物の３次元形状を測定することができる。
【００２４】
本開示の他の態様に係る３次元測定方法は、パターン光を測定対象物に投影することと、パターン光が投影された測定対象物の画像を、所定の露光時間で撮像することと、画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、測定対象物の３次元形状を表す３次元点群の位置を算出することと、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定することと、を含む。
【００２５】
この態様によれば、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間が減少するメリットを大きくして、３次元点群に含まれる点の数を最大とする露光時間よりも短い露光時間で測定対象物を撮像することができ、撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる。
【００２６】
本開示の他の態様に係る３次元測定プログラムは、パターン光を測定対象物に投影する投影部及びパターン光が投影された測定対象物の画像を、所定の露光時間で撮像する撮像部を備える３次元測定装置に備えられた演算装置を、画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、測定対象物の３次元形状を表す３次元点群の位置を算出する算出部、及び、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定する決定部、として動作させる。
【００２７】
この態様によれば、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間が減少するメリットを大きくして、３次元点群に含まれる点の数を最大とする露光時間よりも短い露光時間で測定対象物を撮像することができ、撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる。
【発明の効果】
【００２８】
撮像部の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる３次元測定装置、３次元測定方法及び３次元測定プログラムを提供する。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る３次元測定装置の機能ブロック図である。
【図２】本実施形態に係る３次元測定装置の物理的構成を示す図である。
【図３】本実施形態に係る３次元測定装置により実行される決定処理のフローチャートである。
【図４】本実施形態に係る３次元測定装置により実行される推定処理のフローチャートである。
【図５】本実施形態に係る３次元測定装置により撮像された測定対象物の複数の画像の例である。
【図６】本実施形態に係る３次元測定装置により推定された露光時間と３次元点群に含まれる点の数との関係を示す例である。
【図７】本実施形態に係る３次元測定装置により実行される３次元測定処理のフローチャートである。
【図８】本実施形態に係る３次元測定装置により測定された３次元点群に含まれる点の数と露光時間との関係を示す例である。
【図９】変形例に係る３次元測定装置により実行される決定処理のフローチャートである。
【発明を実施するための形態】
【００３０】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３１】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。本実施形態に係る３次元測定装置１００は、パターン光を測定対象物ＯＢに投影する投影部２０と、パターン光が投影された測定対象物ＯＢの画像を、所定の露光時間で撮像する撮像部３０と、演算装置１０とを備える。ここで、パターン光とは、ランダムドットパターンやコード化されたパターンを含む光であり、可視光であってもよいし、赤外線等の不可視の光であってもよい。また、露光時間とは、撮像部３０が有する撮像素子に光をあてる時間である。露光時間は、例えば、数十〜数百ｍｓ（ミリ秒）とすることができる。撮像部３０は、パターン光が投影された測定対象物ＯＢの画像を撮像し、演算装置１０は、撮像部３０により撮像された画像を解析し、画像に含まれる複数の特徴点を抽出し、複数の特徴点の位置に基づいて、三角測距の原理で測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出する。なお、測定対象物の３次元形状を測定するために要する時間は、撮像部３０により測定対象物を撮像するために要する時間と、撮像した画像を伝送するために要する時間と、撮像した画像に基づいて、測定対象物の３次元形状を表す３次元点群の位置を算出するために要する時間と、の和である。
【００３２】
３次元測定装置１００は、演算装置１０によって、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となるように、撮像部３０の露光時間を決定する。ここで、閾値は、任意に設定することのできる値であるが、例えば、３次元点群に含まれる点の数の最大値Ｎmaxの９５％の値、すなわち０．９５Ｎmaxであったり、３次元点群に含まれる点の数の最大値Ｎmaxの９９％の値、すなわち０．９９Ｎmaxであったり、複数の特徴点の数の最大値ｎmaxの９５％の値、すなわち０．９５ｎmaxであったり、複数の特徴点の数の最大値ｎmaxの９９％の値、すなわち０．９９ｎmaxであったりしてよい。また、閾値は、例えば、３次元点群に含まれる点の数の最大値Ｎmaxから所定の値Ｃを引いた値、すなわち（Ｎmax−Ｃ）であったり、複数の特徴点の数の最大値ｎmaxから所定の値Ｃを引いた値、すなわち（ｎmax−Ｃ）であったりしてよい。また、閾値は、複数の特徴点の数の最大値ｎmax又は３次元点群に含まれる点の数の最大値Ｎmaxに対する比で表してもよく、０．９５や０．９９といった値でもよい。なお、閾値が複数の特徴点の数の最大値に基づいて定められている場合であっても、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上であればよい。また、閾値が３次元点群に含まれる点の数の最大値に基づいて定められている場合であっても、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上であればよい。また、閾値が、複数の特徴点の数の最大値又は３次元点群に含まれる点の数の最大値に基づいて定められている場合に、複数の特徴点の数及び３次元点群に含まれる点の数両方が閾値以上であってもよい。
【００３３】
演算装置１０により抽出することのできる複数の特徴点の数及び演算装置１０により算出することのできる３次元点群に含まれる点の数は、投影部２０によって適切な光量で測定対象物ＯＢにパターン光を投影して、撮像部３０によって適切な露光時間で測定対象物ＯＢを撮像した場合に最大値となる。ここで、投影部２０により投影するパターン光の光量を低下させたり、撮像部３０の露光時間を短くしたりすると、画像の明るさが低下して、パターン光の検出が難しくなり、抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数が少なくなる。そのため、従来、抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数が最大値となるように、投影部２０によるパターン光の光量及び撮像部３０の露光時間を最適化することがあった。しかしながら、発明者は、撮像部３０の露光時間を最適な値から徐々に短くした場合における抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数の変化が僅かであることを見出した。
【００３４】
そこで、本実施形態に係る３次元測定装置１００では、抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数の少なくとも一方が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間を決定する。例えば、算出される３次元点群に含まれる点の数の最大値Ｎmaxの９９％の値によって閾値を設定するとき、３次元測定装置１００は、３次元点群に含まれる点の数の最大値を与える露光時間ｔmaxに対して、例えば０．５ｔmax程度となるように露光時間を決定してよい。抽出される複数の特徴点の数の最大値に基づいて閾値を定める場合も同様である。複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間が減少するメリットを大きくして、３次元点群に含まれる点の数を最大値とする露光時間よりも短い露光時間で測定対象物ＯＢを撮像することができ、撮像部３０の露光時間を短縮して、測定対象物の３次元形状を測定するために要する時間を短縮することができる。
【００３５】
これにより、例えば、製造ラインを移動する複数の測定対象物ＯＢの３次元形状を測定する場合等、測定対象物ＯＢの３次元形状を連続して測定する場合に、測定を行える時間間隔が短縮され、ライン速度を増加させることができ、製造効率を向上させることができる。また、比較的高速で移動する測定対象物ＯＢの３次元形状を測定する場合であっても、撮像部３０の露光時間が比較的短く設定されるため、ブレの少ない測定対象物ＯＢの画像を撮像して、測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出することができる。
【００３６】
§２  構成例
［機能構成］
次に、図１を用いて、本実施形態に係る３次元測定装置１００の機能構成の一例を説明する。３次元測定装置１００は、投影部２０、撮像部３０及び演算装置１０を備える。
【００３７】
＜投影部の構成＞
投影部２０は、可視光又は不可視の光を投影するプロジェクタであってよく、パターン光を測定対象物ＯＢに投影する。投影部２０は、撮像部３０との相対的な位置が、所定の位置となるように配置されていてよい。また、投影部２０は、演算装置１０からの指令に基づき、パターン光を測定対象物ＯＢに投影してよい。投影部２０は、投影するパターン光の光量を変化させることのできるものであってよく、演算装置１０からの指令に基づき、光量を設定してよい。
【００３８】
投影部２０は、光源と、パターン光を生成するためのフォトマスクとを含むものであってよく、例えば、レーザ光源と、回折光学素子とを含むものであってよい。また、投影部２０は、固定パターンを形成する光学素子と、光変調素子としてＤＬＰ（Digital Light Processing）等を有するプロジェクタであってよく、投影するパターンの大きさを変調させる変調素子を含んでよい。投影部２０は、レーザ光源からの光を回折光学素子に入射させ、回折光学素子の表面に形成された回折パターンによって２次元構造を有する光を生成するものであってよい。なお、投影部２０は、レンズ等の任意の光学部材を含んでよいし、光源から出射される光の波長は可視領域に限られず、赤外領域や紫外領域の波長であってもよい。
【００３９】
＜撮像部の構成＞
撮像部３０は、１又は複数のレンズで光を受光素子に集めて、ＣＣＤ（Charge-Coupled Device）センサやＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）センサ等の撮像素子によって、受光した光を電気的な信号に変換するカメラであってよく、パターン光が投影された測定対象物ＯＢの画像を、所定の露光時間で撮像する。撮像部３０は、演算装置１０からの指令に基づき、露光時間を設定してよい。なお、本実施形態に係る３次元測定装置１００では、撮像部３０の絞り値を一定として、露光時間を変化させることで露出を変化させるが、一般には、撮像部３０の絞り値及び露光時間を変化させることとしてもよい。また、本実施形態に係る３次元測定装置１００は、一台の撮像部３０を備えるが、撮像部の台数は任意であり、３次元測定装置１００は、複数の撮像部を備えてもよい。
【００４０】
撮像部３０は、所定の条件を満たした場合に、露光時間を変えて、測定対象物ＯＢの複数の画像を撮像してよい。ここで、所定の条件は、撮像部３０の稼働時間に関する条件及び撮像部３０の休止時間に関する条件の少なくともいずれかを含んでよい。より具体的には、撮像部３０は、稼働時間が一定時間以上となった場合に、露光時間を調整するために、露光時間を変えて、測定対象物ＯＢの複数の画像を撮像してよい。ここで、稼働時間は、撮像部３０によって画像の撮像を行った累積時間であってよい。また、撮像部３０は、休止時間が一定時間以上となった場合に、露光時間を調整するために、露光時間を変えて、測定対象物ＯＢの複数の画像を撮像してよい。ここで、休止時間は、撮像部３０によって画像の撮像が行われなかった累積時間であってよい。
【００４１】
所定の条件を満たした場合に、露光時間を変えて複数の画像を撮像し、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となるように露光時間を決定することで、所定の条件を満たさない場合には露光時間を決定する処理を省略することができ、測定対象物ＯＢの３次元形状を測定するために要する時間を短縮することができる。
【００４２】
また、撮像部３０の稼働時間及び撮像部３０の休止時間の少なくともいずれかが所定の条件を満たした場合に、露光時間を変えて複数の画像を撮像し、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となるように露光時間を決定することで、所定の条件を満たさない場合には露光時間を決定する処理を省略することができ、測定対象物ＯＢの３次元形状を測定するために要する時間を短縮することができる。
【００４３】
＜演算装置の構成＞
演算装置１０は、取得部１１、算出部１２、推定部１３、決定部１４及び設定部１５を有する。取得部１１は、撮像部３０により撮像された、パターン光が投影された測定対象物ＯＢの画像を取得する。
【００４４】
算出部１２は、撮像部３０により撮像された画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出する。ここで、複数の特徴点は、パターン光に含まれる特徴点であってよく、測定対象物ＯＢの形状に応じて画像上における位置が変化してよい。算出部１２は、投影したパターン光における特徴点の位置と、撮像された画像上における特徴点の位置とを比較して、三角測距の原理で測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出してよい。
【００４５】
また、撮像部３０によって、露光時間を変えて、測定対象物ＯＢの複数の画像を撮像した場合、算出部１２は、複数の画像それぞれについて、測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出してよい。
【００４６】
推定部１３は、撮像部３０により露光時間を変えて撮像された測定対象物ＯＢの複数の画像に基づいて、算出部１２により抽出される複数の特徴点の数及び算出される３次元点群に含まれる点の数の少なくとも一方が、露光時間に対してどのように変化するかを推定する。推定部１３による具体的な処理の内容については、次図以降を用いて詳細に説明する。
【００４７】
決定部１４は、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定する。決定部１４は、３次元点群に含まれる点の数が閾値以上となり、３次元点群に含まれる点の数の最大値を与える露光時間に対する決定される露光時間の減少率が、３次元点群に含まれる点の数の最大値に対する閾値の減少率より大きくなるように、露光時間を決定してもよい。決定部１４は、露光時間を変えて撮像された測定対象物ＯＢの複数の画像から抽出された複数の特徴点の数及び算出された３次元点群に含まれる点の数の少なくとも一方に基づいて、露光時間を決定してもよい。また、決定部１４は、推定部１３による推定結果に基づいて、露光時間を決定してもよい。推定部１３によって複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、露光時間に対してどのように変化するかを推定することで、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となる露光時間を比較的少ない枚数の画像から推定することができ、露光時間を決定する処理に要する時間を短縮できる。
【００４８】
決定部１４は、複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が、閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、撮像部３０の露光時間及び投影部２０の光量の少なくともいずれか一方を決定してもよい。また、決定部１４は、３次元点群に含まれる点の数が閾値以上となり、３次元点群に含まれる点の数の最大値を与える露光時間及び光量に対する決定される露光時間及び光量いずれかの減少率が、３次元点群に含まれる点の数の最大値に対する閾値の減少率より大きくなるように、撮像部３０の露光時間及び投影部２０の光量の少なくともいずれか一方を決定してもよい。例えば、決定部１４は、撮像部３０の露光時間を一定として、３次元点群に含まれる点の数が閾値以上となり、３次元点群に含まれる点の数の最大値を与える光量に対する決定される光量の減少率が、３次元点群に含まれる点の数の最大値に対する閾値の減少率より大きくなるように、投影部２０の光量を出来る限り小さく決定してもよい。複数の特徴点の数及び３次元点群に含まれる点の数の少なくとも一方が閾値以上となり、露光時間が、複数の特徴点の数及び３次元点群に含まれる点の数のいずれか一方の最大値に対する露光時間よりも短くなるように、露光時間及び投影部２０の光量の少なくともいずれか一方を決定することで、３次元点群に含まれる点の数が減少するデメリットよりも露光時間又は光量が減少するメリットを大きくして、３次元点群に含まれる点の数を最大とする光量よりも少ない光量で測定対象物を撮像することができ、投影部２０の消費電力を低減させて測定対象物ＯＢの３次元形状を測定することができる。
【００４９】
設定部１５は、撮像部３０の露光時間を、決定部１４により決定された露光時間に設定する。設定部１５は、投影部２０の光量を、決定部１４により決定された光量に設定してもよい。また、設定部１５は、投影部２０により投影するパターン光のパターンを設定してもよい。
【００５０】
［ハードウェア構成］
次に、図２を用いて、本実施形態に係る演算装置１０のハードウェア構成の一例を説明する。演算装置１０は、演算部に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶部に相当するＲＡＭ（Random Access Memory）１０ｂと、記憶部に相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では演算装置１０が一台のコンピュータで構成される場合について説明するが、演算装置１０は、複数のコンピュータを用いて実現されてもよい。
【００５１】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、パターン光が投影された測定対象物ＯＢの画像に基づいて、測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出し、３次元点群に含まれる点の数が閾値以上となるように、撮像部３０の露光時間を決定するプログラム（３次元測定プログラム）を実行する演算部である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００５２】
ＲＡＭ１０ｂは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行する３次元測定プログラムや、撮像部３０から取得した測定対象物ＯＢの画像、算出した３次元点群に関するデータ、閾値、撮像部３０の露光時間及び投影部２０の光量といったデータを記憶する。なお、これらは例示であって、ＲＡＭ１０ｂには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【００５３】
ＲＯＭ１０ｃは、記憶部のうちデータの読み出しのみが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＯＭ１０ｃは、例えば３次元測定プログラムや、書き換えが行われないデータを記憶する。
【００５４】
通信部１０ｄは、演算装置１０を通信ネットワークに接続するインターフェースである。通信部１０ｄは、投影部２０及び撮像部３０と、例えばＬＡＮ（Local Area Network）により接続されて、投影部２０に対しパターン光に関する情報を送信し、撮像部３０に対し露光時間に関する情報を送信してよい。また、通信部１０ｄは、撮像部３０から測定対象物ＯＢの画像を受信してよい。また、通信部１０ｄは、インターネット等の通信ネットワークに接続されてもよい。
【００５５】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含んでよい。
【００５６】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成されてよい。表示部１０ｆは、例えば撮像部３０により撮像された測定対象物ＯＢの画像を表示したり、露光時間と算出される３次元点群に含まれる点の数との関係を示すグラフを表示したりしてよい。
【００５７】
３次元測定プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。演算装置１０では、ＣＰＵ１０ａが３次元測定プログラムを実行することにより、図１を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、演算装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００５８】
§３  動作例
図３は、実施形態に係る３次元測定装置１００により実行される決定処理のフローチャートである。決定処理は、撮像部３０の露光時間又は投影部２０の光量を決定する処理である。同図では、決定処理の内容の一例を示している。
【００５９】
はじめに、３次元測定装置１００は、投影部２０によって、所定の光量で測定対象物ＯＢにパターン光を投影する（Ｓ１０）。なお、決定処理を初めて行う場合には、所定の光量は、予め定められ、演算装置１０に記憶されて、設定部１５により設定される光量であってよい。そして、撮像部３０によって、露光時間を変化させて、パターン光が投影された測定対象物ＯＢの複数の画像を撮像する（Ｓ１１）。
【００６０】
その後、３次元測定装置１００は、演算装置１０の算出部１２によって、複数の画像それぞれについて、複数の特徴点を抽出し、複数の特徴点に基づいて３次元点群の位置を算出する（Ｓ１２）。そして、推定部１３によって、３次元点群に含まれる点の数が、撮像部３０の露光時間に対してどのように変化するか推定する（Ｓ１３）。推定処理（Ｓ１３）の詳細については、次図を用いて説明する。
【００６１】
３次元測定装置１００は、演算装置１０の決定部１４によって、推定部１３の推定結果に基づいて、３次元点群に含まれる点の数が閾値以上となり、露光時間が、３次元点群に含まれる点の数の最大値に対する露光時間よりも短くなるように、撮像部３０の露光時間又は投影部２０の光量を決定する（Ｓ１４）。なお、３次元測定装置１００は、投影部２０の光量を一定として、演算装置１０の決定部１４によって、推定部１３の推定結果に基づいて、３次元点群に含まれる点の数が閾値以上となり、露光時間が、３次元点群に含まれる点の数の最大値に対する露光時間よりも短くなるように、撮像部３０の露光時間を決定することとしてもよい。
【００６２】
３次元測定装置１００は、演算装置１０の設定部１５によって、決定部１４により決定された光量を投影部２０に設定し、決定部１４により決定された露光時間を撮像部３０に設定する（Ｓ１５）。推定部１３による推定結果より露光時間を短く設定する場合には投影部２０の光量を増やし、推定部１３による推定結果より露光時間を長く設定する場合には投影部２０の光量を減らすこととしてよい。光量の調整方法は、例えば汎用のデジタルカメラで用いられている方法であってよい。以上により、決定処理が終了する。
【００６３】
図４は、本実施形態に係る３次元測定装置１００により実行される推定処理のフローチャートである。同図では、決定処理の中で行われる推定処理（Ｓ１３）の内容の一例を示している。
【００６４】
推定部１３は、露光時間と３次元点群に含まれる点の数との関係を、１又は複数のパラメータを含む関数によって推定する。より具体的には、露光時間をｔと表し、２つのパラメータをＮ0及びτと表すとき、推定部１３は、関数をＮ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））として、露光時間と３次元点群に含まれる点の数との関係を推定する。露光時間と３次元点群に含まれる点の数との関係は、複数の露光時間で測定対象物ＯＢの複数の画像を撮影した場合に、算出される３次元点群に含まれる点の数の変化を、関数Ｎ（ｔ）によって再現するように推定される。推定は、最小二乗法によって１又は複数のパラメータを決定することで行ってよい。
【００６５】
３次元測定装置１００は、演算装置１０の推定部１３によって、露光時間ｔについて算出された３次元点群に含まれる点の数と、関数Ｎ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））の残差を算出する（Ｓ１３１）。すなわち、露光時間ｔで撮像された画像に基づいて算出部１２により算出された３次元点群に含まれる点の数をＮcalc（ｔ）と表すとき、推定部１３は、残差（Ｎcalc（ｔ）−Ｎ（ｔ））を算出する。
【００６６】
さらに、推定部１３は、撮像部３０による撮像が行われた複数の露光時間ｔ1、ｔ2、…、ｔNについて、残差の平方和を算出する（Ｓ１３２）。すなわち、推定部１３は、Σt=t1tN（Ｎcalc（ｔ）−Ｎ（ｔ））2を算出する。
【００６７】
そして、推定部１３は、平方和Σt=t1tN（Ｎcalc（ｔ）−Ｎ（ｔ））2を最小とするように、パラメータＮ0及びτを決定する（Ｓ１３３）。なお、露光時間を変化させて測定対象物の複数の画像を撮影した場合に、算出される３次元点群に含まれる点の数の最大値Ｎmaxに対して、推定部１３は、Ｎ0＝ＮmaxとなるようにパラメータＮ0を推定してよい。以上により、推定処理が終了する。
【００６８】
このように、１又は複数のパラメータを推定することで、３次元点群に含まれる点の数が、露光時間に対してどのように変化するかを精度良く推定することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００６９】
また、関数Ｎ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））を仮定して、２つのパラメータＮ0及びτを推定することで、露光時間と３次元点群に含まれる点の数との非線形な関係を精度良く推定することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００７０】
なお、以上の説明では、３次元点群の数が露光時間に対してどのように変化するか推定する処理の例を示したが、画像から抽出された複数の特徴点の数が露光時間に対してどのように変化するか推定する処理についても同じ関数を仮定して実行することができる。具体的には、ある露光時間ｔで撮像された画像に基づいて抽出される特徴点の数をｎ（ｔ）と表すとき、関数ｎ（ｔ）＝ｎ0（１−ｅｘｐ（−ｔ／τ0））を仮定して、パラメータｎ0及びτ0を推定することで、露光時間と特徴点の数との関係を推定することができる。
【００７１】
図５は、本実施形態に係る３次元測定装置１００により撮像された測定対象物の複数の画像の例である。同図では、撮像部３０の露光時間を０ｍｓ（ミリ秒）、２０ｍｓ、４０ｍｓ、６０ｍｓ、８０ｍｓ、１００ｍｓ、１２０ｍｓ及び１４０ｍｓと変化させて８枚の画像を撮像した場合を示している。
【００７２】
本例の測定対象物は、バラ積みされたフランジである。図５に示されているように、露光時間が０ｍｓでは当然ながら測定対象物を確認することはできず、露光時間が２０ｍｓで複数の測定対象物のうち一部の輪郭が確認でき、露光時間が４０ｍｓから８０ｍｓに長くなるにつれて、輪郭が確認できる測定対象物の数が増えていく。そして、露光時間が１００ｍｓ以上となると、複数の測定対象物全ての輪郭、配置が確認できるようになる。
【００７３】
一般に、撮像部３０は、人が画像の詳細を確認できる程度に十分明るい画像となるように、露光時間を自動的に設定することがある。本例から、人が画像に基づいて測定対象物の輪郭や配置を確認するためには、露光時間を１００ｍｓ程度より長く設定する必要があることがわかる。そのため、従来の撮像部３０は、露光時間を１００ｍｓ程度より長く設定することがある。実際、汎用のカメラによって、本例と同じ照明条件で露光時間を自動設定したところ、露光時間は１６０ｍｓとなった。
【００７４】
図６は、本実施形態に係る３次元測定装置１００により推定された露光時間と３次元点群に含まれる点の数との関係を示す例である。同図では、横軸に撮像部３０の露光時間（Exposure time (ms)）をミリ秒の単位で示し、縦軸に算出部１２により算出された３次元点群の数（Number of reconstructed 3D Points）を示している。図６では、図５に示した８つの画像及び露光時間を１６０ｍｓとして撮像した画像に基づいて推定部１３により推定された露光時間と３次元点群に含まれる点の数との関係を実線で示している。また、図６では、図５に示した８つの画像及び露光時間を１６０ｍｓとして撮像した画像に基づいて算出部１２により算出された３次元点群の数と露光時間との関係を、破線で示している。
【００７５】
より具体的には、図６のうち破線で示すグラフＤは、露光時間ｔ1＝０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ1）と、露光時間ｔ2＝２０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ2）と、露光時間ｔ3＝４０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ4）と、露光時間ｔ4＝６０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ4）と、露光時間ｔ5＝８０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ5）と、露光時間ｔ6＝１００ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ6）と、露光時間ｔ7＝１２０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ7）と、露光時間ｔ8＝１４０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ8）と、露光時間ｔ9＝１６０ｍｓの場合に算出された３次元点群の数Ｎcalc（ｔ9）と、を直線で結んだものである。ここで、露光時間ｔ9＝１６０ｍｓの場合に、算出される３次元点群の数Ｎcalc（ｔ9）が最大値となっている。
【００７６】
また、図６のうち実線で示すグラフＰは、露光時間ｔ1＝０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ1）と、露光時間ｔ2＝２０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ2）と、露光時間ｔ3＝４０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ4）と、露光時間ｔ4＝６０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ4）と、露光時間ｔ5＝８０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ5）と、露光時間ｔ6＝１００ｍｓの場合に推定される３次元点群の数Ｎ（ｔ6）と、露光時間ｔ7＝１２０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ7）と、露光時間ｔ8＝１４０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ8）と、露光時間ｔ9＝１６０ｍｓの場合に推定される３次元点群の数Ｎ（ｔ9）と、を直線で結んだものである。
【００７７】
また、図６の縦軸には、閾値Ｔｈを示している。本例では、閾値Ｔｈは１２０００である。図６の横軸には、決定部１４により決定された露光時間Ｔを示している。本例では、決定部１４により決定された露光時間Ｔは、４０ｍｓである。本例の場合、決定部１４は、推定部１３により推定されたグラフＰが、閾値Ｔｈ以上となる最小の露光時間によって、露光時間Ｔを決定している。
【００７８】
ここで、閾値Ｔｈを、３次元点群に含まれる点の数の最大値Ｎmax（＝Ｎcalc（ｔ9））に対する比Ａで表すと、本例の閾値Ｔｈは、Ａ＝０．９９に対応する。すなわち、本例の閾値Ｔｈは、露光時間を変化させて測定対象物の複数の画像を撮影した場合に、算出される３次元点群に含まれる点の数の最大値Ｎmaxの９９％に設定されている。ここで、３次元点群に含まれる点の数の最大値Ｎmaxに対する閾値Ｔｈの減少率は、１％である。このとき、決定部１４は、３次元点群に含まれる点の数の最大値Ｎmaxを与える露光時間ｔ9に対する決定される露光時間Ｔの減少率が、最大値Ｎmaxに対する閾値Ｔｈの減少率より大きくなるように、露光時間を決定してよい。本例の場合、決定部１４は、３次元点群に含まれる点の数の最大値Ｎmaxを与える露光時間ｔ9（１６０ｍｓ）に対する決定される露光時間Ｔ（４０ｍｓ）の減少率が７５％となるように、露光時間を決定している。また、決定部１４は、Ｔ=τｌｎ（１／（１−Ａ））により露光時間を決定してよい。本例の場合、Ａ＝０．９９であるから、決定部１４は、Ｔ≒４．６τにより露光時間を決定してよい。これにより、パラメータτを推定することで、３次元点群に含まれる点の数が閾値Ｔｈに一致する露光時間Ｔを単純な演算で算出することができ、露光時間を決定する処理の演算負荷を減らし、処理に要する時間を短縮できる。
【００７９】
図７は、本実施形態に係る３次元測定装置１００により実行される３次元測定処理のフローチャートである。３次元測定処理は、決定部１４により決定され、設定部１５により設定された露光時間又は光量で、測定対象物ＯＢの画像を撮影し、画像に基づいて、測定対象物ＯＢの３次元形状を表す３次元点群の位置を算出する処理である。
【００８０】
はじめに、３次元測定装置１００は、投影部２０によって、設定部１５により設定された光量で測定対象物ＯＢにパターン光を投影する（Ｓ２０）。なお、投影部２０の光量は、必ずしも決定部１４により決定されなくてもよく、設定部１５により設定される投影部２０の光量は一定であってもよい。そして、撮像部３０によって、設定部１５により設定された露光時間で、パターン光が投影された測定対象物ＯＢの画像を撮像する（Ｓ２１）。ここで、撮像部３０は、測定対象物ＯＢの画像を一枚撮像すればよい。
【００８１】
その後、３次元測定装置１００は、演算装置１０の算出部１２によって、撮像された画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、３次元点群の位置を算出する（Ｓ２２）。以上により、３次元測定処理が終了する。
【００８２】
本例の場合、撮像部３０による撮像は、決定部１４により決定された露光時間である４０ｍｓで終えることができる。そして、演算装置１０は、おおよそ１３０ｍｓで、取得部１１により撮像部３０から画像を取得し、算出部１２により３次元点群の位置を算出することができる。よって、本実施形態に係る３次元測定装置１００は、おおよそ１７０ｍｓで３次元測定処理を行うことができる。仮に、人の視認性に基づいて自動設定された露光時間を採用する場合、露光時間は１６０ｍｓとなるため、取得部１１により画像を取得し、算出部１２により３次元点群の位置を算出するために要する時間がおおよそ１３０ｍｓとすると、３次元測定処理を行うために２９０ｍｓを要することとなる。そのため、本実施形態に係る３次元測定装置１００によれば、３次元測定処理に要する時間を、おおよそ半分に短縮することができる。一方で、算出される３次元点群に含まれる点の数は、１％減少するだけである。
【００８３】
図８は、本実施形態に係る３次元測定装置１００により測定された３次元点群に含まれる点の数と露光時間との関係を示す例である。同図では、横軸に撮像部３０の露光時間（Exposure time (ms)）をミリ秒の単位で示し、縦軸に算出部１２により算出された３次元点群の数（Number of reconstructed 3D Points）を示している。図８では、露光時間を、０ｍｓから１５０ｍｓまでについては１０ｍｓ刻みで変化させ、２００ｍｓから７００ｍｓまでについては１００ｍｓ刻みで変化させて測定対象物の複数の画像を撮像し、それぞれの画像について算出部１２により３次元点群の位置を算出して、算出された３次元点群に含まれる点の数をプロットしている。また、図８では、推定部１３により３次元点群に含まれる点の数と、露光時間との関係を推定した推定結果に現れる３つの段階（ｐｈａｓｅ  １、ｐｈａｓｅ  ２、ｐｈａｓｅ  ３）を示している。
【００８４】
推定部１３による推定結果は、露光時間が長くなるに従って３次元点群に含まれる点の数が増加する第１段階（ｐｈａｓｅ  １）と、第１段階に隣接し、露光時間が長くなるに従って、３次元点群に含まれる点の数が第１段階よりも緩やかに変化し、３次元点群の数が閾値Ｔｈ以上である第２段階（ｐｈａｓｅ  ２）と、を含む。本例では、閾値Ｔｈは１２０００であり、図８より、推定結果の第２段階では、算出される３次元点群に含まれる点の数が閾値Ｔｈ以上となっていることが読み取れる。また、第１段階では、露光時間が長くなるに従って、３次元点群に含まれる点の数が指数的に増加しており、第２段階では、３次元点群の数が閾値Ｔｈとほとんど変わらないまま僅かに増加していることが確認できる。
【００８５】
決定部１４は、第１段階（ｐｈａｓｅ  １）と第２段階（ｐｈａｓｅ  ２）との境界に基づいて、露光時間Ｔを決定してよい。本例では、決定部１４は、第１段階（ｐｈａｓｅ  １）と第２段階（ｐｈａｓｅ  ２）との境界に一致するように、露光時間Ｔを決定している。このように、第１段階と第２段階との境界に基づいて露光時間を決定することで、３次元点群に含まれる点の数が閾値以上となる最短の露光時間とすることができ、撮像部３０の露光時間を短縮して測定対象物の３次元形状を測定することができる。
【００８６】
推定部１３による推定結果は、第２段階（ｐｈａｓｅ  ２）に隣接し、露光時間が長くなるに従って３次元点群に含まれる点の数が減少する第３段階（ｐｈａｓｅ  ３）をさらに含む。なお、第２段階と第３段階の間に、３次元点群に含まれる点の数について比較的小さな１又は複数のピークが現れる他の段階が含まれていてもよく、その場合、３次元点群に含まれる点の数が単調減少する段階を第３段階と定義してよい。図８より、推定結果の第３段階では、算出される３次元点群に含まれる点の数が閾値Ｔｈ以下となっていることが読み取れる。また、第３段階では、露光時間が長くなるに従って、３次元点群に含まれる点の数がおおよそ放物線状に減少していることが確認できる。
【００８７】
また、露光時間を所定量変化させた場合における３次元点群に含まれる点の数の変化量の絶対値は、第２段階の場合に第３段階の場合よりも小さい。例えば、露光時間を１００ｍｓ増加させた場合、第２段階の場合には３次元点群に含まれる点の数が僅かに増加するが、第３段階の場合には、３次元点群に含まれる点の数が２０００程度減少することが読み取れる。このことは、露光時間と３次元点群に含まれる点の数との関係の傾きの絶対値が、第２段階の場合に第３段階の場合よりも小さいともいえる。
【００８８】
露光時間を所定量変化させた場合における３次元点群に含まれる点の数の変化量の絶対値が、第２段階の場合に第３段階の場合よりも小さいため、第２段階の場合に露光時間を変化させても、３次元点群に含まれる点の数の変化は比較的小さい。そのため、３次元点群に含まれる点の数の最大値と閾値の差が比較的小さくなるように閾値を設定することができ、３次元点群に含まれる点の数を十分に多くしながら、露光時間をより短くすることができる。
【００８９】
なお、以上の説明では、３次元点群の数が露光時間に対してどのように変化するか推定した結果の例を示したが、画像から抽出された複数の特徴点の数が露光時間に対してどのように変化するか推定した結果についても同様に第１段階、第２段階及び第３段階が含まれる。
【００９０】
§４  変形例
＜４．１＞
図９は、本実施形態の変形例に係る３次元測定装置１００により実行される決定処理のフローチャートである。本変形例に係る３次元測定装置１００は、撮像部３０の露光時間を決定するために、３次元点群に含まれる数ではなく、３次元点群の位置を算出するために抽出される複数の特徴点の数を用いる点で、本実施形態に係る３次元測定装置と相違する。すなわち、本変形例に係る３次元測定装置１００は、算出部１２によって、撮像部３０により撮像された画像に含まれる複数の特徴点を抽出し、複数の特徴点に基づいて、３次元点群の位置を算出し、決定部１４によって、複数の特徴点の数が、複数の特徴点の数の最大値に基づいて定められる閾値以上となり、露光時間が、最大値に対する露光時間よりも短くなるように、露光時間を決定する。その他の構成については、本変形例に係る３次元測定装置１００は、本実施形態に係る３次元測定装置と同様の構成を備える。
【００９１】
ここで、複数の特徴点の数の最大値に基づいて定められる閾値は、３次元点群の最大値に基づいて定められる閾値と異なっていてよいが、同じ値であってもよい。複数の特徴点の数の最大値に基づいて定められる閾値は、本変形例に係る３次元測定装置１００により用いられる閾値であり、３次元点群の最大値に基づいて定められる閾値以上であってもよい。
【００９２】
はじめに、３次元測定装置１００は、投影部２０によって、所定の光量で測定対象物ＯＢにパターン光を投影する（Ｓ３０）。なお、決定処理を初めて行う場合には、所定の光量は、予め定められ、演算装置１０に記憶されて、設定部１５により設定される光量であってよい。そして、撮像部３０によって、露光時間を変化させて、パターン光が投影された測定対象物ＯＢの複数の画像を撮像する（Ｓ３１）。
【００９３】
その後、３次元測定装置１００は、演算装置１０の算出部１２によって、複数の画像それぞれについて、特徴点を抽出する（Ｓ３２）。そして、推定部１３によって、３次元点群に含まれる点の数が、撮像部３０の露光時間に対してどのように変化するか推定する（Ｓ３３）。推定処理（Ｓ３３）の詳細については、図４に示したものと同様であってよい。すなわち、推定部１３は、ある露光時間ｔで撮像された画像に基づいて抽出される特徴点の数をｎ（ｔ）と表すとき、関数ｎ（ｔ）＝ｎ0（１−ｅｘｐ（−ｔ／τ0））を仮定して、パラメータｎ0及びτ0を推定することで、露光時間と特徴点の数との関係を推定してよい。
【００９４】
３次元測定装置１００は、演算装置１０の決定部１４によって、推定部１３の推定結果に基づいて、抽出される特徴点の数が閾値以上となり、露光時間が、抽出される特徴点の数の最大値に対する露光時間よりも短くなるように、撮像部３０の露光時間又は投影部２０の光量を決定する（Ｓ３４）。なお、３次元測定装置１００は、投影部２０の光量を一定として、演算装置１０の決定部１４によって、推定部１３の推定結果に基づいて、抽出される特徴点の数が閾値以上となり、露光時間が、抽出される特徴点の数の最大値に対する露光時間よりも短くなるように、撮像部３０の露光時間を決定することとしてもよい。
【００９５】
３次元測定装置１００は、演算装置１０の設定部１５によって、決定部１４により決定された光量を投影部２０に設定するか、又は決定部１４により決定された露光時間を撮像部３０に設定する（Ｓ３５）。推定部１３による推定結果より露光時間を短く設定する場合には投影部２０の光量を増やし、推定部１３による推定結果より露光時間を長く設定する場合には投影部２０の光量を減らすこととしてよい。光量の調整方法は、例えば汎用のデジタルカメラで用いられている方法であってよい。以上により、決定処理が終了する。
【００９６】
本変形例に係る３次元測定装置１００によれば、３次元点群の位置を算出するために抽出される複数の特徴点の数が閾値以上となり、露光時間が、抽出される特徴点の数の最大値に対する露光時間よりも短くなるように、露光時間を決定することで、抽出される複数の特徴点の数が減少するデメリットよりも露光時間が減少するメリットを大きくして、決定処理において３次元点群の位置を算出する処理を省略することができ、３次元点群に含まれる点の数が閾値以上となるように露光時間を決定する場合よりも演算負荷を減らすことができ、露光時間を決定する処理に要する時間を短縮化できる。
【００９７】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００９８】
［付記１］
パターン光を測定対象物に投影する投影部（２０）と、
前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像する撮像部（３０）と、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出する算出部（１２）と、
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定する決定部（１４）と、
を備える３次元測定装置（１００）。
【００９９】
［付記２］
前記撮像部（３０）は、前記露光時間を変えて複数の前記画像を撮像し、
複数の前記画像に基づいて、前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記露光時間に対してどのように変化するかを推定する推定部（１３）をさらに備え、
前記決定部（１４）は、前記推定部（１３）による推定結果に基づいて、前記露光時間を決定する、
付記１に記載の３次元測定装置（１００）。
【０１００】
［付記３］
前記推定結果は、
前記露光時間が長くなるに従って前記複数の特徴点の数及び前記３次元点群に含まれる点の数が増加する第１段階と、
前記第１段階に隣接し、前記露光時間が長くなるに従って、前記複数の特徴点の数及び前記３次元点群に含まれる点の数が前記第１段階よりも緩やかに増加し、前記複数の特徴点の数及び前記３次元点群の数の少なくとも一方が前記閾値以上である第２段階と、を含み、
前記決定部（１４）は、前記第１段階と前記第２段階との境界に基づいて、前記露光時間を決定する、
付記２に記載の３次元測定装置（１００）。
【０１０１】
［付記４］
前記推定結果は、前記第２段階に隣接し、前記露光時間が長くなるに従って前記複数の特徴点の数及び前記３次元点群に含まれる点の数が減少する第３段階をさらに含み、
前記露光時間を所定量変化させた場合における前記複数の特徴点の数及び前記３次元点群に含まれる点の数の変化量の絶対値は、前記第２段階の場合に前記第３段階の場合よりも小さい、
付記３に記載の３次元測定装置（１００）。
【０１０２】
［付記５］
前記推定部（１３）は、前記第１段階及び前記第２段階における前記露光時間と前記複数の特徴点の数及び前記３次元点群に含まれる点の数との関係を、１又は複数のパラメータを含む関数によって推定する、
付記３又は４に記載の３次元測定装置（１００）。
【０１０３】
［付記６］
前記露光時間をｔと表し、前記１又は複数のパラメータをＮ0及びτと表すとき、
前記推定部（１３）は、前記関数をＮ（ｔ）＝Ｎ0（１−ｅｘｐ（−ｔ／τ））として、前記第１段階及び前記第２段階における前記露光時間と前記複数の特徴点の数及び前記３次元点群に含まれる点の数との関係を推定する、
付記５に記載の３次元測定装置（１００）。
【０１０４】
［付記７］
前記第１閾値を、０より大きく１以下のＡと表すとき、
前記決定部（１４）は、ｔ=τｌｎ（１／（１−Ａ））により前記露光時間を決定する、
付記６に記載の３次元測定装置（１００）。
【０１０５】
［付記８］
前記決定部（１４）は、前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間又は前記投影部（２０）の光量を決定する、
付記１から７のいずれか一項に記載の３次元測定装置（１００）。
【０１０６】
［付記９］
パターン光を測定対象物に投影することと、
前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像することと、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出することと、
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定することと、
を含む３次元測定方法。
【０１０７】
［付記１０］
パターン光を測定対象物に投影する投影部（２０）及び前記パターン光が投影された前記測定対象物の画像を、所定の露光時間で撮像する撮像部（３０）を備える３次元測定装置（１００）に備えられた演算装置（１０）を、
前記画像に含まれる複数の特徴点を抽出し、前記複数の特徴点に基づいて、前記測定対象物の３次元形状を表す３次元点群の位置を算出する算出部（１２）、及び
前記複数の特徴点の数及び前記３次元点群に含まれる点の数の少なくとも一方が、前記複数の特徴点の数及び前記３次元点群に含まれる点の数のいずれか一方の最大値に基づいて定められる閾値以上となり、前記露光時間が、前記最大値に対する露光時間よりも短くなるように、前記露光時間を決定する決定部（１４）、
として動作させる３次元測定プログラム。
【符号の説明】
【０１０８】
１０…演算装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…取得部、１２…算出部、１３…推定部、１４…決定部、１５…設定部、２０…投影部、３０…撮像部、１００…３次元測定装置、ＯＢ…測定対象物
【図１】
2019138686.tif 000003
【図２】
2019138686.tif 000004
【図３】
2019138686.tif 000005
【図４】
2019138686.tif 000006
【図５】
2019138686.tif 000007
【図６】
2019138686.tif 000008
【図７】
2019138686.tif 000009
【図８】
2019138686.tif 000010
【図９】
2019138686.tif 000011