[発明の詳細な説明]
[従来技術の説明]
図1は、生産ライン上の物体を検査するのに使われる従来の機械視覚システムを示す。物体110、112、114、116および118は、コンベヤ100上で左から右へ移動する。それぞれの物体は、たとえば、レベル120とホール124のように、一定の特徴を含むことが期待される。不正確に製造された物体は、1つまたは、それ以上の特徴を損なっている場合があり、たとえば、物体116は、穴がないというように、意図的でない特徴を持つかもしれない。多くの生産ラインでは、コンベヤの動作は、回転エンコーダ180により探知され、それは、プログラマブル論理制御装置(PLC)140へと信号168を送る。
物体は光検出器130を通過し、それは、物体の存在を検出するための光135の光線を放射する。トリガ信号162と166は、光検出器からPLC140と機械視覚システム150へと送られる。トリガ信号166の立ち上がりでは、視覚システム150は、物体の画像を取得し、期待された特徴があるかどうか決定するために画像を検査し、信号160を通してPLCへ検査結果を報告する。
トリガ信号162の立ち上がりでは、PLCは、時間、および/または、エンコーダカウントを記録する。PLCが視覚システムから検査結果を受取る際に、必要に応じてその結果で様々なことをする可能性がある。たとえば、PLCは、コンベヤから検出物体116を取り除くために信号164を通して拒否作動装置170を制御する場合がある。拒否作動装置は一般に光検出器ビーム135により定義された検査点からダウンストリームされるので、PLCは、検出部分が拒否作動装置の前の位置に来るまで、拒否作動装置へ信号164を遅延させなければならない。検査を完了するために視覚システムが必要とする時間は、たいていは様々なので、この遅延は、トリガ信号162に関係し、すなわちPLCにより記録された時間、および/または、カウントに関係しているはずである。遅延は、コンベヤが定速で動いている場合、適切であり、ほかの場合は、エンコーダが好ましい。
図1には照明が示されていないが、照明は、既知の技術である様々な方法により、必要に応じて供給される。
図1の例では、物体は連続して動いている。また、製造装置物体を視覚システムの前に静止させるような多くのアプリケーションがある。
図2は、従来の機械視覚システムの典型的なオペレーティング・サイクルを説明するスケジュールを示す。図示されているものは、2つの典型的な物体200と210の操作ステップである。オペレーティング・サイクルには、トリガ220、画像取得230、解析240と報告250という、4つのステップが含まれる。サイクル260の期間中、視覚システムは待機している。スケジュールは現実に合わせて示されてはおらず、示されたステップにかかる時間量は、アプリケーションによって著しく変わる。
トリガ220は、光検出器130からの信号、または、PLC、コンピュータ、または、自動装置のほかの部分からのメッセージのような、視覚システムへのいくつかの外部事象である。
画像取得ステップ230は、ピクセルと称する二次元のアレイの感光性要素を、積分時間もしくはシャッター時間と称する短時間に、レンズによってアレイに集められた光に露光することで取得される。各ピクセルは、シャッター時間内にそこにあたった光の強度を測定する。測定された強度値は、デジタル数に変換され、視覚システムのメモリに保存される。
解析ステップ240の間、視覚システムは、物体が検査される状況を決定するために既知の技術方法を使い、保存ピクセル値を操作する。報告ステップ250の間、視覚システムは、PLCのような、適切な自動装置への物体の状態についての情報を伝達する。
図3は、光検出器を使い、生産ライン上の物体の従来の検査を示す。コンベヤ100、物体110、112、114、116、118とラベル120、ホール124、エンコーダ180、拒否作動装置170と信号164と168は、図1に説明されている。ビーム325を用いた第一光検出器320は、物体の存在を検出するために使われる。ビーム305を用いた第二光検出器300は、ラベル120の存在を検出できるように第一光検出器320に対して配置されている。ビーム315を用いた第三光検出器は、ホール124の存在を検出できるように第一光検出器320に対して配置されている。
PLC340は、特性120と124の存在を決めるために光検出器330から信号336の立ち上がり上の光検出器300と310から信号330と333をサンプリングする。一つまたは二つの特性が欠落している場合、エンコーダ180に基づいて適切に遅延し、コンベヤから検出物体を取り除くために、信号164は、拒否作動装置170に送られる。
[本発明の基本操作]
図4は、生産ラインで物体を検査するための、本発明による、視覚検出器の実施態様を示す。コンベヤ100は、物体と視覚検出器400の視野間で、相対動作を起こす物体を輸送する。物体110、112、114、116、118とラベル120、ホール124、エンコーダ180、拒否作動装置170は、図1に説明されている。ビーム325を用いた第一光検出器320は、物体の存在を検出するために使われる。視覚検出器400は、外観より物体の存在を検出し、適切な検査基準に基づき、検査する。もし、物体が検出された場合、視覚検出器は、コンベヤストリームから物体を取り除くために、作動装置170を拒否するために信号420を送る。エンコーダ180は、視覚検出器へ信号410を送り、物体は、記録点と呼ばれる、いくつかの固定の架空の基準点430を通り、エンコーダカウントから信号420の正常の遅れを防ぐ手段を取るために使われる。エンコーダが使われない場合、遅れは、そのかわりに時間に基づく。
代替の実施態様では、視覚検出器は、拒否作動装置を制御することを含む、様々な目的のために、PLCへの信号を送る。
他の実施態様では、超高速アプリケーション、あるいは視覚検出器が物体の存在を確実に検出できないところに適し、光検出器は、物体の存在を検出するのに使われ、その目的のために視覚検出器へ信号を送る。
さらに他の実施態様では、離散した物体がないが、たとえばウェブのように、物流が、継続的に視覚検出器を通過する。この場合、対象物は継続的に検査され、信号は、適時にPLCのような、機器へ視覚検出器により送られる。
視覚検出器が、外観により離散した物体の存在を検出する場合、視覚事象検出モードで動作すると言われる。視覚検出器が、光検出器のような外部の信号を使い、離散した物体の存在を検出する場合、外部トリガモードで動作すると言われる。視覚検出器が、継続的に対象物を検査する場合、継続解析モードで動作すると言われる。
図5は、視覚事象検出モードで動作する視覚検出器の典型的なオペレーティング・サイクルを説明するスケジュールを示す。箱520のような、「c」とラベル付きの箱は、画像取得を示す。箱530のような、「a」とラベル付きの箱は、画像取得を示す。次の画像の取得「c」は、現在の画像の解析「a」と重なることが好ましいので、解析ステップ530は、取得ステップ520で捉えた画像を解析する。このスケジュールでは、解析は取得よりも少ない時間であると示されているが、一般には、解析は、アプリケーションの詳細によるので、取得よりも短くなったり長くなったりするだろう。
取得と解析が重なった場合、視覚検出器が画像を捉え解析できる率は、取得時間と解析時間の長さにより、決定される。これが、「フレーム速度」である。
本発明は、物体に光検出器130より与えられる、トリガ信号なしに確実に検出させるものである。図4を参照すると、物体の存在を示すトリガ信号がなく、図5では、図2のステップ220にあるような、対応するトリガステップがない。
また、図5を参照すると、スケジュールの部分500は、第一物体の検査に対応し、7つのフレームの取得と解析を含む。第2部分510は、第2物体の検査に対応し、5つのフレームを含む。
それぞれの解析ステップは、初めに物体が存在しているという証拠を考慮する。証拠が十分であるフレームは、有効であると呼ばれる。有効フレームの解析ステップは、たとえば、解析ステップ540のような、分厚い境界で示されている。実施態様では、有効フレームが見つかった場合、物体の検査が始まり、連続の無効フレームが見つかった場合、終了する。図5の例では、第一物体の検査は、解析ステップ540に対応する第一有効フレームで始まり、解析ステップ546と548に対応する2つの連続の無効フレームで、終了する。ここで留意すべきは、第一物体で、解析ステップ542に対応する単一の無効フレームが、検査を終了するのには十分ではないことである。
たとえば、解析ステップ548の終わりのような、物体の検査が完了する時に、有効フレームから得た証拠に基づいて、物体の状態を決定する。実施態様では、有効フレームの不十分な数が見つかり、物体が実際に存在したという不十分な証拠であると考えられる場合、操作は、有効フレームが見つからなかったように継続される。そうでなければ、物体は、検出されたと判断され、有効フレームからの証拠は、たとえば、合格か不合格のように、その状況を決定するために判断される。本発明の範囲内で、物体を検出し、状況を決定する様々な方法のいくつかは、下記で説明され、その他の多くは、当業者により考えうる。
物体が検出され、判断されると、当業者には良く知られているような信号を使い、PLCのような機器に対し報告されてもよい。このような場合には、図2にあるステップ250に似たような報告ステップが、スケジュールに現れる。図5の例は、視覚検出器が信号420を通してダウンストリームの拒否作動装置170を制御するのに使われることを図4に示された設定の代わりに対応する。有効フレームで物体の位置を考えることにより、それが視野を通過する場合、視野検出器は、物体が基準点430を通過する記録時間550と552を推測する。ここで留意すべきは、エンコーダ180が使われた場合、記録時間は、実際にエンコーダカウントであり、読み手は、時間とカウントが交互に使われると理解することである。拒否作動装置170への適切な持続時間の1パルスを備える、報告560は、時間内の厳密な遅れ570または、記録時間550からのエンコーダカウントの後、公表される。
ここで留意すべきは、報告560はしばしば、510のようにその後の物体の検査を大幅に過ぎて、遅れる場合がある。視覚検出器は、適時まで報告を保持するためのよく知られている先入れ先出し(FIFO)バッファリング技法を使う。
物体の検査が完了した場合、視覚検出器は、アイドルステップ580を入力する可能性がある。このようなステップは任意であるが、いくつかの理由で好ましいかもしれない。最大物体速度が知られている場合、新しい物体が来るちょうど手前まで、物体を探す必要がない。アイドルステップは、物体が到着できなかった場合、不良物体検出の機会を除去し、アイドルステップ中に信号を近づけさせないため、照明系の寿命を延ばすであろう。
図6は、外部トリガモードで動作する視覚検出器の典型的なオペレーティング・サイクルを説明するスケジュールを示す。従来のトリガステップ220の機能に類似したトリガステップ620は、第一物体600の検査を始める。一連の画像取得ステップ630、632、634と対応解析ステップの640、642、644は、動的画像解析のために使われる。視覚事象検出モードで、フレームレートの物体が、連続フレーム間で視野のしばしば、各フレームごとに2、3のピクセルしかない、小さい部分を動かすのに高く十分であることが好ましい。フレームの固定数の後、アプリケーションの詳細に基づいて選択された数は、フレームの解析から得られる証拠がその物体の状況の最終決断をするのに使われ、そしてそれは、1つの実施態様の中では、報告ステップ650の自動装置に供給されている。報告ステップに続く、アイドルステップ660は、第2物体610の検査を始める次のトリガステップ670まで入力される。
もう1つの実施態様では、報告ステップは、図5で示されると同様の方法で遅れる。この実施態様では、記録時間680は、トリガステップ620に対応する時間(または、エンコーダカウント)である。
図7は、継続解析モードで動作する視覚検出器の典型的なオペレーティング・サイクルを説明するスケジュールを示す。フレームは、継続的に取得、解析、報告される。このような一つのサイクルは、取得ステップ700、解析ステップ710、報告ステップ720を含む。
[例示的装置]
図8は、製造環境における、視覚検出器のためのハイレベル・ブロック図を示す。視覚検出器800は、適切な自動装置810に接続され、それは、信号820を用いて、PLC、拒否作動装置、および/または、光検出器を含んでいてもよい。また、視覚検出器は、信号840を用いて、PCや携帯端末のようなヒューマン・マシン・インターフェース(HMI)830に接続してもよい。通常の生産使用中、HMIは、設定と監視のために使われ、取り除かれる可能性がある。信号は、いかなる条件に合ったフォーマット、および/または、プロトコルで実行され、有線または、無線形式で転送される。
図9は、視覚検出器の実施態様のブロック図を示す。デジタル・シグナル・プロセッサ(DSP)900は、取得、解析、報告、HMI通信、および視覚検出器に要求される、その他の適切な機能を制御するためのソフトウェアを起動する。DSP900は、メモリ910へ接続し、それは、プログラムとデータのための高速ランダム・アクセス・メモリと、電源が取り除かれた時のプログラムと設定情報を保持するための不揮発性メモリを含む。DSPは、また、自動装置の信号である、HMIインターフェース930、照明モジュール940と撮像装置960を供給する、I/Oモジュール920に接続される。レンズ950は、撮像装置960の感光部材に画像する。
DSP900は、汎用コンピュータ、PLC、または、マイクロプロセッサに限定されないものを含む、デジタル計算、情報保存、他のデジタル要素への接続の装置である。DSP900は、あまり費用がかからないが、高フレームレートを処理するのに十分速いことが好ましい。画像解析で、同時に撮像装置からピクセルデータを受取り、保存することができることがさらに好ましい。
図9の実施態様では、DSP900は、マサチューセッツ州のノーウッドのAnalog Devicesで生産された、ADSP−BF531である。ADSP−BF531DSP900の並列周辺インターフェース(PPI)970は、撮像装置960からのピクセルデータを受取り、メモリ910の保存のためのダイレクトメモリアクセス(DMA)チャンネル972を通して、メモリコントローラ974へデータを送る。適切なソフトウェア制御の下で、PPI970とDMA972の使用は、DSP900により実行されたその他の解析で同時に画像取得させる。PPI970とDMA972で制御するためのソフトウェア命令は、ADSP−BF533 Blackfin Processor Hardware Reference(品番82−002005−01)とBlackfin Processor Instruction Set Reference(品番82−000410−14)に含まれる、プログラム命令に従い、当業者により実行され、ここにある双方を参照することにより組み込まれる。ここで留意すべきは、ADSP−BF531、競合のADSP−BF532とADSP−BF533の装置が、同一のプログラム命令を持っており、適切な価格/実行取引を得るためにこの実施態様では交換可能に用いられることである。
視覚検出器による好ましい高フレームレートは、従来の技術視覚システムで使われている撮像装置でない、撮像装置の使用を勧めている。撮像装置は、高価でない照明を用い、非常に短いシャッター時間で、操作できるように、異常に光に敏感であることが好ましい。従来の技術システムよりも更に速いDSPでのピクセルデータのデジタル化や転送ができることが更に好ましい。それが、高価でなく、グローバルシャッターを持っていることがなお好ましい。
これらの物体は、従来の技術システムで使われた撮像装置よりも、さらに高い光感受性で、低い解像度を持つ撮像装置を選ぶことにより、対応するかもしれない。図9の実施態様では、撮像装置960は、カリフォルニア州サンタクララのナショナル・セミコンダクターにより製造されたLM9630である。LM9630は、典型的な従来の技術システムよりも約24倍少ない、128x100ピクセル、全部で12800の配列を持っている。ピクセルは、それぞれ、高い光感受性を持つ、20平方ミクロンの広さである。LM9630は、300マイクロ秒のシャッター時間でのセットが、LED照明を用い、300マイクロ秒にさせるために十分(ほとんどの場合)敏感である場合、毎秒500 フレームを供給できる。この解像度は、視覚システムにははるかに低すぎると考えられるが、本発明の目的である特徴検出の課題には十分である。LM9630の電気的インターフェースとソフトウェア制御は、2004年の1月のRev 1.0のLM9630データシートに含まれる命令に従い、当業者により実行され、それは、ここにある双方を参照することにより組み込まれる。
照明940は、高価でないが、短くシャッター時間をするのに十分な明るさがあることが好ましい。実施態様では、630のナノメートルで動作する高輝度の赤いLEDの列は、たとえば、Agilent Technologiesにより製造されたHLMP−ED25を使用している。もう1つの実施態様では、高輝度の白いLEDは、好ましい照明を実行するのに使われている。
図9の実施態様では、I/Oモジュール920は、出力信号922と924、入力信号926を供給する。このような出力信号は、拒否作動装置170の制御のために信号420(図4)を供給するのに使われる。入力信号926は、外部トリガを供給するのに使われる。
次の用語の画像取得装置は、デジタル画像を取得し、保存することを意味する。図9の実施態様では、画像取得装置980は、DSP900、撮像装置960、メモリ910と、関連した電気的インターフェースとソフトウェア命令を備える。
次の用語の分析器は、デジタル画像に限定されないものを含む、デジタルデータの分析の手段を供給する。図9の実施態様では、分析器982は、DSP900、メモリ910と、関連した電気的インターフェースとソフトウェア命令を備える。
次の用語の出力信号器は、分析器に応対する出力信号を生産するための手段を供給する。図9の実施態様では、出力信号器984は、I/Oモジュール920と出力信号器922を備える。
画像取得装置980、分析器982、出力信号器984を実施するために、本発明の範囲内で使われる、多くの交互配列、装置、ソフトウェア命令があることを当事者により、理解されるであろう。
特定の目的に合わせて本発明による装置を効率的に動作させるためには、種々のトレードオフが行われる可能性がある。次のような定義を考える。
bは、撮像装置960の利用できる解像度を十分に活かすためにレンズ950の視覚拡大を選択することにより、検査され、決定される可視の特徴を含む物体の一部により使用されるFOVの割合、
eは、誤差の票差として使われるFOVの割合、
nは、それぞれの物体が典型的に見られるフレームの好ましい最小数、
sは、一般に製造条件による、FOVの積としての物体間でのスペース、
pは、一般に製造条件により決定される、物体の提示率、
mは、上記の値に基づき選ばれた、連続のフレーム間で物体が移動するであろうFOV の最大比、
rは、上記の値に基づき選ばれた、最小のフレームレートである。
これらの定義から、以下のように示される。
撮像装置の利用可能な解像度を有効に利用するには、bは少なくとも50%であることが望ましい。動的画像解析では、nは少なくとも2でなければならない。したがって、物体は、連続フレーム間で視野の約1/4以下を移動することがさらに好ましい。
実施態様では、妥当な値は、b=75%、e=5%、n=4であるかもしれない。これは、物体が、フレーム間でFOVが約5%以下移動するので、フレームレートを選ぶには、すなわち、m≦5%であることを暗示する。製造条件が、s=2であった場合、フレームレートrは、物体提示率pを少なくとも約40倍する必要がある。5Hzの物体提示率を処理するためには、それは、公平な典型的の産業製造であり、好ましいフレームレートは、少なくとも約200Hzである。この率は、画像解析が5ミリ秒フレーム期間内で適応するために配列される限り、最大3.3ミリ秒シャッター時間で、LM9630を使うのに活かすことができる。利用できる技術を使い、約40,000ピクセルまで含む、撮像装置を使いこの率を達成することは、可能である。
同じ実施態様と12.5Hzのより高度な物体提示率で、好ましいフレームレートは、少なくとも約500Hzである。LM9630は、最大300マイクロ秒シャッターを使うことにより、この率を処理できる。
もう1つの実施態様では、m≦2%であるので、適正価値は、b=75%、e=15%、n=5であるべきである。s=2でp=5Hzで、好ましいフレームレートは、少なくともまた、約500Hzである。
図10は、視覚検出器のための適切な照明配置を示す。実施態様では、従来のLED1010を含む、18のLEDのリング1000は、レンズ1030に囲まれている。そのリングは、独立して制御できる、例の列1020を含む、3つのLEDの6列に分けられる。列の独立制御は、与えられたアプリケーションの必要に応じて照明方向を適応させる。
代替実施例においては、典型的なLEDを含む、16のLEDの長方形アレイ1050はレンズを緩みを持ち取り囲む。そのアレイは、例の列1070に含む、示されたように4列に分けられている。
本発明によれば動的画像解析の能力は、連続フレームが、照明された列を変えながら取得されるので、LEDを制御することによりいくつかの例を増すことができる。さまざまな方向から照明されたフレームから得られた証拠を考慮することにより、固定照明方向で検出するのが難しい信頼できる検出特性を可能にする。それに応じて、本発明は動いている物体で方向照明を変えることを利用して、解析させる。
[ファジー論理意思決定]
図11は、物体が、存在するかどうか、および、検査を通過するかどうかを判断することを含む、証拠を比較検討し、判断するための実施態様で使われるファジー論理要素を示す。
ファジー論理値は、ある特定の状態が真であるという信頼度の推定値を示す0〜1の間の数である。1の数値は、状態が真である信頼度が高いことを示し、0は状態が偽であるという高い信頼度を示し、中間値は、信頼の中間レベルを示す。
さらに精通しているニ値論理は、信頼値は、0から1で制限される、ファジー論理のサブセットである。ゆえに、ファジー論理を使うここに説明された実施態様は、同等のニ値論理方法または装置で置換されるこれらの値を使い、ファジー論理方法または装置で、別のニ値論理値として使うことができる。
ニ値論理値は、閾値を使うことにより、原測定値から得られるものであるように、ファジー論理値は、ファジー閾値を使うことにより得られる。図11を参照すると、グラフ1100は、ファジー閾値を示す。X軸1110は、原測定を示し、f軸1114は、ファジー論理値を示し、そのxの範囲は、全ての可能な原測定で、fの値域は、0≦f≦1である機能である。
実施態様では、ファジー閾値は、機能1124と1126上の点に対応して、x軸、低閾値t01120、高閾値t11122で示される、2つの数を備える。ファジー閾値は、次ので、定義することができる。
ここで留意すべきは、この機能が、t1<t0である場合、よく機能することである。他の機能は、また、シグモイドのような、ファジー閾値として使うことができる。
tとσは、閾値パラメータである。簡素であることが目標である実施態様では、従来型ニ値閾値は、ニ値論理値を結果として、使うことができる。
ファジー意思決定は、AND1140、OR1150、NOT1160のファジーバージョンに基づいている。2つまたはそれ以上のファジー論理値のファジーANDは、最小値であり、ファジーORは、最大値である。fのファジーNOTは、1−fである。ファジー論理は、ファジー論理値が0か1で制限されている場合、二進法では、同一である。
実施態様では、真偽の決定が必要である時はいつでも、ファジー論理値は、それが少なくとも0.5である場合は、真として見なされ、0.5以下であれば、偽であると考えられる。
ここにあるファジー論理に関連して、値0および1について批判がないことは、当事者により、明らかであろう。信頼の中間レベルを示す中間値として用い、いかなる数が、状態が真であることを高信頼を示すのに使い、それとは違う数が状態を偽であることを高信頼を示すのに使うことができる。
[動的画像解析]
図12は、実施態様において証拠がどのように動的画像解析に値されるのかを示すものである。本実施例においては、基本決定と呼ばれる以下の2つが決定されなければならない。1.物体または物体の目に見える機能は目で見ることができる範囲に位置しているか。2.その場合、該目的物の状態はどのようなものか。
物体が目に見える範囲に位置しているという証拠を構成する情報は物体検出加重と呼ばれる。物体の状態に関する証拠を構成する情報は、物体合格点と呼ばれる。様々な実施例において、該物体の状態は、該物体が使用者により適宜決定された検査基準を満たしているか否かを示すものである。以下においては、該検査基準を満たす物体は「検査合格」とされる場合もある。
図12は、2つのプロット、物体検出プロット1200および物体合格プロット1202を示している。2つのプロットの横軸はフレーム連番iを表しており、各フレームは模範線1204というような縦のラインで表されている。
図12の実施例では、物体検出加重はファジー論理値diであり、物体がフレームiのFOVに位置するという証拠であり、また以下に記述のある方法を用いて、各フレームでビジョン検出器により計算される。物体合格点はファジー論理値piであり、物体がフレームiにおいて適切な検査基準を満たしているという証拠であり、また以下に記述のある方法を用いて、選択されたフレームでビジョン検出器により計算される。物体検出プロット1200の縦軸はdiを表し、物体合格プロット1202の縦軸はpiを表す。
図12の実施例では、di≧0.5であるフレームは有効であると考えられる(有効フレームの説明については上記図5の記述を参照)。参考として、di=0.5であるライン1230が描かれている。有効フレームに対する物体検出加重および合格点は、例えばポイント1210および1212ように黒丸で描かれており、無効フレームは、例えばポイント1214および1216のように白丸で描かれている。図12の実施例では、「有効」とみなされているか否かに関わらずすべてのフレームに対して物体合格加重が計算されているが、物体合格加重が有効フレームに対してのみ計算されている実施例もある。
図12の例では、すべての有効フレームは1つの物体の検査に対応し、上記図5の記述で説明された通り、隔離無効フレーム1220は検査を中断するものではない。
一実施例においては、物体は有効フレーム数が一定の閾値を超えたか否かで検出されたと判断されている。別の実施例では、物体は有効フレーム全体の物体検出加重の合計が特定の閾値を超えたか否かで検出されたと判断されている。これらの閾値は与えられたアプリケーションに対して適宜設定される(図34を参照)。
図12の実施例では、物体はそれぞれに対応する物体検出重で加重付けられた、物体合格点の加重付け平均が最低でも0.5であるか否かという検査を合格したと判断されている。さらに正確にいうならば、以下の場合に物体は検査に合格する。
ここで合計がすべての有効フレームを超えている。本化学式の効果は、物体の合格点を平均化することではなく、物体が本当に対応するフレームに存在したという信頼性に基づいて各スコアに加重付けをすることである。
代替実施例においては、物体合格点平均が少なくとも0.5である場合、物体は検査に合格するために判断される。これは、すべての加重が均一である加重付け平均に等しい。
図12の例においては、物体合格点の加重付け平均は約0.86であり、それはライン1240によって座標上に示されている。有効フレームの数は11、そして物体検出加重の合計は約9.5である。この例においては、物体は検出されて、検査に合格する。
図13は、別の実施態様において、動的画像証拠がどのように検討されるかを示す。この例においては、検査される物体の特徴は分かりづらく、物体が視野を通って移動する際、表示と照明の遠近感が丁度良い場合に、主に、フレーム1300および1310などの少数の有効フレームの信頼性とともに現れる。これら数フレームにおいて、証拠が十分あってその特徴が存在する限り、物体は検査に合格するはずである。このシナリオでは、どの有効フレームがこの証拠を有することになるのかを事前に知ることは不可能である。ゆえに、合格点の加重平均はこの場合には適合しない。代わりとしては、これら有効フレームのいずれかにおいて合格点が閾値を超える場合に物体を合格させることであるが、この代替案では証拠が少なすぎることに基づいて物体が合格する可能性がある。図13の実施態様においては、加重パーセンタイル法が使用されている。
加重パーセンタイル法は、合格点が少なくともpである場合、分数Q(p)に基づく。
物体は、Q(p)が少なくともある閾値tである場合、合格するために判断される。図13の実施態様では、p=0.5であり、ライン1320としてプロットされる。この場合、適当な閾値tは10%であろう。
有用な挙動は、tの異なる値を用いて得られる。例えば、t=50%である場合、物体は検査に合格するために、加重中央値が少なくともpであるかどうかを判断される。加重中央値は加重平均と似ているが、一部の例においてより適切な特性を有する。
例えば、t=90%のように高い値の場合、合格点が少なくともpである、圧倒的大多数の加重が対応する場合のみ、前記物体は検査に合格であると判断されるであろう。t=100%である場合、すべての有効フレームの合格点が少なくともpである場合のみ、前記物体は検査に合格であると判断されるであろう。いかなる有効フレームが、合格点が少なくともpであるフレームを有することを意味し、Q(p)がゼロより大きい場合、前記物体はまた、検査に合格であると判断されるであろう。
他の有用な変動においては、合格点が、加重の合計の分数ではなく、少なくともpである場合、物体は加重の合計に基づいて、検査に合格であると判断される。
代替実施例では、合格点が少なくともpであるフレーム数に基づいて、パーセンタイル法が使われる。これは、すべての加重が等しい場合の加重パーセンタイル法に匹敵する。物体が検出されかどうか、および物体が検査に合格したかどうかを決定するために証拠を検討する上記の方法は、有用な実施例を意図しているが、本発明の領域において使用できる方法を制限するものではない。例えば、上記で使われる典型的定数0.5は、適切ないかなる値によって差し替えられてもよい。当業者は、動的画像解析に関する、さらなる多くの方法を考えつくであろう。
[本発明のソフトウェア要素]
図14は、フレーム解析、判断、入力感知、および出力信号調節のために、実施態様により使用される一連のソフトウェア要素の編成(例えば、コンピュータ可読媒体のプログラムインストラクション)を示す。各要素がそれぞれクラスに対応するように、C++等従来のオブジェクト指向プログラミング言語のクラス階層を使用して要素が実行されてもよい。しかしながら、ここで記載されるプロセスを実行するには、基準を満たすいかなるプログラミング技術および/または言語をも使用することができる。
図解されるように、ガジェットクラス1400のように、点線の境界線付きのクラスは、独立しては存在せず、ロケータクラス1420のような具体派生クラスを構築するのに使用される抽象基本クラスである。実線で境界されたクラスは、ユーザーがアプリケーションを設定する必要がある時に、HMI830を使用して作成および破壊することができる動的オブジェクトを表す。入力1450などの破線で境界されたクラスは、特定のハードウェアやソフトウェアリソースと関連する静的オブジェクトを表す。静的オブジェクトは常に存在するものであり、ユーザーによって作成または破壊されることは不可能である。
すべてのクラスは、ガジェットクラス1400から派生しているため、図14に示すクラスのインスタンスであるすべてのオブジェクトはガジェットの一種である。実施態様においては、各ガジェットは、
1.ユーザーが選択することのできる名前を有し、
2.他のガジェットが判断および出力信号を制御するために、論理入力として使用することができる論理出力(ファジー理論値)を有し、
3.ユーザーが操作を特定するために構成することができる一連のパラメータを有し、
4.論理出力(すなわちファジーNOT)を反転するのに使用可能な、そのようなパラメータをひとつ有し、
5.実行可能であり、そのパラメータ、該当する場合は論理入力、ある種のガジェットについては現行フレームのコンテンツに基づいて論理出力が更新され、また出力信号の設定のような副作用を引き起こすことがある。
フレーム分析作業には、ガジェット実行前に、ガジェットへのすべての論理入力が更新されたことを保証するために確定された順序で、各ガジェットを一度実行することが含まれる。ある実施例においては、その論理出力が必要ではないフレームの間はガジェットが実行されない。
写真クラス1410は、論理出力が現行フレームのコンテンツに依存するすべてのガジェットの基本クラスである。これらのクラスは実際に画像解析を行うクラスである。各写真は現行フレームの関心領域(ROI)のある特徴を測定する。ROIは、検査される物体の可視機能に対応する。この測定は写真のアナログ出力と呼ばれる。写真の論理出力は、感度閾値と呼ばれる、ユーザーによって構成されることができる一連のパラメータ中に存在するファジー閾値を用いて、アナログ出力から計算される。写真の論理出力は、判断を下す際に使われる証拠を提供するのに使用可能である。
検出器クラス1430は、ROIにおける測定および判断を下す際の証拠を提供することを主目的とする写真の基本クラスである。実施態様においては、すべての検出器ROIは円型である。円形のROIは、回転を処理する必要がないため実行を簡素化し、またROIの形が1つしかないことで、ユーザーが学習すべきことを簡素化する。検出器パラメータにはポジションおよびROIの直径が含まれる。
輝度検出器1440はROIにおける加重平均やパーセンタイル輝度を測定する。コントラスト検出器1442はROIにおけるコントラストを測定する。エッジ検出器1444は、特定方向において、ROIがエッジのように見える領域を測定する。スポット検出器1446は、ROIが穴のような丸い特徴に見える領域を測定する。テンプレート検出器1448は、ROIがユーザーが選択した、事前にトレインされたパターンのように見える領域を測定する。検出器の操作は、さらに下記に説明される。
ロケータクラス1420は、2つの主目的を持つ写真を表す。1つ目は、判断を下す際の証拠を提供することが可能な論理出力を生成することであり、これにより、他のいかなる検出器のようにも使用することができる。2つ目は、視覚検出器の視野にあるオブジェクトの位置を決定することにより、他の写真のROIのポジションを、オブジェクトのポジションを追跡するように移動することができることである。どのロケータも、1つのまたは両方の目的に使用することができる。
代替実施態様においては、ロケータは、フレーム内における一次元領域でエッジを検索する。検索方向は、エッジに向かって垂直であり、ユーザーによって設定されるパラメータの中にある。ロケータのアナログ出力はエッジ検出器のアナログ出力と似ている。ロケータは、さらに下記に説明される。
入力クラス1450は、外部トリガのような、視覚検出器に送られる入力信号を表す。出力クラス1452は、拒否作動装置を制御するために使われる可能性のあるような、視覚検出器からの出力信号を表す。典型的入力信号926(図9)のような、各物理的入力に対して、入力クラスの静的インスタンスが1つ、および、典型的出力信号922および924のような、各物理的出力に対して、出力クラスの静的インスタンスが1つ存在する。
ゲートベースクラス1460はファジー論理の意思決定を実行する。各ゲートは、他のガジェットの論理出力に接続可能な論理入力を1つ以上有する。各論理入力は、ユーザーが設定可能なパラメータを用いて、反転(ファジーNOT)することが可能である。ANDゲート1462は、ファジーAND操作を実行し、ORゲート1464は、ファジーOR操作を実行する。
判断クラス1470は、2つの静的オブジェクトである、物体検出判断1472および物体合格判断1474の基本クラスである。判断は、主な判断を下して、連続フレームに対して証拠を検討することにより、動的画像解析を実行する。それぞれの判断は、ユーザーが写真、または、たいてい写真とほかのゲートである、ガジェットの論理結合を与える、さらに典型的なゲートの論理出力を接続するために論理入力を持つ。
物体検出判断1472は、物体が検出されたかどうかを決定し、物体合格判断1474は、その物体が検査に合格するかどうかを決定する。物体検出判断への論理入力は、各フレームに対する物体検出の加重を提供し、物体合格判断への論理入力は、各フレームに対する物体合格点を提供する。
物体検出判断の論理出力は、いつ判断が下されたのかを示すパルスを提供する。「プロセス中の出力」と称する、ある操作モードにおいては、パルス立ち上がりは、例えば図5の解析ステップ540の終了時などの、物体の検査開始時に発生し、立ち下がりは、例えば分析ステップ548の終了時などの、物体の検査完了時に発生する。「終了時の出力」という別のモードにおいては、パルス立ち上がりは、例えば図5の分析ステップ548の終了時のような、物体の検査が完了する時に発生し、立ち下がりは、例えばアイドルステップ580の終了時のように、その少し後に発生する。
物体合格判断の論理出力は、最近に検査された物体が合格したかどうかを示すレベルを提供する。例えば分析ステップ548の終了時のように、物体の検査が終了した時にレベルの状態が変わる。
図15は、物体の検査に写真がどのように使われることができるかという例を示す。図15は物体110(図1より)のイメージを表しており、ラベル機構120およびホール機構124とともに、写真を表す重畳グラフィックスを有し、それはユーザーが見て操作できるようにHMI830に表示される。HMI上での画像および重畳グラフィックスの表示は画像表示と呼ばれる。
図15は画像表示を表しており、ラベル1510およびホール1512を含む物体1500を示す。この例における物体は、検査される6つの可視特徴を含み、さらに下記で説明されるロケータ2つおよび検出器4つに対応している。
ロケータ1520は、物体の上端を検出して位置を確認するために使用され、別のロケータ1522は右端を検出して位置を確認するために使用される。
輝度検出器1530は、物体の存在を検出する助けとなるように使用される。この例では、背景は物体より明るく、感度閾値が2つの明るさのレベルを区別するように設定されており、より明るい背景ではなく、より暗い物体を検出するために論理出力が反転されている。
さらに下記で説明されるように、ロケータ1520および1522、そして輝度検出器1530は、ともに物体が検出されことを判断するのに必要な証拠提供する。
コントラスト検出器1540は、ホール1512の存在を検出するために使用される。ホールが存在しない場合、コントラストは非常に低く、ホールが存在する場合、コントラストは極めて高くなる。スポット検出器もまた使用される。
エッジ検出器1560は、ラベル1510の存在および位置を検出するのに使用される。ラベルが存在しなかったり、水平に間違った位置にあったり、著しく回転している場合は、エッジ検出器のアナログ出力は非常に低くなる。
輝度検出器1550は、正しいラベルが貼られたかどうかを確認するために使用される。この例では、正しいラベルは白であり、誤ったラベルは暗い色をしている。
物体が視覚検出器の視野を通って左から右に移動すると、ロケータ1522が物体の右端を追跡し、物体に対して正しい位置になるよう、輝度検出器1530、コントラスト検出器1540、輝度検出器1550、およびエッジ検出器1560を再配置する。ロケータ1520は、検出器を物体の上端の位置に基づいて再配置し、視野内の物体のいかなる垂直位置の変動も修正する。一般的に、ロケータはどのような位置にでも配置することができる。
ユーザーは、既知のHMI技術を使用して、画像表示内で写真の操作をすることができる。写真はマウスをクリックすることにより選択可能であり、またドラッグすることにより、そのROIは移動、サイズ変更、および回転が可能である。ロケータに関する付加的な操作は、下記で説明される。
図16は、図15の設定例に対応する配線図を含む、論理表示を示す。配線図は、自動装置への事象とインターフェースを検出するのに使用されるすべてのガジェット、およびガジェットの論理入力・出力間の接続を示す。配線図は、ユーザーが見て操作するようにHMI830に表示される。ガジェットの表示およびそれらのHMIにおける論理的相互接続は論理表示と呼ばれる。
さらに図16の配線図について言及すると、「トップ」という名前のロケータ1620は、図15の画像表示内のロケータ1522に対応して、ワイヤー1624によりANDゲート1610に接続される。同様に、「サイド」ロケータ1622は、ロケータ1530に対応して、「ボックス」検出器1630は、輝度検出器1530に対応して、またANDゲート1610に配線される。小円1632で示されるように、および上記の通り、明るい背景に対してより暗い物体を検出するために、「ボックス」検出器1630の論理出力は反転されている。
ANDゲート1610の論理出力は、物体の上端が検出されたこと、物体の右端が検出されたこと、および背景が検出されていない、ということについて信頼性のレベルを表している。信頼性が高く3つの条件がすべて真である場合、信頼性が高いため物体自体が検出されている。ANDゲート1610の論理出力は、各フレームに対する物体検出の加重として使用されるため、物体検出判断1600に配線される。
この場合の物体検出判断への論理入力は、現行フレームに依存するため、前記視覚検出器は視覚事象検出モードで作動している。外部トリガモードで動作させるためには、入力ガジェットは物体検出に配線される。連続分析モードで動作させるためには、物体検出には何も配線されない。
物体検出に配線するガジェットの選択は、アプリケーションの知識に基づきユーザーによって行われる。図15および16の例においては、ユーザーは上端および右端だけを検出するのでは、物体の存在を確認するのに十分ではないと決定する可能性がある。ここで留意するべきなのは、ロケータ1522は、物体の右端に反応するのと同じように、ラベルの左端にも反応する可能性があること、そしておそらくこの時点で、プロダクションサイクルにおいて、ロケータ1520が背景で他の端を発見した可能性があるということである。検出器1530を加えること、またANDゲート1610を用いて3つすべての条件を満たすことで、物体の検出は信頼性の高いものになる。
配線図において、コントラスト検出器「ホール」1640はコントラスト検出器1540に対応して、輝度検出器「ラベル」1650は輝度検出器1550に対応して、そしてエッジ検出器「ラベルエッジ」1660はエッジ検出器1560に対応して、ANDゲート1612に配線される。ANDゲート1612の論理出力は、3つの画像特性すべてが検出されたという信頼性のレベルを表し、各フレームに前記物体合格点を提供するために物体合格判断1602に配線される。
論理検出判断1600の論理出力は、ANDゲート1670に配線される。物体合格判断1602の論理出力は反転されており、またANDゲート1670に配線される。物体検出判断は「終了時に出力」モードに設定されているため、物体が検出され検査が完了した後、物体検出判断1600の論理出力にパルスが存在する。物体合格1602の論理出力は反転されているため、物体が検査に合格しない場合のみ、ANDゲート1670の論理出力上に存在する。ANDゲート1670の論理出力は、拒否作動装置170に直接接続可能な視覚検出器からの出力信号を制御する、「拒否」という名前の出力ガジェット1680に配線される。出力ガジェット1680は、ダウンストリームの拒否作動装置に必要とされる適切な遅延570を行うために、ユーザーにより設定される。
ユーザーは既知のHMI技術を使うことにより、論理表示内でガジェットを操作することができる。ガジェットはマウスをクリックすることにより選択可能であり、そのポジションはドラッグによって移動可能、そしてワイヤーはドラッグ・ドロップ操作により作成が可能である。
ユーザーが視覚検出器について理解しやすいように、ガジェットおよび/またはワイヤーはファジー論理値を示すために、視覚的外観を変更することができる。例えば、ガジェットおよび/またはワイヤーは、論理値が0.5未満の場合は赤く、それ以外の場合は緑に表示されることが可能である。図16において、ワイヤー1604および1672は、0.5未満の論理値を示すために破線で描かれており、例えばワイヤー1624などの他のワイヤーは、論理値が0.5に等しいかまたはそれ以上であることを示すために実線で描かれている。
当業者は、ガジェットの適切な選択、設定、および配線により、様々な物体が検出および検査可能であるということを認識するであろう。当業者はまた、ガジェットクラス階層が本発明を実行するのに使われる多くのソフトウェア技術の中の一つに過ぎないことを認識するであろう。
[検出器の画像解析方法]
図17は、輝度検出器とコントラスト検出器で使われる方法を説明する。輝度検出器の一つ実施態様では、アナログ出力は、ROI内の平均中間レベルである。実施態様では、正の加重カーネル1700は、ROIのサイズと形に対応して作成され、アナログ出力Aは、加重付けされた平均中間レベルである。
wiは、i番目の加重、ziは、対応するピクセル中間レベルである。図17の実施態様では、前記加重は、カーネルの中心から各加重の中心までの距離rのガウス関数を概算する。
中心付近のピクセルは、端付近のピクセルよりも高く加重付けされている。中心の加重付けされた輝度検出器の利点の一つは、輝度特性が検出器のROIの端付近にある場合、その位置のわずかな変化は、アナログ出力の大きな変化を及ぼさないだろうということである。図17では、a=99であるが、いずれかの適切な値が使われる。値σは、カーネルの直径dに基づき設定されている。
図17の実施態様では、b=1.0である。
別の実施態様では、アナログ出力は、中間レベルが以下のようである、関数C(q)によって、定義される。
qは、ユーザーにより選択されたパーセンタイルである。Cは、中間レベルの逆累積加重超関数である。qのさまざまな有用な値を以下の表に挙げる。
コントラスト検出器のある実施態様において、アナログ出力は、ROI内での中間レベルの標準偏差である。実施例となる実施態様において、正の加重1700の列を使用して、下記のような加重標準偏差を算出することができる。
また別の実施態様において、アナログ出力は下記の式によって算出される。
ただし、q値はユーザーが選択可能である。有用な値は、qhi =0.95、qlo=0.05である。
図18は、ステップエッジを検出するエッジ検出器を実行するための方法を示す。ステップカーネル1800は、ROIのサイズと形状、エッジの所定の方向に対応して作成される。ステップカーネル1800において、ROIは直径12ピクセルの円であり、エッジの方向は水平から15度である。ステップカーネル1800は、各加重の端から中心までの距離tのガウス関数の一次導関数の近似値である。
図18において、a=99であるが、いかなる適切な値でも使用可能である。一実施形態として、式(9)ではb=0.5が使用される。
ki値を有するステップカーネル1800は、望ましいステップエッジテンプレートeiおよび正の加重wiの積であると考えられる。
ここで留意すべきは、望ましいステップエッジテンプレート値eiは、ki>0の時、+1であり、ステップカーネル1800の白地に黒の領域に対応しており、またki<0の時、−1であり、ステップカーネル1800の黒字に白の領域に対応している。
コントラストCとステップカーネルの加重正規化相関R2およびピクセル値ziを有する類似の形のROIを以下のように定義する:
コントラストCは加重標準偏差において標準式を使用しており、R2は加重正規化相関において標準式を使用しているが、ステップカーネル1800によって簡略化されてい
る。
値kiを有する直行のステップカーネル1810もまたステップカーネル1800と同一であるが、90度回転して作成されている。比率:
は、エッジの実際および予測される方向との間のタンジェントの合理的な推定値であり、特にDもまた角度自体の適切な測定値である場合の小角度である。ここで留意すべきは、直行のステップテンプレート1810は作成される必要が無く、ステップテンプレート1800からの値を使用することが可能だが、異なる順序におけるROIのピクセル値に対応していなければならない。
図19は、エッジ検出器の実施態様におけるアナログ出力を決定するために、どのように値R2、C、およびDが使用されるかを示している。三つの条件が合った場合、エッジが検出されることが確かである。
1.ROIは望ましいステップエッジのようであり、望ましいステップエッジテンプレート加重正規化相関R2とROIが高いということを意味する。
2.コントラストCは、ノイズ閾値を著しく上回っている。
3.角度Dが小さい。
ROI1910とステップカーネル1920を使用した加重正規化相関操作1900は、R2を計算する。ROI1910とステップカーネル1920を使用したコントラスト操作1930は、ファジー閾値操作1940によってコントラストがノイズレベルを上回るという信頼度を示すファジー論理値1942に変換されるCを計算する。ROI1910、ステップカーネル1920および直行ステップカーネル1922、比率操作1960のアークタンジェントの絶対値を使用した加重相関操作1950および1952は、ファジー閾値操作1970によって予想されるエッジの方向と実際のエッジの方向の間の角度が小さいという信頼性を示すファジー論理値1972に変換されるDを計算する。
ファジーAND要素1980は、エッジ検出器のアナログ出力1990を生成するためにR2とファジー論理値1942と1972を操作する。ここで留意すべきは、範囲が0から1である、R2は、ファジー論理値として直接使用可能であることである。アナログ出力1990は、値域は0から1であるが、一つの異なる値域が望ましい場合、たとえば、100であるような定数を掛けることができる。ここで留意すべきは、エッジ検出器の論理出力はすべての写真が有する感度閾値を用いアナログ出力から生成することである。
図20は、リッジエッジを検出するエッジ検出器を実行するための方法を説明する。リッジカーネル2000は、ROIのサイズと形状、エッジの所定の方向θに対応して作成される。リッジカーネル2000において、ROIは直径12ピクセルの円であり、その方向θは水平から15度である。リッジカーネル2000は、各加重の端から中心までの距離rのガウス関数の一次導関数の近似値である。
図20において、a=99であるが、いかなる適切な値でも使用可能である。実施態様において、式9はb=0.33が使用される。
リッジカーネル2000の使用は、ステップカーネル1800の使用に類似している。コントラストCは、同じ式を用い、計算するが、カーネル値の合計が0ではないためR2は、異なる式を用いる:
ここで留意すべきは、この式は、カーネル値の合計が0である場合、ステップエッジのために用いられた式から削減することである。
異なる方法は、実際の方向および予測される方向の間の角度Dを決定するために用いられる。値Ki +を有する正の回転リッジカーネル2020は、エッジ方向θ+aで形成され、値Ki −を有する負の回転リッジカーネル2010は、エッジ方向θ−aで形成される。放物線は、点に適応する。
放物線の最小値のX座標は、エッジの実際の方向および予測される方向との間の角度Dの適切な推定値である。
図21は、ステップエッジかリッジエッジであるかを検出することができるエッジ検出器の実施態様におけるアナログ出力を決定するために、どのようにリッジカーネルが使用されるかを示している。リッジエッジ検出では、加重正規化相関2100は、R2を計算するためにROI2110とリッジカーネル2120を使用する。コントラスト操作2130は、ファジー閾値2140によってコントラストがファジー論理値に変換されるCを計算するためにROI2110とリッジカーネル2120を使用する。相関要素2150、2152、2154は、ファジー閾値2170によってコントラストがファジー論理値に変換される角度Dを計算するためにROI2110とリッジカーネル2120、正の回転リッジカーネル2124と負の回転リッジカーネル2122を使用する。
R2とファジー論理値は、リッジエッジを検出できるエッジ検出器のためのリッジアナログ出力2192を生成するためにファジーAND要素2180により使用される。ステップまたはリッジエッジを検出できるエッジ検出器のために、ステップエッジ検出器2188からのリッジアナログ出力2192とアナログ出力1990は、合成アナログ出力2190を生産するためにファジーOR要素2182により使用可能である。
図22は、エッジ検出のためのパラメーターを設定するために、ユーザーが見て操作するようにHMIに表示されるグラフィカル制御を示す。ガジェットパラメーターを設定するためのHMI830に表示されているグラフィカル制御のセットは、パラメータービューと称する。ほかの写真のパラメータービューは、それが当業者に構築の方法であることが明らかである図22に十分類似している。
ネームテキストボックス2200は、ユーザーにガジェット名を見たり入力させる。時間表示2202は、ガジェットの最新起動でかかった時間を示す。論理出力ラベル2204は、ガジェットの現在の論理出力値を示し、真(≧0.5)と偽(<0.5)であるかを見分けるための色、形、または、ほかの指標に変えてもよい。反転チェックボックス2206は、ガジェット論理出力を反転させる。
賛成ボタン2210と反対ボタン2212は、下記でさらに説明されるように(図45)、教示として使われる。
ポジション制御2220は、視野内での写真の位置決めに使われる。直径スピナー2222は、検出器の直径を変えるのに使われる。方向制御2224は、予期されるエッジ方向にエッジ検出器を配置するのに使われる。位置、直径、配置は、また、たとえば図15の画像表示のように、画像表示の画像操作により設定可能である。
エッジタイプチェックボックス2230は、検出されたエッジのタイプとエッジ極性を選択するのに使われる。濃淡へのステップ、淡濃のステップ、ダークリッジ、ライトリッジは選択可能である。選択のいかなる合成も、何も選択しないことを除いて、可能である。
揺れスピナー2240は、ユーザーにエッジ検出器が特定の位置の周りの配置±jピクセルのセットを起動させるような、パラメーターjを特定させ、最高アナログ出力を有する配置が使用される。
感度閾値制御2250は、ユーザーに写真の感度ファジー閾値を設定させる。ゼロ点ラベル2251は、ゼロ点スライダー2252により設定可能な、t01120(図11) への値を示す。1点ラベル2253は、1点スライダー2254により設定可能な、値t11122を示す。アナログ出力ラベル2255は、写真の現在のアナログ出力を示す。アナログ出力はまた、アナログ出力ラベル2255の領域内に埋めることにより画像的に示し、それは、その側にある水銀温度計のように縮んだり増えたりする。埋めた領域は、t0の下の第一ゾーン2256、t0とt1の間の第二ゾーン2257、t1の上の第三ゾーン2258に対応して3つの異なる色または、パターンに表示可能である。
コントラスト閾値制御2260は、ユーザーにコントラストCを見せ、コントラストファジー閾値1940と2140を設定させる。これらの制御は、感度閾値制御2250と同様の方法で操作される。
方向エラー制御2270は、ユーザーに実際の方向および予測される方向Dの間の角度を見せ、方向ファジー閾値1970と2170を設定させる。これらの制御は、Dの低値が、ファジー論理値を高くすることに対応するので、閾値表示は、左から右のかわりに右から左への埋めることを除いては、感度閾値制御2250と同様の方法で操作される。
図23は、スポット検出器を実行する方法を説明する。スポットカーネル2300は、ROIのサイズと形状に対応して作成される。スポットカーネル2300のために、ROIは、直径15ピクセルの円である。スポットカーネル2300は、式18と9を用い、カーネルの中心から各加重の中心までの距離rのガウス関数のニ次導関数の近似値である。実施態様において、b=0.6である。
スポットカーネル2300の使用は、リッジカーネル2000の使用と類似している。加重正規化相関R2とコントラストCは、リッジカーネルで使用されたものと同じ式を用い、計算される。
図24は、スポット検出器の実施態様におけるアナログ出力を決定するために、どのようにスポットカーネルが使用されるかを示す。スポット検出器の操作は、角度Dが計算されない、または使用されないことを除いては、図19に示されたエッジ検出器実施態様と同一のものである。加重正規化相関2400は、R2を計算するためにROI2410とスポットカーネル2420を使用する。コントラスト2430は、ファジー閾値2440によってファジー論理値に変換されるCを計算するためにROI2410とリッジカーネル2420を使用する。R2とファジー論理値は、スポットアナログ出力2490を生産するためにファジーAND要素2480により使用される。
[探知機のための方法およびヒト‐マシンインターフェイス]
図25は、実施態様に従い、探知器の操作を説明するために使用される1組の画像表示である。第一の画像表示2500および第二の画像表示2502には、1台の検出器2510と1台の探知器2512がある。読み手は、検出器2510と探知器2512の以下の説明は、任意の検出器および探知器に一般的に適用されることを理解する。さらに、読み手は、本発明の範囲内において、探知器を構成するための代替方法が多数派生することを理解する。
実施態様において、探知器は、さまざまなあらゆる周知の技法を使用して、一次元範囲の接線を検索する。検索方向は接線の法線であり、探知器は接線に沿って補正を指定するために使用される幅パラメータを持ち、周知のやり方で使用される。探知器のアナログ出力は、接線を検索するために使用される特定の方法に依存する。
実施態様において、探知器は、接線に対して並行なROIの予測を計算する周知の方法を使用して、接線の一次元範囲を検索し、検索範囲に沿って一次元の形状を作成する。一次元形状は、一次元接線カーネルで畳み込み積分され、ピーク応答の位置は接線の位置に対応する。周知の放物線補間のような補間は、接線の位置の正確度を向上することが望ましい場合に使用できる。別の実施例では、接線は、図19または図21の接線検出器を使用して、ここでも正確度を向上することが望ましければ補間することにより、ピークアナログ出力を検索することにより、場所を探すことができる。
別の実施例では、探知器は、変換、回転、サイズ自由度などの周知の方法を使用して、多次元範囲を検索する。当業者には、本発明の実践においてフォトを配置するために多次元の探知器を採用する方法が明らかであるので、以下の検討は、簡便性のために好まれる、一次元の探知器に限定する。
検出器2510と探知器2512は、境界の任意の場所をクリックしてドラッグすることにより、FOVを移動できる。検出器2510は、直径を変更するためのサイズ変更ハンドル2520を持ち、探知器2512は、幅と範囲を変更するためのサイズ変更ハンドル2522と方向を変更するための回転ハンドル2524を持つ。すべてのフォトは、境界をドラッグすることにより移動させることが可能で、操作に適した同様なハンドルを持つ。
図25の実施態様では、探知器は、画像表示では、プランジャ2530と呼ばれる、内側に直線線分のある四角形として描かれる。探知器の幅はプランジャと並行で、範囲はプランジャの法線である。探知器は、プランジャが発見される接線とほぼ平行であるように、ユーザーにより向きが決められる。四角形は検索範囲を示し、プランジャはもしあれば検出される接線の位置を示す。接線が検出されなければ、プランジャは範囲の中心に描かれる。
探知器は、図では破線として示されているレール2532を持ち、プランジャと一致するが、画像表示の接線に対して両方向に伸びている。
各フォトは、本発明の特定の実施例により決定される最大数まで、ゼロ以上の探知器にリンクできる。リンクの数は、検知器が制御できる自由度の数を決定する。自由度には、回転、サイズ、および、2変換の自由度がある。実施態様では、リンクの最大数は2で、変換の自由度だけが制御される。
リンクは、画像の接線に従い、探知器のプランジャが移動するとフォトがどのように移動するかを定義する。移動は、リンクされている検知器のレールに対する一定の距離でフォトを固定するように定義される。実施態様では、リンクは、構造要素とベアリングから実際にリンクを作成することができ、プランジャに力が働くとフォトが同じように移動するように、機械的類推を使用して描かれる。
図25では、検出器2510から探知器2512へのリンクには、ロッド2540があり、ポスト2542により、検出器2510とレール2532に沿って自由に運動するが、レールに対して正しい角度でロッドを固定しているスライダ2544に固く取り付けられている。もし延長すれば、ロッドがフォトの中心を、さらに、レールに近い2つの可能点で通過するように、フォトの境界上に描かれる。探知器のレールは、リンクがある場合にのみ表示される。
各フォトには、境界上の一部に、四角いハンドルとして描かれているエミッタを持つ。例えば、検出器2510はエミッタ2550を持ち、探知器2512はエミッタ255 2を持つ。リンクは、フォトのエミッタを探知器の任意の点にドラッグしてドロップすることにより作成される。リンクが既に存在する場合は、ドラッグアンドドロップによりリンクが削除されることがある。または、削除には別のメカニズムが使用されることがある。ユーザーは、リンクの最大許容数を超えるリンクをフォトまたは循環依存から作成することはできない。探知器にエミッタをドラッグする間、ユーザーを支援するために、リンクが作成、削除、または拒否(および理由)されるかどうかをユーザーに伝えるツールのヒントが提供される。
探知器をドラッグしても、プランジャの振る舞いは変化しない。プランジャがあれば、接線上に固定されており、プランジャがなければ、中心に復帰する。このように、法線が検出されている間に探知器をドラッグしても、検索範囲を変更するだけである。プランジャは視野に対して相対的に移動しない。さらに一般的には、探知器をドラッグしても、リンクされているフォトの位置は変わらない。探知器をドラッグすると、その他のフォトが視野に対して相対的に移動しないように、必要に応じてロッドの長さが調整される。
任意のプランジャは、法線にあってもなくても、探知器の範囲内でマニュアルでドラッグすることができ、また、任意のリンクされたフォトはこれに応じて移動する。これにより、ユーザーは、リンケージの影響を見ることができる。マウスボタンがリリースされるとすぐに、プランジャは正しい位置に素早く戻る(リンクされたフォトを適切な位置に戻す)。
図25では、検出器2510は、1台の探知器2512にリンクされているので、1つの変換自由度が制御される。自由度は、接線方向に対する法線であり、つまり、ロッド2540の方向である。第二の画像表示2502を第一の画像表示2500と比較すると、プランジャ2530は、画像の接線(非表示)に従うように右側に移動している。探知器2512の視野における位置は変わっていないが、検出器2510がプランジャに従い右側へ移動し、物体の接線に従うので、物体自体の運動に従っていることに注目する。機械的類推において、検出器2510は、ロッド2540によりレール2532に固く取り付けられているように移動し、レールは、プランジャとともに移動する。
図26は、2台の探知器にリンクされた検出器の振る舞いを説明するために使用される1組の画像表示を示す。第一の画像表示2600と第二の画像表示2602では、検出器2610は第一の探知器2620と第二の探知器2630にリンクされているので、2つの変換の自由度が制御される。自由度は、第一のロッド2622と第二のロッド2632の方向である。2つの自由度は、直交していないので、独立していないことに注目する。図26にはハンドルとエミッタは示されていない。
第二の画像表示2602を第一の画像表示2600に比較すると、第一のプランジャ2624は、画像の第一の接線(非表示)に従うように下方へ移動しており、第二のプランジャ2634は、第二の接線(非表示)に従うように、左方向とやや下方へ移動している。探知器2620と2630の視野における位置は変化していないが、検出器2610は、プランジャに従うために左下へ移動し、物体の接線に従うので、物体自体の運動に従っていることに注目する。
機械的類推において、検出器2610は、第一のロッド2622により第一のレールに、また、第二のロッド2632により第二のレールに固く取り付けられているので、移動する。第一のスライダ2628は第一のレール2626に沿って左にスライドしており、第二のスライダ2638は第二のレール2636に沿って下方にスライドしていることに注目する。スライダは、2つの直交していない探知器がフォトにリンクされているとき、レールに沿ってスライドする。
フォトがほぼ平行な2台の探知器にリンクされていれば、運動は不安定になる。探知器の間の角度を限定し、それ以下ではリンクされたフォトが移動しないように設定することが有用である。この状態は、赤のような特別の色を使用して、2つのロッドを表示するなどして、画像表示で何らかのやり方で示すことができる。
固定位置、またはその他の探知器へのリンクするかのいずれかで、探知器を取り付けることが可能になるため、重要な柔軟性が提供される。図26では、どちらの探知器もリンクされていないので、視野では固定位置のままになり、照明に対して相対的に固定位置となるが、これはしばしば望ましいことがある。
図27は、探知器のうちの1台がお互いにリンクされている、2台の探知器にリンクされた検出器の振る舞いを説明するために使用される1組の画像表示を示す。第一の画像表示2700と第二の画像表示2702では、検出器2710は第一の探知器2720および第二の探知器2730にリンクされている。第二の探知器2730は、ロッド2740、ポスト2742およびスライダ2744から第一の探知器2720にもリンクされている。スライダ2744は、第一の探知器2720のレール2722に沿ってスライドする。
探知器にリンクできるフォトの数を制限する必要がないことに注目する。自由度の制限は、1つのフォトが探知器に対して持つことができるリンクの数になる。図27の例では、検出器2710は2つの探知器にリンクされていて、2つの変換の自由度が制御される。第二の探知器2730は、1つの探知器にリンクされているので、1つの変換自由度が制御される。第一の探知器2720は探知器にリンクされておらず、視野で固定されたままになる。
探知器は、円弧の上と右の接線に従うように構成される。第二の画像表示2702を第一の画像表示2700に比較すると、円弧2750は下方へ移動しており、レール2722をこれに従って下方へ移動させる。これにより、検出器2710と第二の探知器2730の両方が下方へ移動する。検出器2710は、物体に対して相対的に同じ位置にあり、第ニの探知器2730も同様である。これは、第二の探知器2730が視野に固定されていると、上下に移動する円弧2750の右側の接線を見失うことになるので、この場合には望ましい。画像の中の物体の接線が直線の場合は、これが問題にならないことに注目する。
第一の探知器2720には、円弧2750の上の接線を見つけるために左右に移動する探知器がない。円上のリンクを作成するので、第二の探知器2730にリンクできないが、1台の探知器は第一を実行しなければならず、何にもリンクできないので、許可されない。その代わり、視野からの物体の運動により、第一の探知器2720が上の接線を見つけることが確実になる。図27の例では、運動は左から右であり、ビジョン検出器のフレーム速度が高いことにより、物体は各フレームでわずかに運動するだけである。最終的に、第一の探知器2720は上の接線を見つけて、円弧2750の上が探知器の中心に近い場所を、物体の速度により異なる数のフレーム上で見つける。これらのフレーム上で、第二の探知器2730は、右の接線を見つけるために適切に配置されて、正しい位置に置くために必要に応じて、探知器2710を左右に移動させる。
図28は、探知器により見つけられる接線が直線を延長しない場合を処理するための方法を示す。であるから、探知器の配置は、物体の境界に沿ってかなり正確でなければならない。この方法は、図27の第一の探知器2720が、物体が高速で移動する場合のアプリケーションにおいて使用可能であるので、物体が視野を移動するにつれて、上の接線全体を逃す機会があるかもしれない。
このような事例に対処するために、探知器は、接線の検索において作成される並行な湾曲運動の数を指定するために使用できるパラメータを持つ。湾曲運動は、接線が湾曲運動のすきまにあたらないように、十分な重複を提供する量だけ、接線にそって間隔をあけられる。
図28は、左から2番目の湾曲運動上に接線を見つけた、4つの湾曲運動のある探知器2800を示す。湾曲運動マーカー例の2810や2812など、三角形の湾曲運動マーカーは、探知器の図とぶつからないように、破線の湾曲運動の四角2820の外側に示される。接線が湾曲運動のどこにも見つからなければ、探知器は湾曲運動四角の中心に戻る(偶数個の湾曲運動のために、湾曲運動マーカーにはならない)。
図29は、2つの変換の自由度だけが制御されている実施例でも、物体の回転とサイズの変更を処理するために、どのように探知器を使用できるかを示す。変換だけという制限は、ユーザーにとってはかなりの簡便性と透明性が提供されるが、小さい物体の回転やサイズ変更は、視野の別部分にあるフォトが別の探知器に応じて異なって変換できるため、以前として処理が可能である。小さい回転やサイズ変更は、視野の小さい領域内において変換により、よく概算されるので、フォトが少なくとも1つの近くの探知器にリンクされている限り、物体の回転とサイズの変更は変換のように見える。
また図29を参照すると、第一の画像表示2900と第二の画像表示2902は、第一の検出器2910、第二の検出器2912、第一の探知器2920、第二の探知器2922、および第三の探知器2924を含む。
第一の検出器2910は、近くの第一の探知器2920と第二の探知器2922にリンクされており、物体が回転またはサイズを変更しても(変更があまり大きくない限り)、適切に配置される。しかし、第二の検出器2912は、遠くにあり、回転により、第二の検出器2912は第二の探知器2922に対して縦方向に誤った位置になりそうであり、サイズ変更により、第一の探知器2920に対して水平方向に誤った位置になりそうである。第三の探知器2924は、第二の探知器2922の代わりに、第二の検出器2912の縦方向の位置を取得するために使用され、物体全体の回転が処理できるようになる。遠隔の第一の探知器2920は、第二の検出器2912のために水平方向を取得するために使用されるので、物体のサイズはあまり変わらない。回転に加えてサイズの変更を処置することが必要であれば、第二の検出器2912の近くに水平方向に第四の探知器を追加する。
第二の画像表示2902を第一の画像表示2900に比較すると、物体(非表示)は、右へ移動して、反時計回りに回転し、この移動は、探知器が物体接線に従うと検出器の移動により見ることができる。第二の探知器2922と第三の探知器2924は、第一の探知器にリンクされて、検出器の近くに留まる。
[梯子図を使用する別の論理表示]
図30は、広く使用されている工業プログラム言語である梯子図を基本とする論理表示の別の表現を示す。図30の梯子図は、実質的には図16で示された配線図と同じであり、図中に同じセットの機器と論理相互接続を表す。実施態様では、ユーザーは、配線図と梯子図の間で論理表示を随意に切り替えることができ、いずれかの図を操作および編集できる。
実施態様では、機器の構成のために梯子図を描くには、ゲート、判断、および出力の論理入力を持つそれぞれの機器に1つのレベルを作成する。レベルの順序は、機器のために自動的に決定された実行順序である。それぞれのレベルは、各論理入力のための1つのコンタクトから構成され、機器のためのアイコンが続く。コンタクトは、通常、非反転の接続で開き、通常、反転接続で閉じる。ANDのゲートでは、コンタクトは連続して、ORのゲートでは、コンタクトは並行である。各コンタクトに関連するラベルは、論理入力に接続される機器の名前を示す。
梯子図を簡素化するために、ユーザーは、非反転接続を経由して別の機器の1つの論理入力だけに接続された論理出力を持つ任意のゲートを非表示するように選択することができる。ゲートが非表示であれば、そのゲートのレベルは表示されない。代わりに、そのゲートのコンタクトは、通常、ゲートが使用されるレベルに表示されるコンタクトを開く。
図30を参照すると、レベル3000は、オブジェクト検出判定3002への入力を示し、レベル3010は、オブジェクト合格判定3012への入力を示し、レベル3022は「拒否」という名前の出力機器への入力を示す。通常開かれたコンタクトのトップ3030とサイド3032と、通常閉じられたコンタクトボックス3034は、ANDゲート1610が非反転接続を経由して1つの論理出力だけに接続されているので、レベル3000に表示されるコンタクトを置換した、ANDゲート1610(図16)への入力を表す。
同様に、レベル3010は、通常開かれたコンタクトのホール3040、ラベル3042、およびANDゲート(非表示のANDゲート1612)に接続されて、出力がオブジェクト合格判定3012に接続されているラベルエッジ3044を示す。
レベル3020は、通常開かれたコンタクト3050と、ANDゲート(非表示のANDゲート1670)に接続され、出力が「拒否」という名前の出力機器3022に接続されている、通常閉じられたコンタクト3052を示す。
本発明の上述の実施例で使用されている梯子図は、業界で広く使用されている梯子図の限定されたサブセットであることに注目する。梯子図の知識のあるユーザーを支援することを主な目的として提供される。サブセットは、配線図の機能に一致するように選択され、実装を簡単にするとともに、ユーザーが必要に応じて配線と梯子図の間を選択できるようにもする。
別の実施例では、梯子図のより複雑な実装が提供され、配線図は使用されない。結果は、ビジョン検出器の機能とPLCの機能を組み合わせることで、強力な工業検査機械となるが、複雑性が増すことになる。
[マーキング、同期された出力、および関連測定]
図31は、ビジョン検出器の出力信号が記録時間とどのように同期化できるかを説明するために使用されるタイミング図を示す。信号同期は、ダウンストリーム拒否作動装置などのようなさまざまな工業検査目的で望ましい。これらの信号に対する要件は、物体がどのように提示されるか、どのように検出されるかに応じて異なる。
上記のように、物体は、視覚事象検出または外部のトリガにより検出される(個別の物体がない場合には連続分析モードが使用される)。さらに、物体は、視野で停止するようになった場合には、インデキシングにより、または連続運動により提示できる。外部のトリガを使用する場合、分析は、物体がどのように提示されるかに関係なく、典型的に同じである。しかしながら、視覚事象検出の場合には、分析は、物体が停止するようになるか(インデキシング)、または、ほとんど同じ運動であるか(連続)に依存することがある。例えば、ビジョン検出器は、インデックスされたアプリケーションにおいては、物体の速度を測定または使用できないことがある。
視覚事象検出は、新しい機能であり、特に連続の物体提示が使用されるとき、新しい出力信号を示唆する。ビジョン検出器が一部の外部作動装置を、直接的またはPLCへの入力として機能することにより、制御できることが望ましい。これは、少なくとも連続提示の場合には、出力信号のタイミングは、物体が生産フローの特定の固定点を通過したときの時点に一定の正確さで関連づけられることを示唆する。図4の例では、固定点は記録点430であり、図5と6のタイムラインでは、時間は記録時間550、552、および680である。図31では、時間は記録時間3100である。エンコーダカウントを時間の代わりに使用できることに注目する。
先行技術のビジョンシステムでは、この目標は、外部トリガにより検討され、典型的には、記録時間のマイクロ秒内に反応する光検出器である。ビジョンシステムをトリガするこの信号は(例えば、図1の信号166)、PLCにも使用されて(信号162)、ビジョンシステムの出力をダウンストリームの作動装置に同期する。ビジョンシステムの出力は、何ミリ秒後かにあり、この時間は同期せずに使用するためには可変すぎる。
本発明は、視覚事象検出モードで使用されるとき、作動装置を直接的に制御するか、PLCにより使用されるかに関わらず、かなりの正確さで記録時間に同期された出力を提供できる。しかしながら、1つの問題は、ビジョンシステムのように、および光検出器とは異なり、ビジョン検出器は、記録時間の何ミリ秒後かに物体について決定を行うことである。さらに、この遅れは、何個のフレームが分析されたか、また、少なくとも、取得/処理サイクルにおいて、記録時間がいつ発生するかに応じて、かなり変動することである。
図31は、物体検出論理出力3140と物体合格論理出力3150を示す。物体検出判定は、出力信号同期のために使用されるモードである「実行されたとき出力」モードにあることに注目する。決定が判定点3110で行われると、物体合格論理出力3150は状態を変更し、検出パルス3170は物体検出論理出力3140に表示される。記録時間3100から判定点3110までの決定の遅れ3130は可変であることに注目する。
物体検出論理出力3140と物体合格論理出力3150は、ANDゲートに配線されていれば、パルス(非表示)は、検査に合格する物体が検出されるときだけに作成される。物体合格の論理出力が反転されると、パルス(非表示)は、ANDゲートは検査に不合格な物体が検出されるときだけに作成される。
検出パルス3170および合格物体が検出されたことと不合格物体が検出されたことを示すパルスは、すべて有用である。インデックスされたアプリケーションでは、作動装置により直接使用されることがある。PLCは、外部トリガを使用して、これらのパルスを作動装置に同期することができる。しかし、物体が連続運動にあり、外部トリガが使用されなければ、可変判定の遅れ3130により、作動装置を制御するために直接パルスを使用できないことがある。
本発明は、記録時間3100を測定してから、出力信号3160の出力パルス3180を同期することにより、この問題を解決する。出力パルス3180は、記録時間3100から一定の出力の遅れ3120で発生する。図5のタイミング図も参照すると、出力パルス3180は、レポートステップ560の例であり、出力の遅れ3120は遅れ570に対応する。
記録時間を測定する動作は「マーキング」と呼ばれる。記録時間は、画像が取得された周知の時間(カウント)と適切な探知器により決定される物体の周知の位置を使用して、線形補間、最小二乗適合、またはその他の周知の方法により、ミリ秒以下の正確度で決定できる。正確度は、シャッタータイム、取得/処理サイクル時間全体、および物体の速度に依存する。
実施態様では、ユーザーは、検索範囲が実質的にマーキングに使用される運動方向に沿っている探知器を1つ選択する。記録点は、探知器の範囲の中心点になるように任意に選択される。上記のように、記録点は、固定されている限り、正確な位置は問題ではない架空の基準点である。ユーザーは、この任意の時間からの遅れを調節することにより、出力信号の望ましい同期を達成できる。物体が、アクテイブフレームの間に記録点を横切っていないことが検出されると、記録時間は、推定を基本にすることになり、正確度が落ちることになる。
ユーザーは、代わりに、物体が最初に検出されるときに発生する記録時間を指定することがある。このオプションは、例えば、視覚事象検出が視野の固定位置に配置される検出器に依存する場合(図44を参照)など、探知器が使用されていないアプリケーションで選択されることがある。第一の検出点でのマーキングは、一部のアプリケーションでは、値が0.5を交差する時間を見つけるために物体検出判定にファジー論理値を補間することにより正確度を向上することが可能な場合があるにもかかわらず、探知器が使用されるときに比べて正確度が劣ることがある。
出力信号は、出力の遅れ3120が最長の予想決定の遅れ3130よりも長い場合にのみ、記録時間に同期できることに注目する。このように、作動装置は、記録点から十分なダウンストリームにあることが必要であり、ほとんどすべてのアプリケーションの場合に期待される。
外部トリガが使用されると、記録時間は、トリガが発生する時間に相対的である(例えば、図6の記録時間680)。出力パルス3180は、ダウンストリーム作動装置の直接制御のために、この時間に同期できる。先行技術のビジョンシステムが使用されたように、外部トリガとPLCを使用する場合、マーキングは使用できるが、一般的に必要ではない。
図32は、視覚事象検出モードにおいて記録時間の測定する例であるとともに、物体速度、ピクセルサイズのキャリブレーション、および物体の距離や空間の姿勢の測定例でもある。図の各カラムは、列をラベルする機能のある一番目のカラムを除き、本発明により取得され、分析された1つのフレームに対応する。フレームの列3210は、フレームを識別するように機能するフレーム番号である。時間の列3220は、フレームが取得された時間をある任意の基準時間から測定された時間をミリ秒単位で示す。エンコーダの列3225は、フレームが取得された時点でのエンコーダのカウントを示す。物体の検出列3220は、物体検出判定への論理入力を示す。これから、アクティブフレームは59から46であることがわかる。
場所の列3240は、探知器により測定された、実質的に運動の方向で、ユーザーにより選択された検索範囲を持つような向きになっている接線の位置を示す。場所は、探知器の検索範囲の中心に対して測定され、アクティブフレームのみに示されている。位置がゼロ、記録点、61と62の間で、時間44.2と46.2の間の記録点、カウント569と617を横切っていることがわかる。
この例では、動的画像分析は、2つの連続した非アクティブフレームが見つかった後のフレーム66で終わる。場所を基本にする記録時間は、6番目の列3250に示されているが、フレーム66の終わりで計算される。示されている45.0という値は、位置がゼロを交差するフレーム61と62の間の線形補間時間である。あるいは、直線は、時間列3220と位置列3240からのアクティ部なフレームのための点に接することができ、その直線は位置0に対応する時間値を計算するために使用できる。
物体が最初に検出された時間を基本にする記録時間は、7番目の列3260に示される。
追加の有用な多くの情報が、次の表にまとめられている測定データから取得できる。
このように、情報は、2点を使用して(記録のゼロ交差フレーム61と62を使用する線形補間、および、速度とサイズのためにフレーム59と64を使用する傾き)、または、最小二乗適合、または、技術のその他の周知の方法により、計算できる。結果は、示されている2つの方法では類似しているが、最小二乗適合方法が一般的により正確であるが、より複雑である。
記録時間とカウントは、上記のように、出力信号同期のために使用されることがある。物体速度は、さまざまな目的で自動機器に伝達されることがある。ピクセルサイズの計算は、エンコーダカウントのピクセルサイズのキャリブレーションを提供し、生産ラインの物理的距離に比例する。このようなキャリブレーションは、ユーザーのために物理的ユニットで視野の距離提示や、キャリブレーションを基本にしてフォトのサイズや位置を調整することにより、僅かに異なる光学倍率を持つことがあるビジョン検出器の間のセットアップを転送することなど、さまざまな周知の目的で使用できる。
ピクセルサイズは、各物体に対して計算できるので、値は物体の距離を決定するために使用できる。小さいピクセルサイズは遠くにある物体に相当する。一定速度の生産ラインでは、車窓から見ると、遠くにある物体は近くにある物体よりもゆっくり動くのと同じように、物体速度を使用して、同じ決定を行うことができる。
図32のデータは、この目的のためにユーザーにより指名された単独の探知器から取得されることがある。別の実施例では、ユーザーは、視野内の運動の方向に並行または法線のいずれかで、別の2つの探知器を指名できる。このようなすべての探知器は、運動方向に並行な検索範囲を持つような向きになる。このような2つの探知器から取得されるピクセルサイズキャリブレーションの違いは、運動の方向に対して法線となる軸の周囲、および、運動の方向に対して並行に分離された探知器のための物体平面で、および、運動の方向に対して法線となる分離された探知器の運動の方向に対して並行な軸の周囲での、空間での物体の回転を表す。
図33は、作動装置のダウンストリーム制御のための同期パルスを生成するために使用される出力FIFOを示す。一般的に、多数の物体が検査点とダウンストリーム作動装置の間に並ぶことがあり、出力パルスがある場合、各物体が作動装置に到達してパルスが必要になるまで、このような各物体に対応する出力パルスに関する情報を保持するために、FIFOまたは同様なメカニズムが必要である。
図5と31を参照すると、第一の物体500のレポートステップ560は、出力パルス3180に対応しており、第二の物体510が分析された後、出力の遅れ3120に応じて、遅れ570の後に発生する。出力の遅れ3120が物体間の時間よりも大きいと、FITOまたは同様なメカニズムが必要である。
図33は、この目的のために使用できる簡単なFIFOを示す。FIFOは、出力シグナルが状態を変更する時間に対応する数字を保持する。決定点3110(図31)で、出力パルスは、例えば、先頭の接線時間3300と最後の接線時間3310のような時間をFIFO入力3320に置くことにより、スケジュールできる。ソフトウェアタイマーまたはその他のメカニズムは、FIFO出力3330から時間を削除することにより決定されたスケジュール時間で実行する。スケジュールされた時間になると、出力信号の状態が変化し、新しいスケジュール時間がFIFOから削除される。
[判定、出力、および使用例]
図34は、物体検出判定のユーザー設定のパラメータ表示を示す。第一のパラメータ表示3490は、可視事象検出モードのために使用され、第二のパラメータ表示3492は外部トリガモードのために使用される。
提示制御3400により、インデックスまたは連続物体提示のいずれかの選択ができる。
フレームフィルタリング制御3410により、ユーザーは、アクティブフレームのカウントまたは合計の物体検出加重に制限を設定できる。最小フレームスピナ3412により、図34を参照しながら図12で上述されたように、ユーザーはカウントまたは加重閾値に必要な最小を選択できる。最大フレームスピナ3414により、ユーザーは、最大フレームカウントまたは加重を選択できる。その後、見つけられるアクティブフレームが何個あるかに関わらず、動的画像分析が終了して、決定が行われる。これにより、ユーザーは、本発明が1つの物体にかける時間を制限できるので、インデクスまたは速度の遅い物体の場合に特に有用である。
アイドル時間制御3420により、ユーザーはアイドルステップ580(図5)の最低および最高時間を指定できる。最低と最大が等しければ、アイドル時間はユーザーにより固定される。最大が最小より大きければ、ビジョン検出器は、物体が提示されている測定速度を基本にして指定範囲内の時間を自動的に選択できる。図47と48に示されている位相固定ループは、物体提示速度を測定するために使用できる。実施態様において、自動的に選択されたアイドル時間は、物体提示周期の半分であり、ユーザー指定の範囲内に納める必要があれば、短縮される。
紛失フレームスピナ3430により、ユーザーは、動的画像分析を終了せずに許容される連続する非アクティブフレームの最大数を指定できる。このようなフレームは、図5の分析ステップ542により説明される。
マーキング制御3440により、ユーザーはマーキングモードを選択できる。場所によるマーキングが選択されると、ユーザーは探知器リスト制御3442を使用して探知器を指定しなければならない。
出力モード制御3450により、ユーザーはパルスが論理出力にいつ表示されるかを定義するモードを選択できる。
フレームカウントスピナ3460により、ユーザーは外部トリガモードで分析するフレーム数を選択できる。
図35は、物体合格判定のユーザー設定のためのパラメータ表示を示す。モード制御3500により、ユーザーは、図12のために説明された加重平均方法と、図13のために説明されたパーセンタイル方法のいずれかを選択できる。パーセンタイル方法が選択されると、説明された閾値tはパーセンタイルスピナ3510を使用して選択できる。
図36は、出力機器のユーザー設定のためのパラメータ表示を示す。モード制御3600により、ユーザーは、出力信号がどのように制御されるかを選択できる。「直線」モードでは、論理入力は、一切の遅れまたは同期なしで、出力信号に直接渡される。「遅れ」モードでは、論理入力の上昇接線で、出力パルスは、遅れ制御3610により指定された量だけ、また、パルス制御3620により指定された期間、最近記録された記録時間(またはエンコーダカウント)から遅れた時間に発生するようにスケジュールされる。スケジュールされたパルスは、出力機器に関連づけられたFIFOに置かれることがある。
図37は、本発明がPLCに接続されるとき、可視事象検出モードで操作するように設定する1つのやり方を説明する。論理表示は、「検出アウト」出力機器3730に配線された物体検出判定3720と「合格アウト」出力機器3750に配線された物体合格判定3740を示す。適切な一連のフォトとゲートが判定に配線されるが、表示されていない。
物体検出判定3720は、図34に示されているように、連続提示、場所による記録、実行終了時の出力のために設定される。
第一のパラメータ表示3700は、「検出アウト」出力機器3730は、記録時間の後、同期された10msパルス25msを生成するように設定されることを示す。このパルスは、物体検出判定3720の上昇接線によりトリガされる。第二のパラメータ表示3710は、「合格アウト」出力機器3750は、物体合格判定3740からの合格/不合格結果を出力信号に直接送信するように設定されることを示す。
PLCは、2つの出力信号を感知できるが、「検出アウト」からの信号の上昇接線の時間に注意して、接線上の「合格アウト」の出力をラッチする。その後、PLCは、物体が検出されていることを理解し、物体が記録点(「検出アウト」の上昇接線の25ms前)を横切ったときに検査の結果を知る。
図38は、拒否作動装置の直接制御のために、本発明を視覚事象検出モードで操作するように構成する1つのやり方を図説する。論理表示は、不合格物体が検出されるときにパルスを生成するように、物体検出と物体合格判定に配線されたANDゲート3810を示す。ANDゲート3810は「拒否アウト」出力機器3820に配線されて、このパルスを受信する。パラメータ表示3800は、「拒否アウト」出力機器3820が、記録時間後に同期された100msパルス650エンコーダカウントを生成するように構成されていることを示す。このパルスは不合格物体の検出によりトリガされる。物体検出判定は、連続提示、場所による記録、および実行時の出力のために構成される。
図39は、PLCに接続された場合に外部トリガモードで操作するように本発明を構成する1つのやり方を図説する。論理表示は、図37に示されていたように、「検出アウト」出力機器に配線された物体検出判定と「合格アウト」出力機器に配線された物体合格判定を示す。しかしながら、一連のフォトとゲートを物体検出判定の論理入力に配線する代わりに、「TrigIn」入力機器3920が使用される。物体検出の論理入力はフォトに依存せず、少なくとも1つの入力機器に依存するという事実は、外部トリガモードで操作するように判定に命令する。物体検出に何も配線されていなければ、連続分析モードで操作する。
第一のパラメータ表示3900と第二のパラメータ表示3910は、両方の出力機器が、論理入力をそのまま出力信号に渡すことを示す。PLCは2つの出力信号を感知して、「検出アウト」の上昇接線上で「合格アウト」の出力をラッチする。その後、PLCは、物体が検出されたことと検査の結果を警告されて、必要であれば外部トリガから記録時間を取得しなければならない。
PLCに接続する場合に本発明を外部トリガモードで操作するように構成する別のやり方は、同期出力パルスを作成するために図37の出力機器設定を使用することである。この方法では、PLCはビジョン検出器から記録時間を取得できるので、外部トリガへの接続上の有効な入力を無駄にしない。
図40は、拒否作動装置の直接制御のために、外部トリガモードで操作するように本発明を構成する1つのやり方を図説する。操作は、「TrigIn」入力機器4000が一連のフォトとゲートではなく、物体検出に配線されていることを除けば、図38で示され説明された設定と同じである。記録時間は、外部トリガの時間だけであることに注目する。
[連続分析と例]
図41は、連続ウェブ上でフローの検出のために連続分析モードで操作するように本発明を構成する1つのやり方を図説する。画像表示4110は、ビジョン検出器を通過して移動している連続ウェブ4100の一部を示す。
探知器4120と接線検出器4122はウェブを検査するために構成される。ウェブが破損、折り重なる、またはどちらかの接線で大幅に擦り切れるようになれば、探知器4120およびまたは接線検出器4122は不合格の出力(論理値<0.5)を作成する。ウェブが上下に移動すれば、探知器4120は上の接線を追跡して、下の接線を検出するために接線検出器4122を右の相対位置にとどめる。しかしながら、ウェブの幅が大幅に変更すれば、接線検出器4142は不合格の出力を作成する。
論理表示では、「上の」探知器4140は探知器4120を表し、「下の」検出器4150は接線検出器4122を表す。これらは、論理出力が反転して、「検出アウト」出力機器4170に配線されているANDゲート4160に配線される。パラメータ表示4 130でわかるように、ANDゲート4160の反転出力は出力信号に直接渡される。
従って、出力信号は、フォトの論理出力が不合格な場合に必ずアサートされる。信号はビジョン検出器の高いフレーム速度でアップデートされて、ウェブの状態が連続していることを示す。
図42は、信号フィルタリングのために物体検出判定を使用する連続したウェブ上のフローの検出のために本発明を構成する1つのやり方を図説する。設定は図41の設定に類似しており、画像表示4110とパラメータ表示4130がこの図にも適用される。論理表示は、物体検出判定4260がANDゲート4160と「検出アウト」出力機器4170の間に配置されることを除いては、図41と同じ設定を示す。
パラメータ表示4200は、物体検出判定がどのように設定されるかを示す。このアプリケーションでは、個別の物体はないが、物体は不良ウェブの伸びに定義される。出力モードは「処理事に出力」するように設定されるので、出力パルスは不良ウェブの各伸びのために作成され、期間は不良品の期間である。
最低フレームカウントを3に設定することにより、不良ウェブのわずかな伸びは除去されるので検出されない。紛失フレームを3つまで許可することにより、より長い不良部分に埋もれている良いウェブのわずかな伸びも除去される。このように、出力信号は図41の信号に類似するが、わずかな以上が削除される。これらの値は例に過ぎず、特定のアプリケーションのために適切な値がユーザーによって選択されることに注目する。
最大フレームカウントは指定されていないので、不良ウェブの伸びは永遠に連続することができ、1つの不良と考えることができる。ウェブが常に検査されているように、アイドル時間はゼロに設定されることがある。
図43は、物体検出判定と信号同期のための出力機器を使用する連続ウェブ上のフローの検出のために本発明を構成する1つのやり方を図説する。設定は、「検出アウト」出力機器4170がパラメータ表示4300に示されているように構成されることを除いては、図42と同じである。
パラメータ表示4200では、物体検出判定は、記録時間を、「物体」、ここでは不良ウェブの伸びが最初に検出される時間に設定するように構成されていることに注目する。パラメータ表示4300でわかるように、50ms出力パルスが記録時間の後に生成された650エンコーダカウントである。
[探知器を使用しない物体の検出]
図44は、アクティブフレームを決定するために物体検出判定への入力として、探知器を使用しない視覚事象検出モードで操作するよう日本発明を構成する1つのやり方を図説する。特徴4410を含む物体4400は、ビジョン検出器の視野を左から右に移動する。コントラスト検出器ROI4420は、特徴4410の存在を検出するように配置される。左の輝度検出器ROI4430と右の輝度検出器ROI4432は、距離により定義される視野の範囲で物体を検出するように配置される。
論理表示は、右の輝度検出器ROI4432に対応する「右の」輝度検出器4440と、左の輝度検出器ROI4430に対応する「左の」輝度検出器4442を示す。「右の」輝度検出器4440は、この例の背景は物体4400よりも明るいため、物体が右の輝度検出器ROI4432を覆っていないときに真の論理出力を作成する。「左の」輝度検出器4442は、出力が反転されるため、物体4400が左の輝度検出器ROI4430を覆っていないときに真の論理出力を作成する。従って、ANDゲート4460は、物体4400の右接線が左の輝度検出器ROI4430と右の輝度検出器ROI4432の間にあるとき、真の論理出力を作成する。
物体4400の右接線がいずれかのROIを部分的に覆っているとき、ANDゲート4460の論理出力は実際には0と1の間のファジー論理レベルであることに注目する。コントラスト検出器ROI4420は、探知器が使用されていないため、移動しないので、左の輝度検出器ROI4430と右の輝度検出器ROI4432の間の距離により定義される位置の範囲で特徴4410を検出するために十分な大きさでなければならない。
ANDゲート4460は物体検出判定に配線され、コントラスト検出器ROI4420に対応する「ホール」コントラスト検出器4470は物体合格判定に配線される。この例の判定は、図38のように、可視事象検出と拒否作動装置の直接制御のために構成される。
図44の例では、物体4400の右接線はかなりまっすぐに配置されるため、一組の輝度検出器の代わりに探知器を容易に使用することができる。しかしながら、明確な接戦がないために探知器を使用することが困難かもしれないアプリケーションや、検出器の組み合わせを使用することが利点になるアプリケーションがある。
[学習]
図45は、ユーザーにより示される例を基本とする適切なパラメータ設定を学習するための、ビジョン検出器の実施態様により使用されることがあるルールを図説する。この図は、学習方法例を説明するために、図22と合わせて使用される。
実施態様では、フォトは、検出感度のファジー閾値の適切な設定を学習できる。学習プロセスは、どの検出器を使用するか、および、適切である場合には、どの設定が最適に機能しそうであるかに関する提案も提供することがある。学習は、例により、ユーザーが良いか悪いかを判定した物体を提示し、HMI830とのインタラクションにより示す。
学習は、デフォルトまたはマニュアル設定が使用できるかに関しては、オプションであるが、アナログ出力絶対的意味を持たないは物理的単位(例えば、グレイレベル)であるため、輝度およびコントラスト検出器には強く推奨される。学習は、エッジ、スポット、およびテンプレート検出器においては、これらの出力は、無次元で絶対的意味のある正規化相関値を主に基本としているため、あまり重要ではない。
例えば、エッジまたはスポット検出器が80のアナログ出力を持っていれば、理想的なエッジまたはスポットテンプレートの画像ROIの相関係数は少なくとも0.8であるため、エッジまたはスポットが確かに検出されていることはかなり確信できる。出力が25であれば、エッジまたはスポットは検出されていないことをかなり確信できる。しかし、例えば、輝度検出器では、80は十分明るいだろうか。25は十分に暗いだろうか。これは、ほとんどの場合、例により学習することが最適である。
学習プロセスには2つの部分がある。第一の問題は、ユーザーが特定の例を教えるためにどのようにHMI830とインタラクティブするかである。第二の問題は、このような例が提示されると、フォトが何を実行するかである。
図22を参照すると、フォトのパラメータ表示には、上向きの矢印のボタン2210と下向きの矢印のボタン2212がある。ボタンは、論理出力ラベル2204のとなりにあり、前述したように真(0.5以上)と誤(0.5未満)を区別するために色またはその他の特徴を変更することがある。以下の検討では、真には緑、誤には赤が使用される。図22には表示されていないが、上向きの矢印のボタン2210は緑で、下向きの矢印のボタン2212は赤である。論理出力ラベル2204と一致する色との近接性により、ユーザーはボタンの機能を理解する。
緑の上向き矢印のボタン2210をクリックすることは、「このフォトの論理出力が緑(真)であるべきことを学習すること」を意味する。この操作は「上向きの学習」と呼ばれる。赤い下向き矢印のボタン2212をクリックすることは、「このフォトの論理出力は今赤(誤)であるべきことを学習すること」を意味する。この操作は「下向きの学習」と呼ばれる。これらの意味は、出力を反転する能力が必要な場合に、特に明確で一義的であることを目的とする。「良い」と「悪い」の言葉は、しばしば、学習のために使用される物体例を説明する場合に使用され、出力が反転されているかどうか、接続されているゲートがどのように使用するかに応じて、意味が変化する。
物体が検査に合格するためには、すべて真の出力をもたなければならない3つの検出器を使用していると仮定する。各検出器を個別に教えることができるが、これは不必要に手間がかかることになる。良い物体が提示されれば、3つの検出器すべては真でなければならず、従って、どこかを1回クリックすると、「これは良い物体である」と言うことが有用である。一方、悪い物体が提示されれば、どの検出器が誤であるかを知ることができないことがあるので、一般的に個別に教えられる。
同様に、3つの検出器がORであれば、物体はそれらのうちどれかが真の出力であれば物体が合格することになり、単独のクリックで悪い物体を教えることがあるが、良い物体では、検出器は一般的に個別にトレーニングされる。しかしながら、ここでも、これらのルールは入力と出力が反転されると変化する。
1回のクリックで複数の検出器を教えることは、図45に示されたルールに従い、上向き矢印と下向き矢印のボタンをゲートに追加することにより、混乱なく管理できる。ボタンは、各ベートのパラメータ表示で表示されクリックされるが、図45は説明のためにボタンが論理表示に示されている。ここでも、緑(赤)の上向き矢印(下向き矢印)ボタンをクリックすることにより、ゲートに上向き(下向き)を学習するように命令、つまり、「このゲートの論理出力は今緑(赤)でなければならないことを学習」することを意味する。
非反転出力のANDゲートは、非反転入力に配線された機器に上向きを学習するように、および、反転入力に配線された機器に下向きを学習するように、命令することによって、上向きを学習する。例えば、非反転ANDゲート4500は、フォト4502に上向きを学習するように、ANDゲート4504に上向きを学習するように、およびフォト4506に下向きを学習するように、命令することによって、上向きを学習する。非反転出力のANDゲートは、下向きを学習できないので、ボタンを無効にして、学習のリクエストを無視できる。
反転出力のANDゲートは、非反転入力に配線された機器に上向きを学習するように、および、非反転入力に配線された機器に下向きを学習するように命令することにより、下向きを学習する。例えば、反転されたANDゲート4510は、フォト4512に上向きを学習するように、フォト4514に上向きを学習するように、および、ORゲート4516に下向きを学習するように命令することにより、下向きを学習する。反転出力のANDゲートは、上向きを学習できないので、ボタンを無効にして学習のリクエストを無視できる。
非反転出力のORゲートは、非反転入力に配線された機器に下向きを学習するように、反転入力に配線された機器に上向きを学習するように命令することにより下向きを学習する。例えば、非反転のORゲート4520は、ORゲート4522に下向きを学習するように、フォト4524に下向きを学習するように、およびフォト4526に上向きを学習するように命令することにより、下向きを学習する。非反転出力のORゲートは上向きを学習できないので、ボタンを無効にして学習リクエストを無視できる。
反転出力のORゲートは、非反転出力に配線された機器に下向きを学習するように、反転入力に配線された機器に上向きを学習するように命令することにより上向きを学習する。例えば、反転のORゲート4530は、フォト4532に下向きを学習するように、フォト4534に下向きを学習するように、およびANDゲート4536に上向きを学習するように命令することにより、上向きを学習する。反転出力のORゲートは下向きを学習できないので、ボタンを無効にして学習リクエストを無視できる。
ゲートにより上向きまたは下向きを学習するように命令されたフォトは、同様なボタンがクリックされたように作動する。ゲートは、説明したように、学習コマンドを入力に戻す。その他すべての機器はこの例の学習コマンドを無視する。
上記のルールの1つの例外は、その他のゲートから直接または間接的にフォトに配線されたただ1つの入力をもつゲートはすべて、上向きと下向きを学習できるので、両方のボタンが有効になることである。このようなゲートのための学習コマンドは前記入力に戻され、ゲートの出力と前記入力の両方ではなく、いずれかが反転すれば、反転される。
ユーザーはこれらの理解を記憶または理解する必要はない。つまり、記憶すべき唯一のルールは、出力させたい色をクリックすることである。マウスが上下のボタンにあるときはいつでもツールのヒントが提供されて、どのフォトがトレーニングされるか、または、ボタンが無効になっている理由を説明する。上下のボタンがクリックされると、明確だが、命令ではないフィードバックが提供されてトレーニングが確かに発生したことを確認する。
図46は、フォトがどのように上向きまたは下向きを学習するかを図説する。実施態様では、各フォトは、「出力高データ」と「出力低データ」と呼ばれる2つデータセットを保持する。このような各セットは、カウント、アナログ出力の合計、二乗アナログ出力の合計を含むので、平均出力低mlo、平均出力高mhi、出力低の標準偏差σlo、および出力高の標準偏差σhiが計算できる。各学習コマンドのために、フォトは、次のようにアナログ出力をデータセットに追加する。
図46の例では、x軸4640はフォトのアナログ出力に対応する。高出力値4600の分布、および低出力値4610の分布は適切な物体例から学習されている。平均低出力4630、平均高出力4620、低出力の標準偏差(非表示)、および高出力の標準偏差(非表示)が計算されている。
データは、低閾値t01120と高閾値t11122により定義された、フォトの感知ファジー閾値4650を計算するために使用される(図11も参照)。
パラメータkは、適当に選択されることがある。実施態様においては、k=0である。
上向きまたは下向きを学習するための方法は次のステップに要約される。
1.アナログ出力を計算して、低出力または高出力データを上向きまたは下向き、および論理出力の反転または非反転に該当するように追加する。
2.高出力と低出力データの平均と標準偏差を計算する。
3.計算式21を使用して、平均と標準偏差を基本にして感知ファジー閾値をアップデートする。
フォトは、もしあれば、最近のマニュアル閾値設定も保存できるので、ユーザーが望めば復元できる。全てのデータと設定は、HMI830のすべてのフォトのために保存できるので、学習は複数のセッションで継続できる。ユーザーは、適切なHMIコマンドを使用してデータをクリアおよび確認できる。
データセットに例がなければ、平均のデフォルト値を使用できる。実施態様では、デフォルトは以下の通りである。
ここで、aloは可能な最低アナログ主力であり、ahiは最高である。データのセットに1以下の例が含まれている場合は、標準偏差は0と推定できる。つまり、一般的には薦められないが、単独の例からの学習が可能である。
別の実施態様では、検出器のための学習コマンドは、教えられている検出器のROI上で操作している各タイプの検出器から結果が得られるアナログ出力を計算する。各検出器タイプのデータが計算されて保管され、低出力高出力例の間の距離が大きいものを検索することにより、よりよい検出器の選択を提案するために使用される。
[紛失および余分な物体検出用に位相ロックループを使用]
図47は、およそ一定の速度で物体を提示する生産ラインにおいて、物体の提示速度を測定し、紛失および余分な物体を検出するために位相ロックループ(PLL)の使用を図説する。パルス列に同期し、紛失および余分なパルスを検出するPLLの実装は、当業者には明確である。
ある実施例では、記録時間に同期された出力パルスを含む信号は、例えば、出力パルス3180を含む出力信号3160(図31)は、従来のPLLの入力に接続される。紛失および余分なパルス検出のための従来のPLL方法は、紛失および余分な物体を検出するために使用される。従来のPLLにより使用される電圧制御型のオシレータの周波が物体提示速度を与える。
実施態様では、ビジョン検出器DSP900(図9)内部のソフトウェアPLLが使用される。図47を参照すると、記録時間の列4700が、記録が発生すると予想される間、対応するタイムウィンドウ列4710を計算するために、ソフトウェアPLLにより使用される。タイムウィンドウ4720には記録時間が含まれないので、紛失物体は、タイムウィンドウ4720の終わりに対応して、タイム4730で検出される。記録時間4740は、どのタイムウィンドウの外側で検出されるので、余分な物体は記録時間4740に対応するタイム4750で検出している。物体の提示速度、および、紛失および余分な物体に関する情報は自動装置に報告できる。
図48は、実施態様で使用される新しいソフトウェアPLLの操作を図説する。縦軸4800に記録時間が描かれ、水平軸4810に物体カウントが示されている。例の点4820を含む描かれた各点は、検出された1つの物体に対応する。計算において数字の正確度を確保するために、物体カウント0は一番最近の物体に使用されることがあり、マイナスのカウントは前の物体に使用される。次に予想される物体はカウント1に対応する。
最適直線4830は、さらに以下で説明される加重最小二乗方法を使用して計算される。加重は、より最近の点をより遠くにある点よりより強く加重するために選択される。最適直線4830の傾きは、物体の提示期間を与えて、カウント=1に対応する時間は次の物体の予想時間を与える。
1つの実施例では、最近の点の固定数は等しい加重が与えられ、古い点はゼロの加重が与えられるので、最近の点だけが使用される。使用されている最近の点のセットはFIFOバッファに保管され、新しい点として最小二乗データをアップデートするには周知の方法が使用され、追加されて、古い点が削除される。
実施態様において、個別のバターワースフィルタのインパルス応答に対応する加重4840が使用される。個別のバターワースフィルタは、ソフトウェアに容易に実装される、二極の、非常に減衰した、永遠インパルス応答デジタル低域フィルタである。優れた低域とステップ応答特徴を持ち、記録時間の履歴全体を検討し、周波応答を制御する調節可能なパラメータを持ち、FIFOバッファを必要としない。
入力Xiによるバターワースフィルタのカウントiにおける出力Yiは
ここで、fはフィルタパラメータであり、
及びviは速度項と呼ばれる中間項である。
入力がiが0ではないとき単位インパルスのx0=1、xi=0であれば、出力はインパルス応答であり、記号wiにより参照される。フィルタの影響は、インパルス応答のある入力を畳み込むことであり、以前のすべての入力の加重平均を作成するが、この場合、加重はx−iであり。加重4840はf=0.12のときの値w−iである。
バターワースPLLの場合には、最小二乗最適直線を計算するために必要なデータに対応して、3つのバターワースフィルタが使用される。記録時間はtiになり、i=0のとき、最近の物体に対応し、i<0のとき前の物体に対応し、i=lのとき次の物体に対応する。さらに、すべての時間はt0、つまりt0=0に相対させる。以下の加重合計が必要である。
総和は範囲−∞≦i≦0を超えることに注目する。これらの値は、3つのバターワースフィルタの出力として取得され、指定の入力ti、itiおよびti 2である。
次の追加値が必要であり、フィルタパラメータfから派生する。
最適直線4830は、ti=ai+bにより与えられるので、従って、
となる。値aは、現在の物体提示期間の非常に正確な測定値である。直線の平均化は、近い将来において、任意の点での予想記録時間を計算するために使用できる。物体提示期間の分数として、最適直線の加重RMSエラーは、
であり、物体提示速度の可変指標である。
3つのフィルタに入力される新しい記録時間は、新しい物体とt0=0で最近の間の経過時間である、時間tiに発生する。3つのバターワースフィルタのそれぞれのために、出力を調節する必要があり、速度は新しい物体のためにi=0とt0=0にリセットする必要がある。これは、数式26が修正されるために必要であり、数字の正確度のためにも必要である。この修正なしでは、Cは各点で変化する。次に示すのは、3つのフィルタのための数式であり、修正を示す。出力と速度の新しい値を示すためにダッシュ記号が使用されており、uは一時値である。
バターワースPLLの出力と速度項は、次のように値(a、b、E)のセットに対応するように初期化できる。
これにより、a=p、b=0、およびE=0として式30を使用して、特定の点pで開始するようにPLLをリセットすることができる。また、現在のa、b、Eの値と新しいfの値を使用して、出力と速度項を初期化することにより、PLLを実行しながら、フィルタの係数を変更できる。
実施態様では、バターワースPLLは、PLLがリセットされてからの物体の数と、現在のEの値を検討することにより、入力記録時間上にロックされているかどうかを決定する。PLLは、リセットと次のn個の物体の間、ロックされていないと考えられる。少なくともn個の物体が観察されたら、PLLは、Eがロック閾値のElを下回るとロックし、Eがアンロック閾値Euを上回るとアンロックする。さらに改善すると、アンロックされたフィルタのパラメータfuはPLLがアンロックされると使用されて、ロックされたフィルタパラメータflはフィルタがロックされると使用される。フィルタパラメータの切り替えは、式30を使用して実行され、a、b、Eの現在値を使用して出力と速度項目を初期化する。
実施態様において、n=8、El=0.1、Eu=0.2、fl=0.05、そしてfu =0.25。
m個の連続物体がなければ、次の物体はおよそ次のタイミングに到着する。
この式と新しい物体の記録時間tnから、次の式によりmを決定できる。
バターワー不PLL修正のための式を保持するには、紛失しているすべての物体のための記録時間を挿入しなければならない。これは、次の式を使用することにより実現されることがある。
m+1の時間が式29に入力される。
本発明の最適直線方法に従い、PLLを実装するためにバターワースフィルタの場所には、任意の個別の低域フィルタを使用できることが理解される。上記の方法を基本にして、23から33の式は、選択されたフィルタのために適切に置き換えられる。
以上、本発明のさまざまな実施例の詳細を説明した。本発明の精神と範囲を逸脱することなく、広い範囲の変更と追加が行えることが明示的に検討される。例えば、本明細書のプロセッサや計算装置は例であり、さまざまなプロセッサとコンピュータが、スタンドアロンと分散型どちらもが、本明細書の計算を実行するために採用できる。同様に、本明細書で説明された撮像装置やその他のビジョン構成要素は例であり、改善されたまたは異なる構成要素が本発明の開示内で採用できる。従って、この詳細説明は、一例に過ぎず、本発明の範囲を制限しない。