(57)【特許請求の範囲】
【請求項１】
所定の方向に延びる測定用のラインパターン光を、被測定物体に投光する光源と、
複数の受光素子が、該所定の方向に略平行に延びる複数の行、及び、該複数の行に対し略垂直に延びる複数の列に２次元状に配列され、かつ、複数のブロックにグループ分けされて構成された、該被測定物体より反射された該ラインパターン光を受光するための受光素子アレイと、
前記受光素子アレイの該複数のブロックに１対１に対応して設けられ、対応するブロック中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器からなるＡ／Ｄ変換器アレイと、
前記Ａ／Ｄ変換器アレイから転送された該各列に属する複数の受光素子の出力信号に相当するデジタル信号の０次モーメントを演算するための０次モーメント演算器と、
前記Ａ／Ｄ変換器アレイから転送された該各列に属する該複数の受光素子の出力信号に相当するデジタル信号の１次モーメントを演算するための１次モーメント演算器と、
該ラインパターン光を受光している該受光素子からの出力信号に相当するデジタル信号であるか該ラインパターン光を受光していない該受光素子からの出力信号に相当するデジタル信号であるかを判断し、該ラインパターン光を受光している該受光素子からの出力信号に相当するデジタル信号のみについて該０次モーメント演算器と該１次モーメント演算器とに演算を行わせることによりノイズを除去するノイズ除去装置と、
を備え、
該受光素子アレイは、一の列に属する複数の受光素子が互いに同一の時刻に受け取った光量を示す出力信号を互いに同一の時刻に出力することを、各列毎に順次行うことを特徴とする画像計測カメラ。
【請求項２】
所定の方向に延びる測定用のラインパターン光を、被測定物体に投光する光源と、
複数の受光素子が、該所定の方向に略平行に延びる複数の行、及び、該複数の行に対し略垂直に延びる複数の列に２次元状に配列され、かつ、複数のブロックにグループ分けされて構成された、該被測定物体より反射された該ラインパターン光を受光するための受光素子アレイと、
前記受光素子アレイの該複数のブロックに１対１に対応して設けられ、対応するブロック中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器からなるＡ／Ｄ変換器アレイと、
前記Ａ／Ｄ変換器アレイから転送された該各列に属する複数の受光素子の出力信号に相当するデジタル信号の０次モーメントを演算するための０次モーメント演算器と、
前記Ａ／Ｄ変換器アレイから転送された該各列に属する該複数の受光素子の出力信号に相当するデジタル信号の１次モーメントを演算するための１次モーメント演算器と、
演算結果からノイズを除去するためのノイズ除去装置と、
前記１次モーメント演算器の演算結果と前記０次モーメント演算器の演算結果とに基づき、前記各列に属する前記複数の受光素子の出力信号に相当するデジタル信号の列方向の重心を演算し、演算結果を出力するための重心演算器と、
該重心演算器の演算結果に基づき、前記被測定物体の該所定の方向における各位置での被測定物体の形状情報を演算する形状情報演算装置と、
を備え、
前記ノイズ除去装置が、
前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が最大である最大値出力受光素子を検出する最大値位置検出手段と、
該各列について、前記重心演算装置の演算結果が示す重心位置と該最大値位置検出器の検出結果が示す最大値出力受光素子の最大値位置とを受け取り、該重心位置と該最大値位置との間の距離が所定の許容値より小さいか否かを判断し、該距離が該所定の許容値より小さい場合に、該重心演算装置の演算結果を出力する比較手段と、からなり、
該受光素子アレイは、一の列に属する複数の受光素子が互いに同一の時刻に受け取った光量を示す出力信号を互いに同一の時刻に出力することを、各列毎に順次行い、
前記ノイズ除去装置が、該重心演算器の演算結果からノイズを除去することを特徴とする画像計測カメラ。
【請求項３】
前記ノイズ除去装置が、
前記各列に属する前記複数の受光素子のうち連続する所定の個数の受光素子からの出力信号に相当するデジタル信号が所定のしきい値より大きいか否かを判断する判断手段と、
所定のしきい値より大きいと判断された連続する該所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、
を備えていることを特徴とする請求項１記載の画像計測カメラ。
【請求項４】
前記ノイズ除去装置が、
前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が最大である最大値出力受光素子を決定する最大値位置検出手段と、
検出された最大値出力受光素子を略中心に含む連続する所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、
を備えていることを特徴とする請求項１記載の画像計測カメラ。
【請求項５】
前記光源が、所定の複数個の測定用のラインパターン光を、互いに前記所定方向に対し略垂直な方向における所定の複数個の位置に投光し、各ラインパターン光が前記所定の方向に沿って延び、
前記ノイズ除去装置が、
前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が極大である極大値出力受光素子を決定する極大値位置検出手段と、
検出された該所定の複数個の極大値のデジタル信号に相当する出力信号を出力した受光素子を略中心に含む連続する所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、
を備えていることを特徴とする請求項１記載の画像計測カメラ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は画像計測カメラに関し、特に、被測定物体にラインパターン光を照射して被測定物体の３次元形状を計測するために用いられる画像計測カメラに関する。
【０００２】
【従来の技術】
従来より、ラインパターン光や点像照明装置とＣＣＤカメラと画像処理装置とからなり、光切断法により被測定物体の３次元形状を測定する画像計測カメラが知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の画像計測カメラでは、ＣＣＤカメラの約３０Ｈｚというフレームレートの制約や画像処理装置の演算速度の問題から、被測定物体の３次元形状情報を高速に得ることができない。
【０００４】
特開平１０−１２２８５０号公報では、高速性を達成するために、ＣＣＤカメラの代わりに、複数の半導体位置検出素子（ＰＳＤ）からなる受光素子アレイを設けることが提案されている。各半導体位置検出素子は、受けとった光の重心位置を面抵抗の分圧比を用いて直接計測する。しかしながら、この方法では、被測定物体を２次元の画像として捉えることができない。このため、高さ方向の情報を得ることはできるが、他の２次元の情報を得ることができない。したがって、高さ方向の２次元方向の分布である３次元形状を高解像度で得ることができない。また、受けとった光の重心位置を直接計測するため、ノイズを含んだ精度の低い計測結果しか得られない。
【０００５】
そこで、本発明は、被測定物体の３次元形状を高速に、かつ、高精度で取得することができる画像計測カメラを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は、所定の方向に延びる測定用のラインパターン光を、被測定物体に投光する光源と、複数の受光素子が、該所定の方向に略平行に延びる複数の行、及び、該複数の行に対し略垂直に延びる複数の列に２次元状に配列され、かつ、複数のブロックにグループ分けされて構成された、該被測定物体より反射された該ラインパターン光を受光するための受光素子アレイと、前記受光素子アレイの該複数のブロックに１対１に対応して設けられ、対応するブロック中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器からなるＡ／Ｄ変換器アレイと、前記Ａ／Ｄ変換器アレイから転送された該各列に属する複数の受光素子の出力信号に相当するデジタル信号の０次モーメントを演算するための０次モーメント演算器と、前記Ａ／Ｄ変換器アレイから転送された該各列に属する該複数の受光素子の出力信号に相当するデジタル信号の１次モーメントを演算するための１次モーメント演算器と、該ラインパターン光を受光している該受光素子からの出力信号に相当するデジタル信号であるか該ラインパターン光を受光していない該受光素子からの出力信号に相当するデジタル信号であるかを判断し、該ラインパターン光を受光している該受光素子からの出力信号に相当するデジタル信号のみについて該０次モーメント演算器と該１次モーメント演算器とに演算を行わせることによりノイズを除去するノイズ除去装置と、を備え、該受光素子アレイは、一の列に属する複数の受光素子が互いに同一の時刻に受け取った光量を示す出力信号を互いに同一の時刻に出力することを、各列毎に順次行うことを特徴とする画像計測カメラを提供している。
【０００７】
かかる構成の画像計測カメラによれば、光源は、所定の方向に延びる測定用のラインパターン光を、被測定物体に、例えば、その高さ方向に対し斜めに投光する。被測定物体より、例えば、その高さ方向に反射された該ラインパターン光を受光素子アレイにて検出する。受光素子アレイの各ブロックに属する受光素子から順次読み出された出力信号が、対応するＡ／Ｄ変換器にて順次アナログ・デジタル変換される。したがって、２次元情報であるラインパターン光の強度を示すデジタル信号を高速に得ることができる。しかも、受光素子を複数の行及び列に高集積化することで、２次元情報を高解像度にて取得することができる。
【０００８】
さらに、０次モーメント演算器と１次モーメント演算器がモーメント演算を行うことにより、０次モーメントと１次モーメントとを高速に演算することができる。これらモーメント値が、被測定物体の３次元形状情報、例えば、高さ情報を示す。
【０００９】
具体的には、１次モーメントを０次モーメントで割った値で与えられるラインパターン光の重心位置をＰ、光源が被測定物体に対してラインパターン光を投光する方向（投光器の光軸方向）と受光素子アレイが被測定物体からのラインパターン光を受け取る方向（ビジョンセンサーの光軸方向）とがなす角度をθ、受光素子アレイが捉える像の倍率（ビジョンセンサー内に設けられたレンズの倍率）をｍとすると、ｍ・Ｐ／ｔａｎθが、被測定物体の高さ情報を示す。
【００１０】
しかも、ノイズ除去装置が、演算結果からノイズを除去するので、演算結果である０次モーメントや１次モーメントは、被測定物体の形状情報を高精度に示すことができる。
【００１１】
ここで、受光素子アレイは、その行方向がラインパターン光が延びる所定の方向に平行になるように、配置されている。したがって、受光素子アレイが受光した反射ラインパターン光の各列（行方向における各位置）での列方向における重心位置を求めることで、ラインパターン光が延びる所定の方向における各位置での被測定物体の形状情報を示す０次、１次モーメントを計測することができる。
【００１２】
なお、０次、１次モーメント演算器は、演算した０次、１次モーメントを、例えば、外部コンピュータに出力すれば良い。外部コンピュータが、０次、１次モーメントに基づいて重心位置を演算し、さらに、重心位置に基づいて、被測定物体の形状、例えば、高さを演算する。
【００１３】
また、本発明は、所定の方向に延びる測定用のラインパターン光を、被測定物体に投光する光源と、複数の受光素子が、該所定の方向に略平行に延びる複数の行、及び、該複数の行に対し略垂直に延びる複数の列に２次元状に配列され、かつ、複数のブロックにグループ分けされて構成された、該被測定物体より反射された該ラインパターン光を受光するための受光素子アレイと、前記受光素子アレイの該複数のブロックに１対１に対応して設けられ、対応するブロック中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器からなるＡ／Ｄ変換器アレイと、前記Ａ／Ｄ変換器アレイから転送された該各列に属する複数の受光素子の出力信号に相当するデジタル信号の０次モーメントを演算するための０次モーメント演算器と、前記Ａ／Ｄ変換器アレイから転送された該各列に属する該複数の受光素子の出力信号に相当するデジタル信号の１次モーメントを演算するための１次モーメント演算器と、演算結果からノイズを除去するためのノイズ除去装置と、前記１次モーメント演算器の演算結果と前記０次モーメント演算器の演算結果とに基づき、前記各列に属する前記複数の受光素子の出力信号に相当するデジタル信号の列方向の重心を演算し、演算結果を出力するための重心演算器と、該重心演算器の演算結果に基づき、前記被測定物体の該所定の方向における各位置での被測定物体の形状情報を演算する形状情報演算装置と、を備え、前記ノイズ除去装置が、前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が最大である最大値出力受光素子を検出する最大値位置検出手段と、該各列について、前記重心演算装置の演算結果が示す重心位置と該最大値位置検出器の検出結果が示す最大値出力受光素子の最大値位置とを受け取り、該重心位置と該最大値位置との間の距離が所定の許容値より小さいか否かを判断し、該距離が該所定の許容値より小さい場合に、該重心演算装置の演算結果を出力する比較手段と、からなり、該受光素子アレイは、一の列に属する複数の受光素子が互いに同一の時刻に受け取った光量を示す出力信号を互いに同一の時刻に出力することを、各列毎に順次行い、前記ノイズ除去装置が、該重心演算器の演算結果からノイズを除去することを特徴とする画像計測カメラを提供している。
【００１４】
重心演算器は、０次モーメントと１次モーメントに基づいて重心位置を演算するため、重心位置を高速に演算することができる。形状情報演算装置が、各列での重心位置に基づいて、被測定物体の対応する位置での形状、例えば、高さを演算する。
【００１５】
しかも、ノイズ除去装置が、演算結果からノイズを除去するので、被測定物体の形状情報、例えば、高さ情報を高精度に演算することができる。
【００１６】
例えば、ノイズ除去装置は、受光素子アレイの各列に属する複数の受光素子の出力信号に相当する複数のデジタル信号を、順次、受け取り、各デジタル信号からノイズを除去するのでも良い。ノイズが除去されたデジタル信号が、０次、１次モーメント演算器に出力され、演算に供される。
【００１７】
もしくは、前記ノイズ除去装置は、前記各列に属する前記複数の受光素子のうち連続する所定の個数の受光素子からの出力信号に相当するデジタル信号が所定のしきい値より大きいか否かを判断する判断手段と、所定のしきい値より大きいと判断された連続する該所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、を備えているのでも良い。
【００１８】
１つの列について、連続した所定の個数の受光素子からの出力信号に相当するデジタル信号が所定のしきい値より大きい場合には、これら連続した所定の個数の受光素子が所定の幅を有するラインパターン光を受光していることがわかる。そこで、ノイズ除去装置は、０次、１次モーメント演算器に対し、これら所定個数の受光素子からの出力信号に相当するデジタル信号に基づいて、０次、１次モーメントを演算させる。したがって、０次、１次モーメント演算器は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができる。このため、迷光等のノイズを誤って演算に含めてしてしまうことを防止でき、ノイズが除去された０次、１次モーメントを演算することができる。
【００１９】
また、前記ノイズ除去装置は、前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が最大である最大値出力受光素子を決定する最大値位置検出手段と、検出された最大値出力受光素子を略中心に含む連続する所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、を備えているのでも良い。
【００２０】
各列について、最大値のデジタル信号に相当する出力信号を出力した受光素子を略中心に含む連続する所定個数の受光素子が、所定の幅のラインパターン光を受光していることがわかる。このため、ノイズ除去装置は、０次、１次モーメント演算器に対し、最大値のデジタル信号を出力した受光素子を略中心に含む連続した所定個数の受光素子からの出力信号に相当するデジタル信号に基づいて演算を行わせる。したがって、０次、１次モーメント演算器は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができる。このため、ノイズが除去された０次、１次モーメントを演算することができる。
【００２１】
また、前記光源が、所定の複数個の測定用のラインパターン光を、互いに前記所定方向に対し略垂直な方向における所定の複数個の位置に投光し、各ラインパターン光が前記所定の方向に沿って延び、前記ノイズ除去装置が、前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が極大である極大値出力受光素子を決定する極大値位置検出手段と、検出された該所定の複数個の極大値のデジタル信号に相当する出力信号を出力した受光素子を略中心に含む連続する所定の個数の演算素子からの出力信号に相当するデジタル信号に基づいて、前記０次モーメント演算器と前記１次モーメント演算器とに演算を行わせる制御手段と、を備えているのでも良い。
【００２２】
１つの列について、極大値のデジタル信号を出力した受光素子を略中心として連続した所定個数の受光素子が、所定の幅のラインパターン光を受光していることがわかる。このため、ノイズ除去装置は、０次、１次モーメント演算器に対し、極大値のデジタル信号を出力した受光素子を略中心に含む連続した所定個数の受光素子からの出力信号に相当するデジタル信号に基づいて演算を行わせる。かかる演算を、所定個数の極大値のそれぞれについて行わせることで、各ラインパターンの０次、１次モーメントを求める。したがって、０次、１次モーメント演算器は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができる。このため、ノイズが除去された０次、１次モーメントを演算することができる。
【００２３】
また、前記ノイズ除去装置が、前記各列に属する前記複数の受光素子からの出力信号に相当するデジタル信号のうち、その値が最大である最大値出力受光素子を検出する最大値位置検出手段と、該各列について、前記重心演算装置の演算結果が示す重心位置と該最大値位置検出器の検出結果が示す最大値出力受光素子の最大値位置とを受け取り、該重心位置と該最大値位置との間の距離が所定の許容値より小さいか否かを判断し、該距離が該所定の許容値より小さい場合に、該重心演算装置の演算結果を出力する比較手段と、からなるのでも良い。
【００２４】
重心位置と最大値位置との差が所定の許容値以上の場合には、重心位置は精度が低いとして出力されない。重心位置と最大値位置との差が所定の許容値より小さい場合にのみ、重心位置は精度が高いとして出力され、形状情報の演算に供される。したがって、形状情報の演算が高精度に行われる。
【００２５】
以上のように、本発明の画像計測カメラでは、２次元画像を高速で取り込んで処理するため、外部に出力するのは単純なデータである０次、１次モーメントもしくは形状情報であるものの、その内部では、２次元の情報をフルに活用して、デジタル信号からノイズを除去したり、迷光等のノイズを演算に含めないようにしたり、不正確なデータを排除したりすることにより、精度の高い計測を可能としている。また、マルチライン検出による性能の向上も可能としている。
【００２６】
ここで、複数のＡ／Ｄ変換器は、受光素子アレイの複数の列に１対１に対応して設けられ、各Ａ／Ｄ変換器が、対応する列中の受光素子から順次読み出された出力信号をアナログ・デジタル変換するのでも良い。
【００２７】
もしくは、複数のＡ／Ｄ変換器は、受光素子アレイの複数の行に１対１に対応して設けられ、各Ａ／Ｄ変換器が、対応する行中の受光素子から順次読み出された出力信号をアナログ・デジタル変換するのでも良い。この場合、受光素子アレイは、１つの列に属する複数の受光素子が略同一の時刻に受け取った光量を示す出力信号を略同一の時刻に出力することで、複数の列に属する受光素子が順次異なる時刻に受け取った光量を示す出力信号を順次異なる時刻に出力する。複数のＡ／Ｄ変換器は、１つの列に属する複数の受光素子が略同一の時刻に出力した複数の出力信号を、略同時に、アナログ・デジタル変換して、複数のデジタル信号を出力する。
【００２８】
受光素子アレイは、例えば、ＣＭＯＳセンサーからなることが好ましい。この場合、各受光素子が、入力した光強度に応じて電荷を発生する光電変換素子たるｐｎ接合フォトダイオードと、光電変換素子の信号出力端子に接続され、行方向走査信号に応じて光電変換素子内部の不図示のコンデンサーに蓄積された電荷を出力するためのスイッチ素子たるＭＯＳトランジスタとを１組として構成される。この受光素子が行方向に沿って複数個配置され、かつ、かかる複数個の受光素子のスイッチ素子が互いに電気的に接続されて、行方向受光部が構成され、対応するＡ／Ｄ変換器に接続されている。そして、この行方向受光部が、列方向に沿って複数個配列されることにより、ＣＭＯＳセンサーが構成されている。各列の全受光素子のスイッチ素子は、互いに接続され、行方向走査信号により同時にオンされるようになっている。
【００２９】
かかる構成のＣＭＯＳセンサーでは、各光電変換素子は、光電変換によって生じた電荷を内部のコンデンサーに蓄積する。各列のスイッチ素子に印加する行方向走査信号を行方向に走査することによって、各列の光電変換素子に蓄積された電荷を順番に読み出すようになっている。したがって、読み出す順番により、蓄積時間が少しずつずれていく。但し、同一の列のスイッチ素子は同時にオンされるため、１つの列に属する複数の光電変換素子が略同一の時刻に受け取った光量を示す出力信号が、略同一の時刻に、Ａ／Ｄ変換器アレイに出力される。
【００３０】
この場合、画像計測カメラは、さらに、複数のＡ／Ｄ変換器に１対１に対応して設けられた複数の転送スイッチからなり、該受光素子アレイの１つの列に属する前記複数の受光素子の出力信号に相当し該Ａ／Ｄ変換器アレイから略同時刻に出力される複数のデジタル信号を、順次、転送するためのスイッチアレイを備えていることが好ましい。
【００３１】
この場合、受光素子アレイでは、各列に属する複数の受光素子が、互いに略同一の時刻に受け取った光量を示す出力信号を、互いに略同一の時刻に出力する。Ａ／Ｄ変換器アレイは、略同時に受け取った同一の列に属する複数の受光素子の出力信号をデジタル信号に変換して、０次モーメント演算器及び１次モーメント演算器に出力する。このため、０次モーメント演算器は、互いに略同一の時刻に受け取った光量を示す出力信号に相当するデジタル信号に基づいて、１つの列の０次モーメントを演算する。同様に、１次モーメント演算器も、互いに略同一の時刻に受け取った光量を示す出力信号に相当するデジタル信号に基づいて、１つの列の１次モーメントを演算する。したがって、各列における０次、１次モーメントを、互いに略同一の時刻に受け取った光量を示す出力信号に相当するデジタル信号に基づいて、求めることができる。したがって、各列における０次、１次モーメントを、高精度に求めることができる。
【００３２】
たとえ被測定物体が移動していても、各列におけるモーメントは、あくまで、略同一時刻に得られた出力信号に基づいて演算されるため、被測定物体の各列位置における形状情報を極めて高精度に求めることができる。
【００３３】
このように、本発明では、受光素子アレイの転送方向に略平行にラインパターン光を照射するので、そのラインパターン光が延びる方向における各位置の該方向に対して垂直の方向での０次、１次モーメントを、受光素子アレイにて略同時刻に得られた信号を積分して求めることで、形状情報を高精度に得ることができる。
【００３４】
また、Ａ／Ｄ変換器アレイが、１つの列に属する複数の受光素子が略同時に出力した複数の出力信号を略同時にデジタル信号に変換すると、スイッチアレイが、これら複数の出力信号を、順次、０次モーメント演算器及び１次モーメント演算器に出力する。０次モーメント演算器は、１つの列に属する複数の受光素子からの出力信号に相当するデジタル信号を順次受け取りながら積算していって、０次モーメントを演算する。また、１次モーメント演算器は、１つの列に属する複数の受光素子からの出力信号に相当するデジタル信号を、順次、受け取りながら重み付け積算して１次モーメントを演算する。したがって、０次、１次モーメントを簡単な処理にて演算することができる。
【００３５】
【発明の実施の形態】
本発明の実施の形態による画像計測カメラについて図面に基づき説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００３６】
（第１の実施の形態）
【００３７】
本発明の第１の実施の形態による画像計測カメラについて図１乃至図１４に基づき説明する。
【００３８】
本実施形態の画像計測カメラ１は、図１に示すように、被測定物体Ｓの高さ分布である３次元形状を計測するための装置である。なお、Ｚ軸を、被測定物体Ｓの高さ方向に平行な軸として定義する。また、Ｚ軸方向に対して垂直に延びるＸ軸及びＹ軸を規定する。Ｘ軸とＹ軸とは、互いに垂直である。
【００３９】
本実施形態の画像計測カメラ１は、投光器２と、投光器２に固定されたビジョンセンサー３とからなる。
【００４０】
投光器２は、測定用のラインパターン光を、被測定物体Ｓに投光するための光源である。投光器２は、Ｘ軸方向に延びるラインパターン光を、被測定物体Ｓの所定位置に投光する。ここで、投光器２がラインパターン光を投光する投光方向は、Ｚ軸方向に対して所定の角度θだけ斜めにずれている。なお、投光器２は、例えば、図示しないレーザ光源と、レーザ光源からのスポット状のレーザビームをＸ軸方向に広げてラインパターン光を形成するための、やはり図示しないビーム形状変更手段（例えば、シリンドリカルレンズ）からなる。
【００４１】
ビジョンセンサー３は、被測定物体ＳからＺ軸方向に離隔して設けられており、被測定物体Ｓの表面にて反射されたラインパターン光を受光し、Ｘ軸方向の各点におけるラインパターン光のＹ軸方向の重心位置を計測する。
【００４２】
例えば、図２に示すように、被測定物体Ｓが、基準高さＺ０を有する主平面部Ｓ０と凸型平面部Ｓ１とを有していると仮定する。凸型平面部Ｓ１は、主平面部Ｓ１の基準高さＺ０に対してＺ軸方向に高さＺ１だけずれているとする。
【００４３】
ここで、投光器２が、被測定物体Ｓへ向けて、Ｘ軸方向に延びるラインパターン光を、投光する。この際、投光器２は、ラインパターン光が、基準高さＺ０上において、Ｙ軸方向における位置Ｙ０に照射されるように、投光する。このため、主平面部Ｓ０上では、ラインパターン光のＹ軸方向の重心位置はＹ０となる。ここで、凸型平面部Ｓ１上で、ラインパターン光のＹ軸方向の重心位置がＹ１であるとすると、凸型平面部Ｓ１は主平面部Ｓ０に対しΔＺ＝｜Ｙ１―Ｙ０｜／ｔａｎθだけ高さ方向にずれていることがわかる。
【００４４】
かかる構成の画像計測カメラ１は、例えば、移動枠５に移動可能に配置することができる。ここで、移動枠５は、Ｙ軸方向に延びており、画像計測カメラ１をＹ軸方向に移動させることで、画像計測カメラ１と被測定物体ＳとのＹ軸方向における相対的位置を変化させることができる。画像計測カメラ１がＹ軸方向に移動すると、投光器２がラインパターン光を投光する被測定物体Ｓ上の位置（基準位置Ｙ０）が変化するため、Ｙ軸方向における広い範囲での被測定物体Ｓの高さ分布を計測することができる。
【００４５】
図３に示すように、ビジョンセンサー３は、筐体１０と、筐体１０上に設けられた撮像レンズ１０ａと、筐体１０内に設けられた光検出部４と演算部６と制御部８とからなる。図１に示すように、筐体１０は、撮像レンズ１０ａの光軸がＺ軸方向に平行であり、かつ、被測定物体Ｓに対向するように、配置される。
【００４６】
光検出部４は、基板４０と、基板４０上に形成された光検出器アレイ（受光素子アレイ）１１と、アナログ／デジタル変換器アレイ（以下、Ａ／Ｄ変換器アレイという）１３と、転送スイッチアレイ１４とからなる。光検出器アレイ１１は、撮像レンズ１０ａに対向する位置に配置されている。撮像レンズ１０ａは、被測定物体Ｓで反射された光が示す２次元画像を、その焦点距離で決まる所定の縮小倍率ｍで縮小して、光検出器アレイ１１に結像する。
【００４７】
演算部６は、基板６０と、基板６０上に形成されたノイズ除去回路２０と、０次モーメント演算器１６と、１次モーメント演算器１７と、重心演算器１８と、座標変換器２１とからなる。なお、図４に示すように、ノイズ除去回路２０と０次モーメント演算器１６と１次モーメント演算器１７とが、第１の演算部６ａを構成する。重心演算器１８と座標変換器２１とが、第２の演算部６ｂを構成する。
【００４８】
制御部８は、基板８０と、基板８０上に形成された制御回路１５とからなる。制御回路１５は、ビジョンセンサー３内の光検出部４と演算部６内の全素子に接続されており、これらを制御する。
【００４９】
まず、光検出部４について説明する。
【００５０】
光検出器アレイ１１は、複数（この場合、ｎｘｎ個：ｎは２以上の整数、例えば、ｎ＝１２８）の受光素子１２０が、複数の行（ｎ行）及び複数の列（ｎ列）に２次元状に配列されて構成されている。すなわち、光検出器アレイ１１は、ｎ個の受光素子１２０がＸ軸方向に並んで構成されたｘ方向受光部１１０が、１２８個、Ｘ軸方向に直交するＹ軸方向に配列されて構成されている。光検出器アレイ１１は、被測定物体Ｓに対し、その行方向（Ｘ軸方向）が被測定物体ＳのＸ軸方向と平行になり、かつ、その列方向（Ｙ軸方向）が被測定物体ＳのＹ軸方向と平行になるように、配置される。
【００５１】
光検出器アレイ１１における各受光素子１２０（以下、１２０ｘ，ｙ（ｘ＝１〜ｎ、ｙ＝１〜ｎ）という）の２次元座標位置（ｘ、ｙ）は、被測定物体Ｓの２次元座標位置（Ｘ、Ｙ）に対し、撮像レンズ１０ａの縮小倍率ｍで定まる１対１の関係にある。具体的には、Ｘ＝ｍ・ｘ、Ｙ＝ｍ・ｙの関係にある。
【００５２】
図５に示すように、光検出器アレイ１１は、ＣＭＯＳセンサーである。すなわち、各受光素子１２０ｘ，ｙは、入力した光強度に応じて電荷を発生する光電変換素子（ｐｎ接合フォトダイオード）１３０と、光電変換素子１３０の信号出力端子に接続され、水平走査信号Ｖｘ（ｘ＝１〜ｎ）に応じて光電変換素子１３０内部の不図示のコンデンサーに蓄積された電荷を出力するスイッチ素子１４０（ＭＯＳトランジスタ）とを１組として構成されている。この受光素子１２０ｘ，ｙがｘ方向に沿ってｎ個配置され、かつ、かかるｎ個の受光素子１２０のスイッチ素子１４０が互いに電気的に接続されて、ｘ方向受光部１１０ｙが構成されている。そして、このｘ方向受光部１１０ｙが、Ｘ軸方向に対して直交するＹ軸方向に沿ってｎ個配列されることにより、受光素子アレイ１１が構成されている。
【００５３】
このように、各行ｙに属する全ｎ個の受光素子１２０１，ｙ〜１２０ｎ，ｙは、互いに接続されている。後述するように、制御回路１５内にある画像取り込み制御部３００は、各列ｘに対し、当該列ｘに所属する全ｎ個の受光素子１２０ｘ，ｙが同時に信号を出力するように制御する。画像取り込み制御部３００は、また、全ｎ列の受光素子１２０ｘ，ｙのうち、第１列の受光素子１２０１，ｙから第ｎ列の受光素子１２０ｎ，ｙまで、順番に信号を出力するように制御する。
【００５４】
Ａ／Ｄ変換器アレイ１３は、ｎ（＝１２８）個のアナログ／デジタル変換器（以下、Ａ／Ｄ変換器という）２１０ｙ（ｙ＝１〜ｎ）を備えている。各Ａ／Ｄ変換器２１０ｙは、光検出器アレイ１１の対応する行ｙに所属する全ｎ（＝１２８）個の受光素子１２０ｘ，ｙ（ｘ＝１〜ｎ）に接続されており、これら全ｎ（＝１２８）個の受光素子１２０ｘ，ｙから順次読み出されてくる出力信号をアナログ・デジタル変換する。
【００５５】
より詳しくは、Ａ／Ｄ変換器アレイ１３には、ｎ（＝１２８）個のＡ／Ｄ変換器２１０ｙが１次元状（ｙ方向）に配列されている。当該ｎ（＝１２８）個のＡ／Ｄ変換器２１０ｙは、光検出器アレイ１１内のｎ（＝１２８）個の水平受光部１１０ｙに１対１に対応して接続されている。各Ａ／Ｄ変換器２１０ｙは、対応する水平受光部１１０ｙに所属する全ｎ個の受光素子１２０ｘ，ｙ〜１２０ｎ，ｙから順次出力されてくる電荷を電圧信号に変換し、さらにＡ／Ｄ変換してデジタル信号Ｄ（１，ｙ）〜Ｄ（ｎ、ｙ）を出力する。
【００５６】
各Ａ／Ｄ変換器２１０ｙは、チャージアンプ２２１ｙを含む積分回路２２０ｙと、比較回路２３０ｙ、及び、容量制御機構２４０ｙの３つの回路から構成されている。
【００５７】
積分回路２２０ｙは、ｘ方向受光部１１０ｙに属する１つの受光素子１２０ｘ、ｙからの出力信号を入力として、この入力信号の電荷を増幅するチャージアンプ２２１ｙと、チャージアンプ２２１ｙの入力端子に一方の端が接続され、出力端子に他方の端が接続された可変容量部２２２ｙと、チャージアンプ２２１ｙの入力端子に一方の端が接続され、出力端子に他方の端が接続されたスイッチ素子２２３ｙとからなる。スイッチ素子２２３ｙは、画像取り込み制御部３００からのリセット信号Ｒに応じてＯＮ、ＯＦＦ状態となり、積分回路２２０ｙの積分、非積分動作を切り替えるためのものである。
【００５８】
図６は、積分回路２２０の詳細構成図である。本図は、４ビットつまり１６階調の分解能を持つＡ／Ｄ変換機能を備える積分回路の例であり、以下、この回路構成により説明する。
【００５９】
可変容量部２２２は、チャージアンプ２２１の水平受光部１１０からの出力信号の入力端子に一方の端子が接続された容量素子Ｃ１〜Ｃ４と、容量素子Ｃ１〜Ｃ４の他方の端子とチャージアンプ２２１の出力端子との間に接続され、容量指示信号Ｃ11〜Ｃ14に応じて開閉するスイッチ素子ＳＷ１１〜ＳＷ１４と、容量素子Ｃ１〜Ｃ４とスイッチ素子ＳＷ１１〜ＳＷ１４との間に一方の端子が接続され、他方の端子がＧＮＤレベルと接続されて、容量指示信号Ｃ21〜Ｃ24に応じて開閉するスイッチ素子ＳＷ２１〜ＳＷ２４とから構成されている。なお、容量素子Ｃ１〜Ｃ４の電気容量Ｃ1〜Ｃ4は、
Ｃ1＝２Ｃ2＝４Ｃ3＝８Ｃ4
Ｃ0＝Ｃ1＋Ｃ2＋Ｃ3＋Ｃ4
の関係を満たす。ここで、Ｃ0は積分回路２２０で必要とする最大電気容量であり、光電変換素子１３０（図５参照）の飽和電荷量をＱ0、基準電圧をＶREFとすると、Ｃ0＝Ｑ0／ＶREFの関係を満たす。
【００６０】
再び、図５に戻り、Ａ／Ｄ変換器２１０ｙの積分回路２２０ｙ以外の回路を説明する。比較回路２３０ｙは、積分回路２２０ｙから出力された積分信号ＶSの値を基準値ＶREFと比較して、比較結果信号ＶCを出力する。容量制御機構２４０ｙは、比較結果信号ＶCの値から積分回路２２０ｙ内の可変容量部２２２ｙに通知する容量指示信号Ｃを出力すると共に、容量指示信号Ｃ（Ｃ１１〜Ｃ１4）に相当するデジタル信号Ｄ（ｘ、ｙ）を出力する。こうして、各容量制御機構２４０ｙは、デジタル信号Ｄ（ｘ、ｙ）を、最上位ビット（ＭＳＢ）である容量指示信号Ｃ１１から、順次、最下位ビット（ＬＳＢ）である容量指示信号Ｃ１４まで出力することで、デジタル信号Ｄ（ｘ、ｙ）をビットシリアルに出力する。
【００６１】
上記構成の画像取り込み部１１、１３は、制御回路１５内の画像取り込み制御部３００により、画像取り込みのタイミングを制御される。図５に示すように、画像取り込み制御部３００は、全回路１１及び１３のクロック制御を行う基本タイミングを発生する基本タイミング部３１０と、基本タイミング部３１０から通知された水平走査指示に従って水平走査信号Ｖｘを発生する水平シフトレジスタ３２０と、リセット指示信号Ｒを発生する制御信号部３３０とから構成されている。水平シフトレジスタ３２０は、全ｎ個の信号線３２５１〜３２５ｎに接続されており、各信号線３２５ｘ（ｘ＝１〜ｎ）が、対応する第ｘ（＝１〜ｎ）列の全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎのスイッチ素子１４０に接続されている。
【００６２】
以下、画像取り込み制御部３００による画像取り込みの制御について説明する。
【００６３】
画像取り込み制御部３００は、まず、リセット信号Ｒを有為に設定し、図６に示す可変容量部２２２のＳＷ１１〜ＳＷ１４を全て「ＯＮ」、ＳＷ２１〜ＳＷ２４を全て「ＯＦＦ」状態にする。これにより、チャージアンプ２２１の入力端子と出力端子間の容量値をＣ0に設定する。それと同時に、図５に示す全てのスイッチ素子１４０を「ＯＦＦ」状態とし、水平走査信号Ｖｘをいずれの受光素子１２０ｘ、ｙも選択しない状態に設定する。この状態から、リセット指示信号Ｒを非有為に設定し、各積分回路２２０での積分動作を開始させる。
【００６４】
積分動作を開始させると、図５に示す全ｘ方向受光部１１０ｙ（ｙ＝１〜ｎ）にある第１列目の受光素子１２０１,ｙのスイッチ素子１４０のみを「ＯＮ」とする水平走査信号Ｖ１が出力される。スイッチ素子が「ＯＮ」になると、それまでの受光によって光電変換素子１３０に蓄積された電荷Ｑが、電流信号として光検出器アレイ１１から出力される。つまり、光電変換素子の信号を読み出すことができる。電荷Ｑは容量値Ｃ0に設定された可変容量部２２２に流入する。
【００６５】
次に、図６により積分回路２２０内部の動作を説明する。容量制御機構２４０（図５参照）は、ＳＷ１２〜ＳＷ１４を開放した後、ＳＷ２２〜２４を閉じる。この結果、積分信号ＶSが、ＶS＝Ｑ／Ｃ1で示す電圧値として出力される。積分信号ＶSは、比較回路２３０に入力して、基準電圧値ＶREFと比較される。ここで、ＶSとＶREFの差が、分解能の範囲以下、すなわち±（Ｃ4／２）以下の時は、一致したものとみなし、更なる容量制御は行わず、積分動作を終了する。分解能の範囲で一致しないときは、更に容量制御を行い、積分動作を続ける。例えば、分解能の範囲で一致せず、かつ、ＶS＞ＶREFであれば、容量制御機構２４０は、更に、ＳＷ２２を開放した後に、ＳＷ１２を閉じる。この結果、積分信号ＶSは、ＶS＝Ｑ／（Ｃ1＋Ｃ2）で示す電圧値となる。この積分信号ＶSは、後続の比較回路２３０（図５）に入力して、基準電圧値ＶREFと比較される。一方、分解能の範囲で一致せず、かつ、ＶS＜ＶREFであれば、容量制御機構２４０は、更に、ＳＷ１１及びＳＷ２２を開放した後に、ＳＷ１２及びＳＷ２１を閉じる。この結果、積分信号ＶSは、ＶS＝Ｑ／Ｃ2で示す電圧値となる。この積分信号ＶSは、後続の比較回路２３０に送出され、基準電圧値ＶREFと比較される。
【００６６】
以後、同様にして、積分回路２２０→比較回路２３０→容量制御機構２４０→積分回路２２０のフィードバックループによって、積分信号ＶSが基準電圧値ＶREFと分解能の範囲で一致するまで、比較及び容量設定（ＳＷ１１〜ＳＷ１４及びＳＷ２１〜ＳＷ２４のＯＮ／ＯＦＦ制御）が順次繰り返される。積分動作が終了した時点のＳＷ１１〜ＳＷ１４のＯＮ／ＯＦＦ状態を示す容量指示信号Ｃ11〜Ｃ14の値は、電荷Ｑの値に対応したデジタル信号であり、最上位ビット（ＭＳＢ）の値がＣ11、最下位ビット（ＬＳＢ）の値がＣ14である。こうしてＡ／Ｄ変換が行われ、これらの値がデジタル信号Ｄ（１、ｙ）として、転送スイッチアレイ１４に出力される。このように、デジタル信号Ｄ（１、ｙ）の各ビット値が、ＭＳＢ側からＬＳＢ側へ１ビットずつ順に定まり、出力されていく。
【００６７】
以上のように、本実施形態のＡ／Ｄ変換器２１０では、容量Ｃ１〜Ｃ４が一つずつＯＮされながら、比較電圧ＶＲＥＦとの比較が行われ、その比較結果が出力デジタル信号Ｄ（ｘ、ｙ）として出力される。すなわち、まず、容量Ｃ１がオンとされ、積分信号ＶＳ＝Ｑ／Ｃ１となり、このＶＳがＶＲＥＦと比較される。ＶＳが大きければ“１”（＝Ｃ１１）、小さければ“０” （＝Ｃ１１）となり、これがＭＳＢ（最上位ビット）として出力される。次に、Ｃ２がオンとされ、ＶＳ＝Ｑ／（Ｃ１＋Ｃ２）（ＭＳＢ＝１の時）、または、ＶＳ＝Ｑ／Ｃ２（ＭＳＢ＝０の時）が得られ、ＶＲＥＦと比較される。ＶＳが大きければ“１” （＝Ｃ１２）、小さければ“０”（＝Ｃ１２）となり、これが２ビット目として出力される。以上の処理が全ビット数分繰り返されることで、Ａ／Ｄ変換が完了する。
【００６８】
第１列目の受光素子１２０１,ｙの光電出力に相当するデジタル信号Ｄ（１，ｙ）の送出が終了すると、画像取り込み制御部３００は、リセット信号Ｒを有為とし、再び、非有為にして、可変容量部２２２ｙの容量値を初期化した後に、全ｘ方向受光部１１０ｙ（ｙ＝１〜ｎ）の第２列目の受光素子１２０２,ｙのスイッチ素子１４０のみを「ＯＮ」とする水平走査信号Ｖ２を出力し、上述と同様の動作により、第２列目の受光素子１２０２,ｙの光電出力を読み出し、これに相当するデジタル信号Ｄ（２，ｙ）を送出する。以下、同様にして、水平走査信号を順次切り替えて、全１〜ｎ列の受光素子１２０１,ｙ〜１２０ｎ,ｙ（ｙ＝１〜ｎ）の光電出力を順次読み出し、相当するデジタル信号Ｄ（１、ｙ）〜Ｄ（ｎ、ｙ）（ｙ＝１〜ｎ）を、転送スイッチアレイ１４に、順次出力する。
【００６９】
以上のように、本実施の形態によれば、１つの列ｘに属する全ｎ個の受光素子１２０ｘ，１〜１２０ｘ，ｎからの光電出力は、Ａ／Ｄ変換器アレイ１３によって、同時に、Ａ／Ｄ変換される。生成されたデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）が、転送スイッチアレイ１４に同時に出力される。そして、第１（ｘ＝１）列目から第ｎ（ｘ＝ｎ）列目まで、順番に、受光素子１２０ｘ，ｙからの光電出力がＡ／Ｄ変換され、生成されたデジタル信号Ｄ（ｘ、ｙ）が転送スイッチアレイ１４に出力される。
【００７０】
第１（ｘ＝１）列目から第ｎ（ｘ＝ｎ）列目まで、全ｎ列の受光素子１２０ｘ，ｙからの光電出力のデジタル信号Ｄ（ｘ、ｙ）が転送スイッチアレイ１４に出力されると、１フレームの画像の取り込み／転送が終了し、次のフレームの画像の取り込み／転送が開始される。各列の受光素子１２０ｘ、ｙは、スイッチ素子１４０が前回のフレームにおいてオンとなった後に再びオンとなるまでに光電変換素子１３０に蓄積された電荷を出力信号として出力する。したがって、電荷の蓄積時間と出力時刻が、列ｘ毎に、少しずつずれている。
【００７１】
以上、Ａ／Ｄ変換器アレイ１３が４ビットつまり１６階調の分解能を持つ場合について説明したが、Ａ／Ｄ変換器アレイ１３は、６ビット、８ビット等、他のビット構成の分解能を持つ構成であってもよい。例えば、Ａ／Ｄ変換器アレイ１３が８ビットつまり２５６階調の分解能を持つようにするためには、可変容量部２２２を以下のように変更すれば良い。すなわち、容量素子Ｃ１〜Ｃ４に対して、更に、容量素子Ｃ５〜Ｃ８を並列に接続する。容量素子Ｃ１〜Ｃ４に対してスイッチ素子ＳＷ１１〜ＳＷ１４、ＳＷ２１〜ＳＷ２４を接続したのと同様に、容量素子Ｃ５〜Ｃ８に対してスイッチ素子ＳＷ１５〜ＳＷ１８とスイッチ素子ＳＷ２５〜ＳＷ２８とを接続する。容量素子Ｃ１〜Ｃ８の電気容量Ｃ1〜Ｃ８は、
Ｃ1＝２Ｃ2＝４Ｃ3＝８Ｃ4＝１６Ｃ５＝３２Ｃ６＝６４Ｃ７＝１２８Ｃ８
Ｃ0＝Ｃ1＋Ｃ2＋Ｃ3＋Ｃ4＋Ｃ５＋Ｃ６＋Ｃ７＋Ｃ８
の関係を満たすようにする。可変容量部２２２を以上のように構成した場合には、容量制御部２４０は、８ビットのデジタル信号Ｄ（ｘ、ｙ）を、ＭＳＢからビットシリアルに出力することができる。
【００７２】
なお、以下の説明では、Ａ／Ｄ変換器アレイ１３が８ビットのデジタル信号を出力する場合について、説明する。
【００７３】
以上のように、光検出器アレイ１１は、１つの列ｘに属する全受光素子１２０ｘ、１〜１２０ｘ、ｎが、出力信号を、同時に、対応するＡ／Ｄ変換器２１０１〜２１０ｎへ供給するように制御される。Ａ／Ｄ変換器アレイ１３内の全Ａ／Ｄ変換器２１０１〜２１０ｎは、該列ｘからの出力信号を、同時に、受け取り、アナログ・デジタル変換して、８ビットのデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を生成する。さらに、光検出器アレイ１１は、第１列から第ｎ列まで、順番に信号を出力するように制御される。したがって、Ａ／Ｄ変換器アレイ１３は、光検出器アレイ１１の受光素子１２０からの出力信号を、第１列から第ｎ列まで順番に受けとり、これらをアナログ・デジタル変換して８ビットのデジタル信号を、順番に生成する。
【００７４】
次に、転送スイッチアレイ１４について説明する。
【００７５】
転送スイッチアレイ１４は、Ａ／Ｄ変換器アレイ１３が１つの列ｘの全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号に対する８ビットデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を出力するたびに、これらｎ個の８ビットデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）をいったん保持し、第１行目の８ビットデジタル信号Ｄ（ｘ、１）から第ｎ行目の８ビットデジタル信号Ｄ（ｘ、ｎ）まで、順番に、かつ、各デジタル信号をパラレル形式で、転送するためのものである。
【００７６】
図４及び図７に示すように、転送スイッチアレイ１４は、ｙ方向に１次元状に配置されたｎ個の転送スイッチユニット３４０ｙ（１≦ｙ≦１２８）からなる。これらｎ個の転送スイッチユニット３４０ｙは、ｎ個のＡ／Ｄ変換器２１０ｙに１対１に接続されている。各スイッチユニット３４０ｙは、８ビット画像保持用シフトレジスタ３４１ｙとスイッチ列３４５ｙとからなる。図８に示すように、８ビット画像保持用シフトレジスタ３４１ｙは、対応するＡ／Ｄ変換器２１０ｙから出力されてくる８ビットデジタル信号の最上位ビットから最下位ビットまでを保持するための８個のレジスタ部３４１（１）〜３４１（８）から構成されている。スイッチ列３４５ｙは、８ビットデジタル信号の各ビットを演算部６へ転送するための８個のスイッチ３４５（１）〜３４５（８）から構成されている。各レジスタ部３４１（１）〜３４１（８）が、それぞれ、対応する１個のスイッチ３４５（１）〜３４５（８）に接続されている。
【００７７】
図７に示すように、全ｎ個のスイッチユニット３４０ｙ（１≦ｙ≦ｎ）の各ビット用のスイッチ３４５（ｋ：１≦ｋ≦８）が、対応する１つの１ビット転送用信号線３５０（ｋ：１≦ｋ≦８）を介して、演算部６のノイズ除去回路２０に接続されている。例えば、全ｎ個のスイッチユニット３４０ｙ（１≦ｙ≦１２８）の最上位ビット用のスイッチ３４５（１）が、最上位ビット用の１ビット信号線３５０（１）を介して、演算部６のノイズ除去回路２０に接続されている。したがって、転送スイッチアレイ１４は、全８本の１ビット転送用信号線３５０（１）〜３５０（８）からなる転送用信号線３５０を介してノイズ除去回路２０に接続されている。
【００７８】
転送スイッチアレイ１４には、更に、全ｎ個のスイッチユニット３４０ｙ（１≦ｙ≦１２８）に接続された画像読み出し制御部３４６が設けられている。画像読み出し制御部３４６は、クロック３４７とシフトレジスタ３４８とからなる。シフトレジスタ３４８は、全ｎ個のレジスタ部３４８ｙ（１≦ｙ≦１２８）から構成されている。図８に示すように、各レジスタ部３４８ｙが、対応するスイッチユニット３４０ｙ（１≦ｙ≦１２８）内のスイッチ列３５０ｙの全８個のスイッチ３４５（１）〜３４５（８）に接続されている。
【００７９】
転送スイッチアレイ１４が１つの列ｘ（１≦ｘ≦１２８）に属する全ｎ個の受光素子１２０ｘ，ｙからの出力信号に相当する８ビットデジタル信号をＡ／Ｄ変換器アレイ１３より受け取ると、画像読み出し制御部３４６は、第１行目のスイッチユニット３４０１から第ｎ行目のスイッチユニット３４０ｎまで、順番に、８ビットデジタル信号をパラレル形式で、演算部６のノイズ除去回路２０に出力するように、転送スイッチアレイ１４を制御する。
【００８０】
具体的には、Ａ／Ｄ変換器アレイ１３は、１つの列ｘの全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号の８ビットデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を、それぞれ、対応するスイッチユニット３４０１〜３４０ｎに出力する。この結果、各スイッチユニット３４０ｙ（１≦ｙ≦ｎ）に属するシフトレジスタ３４１ｙのレジスタ部３４１（１）〜３４１（８）は、受光素子１２０ｘ、ｙからの出力信号に相当する８ビットデジタル信号Ｄ（ｘ、ｙ）を、いったん保持する。例えば、スイッチユニット３４０１に属するシフトレジスタ３４１１のレジスタ部３４１（１）〜３４１（８）は、１行目の受光素子１２０ｘ、１からの出力信号に相当する８ビットデジタル信号Ｄ（ｘ、１）を保持する。また、スイッチユニット３４０２に属するシフトレジスタ３４１２のレジスタ部３４１（１）〜３４１（８）は、２行目の受光素子１２０ｘ、２からの出力信号に相当する８ビットデジタル信号Ｄ（ｘ、１）を保持する。
【００８１】
画像読み出し制御部３４６は、スイッチユニット３４０１〜ｎが１つの列ｘの全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号のデジタル信号（ｘ、１）〜Ｄ（ｘ、ｎ）を全ビット分を受け取った時点で、まず、第１行のスイッチユニット３４０１に属するスイッチ列３４５１のスイッチ３４５（１）〜３４５（８）を同時にオンして、受光素子１２０ｘ、１からの出力信号に相当する８ビットデジタル信号を、パラレル信号として、ノイズ除去回路２０に転送する。次に、第２行のスイッチユニット３４０２に属するスイッチ列３４５２のスイッチ３４５（１）〜３４５（８）を同時にオンして、受光素子１２０ｘ、２からの出力信号に相当する８ビットデジタル信号を、パラレル信号として、ノイズ除去回路２０に転送する。こうして、第１行のスイッチユニット３４０１から第ｎ行のスイッチユニット３４０ｎまで、順番に、オンすることで、１つの列の全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号に相当する８ビットパラレル信号を、時系列的に、ノイズ除去回路２０に転送する。
【００８２】
以上のように、画像読みとり制御部３４６は、Ａ／Ｄ変換器アレイ１３が各列ｘからの出力信号をＡ／Ｄ変換してデジタル信号を生成する度に、転送スイッチアレイ１４に対し、当該列ｘに属する全ｎ個の受光素子からの出力信号に相当するデジタル信号を、順次、転送させるようになっている。
【００８３】
本実施の形態によれば、Ａ／Ｄ変換器アレイ１３と演算部６とを転送転送スイッチアレイ１４を介して接続するようにしている。このため、Ａ／Ｄ変換器アレイ１３と演算部６とを、８本の接続線（８ビット転送用信号線３５０）のみで接続することができ、接続線の数を減少させることができる。
【００８４】
次に、演算部６について、説明する。
【００８５】
図９に示すように、演算部６は、第１の演算部６ａと第２の演算部６ｂとからなる。
【００８６】
第１の演算部６ａには、ノイズ除去回路２０と０次モーメント演算器１６と１次モーメント演算器１７とが設けられている。第２の演算部６ｂには、重心演算器１８と座標変換器２１とが設けられている。
【００８７】
図４及び図９に示すように、ノイズ除去回路２０は、転送スイッチアレイ１４からの８ビット転送用信号線３５０に接続されている。ノイズ除去回路２０は、転送スイッチアレイ１４から順次転送されてくる８ビットデジタル信号からノイズを除去するためのものである。より詳しくは、ノイズ除去回路２０は、転送されてくる８ビットのパラレルデジタル信号をいったん格納すると共に、その値を所定のしきい値と比較し、しきい値より大きい場合には、格納したデジタル信号を出力し、小さい場合には、ノイズとみなして、８ビットデジタル信号（００００００００）を出力する。なお、しきい値は、ラインパターン光の強度、及び、被測定物体Ｓの反射率に基づいて予め定めておく。
【００８８】
具体的には、ノイズ除去回路２０は、図１０に示すように、遅延回路４００と比較器４０２とデジタルデータ格納器４０４とからなる。遅延回路４００は、８ビット用のバッファから構成されている。デジタルデータ格納器４０４は、８ビットのデジタル信号（００００００００）を格納している。
【００８９】
遅延回路４００が、転送スイッチアレイ１４からの信号線３５０に接続されている。比較器４０２の一方の入力端子も、転送スイッチアレイ１４からの信号線３５０に接続されている。比較器４０２の他の入力端子には、所定の第１のしきい値が入力されている。所定の第１のしきい値は、ノイズの最大値である。比較器４０２の出力端子が、遅延回路４００とデジタルデータ格納器４０４とに接続されている。遅延回路４００とデジタルデータ格納器４０４とは、それぞれ、０次モーメント演算器１６と１次モーメント演算器１７に接続されている。
【００９０】
転送スイッチアレイ１４がノイズ除去回路２０に対し８ビットのデジタル信号を転送すると、比較器４０２と遅延回路４００とが、同時に、当該デジタル信号を受け取る。比較器４０２は、受け取ったデジタル信号を所定の第１のしきい値と比較する。遅延回路４００は、比較器４０２が当該比較処理を行っている間、当該デジタル信号を保持している。比較器４０２は、デジタル信号が第１のしきい値より大きい場合には、遅延回路４００に対し、保持しているデジタル信号を出力させる旨の制御信号を出力する。一方、デジタル信号が第１のしきい値以下の場合には、デジタルデータ格納器４０４に対し、デジタル信号（００００００００）を出力させる旨の制御信号を出力する。すなわち、転送されてきたデジタル信号の値が第１のしきい値以下の場合には、ノイズとみなすことができる。したがって、デジタルデータ格納器４０４が、当該デジタル信号の代わりにデジタル信号（００００００００）を出力することで、ノイズを除去する。
【００９１】
転送スイッチアレイ１４が１つの列ｘのｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号に相当するｎ個のデジタル信号を連続して転送するタイミングに合わせて、制御回路１５はノイズ除去回路２０を制御し、各デジタル信号について、順次、所定の第１のしきい値と比較する比較動作を行わせる。ノイズ制御回路２０は、受け取ったデジタル信号が第１のしきい値より大きい場合には、当該デジタル信号をそのまま出力し、第１のしきい値以下の場合には、デジタル信号（００００００００）に置換して出力する。こうして、ノイズ除去回路２０は、転送スイッチアレイ１４から順次出力されてくるｎ個のデジタル信号を、ノイズを除去して出力する。
【００９２】
０次モーメント演算器１６と１次モーメント演算器１７とが、ノイズ除去回路２０に接続されている。
【００９３】
０次モーメント演算器１６は、ノイズ除去回路２０から順次出力されてくるｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）（すなわち、１つの列ｘの全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからのデジタル信号であって、ノイズが除去されたもの）を受け取って、それらの０次モーメントである総和を演算するためのものである。
【００９４】
０次モーメント演算器１６は、図１１に示すように、加算器４１１と、Ａラッチ４１２と、Ｂラッチ４１３とからなる。Ｂラッチ４１３は、ノイズ除去回路２０から出力されてくる８ビットデジタル信号を受け取り格納するためのものである。Ａラッチ４１２には、当初８ビットのデジタル信号（００００００００）が格納されている。加算器４１１は、Ａラッチ４１２に格納されているデジタル信号とＢラッチ４１３に格納されているデジタル信号を加算し、その結果を、Ａラッチ４１２に格納するためのものである。
【００９５】
かかる構成により、０次モーメント演算器１６は、ノイズ除去回路２０からｎ個のデジタル信号（１列の全デジタル信号）が順次Ｂラッチ４１３に出力されてくると、これらを順次積算して、１列に属する全ｎ個の受光素子１２０からの信号に相当するデジタル信号の総和である０次モーメントを演算する。演算結果である０次モーメントは、Ａラッチ４１２より、重心演算器１８に出力される。
【００９６】
なお、ノイズ除去回路２０が次の列のデジタル信号を出力し始めると、Ａラッチ４１２は、いったん初期化されデジタル信号（００００００００）を格納した後、当該次の列の全ｎ個のデジタル信号の積算を開始する。
【００９７】
転送スイッチアレイ１４が光検出器アレイ１１の１つの列ｘからの出力信号に相当するｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を順次転送しノイズ除去回路２０がこれら信号をノイズを除去しながら順次出力するタイミングに合わせて、制御回路１５は０次モーメント演算器１６を制御し、該列についてのｎ個のデジタル信号を積算させ、０次モーメントを演算させる。０次モーメント演算器１６は、光検出器アレイ１１の全１〜ｎ列について、順次、０次モーメントを演算していく。
【００９８】
０次モーメント演算器１６は、各列ｘにおける０次モーメントＧ（ｘ）を、以下の数式（１）のように、演算する。
【００９９】
Ｇ（ｘ）＝Σｙ＝１〜ｎＤ（ｘ、ｙ）
＝Ｄ（ｘ、１）＋Ｄ（ｘ、２）＋  ・・・  ＋Ｄ（ｘ、ｎ）
・・・（１）
【０１００】
１次モーメント演算器１７は、ノイズ除去回路２０から順次出力されてくるｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）（すなわち、１つの列ｘの全ｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからのデジタル信号であって、ノイズが除去されたもの）を受け取って、各デジタル信号を当該デジタル信号を出力した受光素子１２０が所属する行ｙの値１〜ｎで重み付けして積算した重み付け総和（ｙ方向１次モーメント）を演算するためのものである。
【０１０１】
１次モーメント演算器１７は、図１２に示すように、加算器４２１と、Ａラッチ４２２と、Ｂラッチ４２３と、カウンター４２５と、乗算器４２６とからなる。Ｂラッチ４２３は、ノイズ除去回路２０から出力されてくる８ビットデジタル信号を受け取り格納するためのものである。Ａラッチ４２２には、当初８ビットのデジタル信号（００００００００）が格納されている。カウンター４２５には、当初（１）が格納されている。乗算器４２６は、カウンター４２５の値とＢラッチ４２３に格納されているデジタル信号とを乗算するためのものである。加算器４２１は、Ａラッチ４２２に格納されているデジタル信号と乗算器２７６の乗算結果とを加算し、その結果を、Ａラッチ４２２に格納するためのものである。カウンター４２５は、Ｂラッチ４２３に１列内の全ｎ個のデジタル信号が順次転送されてくるのに応じて、（１）から（ｎ）まで、順次、１ずつインクリメントしていく。
【０１０２】
かかる構成により、１次モーメント演算器１７は、ノイズ除去回路２０から全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）が順次Ｂラッチ４２３に出力されてくるにつれ、これらｎ個のデジタル信号をカウンター４２５の値ｙによる重み付けをしつつ順次積算して、１列ｘに属する受光素子１２０からの信号に相当するデジタル信号の１次モーメントを演算する。１次モーメント演算器１７は、演算結果を、Ａラッチ４２２から重心演算器１８に出力する。
【０１０３】
なお、ノイズ除去回路２０が次の列のデジタル信号を出力し始めると、Ａラッチ４２２は初期化されデジタル信号（００００００００）を格納し、カウンター４２５も初期化され（１）を格納する。その後、当該次の列の全ｎ個のデジタル信号の重み付け総和の演算を開始する。
【０１０４】
転送スイッチアレイ１４が光検出器アレイ１１の１つの列ｘからの出力信号に相当するｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を順次転送しノイズ除去回路２０がこれら信号をノイズを除去しながら順次出力するタイミングに合わせて、制御回路１５は１次モーメント演算器１７を制御し、該列についてのｎ個のデジタル信号を重み付け積算させ、１次モーメントを演算させる。１次モーメント演算器１７は、光検出器アレイ１１の全１〜ｎ列について、順次、１次モーメントを演算していく。
【０１０５】
１次モーメント演算器１７は、各列ｘにおける１次モーメントＧ‘（ｘ）を、以下の数式（２）のように、演算する。
【０１０６】
Ｇ‘（ｘ）＝Σｙ＝１〜ｎｙ・Ｄ（ｘ、ｙ）
＝１・Ｄ（ｘ、１）＋２・Ｄ（ｘ、２）＋  ・・・  ＋ｎ・Ｄ（ｘ、ｎ）
・・・（２）
【０１０７】
以上のように、本実施の形態によれば、単一の０次モーメント演算器１６と単一の１次モーメント演算器１７とが、転送スイッチアレイ１４から順次送られてくるデジタル信号に対して演算処理を行う。したがって、演算部６ａの構造が単純化されている。しかも、１つの列に属する全受光素子からの出力信号に相当するデジタル信号が順次転送されてくるため、０次モーメント演算器１６は、これらを順次積算するだけで、０次モーメントを演算することができる。１次モーメント演算器１７も、重みを順次変えながらこれらを順次重み付け積算するだけで、１次モーメントを演算できる。したがって、０次、１次モーメント演算器１６，１７は、バッファ等の格納機構を使用することなく、モーメント演算を簡単に行うことができる。
【０１０８】
次に、第２の演算部６ｂについて説明する。
【０１０９】
重心演算器１８は、割り算器から構成されており、０次モーメント演算器１６と１次モーメント演算器１７とに接続されている。重心演算器１８は、０次モーメント演算器１６が１つの列についての０次モーメントを出力するたびに、これを受け取る。同様に、１次モーメント演算器１７が１つの列についての１次モーメントを出力するたびに、これを受け取る。重心演算器１８は、同一の列について受け取った０次モーメントと１次モーメントに基づいて、以下の数式（３）に示す割り算を行う。すなわち、各列ｘ（１≦ｘ≦ｎ）について、１次モーメント値を０次モーメント値で割るわり算を行い、該各列ｘにおける重心の位置Ｐ（ｘ）を演算する。
【０１１０】
Ｐ（ｘ）＝Ｇ‘（ｘ）／Ｇ（ｘ）
＝Σｙ＝１〜ｎｙ・Ｄ（ｘ、ｙ）／Σｙ＝１〜ｎＤ（ｘ、ｙ）  ・・・（３）
【０１１１】
ここで、０次モーメント演算器１６からは、第１列〜第ｎ列について順番に０次モーメントが出力され、１次モーメント演算器１７からは、第１列〜第ｎ列について順番に１次モーメントが出力される。したがって、重心演算器１８は、第１列〜第ｎ列について、順番に、重心位置Ｐ（１）〜Ｐ（ｎ）を演算していく。
【０１１２】
座標変換器２１は、重心演算器１８に接続されている。座標変換器２１は、重心演算器１８より出力される各列ｘ（１≦ｘ≦ｎ）での重心位置データＰ（ｘ）を受け取り、重心位置データＰ（ｘ）に基づいて、被測定物体Ｓについての３次元座標変換を行い、被測定物体ＳのＸ軸方向における高さ分布を求める。
【０１１３】
具体的には、今、投光器２が、図１に示すように、ラインパターン光を、基準高さＺ０上においてＹ軸方向の位置Ｙ０に照射されるように、投光したと仮定する。また、ビジョンセンサー３は、基準高さＺ０上におけるＹ軸方向の位置Ｙ０からの反射光を、光検出器アレイ１１上のｙ＝０の位置にて受光するよう配置されているとする。
【０１１４】
この場合、光検出器アレイ１１の各列ｘ（１≦ｘ≦ｎ）での重心位置のデータＰ（ｘ）は、被測定物体ＳのＸ方向における各位置Ｘ＝ｍ・ｘ（ここで、１≦ｘ≦ｎ）での高さＺ（Ｘ）を、以下のように、示す。
【０１１５】
Ｚ（Ｘ）＝Ｚ０＋ｍ・Ｐ（ｘ）／ｔａｎθ  ・・・（４）。
【０１１６】
したがって、座標変換器２１は、上記数式（４）を演算することで、被測定物体Ｓ上のラインパターン光投光位置Ｙ０における全Ｘ座標位置でのＺ軸方向高さを演算する。座標変換器２１は、演算結果を、外部装置（例えば、外部コンピュータ）に出力する。
【０１１７】
座標変換器２１は、例えば、ルックアップテーブルから構成されている。このルックアップテーブルでは、重心演算器１８より出力される可能性のある複数の重心データＰ（ｘ）の値と、この値に対して得られる上記数式（４）の演算結果Ｚ（Ｘ）とを、互いに対応づけて、格納しておく。重心演算器１８より実際に出力された重心データＰ（ｘ）に対してルックアップテーブルをサーチすることにより、数式（４）の演算結果Ｚ（Ｘ）を求める。
【０１１８】
座標変換器２１は、演算結果Ｚ（Ｘ）を、被測定物体Ｓのラインパターン光投光位置Ｙ０における全Ｘ座標位置でのＺ軸方向高さとして出力する。具体的には、座標変換器２１は、各列ｘ（ここで、１≦ｘ≦ｎ）に対して、（Ｘ＝ｍ・ｘ、Ｙ０，Ｚ（Ｘ））という３次元座標データを生成する。座標変換器２１は、かかる３次元座標データを、例えば、外部コンピュータに出力する。
【０１１９】
さらに、移動枠５上で画像計測カメラ１を被測定物体Ｓに対してＹ軸方向に少しずつ移動させラインパターン光の位置Ｙ０をずらしながら検出／演算を繰り返し行うことで、被測定物体ＳのＹ方向における広い範囲での高さ分布を求めることができる。なお、逆に、被測定物体Ｓを画像計測カメラ１に対してＹ軸方向に少しずつ移動させるようにしても良い。
【０１２０】
例えば、被測定物体Ｓとして人体を測定すれば、ボディラインスキャンを行うことができる。具体的には、図１にて破線にて示すように、移動枠５を被測定物体Ｓである人体を３６０°囲むように円周状に延びた構成とする。画像計測カメラ１を、移動枠５に沿って移動させながら、すなわち、Ｙ軸方向に移動させながら、繰り返し測定を行えば、人体Ｓの全周における形状を計測することができる。
【０１２１】
本実施形態のビジョンセンサー３では、各構成要素を全てＣＭＯＳプロセスによって作成し、ｎ―ＭＯＳ及びｐ―ＭＯＳを混在させて作成するため、消費電力を大幅に減少できる。また、受光部４と演算部６とを同一のプロセスで作成できるため、小型化が可能で、製造コストを抑えることができる。例えば、受光部４と演算部６とを含めたビジョンセンサー３自体を１チップ化することも可能である。さらに、光検出部４の光検出器アレイ１１を高集積化することができるため、解像度を高めることができる。
【０１２２】
また、本実施形態では、光検出部４の演算部６への転送速度は、Ａ／Ｄ変換器２１０におけるＡ／Ｄ変換処理速度によって決まる。ここで、Ａ／Ｄ変換器２１０における１画素（１受光素子１２０）あたりのＡ／Ｄ変換速度は、１ビットあたり約１マイクロ秒となる。例えば、入力アナログ信号を８ビット（１２８階調）でデジタル変換する場合であって、１行内の受光素子１２０の個数ｎが１２８である場合には、全１２８個の受光素子１２０からの出力信号をデジタル変換するのに必要な時間は、８マイクロ秒ｘ１２８＝約１ミリ秒となる。従って、光検出部４は、被測定物体Ｓからのラインパターン光の画像データを、約１０００フレーム／秒という高速フレームレートにて演算部６に転送することができる。
【０１２３】
しかも、ビジョンセンサー３には演算部６が設けられている。したがって、ビジョンセンサー３は、ｎｘｎ個の画像データではなく、座標計測結果を外部コンピュータに出力する。したがって、コンピュータに複雑な重心演算を行わせる必要がなくなり、データの演算にかかる時間を短縮化することができる。
【０１２４】
さらに、本実施の形態では、ノイズ除去回路２０によりノイズが除去されたデジタル信号が０次モーメント演算器１６及び１次モーメント演算器１７に供給されるので、０次モーメント及び１次モーメントを高精度で演算することができる。したがって、ラインパターン光の重心位置を高精度で演算することができ、被測定物体の３次元情報を高精度で求めることができる。
【０１２５】
以上のように、本実施形態の画像計測カメラ１では、２次元画像を高速で取り込んで処理しているため、外部に出力するのは単純なデータ（３次元座標データ）であるものの、センサー３内部では、２次元の情報をフルに活用してノイズ除去を行い精度の高い計測を可能としている。
【０１２６】
以上の構成を有する本実施形態の画像計測カメラ１は、以下のように動作する。
【０１２７】
投光器２は、図１，２に示すように、被測定物体Ｓに対し、Ｘ軸方向に延びるラインパターン光を投光している。ビジョンセンサー３には、被測定物体Ｓで反射したラインパターン光が入射する。したがって、入射したラインパターン光の重心のＹ軸方向の位置を各ｘ位置毎に検出することで、被測定物体の高さのＸ軸方向における分布を計測することができる。
【０１２８】
この場合、光検出器アレイ１１は、図１３に示すように、その行方向がＸ軸方向に延びるように配置される。したがって、受光したラインパターン光は、行方向に平行に延びている。このため、本実施形態の画像計測カメラ１では、各ｘ位置（各列）において、ラインパターン光のｙ方向の重心を求め、ラインパターン光のｙ方向の位置の分布を検出する。
【０１２９】
本実施形態では、光検出器アレイ１１の各行ｙでは、全受光素子１２０ｘ，ｙが、同一のＡ／Ｄ変換器２１０ｙに対して、対応するＣＭＯＳスイッチ１４０ｘ，ｙを介して接続されている。したがって、光検出器アレイ１１の行方向ｙは、当該光検出器アレイ１１のデータ転送方向である。
【０１３０】
例えば、第１の時点ｔ１において、第１列に属する全受光素子１２０ｘ，ｙ（ｘ＝１，ｙ＝１〜１２８）のＣＭＯＳスイッチ１４０ｘ，ｙが同時にオンし、出力信号がＡ／Ｄ変換器アレイ１３に転送されてデジタル変換されるとする。第１列からの信号のビット変換が終了した時点（第２の時点ｔ２＝第１の時点ｔ１より約８μｓｅｃ経過後）にて、第２列に属する全受光素子１２０ｘ，ｙ（ｘ＝２，ｙ＝１〜１２８）のＣＭＯＳスイッチ１４０ｘ，ｙが同時にオンし、出力信号がＡ／Ｄ変換器アレイ１３に転送されてデジタル変換される。こうして、第１列から第１２８列まで、約８マイクロ秒の時間間隔にて、順次、ＣＭＯＳスイッチ１４０ｘ，ｙがオンし、信号が出力されデジタル変換されていく。各タイミングでは、対応する列に所属する全１２８個の受光素子１２０からの信号が、同時に出力されデジタル変換される。
【０１３１】
第１列目から第１２８列目まで、全１２８個の列の受光素子１２０ｘ，ｙからの光電出力がＡ／Ｄ変換器アレイ１３に出力されると、１フレームの画像の取り込み／転送が終了し、次のフレームの画像の取り込み／転送が開始される。
【０１３２】
第２のフレームの第１の時点（第１のフレームの第１の時点ｔ１から約１ミリ秒（＝約８マイクロ秒ｘ１２８）経過後）で、第１列に属する受光素子１２０ｘ，ｙ（ｘ＝１，ｙ＝１〜１２８）のＣＭＯＳスイッチ１４０ｘ，ｙが同時にオンし、出力信号がＡ／Ｄ変換器アレイ１３に転送されてデジタル変換される。次に、約８マイクロ秒経過後の第２の時点で、第２列に属する受光素子１２０ｘ，ｙ（ｘ＝２，ｙ＝１〜１２８）のＣＭＯＳスイッチ１４０ｘ，ｙが同時にオンし、出力信号がＡ／Ｄ変換器アレイ１３に転送されてデジタル変換される。
【０１３３】
各列の受光素子１２０ｘ，ｙは、スイッチ素子１４０ｘ，ｙが前回のフレームにおいてオンになった後今回のフレームにおいて再びオンとなるまでの間に光電変換素子１３０ｘ，ｙに蓄積された電荷を出力信号として出力する。例えば、第２フレームにおいては、第１列の全受光素子１２０ｘ，ｙ（ｘ＝１，ｙ＝１〜１２８）は、第１フレームの第１の時点ｔ１からの約１ミリ秒間に蓄積された電荷を示す信号を出力する。第２列の全受光素子１２０ｘ，ｙ（ｘ＝２，ｙ＝１〜１２８）は、第１フレームの第２の時点ｔ２（第１フレームの第２の時点ｔ２から約８マイクロ秒経過後）からの約１ミリ秒間に蓄積された電荷の量を示す信号を出力する。
【０１３４】
このようにして、第１列〜第１２８列の受光素子１２０は、互いに約８マイクロ秒ずつずれた時間に蓄積された電荷量を、互いに約８マイクロ秒ずつずれた時刻に信号として出力する。各列に属する全１２８個の受光素子１２０は、互いに同一の時間に蓄積された電荷量を、互いに同一の時刻に信号として出力する。
【０１３５】
Ａ／Ｄ変換器アレイ１３は、このように互いに同時刻に受光・蓄積された１つの列内の全１２８個の受光素子１２０の画像信号を同時にデジタル変換する。転送スイッチアレイ１４は、かかる１つの列内の全１２８個の受光素子１２０の画像信号のデジタル信号を、順次、０次モーメント演算器１６及び１次モーメント演算器１７に転送する。０次モーメント演算器１６及び１次モーメント演算器１７は、互いに同時刻に受光・蓄積された１つの列内の全１２８個の受光素子１２０の画像信号に基づくデジタル信号を積算して、当該１つの列における０次、１次モーメントを演算する。重心演算器１８は、これら０次、１次モーメントに基づいて、当該１つの列における重心位置を求める。座標変換器２１は、当該重心位置に基づいて、当該１つの列に対応する被測定物体１上の高さを求める。
【０１３６】
このように、本実施の形態によれば、各列（ｘ方向位置）におけるｙ方向重心位置を、同時性を担保したデータに基づいて求める。したがって、各列（ｘ方向位置）におけるラインパターン光のｙ方向における位置を高精度に求めることができる。
【０１３７】
たとえ被測定物体Ｓの位置が計測中にわずかに変動し、被測定物体Ｓからの反射ラインパターン光の位置が時間的に変動したとしても、各列におけるｙ方向重心位置は、あくまで、同一時刻に得られたデータに基づいて求めるため、各列における高さを高精度に求めることができる。
【０１３８】
これに対して、例えば、図１４に示す比較例のように、投光器２が投光するラインパターン光がＹ軸に平行である場合を考える。この場合には、ラインパターン光は、光検出器アレイ１１の転送方向と垂直となる。この場合には、各ｙ方向位置（各行）毎に、ラインパターン光のｘ方向における重心を求めなければならない。
【０１３９】
この場合、１つの行におけるラインパターン光のｘ方向の重心位置を求めるためには、当該行に属する全１２８個の受光素子１２０ｘ，ｙ（ｘ＝１〜１２８）の出力信号のデジタル信号に基づいて０次、１次モーメントを演算しなければならない。ここで、かかる全１２８個の受光素子１２０ｘ，ｙ（ｘ＝１〜１２８）は、第１列〜第１２８列に属しているため、その出力信号は、互いに異なる時刻に受光・蓄積した電荷量を示している。すなわち、全１２８個の受光素子１２０ｘ，ｙ（ｘ＝１〜１２８）の出力信号は、互いに約８マイクロ秒ずつずれたタイミングで得られたものである。このため、０次、１次モーメントを、互いに異なる時刻に受光・蓄積した電荷量に基づく信号を積分して求めなければならない。
【０１４０】
このように、比較例では、各行（ｙ方向位置）のｘ方向重心位置を、互いに異なる時刻に得られたデータに基づいて求めなければならない。したがって、各行（ｙ方向位置）のｘ方向重心位置を高精度に求めることができない。特に、被測定物体Ｓの位置が計測中に変動する場合には、被測定物体Ｓから反射されたラインパターン光の時間的なずれの影響により、ｘ方向重心位置の演算結果に誤差が生じてしまう。
【０１４１】
本実施の形態では、図１３に示すように、光検出器アレイ１１を、その行方向がラインパターン光と略平行となるように配置し、各列においてｙ方向の重心位置を求めるようにしたので、各列のｙ方向位置を同時性を担保したデータに基づき高精度に求めることができる。たとえ被測定物体Ｓが計測中に移動しても、当該被測定物体Ｓの各列位置における高さ（３次元）情報を高精度で求めることができる。
【０１４２】
さらに、本実施の形態では、光検出器アレイ１１の各行に属する全１２８個の受光素子１２０が、対応する１つのＡ／Ｄ変換器２１０に接続されている。互いに異なる行に属する受光素子１２０は互いに異なるＡ／Ｄ変換器２１０に接続されている。したがって、各列に属する全１２８個の受光素子１２０の出力信号は、同時にＡ／Ｄ変換されて、転送スイッチアレイ１４へ供給される。転送スイッチアレイ１４は、こうして受け取った１つの列に属する全受光素子１２０からの出力信号に相当するデジタル信号を、順番に、ノイズ除去回路２０を介して、０次モーメント演算器１６や１次モーメント演算器１７に供給する。０次モーメント演算器１６は、１つの列について連続的にデジタル信号を受け取り、これらを順次足していくことによりｙ方向の０次モーメントを演算する。同様に、１次モーメント演算器１７も、１つの列について連続的にデジタル信号を受け取り、これらに対して順次増大していくｙ方向座標値を掛けながら足していくことで、ｙ方向の１次モーメントを演算する。したがって、本実施の形態によれば、ｙ方向の０次、１次モーメントを演算するにあたり、受け取ったデジタル信号を単純に順次積分していけばよいため、デジタル信号を格納する必要がない。
【０１４３】
これに対して、図１４に示す比較例の場合には、０次モーメント演算器１６及び１次モーメント演算器１７は、第１列〜第１２８列の全ての列の受光素子１２０の出力信号に相当するデジタル信号を受け取ってからでなければ、ｘ方向の０次モーメントや１次モーメントの最終的な値を求めることができない。したがって、モーメント演算を行うためには、光検出器アレイ１１の全１２８列の出力信号に相当するデジタル信号を１画面分格納しておくメモリが必要となり、処理も複雑化する。
【０１４４】
本実施の形態では、光検出器アレイ１１を、その行方向（転送方向）をラインパターン光と略平行としたので、かかるメモリが不要となり、処理も単純化されている。
【０１４５】
なお、ノイズ除去回路２０からの画像データを、原画像として、直接、外部装置に出力するようにしても良い。外部コンピュータが、座標変換器２１からの３次元座標データと原画像データとを組み合わせて表示することができる。
【０１４６】
（第２の実施の形態）
【０１４７】
本発明の第２の実施の形態による画像計測カメラ１について図１５に基づき説明する。
【０１４８】
本実施の形態では、ノイズ除去回路２０は、図１５に示すように、ラインパターン形状判断回路４５０と遅延回路４６０とからなる。なお、本実施の形態の画像計測カメラ１は、ノイズ除去回路２０を除き、同一である。
【０１４９】
遅延回路４６０は、８ビットｘ所定画素数分のデジタル信号を保持するバッファからなる。遅延回路４６０は、転送スイッチアレイ１４からの８ビット転送用信号線３５０に接続されている。ここで、所定画素数は、光検出器アレイ１１によって受光されるラインパターン光のｙ方向の幅に対応する受光素子１２０の個数である。例えば、投光器２より投光され被測定物体により反射されレンズ１０ａを介して光検出器アレイ１１に受光されるラインパターン光の幅が受光素子５個分の幅を有している場合には、遅延回路４６０は、８ｘ５ビットのデジタル信号を保持するバッファで構成される。
【０１５０】
ラインパターン形状判断回路４５０は、第１の比較器４５２とカウンター４５４と第２の比較器４５６とからなる。
【０１５１】
第１の比較器４５２の入力端子は、転送スイッチアレイ１４からの信号線３５０に接続されている。第１の比較器４５２の他の入力端子には、所定の第２のしきい値が入力されている。当該第２のしきい値は、受光されるラインパターン光の強度の最小値である。第２のしきい値は、投光器２から投光されているラインパターン光の光強度、及び、被測定物体の反射率に基づいて、予め定められる。第１の比較器４５２は、転送スイッチアレイ１４から入力された８ビットデジタル信号を第２のしきい値と比較し、８ビットデジタル信号が第２のしきい値より大きい場合に、１を出力する。８ビットデジタル信号が第２のしきい値以下の場合には、０を出力する。
【０１５２】
第１の比較器４５２の出力端子が、カウンター４５４に接続されている。カウンター４５４は、第１の比較器４５２から１が連続して出力される回数をカウントするためのものである。具体的には、カウンター４５４は、比較器４５２より１を受け取ると、カウント結果を１インクリメントする。一方、比較器４５６より０を受け取ると、カウント結果を初期値０に戻す。そして、カウンター４５４は、カウント結果を出力する。
【０１５３】
カウンター４５４の出力端子が第２の比較器４５６の入力端子に接続されている。第２の比較器４５６の他の出力端子には、所定画素数（この場合、５）が入力されている。第２の比較器４５６の出力端子は、０次モーメント演算器１６と１次モーメント演算器１７とに接続されている。第２の比較器４５６は、カウンター４５４のカウント結果を、所定画素数（この場合、５）と比較して、該カウンター４５４のカウント結果が所定画素数より大きい時に、イネーブル信号を出力する。
【０１５４】
転送スイッチアレイ１４がノイズ除去回路２０に対しある列ｘ内の１つの画素（ｘ、ｙ）からの８ビットデジタル信号Ｄ（ｘ、ｙ）を転送すると、遅延回路４６０とラインパターン形状判断回路４５０の両方が、同時に、当該デジタル信号を受け取る。ラインパターン形状判断回路４５０では、第１の比較器４５２が当該８ビットデジタル信号を所定の第２のしきい値と比較する。デジタル信号が第２のしきい値より大きい場合、当該画素がラインパターン光を受光していると判断することができる。この時、第１の比較器４５２は、（１）を出力する。デジタル信号が第２のしきい値以下の場合には、第１の比較器４５２は（０）を出力する。カウンター４５４が、第１の比較器４５２の出力結果に応じてカウントを行う。すなわち、第１の比較器４５２が（１）を出力したら、１インクリメントし、（０）を出力したら、０に初期化する。第２の比較器４５６が、カウンター４５４のカウント結果を所定画素数と比較し、カウント結果が所定画素数より大きくなったら、イネーブル信号を出力する。
【０１５５】
遅延回路４６０は、ラインパターン形状判断回路４５０が上記処理を行っている間、当該デジタル信号Ｄ（ｘ、ｙ）を保持する。
【０１５６】
転送スイッチアレイ１４がノイズ除去回路２０に対し、次の画素（ｘ、ｙ＋１）からの８ビットデジタル信号Ｄ（ｘ、ｙ＋１）を転送すると、先程と同様に、遅延回路４６０とラインパターン形状判断回路４５０の両方が、当該デジタル信号を受け取る。遅延回路４６０は、前回転送された８ビットデジタル信号と共に、今回受け取った８ビットデジタル信号を保持する。ラインパターン形状判断回路４５０が、今回のデジタル信号について、上記と同様の処理を行う。
【０１５７】
転送スイッチアレイ１４が順次８ビットデジタル信号を転送していくにつれ、遅延回路４６０とラインパターン形状判断回路４５０とは、同様の処理を繰り返す。転送スイッチアレイ１４が所定画素数の８ビットデジタル信号を転送した後、次の画素のデジタル信号を転送すると、遅延回路４６０は、保持している所定画素数のデジタル信号のうち、最も古く受け取った画素のデジタル信号を捨てて、今回受け取ったデジタル信号を保持する。こうして、遅延回路４６０は、常に、転送スイッチアレイ１４から順次転送されてきた最新の連続する所定画素数のデジタル信号を保持する。
【０１５８】
ラインパターン形状判断回路４５０では、第２のしきい値より大きなデジタル信号を連続して所定画素数より大きな回数受け取ると、カウンター４５４のカウント結果が所定画素数より大きくなる。したがって、比較器４５６が、０次モーメント演算器１６及び１次モーメント演算器１７に対して、イネーブル信号を出力する。
【０１５９】
０次モーメント演算器１６と１次モーメント演算器１７とは、それぞれ、イネーブル信号を受信したタイミングで、遅延回路４６０に現在保持されている所定画素数の連続したデジタル信号を順次受け取り、これらに基づいて１次モーメントと０次モーメントとを演算する。
【０１６０】
なお、次の列のデジタル信号が転送されてくる前に、カウンタ４５４は、初期化される。
【０１６１】
以上より、本実施の形態によれば、０次モーメント演算器１６と１次モーメント演算器１７とは、各列ｘについて、全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を積算して１次モーメントと０次モーメントとを演算するのではなく、ラインパターン光を受光していると判断された所定個数（この場合、５個）の受光素子１２０の出力信号に相当するデジタル信号のみを積算して１次モーメントと０次モーメントとを演算する。ラインパターン光が受光されていない受光素子１２０からのデジタル信号を演算に含めないようにすることで、迷光スポット等のノイズを演算に含ませてしまうことを防止でき、ノイズを確実に除去することができる。しかも、演算処理が簡単・高速化される。
【０１６２】
なお、ラインパターン光の幅は通常２〜５受光素子分となるようにすることが好ましく、このため、所定画素数としては、２〜５が最適である。
【０１６３】
以上のように、本実施の形態によれば、第１の比較器４５２が、転送スイッチアレイ１４から順次転送されてくる各列ｘに属するｎ個の受光素子１２０からの出力信号に相当するデジタル信号を、所定のしきい値と比較し、該所定のしきい値より大きいときに所定の比較結果（１）を出力する。カウンター４５４が、第１の比較器４５２から所定の比較結果（１）が連続して出力される回数をカウントする。第２の比較器４５６が、カウンター４５４がカウントした回数を所定回数と比較して、カウンター４５４がカウントした回数が所定回数より大きい時に制御信号（イネーブル信号）を出力する。遅延回路４６０が、転送スイッチアレイ１４から順次転送されてくる所定個数の受光素子１２０からの出力信号に相当するデジタル信号を保持する。０次モーメント演算器１６と１次モーメント演算器１７とは、各列ｘについて、制御信号（イネーブル信号）を受信したタイミングで、遅延回路４６０に保持されている所定個数のデジタル信号に基づいて、それぞれ、１次モーメントと０次モーメントとを演算する。
【０１６４】
１つの列について、所定のしきい値より大きいデジタル信号が連続して所定回数より多くの回数出力された場合には、これらデジタル信号を出力した所定個数より多くの連続した受光素子１２０が所定の幅を有するラインパターン光を受光していることがわかる。そこで、第２の比較器４５６は、制御信号を出力する。ここで、遅延回路４６０は、１つの受光素子からの出力信号に相当するデジタル信号を受け取ると、少なくとも、その後連続して所定個数の受光素子からの出力信号に相当するデジタル信号を受け取るまで、当該１つの受光素子からの出力信号に相当するデジタル信号を保持する。したがって、１つの列について、所定のしきい値より大きいデジタル信号が連続して所定回数より多くの回数出力された場合には、遅延回路４６０は、少なくとも、当該連続して出力された所定個数のデジタル信号を保持している。０次、１次モーメント演算器１６，１７は、制御信号に応答して、遅延回路４６０に保持されている当該連続して出力された所定個数のデジタル信号を演算して、０次、１次モーメントを求める。このため、０次、１次モーメント演算器１６，１７は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うため、迷光等のノイズを誤って演算してしまうことを防止でき、ノイズが除去された０次、１次モーメントを演算することができる。
【０１６５】
以上のように、本実施形態の画像計測カメラ１では、２次元画像を高速で取り込んで処理しているため、外部に出力するのは単純なデータ（３次元座標データ）であるものの、センサー３内部では、２次元の情報をフルに活用してラインパターン光以外の迷光等を測定しないようにすることにより精度の高い計測を可能としている。
【０１６６】
（第３の実施の形態）
【０１６７】
本発明の第３の実施の形態による画像計測カメラ１について図１６に基づき説明する。
【０１６８】
本実施の形態では、図１６に示すように、ノイズ除去回路２０は、最大値位置検出回路５００と遅延回路５２０とから構成されている。本実施形態の画像計測カメラ１も、ノイズ除去回路２０を除き、第１の実施の形態の画像計測カメラ１と同一である。
【０１６９】
遅延回路５２０は、８ビット・１列ｘの全画素数（ｎ個）分の８ビットデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を保持するためのものである。遅延回路５２０は、転送スイッチアレイ１４からの信号線３５０に接続されている。遅延回路５２０は、また、０次モーメント演算器１６と１次モーメント演算器１７とに接続されている。
【０１７０】
最大位置検出回路５００は、Ａラッチ５０２と、Ｂラッチ５０４と、比較器５０６と、カウンタ５０８と、カウントラッチ回路５１０とからなる。Ａラッチ５０２は、転送スイッチアレイ１４からの信号線３５０に接続されており、転送スイッチアレイ１４から転送されてくる１画素の８ビットデジタル信号を格納する。Ｂラッチ５０４は、当初、８ビットのデジタル信号（００００００００）を格納している。Ａラッチ５０２とＢラッチ５０４とが、比較器５０６の入力端子に接続されている。比較器５０６は、Ａラッチ５０２に格納されているデジタル信号とＢラッチ５０４に格納されているデジタル信号とを比較する。比較器５０６の出力端子が、カウンタ５０８及びカウントラッチ回路５１０に接続されている。カウンタ５０８及びカウントラッチ回路５１０は、当初、０を格納している。カウントラッチ回路５１０は、０次モーメント演算器１６と１次モーメント演算器１７とに接続されている。
【０１７１】
比較器５０６は、Ａラッチ５０２に８ビットのデジタル信号が１個入力するたびに、比較動作を行う。そして、比較動作を行うたびに、カウンタ５０８を１インクリメントして、今回の比較動作が何番目に転送されてきたデジタル信号に対して行われたのかを示す。比較動作の結果、Ａラッチ５０２に格納されているデジタル信号の方がＢラッチ５０４に格納されているデジタル信号より大きいことが判明した場合には、比較器５０６は、カウントラッチ回路５１０に対し、カウンタ５０８の現在のカウント結果をラッチさせる。この結果、カウントラッチ回路５１０は、Ａラッチ５０２に現在格納されておりＢラッチ５０４のデジタル信号より大きいことが判明したデジタル信号が何番目に転送されてきたかを示す値を格納する。Ａラッチ５０２に格納されているデジタル信号の方がＢラッチ５０４に格納されているデジタル信号より大きいことが判明した場合には、比較器５０６は、さらに、Ｂラッチ５０４に格納されているデジタル信号を、Ａラッチ５０２に格納されているデジタル信号に置き換える。一方、Ａラッチ５０２に格納されているデジタル信号がＢラッチ５０４に格納されているデジタル信号以下である場合には、比較器５０６は、カウントラッチ回路５１０を動作させないし、Ｂラッチ５０４に格納されているデジタル信号を変更しない。
【０１７２】
したがって、転送スイッチアレイ１４が８ビットデジタル信号を順次Ａラッチ５０２に転送するにつれ、Ｂラッチ５０４には、常に、それまでに転送されてきたデジタル信号のうち最大のものが格納される。そして、次に転送されてくるデジタル信号と比較される。カウントラッチ回路５１０は、それまでに転送されてきたデジタル信号のうち最大のものが何番目のデジタル信号であったかを示す値を格納している。
【０１７３】
転送スイッチアレイ１４が、１列ｘの全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）をＡラッチ５０２に転送し終わった際には、遅延回路５２０は、全ｎ個のデジタル信号を保持している。また、カウントラッチ回路５１０は、全ｎ個のデジタル信号のうち最大のものが何番目であったかを示す値、すなわち、最大値を出力した受光素子１２０のｙ方向の位置情報を格納している。そこで、転送スイッチアレイ１４が１列の全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を転送し終わると、カウントラッチ回路５１０は、その際に格納されている値ｙを中心に含み連続する５個の値（ｙ−２，ｙ−１，ｙ、ｙ＋１，ｙ＋２）に対応するデジタル信号Ｄ（ｘ、ｙ−２）、Ｄ（ｘ，ｙ−１）、Ｄ（ｘ，ｙ）、Ｄ（ｘ、ｙ＋１），Ｄ（ｘ、ｙ＋２）に基づいて演算を行う旨の指示を示すイネーブル信号を、０次モーメント演算器１６及び１次モーメント演算器１７に出力する。
【０１７４】
次の列（ｘ＋１）のデジタル信号が転送されてくる前に、Ｂラッチ５０４は、初期化されてデジタル信号（００００００００）を格納する。カウンタ５０８とカウントラッチ回路５１０も初期化され、値０を格納する。
【０１７５】
このように、最大値位置検出回路５００は、１つの列の全ｎ個の８ビットデジタル信号が転送スイッチアレイ１４から順次転送されてくると、これらのうちの最大の値を有するデジタル信号を検出し、当該最大値を有するデジタル信号が何番目に転送されてきたかを検出する。この番号が、当該列における全ｎ個の画素のうち、最大の出力信号を出力した画素の列方向（ｙ方向）の座標位置を示す。最大値位置検出回路５００は、最大値信号を出力した画素を中心として連続する５個の画素からの出力信号に相当するデジタル信号に基づいて演算を行う旨の指示を示すイネーブル信号を、０次モーメント演算器１６と１次モーメント演算器１７とに出力する。
【０１７６】
０次モーメント演算器１６と１次モーメント演算器１７とは、１つの列について、最大値位置検出回路５００よりイネーブル信号を受け取ると、当該イネーブル信号が示す当該列における最大値を出力した素子を中心として連続する５個の素子１２０からの出力信号に相当するデジタル信号を、遅延回路５２０より受けとり、１次モーメントと０次モーメントとを演算する。
【０１７７】
レーザ等からなる投光器２からのラインパターン光は、通常、ガウシアンビーム形状をしているため、強度が最大である位置の素子を中心としてビームの幅分の個数の連続した受光素子１２０からのデジタル信号に基づいて演算を行えば、ラインパターン光を受光している素子１２０からの信号に基づいた演算を行うことができる。
【０１７８】
したがって、本実施の形態においても、各列について全ｎ個のデジタル信号に基づいて１次モーメントと０次モーメントを演算する必要がなく、ラインパターン光の略中心を受光していると判断できる最大値を出力している画素と当該画素を中心として連続する所定数（この場合、５個）の画素の出力信号に相当するデジタル信号のみについて１次モーメントと０次モーメントを演算する。このため、ラインパターン光を受光していない受光素子１２０からのデジタル信号を演算に含めないでよいため、ノイズを除去することができる。しかも、演算処理が簡単・高速化される。
【０１７９】
以上のように、本実施の形態によれば、遅延回路５２０が、転送スイッチアレイ１４から順次転送されてくる各列ｘに属するｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号に相当するデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を保持する。最大値位置検出器５００が、転送スイッチアレイ１４から順次転送されてくる各列ｘに属するｎ個の受光素子１２０ｘ、１〜１２０ｘ、ｎからの出力信号に相当するデジタル信号のうち、その値が最大である受光素子の列方向の位置についての位置情報ｙを含む制御信号を出力する。０次モーメント演算器１６と１次モーメント演算器１７とは、各列ｘについて、最大位置検出器５００から出力された位置情報を含む制御信号に基づいて、該最大値が得られた受光素子１２０ｘ、ｙを略中心に含みその列方向に連続する所定個数（この場合５個）の受光素子１２０ｘ、ｙ―２、１２０ｘ、ｙ―１、１２０ｘ、ｙ、１２０ｘ、ｙ＋１、１２０ｘ、ｙ＋２から得られた信号Ｄに基づくデジタル信号Ｄ（ｘ、ｙ−２）、Ｄ（ｘ，ｙ−１）、Ｄ（ｘ，ｙ）、Ｄ（ｘ、ｙ＋１），Ｄ（ｘ、ｙ＋２）に基づいて、それぞれ、０次モーメントと１次モーメントとを演算する。このように、０次、１次モーメント演算器１６，１７は、遅延回路５２０に保持されている１つの列に所属する全受光素子からの出力信号に相当するデジタル信号のうち、最大値を有するデジタル信号を出力した受光素子を略中心に含む連続した所定個数の受光素子からの出力信号に相当するデジタル信号に対して演算を行い、０次、１次モーメントを求める。したがって、０次、１次モーメント演算器は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うため、ノイズが除去された０次、１次モーメントを演算することができる。
【０１８０】
本実施形態の画像計測カメラ１では、２次元画像を高速で取り込んで処理しているため、外部に出力するのは単純なデータ（３次元座標データ）であるものの、センサー３内部では、２次元の情報をフルに活用してラインパターン光以外の迷光等を測定しないようにすることにより精度の高い計測を可能としている。
【０１８１】
（第４の実施の形態）
【０１８２】
本発明の第４の実施の形態による画像計測カメラ１について図１７乃至図２０に基づき説明する。
【０１８３】
本実施の形態では、図１７に示すように、投光器２が複数本（この場合、３本）のラインパターン光を、同時に、被測定物体のＹ軸方向の互いに異なる位置に投光する。
【０１８４】
本実施の形態では、ノイズ除去回路２０は、図１８に示すように、遅延回路６２０とスムージング回路６３０と極大値判断回路６４０とからなる。なお、本実施の形態の画像計測カメラ１は、投光器２が複数本のラインパターン光を投光していること、及び、ノイズ除去回路２０を除き、第１の実施の形態の画像計測カメラ１と同一である。
【０１８５】
ここで、遅延回路６２０とスムージング回路６３０との両方が、転送スイッチアレイ１４からの信号線３５０に接続されており、それぞれが、転送スイッチアレイ１４から転送されてくる８ビットのデジタル信号を受け取るようになっている。極大値判断回路６４０は、スムージング回路６３０に接続されている。
【０１８６】
遅延回路６２０は、８ビットｘ所定画素数分のデジタル信号を保持するバッファからなる。ここで、所定画素数は、光検出器アレイ１１によって受光される各ラインパターン光のｙ方向の幅に対応する受光素子１２０の個数である。例えば、被測定物体により反射され光検出器アレイ１１に受光されるラインパターン光の幅が受光素子５個分の幅を有している場合には、遅延回路６２０は、８ｘ５ビットのデジタル信号を保持するバッファから構成される。遅延回路６２０は、０次モーメント演算器１６及び１次モーメント演算器１７に接続されている。
【０１８７】
スムージング回路６３０は、転送スイッチアレイ１４より１列中で順次連続して転送されてくる３個の８ビットデジタル信号に基づきスムージング処理を行い、スムージングされたデジタル信号を出力するための回路である。
【０１８８】
スムージング回路６３０は、例えば、図１９に示すように、Ａラッチ６３１，Ｂラッチ６３２，Ｃラッチ６３３と、１ビット左シフト器６３４と、加算器６３５と、２ビット右シフト器６３６とからなる。Ｃラッチ６３３は、転送スイッチアレイ１４に接続されている。Ｂラッチ６３２は、Ｃラッチ６３３に接続されている。Ａラッチ６３１は、Ｂラッチ６３２に接続されている。
【０１８９】
１個の８ビットデジタル信号Ｄ（ｘ、ｙ―１）が転送スイッチアレイ１４より転送されてくると、当該デジタル信号は、まず、Ｃラッチ６３３に格納される。次の８ビットデジタル信号Ｄ（ｘ、ｙ）が転送スイッチアレイ１４より転送されてくると、最初の８ビットデジタル信号Ｄ（ｘ、ｙ―１）は、Ｃラッチ６３３よりＢラッチ６３２に転送され、今回の８ビットデジタル信号Ｄ（ｘ、ｙ）がＣラッチ６３３に格納される。更に次の８ビットデジタル信号Ｄ（ｘ、ｙ＋１）が転送スイッチアレイ１４より転送されてくると、最初の８ビットデジタル信号Ｄ（ｘ、ｙ−１）はＡラッチ６３１に転送され、次の８ビットデジタル信号Ｄ（ｘ、ｙ）はＢラッチ６３２に転送され、最後の８ビットデジタル信号Ｄ（ｘ、ｙ＋１）がＣラッチ６３３に格納される。こうして、順次転送されてくる３つのデジタル信号Ｄ（ｘ、ｙ−１）、Ｄ（ｘ、ｙ）、Ｄ（ｘ、ｙ＋１）が、Ａラッチ６３１、Ｂラッチ６３２、及び、Ｃラッチ６３３にそれぞれ格納される。
【０１９０】
１ビット左シフト器６３４は、Ｂラッチ６３２に接続されており、Ｂラッチ６３２に格納されているデジタル信号Ｄ（ｘ、ｙ）に２を掛ける。
【０１９１】
加算器６３５は、Ａラッチ６３１、１ビット左シフト器６３４、及び、Ｃラッチ６３３に接続されている。加算器６３５は、Ａラッチ６３１からのＤ（ｘ、ｙ−１）と、１ビット左シフト器６３４からの２・Ｄ（ｘ、ｙ）と、Ｃラッチ６３３からのＤ（ｘ、ｙ＋１）とを足し合わせる。
【０１９２】
２ビット右シフト器６３６は、加算器６３５に接続されており、加算器６３５の結果である｛Ｄ（ｘ、ｙ−１）＋２・Ｄ（ｘ、ｙ）＋Ｄ（ｘ、ｙ＋１）｝を４で割る。２ビット右シフト器６３６は、割り算結果である｛Ｄ（ｘ、ｙ−１）＋２・Ｄ（ｘ、ｙ）＋Ｄ（ｘ、ｙ＋１）｝／４を、スムージング画像Ｄ‘（ｘ、ｙ）として、極大値判断回路６４０に出力する。
【０１９３】
次のデジタル信号Ｄ（ｘ、ｙ＋２）が転送スイッチアレイ１４から転送されてくると、Ａラッチ６３１、Ｂラッチ６３２，及び、Ｃラッチ６３３には、それぞれ、Ｄ（ｘ、ｙ）、Ｄ（ｘ、ｙ＋１）、Ｄ（ｘ、ｙ＋２）が格納され、スムージング画像Ｄ‘（ｘ、ｙ＋１）（＝｛Ｄ（ｘ、ｙ）＋２・Ｄ（ｘ、ｙ＋１）＋Ｄ（ｘ、ｙ＋２）｝／４）が求められる。
【０１９４】
このようにして、転送スイッチアレイ１４よりデジタル信号が順次転送されてくるたびに、スムージング画像が演算され、順次出力される。
【０１９５】
転送スイッチアレイ１４が、１つの列に属する全ｎ個のデジタル信号の転送を終了し、スムージング回路６３０が当該列についてのスムージング画像の演算と出力を終了すると、スムージング回路６３０は、次の列についてのデジタル信号の転送を待って、次の列のスムージング画像の演算を開始する。
【０１９６】
極大値判断回路６４０は、スムージング回路６３０から順次連続して出力される３個のスムージング画像データ（８ビットデジタル信号）に基づき極大ピークを検出するための回路である。この例では、３本のラインパターンを投光しているため、極大位置検出回路６４０は、各列について計３個の極大ピークを検出することになる。
【０１９７】
極大値判断回路６４０は、例えば、図２０に示すように、Ａラッチ６４１，Ｂラッチ６４２，Ｃラッチ６４３と、演算器６４４と、演算器６４５と、比較器６４６と、比較器６４７と、アンド回路６４８とからなる。Ｃラッチ６４３は、スムージング回路６３０の２ビット右シフト器６３６に接続されている。Ｂラッチ６４２は、Ｃラッチ６４３に接続されている。Ａラッチ６４１は、Ｂラッチ６４２に接続されている。
【０１９８】
８ビットスムージングデジタル信号Ｄ‘（ｘ、ｙ−１）がスムージング回路６３０の２ビット右シフト器６３６より転送されてくると、当該デジタル信号Ｄ‘（ｘ、ｙ−１）は、まず、Ｃラッチ６４３に格納される。次の８ビットデジタル信号Ｄ‘（ｘ、ｙ）がスムージング回路６３０より転送されてくると、最初の８ビットデジタル信号Ｄ‘（ｘ、ｙ−１）は、Ｃラッチ６４３よりＢラッチ６４２に転送され、今回の８ビットデジタル信号Ｄ‘（ｘ、ｙ）がＣラッチ６４３に格納される。更に次の８ビットデジタル信号Ｄ‘（ｘ、ｙ＋１）がスムージング回路６３０より転送されてくると、最初の８ビットデジタル信号Ｄ‘（ｘ、ｙ−１）はＡラッチ６４１に転送され、次の８ビットデジタル信号Ｄ‘（ｘ、ｙ）はＢラッチ６４２に転送され、最後の８ビットデジタル信号Ｄ‘（ｘ、ｙ＋１）がＣラッチ６４３に格納される。こうして、順次転送されてくる３つのデジタル信号Ｄ‘（ｘ、ｙ−１）、Ｄ’（ｘ、ｙ）、Ｄ‘（ｘ、ｙ＋１）が、Ａラッチ６４１、Ｂラッチ６４２、及び、Ｃラッチ６４３にそれぞれ格納される。
【０１９９】
演算器６４４は、Ａラッチ６４１とＢラッチ６４２とに接続されており、Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ−１）を演算する。演算器６４４の出力端子が比較器６４６の１つの入力端子に接続されている。比較器６４６の他の入力端子には、しきい値０が入力されている。比較器６４６は、演算器６４４の演算結果Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ−１）をしきい値０と比較する。比較器６４６は、演算結果Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ−１）＞０の場合に、パルス１を出力する。それ以外の場合には、パルス０を出力する。
【０２００】
演算器６４５は、Ｂラッチ６４２とＣラッチ６４３とに接続されており、Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ＋１）を演算する。演算器６４５の出力端子が比較器６４７の１つの入力端子に接続されている。比較器６４７の他の入力端子には、しきい値０が入力されている。比較器６４７は、演算器６４５の演算結果Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ＋１）をしきい値０と比較し、演算結果Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ＋１）＞０の場合に、パルス１を出力する。それ以外の場合には、パルス０を出力する。
【０２０１】
比較器６４６と比較器６４７の出力端子が、それぞれ、アンド回路６４８の２つの入力端子に接続されている。アンド回路６４８は、比較器６４６と比較器６４７の比較結果のアンド結果をイネーブル信号として出力する。したがって、Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ−１）＞０であり、かつ、Ｄ’（ｘ、ｙ）―Ｄ‘（ｘ、ｙ＋１）＞０である、すなわち、（ｘ、ｙ）位置が極大ピークである場合にのみ、イネーブル信号を出力する。アンド回路６４８の出力端子は、０次モーメント演算器１６と１次モーメント演算器１７とに接続されている。したがって、アンド回路６４８は、極大ピークを検出すると、０次モーメント演算器１６と１次モーメント演算器１７とに、イネーブル信号を出力する。
【０２０２】
ここで、スムージング回路６３０と極大位置検出回路６４０とが上記処理を行い１つの画素１２０ｘ、ｙのスムージングデジタル信号Ｄ‘（ｘ、ｙ）が極大ピークか否かを判断している間、遅延回路６２０は、当該スムージングデジタル信号Ｄ’（ｘ、ｙ）に対応する元のデジタル信号Ｄ（ｘ、ｙ）を中心として連続して転送されてきた所定画素数（例えば、５）のデジタル信号Ｄ（ｘ、ｙ−２）、Ｄ（ｘ、ｙ−１）、Ｄ（ｘ、ｙ）、Ｄ（ｘ、ｙ＋１）、Ｄ（ｘ、ｙ＋２）とを保持している。イネーブル信号を受け取った０次モーメント演算器１６と１次モーメント演算器１７は、遅延回路６２０に保持されている、当該極大ピークが得られた受光素子１２０ｘ、ｙを中心として連続する全所定画素数（５個）の受光素子１２０ｘ、ｙ―２、１２０ｘ、ｙ―１、１２０ｘ、ｙ、１２０ｘ、ｙ＋１、１２０ｘ、ｙ＋２からの出力信号に相当するデジタル信号Ｄ（ｘ、ｙ−２）、Ｄ（ｘ、ｙ−１）、Ｄ（ｘ、ｙ）、Ｄ（ｘ、ｙ＋１）、Ｄ（ｘ、ｙ＋２）に基づき、それぞれ、０次モーメントと１次モーメントとを演算する。
【０２０３】
なお、スムージング回路６３０は、各列ｘの最初と最後の画素に対するデジタル信号Ｄ（ｘ、１）、Ｄ（ｘ、ｎ）に対して、スムージング画像データを作成しない。したがって、各列ｘの最初のタイミングで、Ａラッチ６４１に、デジタル信号（００００００００）が、ダミーのスムージング画像データＤ‘（ｘ、１）として入力される。また、各列ｘの最後のタイミングで、Ｃラッチ６４３に、デジタル信号（００００００００）が、ダミーのスムージング画像データＤ‘（ｘ、ｎ）として入力される。
【０２０４】
本実施の形態においても、各列ｘについて全ｎ個のデジタル信号の１次モーメントと０次モーメントを演算する必要がなく、各ラインパターン光について、その略中心を受光していると判断できる極大ピークを出力している画素と当該画素を中心として連続する所定数（この場合、５個）の画素の出力信号に相当するデジタル信号のみについて１次モーメントと０次モーメントを演算する。このため、ラインパターン光を受光していない受光素子１２０からのデジタル信号を演算に含めないでよいため、ノイズを除去することができる。しかも、演算処理が簡単・高速化される。
【０２０５】
しかも、本実施の形態では、極大値判断回路６４０はスムージング回路６３０によりスムージング処理されたデジタル信号に基づいて極大ピークを求めるため、極大値検出回路６４０が誤った極大値を検出してしまうのを防止することができる。
【０２０６】
以上のように、本実施の形態では、遅延回路６２０が、転送スイッチアレイ１４から順次転送されてくる各列ｘに属する所定個数（この場合５個）の受光素子からの出力信号に相当するデジタル信号を保持する。極大値判断回路６４０が、転送スイッチアレイ１４から順次転送されてくる各列ｘに属する全ｎ個の受光素子からの出力信号に相当するデジタル信号のうち、所定の複数個の極大値を探し、１つの極大値が見つかる度に制御信号（イネーブル信号）を出力する。０次モーメント演算器１６と１次モーメント演算器１７とが、当該列ｘについて、制御信号を受けた該所定の複数個のタイミングの各々のタイミングで、遅延回路６２０に保持されている、極大値のデジタル信号を略中心として連続した所定個数（この場合５個）のデジタル信号について、それぞれ、０次モーメントと１次モーメントとを演算する。このため、０次、１次モーメント演算器１６，１７は、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うため、ノイズが除去された０次、１次モーメントを演算することができる。しかも、複数個のラインパターン光の各重心位置を高速に求めることができる。
【０２０７】
本実施形態の画像計測カメラ１では、２次元画像を高速で取り込んで処理しているため、外部に出力するのは単純なデータ（３次元座標データ）であるものの、センサー３内部では、２次元の情報をフルに活用してラインパターン光以外の迷光等を測定しないようにすることによりマルチラインについても精度の高い計測を可能としている。
【０２０８】
（第５の実施の形態）
【０２０９】
本発明の第５の実施の形態による画像計測カメラについて図２１に基づき説明する。
【０２１０】
本実施の形態では、０次モーメント演算器１６と１次モーメント演算器１７とは、転送スイッチアレイ１４に直接接続されており、転送スイッチアレイ１４が各列ｘについての全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を転送するたびに、０次モーメント演算と１次モーメント演算とを行う。重心演算器１８は、０次モーメント演算器１６と１次モーメント演算器１７からの演算結果に基づき、各列についてのｙ方向重心Ｐ（ｘ）を演算する。
【０２１１】
また、第３の実施の形態と同様、最大値位置検出回路５００（図１６）が転送スイッチアレイ１４に直接接続されており、各列ｘについての全ｎ個のデジタル信号Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を受け取るたびに、そのうちの最大のデジタル信号が何番目のものかを検出する。本実施の形態では、最大値位置検出回路５００のカウントラッチ回路５１０は、比較器５０６が１つの列の全ｎ個のデジタル信号について比較動作を完了すると、格納されている値、すなわち、最大の信号を出力した受光素子のｙ方向の位置情報ｙ（以下、列ｘについての最大値位置ｍａｘ（ｘ）という）を出力する。
【０２１２】
本実施の形態では、第２の演算部６ｂに、比較器７００が設けられている。比較器７００は、重心演算器１８と最大値位置検出回路５００とに接続されている。比較器７００は、重心演算器１８が求めた各列におけるｙ方向重心位置Ｐ（ｘ）と、最大値位置検出回路５００が求めたｙ方向最大値位置ｍａｘ（ｘ）との差分｜Ｐ（ｘ）−ｍａｘ（ｘ）｜を演算する。比較器７００は、さらに、演算結果｜Ｐ（ｘ）−ｍａｘ（ｘ）｜を所定の許容値（例えば、受光素子１個分）と比較し、｜Ｐ（ｘ）−ｍａｘ（ｘ）｜が所定の許容値以下の場合には、重心演算器１８が演算した重心位置Ｐ（ｘ）は確からしいと判断して、当該重心位置Ｐ（ｘ）データを座標変換器２１へ出力する。一方、｜Ｐ（ｘ）−ｍａｘ（ｘ）｜が所定の許容値より大きい場合には、重心演算器１８が演算した重心位置Ｐ（ｘ）は誤っていると判断して、当該重心位置Ｐ（ｘ）データを座標変換器２１へは出力しない。なお、誤っていると判断された列ｘについての重心位置については、例えば、光検出器アレイ１１に再び受光させて計測を行う。
【０２１３】
このように、本実施の形態によれば、演算した重心位置が最大光量を示した受光素子の位置と近い場合には、演算した重心位置は正しいと判断して、座標変換器２１に出力する。一方、演算した重心位置が最大光量を示した受光素子の位置より許容限度を超えて離れている場合には、演算した重心位置は誤っていると判断して、座標変換器２１に出力しない。例えば、迷光を受光している場合には、重心演算が迷光の影響を受けるため、正しい重心位置を示さない。このため、最大値位置が重心位置からかなり離れてしまう。その場合には、演算した重心位置は誤っていると判断できるため、誤った重心位置が座標変換器２１に出力されることが防止できる。
【０２１４】
したがって、座標変換器２１には、常に、正しいと判断できる重心データのみが入力される。このため、座標変換器２１は、ノイズの少ない高精度の３次元情報を演算することができる。
【０２１５】
本実施形態の画像計測カメラ１では、２次元画像を高速で取り込んで処理しているため、外部に出力するのは単純なデータ（３次元座標データ）であるものの、センサー３内部では、２次元の情報をフルに活用して、不正確なデータを排除するための情報を生成することにより、精度の高い計測を可能としている。
【０２１６】
本発明による画像計測カメラは上述した実施の形態に限定されず、特許請求の範囲に記載した範囲で種々の変形や改良が可能である。
【０２１７】
例えば、第２の演算部６ｂをビジョンセンサー３内に設けなくてもよい。この場合には、演算部６のうち、第１の演算部６のみをビジョンセンサー３内に設ける。したがって、０次モーメント演算器１６と１次モーメント演算器１７とは、演算結果（０次、１次モーメント）を、直接、外部コンピュータに出力する。外部コンピュータが、重心演算と座標変換演算を行う。第５の実施の形態の場合には、最大値位置検出器５００が最大値位置を示す情報を外部コンピュータに出力し、外部コンピュータが比較器７００と同様の処理を行う。
【０２１８】
かかる変更例の場合でも、ビジョンセンサー３内で０次モーメント演算と１次モーメント演算を行うため、演算を高速に行うことができる。また、ビジョンセンサー３は、２次元画像を高速で取り込んで処理しているため、第１の演算部６ａが外部に出力するのは単純なデータ（０次モーメント及び１次モーメント、及び、第５の実施の形態の場合には、最大値位置を示す情報）であっても、その内部では、２次元の情報をフルに活用して、ノイズを除去したり、迷光等のノイズを演算に含めないようにしたり、不正確なデータを排除するための情報を出力することにより、精度の高い計測が可能となっている。しかも、外部コンピュータは、ビジョンセンサー３より受け取った０次モーメントと１次モーメントに基づき、重心演算の他、各種処理をおこなうことができる。
【０２１９】
前記実施の形態では、Ａ／Ｄ変換器２１０にアンプ回路２２１を含ませていたが、図２２に示すように、アンプ回路２２１をＡ／Ｄ変換器２１０とは別に設けるようにしても良い。また、Ａ／Ｄ変換器２１０やアンプ回路２２１の構成は、記載した構成に限られない。所望の動作を達成できる限り、様々な構成が可能である。
【０２２０】
各実施の形態のノイズ除去回路の構成は、記載した構成に限られない。所望の動作を達成できる限り、様々な構成が可能である。マイクロコンピュータにより構成しても良い。また、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）で構成してもよい。
【０２２１】
同様に、各実施の形態の０次、１次モーメント演算器や重心演算器、座標変換回路の構成も、記載した構成に限られない。所望の動作を達成できる限り、様々な構成が可能である。マイクロコンピュータにより構成しても良い。
【０２２２】
また、第３の実施の形態のノイズ除去回路２０を、図２３に示すように、変更しても良い。この場合、最大値位置検出回路５００は、１つの列ｘからの出力信号列Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を順次受け取っていく際、前のものより値が下がったときの信号Ｄ（ｘ、ｙ＋１）を検出し、当該信号の前の信号Ｄ（ｘ、ｙ）を最大値として、最大値を検出する。具体的には、比較器５０６の２つの入力端子５０６ａ、５０６ｂのうち、入力端子５０６ａに、１ピクセル分の遅延回路５０５が接続されている。転送スイッチアレイ１４から順次転送されてくる各出力信号Ｄ（ｘ、ｙ）が、比較器５０６の入力端子５０６ａと遅延回路５０５との両方に転送される。その結果、比較器５０６は、順次受け取る２つの連続する出力信号列Ｄ（ｘ、ｙ）及びＤ（ｘ、ｙ＋１）を比較することができる。比較器５０６は、Ｄ（ｘ、ｙ）＞Ｄ（ｘ、ｙ＋１）となった時、信号Ｄ（ｘ、ｙ）を中心として所定の画素数（例えば、５個）の信号Ｄ（ｘ、ｙ−２）、Ｄ（ｘ、ｙ−１）、Ｄ（ｘ、ｙ）、Ｄ（ｘ、ｙ＋１）、Ｄ（ｘ、ｙ＋２）に基づいてモーメントを演算するよう、モーメント演算器１６，１７に対し、イネーブル信号を出力する。
【０２２３】
この場合には、遅延回路５２０は、全ｎ個の信号を保持する必要はなく、ラインパターン光幅分（所定画素数、この場合、５個）の信号を保持するようにすれば良い。このように、ラインパターン光幅分のピクセル数の遅延を行わせ、０次、１次モーメント演算器１６，１７に対し、センサの最大値が検出されたタイミングを中心に、ラインパターン光幅分のモーメント演算を行わせれば良い。この結果、０次、１次モーメント演算器１６，１７は、遅延分を差し引いて積分を開始することができる。
【０２２４】
なお、最大値位置検出回路５００の前段に、スムージング回路６３０（図１８）を備え、出力信号列Ｄ（ｘ、ｙ）をスムージングするようにしても良い。この場合、最大値位置検出回路５００は、得られたスムージング信号Ｄ‘（ｘ、ｙ）＝｛Ｄ（ｘ、ｙ）＋２Ｄ（ｘ、ｙ）＋Ｄ（ｘ、ｙ＋１）｝／４に対して最大値を求める。したがって、ノイズを除去することができる。さらに、最大値と判断された出力信号Ｄ（ｘ、ｙ）の絶対値がある値以上である事を確認して最大値とすれば、偽りの信号を除去することもできる。
【０２２５】
もしくは、最大値位置検出回路５００は、極大値判断回路６４０（図２０）と同様、出力信号列のうち、連続した２つの出力信号Ｄ（ｘ、ｙ）とＤ（ｘ、ｙ＋１）との差Ｄ（ｘ、ｙ）―Ｄ（ｘ、ｙ＋１）と、ひとつ前の連続した２つの出力信号Ｄ（ｘ、ｙ―１）とＤ（ｘ、ｙ）との差Ｄ（ｘ、ｙ―１）―Ｄ（ｘ、ｙ）とを計算し、これらの積の符号が負となったとき、信号Ｄ（ｘ、ｙ）を最大値と判断するようにしても良い。
【０２２６】
また、図２４に示すように、遅延回路５２０の代わりに、比較器８００を設け、出力信号列Ｄ（ｘ、１）〜Ｄ（ｘ、ｎ）を順次所定のしきい値（最大ノイズ値）と比較するようにしても良い。この場合、比較器８００は、出力信号列Ｄ（ｘ、ｙ）のうち、しきい値以上である場合のみ、０次、１次モーメント演算器１６，１７に対し出力する。したがって、０次、１次モーメント演算器１６，１７は、出力信号列Ｄ（ｘ、ｙ）のうち、しきい値以上の値のみを積分しつづける。最大値位置検出回路５００は、最大値を検出したら、比較器８００にその旨を通知する。比較器８００は、通知を受け取った後、出力信号がしきい値より小さくなったところで、０次、１次モーメント演算器１６，１７に対し、モーメント演算を停止させるための制御信号を出力する。０次、１次モーメント演算器１６，１７は、それまでに積算した結果をモーメント値として出力する。その後、０次、１次モーメント演算器１６，１７のモーメント値がリセットされ、次の信号列Ｄ（ｘ＋１，１）〜Ｄ（ｘ＋１，ｎ）に対する積分が開始する。
【０２２７】
もしくは、図２５に示すように、０次、１次モーメント演算器１６，１７として、それぞれ、スリット光幅分の出力信号に対するモーメントを演算するための複数個（ｎ個）のモーメント演算器を備えるようにしても良い。すなわち、０次モーメント演算器１６として、スリット光幅分（この場合、５個分）のモーメントを演算する０次モーメント演算器１６１〜１６ｎを並列に設ける。これら０次モーメント演算器１６１〜１６ｎは、リセット時間を１画素分ずつずらされて、積算を行うように制御されている。具体的には、０次モーメント演算器１６１は、Ｄ（ｘ、１）＋Ｄ（ｘ、２）＋Ｄ（ｘ、３）＋Ｄ（ｘ、４）＋Ｄ（ｘ、５）を演算し、０次モーメント演算器１６２は、Ｄ（ｘ、２）＋Ｄ（ｘ、３）＋Ｄ（ｘ、４）＋Ｄ（ｘ、５）＋Ｄ（ｘ、６）を演算する。同様に、１次モーメント演算器１７として、スリット光幅分（この場合、５個分）のモーメントを演算する１次モーメント演算器１７１〜１７ｎを並列に設ける。これら１次モーメント演算器１７１〜１７ｎも、リセット時間を１画素分ずつずらされて、積算を行うように制御されている。具体的には、１次モーメント演算器１７１は、１・Ｄ（ｘ、１）＋２・Ｄ（ｘ、２）＋３・Ｄ（ｘ、３）＋４・Ｄ（ｘ、４）＋５・Ｄ（ｘ、５）を演算し、１次モーメント演算器１７２は、２・Ｄ（ｘ、２）＋３・Ｄ（ｘ、３）＋４・Ｄ（ｘ、４）＋５・Ｄ（ｘ、５）＋６・Ｄ（ｘ、６）を演算する。最大値位置検出回路５００は、最大値Ｄ（ｘ、ｙ）が検出された時点で、その位置（ｘ、ｙ）を中心とした積分を行っている０次モーメント演算器１６ｙ―２と１次モーメント演算器１７ｙ―２とに対し、その演算結果を出力させるようにイネーブル信号を出力すればよい。また、以上の動作を繰り返し行い、最大値が検出される毎に、対応するモーメント演算器１６ｙ―２、１７ｙ―２に対しイネーブル信号を出力すれば、マルチライン検出も可能となる。
【０２２８】
前記実施の形態では、受光素子アレイ１１において、複数の受光素子１２０は、各行ｙ毎にブロック化され、対応するＡ／Ｄ変換器２１０ｙに接続されていた。しかしながら、複数の受光素子１２０は、別の単位毎にブロック化され、対応するＡ／Ｄ変換器に接続されるようにしても良い。例えば、複数の受光素子を、各列毎にブロック化し、対応するＡ／Ｄ変換器に接続するようにしても良い。
【０２２９】
また、前記実施の形態では、ラインパターン光を、受光素子アレイ１１の転送方向（行方向）に平行になるように照射したが、図１４の比較例のように、ラインパターン光を、受光素子アレイ１１の転送方向に直交するように照射してもよい。図１４の比較例の場合、０次、１次モーメント演算器１６，１７は、１フレーム分のデータを受け取ってからでなければ最終的なモーメントを演算することはできないが、光検出器アレイ１１とＡ／Ｄ変換器アレイ１３によれば、１フレーム分のデータを約１ミリ秒という非常に短い時間で取得することができるため、モーメントを十分高速に演算することができるからである。特に、被測定物体Ｓの位置が時間的に変動しない場合には、非常に高い精度で検出を行うことができる。
【０２３０】
【発明の効果】
請求項１記載の画像計測カメラによれば、ラインパターン光の強度を示すデジタル信号の２次元情報を高速かつ高解像度にて取得し、その０次、１次モーメントを高速に演算することができる。しかも、ノイズ除去装置により０次、１次モーメントを高精度に演算することができる。
【０２３１】
請求項２記載の画像計測カメラによれば、重心位置演算装置と形状情報演算装置とを設けたので、形状情報をより高速に得ることができる。しかも、ノイズ除去装置が、演算結果からノイズを除去するので、被測定物体の形状情報を高精度に演算することができる。また、精度の高い重心演算結果にのみに基づいて形状情報が演算されるため、高精度の形状情報を得ることができる。
【０２３２】
請求項３記載の画像計測カメラによれば、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができるため、迷光等のノイズを誤って演算に含めてしてしまうことを防止でき、精度の高い０次、１次モーメントを演算することができる。
【０２３３】
請求項４記載の画像計測カメラによれば、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができるため、迷光等のノイズを誤って演算に含めてしてしまうことを防止でき、精度の高い０次、１次モーメントを演算することができる。
【０２３４】
請求項５記載の画像計測カメラによれば、ラインパターン光を受光した受光素子からの出力信号に相当するデジタル信号のみを使用して演算を行うことができるため、迷光等のノイズを誤って演算に含めてしてしまうことを防止でき、精度の高い０次、１次モーメントを演算することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態による画像計測カメラが被測定物体に対して配置された状態を示す図。
【図２】図１の被測定物体を画像計測カメラから見た図。
【図３】第１の実施形態の画像計測カメラの外観とその内部の構成を示す概略構成図。
【図４】第１の実施形態の画像計測カメラの回路構成を示すブロック図。
【図５】第１の実施形態の画像計測カメラが備える受光素子アレイ、及び、Ａ／Ｄ変換器アレイの回路構成図。
【図６】図５のＡ／Ｄ変換器が備える積分回路の詳細構成図。
【図７】第１の実施形態の画像計測カメラが備える転送スイッチアレイの回路構成図。
【図８】図７の転送スイッチアレイが備えるスイッチユニットの詳細回路構成図。
【図９】第１の実施形態の画像計測カメラが備える演算部のブロック図。
【図１０】図９の演算部が備えるノイズ除去回路の詳細回路構成図。
【図１１】図９の演算部が備える０次モーメント演算器の詳細ブロック図。
【図１２】図９の演算部が備える１次モーメント演算器の詳細ブロック図。
【図１３】第１の実施形態における画像計測カメラの光検出部のデータ転送方向とラインパターン光の方向との関係を示す図。
【図１４】比較例における画像計測カメラの光検出部のデータ転送方向とラインパターン光の方向との関係を示す図。
【図１５】第２の実施形態における画像カメラの演算部が備えるノイズ除去回路の詳細回路構成図。
【図１６】第３の実施形態における画像カメラの演算部が備えるノイズ除去回路の詳細回路構成図。
【図１７】第４の実施形態において、画像カメラの光検出部が複数のラインパターン光を受光する様子を示す説明図。
【図１８】第４の実施形態における画像カメラの演算部が備えるノイズ除去回路の詳細回路構成図。
【図１９】図１８のノイズ除去回路が備えるスムージング回路の詳細回路構成図。
【図２０】図１８のノイズ除去回路が備える極大値判断回路の詳細回路構成図。
【図２１】第５の実施形態の画像計測カメラが備える演算部のブロック図。
【図２２】変形例の画像計測カメラの回路構成を示すブロック図。
【図２３】別の変形例の画像計測カメラのノイズ除去回路の回路構成を示すブロック図。
【図２４】別の変形例の画像計測カメラのノイズ除去回路の回路構成を示すブロック図。
【図２５】別の変形例の画像計測カメラのノイズ除去回路と０次、１次モーメント演算器の回路構成を示すブロック図。
【符号の説明】
１      画像計測カメラ
２      投光器
３      ビジョンセンサー
４      光検出部
５      移動枠
６      演算部
６ａ    第１の演算部
６ｂ    第２の演算部
８      制御部
１１    光検出器アレイ
１３    Ａ／Ｄ変換器アレイ
１４    転送スイッチアレイ
１６    ０次モーメント演算器
１７    １次モーメント演算器
１８    重心演算器
２０    ノイズ除去回路
２１    座標変換器
【図１】
0004730928.tif 000002
【図２】
0004730928.tif 000003
【図３】
0004730928.tif 000004
【図４】
0004730928.tif 000005
【図５】
0004730928.tif 000006
【図６】
0004730928.tif 000007
【図７】
0004730928.tif 000008
【図８】
0004730928.tif 000009
【図９】
0004730928.tif 000010
【図１０】
0004730928.tif 000011
【図１１】
0004730928.tif 000012
【図１２】
0004730928.tif 000013
【図１３】
0004730928.tif 000014
【図１４】
0004730928.tif 000015
【図１５】
0004730928.tif 000016
【図１６】
0004730928.tif 000017
【図１７】
0004730928.tif 000018
【図１８】
0004730928.tif 000019
【図１９】
0004730928.tif 000020
【図２０】
0004730928.tif 000021
【図２１】
0004730928.tif 000022
【図２２】
0004730928.tif 000023
【図２３】
0004730928.tif 000024
【図２４】
0004730928.tif 000025
【図２５】
0004730928.tif 000026