(57)【特許請求の範囲】
【請求項１】
露光時間を制御可能な二次元画像入力手段と、
前記二次元画像入力手段の露光時間を記憶する手段と、
該記憶手段に記憶された露光時間に基づいて前記二次元画像入力手段の露光時間を制御する露光時間制御手段と、
前記二次元画像入力手段によって入力された二次元画像を処理する画像処理手段と、
前記二次元画像入力手段によって撮像対象を一定の変更倍率で露光時間を変えて撮像した少なくとも３枚以上の二次元画像を取得する手段と、
一定の変更倍率で前記露光時間を変えて撮像した少なくとも３枚以上の二次元画像を入力し、撮像対象の各画素の濃度値を加算計算により合成して近似的に対数変換特性を持つ一つの画像に合成する画像合成処理手段と、を備えた視覚センサ。
【請求項２】
明るさの利得が制御可能な二次元画像入力手段と、
前記二次元画像入力手段の明るさの利得を記憶する手段と、
該記憶手段に記憶された利得値に基づいて前記二次元画像入力手段の利得を制御する利得制御手段と、
前記二次元画像入力手段によって入力された二次元画像を処理する画像処理手段と、
前記二次元画像入力手段によって一定の変更倍率で明るさの利得を変えて異にして撮像対象を撮像した少なくとも３枚以上の二次元画像を取得する手段と、
一定の変更倍率で前記明るさの利得を変えて撮像した少なくとも３枚以上の二次元画像を入力し、撮像対象の各画素の濃度値を加算計算により合成して近似的に対数変換特性を持つ一つの画像に合成する画像合成処理手段と、を備えた視覚センサ。
【請求項３】
点灯及び消灯可能な参照光投光手段と、
前記参照光投光手段の点灯及び消灯を制御する参照光点制御手段と、
前記参照光の点灯と消灯とを切り替え、前記参照光の点灯している場合と、消灯している場合により、前記二次元画像の撮像に異なる露光時間を適用することを特徴とする請求項１に記載の視覚センサ。
【請求項４】
点灯及び消灯可能な参照光投光手段と、
前記参照光投光手段の点灯及び消灯を制御する参照光点制御手段と、
前記参照光の点灯と消灯とを切り替え、前記参照光の点灯している場合と、消灯している場合により、前記二次元画像の撮像に異なる明るさの利得を適用することを特徴とする請求項２に記載の視覚センサ。
【請求項５】
参照光が点灯している時は前記二次元画像中の参照光が照射されている部分の濃度値に基づいて露光時間を設定し、参照光が消灯している時は前記二次元画像全域の濃度値に基づいて露光時間を設定することを特徴とする請求項３に記載の視覚センサ。
【請求項６】
参照光が点灯している時は前記二次元画像中の参照光が照射されている部分の濃度値に基づいて明るさの利得を設定し、参照光が消灯している時は前記二次元画像全域の濃度値に基づいて明るさの利得を設定することを特徴とする請求項４に記載の視覚センサ。
【請求項７】
前記参照光投光手段がスポット状又はスリット状の光を投光する投光手段であることを特徴とする請求項３乃至６の内いずれか１項に記載の視覚センサ。
【請求項８】
入力された二次元画像に対し、該二次元画像の一部又は全体の明るさの範囲を表す特性値を求め、該特性値が表す明るさの範囲に基づいて、前記二次元画像の明るさを、前記画像処理手段で処理可能な明るさの範囲に変換し出力する画像変換手段を備えた請求項１乃至７の内いずれか１項に記載の視覚センサ。
【請求項９】
前記特性値が前記二次元画像の一部又は全体の明るさの、最大値、最小値、標準偏差、分散、中央値、及び最頻値の内の何れか一つ、又はこれらの組合せであることを特徴とする請求項８記載の視覚センサ。
【請求項１０】
前記二次元画像入力手段が、ＣＣＤまたはＣＭＯＳセンサなどの半導体素子を受光素子とするカメラによる画像入力手段であることを特徴とする請求項１乃至９の内いずれか１項に記載の視覚センサ。
【請求項１１】
前記視覚センサがロボットに取り付けられており、該ロボットの動作またはプログラムの実行に基づいて、前記参照光の点灯及び／または消灯が行われることを特徴とする請求項１乃至１０の内いずれか１項に記載の視覚センサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レーザ光などの参照光と受光素子を組み合わせた視覚センサに関する。
【０００２】
【従来の技術】
輝度に関してダイナミックレンジ（階調の表現範囲）の広い撮像対象を撮像したとき、カメラ等の視覚センサのダイナミックレンジに合わせ画像の濃度値を調整する必要がある。この視覚センサのダイナミックレンジの濃度値を持つ画像に収める方法としては、いくつかの方法が提案されている。
【０００３】
特開平１０−２１３７８号公報及び特開平１１−６６２７９号公報には、画像濃度の一律比変換に基づく方法を利用しており、画像の階調表現範囲の拡大を目的として、撮像条件の異なる複数枚の画像を用い、一方の画像に一律比をかけて両画像の濃度をそろえ、濃度値が飽和している画素について、他方の画像の同位置の飽和していない画素の濃度値で代用し、撮像対象の輝度に対するダイナミックレンジの拡大を図る技術を開示している。
【０００４】
別の方法として、後の処理で近傍画素同士の差分からエッジ画像を求めることを念頭におき、各画素に入射する輝度に対数変換する形で画素の濃度値を決定する方法がある。この変換においてダイナミックレンジの圧縮が行われる。例えば隣接する画素に入射する輝度をＩ1、Ｉ2とすると、ｌｏｇ(Ｉ1)−ｌｏｇ(Ｉ2)＝ｌｏｇ(Ｉ1／Ｉ2)であるから、対数変換された濃度値を持つ画像に基づいてエッジ画像のエッジ強度は、入射輝度の比に依存したものとなる。これによりエッジ強度が照射強度やワーク上の反射率に依存するという問題、即ち画像中の暗い部分のエッジ強度が小さく、明るい部分の強度が強くなってしまうというアンバランスな問題も同時に回避される。
【０００５】
特開平５−３１４２５３号公報には、この対数輝度変換を行う事例に関するものが記載されており、対数輝度変換する際に画像メモリの利用効率を向上させることを目的として、輝度値が小さい領域では対数特性の代わりに直線比例特性を適用する技術が開示されている。
【０００６】
又、特開平９−３１１９２７号公報には、輝度変換テーブルを使用し、画素毎に低輝度領域を伸張（濃度値を増大）し、高輝度領域を圧縮（濃度値を低減）させることによりハレーション等を抑えた画像を得る技術が開示されている。
【０００７】
【発明が解決しようとする課題】
視覚センサを用いて対象物を検出する場合、照明や外来光の強度変化に代表される環境の変化や、対象物の設置状況のバラツキ（対象物と視覚センサの相対的な姿勢関係のバラツキ）による対象物上の輝度の変化によって、視覚センサに入射する光の強度が大きく変化する。このため、場合によっては、情報として必要な部分がハレーションを起こしたり、逆に暗すぎて有効な情報が抽出できないことが起きる。そのための対象物の輝度に対する視覚センサのダイナミックレンジ拡大が望まれる。
【０００８】
特開平１０−２１３７８号公報及び特開平１１−６６２７９号公報に記載された方法は、画像合成をするために画素毎に複数の画像同士の濃度をそろえるための濃度変換と、濃度値の比較、置き換え処理を必要とする。この濃度変換においては、画像同士の濃度比に基づく乗算又は除算が必要とされ、計算処理負荷が大きい。
【０００９】
又、特開平５−３１４２５３号公報等に記載された対数輝度変換の方法は、画素毎に輝度の対数変換が必要とされるため、相当量の計算処理負荷が発生する。
更に、特開平９−３１１９２７号公報等に記載されているような、輝度変換テーブルを使用する方法は、計算負荷については利点があるものの、用途に応じた輝度変換テーブルを用意する必要があるため、汎用性にかけるという欠点がある。又、変換テーブルの内容に理論的根拠を与える間が難しい。通常は経験則に基づいて変換テーブルを用意している。
【００１０】
そこで、本発明は、低輝度領域を伸張しかつ高輝度領域を圧縮する効果によってダイナミックレンジ拡大を図れる対数輝度変換を、非常に少ない計算処理負荷によって実現することを課題とするものである。
又、視覚センサとして撮像装置にレーザ光などを併用する際には、参照光を点灯する時と消灯する時で検出しようとする内容が異なるため、統一的な輝度変換ではいずれの場合に検出不具合が発生しやすい。この点をも解決することを本発明の課題とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係わる発明は、露光時間を制御可能な二次元画像入力手段と、前記二次元画像入力手段の露光時間を記憶する手段と、該記憶手段に記憶された露光時間に基づいて前記二次元画像入力手段の露光時間を制御する露光時間制御手段と、前記二次元画像入力手段によって入力された二次元画像を処理する画像処理手段と、前記二次元画像入力手段によって撮像対象を一定の変更倍率で露光時間を変えて撮像した少なくとも３枚以上の二次元画像を取得する手段と、一定の変更倍率で前記露光時間を変えて撮像した少なくとも３枚以上の二次元画像を入力し、撮像対象の各画素の濃度値を加算計算により合成して近似的に対数変換特性を持つ一つの画像に合成する画像合成処理手段と、を備えた視覚センサとした。
【００１２】
又、請求項２に係わる発明は、明るさの利得が制御可能な二次元画像入力手段と、前記二次元画像入力手段の明るさの利得を記憶する手段と、該記憶手段に記憶された利得値に基づいて前記二次元画像入力手段の利得を制御する利得制御手段と、前記二次元画像入力手段によって入力された二次元画像を処理する画像処理手段と、前記二次元画像入力手段によって一定の変更倍率で明るさの利得を変えて撮像対象を撮像した少なくとも３枚以上の二次元画像を取得する手段と、一定の変更倍率で前記明るさの利得を変えて撮像した少なくとも３枚以上の二次元画像を入力し、撮像対象の各画素の濃度値を加算計算により合成して近似的に対数変換特性を持つ一つの画像に合成する画像合成処理手段とを備えた視覚センサとした。
【００１３】
又、請求項３に係わる発明は、点灯及び消灯可能な参照光投光手段と、前記参照光投光手段の点灯及び消灯を制御する参照光点制御手段と前記参照光の点灯と消灯とを切り替え、前記参照光の点灯している場合と、消灯している場合により、前記二次元画像の撮像に異なる露光時間を適用するようにした。
【００１４】
請求項４に係わる発明は、点灯及び消灯可能な参照光投光手段と、前記参照光投光手段の点灯及び消灯を制御する参照光点制御手段と前記参照光の点灯と消灯とを切り替え、前記参照光の点灯している場合と、消灯している場合により、前記二次元画像の撮像に異なる明るさの利得を適用するようにした。
【００１５】
又、請求項５に係わる発明は、請求項３に係わる発明において、参照光が点灯している時は前記二次元画像中の参照光が照射されている部分の濃度値に基づいて露光時間を設定し、参照光が消灯している時は前記二次元画像全域の濃度値に基づいて露光時間を設定する手段を備えるようにした。
【００１６】
請求６に係わる発明は、請求項４に係わる発明において、参照光が点灯している時は前記二次元画像中の参照光が照射されている部分の濃度値に基づいて明るさの利得を設定し、参照光が消灯している時は前記二次元画像全域の濃度値に基づいて明るさの利得を設定するようにした。
【００１７】
請求項７に係わる発明は、上述した参照光投光手段をスポット状又はスリット状の光を投光する投光手段に限定したものである。更に、請求項８に係わる発明は、入力された二次元画像に対し、該二次元画像の一部又は全体の明るさの範囲を表す特性値を求め、該特性値が表す明るさの範囲に基づいて、前記二次元画像の明るさを、前記画像処理手段で処理可能な明るさの範囲に変換し出力する画像変換手段を備えるようにした。
【００１８】
請求項９に係わる発明は、前記特性値が前記二次元画像の一部又は全体の明るさの、最大値、最小値、標準偏差、分散、中央値、及び最頻値の内の何れか一つ、又はこれらの組合せで構成されるようにした。
【００１９】
また請求項１０に係わる発明は、前記二次元画像入力手段が、ＣＣＤまたはＣＭＯＳセンサなどの半導体素子を受光素子とするカメラによる画像入力手段とした。さらに、請求項１１に係わる発明は、前記視覚センサがロボットに取り付けられ、該ロボットの動作またはプログラムの実行に基づいて、前記参照光の点灯及び／または消灯が行われるようにした。
【００２０】
【発明の実施の形態】
図１は本発明の視覚センサの一実施形態の要部ブロック図である。該視覚センサはＣＰＵ１で統括制御されている。ＣＰＵ１にはバス１０を介して、フレームメモリ２、ＲＯＭ３、ＲＡＭ４、不揮発性ＲＡＭ５が接続されている。ＲＯＭ３にはこの視覚センサが処理するためのプログラムが格納されており、本発明に関係して後述する合成画像処理のプログラムが格納されている。ＲＡＭ４にはプログラムの実行時に必要な一時対比データが格納される。又、不揮発性ＲＡＭ５にはプログラム実行時に必要な設定値などが格納されるもので、本発明に関係して、後述する露光時間の変更倍率のパラメータ若しくは明るさの利得の変更率を決めるパラメータ等が予め設定格納されている。
【００２１】
又、前記バス１０には、カメラインタフェース６、モニタインタフェース７、外部機器インタフェース８、通信インタフェース９が接続され、カメラインタフェース６には、二次元画像入力手段としてのカメラ１１が接続されている。モニタインタフェース７には、液晶やＣＲＴ等で構成された表示器のモニタが接続されている。更に、外部機器インタフェース８には、キーボード１３が接続されていると共に、参照光投光手段としてのレーザ発振器のレーザ駆動電源１４が接続され、該レーザ駆動電源１４には、レーザ発振回路１５が接続されている。又、この通信インタフェース９にはロボット制御装置が接続される。
【００２２】
カメラ１１、カメラインタフェース６は従来から公知の民生品又は工業品として市販されているものであり、カメラとしてはＣＣＤまたはＣＭＯＳセンサなどの半導体素子を受光素子としたものが利用される。このカメラインタフェース６には、ＣＰＵ１からの設定によりカメラ１１に対して露光のタイミングを制御する同期信号を発生する機能、カメラ１１から受信した信号の増幅の利得（ゲイン）を変更する機能を備えているものである。
【００２３】
カメラ１１から取り込まれた映像信号は、カメラインタフェース６においてＡ／Ｄ変換され、ディジタル画像データとしてフレームメモリ２に一時格納される。そして、ＣＰＵ１はＲＯＭ３に格納されているプログラムに基づいて、不揮発性ＲＡＭに格納されているデータ及びＲＡＭ４を使用しながらフレームメモリ２に格納されたディジタル画像データを画像処理を行い、その結果を再びフレームメモリ２に格納する。このフレームメモリ２に格納されたデータは、ＣＰＵ１によってモニタインタフェース７に転送されることで、モニタ１２で表示され、その内容をオペレータが確認できるようになっている。
【００２４】
この視覚センサをロボットアーム先端等に取付け、ロボットを動作させてこの視覚センサにより、ロボットの作業対象のワークピース等を撮像するような場合、通信インタフェース９には、図１に示すようにロボット制御装置が通信によって接続される。そして、ロボット制御装置からの画像取得及び画像処理の起動を受け、視覚センサはその検出結果のデータをロボット制御装置に返信する。又、オペレータからの入力手段としてキーボード１３が接続され、露光時間などの各種パラメータの設定値等を入力できるようになっている。
【００２５】
更に、この視覚センサを３次元視覚センサとして使用する場合には、図１に示すように、レーザ発振回路１５を接続するレーザ駆動電源１４がこの外部インタフェース８に接続され、ＣＰＵ１からのレーザ駆動電源のＯＮ／ＯＦＦ指令によってレーザの点灯／消灯が制御されるようになっている。このレーザ発信回路１５はロボットのアーム先端に取り付けられ、該レーザ発信回路１５からスポット光又はスリット光を投光させるようにしている。この投光の制御は、ロボット動作に合わせて、もしくは、ロボット動作プログラムに基づいて制御される。例えば、ロボット制御装置はレーザ発信回路１５からの投光方向が設定所定範囲内になるときのロボットの位置姿勢の場合にだけ、投光可能信号を視覚センサに出力し、この投光可能信号があるときにだけ投光指令で投光できるようにしている。その結果、レーザ発信回路１５から所定範囲の投光方向にしか、投光されず、無駄な方向、危険な方向等には、投光されることはない。又、ロボット動作プログラムによって、投光可能信号を視覚センサに出力するようにして、限られた動作のときにだけ投光できるようにしてもよい。さらには、ロボット動作が停止したときには、投光許可信号を出力し、ロボットが移動すると、この投光許可信号の出力はなくなり、投光はできなくするようにしてもよい。
【００２６】
次にこの視覚センサが実施する露光時間を変化させた画像の取得と画像の合成について説明する。この実施形態では、カメラの露光時間を（１／Ａ）倍（Ａ＞１）ずつ変化させて各画素毎にその画素の濃度値を加算し、この加算値に基づいて画像を得るものである。
まず、カメラの露光時間の最も長い状態のシャッタ速度をＳ0とする。又各画素への入射光輝度をＸ、画素の濃度値をＹとし、これら入射光輝度Ｘと画素の濃度値Ｙを正規化すると、次のような１式の関係が成り立つ（画像の濃度値のダイナミックレンジを０≦Ｙ≦１に正規化する）。これを図示すると図２のようになる。
【００２７】
Ｙ＝Ｘ        （０≦Ｘ≦１）
Ｙ＝１        （１＜Ｘ）          ・・・・（１）
シャッタスピードをＳ1として、露光時間を（１／Ａ）倍とすると入射光輝度Ｘと画素濃度値Ｙの関係は次の２式となる。
【００２８】
Ｙ＝Ｘ        （０≦Ｘ≦Ａ）
Ｙ＝１        （Ａ＜Ｘ）          ・・・・（２）
同様に、シャッタスピードをＳiとして露光時間を（１／Ａｉ）倍とすると入射光輝度Ｘと画素濃度値Ｙの関係は次の３式となる。
【００２９】
Ｙ＝Ｘ        （０≦Ｘ≦Ａｉ）
Ｙ＝１        （Ａｉ＜Ｘ）          ・・・・（３）
これらを図示したものが図３である。
【００３０】
そこで、シャッタスピードをＮ段階として、最も長いシャッタスピードＳ0から最小のシャッタスピードＳnまで（１／Ａ）倍ずつ露光時間を短くしたＮ枚の画像を得て、これら画像における画素毎の濃度値の和をＺ（Ｘ）とすると、
0003780178.tif 000002
となる。この４式は、Ｘの値によってＮ個の区間に分けられた折れ線の式である。ある値Ｘが含まれる区間と、ＸをＡ倍した値ＡＸが含まれる区間は、必ず隣り合う２つの区間となる。例えば、Ｘ＝０．５とすると、Ｘは４式の１番上の行の式（区間）を満たし、ＡＸは４式の２行目の式（区間）を満たす。
よって、
Z(AX)-Z(X)=１-(X/AＮ−１）      (０≦Ｘ≦AＮ−２)    ・・・・（５）となる。特に、Ｘ≪ＡＮ−１の場合は、Z(AX)-Z(X)=１と近似できるから、
Ｚ（Ｘ）＝（ｌｏｇＸ／ｌｏｇＡ）＋ｋ        ・・・・・・・・（６）
（ただしｋは任意の定数）
となる。
この６式が意味するものは、シャッタスピードがＳ0からＳiまで、１／Ａ倍ずつ減少させて得られた画像を画素毎に加算合成したものＺ（Ｘ）は、カメラの入射光輝度がシャッタスピードＳ0のときのダイナミックレンジのＡｉ倍よりある程度小さい範囲では、入射光輝度Ｘを対数変換したものに近い特性を持つということを意味している。
【００３１】
実際の適用においては、トータルの画像取り込み時間をあまり長くするわけにはいかないという制約から、撮像回数Ｎはある有限の値にせざるを得ない。そのため、理想的な対数変換特性と実際の合成結果の近似度は、撮像回数Ｎの大きさが小さいと悪化するが、Ｎ＝３〜７程度でも十分実用になる合成結果が得られた。
【００３２】
上述した擬似的な対数変換特性を持つ画像合成を施した６式の結果は、正規化された画像の濃度値の上限１を越える場合があるので、最終的な合成画像Ｚ’を得るには、
Ｚ’＝Ｂ・Ｚ（Ｘ）＋Ｃ        （Ｂ、Ｃは任意の定数）・・・（７）
として、この７式で示すような定数Ｂ、Ｃを定めて濃度値の修正を行う。この実施形態では、全画素に対応するＺ（Ｘ）の最大値Ｚmaxと最小値Ｚminより次の８式、９式を演算して定数Ｂ、Ｃを求める。
【００３３】
１＝Ｂ・Ｚmax＋Ｃ              ・・・・（８）
０＝Ｂ・Ｚmin＋Ｃ              ・・・・（９）
こうして求めた定数Ｂ、Ｃを用いて、上記７式により、各画素の出力画像Ｚ’を得る。
【００３４】
なお、この濃度値の修正を行うための定数Ｂ、Ｃを、全画素に対応するＺ（Ｘ）の最大値Ｚmaxと最小値Ｚminを用いて求めたが、他に、加算合成値Ｚ（Ｘ）の最大値Ｚmaxのみを用いて求める方法、加算合成値Ｚ（Ｘ）の最小値Ｚminのみを用いて求める方法、加算合成値Ｚ（Ｘ）の平均値Ｚmeanを用いて求める方法、加算合成値Ｚ（Ｘ）の中央値を用いて求める方法、加算合成値Ｚ（Ｘ）の最頻値を用いて求める方法、加算合成値Ｚ（Ｘ）の平均値Ｚmeanと標準偏差（又は分散）を用いて求める方法等いろいろな方法によって求められる。
【００３５】
加算合成値Ｚ（Ｘ）の最大値Ｚmaxのみを用いて求める方法の場合は、
上記９式のＺminを「０」として、Ｃ＝０として８式に求めた最大値Ｚmaxを入力して定数Ｂを求めればよい。即ち、入射光輝度が０〜Ｚmaxの範囲が０〜１となるように正規化するものである。
【００３６】
加算合成値Ｚ（Ｘ）の最小値Ｚminのみを用いて求める方法の場合は、
８式におけるＺmaxは理論上の最大強度ＡＮ−１とし、Ｚminは画像から求められた明るさの最小値を用い、上記８式、９式を演算して定数Ｂ、Ｃを求める。
【００３７】
加算合成値Ｚ（Ｘ）の平均値Ｚmean（中央値、最頻値）を用いて求める方法の場合は、
画像の平均の明るさＺmeanを上記８式、９式の定数Ｃとする。そして、Ｚmaxを理論上の最大強度ＡＮ−１として、８式より定数Ｂを求める。若しくはＺminを０として９式より定数Ｂを求める。又、例えば、平均値と最小値の差の絶対値｜Ｚmean−Ｚmin(=0)｜と、最大値と平均値の差の絶対値｜Ｚmax(=AＮ−１)−Ｚmean｜とを比較し、
｜Ｚmean−Ｚmin(=0)｜＞｜Ｚmax(=AＮ−１)−Ｚmean｜
であれば、９式より定数Ｂを求め、
｜Ｚmean−Ｚmin(=0)｜≦｜Ｚmax(=AＮ−１)−Ｚmean｜
であれば、８式より定数Ｂを求める。
これにより、平均値と最大値又は最小値との間の幅が大きい方で定数Ｂを決めることによって、飽和状態を無くすようにする。画像の平均の明るさＺmeanの代わりに、中央値もしくは最頻値（モード）を用いてもよい。なお、中央値＝（Ｚmax−Ｚmin）／２とすればよく、最頻値は、加算合成値Ｚ（Ｘ）の発生領域を複数の領域に区切り、一番多く発生した領域の中央値を用いる。
【００３８】
加算合成値Ｚ（Ｘ）の平均値Ｚmeanと標準偏差（又は分散）を用いて求める方法は、加算合成値Ｚ（Ｘ）の頻度が正規分布になるという前提のもとに、Ｚ（Ｘ）の平均値Ｚmeanと標準偏差（又は分散）σを求め、ある範囲のＺ（Ｘ）が濃度値０〜１に対応するように定数Ｂ、Ｃを定める方法である。この場合、
Ｚmax＝Ｚmean＋２σ、Ｚmin＝Ｚmean−２σとして、上記８式と９式より定数Ｂ、Ｃを決定する。即ち、入射光輝度Ｘの標準偏差（又は分散）を中心とする±２σの入射光輝度範囲が０〜１になるように正規化するものである。なお、Ｚmax、Ｚminを、Ｚmean±σ、又は、Ｚmean±３σとしてもよい。
【００３９】
図４は、本実施形態における合成画像を得る処理のフローチャートである。この実施形態では、カメラ１１等の二次元画像撮像装置とレーザ光（スポット光又はスリット光等）の参照光投光装置を併設した視覚センサの場合の処理を示すものである。この場合、レーザ光を消灯している場合は画像全体の濃度値を適当にする濃度変換が必要であり、レーザ光を点灯している場合には、レーザ光が照射されている部位の濃度値を適当にする濃度変換が必要になる。これらの濃度値変換特性は通常異なっている。そこで、予め、参照光が点灯しているときと消灯しているときで、上記露光時間の変更倍率のパラメータＡを変えるようにしており、点灯時はＰ、消灯時はＱを設定しておく。さらには、撮像回数Ｎについても、点灯時の回数Ｎｐ、消灯時の回数Ｎｑを設定しておく。なお、この撮像回数Ｎは、点灯時、消灯時同一回数でもよい。
【００４０】
まず、レーザ駆動電源１４へ点灯指令を出力中か否か判断し（ステップ１０１）、点灯中ならば、設定されている点灯時パラメータ値Ｐを露光時間の変更倍率のパラメータＡとして設定し、撮像回数Ｎには、設定されている点灯時の回数Ｎｐを設定する（ステップ１０２）。又、消灯しているものであれば、消灯時の設定パラメータ値Ｑを露光時間の変更倍率のパラメータＡとして設定し、撮像回数Ｎを消灯時の設定値Ｎｑに設定する（ステップ１０３）。
【００４１】
次に、各画素の画像合成値Ｚを記憶するレジスタを「０」にセットすると共に指標ｉを「０」にセットする（ステップ１０４）。
そして、シャッタスピードを（１／Ａｉ）倍にして、カメラ１１で撮像しフレームメモリに撮像画像を格納する（ステップ１０５，１０６）。次に各画素毎に、その画素の濃度値Ｙを画像合成値Ｚを記憶するレジスタに加算する（ステップ１０７）。指標ｉを「１」インクリメントし、該指標ｉが撮像回数Ｎ以上になったか判断する（ステップ１０８、１０９）。
【００４２】
該指標ｉの値が設定撮像回数Ｎになるまでステップ１０５〜１０９の処理を繰り返し実行する。これにより、ステップ１０５でシャッタスピードが（１／Ａｉ）倍に切り換えられるから、撮像される毎にシャッタスピードは前回の撮像時よりも（１／Ａ）倍に切り換えられることになる。
【００４３】
こうして設定回数Ｎの撮像が終了すると、全画素中で最大の画像合成値Ｚmaxと最小の画像合成値Ｚminを求め、この最大、最小の画像合成値Ｚmax、Ｚminに基づいて上記８式、９式の演算を行うことにより定数Ｂ、Ｃを求める（ステップ１１０）。
【００４４】
求めた定数Ｂ、Ｃを用いて各画素の画像合成値Ｚより７式の演算を行って各画素の出力画像Ｚ’を得て、この合成画像取得処理は終了する（ステップ１１１）。
【００４５】
図５は、本発明の第２の実施形態の合成画像取得処理の要部を示すのフローチャートである。この第２の実施形態では、最初に得られる画像（基準画像）の明るさによって、露光時間の変更倍率のパラメータＡを変更することにより、最適な画像合成値を得るようにしたものであり、この実施形態では、参照光点灯時、使用当時においても、基準撮像時の画像の明るさに応じて３ランクに分け、各ランクのパラメータＡを設定するものである。そのため、参照光点灯時のパラメータ値Ｐ1、Ｐ2、Ｐ3、参照光消灯時のパラメータ値Ｑ1、Ｑ2、Ｑ3は予め設定しておく。又、撮像回数も各ランクに応じて変えて、夫々の回数を設定するようにしてもよいが、この実施形態では、参照光点灯時の回数Ｎｐと消灯時の回数Ｎｑを設定するようにしている。
【００４６】
まず、カメラ１１で所定の撮像条件（基準条件）で対象物を撮像する（ステップ２０１）。そして、参照光点灯中か否か判断し（ステップ２０２）、点灯中であれば、照射されている部位の濃度値Ｙを読み込み（ステップ２０３）、この濃度値Ｙが第１の基準値Ｙsa1以下か判断し（ステップ２０４）、以下ならば、点灯時の第１の設定パラメータ値Ｐ1を露光時間の変更倍率のパラメータＡとして設定し、撮像回数Ｎを点灯時の設定値Ｎｐに設定する（ステップ２０５）。そして、図４に示す（ステップ）１０４以下の処理と同一の処理を行う。
【００４７】
又、ステップ２０４で、濃度値Ｙが第１の基準値Ｙsa1より大きいと判断された場合には、該濃度値Ｙが第２の基準値Ｙsa2（なお、Ｙsa1＜Ｙsa2である）以上か判断し、この第２の基準値Ｙsa2を越えておらず、検出濃度値Ｙが第１の基準値Ｙsa1と第２の基準値Ｙsa2の間にある場合には、露光時間の変更倍率のパラメータＡとして第２の設定パラメータ値Ｐ2を設定し、撮像回数Ｎに点灯時の設定値Ｎｐに設定する（ステップ２０７）。又、検出濃度値Ｙが第２の基準値Ｙsa2以上であるときは、パラメータＡに第３の設定パラメータ値Ｐ3を設定し、撮像回数Ｎに点灯時の設定値Ｎｐに設定する（ステップ２０８）。
【００４８】
又、参照光が点灯中でない場合には、撮像された画像から濃度値Ｙを読み込み、消灯中の第１、第２の基準値Ｙsb1、Ｙsb2と比較し、Ｙ≦Ｙsb1ならば、パラメータＡを消灯時の第１の設定パラメータ値Ｑ1に、Ｙsb1＜Ｙ＜Ｙsb2ならば、パラメータＡを消灯時の第２の設定パラメータ値Ｑ2に、Ｙ≧Ｙsb2ならば、パラメータＡを消灯時の第３の設定パラメータ値Ｑ3に設定する。又、撮像回数Ｎは、消灯時の設定値Ｎｑに設定する（ステップ２０９〜２１４）。
【００４９】
こうして、露光時間の変更倍率のパラメータＡ、撮像回数Ｎを設定した後は図４のステップ１０４以下と同一の処理を行い、出力画像Ｚ’を得る。
【００５０】
上述した各実施形態では、最終合成画像Ｚ’を得るための７式における定数Ｂ、Ｃを各画素の画像合成値Ｚの最大値Ｚmaxと最小値Ｚminによって求める例を示したが、前述したように、最大値Ｚmaxのみ、最小値Ｚminのみ、平均値Ｚmean、平均値Ｚmeanと標準偏差を用いて求める方法等により、この定数Ｂ、Ｃを求めて出力画像Ｚ’を求めるようにしてもよい。この時は、ステップ１１０の処理が前述した各処理に夫々変わるのみである。
【００５１】
更に、上述した各実施形態においては、シャッタスピードを変えて露光時間を変える方法を用いたが、この露光時間を変える代わりに、カメラ１１又はカメラインターフェースに備えるカメラからの信号の増幅の利得を変えて、明るさの利得を変えるようにしてもよい。明るさの利得を変えることは、実質的に露光時間を変えることと等しいので、露光時間を変えることとこの明るさの利得を変えることは実質的に同一の効果を得るものである。この利得を変える場合の処理としては、ステップ１０５で、シャッタスピードを（１／Ａｉ）倍する代わりに、カメラからの信号の増幅利得を（１／Ａｉ）倍するようにすればよい。又、このパラメータＡに設定するＰ、Ｑ、Ｐ1、Ｐ2、Ｐ3、Ｑ1、Ｑ2、Ｑ3等も、増幅利得に適合したものにするだけでよい。
【００５２】
【発明の効果】
本発明においては、外部の明るさの変化や、測定対象物の姿勢の違いがあっても、その状態に応じてダイナミックレンジを向上させるから、環境や状態の変化に影響されにくい、安定した視覚検出を行う視覚センサが得られる。しかも、本発明の画像合成は計算処理負荷が少なくてすむものである。更に、従来技術において発生していた、異なる撮像条件で撮像した複数の画像間での画素毎の濃度値の置き換えによって、隣り合う画素間の濃度値の不要な不連続が、本発明では、全く発生することはない。
【図面の簡単な説明】
【図１】本発明の一実施形態の視覚センサの要部ブロック図である。
【図２】各画素の入射光輝度と濃度値との関係を説明する説明図である。
【図３】露光時間を変えたときの各画素の入射光輝度と濃度値との関係を説明する説明図である。
【図４】本発明の第１の実施形態における合成画像処理のフローチャートである。
【図５】本発明の第２の実施形態における合成画像処理のフローチャートの一部である。
【符号の説明】
１  ＣＰＵ
２  フレームメモリ
３  ＲＯＭ
４  ＲＡＭ
５  不揮発性ＲＡＭ
６  カメラインタフェース
７  モニタインタフェース
８  外部機器インタフェース
１０  バス
１１  カメラ
１４  レーザ駆動電源
１５  レーザ発振回路
【図１】
0003780178.tif 000003
【図２】
0003780178.tif 000004
【図３】
0003780178.tif 000005
【図４】
0003780178.tif 000006
【図５】
0003780178.tif 000007