(57)【要約】【課題】検出対象物の三次元情報の変位に基づいて検出対象物の振動を検出することにより、検出対象物の振動方向を意識することなく検出対象物の振動検出を行う。【解決手段】検出対象物２に光を照射する照射部１０と、光が照射された検出対象物２を所定時間ごとに撮像する撮像部５０と、撮像部５０で得られた検出対象物２に対する所定時間毎の画像データに基づいて該検出対象物２に対する所定時間毎の三次元情報（第１実施形態の場合は三次元形状の座標データ）をそれぞれ算出する演算部６５と、演算部６５で算出された所定時間毎の三次元情報の変位に基づいて検出対象物２の振動を検出する振動検出部６８と、を備える。【選択図】図１
2017075887.tif 000002
【特許請求の範囲】
【請求項１】
検出対象物に光を照射する照射部と、
前記光が照射された前記検出対象物を所定時間ごとに撮像する撮像部と、
前記撮像部で得られた前記検出対象物に対する前記所定時間毎の画像データに基づいて該検出対象物に対する前記所定時間毎の三次元情報をそれぞれ算出する演算部と、
前記演算部で算出された前記所定時間毎の三次元情報の変位に基づいて前記検出対象物の振動を検出する振動検出部と、
を備える振動検出装置。
【請求項２】
前記照射部は、周期的に異なる強度の分布を有するパターン光を照射する請求項１に記載の振動検出装置。
【請求項３】
前記照射部は、縞の位相がそれぞれ異なる複数のパターン光が照射し、
前記演算部は、前記撮像部により得られた、前記複数のパターン光がそれぞれ照射された前記検出対象物の複数の画像から前記検出対象物の位相情報を算出し、
前記振動検出部は、前記演算部で算出された所定時間毎の位相情報の変位に基づいて前記検出対象物の振動を検出する請求項２に記載の振動検出装置。
【請求項４】
前記照射部は、縞の位相がそれぞれ異なる複数のパターン光が照射し、
前記演算部は、前記撮像部により得られた、前記複数のパターン光がそれぞれ照射された前記検出対象物の複数の画像から前記検出対象物の位相情報を算出し、所定時間毎の位相情報から所定時間毎の座標データを算出し、
前記振動検出部は、前記演算部で算出された前記所定時間毎の座標データの変位に基づいて前記検出対象物の振動を検出する請求項２に記載の振動検出装置。
【請求項５】
前記照射部は、正弦波状の周期的な強度の分布を有するパターン光を照射する請求項１から４のいずれか１項に記載の振動検出装置。
【請求項６】
前記照射部は、矩形波状の周期的な強度の分布を有するパターン光を照射する請求項１から５のいずれか１項に記載の振動検出装置。
【請求項７】
前記照射部は、前記検出対象物及び比較対象物を含む領域に前記光を照射し、
前記撮像部は、前記光が照射された前記領域を所定時間ごとに撮像し、
前記演算部は、前記撮像部で得られた前記領域に対する前記所定時間毎の画像データに基づいて前記検出対象物に対する前記所定時間毎の三次元情報と前記比較対象物に対する前記所定時間毎の三次元情報とをそれぞれ算出し、
前記振動検出部は、前記検出対象物に対する前記所定時間毎の三次元情報の変位と前記比較対象物に対する前記所定時間毎の三次元情報との比較により前記検出対象物の振動を検出する請求項１から６のいずれか１項に記載の振動検出装置。
【請求項８】
請求項１から請求項７のいずれか１項に記載の振動検出装置と、
表示部と、
を備える検査装置。
【請求項９】
検出対象物の振動を検出する振動検出方法であって、
前記検出対象物に光を照射することと、
前記光が照射された前記検出対象物を所定時間ごとに撮像することと、
前記検出対象物に対する前記所定時間毎の画像データに基づいて該検出対象物に対する前記所定時間毎の三次元情報をそれぞれ算出することと、
前記所定時間毎の三次元情報の変位に基づいて前記検出対象物の振動を検出することと、を含む振動検出方法。
【請求項１０】
振動検出装置に含まれる制御装置に、
検出対象物に光を照射する照射処理と、
前記光が照射された前記検出対象物を所定時間ごとに撮像する撮像処理と、
前記撮像処理で得られた前記検出対象物に対する前記所定時間毎の画像データに基づいて該検出対象物に対する前記所定時間毎の三次元情報をそれぞれ算出する演算処理と、
前記演算処理で算出された前記所定時間毎の三次元情報の変位に基づいて前記検出対象物の振動を検出する振動検出処理と、を実行させる振動検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動検出装置、検査装置、振動検出方法、及び振動検出プログラムに関する。
【背景技術】
【０００２】
橋、トンネル、ダムなどの建築構造物において、ボルトやネジなど（以下、検出対象物という。）の緩みの点検が定期的に行われる。一般に、作業員が検出対象物に近接した状態で検出対象物を目視することや、ハンマーなどで検出対象物を叩いたときの打音を確認することなどによって、検出対象物が緩んでいないかどうかの点検が行われる。しかし、このような点検作業は作業員による負担が大きいため、点検作業の効率化が望まれている。
【０００３】
例えば、下記特許文献１には、検出対象物の画像をカメラで撮像し、撮像された画像における検出対象物の輪郭線の角度情報と予め記憶されている基準角度情報とを比較することで検出対象物の緩みを判定する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２７８１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された手法においては、予め定められた角度から検出対象物を撮像する必要があり、ユーザが効率的に検出対象物の振動検出を行うことが困難である。
【課題を解決するための手段】
【０００６】
本発明の第１態様によれば、検出対象物に光を照射する照射部と、光が照射された検出対象物を所定時間ごとに撮像する撮像部と、撮像部で得られた検出対象物に対する所定時間毎の画像データに基づいて該検出対象物に対する所定時間毎の三次元情報をそれぞれ算出する演算部と、演算部で算出された所定時間毎の三次元情報の変位に基づいて検出対象物の振動を検出する振動検出部と、を備える振動検出装置が提供される。
【０００７】
本発明の第２態様によれば、第１態様の振動検出装置と、表示部と、を備える検査装置が提供される。
【０００８】
本発明の第３態様によれば、検出対象物の振動を検出する振動検出方法であって、検出対象物に光を照射することと、光が照射された検出対象物を所定時間ごとに撮像することと、検出対象物に対する所定時間毎の画像データに基づいて該検出対象物に対する所定時間毎の三次元情報をそれぞれ算出することと、所定時間毎の三次元情報の変位に基づいて検出対象物の振動を検出することと、を含む振動検出方法が提供される。
【０００９】
本発明の第４態様によれば、振動検出装置に含まれる制御装置に、検出対象物に光を照射する照射処理と、光が照射された検出対象物を所定時間ごとに撮像する撮像処理と、撮像処理で得られた検出対象物に対する所定時間毎の画像データに基づいて該検出対象物に対する所定時間毎の三次元情報をそれぞれ算出する演算処理と、演算処理で算出された所定時間毎の三次元情報の変位に基づいて検出対象物の振動を検出する振動検出処理と、を実行させる振動検出プログラムが提供される。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における振動検出装置の構成を示す図である。
【図２】本実施形態における投影領域における縞パターン（パターン光）の強度分布を示す図である。
【図３】本実施形態における投影領域と撮像領域との関係を示す図である。
【図４】図１に示す振動検出装置の構成を示すブロック図である。
【図５】図１に示す投影部の概略構成を示す図である。
【図６】本実施形態における所定画素の輝度値から求められる正弦波を示す波形図である。
【図７】本実施形態における三角測量の原理を説明する図である。
【図８】本実施形態における位相シフト法における位相回復及びアンラッピング（位相接続）の処理を説明する図である。
【図９】本実施形態における撮像部による撮像タイミング及び４つの画像からなる画像データ群を示す図である。
【図１０】第１実施形態に係る振動検出方法の一例を説明するフローチャートである。
【図１１】本実施形態における検出対象物及び比較対象物の振動を説明するための図である。
【図１２】第２実施形態に係る振動検出方法の一例を説明するフローチャートである。
【図１３】本実施形態における投影領域における空間コードパターン（パターン光）の強度分布を示す図である。
【図１４】本実施形態における標準パターン、４つの空間コードパターン、及び白黒参照パターンを示す図である。
【図１５】本実施形態における空間コードと領域番号との関係を示す図である。
【図１６】第３実施形態に係る振動検出方法の一例を説明するフローチャートである。
【図１７】本実施形態における表示装置の構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態について図面を参照して説明する。ただし、本発明はこれに限定されるものではない。また、図面においては、実施形態を説明するため、一部分を大きく又は強調して記載するなど適宜縮尺を変更して表現する場合がある。
【００１２】
検出対象物の三次元形状を測定する手法として光切断法、位相シフト法、空間コード法などが知られている。第１実施形態では、位相シフト法を用いて、振動する検出対象物に対する所定時間毎の三次元形状を測定し、測定した所定時間毎の三次元形状の変位（変化、遷移）に基づいて検出対象物の振動を検出する構成について説明する。
【００１３】
＜第１実施形態＞
図１は、本発明の振動検出装置１の構成を示す図である。また、図２は、投影領域２００（照射領域ともいう。）における縞パターンの強度分布を示す図である。また、図３は、投影領域２００と撮像領域２１０との関係を示す図である。振動検出装置１は、人工構造物（例、建築構造物）における検出対象物２に対する所定時間毎の三次元形状を測定し、測定した所定時間毎の三次元形状の変位（時間変位）に基づいて検出対象物の振動を検出する装置である。例えば、本実施形態における人工構造物（例、建築構造物）は、鉄塔、ビル、橋、トンネル、ダムなどである。また、本実施形態における検出対象物２は、例えば建築構造物における車の走行や放水などによって振動するボルトやネジなどを含む物である。検出対象物２を測定物、被測定物、検査物などと呼んでもよい。図１に示す例では、検出対象物２はボルト２Ａ及びナット２Ｂなどの締結部材である。
【００１４】
振動検出装置１は、図１に示すように、投影部１０（照射部ともいう。）と、撮像部５０と、演算処理部（演算部、振動検出部）６０とを備える。投影部１０は、ライン状の光、例えば、一次元の光（以下、ライン光１００という。）を投影領域２００に対して投影（照射）する。この投影部１０は、図１に示すように、光生成部２０と、投影光学系３０と、走査部４０とを有する。光生成部２０は、レーザ光源・集光レンズ・シリンドリカルレンズなどを備え、第２の方向Ｄ２に無変調なライン光１００を生成する。投影光学系３０は、光生成部２０で生成されたライン光１００を投影領域２００の所定の位置に結像させる。投影光学系３０は、一つ又は複数の集光レンズなどの透過光学素子又は反射光学素子によって構成される。投影光学系３０から出射されたライン光１００は、走査部４０を介して投影領域２００に対して投影される。投影領域２００において、ライン光１００の一次元の方向が第２の方向Ｄ２である。投影領域２００における第２の方向Ｄ２の長さは、投影部１０がライン光１００を投影する際の視野角θと、投影部１０（つまり走査部４０）から検出対象物２までの距離とによって決定される。図１に示す例では、検出対象物２は投影領域２００内に配置されている。なお、投影領域２００内に存在する検出対象物２以外の物を比較対象物３という。図１に示す例では、比較対象物３は、検出対象物２であるボルト２Ａとナット２Ｂが取り付けられている壁面である。
【００１５】
走査部４０は、投影領域２００においてライン光１００を第１の方向Ｄ１に走査（スキャン）する。走査部４０は、例えばＭＥＭＳミラーで構成される。ＭＥＭＳミラーは、一定の回動周期で振動する微小反射鏡である。このＭＥＭＳミラーは、所定の振幅角及び所定の振動周波数で振動しつつ一次元のライン光１００を反射する。これにより、一次元のライン光１００は、投影領域２００においてＭＥＭＳミラーの振動周期（振動周期＝１／振動周波数）で走査される。走査方向である第１の方向Ｄ１は、図１及び図２に示すように、第２の方向Ｄ２と直交する方向である。走査方向が第１の方向Ｄ１となるように、ＭＥＭＳミラーの振動方向が設定される。また、投影領域２００における第１の方向Ｄ１の長さは、ＭＥＭＳミラーの振幅角と、投影部１０（つまり走査部４０）から検出対象物２までの距離とによって決定される。
【００１６】
図２に示すように、光生成部２０からのライン光１００は走査に応じて光強度が正弦波状に変化する。例えば、走査部４０がライン光１００を第１の方向Ｄ１に走査することにより、投影領域２００において、第１の方向Ｄ１に沿って正弦波状の周期的な光強度の分布を有する縞パターンが現れる。この縞パターンのことを「パターン光」という。位相シフト法では、このような縞パターンが三次元形状の測定に用いられる。縞パターンは、明るい部分（図２の白い部分）と暗い部分（図２の黒い部分）とに徐々に変化する明暗パターンを有する。また、縞パターンは、縦縞状のパターンであるから縦縞パターンとも表現される。また、第１の方向Ｄ１を明暗の方向又は濃淡の方向ともいう。図２に示す縞パターンは、第２の方向Ｄ２に所定の長さを有しており、第１の方向Ｄ１に所定の長さにわたって走査されることで、矩形状の投影領域２００が空間上に形成される。
【００１７】
投影領域２００において、縞パターンの各部分における位相は所定時間毎にπ／２ずつ３回シフトされる。投影部１０は、演算処理部６０からの指令信号に基づいて、ライン光１００の正弦波の周期と走査部４０の振動とを同期させるタイミングを変化させることにより、縞パターンの位相をシフトさせる。ここで、同期とは例えば走査部４０の振動の角速度が変化する場合は、その角速度の変化にライン光１００の正弦波の位相を合わせることを含む。
【００１８】
撮像部５０は投影部１０の位置と異なる位置に配置されている。この撮像部５０は、ライン光１００が投影された検出対象物２及び比較対象物３を、投影部１０による投影方向とは異なる方向から撮像する。図３に示す撮像領域（撮像視野）２１０は、撮像部５０により１回に撮像される範囲である。この撮像領域２１０は、投影領域２００の領域内であって、この投影領域２００よりも狭い領域とされている。ただし、撮像領域２１０は、少なくとも投影領域２００の領域外にはみ出さなければよい。例えば、撮像領域２１０は投影領域２００と同じ領域であってもよい。なお、撮像領域２１０とは後述の処理に用いる領域であり、実際に撮像される領域は投影領域２００より大きくてもよい。
【００１９】
撮像部５０は、受光光学系（撮影レンズ）５１及び撮像装置５２を有している。受光光学系５１は、撮像領域２１０上の検出対象物２及び比較対象物３の表面より反射された縞パターンを受光し、受光した縞パターンを撮像装置５２に導く。撮像装置５２は、受光光学系５１からの縞パターンに基づいて検出対象物２及び比較対象物３の画像データを生成するとともに、生成した画像データを記憶する。上述したように、例えば投影領域２００における縞パターンの位相は所定時間（例えば５ｍｓ）毎にπ／２ずつ３回シフトされる。撮像装置５２は、縞パターンの初期位相が０、π／２、π、３π／２のタイミングにおいて、それぞれ検出対象物２及び比較対象物３を撮像して１組の画像データ群（例えば、縞パターンの初期位相が０、π／２、π、３π／２それぞれのタイミングにおける４つの画像データの組み合わせ）を生成する。ここで初期位相とは、左から右へ走査される縞パターンの左端の位相を含む。
【００２０】
また、撮像装置５２は、画像データ群を生成する動作を所定時間（例えば２０ｍｓ）毎に複数回繰り返し実行する。例えば、撮像装置５２は、縞パターンの初期位相が０、π／２、π、３π／２のタイミングで検出対象物２及び比較対象物３を撮像する一連の動作を所定時間毎に複数回繰り返し実行して、複数組の画像データ群を生成する。
【００２１】
演算処理部６０は、光生成部２０によるライン光１００の生成を制御する。また、演算処理部６０は、光生成部２０で生成されるライン光１００の正弦波の周期と走査部４０の振動周期とを同期させるように、光生成部２０と走査部４０とを制御する。また、例えば、演算処理部６０は、縞パターンの初期位相が０、π／２、π、３π／２のタイミングにおいて撮像部５０に検出対象物２及び比較対象物３を撮像させるように、撮像部５０の撮像タイミングを制御する。演算処理部６０は、所定時間毎に画像データ群を生成する動作を撮像部５０に実行させるように、撮像部５０の撮像タイミングを制御する。また、演算処理部６０は、撮像部５０が撮像した各画像データ群に含まれる４つの画像データ（縞パターンの初期位相が０、π／２、π、３π／２のときの画像データ）における各画素の輝度データ（信号強度）に基づいて、所定時間毎の検出対象物２及び比較対象物３の三次元形状を算出する。また、演算処理部６０は、所定時間毎の検出対象物２及び比較対象物３の三次元形状の微小な変位に基づいて、検出対象物２の振動（振幅、振動周波数など）及び比較対象物３の振動（振幅、振動周波数など）を検出する。また、演算処理部６０は、検出対象物２及び比較対象物３の振動に基づいて、所定方向における検出対象物２の緩みを判定する。例えば演算処理部６０は、検出対象物２の振動と比較対象物３の振動との違いに基づき、所定方向（例、検出対象物２の光照射面の面内方向、該面内方向と直交する方向、一方向や複数方向）における検出対象物２の緩みを検出する。ここで、検出対象物２の緩みは、ボルトなどの検出対象物２の締め付け方の緩みを含む。例えば、「緩み」を検出対象物２の締め具合の弱さ又は強さと言ってもよい。
【００２２】
図４は、図１に示す振動検出装置１の構成を示すブロック図である。図４に示すように、投影部１０は、レーザコントローラ２１、レーザダイオード（光源）２２、ライン生成部２３、投影光学系３０、及び走査部４０を有している。例えば、図１に示す光生成部２０は、レーザコントローラ２１、レーザダイオード２２、及びライン生成部２３を有している。
【００２３】
レーザコントローラ２１は、制御部６２からの指令信号に基づいてレーザダイオード２２によるレーザ光の照射を制御する。レーザダイオード２２は、レーザコントローラ２１からの制御信号に基づいてライン生成部２３に対してレーザ光を照射する光源である。このレーザダイオード２２は、走査部４０の動きに応じた電圧信号が入力されることにより、時間の経過とともに光強度が正弦波状に変化するレーザ光を照射する。また、このレーザダイオード２２は、レーザコントローラ２１からの制御信号に基づいて、レーザ光の光強度を段階的に変化させつつレーザ光を照射することが可能である。ライン生成部２３は、レーザダイオード２２が照射したレーザ光から一次元のライン光１００を生成する。
【００２４】
投影光学系３０は、図１において説明したように、ライン生成部２３が生成したライン光１００を投影する。走査部４０は、図１において説明したように、ライン生成部２３が生成した一次元のライン光１００を走査方向（投影領域２００における第１の方向Ｄ１）に沿って走査する。
【００２５】
撮像部５０は、受光光学系５１、ＣＣＤカメラ５２ａ（電荷結合素子(Charge Coupled Device）を用いたカメラ)、及び画像メモリ５２ｂを有している。例えば、図１に示す撮像装置５２は、ＣＣＤカメラ５２ａ及び画像メモリ５２ｂを有している。受光光学系５１は、図１において説明したように、撮像領域２１０上の検出対象物２及び比較対象物３の表面より反射された縞パターンを受光し、検出対象物２及び比較対象物３の表面に投影された縞パターンをＣＣＤカメラ５２ａの受光面に結像させる。
【００２６】
ＣＣＤカメラ５２ａは、受光面における像の光の強度を強度に応じた電荷量に光電変換し、その電荷量を順次読み出して電気信号に変換する。これにより、縞パターンが投影された検出対象物２及び比較対象物３の画像データが生成される。画像データは画素毎の輝度データによって構成される。例えば、画像データは５１２×５１２＝２６２１４４画素とされている。また、例えば、１枚の撮像範囲は２３ｃｍ角とされている。ＣＣＤカメラ５２ａは、縞パターンの初期位相が０、π／２、π、３π／２のタイミングにおいて、それぞれ検出対象物２及び比較対象物３を撮像して画像データを生成する。画像メモリ５２ｂは、ＣＣＤカメラ５２ａが生成した画像データを記憶する。
【００２７】
演算処理部６０は、操作部６１、制御部６２、設定情報記憶部６３、取込メモリ６４、演算部６５、画像記憶部６６、表示制御部６７、及び振動検出部６８を有している。なお、演算処理部６０における制御部６２、演算部６５、表示制御部６７、及び振動検出部６８は、ＣＰＵ（Central Processing Unit）などの演算処理装置が制御プログラムに従って処理を実行することにより実現される。
【００２８】
操作部６１は、使用者の操作に応じた操作信号を制御部６２に出力する。この操作部６１は、例えば、使用者によって操作されるボタン、スイッチ、表示装置７０の表示画面上のタッチパネルなどにより構成される。
【００２９】
制御部６２は、設定情報記憶部６３に記憶されている制御プログラムに従って以下の制御を実行する。制御部６２は、レーザコントローラ２１に指令信号を出力することにより、レーザダイオード２２からレーザ光を照射させる。このとき、制御部６２は、指令信号において、レーザ光の照射の開始及び終了だけでなく、レーザ光の光強度（レーザ出力）についても指令する。レーザコントローラ２１は、制御部６２からの指令信号で指令された光強度のレーザ光を照射させるように、レーザダイオード２２を制御する。
【００３０】
また、制御部６２は、レーザコントローラ２１及び走査部４０に指令信号を出力することにより、レーザダイオード２２における光強度と走査部（ＭＥＭＳミラー）４０の振動とを投影される縞パターンの強度変化が正弦波となるように、レーザコントローラ２１及び走査部４０を制御する。なお、レーザダイオード２２における光強度の正弦波の周期と走査部４０の振動との同期がとれていない場合、走査部４０が往復振動する毎に縞パターンにおける縞の位置がずれてしまう。また、制御部６２は、レーザコントローラ２１及び走査部４０に指令信号を出力することにより、縞パターンの位相が所定時間（例えば５ｍｓ）毎にπ／２ずつ順にシフトしていくように、レーザコントローラ２１及び走査部４０を制御する。なお、例えば、走査部４０が左から右に走査する場合の左端の位相を初期位相と呼ぶ。
【００３１】
また、制御部６２は、走査部４０及びＣＣＤカメラ５２ａに指令信号を出力することにより、ＣＣＤカメラ５２ａによる検出対象物２及び比較対象物３の撮像を、走査部４０による縞パターンの複数回の走査に同期するように制御する。例えば、走査部４０の振動周波数は１０００Ｈｚ（例えば、走査部４０の振動周期は往復１ｍｓ）とされ、ＣＣＤカメラ５２ａが各画像データ群（縞パターンの初期位相が０、π／２、π、３π／２のときの４つの画像データの組み合わせ）を生成するタイミングは２０ｍｓ毎とされているものとする。また、縞パターンの初期位相がπ／２ずつ順にシフトするタイミングは５ｍｓ毎とされているものとする。この場合、ＣＣＤカメラ５２ａのシャッター速度（例えば、ＣＣＤカメラ５２ａの撮像時間）は５ｍｓ以下の時間とされる。本実施形態では、ＣＣＤカメラ５２ａのシャッター速度は５ｍｓとされているものとする。
【００３２】
ＣＣＤカメラ５２ａが１枚の画像を撮像する間に、走査部４０はライン光１００を５往復走査する。このように、制御部６２は、ＣＣＤカメラ５２ａによる１回の検出対象物２及び比較対象物３の撮像を、走査部４０によるライン光１００の５往復の走査に同期させる。また、制御部６２は、ＣＣＤカメラ５２ａに指令信号を出力することにより、ＣＣＤカメラ５２ａによる検出対象物２及び比較対象物３の撮像を、縞パターンの位相がシフトされるタイミング（５ｍｓ毎のタイミング）と同期させる。
【００３３】
なお、上記の例では、ＣＣＤカメラ５２ａが各画像データ群を生成するタイミングは２０ｍｓ毎とされているので、１秒間に５０組の画像データ群が生成される。この場合、１秒当たり５０組の画像データ群から１秒当たり５０個の三次元形状（２０ｍｓ毎の三次元形状）が得られる。以下の説明において、１つの三次元形状を動画のフレームに対応することからフレームといい、１秒当たりに処理される三次元形状の数（上記の例では５０個）をフレームレート又はサンプリング周波数という。フレームレートの単位はｆｐｓ（frames per second）であり、サンプリング周波数の単位はヘルツ（Ｈｚ）である。
【００３４】
設定情報記憶部６３は、制御部６２に制御を実行させるための制御プログラムを記憶する。また、設定情報記憶部６３は、演算部６５に三次元形状の演算処理を実行させるための制御プログラムを記憶する。また、設定情報記憶部６３は、演算部６５の演算処理において縞パターンの位相から検出対象物２及び比較対象物３の実座標値を算出する際に用いるキャリブレーション情報を記憶する。また、設定情報記憶部６３は、振動検出部６８に振動の検出処理を実行させるための制御プログラムを記憶する。また、設定情報記憶部６３は、振動検出部６８に検出対象物２の緩みの判定処理を実行させるための制御プログラムやデータなども記憶する。
【００３５】
取込メモリ６４は、画像メモリ５２ｂに記憶された画像データを取り込んで記憶する。この取込メモリ６４は、縞パターンの初期位相が０、π／２、π、３π／２のときの４つの画像データそれぞれに対応した記憶領域が設けられている。例えば、縞パターンの初期位相が０のときの画像データが画像メモリ５２ｂに記憶され、その画像データが取込メモリ６４の第１記憶領域に記憶される。また、縞パターンの初期位相がπ／２のときの画像データが画像メモリ５２ｂに記憶され、その画像データが取込メモリ６４の第２記憶領域に記憶される。また、縞パターンの初期位相がπのときの画像データが画像メモリ５２ｂに記憶され、その画像データが取込メモリ６４の第３記憶領域に記憶される。また、縞パターンの初期位相が３π／２のときの画像データが画像メモリ５２ｂに記憶され、その画像データが取込メモリ６４の第４記憶領域に記憶される。なお、取込メモリ６４の第１記憶領域、第２記憶領域、第３記憶領域及び第４記憶領域は、それぞれ複数の画像データを記憶可能である。
【００３６】
演算部６５は、設定情報記憶部６３に記憶されている制御プログラムやキャリブレーション情報に従って、取込メモリ６４の４つの記憶領域に記憶された画像データから検出対象物２及び比較対象物３の三次元形状データ（三次元形状の座標データ）を算出する。画像記憶部６６は、演算部６５が算出した検出対象物２及び比較対象物３の三次元形状データを記憶する。表示制御部６７は、使用者による操作部６１の操作に応じて、又は自動的に、画像記憶部６６に記憶された三次元形状データを読み出す。そして、表示制御部６７は、読み出した三次元形状データに基づいて表示装置７０の表示画面に検出対象物２及び比較対象物３の三次元形状の疑似画像を生成して表示させる制御を実行する。振動検出部６８は、所定時間（例えば２０ｍｓ）毎の検出対象物２及び比較対象物３の三次元形状データの変位に基づいて、検出対象物２及び比較対象物３の振動（振幅、振動周波数、振動方向）を検出する。また、振動検出部６８は、検出対象物２の振動と比較対象物３の振動とを比較することで、検出対象物２の相対的な振動の周波数、振幅、振動方向を求める。そして、振動検出部６８は、検出対象物２の相対的な振動の周波数、振幅、振動方向と、設定情報記憶部６３に予め記憶されている判定基準の振動の周波数、振幅、振動方向とを比較することで、検出対象物２の緩みを判定する。
【００３７】
表示装置７０は、検出対象物２及び比較対象物３の三次元形状の疑似画像を表示する装置である。この表示装置７０は、例えば液晶ディスプレイなどで構成される。本実施形態では、振動検出装置１と表示装置７０（表示部）とを備える装置を、ボルト及びネジを含む検出対象物２の緩みを検査する「検査装置１Ａ」と呼ぶ。なお、図１においては表示装置７０が振動検出装置１に含まれていなかったが、表示装置７０を含めた図４に示す全体の装置を「振動検出装置」と呼んでもよい。また、検査装置１Ａは、非接触で検出対象物２の振動を検出する装置であるので、非接触型検査装置と呼んでもよい。
【００３８】
図５は、図１に示す投影部１０の概略構成を示す図である。図５においては、光軸方向（紙面の右方向）をＺ１軸とし、Ｚ１軸と直交するある方向（紙面の表から裏に向かう方向）をＸ１軸とし、Ｚ１軸及びＸ１軸と直交する方向（紙面の上方向）をＹ１軸としている。図４に示す投影部１０は、図５に示すレーザダイオード２２、コリメートレンズ２３ａ、シリンドリカルレンズ２３ｂ、投影光学系３０、及び走査部４０を有している。例えば、図４に示すライン生成部２３は、コリメートレンズ２３ａ及びシリンドリカルレンズ２３ｂを有している。なお、投影部１０はレーザコントローラ２１を備えているが、図５においては省略している。
【００３９】
レーザダイオード（光源）２２は、コリメートレンズ２３ａの前側焦点位置に配置されている。ここで、前側とはレーザダイオード２２側のことをいう。レーザダイオード２２は、レーザコントローラ２１からの制御信号で指定された光強度のレーザ光を出力する。コリメートレンズ２３ａは、レーザダイオード２２が出力したレーザ光を平行光又は略平行光に変換する。シリンドリカルレンズ２３ｂは、コリメートレンズ２３ａにより平行光又は略平行光に変換された光束を集光することにより、シリンドリカルレンズ２３ｂの後側焦点位置に一次元のライン光１００の像を形成する。ここで、後側とはレーザダイオード２２と反対側のことをいう。
【００４０】
図５に示すように、一次元のライン光１００は、レーザ光の照射方向Ｄ３（Ｚ１軸方向）と直交する方向Ｄ４（Ｙ１軸方向）に生成される。ここで、レーザダイオード２２は、走査部４０の動きに応じた電圧信号が入力されることにより、時間の経過とともに光強度が正弦波状に変化するレーザ光を出力する。従って、ライン生成部２３により生成された方向Ｄ４のライン光１００は、レーザ光の照射方向Ｄ３（Ｚ１軸方向）に沿って周期的な光強度の分布を有する光（パターン光）となる。
【００４１】
ライン生成部２３により生成されたライン光１００は、投影光学系３０を通過した後、走査部４０としてのＭＥＭＳミラーに導かれる。ＭＥＭＳミラーは、投影領域２００においてライン光１００が第１の方向Ｄ１に走査される方向に、所定の振幅角及び振動周波数で振動している。このＭＥＭＳミラーがライン光１００を反射することにより、ライン光１００が投影領域２００における第２の方向Ｄ２に投影されるとともに、第１の方向Ｄ１において走査される。これにより、投影領域２００の全面にわたって縞パターンが投影される。
【００４２】
次に、図６〜図８を参照して位相シフト法の原理について説明する。位相シフト法は、三角測量の原理を利用して距離を計測する方法である。位相シフト法は光切断法と計測原理は同じである。光切断法においては、レーザが物体に対してライン状のレーザ光を投影する。また、撮像部が物体表面で反射されたライン光を撮像する。そして、演算部が物体表面の形状に応じたライン光の像の変形から物体の三次元形状を復元する。この光切断法の場合、１回に１ライン分の計測しか行うことができない。従って、撮像部の画面全体の計測値を得るためには、撮像部の画面全体にわたってレーザ光の照射と撮像とを繰り返し行う必要がある。
【００４３】
これに対して、位相シフト法においては、正弦波状の縞パターンの位相をシフトさせて撮像した画像を解析することにより距離を計測する。このときに投影部から投影される縞パターンは、上述したように、位相をπ／２ずつシフトさせた４種類の画像となる。
【００４４】
縞パターンの初期位相が０、π／２、π、３π／２とシフトする毎に、縞の濃淡が位相差に対応する分だけずれて投影される。検出対象物２及び比較対象物３が撮像領域２１０内に位置している場合は、検出対象物２及び比較対象物３の表面に縞パターンが現れる。撮像部５０（例えばＣＣＤカメラ５２ａ）は、表面に縞パターンが現れた検出対象物２及び比較対象物３を、縞パターンの初期位相が０、π／２、π、３π／２のタイミングにおいてそれぞれ撮像する。これにより、縞パターンの初期位相が０、π／２、π、３π／２のときの４つの画像が得られる。これらの画像を「縞パターン画像」という。
【００４５】
輝度値Ｉｎ（ｘ，ｙ）（ｎ＝０，１，２，３）は各位相の縞パターンが投影されたときに撮像された各画像の所定画素（ｘ，ｙ）の輝度値である。例えば、Ｉ０は初期位相０の縞パターンが投影されたときに撮像された画像の輝度値である。Ｉ１は初期位相π／２の縞パターンが投影されたときに撮像された画像の輝度値である。Ｉ２は初期位相πの縞パターンが投影されたときに撮像された画像の輝度値である。Ｉ３は初期位相３π／２の縞パターンが投影されたときに撮像された画像の輝度値である。この輝度値Ｉｎ（ｘ，ｙ）（ｎ＝０，１，２，３）は下記の式（１）で表される。
【００４６】
Ｉｎ（ｘ，ｙ）＝Ａ（ｘ，ｙ）ｃｏｓ（φ（ｘ，ｙ）＋ｎπ／２）＋Ｂ（ｘ，ｙ）・・・（１）
【００４７】
図６は、所定画素の輝度値から求められる正弦波を示す波形図である。図６に示すように、式（１）において、Ｂ（ｘ，ｙ）はバイアス成分を示す。また、Ａ（ｘ，ｙ）は撮像時の正弦波のコントラストの強さを示す。また、φ（ｘ，ｙ）は所定画素（ｘ，ｙ）における正弦波の位相である。４つの画像上の同一画素（同一位置）での輝度値Ｉ０〜Ｉ３は、図６に示すように、物体の表面性状や色などにより絶対的な値は変化する。しかし、相対的な輝度値の差は、常に縞パターンの位相差分だけの変化を示す。従って、所定画素（ｘ，ｙ）おける縞パターンの位相φ（ｘ，ｙ）は、４つの画像の同一画素における輝度値から下記の式（２）で求められる。
【００４８】
φ（ｘ，ｙ）＝ｔａｎ−１｛（Ｉ３（ｘ，ｙ）−Ｉ１（ｘ，ｙ））／（Ｉ０（ｘ，ｙ）−Ｉ２（ｘ，ｙ））｝・・・（２）
【００４９】
このように、画像の画素毎に正弦波の初期位相０の時の位相を求めることができる。例えば、位相φ（ｘ，ｙ）が等しい点を連結して得られる線（等位相線）が、光切断法における切断線と同じく物体をある平面で切断した断面の形状を表す。例えば、この位相φ（ｘ，ｙ）に基づいて三角測量の原理により三次元形状（画像の各点での高さ情報）が求められる。
【００５０】
図７は、三角測量の原理を説明する図である。図７において、Ｐｏは投影部１０の光学中心座標、例えば走査部（ＭＥＭＳミラー）４０の回転中心座標である。また、Ｃｏは撮像部５０（ＣＣＤカメラ５２ａ）の光学中心座標である。所定位置における縞パターンの生成面３００において、縞パターンの位相が同じφである点は線分ＡＢ（等位相線）である。このとき、撮像面４００の点Ｐ（ｉ，ｊ）における位相がφである場合、物体表面上の点Ｘの三次元座標Ｘ（ｘ，ｙ，ｚ）は平面π（平面ＰｏＡＢが一部をなす平面）上に存在するはずである。また、物体表面上の点Ｘ（ｘ，ｙ，ｚ）に投影された縞パターンが撮像面４００の点Ｐ（ｉ，ｊ）に反射されたことから、点Ｘ（ｘ，ｙ，ｚ）は撮像部５０の光学中心座標Ｃｏと撮像面４００の点Ｐ（ｉ，ｊ）とを結ぶ直線Ｌ上に存在するはずである。従って、点Ｘ（ｘ，ｙ，ｚ）は直線Ｌと平面πとの交点となる。
【００５１】
位相がφとなる平面πは、キャリブレーション情報として予め設定情報記憶部６３に記憶されている。また、直線Ｌを求めるカメラ側のキャリブレーション情報も予め設定情報記憶部６３に記憶されている。例えば、撮像面４００における点Ｐ（ｉ，ｊ）の位相φ（画素Ｐ（ｉ，ｊ，φ）の各変数）を所定の演算式に当てはめることにより、物体表面上の点Ｘの三次元座標（ｘ，ｙ，ｚ）が求められる。
【００５２】
図８は、位相シフト法における位相回復及びアンラッピング（位相接続）の処理を説明する図である。図８に示す横軸は、縞パターンにおける第１の方向Ｄ１の位置（画素）を示す。また、縦軸は、それぞれの位置における位相を示す。上述したように、各画素（ｉ，ｊ）の位相φは、輝度値Ｉｎ（ｘ，ｙ）を上記した式（２）に当てはめることにより求められる。このような処理を位相回復又は位相復元という。
【００５３】
図８に示すように、位相回復された各画素の位相は、縞パターンの縞毎の位相、例えばπ〜πの間の値となる。このため、物体の連続した三次元形状を導出するためには、複数の縞の絶対位相を求める必要がある。例えば、図８における一番左端の縞を基準として−π〜π〜３π〜５π・・・と表される絶対的な位相を求める必要がある。図８に示すように、各縞の位相をつなぎ合わせることで、各画素における絶対位相を求めることができる。このような処理を位相接続（アンラッピング）という。そして、求めた各画素における絶対位相と設定情報記憶部６３に記憶されたキャリブレーション情報とから検出対象物２及び比較対象物３の三次元形状を算出する。
【００５４】
次に、撮像部５０（撮像装置５２、ＣＣＤカメラ５２ａ）による撮像タイミング及び画像データ群について説明する。図９は、撮像部５０による撮像タイミング及び４つの画像データからなる画像データ群を示す図である。図９に示す例では、撮像部５０は、縞パターンの初期位相が５ｍｓ毎にπ／２ずつシフトされるタイミングに同期して検出対象物２及び比較対象物３を撮像することにより、縞パターンの初期位相が０、π／２、π、３π／２のときの４つの画像データｐ１，ｐ２，ｐ３，ｐ４を生成する。４つの画像データｐ１，ｐ２，ｐ３，ｐ４を生成する時間は２０ｍｓである。これらの画像ｐ１，ｐ２，ｐ３，ｐ４の組み合わせが画像データ群ｐｇ１である。撮像部５０は、同様の撮像動作を繰り返し実行することにより、４つの画像データからなる画像データ群を順次生成する。撮像部５０が１番目の画像データ群ｐｇ１（４つの画像データｐ１，ｐ２，ｐ３，ｐ４）を生成してから５０番目の画像データ群ｐｇ５０（４つの画像データｐ１９７，ｐ１９８，ｐ１９９，ｐ２００）を生成するまでの時間が１秒となる。このように、図９に示す例では、１秒間に５０個の画像データ群ｐｇ１〜ｐｇ５０が生成される。撮像部５０は、上記の撮像動作を所定秒間実行する。これにより、振動検出装置１の演算処理部６０は、２０ｍｓ毎の画像データ群を取得して取込メモリ６４に記憶する。
【００５５】
次に、第１実施形態に係る振動検出装置１の動作について説明する。
【００５６】
図１０は、第１実施形態に係る振動検出方法の一例を説明するフローチャートである。図１０に示すように、制御部６２は、レーザダイオード２２をオンにするようにレーザコントローラ２１に指令信号を出力する。レーザコントローラ２１は、制御部６２からの指令信号に基づいてレーザダイオード２２をオンにする（ステップＳ１）。また、制御部６２は、走査部４０に指令信号を出力することにより、走査部４０による走査を開始させる（ステップＳ２）。そして、制御部６２は、使用者による撮影ボタンの操作が行われたか否かを判定する（ステップＳ３）。
【００５７】
使用者により撮影ボタンの操作が行われると（ステップＳ３のＹＥＳ）、例えば、制御部６２は操作部６１から撮影ボタンの操作が行われたことを表す信号を入力すると、位相がπ／２ずつシフトされた４つの縞パターンを撮像する動作を連続して繰り返し実行する（ステップＳ４Ａ）。ＣＣＤカメラ５２ａは、制御部６２からの指令信号に基づいて、縞パターンの初期位相が０、π／２、π、３π／２のタイミングにおいて、それぞれ検出対象物２及び比較対象物３を撮像して４つの縞パターン画像の画像データ（画像データ群）を生成する。ＣＣＤカメラ５２ａが撮像した各位相の縞パターン画像の画像データは、一旦、画像メモリ５２ｂに格納された後、それぞれ、取込メモリ６４に設けられた各記憶領域（第１記憶領域、第２記憶領域、第３記憶領域、第４記憶領域）に順に記憶される。また、ＣＣＤカメラ５２ａは、所定時間（例えば２０ｍｓ）毎に画像データ群を生成する動作を繰り返し実行する。このようにして生成された画像データ群に含まれる各位相の縞パターン画像の画像データも、画像メモリ５２ｂに格納された後、それぞれ、取込メモリ６４に設けられた各記憶領域（第１記憶領域、第２記憶領域、第３記憶領域、第４記憶領域）に順に記憶される。その後、使用者により撮影ボタンの操作が行われると、検出対象物２及び比較対象物３の撮影を終了する（ステップＳ４Ｂ）。
【００５８】
演算部６５は、取込メモリ６４の記憶領域に記憶された各画像データ群に含まれる４つの縞パターン画像の画像データに基づいて、所定時間（例えば２０ｍｓ）毎の各画素の初期位相０における位相分布φ（ｉ，ｊ）を求める。例えば、位相回復処理を実行する（ステップＳ５）。演算部６５は、ステップＳ５において求めた初期位相０における位相分布φ（ｉ，ｊ）に対して位相接続処理を行う（ステップＳ６）。これにより、検出対象物２及び比較対象物３の三次元形状に対応する連続した位相分布φ（ｉ，ｊ）が求められる。
【００５９】
次に、演算部６５は、上述した三角測量の原理を用いて、ステップＳ６において求めた所定時間毎の位相分布φ（ｉ，ｊ）から、検出対象物２及び比較対象物３における所定時間（例えば２０ｍｓ）毎の三次元形状の座標データＸ（ｘ，ｙ，ｚ）を算出する（ステップＳ７）。なお、座標データＸはＣＣＤカメラ５２ａを基準とする座標として求められる。演算部６５は、算出した検出対象物２及び比較対象物３の三次元形状の座標データを画像記憶部６６に記憶する。
【００６０】
振動検出部６８は、使用者による操作部６１の操作に応じて、又は自動的に、画像記憶部６６に記憶された三次元形状の座標データを読み出す。そして、振動検出部６８は、ステップＳ７において算出した検出対象物２及び比較対象物３における所定時間（例えば２０ｍｓ）毎の三次元形状の座標データの変位に基づいて、検出対象物２の振動を検出する（ステップＳ８）。例えば、振動検出部６９は、検出対象物２及び比較対象物３における所定時間毎の三次元形状の座標データの変位から、検出対象物２及び比較対象物３の振動の周波数（周期）、振幅及び方向を検出する。
【００６１】
図１１は、検出対象物２及び比較対象物３の振動を説明するための図である。図１１に示す例では、比較対象物３である壁面はＸ軸及びＹ軸を含む平面と並行であるものとする。また、例えば検出対象物２であるボルト２Ａ及びナット２Ｂは、壁面に垂直な方向（Ｚ軸方向）に取り付けられているものとする。また、例えば比較対象物３は所定方向に小さく振動し、検出対象物２は比較対象物３の振動に対応して所定方向（比較対象物３の振動方向と同じ方向の場合も異なる方向の場合もある）に大きく振動しているものとする。図１１に示す場合において、振動検出部６８は、検出対象物２における所定時間毎の三次元形状の座標データから、検出対象物２がいずれの方向に振動しているかを検出する。また、振動検出部６８は、検出対象物２における所定時間毎の三次元形状の座標データから、検出対象物２が振動方向にどれだけの幅（距離）、振動しているかを検出する。また、振動検出部６８は、検出対象物２における所定時間毎の三次元形状の座標データから、検出対象物２が所定位置から移動してその所定位置に戻ってくるまでの時間を検出し、検出した時間に基づいて検出対象物２の振動の周期及び周波数を求める。
【００６２】
同様に、振動検出部６８は、比較対象物３における所定時間毎の三次元形状の座標データから、比較対象物３がいずれの方向に振動しているかを検出する。また、振動検出部６８は、比較対象物３における所定時間毎の三次元形状の座標データから、比較対象物３が振動方向にどれだけの幅（距離）、振動しているかを検出する。また、振動検出部６８は、比較対象物３における所定時間毎の三次元形状の座標データから、比較対象物３が所定位置から移動してその所定位置に戻ってくるまでの時間を検出し、検出した時間に基づいて比較対象物３の振動の周期及び周波数を求める。なお、振動検出部６８は、検出対象物２や比較対象物３における特徴点（突起物、表面上のキズなど）を検出し、その特徴点の座所定時間毎の標データの変位に基づいて、検出対象物２及び比較対象物３の振動の周波数（周期）、振幅及び方向を検出してもよい。
【００６３】
次に、振動検出部６８は、ステップＳ８において検出した検出対象物２及び比較対象物３の振動に基づいて、検出対象物２の緩み（ここではボルト２Ａが緩んでいないか否か）を判定する（ステップＳ９）。例えば、振動検出部６８は、検出対象物２の振動（周波数、振幅、方向など）と比較対象物３の振動（周波数、振幅、方向など）とを比較することで、検出対象物２の相対的な振動の周波数、振幅及び方向を求める。また、振動検出部６８は、設定情報記憶部６３に予め記憶されている判定基準の振動の周波数、振幅及び方向を読み出す。そして、振動検出部６８は、検出対象物２の相対的な振動の周波数、振幅及び方向と、判定基準の振動の周波数、振幅及び方向とを比較することで、検出対象物２（ここではボルト２Ａ）が緩んでいないか否かを判定する。
【００６４】
表示制御部６７は、使用者による操作部６１の操作に応じて、又は自動的に、画像記憶部６６に記憶された三次元形状の座標データを読み出す。表示制御部６７は、読み出した三次元形状の座標データに基づいて表示装置７０の表示画面に検出対象物２の三次元形状を表示させる。三次元形状は、三次元空間内の点の集合である点群で表示される。この点群のデータは、振動検出装置１から出力可能である。
【００６５】
表示装置７０は、検出対象物２の三次元形状を表示するだけでなく、撮像部５０により撮像された縞パターン画像を表示させてもよい。例えば、表示制御部６７は、取込メモリ６４に記憶された画像データに基づいて、撮像部５０が撮像した縞パターン画像を表示装置７０に表示させてもよい。このような構成によれば、使用者が撮像部５０により撮像された縞パターン画像に基づいて、撮像現場で検出対象物２が正確に撮像されたか否かを確認することができる。
【００６６】
また、表示装置７０は、撮像部５０により撮像された画像、及び演算部６５により算出された三次元形状、のうち少なくとも一方を表示する構成であってもよい。この場合、撮像部５０により撮像された画像、及び演算部６５により算出された三次元形状、のうち少なくとも一方は、振動検出装置１と無線又は有線で接続された外部の表示装置に表示させる（又は出力させる）ものでもよい。
【００６７】
なお、上記した第１実施形態では、振動検出装置１は位相シフト法を用いて検出対象物２の三次元形状を測定していたが、このような手法に限定されず、例えば光切断法を用いて検出対象物２の三次元形状を測定してもよい。
【００６８】
一般に、フレームレート（サンプリング周波数）が振動の周波数の２倍以上あれば、振動の周波数を検出することができる。上記した第１実施形態においては、フレームレートが５０ｆｐｓ（５０Ｈｚ）であるので、２５Ｈｚの周波数の振動を検出することができる。フレームレートは高フレームレートである程、検出可能な振動の周波数の範囲が広がる。フレームレートは５０ｆｐｓに限らず、異なるフレームレートでもよい。なお、フレームレートについては、検出対象物２の振動の周波数に応じて、位相シフトのタイミング、ＣＣＤカメラ５２ａのシャッター速度、走査部４０の振動周波数などを変更可能に構成してもよい。
【００６９】
また、上記したように、投影部１０が所定時間（５ｍｓ）毎に縞パターンの初期位相をπ／２ずつ３回シフトさせ、撮像部５０が縞パターンの初期位相がシフトする毎に検出対象物２等を撮像する場合、検出対象物２は振動しているので、４つの縞パターン画像において検出対象物２等の位置が所定時間分の振動による移動量だけずれ（ぶれ）てしまうおそれがある。そこで、投影部１０は、可能な限り短い時間で縞パターンの位相をシフトさせ、撮像部５０も可能な限り短い時間で検出対象物２等を撮像する。また、演算部６５は、４つの縞パターン画像における検出対象物２等の位置が一致するように調整した上で、検出対象物２等の三次元形状を算出する。演算部６５は、例えば検出対象物２等の特徴点（例えば検出対象物２等の角や突起など）に基づいてずれの量（移動量）及びずれの方向がわかる場合は、そのずれの量及びずれの方向に基づいて縞パターン画像の画像データを補正する。これにより、４つの縞パターン画像における検出対象物２のずれをなくし、検出対象物２等の三次元形状の精度を向上させることができる。
【００７０】
以上に説明したように、第１実施形態では、検出対象物２に光を投影する投影部１０と、光（位相シフト法の場合はパターン光、光切断法の場合はライン状のレーザ光）が投影された検出対象物２を所定時間ごとに撮像する撮像部５０と、撮像部５０で得られた検出対象物２に対する所定時間毎の画像データに基づいて該検出対象物２に対する所定時間毎の三次元情報（第１実施形態の場合は三次元形状の座標データ）を算出する演算部６５と、演算部６５で算出された所定時間毎の三次元情報の変位に基づいて検出対象物２の振動を検出する振動検出部６８と、を備える。このような構成によれば、検出対象物２の三次元情報の変位に基づいて検出対象物２の振動を検出するので、検出対象物２の振動方向を意識することなく検出対象物２の振動検出を行うことができる。例えば、演算部６５が撮像部５０で撮像された画像から検出対象物２の三次元形状を算出する場合、撮像部５０が検出対象物２の振動方向に応じた特定方向から検出対象物２を撮像する場合に限定されず、検出対象物２を任意の方向から撮像することが可能である。例えば、検出対象物２の撮像位置が制限されている場合でも、演算部６５は、撮像部５０が任意の方向から撮像した検出対象物２の画像（縞パターン画像等）に基づいて検出対象物２の三次元形状を求めることができ、振動検出部６８が検出対象物２における所定時間毎の三次元形状の変位に基づいて検出対象物２の振動を検出することができる。なお、本実施形態の振動検出装置１は、例えば図１１に示すＸＹ面内の方向とＺ軸方向（光軸方向）のいずれの方向の検出対象物２の振動も検出可能である。しかし、三次元情報の変位からＺ軸方向の検出対象物２の振動を検出可能であることが、二次元の画像データから振動を検出する装置と比較した場合における、本実施形態の振動検出装置１の特徴の１つである。また、本実施形態では、検出対象物２の振動計測により、検出対象物２の緩み具合（例、締め具合の弱さ）を定量データ（例、緩みの定量データ）として定量化することができる。
【００７１】
また、第１実施形態では、投影部１０は、正弦波状の周期的な強度の分布を有するパターン光を投影する。このような構成によれば、位相シフト法を用いて検出対象物２全体の三次元形状を求めることができ、光切断法を用いる場合よりも短時間かつ確実に検出対象物２の三次元形状の測定を行うことができる。
【００７２】
また、第１実施形態では、投影部１０は、縞の位相がそれぞれ異なる複数のパターン光１００が投影し、演算部６５は、撮像部５０により得られた、複数のパターン光１００がそれぞれ投影された検出対象物２の複数の画像から検出対象物２の位相情報を算出し、所定時間毎の位相情報から所定時間毎の座標データを算出し、振動検出部６８は、演算部６５で算出された所定時間毎の座標データの変位に基づいて検出対象物２の振動を検出する。このような構成によれば、検出対象物２における所定時間毎の三次元形状の座標データから、所定時間毎の検出対象物２の三次元の位置を認識することができ、その結果、確実に検出対象物２の振動を検出することができる。
【００７３】
また、第１実施形態では、投影部１０は、検出対象物２及び比較対象物３を含む領域に光を投影し、撮像部５０は、光が投影された領域を所定時間ごとに撮像し、演算部６５は、撮像部５０で得られた領域に対する所定時間毎の画像データに基づいて検出対象物２に対する所定時間毎の三次元情報と比較対象物３に対する所定時間毎の三次元情報とを算出し、振動検出部６８は、検出対象物２に対する所定時間毎の三次元情報の変位と比較対象物３に対する所定時間毎の三次元情報との比較により検出対象物２の振動を検出する。このような構成によれば、検出対象物２だけでなく比較対象物３（検出対象物２以外の物）も振動している場合において、検出対象物２自体の振動を検出することができ、検出対象物２の緩みの判定の精度を向上させることができる。
【００７４】
なお、上記した第１実施形態では、投影部１０が投影領域２００におけるパターン光を検出対象物２及び比較対象物３に投影し、撮像部５０が検出対象物２及び比較対象物３を撮像し、演算部６５が撮像部５０で撮像された検出対象物２及び比較対象物３の画像データに基づいて検出対象物２及び比較対象物３の三次元形状を算出していた。しかし、このような構成に限定されず、投影部１０が投影領域２００におけるパターン光を検出対象物２だけに投影し、撮像部５０が検出対象物２を撮像し、演算部６５が撮像部５０で撮像された検出対象物２の画像データに基づいて検出対象物２の三次元形状を算出してもよい。また、投影部１０が投影領域２００におけるパターン光を検出対象物２及び比較対象物３に投影し、撮像部５０が検出対象物２だけを撮像し、演算部６５が撮像部５０で撮像された検出対象物２の画像データに基づいて検出対象物２の三次元形状を算出してもよい。また、投影部１０が投影領域２００におけるパターン光を検出対象物２及び比較対象物３に投影し、撮像部５０が検出対象物２及び比較対象物３を撮像し、演算部６５が撮像部５０で撮像された検出対象物２及び比較対象物３の画像データから検出対象物２の画像データだけを抽出し、抽出した検出対象物２の画像データに基づいて検出対象物２の三次元形状を算出してもよい。この場合、例えば、設定情報記憶部６３には、検出対象物２の三次元形状のパターンデータを予め記憶しておき、演算部６５は、検出対象物２の三次元形状のパターンデータと合致する三次元形状を抽出することで検出対象物２の三次元形状を抽出する。
【００７５】
また、上記した実施形態１では、振動検出部６８は、検出対象物２に対する所定時間毎の三次元情報の変位と比較対象物３に対する所定時間毎の三次元情報との比較により検出対象物２の振動を検出していた。しかし、このような構成に限定されず、例えば、振動検出部６８は、検出対象物２に対する所定時間毎の三次元情報の変位だけに基づいて検出対象物２の振動を検出してもよい。
【００７６】
＜第２実施形態＞
上記した第１実施形態では、演算部６５は検出対象物２及び比較対象物３の三次元形状の座標データを算出し、振動検出部６８は検出対象物２及び比較対象物３における所定時間毎の三次元形状の座標データの変位に基づいて、検出対象物２の振動を検出していた（図１０のステップＳ７，Ｓ８参照）。これに対して、第２実施形態では、演算部６５は検出対象物２及び比較対象物３の三次元形状の座標データを算出せず、振動検出部６８は検出対象物２及び比較対象物３における所定時間毎の位相情報（初期位相０における位相分布φ（ｉ，ｊ））の変位に基づいて、検出対象物２の振動を検出する。
【００７７】
図１２は、第２実施形態に係る振動検出方法の一例を説明するフローチャートである。図１２に示すステップＳ１〜Ｓ６の処理は、図１０に示したステップＳ１〜Ｓ６の処理と同様であるため、重複する説明を省略する。図１２に示す処理では、演算部６５は、検出対象物２及び比較対象物３の三次元形状座標データを算出する処理（図１０のステップＳ７）を実行しない。そして、振動検出部６８は、ステップＳ５，Ｓ６で算出された所定時間毎の各画素の初期位相０における位相分布φ（ｉ，ｊ）の変位に基づいて、検出対象物２の振動を検出する（ステップＳ８Ａ）。
【００７８】
例えば、振動検出部６８は、ステップＳ５，Ｓ６で算出された所定時間毎の各画素の初期位相０における位相分布φ（ｉ，ｊ）の変位から、撮像部５０から検出対象物２及び比較対象物３に至る方向（図１１に示すＺ軸方向）の振動の周期及び周波数を検出する。例えば、振動検出部６８は、検出対象物２及び比較対象物２が所定の位相分布から移動してその所定の位相分布に戻ってくるまでの時間を検出し、検出した時間に基づいて検出対象物２及び比較対象物３の振動の周期及び周波数を求める。
【００７９】
次に、振動検出部６８は、ステップＳ８Ａにおいて検出した検出対象物２及び比較対象物３の振動の周波数（又は周期）に基づいて、検出対象物２の緩み（ここではボルト２Ａが緩んでいないか否か）を判定する（ステップＳ９）。例えば、振動検出部６８は、検出対象物２の周波数と比較対象物３の周波数とを比較することで、検出対象物２の相対的な振動の周波数を求める。また、振動検出部６８は、設定情報記憶部６３に予め記憶されている判定基準の振動の周波数を読み出す。そして、振動検出部６８は、検出対象物２の相対的な振動の周波数と、判定基準の振動の周波数とを比較することで、検出対象物２（ここではボルト２Ａ）が緩んでいないか否かを判定する。
【００８０】
なお、演算部６５が検出対象物２及び比較対象物３の三次元形状の座標データを算出していないので、検出対象物２及び比較対象物３の正確な三次元の位置を認識することができない。従って、検出対象物２及び比較対象物３の振動の正確な振幅や方向を検出することができない。しかし、演算部６５が三次元形状の座標データを算出しないので、演算処理の負担が大幅に軽減されるとともに、処理時間も短縮される。振動検出部６８が振動の周波数だけに基づいて検出対象物２の緩みを判定することが可能である場合に特に有効である。
【００８１】
以上に説明したように、第２実施形態では、演算部６５は、撮像部５０により得られた、複数のパターン光がそれぞれ投影された検出対象物２の複数の画像から検出対象物２の位相情報を算出し、振動検出部６８は、演算部６５で算出された所定時間毎の位相情報の変位に基づいて検出対象物２の振動を検出する。このような構成によれば、演算処理の負担を軽減することができるとともに、処理時間も短縮することができる。なお、振動検出部６８は、所定時間毎の縞パターン画像の各画素の輝度に基づいて検出対象物２及び比較対象物３の二次元の位置を認識し、検出対象物２及び比較対象物３の所定時間毎の二次元の位置と所定時間毎の位相分布とに基づいて、検出対象物２の振動を検出してもよい。この場合、振動検出部６８は、おおまかな検出対象物２等の三次元の位置を認識することができ、振動の周波数だけで振動を検出する場合よりも精度よく振動を検出することができる。
【００８２】
＜第３実施形態＞
上記した第１実施形態及び第２実施形態では、位相シフト法を用いて三次元形状を求めていた。上記した位相シフト法における位相接続において、検出対象物２及び比較対象物３の面形状が滑らかに変化する連続的な面形状であるときは、１本の縞に相当する２πの位相を−π〜π〜３π〜５π・・・と単純につなげることが可能である。しかし、検出対象物２及び比較対象物３の面形状が急な段差変化があるような不連続な面形状であるときは、その位相がどの縞の位相であるかがわからなくなる。例えば、ある縞の位相が−π〜πの位相であるか、π〜３πの位相であるかがわからなくなる。この場合、位相が連続して接続されない、いわゆる位相飛び現象が生じる。このような位相飛び現象を防止するため、本実施形態では、位相シフト法と空間コード法を組み合わせて検出対象物２及び比較対象物３の三次元形状を測定する。例えば、本実施形態においては、投影部１０は、投影領域２００において、位相シフト法で用いる縞パターンを投影するとともに、空間コード法で用いる空間コードパターンを投影する。なお、この空間コードパターンのことを「パターン光」という。
【００８３】
図１３は、投影領域２００における空間コードパターン（パターン光）の強度分布を示す図である。なお、空間コードパターンとして複数のパターンが使用されるが、そのうちの１つのパターンを図１３に示している（図１４（Ｂ）参照）。図１３に示すように、空間コードパターンは、投影領域２００における第１の方向Ｄ１に沿って光強度のプロファイルが矩形波状となっている。この空間コードパターンにおいては、明るい部分（図１３の白い部分）と暗い部分（図１３の黒い部分）が交互に現れる。例えば、図１３に示す空間コードパターンでは、第２の方向Ｄ２の８本の白のラインと、第２の方向Ｄ２の８本の黒のラインとが交互に配置されている。
【００８４】
また、図５に示す投影部１０は、縞パターンと同じように、空間コードパターンを投影領域２００に投影する。例えば、レーザダイオード２２は、レーザコントローラ２１からの制御信号で指定された光強度のレーザ光を出力する。コリメートレンズ２３ａは、レーザダイオード２２が出力したレーザ光を平行光又は略平行光に変換する。シリンドリカルレンズ２３ｂは、コリメートレンズ２３ａにより平行光又は略平行光に変換された光束を集光することにより、シリンドリカルレンズ２３ｂの後側焦点位置に一次元のライン光１００の像を形成する。
【００８５】
図５に示すように、一次元のライン光１００は、レーザ光の照射方向Ｄ３（Ｚ１軸方向）と直交する方向Ｄ４（Ｙ１軸方向）に生成される。ここで、レーザダイオード２２は、矩形波状に変化する電圧信号が入力されることにより、時間の経過とともに光強度が矩形波状に変化するレーザ光を出力する。従って、ライン生成部２３により生成された方向Ｄ４のライン光１００は、レーザ光の照射方向Ｄ３（Ｚ１軸方向）に沿って矩形波状の周期的な光強度の分布を有する光（パターン光）となる。
【００８６】
ライン生成部２３により生成されたライン光１００は、投影光学系３０を通過した後、走査部４０としてのＭＥＭＳミラーに導かれる。ＭＥＭＳミラーは、投影領域２００においてライン光１００が第１の方向Ｄ１に走査されるような方向に、所定の振幅角及び振動周波数で振動している。このＭＥＭＳミラーがライン光１００を反射することにより、ライン光１００が投影領域２００における第２の方向Ｄ２に投影されるとともに、第１の方向Ｄ１において走査される。これにより、投影領域２００の全面にわたって白黒のストライプの空間コードパターンが投影される。
【００８７】
図１４は、標準パターン、４つの空間コードパターン、及び白黒参照パターンを示す図である。図１４（Ａ）は標準パターンを示す。図１４（Ｂ）は空間コードパターンを示す。図１４（Ｃ）は白黒参照パターンを示す。表示制御部６７が表示装置７０の表示画面に検出対象物２及び比較対象物３の三次元形状の疑似画像を表示させるときに、三次元形状の表面に色を張り付ける処理（テクスチャ）を行う。図１４（Ａ）に示す標準パターンは、三次元形状の表面に張り付けられる標準の色を取得するために撮像される。なお、標準パターンが投影されているときの検出対象物２及び比較対象物３の画像を「標準画像」という。
【００８８】
図１４（Ｂ）に示す空間コードパターンは、投影領域２００内の複数の領域に空間コードと呼ばれる番号を割り当てるためのパターンである。図１４（Ｂ）に示す例では、（ａ）の空間コードパターンは、左半分が白で右半分が黒となっている。（ｂ）の空間コードパターンは、２本の白のラインと２本の黒のラインが交互に配置されている。（ｃ）の空間コードパターンは、４本の白のラインと４本の黒のラインが交互に配置されている。（ｄ）の空間コードパターンは、８本の白のラインと８本の黒のラインが交互に配置されている。なお、空間コードパターンが投影されているときの検出対象物２及び比較対象物３の画像を「空間コード画像」という。
【００８９】
図１４（Ｃ）に示す白黒参照パターンは、投影領域２００における各領域に付される空間コードの「１」と「０」、例えば白と黒を判別するときに参照されるパターンである。演算部６５において、空間コードの「１」を判別するときに、白黒参照パターンの白パターンが参照される。また、空間コードの「０」を判別するときに、白黒参照パターンの黒パターンが参照される。なお、白黒参照パターンが投影されているときの検出対象物２及び比較対象物３の画像を「白黒参照画像」という。また、白パターンが投影されているときの検出対象物２及び比較対象物３の画像を「白画像」という。また、黒パターンが投影されているときの検出対象物２及び比較対象物３の画像を「黒画像」という。本実施形態においては、図１４（Ａ）に示す標準パターンと図１４（Ｃ）に示す白黒参照パターンの白パターンとは同じパターンとされている。ここで、黒色とは一般には明度が０を示すが、ここでは識別できる最低限の明るさを黒色と称する。ここで黒色を識別できる最低限の明るさとするのは、黒色で照射されている部分と無照射の部分を識別するためである。
【００９０】
図１５は、空間コードと領域番号との関係を示す図である。図１５に示す「空間コード」において、「０」が黒に対応し、「１」が白に対応する。「空間コード」の１段目は図１４（Ｂ）における（ａ）の空間コードパターンに対応する。「空間コード」の２段目は図１４（Ｂ）における（ｂ）の空間コードパターンに対応する。「空間コード」の３段目は図１４（Ｂ）における（ｃ）の空間コードパターンに対応する。「空間コード」の４段目は図１４（Ｂ）における（ｄ）の空間コードパターンに対応する。図１５に示す「領域番号」は、空間コードによって識別される１６分割された領域に付された番号である。例えば、「領域番号」の「０」は、上から「００００」となっている。また、「領域番号」の「１０」は、上から「１０１０」となっている。このような番号によって投影領域２００内の１６分割された領域が演算部６５により識別される。
【００９１】
次に、第３実施形態に係る振動検出装置１の動作について説明する。
【００９２】
図１６は、第３実施形態に係る振動検出方法の一例を説明するフローチャートである。図１６に示すステップＳ１１〜Ｓ１３の処理は、図１０及び図１２に示すステップＳ１〜Ｓ３の処理と同様であるため、重複する説明を省略する。
【００９３】
図１６のステップＳ１３に示す処理において、使用者によりシャッター操作が行われると（ステップＳ１３のＹＥＳ）、例えば、制御部６２は操作部６１から撮影ボタンの操作が行われたことを表す信号を入力すると、制御部６２は標準パターンを撮像する（ステップＳ１４）。この処理において、レーザダイオード２２は、図１４（Ａ）に示す無変調の光強度（ハイレベル一定の光強度）のレーザ光を出力する。ライン生成部２３が、レーザダイオード２２から出力されたレーザ光から一次元のライン光１００を生成する。そして、走査部４０が一次元のライン光１００を走査することにより、図１４（Ａ）に示すような標準パターンが投影領域２００に投影される。ＣＣＤカメラ５２ａは、図１４（Ａ）に示す標準パターンを撮像して標準画像の画像データを生成する。標準画像の画像データは、一旦、画像メモリ５２ｂに格納された後、取込メモリ６４に設けられた記憶領域（標準画像領域）に記憶される。
【００９４】
次に、制御部６２は、図１４（Ｂ）に示す空間コードパターンを撮像する（ステップＳ１５）。この処理において、図１４（Ｂ）の（ａ）〜（ｄ）に示す４つの空間コードパターンがそれぞれ所定時間（例えば５ｍｓ）毎に投影部１０により投影されるように、レーザダイオード２２は光強度の矩形波状の周期を所定時間毎に切り替える。
【００９５】
例えば、レーザダイオード２２は、図１４（Ｂ）の（ａ）に示す空間コードパターンとなるような矩形波状の周期のレーザ光（例えば、図１５の「空間コード」の１段目「１１１１１１１１００００００００」を表すパルス状のレーザ光）を出力する。また、所定時間経過後に、レーザダイオード２２は、図１４（Ｂ）の（ｂ）に示す空間コードパターンとなるような矩形波状の周期のレーザ光（例えば、図１５の「空間コード」の２段目「１１１１００００１１１１００００」を表すパルス状のレーザ光）を出力する。また、所定時間経過後に、レーザダイオード２２は、図１４（Ｂ）の（ｃ）に示す空間コードパターンとなるような矩形波状の周期のレーザ光（例えば、図１５の「空間コード」の３段目「１１００１１００１１００１１００」を表すパルス状のレーザ光）を出力する。さらに、所定時間経過後に、レーザダイオード２２は、図１４（Ｂ）の（ｄ）に示す空間コードパターンとなるような矩形波状の周期のレーザ光（例えば、図１５の「空間コード」の１段目「１０１０１０１０１０１０１０１０」を表すパルス状のレーザ光）を出力する。
【００９６】
そして、ライン生成部２３がレーザダイオード２２により出力されたレーザ光から一次元のライン光１００を生成する。その後、走査部４０が一次元のライン光１００を走査することにより、図１４（Ｂ）の（ａ）〜（ｄ）に示すような各空間コードパターンが所定時間（例えば５ｍｓ）毎に投影領域２００に投影される。ＣＣＤカメラ５２ａは、図１４（Ｂ）の（ａ）〜（ｄ）に示す空間コードパターンをそれぞれ撮像して空間コード画像の画像データを生成する。空間コード画像の画像データは、一旦、画像メモリ５２ｂに格納された後、それぞれ、取込メモリ６４に設けられた各記憶領域（第１空間コード領域、第２空間コード領域、第３空間コード領域、第４空間コード領域）に順に記憶される。
【００９７】
次に、制御部６２は、図１４（Ｃ）に示す白黒参照パターンを撮像する（ステップＳ１６）。この処理において、レーザダイオード２２は、図１４（Ｃ）に示す無変調の光強度（ハイレベル一定の光強度）のレーザ光を出力する。ライン生成部２３が、レーザダイオード２２から出力されたレーザ光から一次元のライン光１００を生成する。そして、走査部４０が一次元のライン光１００を走査することにより、図１４（Ｃ）に示すような白黒参照パターンの白パターンが投影領域２００に投影される。また、レーザダイオード２２は、図１４（Ｃ）に示す無変調の光強度（ロウレベル一定の光強度）のレーザ光を出力する。ライン生成部２３が、レーザダイオード２２から出力されたレーザ光から一次元のライン光１００を生成する。そして、走査部４０が一次元のライン光１００を走査することにより、図１４（Ｃ）に示すような白黒参照パターンの黒パターンが投影領域２００に投影される。ＣＣＤカメラ５２ａは、図１４（Ｃ）に示す白黒参照パターンをそれぞれ撮像して白黒参照画像の画像データを生成する。白黒参照画像の画像データは、一旦、画像メモリ５２ｂに格納された後、それぞれ、取込メモリ６４に設けられた各記憶領域（白画像領域、黒画像領域）に順に記憶される。
【００９８】
次に、制御部６２は、位相がπ／２ずつシフトされた４つの縞パターンを撮像する（ステップＳ１７Ａ）。なお、ステップＳ１７Ａの処理は、図１０及び図１２のステップＳ４Ａの処理に相当する。ＣＣＤカメラ５２ａが撮像した所定時間（例えば２０ｍｓ）毎の各位相の縞パターン画像の画像データは、一旦、画像メモリ５２ｂに格納された後、それぞれ、取込メモリ６４に設けられた各記憶領域（第１記憶領域、第２記憶領域、第３記憶領域、第４記憶領域）に順に記憶される。その後、使用者により撮影ボタンの操作が行われると、検出対象物２及び比較対象物３の撮影を終了する（ステップＳ１７Ｂ）。
【００９９】
なお、上記した縞パターンの撮像（ステップＳ１７Ａ）は所定時間（例えば２０ｍｓ）毎に繰り返し実行されるが、上記した標準パターンの撮像（ステップＳ１４）、空間コードパターンの撮像（ステップＳ１５）及び白黒参照パターンの撮像（ステップＳ１６）は１度だけ行われる。
【０１００】
その後、演算部６５は、取込メモリ６４の記憶領域に記憶された各画像データ群に含まれる４つの縞パターン画像の画像データに基づいて、各画素の初期位相０における位相分布φ（ｉ，ｊ）を求める。例えば、位相回復処理を実行する（ステップＳ１８）。なお、ステップＳ１８の処理は、図１０及び図１２のステップＳ５の処理に相当する。そして、演算部６５は、取込メモリ６４の空間コード領域に記憶された４つの空間コード画像の画像データに基づいて、投影領域２００において１６分割された領域の空間コードを認識する。次に、演算部６５は、認識した各領域の空間コードに基づいて縞パターン画像の縞の次数を検出する（ステップＳ１９）。
【０１０１】
演算部６５は、ステップＳ１１の処理において特定した各縞の次数を用いて位相接続処理（アンラッピング処理）を行う（ステップＳ２０）。例えば、演算部６５は、縞の次数に基づいて、ｎ本目の縞が画像上においてどの位置にあるのかを特定する。そして、演算部６５は、−π〜πの間で求めたｎ本目の縞の位相回復値を正しく接続する。これにより、連続した初期位相分布φ（ｉ，ｊ）が求められる。その後、演算部６５は、上述した三角測量の原理を用いて、ステップＳ１８において求めた初期位相０における位相分布φ（ｉ，ｊ）から、検出対象物２及び比較対象物３の三次元形状の座標データＸ（ｘ，ｙ，ｚ）を算出する（ステップＳ２１）。なお、ステップＳ２０，Ｓ２１の処理は、図１０のステップＳ６，Ｓ７の処理に相当する。
【０１０２】
その後、演算部６５は、算出した検出対象物２及び比較対象物３の三次元形状の座標データを画像記憶部６６に記憶する。そして、振動検出部６８は、使用者による操作部６１の操作に応じて、又は自動的に、画像記憶部６６に記憶された三次元形状の座標データを読み出す。そして、振動検出部６８は、ステップＳ２１において算出した検出対象物２及び比較対象物３における所定時間（例えば２０ｍｓ）毎の三次元形状の座標データの変位に基づいて、検出対象物２の振動を検出する（ステップＳ２２）。例えば、振動検出部６９は、検出対象物２及び比較対象物３における所定時間毎の三次元形状の座標データの変位から、検出対象物２及び比較対象物３の振動の周波数（周期）、振幅及び方向を検出する。なお、ステップＳ２２の処理は、図１０のステップＳ８の処理に相当する。
【０１０３】
次に、振動検出部６８は、ステップＳ２２において検出した検出対象物２及び比較対象物３の振動に基づいて、検出対象物２の緩み（ここではボルト２Ａが緩んでいないか否か）を判定する（ステップＳ２３）。なお、ステップＳ２３の処理は、図１０のステップＳ９の処理に相当する。
【０１０４】
以上に説明したように、第３実施形態によれば、位相シフト法と空間コード法を組み合わせて検出対象物２及び比較対象物３の三次元形状を測定しているので、位相が連続して接続されない、いわゆる位相飛び現象が生じるのを防止（又は低減）することができる。
【０１０５】
＜変形例１＞
上記した第１実施形態及び第２実施形態では、位相シフト法を用いて三次元形状を測定し、第３実施形態では、位相シフト法と空間コード法を組み合わせて三次元形状を測定していた。しかし、そのような構成に限定されず、例えば空間コード法だけを用いて三次元形状を測定してもよい。図１４（Ｂ）及び図１５に示す例では、投影領域２００は空間コードが割り当てられる１６つの領域に分割されていたが、空間コード法だけで三次元形状を測定する場合は、１６分割よりもさらに細かく分割してもよい。また、投影部１０は、複数の空間コードパターンを所定時間（例えば５ｍｓ）毎に切り替えて投影し、撮像部５０は、複数の空間コードパターンが投影された検出対象物２及び比較対象物３をそれぞれ撮像する。そして、撮像部５０は、そのような複数の空間コード画像の撮像を所定時間（例えば空間コードパターンの数×５ｍｓ）毎に繰り返し実行する。演算部６５は、複数の空間コード画像（２値画像）に基づき、空間コード法を用いて所定時間毎の検出対象物２及び比較対象物３の三次元形状を算出する。
【０１０６】
以上に説明するように、変形例１では、投影部１０は、矩形波状の周期的な強度の分布を有するパターン光を投影するので、空間コード法を用いて検出対象物２全体の三次元形状を求めることができ、光切断法を用いる場合よりも短時間かつ確実に検出対象物２の三次元形状の測定を行うことができる。
【０１０７】
＜変形例２＞
図１７は、表示装置７０の構成を示す図である。なお、表示装置７０は、図４に示したように、振動検出装置１に接続されている。図１７に示すように、表示装置７０は液晶ディスプレイなどで構成されている。この表示装置７０には、検出対象物２（ボルト２Ａ、ナット２Ｂ）及び比較対象物３の三次元形状や縞パターン画像などを表示可能な表示画面７１が設けられている。また、表示装置７０の表示画面７１上にはタッチパネル７２が形成されている。タッチパネル７２は、使用者が領域の指定を行う際に、使用者が触れた位置を示す信号を演算処理部６０に出力する。
【０１０８】
図１７に示す例では、複数の検出対象物２（ボルト２Ａ、ナット２Ｂ）と比較対象物３（壁面）とが表示画面７１に表示されている。使用者は、例えば複数の検出対象物２のうちのいずれか１つをタッチして選択する。タッチパネル７２は、使用者によりタッチされた位置を示す信号を演算処理部６０に出力する。演算処理部６０の演算部６５は、タッチパネル７２からの信号を受けると、その信号が示す位置に対応する物の領域（図１７に示す例では検出対象物２の輪郭で囲われた領域）を特定する。そして、演算部６５は、特定した領域における検出対象物２についてだけ三次元形状を算出する。この場合、演算部６５が画像中の一部の領域だけ三次元形状を算出するので、演算部６５における処理負担を軽減することができる。
【０１０９】
また、上記と同様に、使用者は、例えば複数の検出対象物２のうちのいずれか１つをタッチして選択する。タッチパネル７２は、使用者によりタッチされた位置を示す信号を演算処理部６０に出力する。演算処理部６０の振動検出部６８は、タッチパネル７２からの信号を受けると、その信号が示す位置に対応する物の領域を特定する。そして、振動検出部６８は、特定した領域における検出対象物２についてだけ三次元形状の時間的変位に基づいて振動を検出する。この場合、振動検出部６８が画像中の一部の検出対象物２だけ振動を検出するので、振動検出部６８における処理負担を軽減することができる。
【０１１０】
また、上記と同様に、使用者は、例えば複数の検出対象物２のうちのいずれか１つをタッチして選択する。タッチパネル７２は、使用者によりタッチされた位置を示す信号を演算処理部６０に出力する。演算処理部６０の振動検出部６８は、タッチパネル７２からの信号を受けると、その信号が示す位置に対応する物の領域を特定する。そして、振動検出部６８は、特定した領域における検出対象物２についてだけ緩み判定を行う。この場合、振動検出部６８が画像中の一部の検出対象物２だけ緩み判定を行うので、振動検出部６８における処理負担を軽減することができる。
【０１１１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。本発明の趣旨を逸脱しない範囲で、上記実施の形態に、多様な変更又は改良を加えることが可能である。また、上記の実施形態で説明した要件の１つ以上は、省略されることがある。そのような変更又は改良、省略した形態も本発明の技術的範囲に含まれる。また、上記した実施形態を適宜組み合わせて適用することも可能である。
【０１１２】
例えば、振動検出装置１は、投影部１０、撮像部５０及び演算処理部６０を有していた。しかし、振動検出装置１は、１つの装置で構成されている必要はなく、適宜異なる複数の装置で構成されてもよい。一例として、振動検出部６８だけ異なる装置としてもよい。例えば、振動検出装置は、三次元形状を測定する装置（形状測定装置）と振動検出部６８を有する装置とで構成してもよい。
【０１１３】
また、撮像部５０が低い周波数で振動する物（例えば比較対象物３）と高い周波数で振動する物（例えば検出対象物２）を同時に撮影した場合、振動検出部６８は、それぞれの周波数をフーリエ変換した上で低い周波数の成分を除去し、高い周波数の成分を用いて緩みを判定してもよい。
【０１１４】
また、空間コードパターンの区分を細分化する方法として、例えば、白とラインを白とグレーのラインに分割し、黒のラインを黒とグレーのラインに分割するようにしてもよい。
【０１１５】
また、上記した各実施形態において、第１の方向Ｄ１と第２の方向Ｄ２とが直交していたが、第１の方向Ｄ１と第２の方向Ｄ２とが異なる方向であれば直交していなくてもよい。例えば、第２の方向Ｄ２は、第１の方向Ｄ１に対して６０度や８０度の角度に設定されてもよい。
【０１１６】
また、上記した各実施形態において、各図面では光学素子を一つ又は複数で表しているが、特に使用する数を指定しない限り、同様の光学性能を発揮させるものであれば、使用する光学素子の数は任意である。
【０１１７】
また、上記した各実施形態において、走査部４０は、パターン光を反射又は回折する光学素子を用いているがこれに限定されない。例えば、屈折光学素子や、平行平板ガラス等が用いられてもよい。レンズ等の屈折光学素子を光軸に対して振動させることでパターン光を走査させてもよい。なお、この屈折光学素子としては、投影光学系３０の一部の光学素子が用いられてもよい。
【０１１８】
また、上記した各実施形態において、撮像部５０としてＣＣＤカメラ５２ａが用いられるがこれに限定されない。例えば、ＣＣＤカメラに代えて、ＣＭＯＳイメージセンサ（ＣＭＯＳ：Complementary Metal Oxide Semiconductor：相補性金属酸化膜半導体）などのイメージセンサが用いられてもよい。
【０１１９】
また、上記した各実施形態において、位相シフト法に用いる縞パターンの位相を一周期の間に３回シフトさせる４バケット法が用いられるが、これに限定されない。例えば、位相シフト法に用いる縞パターンの位相を一周期の間に２回シフトさせる３バケット法、０・π／２・π・３π／２の縞パターンを投影した後に再び０位相の縞パターンを投影する５バケット法や、さらにπ／２位相の縞パターンを投影する６バケット法などが用いられてもよい。
【０１２０】
また、上記した第３実施形態において、それぞれのパターン（縞パターン、空間コードパターン、標準パターン、白黒参照パターン）の撮像の順序を問わない。また、上記した各実施形態において、縞パターンや空間コードパターンを白色及び黒色で表していたが、これに限定されず、いずれか一方又は双方が着色されたものでもよい。例えば、縞パターンや空間コードパターンは、白色と赤色とで生成されるものでもよい。
【０１２１】
また、上記した各実施形態において、図１５に示す空間コードはバイナリコードを用いているが、グレイコードが用いられてもよい。グレイコードは、バイナリコードと符号の付け方が異なる。このため、図１４（Ｂ）に示す空間コードパターンのストライプのパターンも異なるパターンが用いられる。
【０１２２】
また、上記した各実施形態において、標準画像を取得しているが、この標準画像は取得しなくてもよい。
【０１２３】
また、走査部４０としてＭＥＭＳミラー等の振動ミラーが用いられる場合、角速度の不均一に対応して、レーザダイオード１２１からの光の強度を変更させてもよい。例えば、投影領域２００における走査方向の端部付近では光強度を強くし、中央付近では光強度を低下させるように、レーザダイオード１２１を制御してもよい。これにより、投影領域２００の端部と中央部とで生じる明るさの不均一を抑制できる。
【０１２４】
また、振動検出装置１の一部の構成をコンピュータにより実現してもよい。例えば、演算部処理部６０をコンピュータにより実現してもよい。この場合、コンピュータは、記憶部に記憶された形状測定プログラムに従って、第１の方向Ｄ１に沿って異なる強度の分布を有するパターン光を生成する光生成処理と、パターン光を第１の方向Ｄ１とは異なる検出対象物２及び比較対象物３上の第２の方向Ｄ２に沿って走査する走査処理と、パターン光が投影された検出対象物２及び比較対象物３を撮像する撮像処理と、撮像処理で得られた検出対象物２及び比較対象物３の像に応じた信号強度に基づいて、検出対象物２及び比較対象物３の形状を算出する演算処理と、を実行する。なお、上述の各実施形態の要件は、適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。また、法令で許容される限りにおいて、上述の各実施形態及び変形例で引用した装置などに関する全ての公開公報及び米国特許の開示を援用して本文の記載の一部とする。
【符号の説明】
【０１２５】
１…振動検出装置、２…検出対象物、３…比較対象物、１０…投影部（照射部）、２０…光生成部、２２…レーザダイオード（光源）、２３…ライン生成部、４０…走査部、５０…撮像部、５２ａ…ＣＣＤカメラ、６０…演算処理部（演算部、振動検出部）、６２…制御部、６５…演算部、６８…振動検出部、７０…表示装置（表示部）、１００…ライン光（パターン光）、２００…投影領域
【図１】
2017075887.tif 000003
【図３】
2017075887.tif 000004
【図４】
2017075887.tif 000005
【図５】
2017075887.tif 000006
【図６】
2017075887.tif 000007
【図７】
2017075887.tif 000008
【図８】
2017075887.tif 000009
【図９】
2017075887.tif 000010
【図１０】
2017075887.tif 000011
【図１１】
2017075887.tif 000012
【図１２】
2017075887.tif 000013
【図１３】
2017075887.tif 000014
【図１４】
2017075887.tif 000015
【図１５】
2017075887.tif 000016
【図１６】
2017075887.tif 000017
【図１７】
2017075887.tif 000018
【図２】
2017075887.tif 000019