(57)【特許請求の範囲】
【請求項１】
ワークを撮像するカメラを有し、当該カメラから取得した画像に基づいてワークの良否を判定する画像処理装置において、
前記カメラから取得した画像を用いて、前記カメラからワーク表面までの距離を算出する距離算出手段と、
各画素が、算出された距離に応じた第１の階調の濃淡値を有する距離画像を生成する距離画像生成手段と、
生成された距離画像の一部又は全部の画素の濃淡値から予め定められた立体形状情報に基づく値を差し引いて差分画像を求める立体形状情報削減手段と、
階調数が第１の階調よりも少ない第２の階調の画像を取り扱うとともに、前記差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、当該第２の階調数以上の濃淡値を当該第２の階調数より小さい濃淡値に変換して、各画素の濃淡値が変換された差分画像から特徴量を算出する特徴量算出手段と、
算出された特徴量に基づいて、ワークの良否を判定する判定手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記特徴量算出手段は、前記差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、当該第２の階調数以上の濃淡値を当該第２の階調で表すことが可能な最大濃淡値に変換することにより、各画素の濃淡値が変換された差分画像から特徴量を算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記差分画像の各画素の濃淡値が前記第２の階調数より小さい濃淡値に制限されるように前記差分画像を圧縮する差分画像圧縮手段を有し、
前記特徴量算出手段は、当該差分画像圧縮手段により圧縮された差分画像から特徴量を算出することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記第１の階調と前記第２の階調を対応付けるための変換特性を記憶する変換特性記憶手段を備え、
前記差分画像圧縮手段は、前記変換特性記憶手段に記憶された変換特性に基づいて前記差分画像を圧縮することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記変換特性記憶手段は、前記変換特性を示す変換テーブルを記憶しており、
前記差分画像圧縮手段は、前記変換特性記憶手段に記憶された変換テーブルに基づいて前記差分画像を圧縮することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記変換特性は、変換前の各画素の濃淡値を横軸とし、変換後の各画素の濃淡値を縦軸としたとき、変換曲線の傾きが次第に小さくなるように構成されることを特徴とする請求項４又は５記載の画像処理装置。
【請求項７】
前記特徴量算出手段は、前記差分画像の各画素の濃淡値が取り得るレンジを前記第１の階調に対応する第１のレンジから前記第２の階調に対応する第２のレンジに制限するために、前記差分画像の各画素の濃淡値をビット表現したときのビット数を減らすビット数削減手段を有することを特徴とする請求項１から６のいずれか記載の画像処理装置。
【請求項８】
前記ビット数削減手段は、差分画像の各画素の濃淡値をビット表現したときのビットのうち上位半分のビットを減らすことを特徴とする請求項７記載の画像処理装置。
【請求項９】
生成された距離画像の高周波成分を低減させる高周波成分低減手段を備え、
前記立体形状情報削減手段は、生成された距離画像と、前記高周波成分低減手段により高周波成分が低減された距離画像との差分画像を求めることを特徴とする請求項１から８のいずれか記載の画像処理装置。
【請求項１０】
良品のワークを撮像したときの距離画像とみなす基準距離画像を予め記憶する基準距離画像記憶手段を備え、
前記立体形状情報削減手段は、生成された距離画像と、前記基準距離画像記憶手段により予め記憶された基準距離画像との差分画像を求めることを特徴とする請求項１から８のいずれか記載の画像処理装置。
【請求項１１】
ユーザから前記基準距離画像の登録を受け付ける受付手段を備えることを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
生成された複数枚の距離画像に基づいて、各画素について複数枚の距離画像の平均値からなる平均距離画像を前記基準距離画像として生成する平均距離画像生成手段を備えることを特徴とする請求項１０又は１１記載の画像処理装置。
【請求項１３】
ワークを撮像するカメラを有し、当該カメラから取得した画像に基づいてワークの良否を判定する画像処理装置を用いた画像処理方法において、
前記カメラから取得した画像を用いて、前記カメラからワーク表面までの距離を算出するステップと、
各画素が、算出された距離に応じた第１の階調の濃淡値を有する距離画像を生成するステップと、
生成された距離画像の一部又は全部の画素の濃淡値から予め定められた立体形状情報に基づく値を差し引いて差分画像を求めるステップと、
階調数が第１の階調よりも少ない第２の階調の画像を取り扱うとともに、前記差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、当該第２の階調数以上の濃淡値を当該第２の階調数より小さい濃淡値に変換して、各画素の濃淡値が変換された差分画像から特徴量を算出するステップと、
算出された特徴量に基づいて、ワークの良否を判定するステップと、を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークをカメラで撮像して、得られた画像データを用いて計測処理を実行する画像処理装置及び外観検査方法に関する。
【背景技術】
【０００２】
工場など数多くの生産現場では、人の目視に頼っていた検査を自動化・高速化する画像処理装置が導入されている。画像処理装置は、ベルトコンベア等の生産ラインを流れてくるワークをカメラによって撮像し、得られた画像データを用いて所定領域のエッジ検出や面積計算などの計測処理を実行する。そして、計測処理の処理結果に基づいて、ワークの欠け検出やアライメントマークの位置検出などの検査を行い、ワークの欠けや位置ずれの有無を判定する判定信号を出力する。このように、画像処理装置は、ＦＡセンサの一つとして利用されることがある。
【０００３】
ＦＡセンサとして用いられる画像処理装置が計測処理の対象とする画像は、主に、高さ情報を含まない２次元画像である。そのため、上述したワークの欠け検出についていえば、欠けた部分の２次元形状を安定的に検出することは得意であるが、傷の凹み具合など、２次元画像としては現れにくい３次元形状を安定的に検出することは困難である。例えば、検査時にワークを照らす照明の種類や照明方向を工夫して、傷の凹みに起因する陰影を検出して、間接的に３次元形状を検出することも考えられるが、２次元画像の中で常に明瞭な陰影が検出されるとは限らない。不明瞭な陰影が検出されたときに不良品を良品と誤って判定する誤判定を防ぐために、例えば判定閾値を安全側に偏らせると、検査タクトの悪化を招く虞もある。
【０００４】
そこで、カメラの受光光量に応じた濃淡値を画素値とする濃淡画像だけでなく、カメラとワークまでの距離に応じた濃淡値を画素値とする距離画像（例えば特許文献１参照）を用いた外観検査が考えられる。特許文献１に開示された計測装置は、強度が周期的に変化する強度変調光をワークが存在する対象空間に照射して、光検出素子の各感光部で受光した受光光量から、ワークの距離画像を生成している。このような距離画像を上述した外観検査に利用することによって、傷の凹みを安定的に検出できる可能性がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１５３７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、距離画像を利用した外観検査を行おうとすると、計測処理の処理負荷が重くなって、メモリ資源を効率的に活用できない虞がある。例えば、半円柱の曲面部分など凹凸のあるワークの外観検査を考えた場合、想定される傷や打痕などの欠陥の深さが浅くても（例えば数十μｍ）、ワークの凹凸の高さを考慮した上で（例えば数ｍｍ）、各画素のダイナミックレンジを確保しなければならない。計測処理の処理対象として、ダイナミックレンジの広い（大きい）画像データを扱わなければならないとなると、その画像データを用いて各種計測処理を実行する際にメモリ資源を効率的に活用できない。
【０００７】
一方で、メモリ資源の有効活用を考慮すれば、最初からダイナミックレンジの狭い（小さい）距離画像を生成し、この画像データを後段の各種計測処理の処理対象にすることも考えられる。しかし、ダイナミックレンジの狭い距離画像を生成するとなると、低い分解能しか確保することができないため、浅くて小さな傷の欠陥検出が困難になり、検出精度の低下に繋がる虞がある。
【０００８】
なお、ワークを流すコンベアの機械的振動によって計測面全体が上下にぶれるとき、或いは、円柱形状のワークを回転させてその外周面を検査する場合に、回転芯のぶれによってワークディスタンスが変化するようなとき等にも、上述した問題と同様の問題が生ずる。
【０００９】
本発明は、以上の点に鑑みてなされたものであり、その目的は、距離画像を用いて外観検査を行う際に、メモリ資源の効率的な活用と検出精度の低下を防ぐことが可能な画像処理装置及び外観検査方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、ワークを撮像するカメラを有し、カメラから取得した画像に基づいてワークの良否を判定する画像処理装置において、カメラから取得した画像を用いて、カメラからワーク表面までの距離を算出する距離算出手段と、各画素が、算出された距離に応じた第１の階調の濃淡値を有する距離画像を生成する距離画像生成手段と、生成された距離画像の一部又は全部の画素の濃淡値から予め定められた立体形状情報に基づく値を差し引いて差分画像を求める立体形状情報削減手段と、階調数が第１の階調よりも少ない第２の階調の画像を取り扱うとともに、差分画像から特徴量を算出する特徴量算出手段と、算出された特徴量に基づいて、ワークの良否を判定する判定手段と、を備える。
【００１１】
すなわち、生成された距離画像の一部又は全部の画素の濃淡値から予め定められた立体形状情報に基づく値を差し引いて差分画像を求め、階調数が第１の階調よりも少ない第２の階調の画像を取り扱うとともに差分画像から特徴量を算出し、算出された特徴量に基づいてワークの良否を判定し、判定信号を出力する画像処理装置で、特徴量を算出する際に、階調数が第１の階調よりも少ない第２の階調の画像を取り扱うようにしているので、メモリ資源を効率的に活用することができる。また、距離画像を生成する段階では、例えば小さな傷などの欠陥も検出できる程のダイナミックレンジを確保し、差分画像を求める段階で、欠陥に関する情報がなるべく欠落しないように、距離画像の一部又は全部の画素の濃淡値から立体形状情報に基づく値を差し引くことによって、欠陥の検出精度の低下を防ぐことができる。
【００１２】
ここで、「立体形状情報に基づく値（例えば濃淡値）」は、ワークの立体形状情報を示すような濃淡値であれば、如何なる値であっても構わない。例えば、欠陥のない（又は欠陥がないと仮定可能な）ワークの立体形状が現れた画像における各画素の濃淡値であってもよい。また、例えば傾斜面を有するワーク固有の立体形状情報が、１次式（濃淡値＝係数×画素位置）で現すことができる場合、ワークの立体形状情報に基づく濃淡値を、この１次式から求めてもよい。また、例えば放物曲面を有するワーク固有の立体形状情報が、２次式（濃淡値＝係数×画素位置×画素位置）で現すことができる場合、ワークの立体形状情報に基づく濃淡値を、この２次式から求めてもよい。
【００１３】
さらに、複数枚の距離画像から平均距離画像（ワークの概形が現れた画像）を求め、その平均距離画像における各画素の濃淡値を、ワークの立体形状情報に基づく濃淡値としてもよい。その他、ワークの立体形状情報を示す値であれば、如何なる値であってもよい。なお、「予め定められた」とは、差分画像を求める際に（時点で）定められていれば（画像処理装置に記憶されていれば）、どのタイミングで定められてもよい。例えば、上述した１次式が、予め画像処理装置に記憶されていてもよいし、或いは、上述した平均距離画像が、差分画像を求める際（直前）に記憶されていてもよい。
【００１４】
また、本発明に係る画像処理装置において、特徴量算出手段は、差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、第２の階調数以上の濃淡値を第２の階調数より小さい濃淡値に変換して、各画素の濃淡値が変換された差分画像から特徴量を算出するような構成としてもよい。これにより、特徴量算出手段が、より確実に第２の階調の画像を取り扱うことができる。
【００１５】
また、本発明に係る画像処理装置において、差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、第２の階調数以上の濃淡値を第２の階調で表すことが可能な最大濃淡値に変換することにより、各画素の濃淡値が変換された差分画像から特徴量を算出するような構成としてもよい。これにより、第２の階調数以上の濃淡値を第２の階調で表すことが可能な最大濃淡値に変換する、という比較的簡易かつ処理負荷の軽い画像処理によって、特徴量算出手段が、より確実に第２の階調の画像を取り扱うことができる。
【００１６】
また、本発明に係る画像処理装置において、差分画像の各画素の濃淡値が第２の階調数より小さい濃淡値に制限されるように差分画像を圧縮する差分画像圧縮手段を有し、特徴量算出手段は、差分画像圧縮手段により圧縮された差分画像から特徴量を算出するような構成としてもよい。これにより、特徴量算出手段は、第２の階調数以上の濃淡値を当該第２の階調数より小さい濃淡値に変換する機能を有していない場合であっても、第２の階調の画像を取り扱うことができる。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、距離画像を用いて外観検査を行う際に、メモリ資源の効率的な活用と検出精度の低下を防ぐことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る画像処理装置を含む画像システムのシステム構成例を示す図である。
【図２】距離画像の一例を示す説明図である。
【図３】本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。
【図４】本実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図５】形状情報削減手段によって、距離画像のダイナミックレンジが狭くなる様子を説明するための説明図である。
【図６】形状情報削減手段によって、距離画像のダイナミックレンジが狭くなる様子を説明するための説明図である。
【図７】形状情報削減手段によって、距離画像のダイナミックレンジが狭くなる様子を説明するための説明図である。
【図８】形状情報削減手段によって、距離画像のダイナミックレンジが狭くなる様子を説明するための説明図である。
【図９】図４に示すビット数削減手段の機能を概念的に説明するための説明図である。
【図１０】図４に示すビット数削減手段の機能を具体的な数値を例に挙げながら説明するための説明図である。
【図１１】本実施形態に係る画像処理装置の処理動作を示すフローチャートである。
【図１２】画像処理装置において図１１に示す処理動作が行われたときの様子を示す具体例である。
【図１３】画像処理装置において図１１に示す処理動作が行われたときの様子を示す具体例である。
【図１４】本発明の他の実施形態（第２実施形態）として、画像処理装置において変換テーブルを使うときの機能構成例を示す図である。
【図１５】第２実施形態におけるビット数削減手段の機能を説明するための説明図である。
【図１６】変換テーブルの一例である。
【図１７】変換テーブルの一例である。
【図１８】変換テーブルの一例である。
【図１９】本発明の他の実施形態（第３実施形態）として、基準距離画像として平均距離画像を使うときの機能構成例を示す図である。
【図２０】本発明の他の実施形態（第４実施形態）として、画像処理装置に補正手段を設けたときの機能構成例を示す図である。
【図２１】本発明の他の実施形態（第４実施形態）に係る画像処理装置の処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態に係る画像処理装置について、図面に基づいて具体的に説明する。
【００２０】
［システム構成］
図１は、本発明の実施の形態に係る画像処理装置１０を含む画像システム１のシステム構成例を示す図である。図１に示す画像システム１は、エッジ検出や面積計算などの計測処理を実行する画像処理装置１０と、ワーク（検査対象物）を撮像するカメラ３０と、液晶パネル等のモニタ４０と、ユーザがモニタ４０上で各種操作するためのコンソール５０と、ワークを照らす照明装置６０と、を有している。カメラ３０、モニタ４０、コンソール５０、及び照明装置６０は、画像処理装置１０と着脱可能に接続される。これらのうち照明装置６０は、距離画像（詳細は後述する）を生成するためにワークを照らす照明手段として用いられ、例えば、ワークに対してライン状のレーザ光を投光する光投影器であってもよいし、ワークに正弦波縞模様パターンを投影するためのパターン投影器であってもよい。図１では省略するが、明視野照明や暗視野照明を行うための一般的な照明装置が別途設けられてもよい（照明装置６０に、一般的な照明装置としての機能をもたせることも可能である）。
【００２１】
画像処理装置１０は、カメラ３０から得られた画像データを用いて画像処理を実行し、外部接続されたＰＬＣ（Programmable Logic Controller）７０などの制御機器に対し、ワークの良否などの判定結果を示す信号として判定信号を出力する。
【００２２】
カメラ３０は、ＰＬＣ７０から入力される制御信号、例えばカメラ３０から画像データを取り込むタイミングを規定する撮像トリガ信号に基づいて、検査対象物の撮像を行う。モニタ４０は、検査対象物を撮像して得られた画像データや、その画像データを用いた計測処理の結果を表示するための表示装置である。一般に、ユーザは、モニタ４０を視認することによって、画像処理装置１０の動作状態を確認することができる。コンソール５０は、モニタ４０上でフォーカス位置を移動させたり、メニュー項目を選択したりするための入力装置である。
【００２３】
また、画像処理装置１０は、画像処理装置１０の制御プログラムを生成するためのＰＣ８０を接続することもでき、このＰＣ８０上で動作するソフトウェアによって、画像処理の処理順序を規定する処理順序プログラムを生成することができる。画像処理装置１０では、その処理順序に沿って各画像処理が順次実行される。ＰＣ８０と画像処理装置１０とは、通信ネットワークを介して接続されており、ＰＣ８０上で生成された処理順序プログラムは、例えばモニタ４０の表示態様を規定するレイアウト情報などとともに、画像処理装置１０に転送される。また逆に、画像処理装置１０から処理順序プログラムやレイアウト情報などを取り込んで、ＰＣ８０上で編集することもできる。なお、この処理順序プログラムは、ＰＣ８０だけでなく、画像処理装置１０においても生成できるようにしてもよい。
【００２４】
［距離画像の生成］
図１に示すカメラ３０と照明装置６０を利用することで得られる「距離画像」とは、ワークを撮像するカメラ３０から、ワークまでの距離に応じて各画素の濃淡値が変化する画像をいう。換言すれば、カメラ３０からワークまでの距離に基づいて濃淡値が決定される画像ともいえるし、ワークまでの距離に応じた濃淡値を有する多値画像ともいえるし、或いは、ワークの高さに応じた濃淡値を有する多値画像ともいえる。さらに、濃淡画像の画素ごとに、カメラ３０からの距離を濃淡値に変換した多値画像ともいえる。例えば、図２（ａ）に示すように、半径の異なる円柱が２段重なったようなワークの距離画像を考える。ワークの最上面Ｓ１とカメラ３０までの距離はｌ１であり、ワークの中段面Ｓ２とカメラ３０までの距離はｌ２であり、ワークの載置面Ｓ３とカメラ３０までの距離はｌ３であり、ワークの高さはＬ（＝ｌ３−ｌ１）である。このようなワークから、例えば図２（ｂ）に示すような距離画像を得ることができる。図２（ｂ）によれば、ワークの最上面Ｓ１が最も濃く（例えば黒色）、ワークの載置面Ｓ３が最も薄く（例えば白色）、ワークの中段面Ｓ２がこれらの中間色（例えば灰色）となっている。すなわち、ワークとカメラ３０までの距離ｌ１，ｌ２，ｌ３（ｌ１＜ｌ２＜ｌ３）に応じて、最上面Ｓ１，中段面Ｓ２，載置面Ｓ３という順番で各画素の濃淡値が小さくなっている。このように、距離画像では、カメラ３０からワークまでの距離に応じて各画素の濃淡値が変化する。
【００２５】
距離画像を生成するための手法としては、大きく分けて２つの方式があり、一つは、通常の画像を得るための照明条件で撮像した画像を用いて距離画像を生成するパッシブ方式（受動計測方式）、もう一つは、高さ方向の計測をするために光を能動的に照射して距離画像を生成するアクティブ方式（能動計測方式）である。パッシブ方式の代表的な手法は、ステレオ計測法である。これは、カメラ３０を２台用意し、これら２台のカメラを所定の位置関係で配置するだけで距離画像を生成できることから、濃淡画像を生成するための一般的な画像システムを利用して距離画像を生成でき、システム構築コストを抑制することができる。しかし、ステレオ計測法では、一方のカメラによって得られる画像中の一点が、他方のカメラによって得られる画像中のどの点に対応しているのかを決定しなければならず、いわゆる対応点の決定処理に時間が掛かるという問題がある。また、計測位置は対応点のみであり、全画素ではないことから、この点においても外観検査の高速化には向かない。一方で、アクティブ方式の代表的な手法は、光切断法とパターン投影法である。光切断法は、上述したステレオ計測法において、一方のカメラを光投影器に置き換えて、ワークに対してライン状のレーザ光を投光し、物体表面の形状に応じたライン光の像の歪み具合からワークの３次元形状を復元する。光切断法は、対応点の決定が容易であるため、ステレオ計測法と比べてある程度、計測処理の高速化が期待できる。しかし、それでも１回の計測で１ライン分しか計測できないため、全画素の計測値を得ようとすると、レーザ光の投光を複数回行う必要があり、且つ、対象物又はカメラを走査しなければならず、高速化に限界がある。パターン投影法は、ワークに投影された所定パターンの形状や位相などをずらして複数枚の画像を撮像し、撮像した複数枚の画像を解析することでワークの３次元形状を復元するものである。パターン投影法には幾つか種類があり、正弦波縞模様パターンの位相をずらして複数枚（最低３枚以上）の画像を撮像し、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用してワーク表面上の３次元座標を求める位相シフト法や、２つの規則的なパターンが合成されるときに生じる一種の空間周波数のうなり現象を利用して３次元形状を復元するモアレポトグラフィ法などが代表的である。
【００２６】
本実施形態に係る画像処理装置１０では、上述した位相シフト法によって距離画像を生成することとしている。これにより、外観検査の高速化に資することができる。なお、本発明は、位相シフト法によって距離画像を生成することに限られず、位相シフト法以外の上述した方法によって距離画像を生成しても構わない。また、上述した方法以外の方法、例えば光レーダ法（タイムオブフライト）、合焦点法、共焦点法、白色光干渉法など、距離画像を生成するために考え得る如何なる手法を採用しても構わない。
【００２７】
［ハードウェア構成］
図３は、本実施形態に係る画像処理装置１０のハードウェア構成例を示すブロック図である。図３に示すように、画像処理装置１０は、各種プログラムに基づき数値計算や情報処理を行うとともに、ハードウェア各部の制御を行う主制御部１１を有している。主制御部１１は、例えば、中央演算処理装置としてのＣＰＵ１１ａと、主制御部１１が各種プログラムを実行する際のワークエリアとして機能するＲＡＭなどのワークメモリ１１ｂと、起動プログラムや初期化プログラムなどが格納されたＲＯＭ，フラッシュＲＯＭ，又はＥＥＰＲＯＭなどのプログラムメモリ１１ｃとを有している。
【００２８】
また、画像処理装置１０は、上述した距離画像を生成するために、ワークに対して正弦波縞模様パターンを位相ずらして投影するための照明制御部１２と、カメラ３０での撮像により得られた画像データを取り込むＡＳＩＣ（Application Specific Integrated Circuit）などから構成される画像入力部１３と、コンソール５０からの操作信号が入力される操作入力部１４と、液晶パネル等のモニタ４０に対して画像を表示させる表示用ＤＳＰなどから構成される表示制御部１５と、外部のＰＬＣ７０やＰＣ８０などと通信可能に接続される通信部１６と、エッジ検出や面積計算などの計測処理を実行する演算用ＤＳＰなどから構成される画像処理部１７と、を有している。なお、画像入力部１３には、画像データをバッファリングするためのフレームバッファが含まれていてもよく、画像処理部１７には、計測処理用に画像データを記憶するメモリが含まれていてもよく、表示制御部１５には、画像を表示させる際に画像データを一時記憶するＶＲＡＭなどのビデオメモリが含まれていてもよい。これらの各ハードウェアは、バスなどの電気的な通信路（配線）を介し、通信可能に接続されている。
【００２９】
主制御部１１内のプログラムメモリ１１ｃには、照明制御部１２、画像入力部１３、操作入力部１４、表示制御部１５、通信部１６、及び画像処理部１７の各部を、ＣＰＵ１１ａのコマンド等により制御するための制御プログラムが格納されている。また、上述した処理順序プログラム、すなわち、ＰＣ８０において生成され、ＰＣ８０から転送されてきた処理順序プログラムは、プログラムメモリ１１ｃに格納される。
【００３０】
通信部１６は、外部のＰＬＣ７０に接続されたセンサ（光電センサ等）でトリガ入力があったときに、ＰＬＣ７０から撮像トリガ信号を受信するインターフェース（Ｉ／Ｆ）として機能する。また、ＰＣ８０から転送されてくる画像処理装置１０の画像処理プログラムやモニタ４０の表示態様を規定するレイアウト情報などを受信するインターフェース（Ｉ／Ｆ）としても機能する。
【００３１】
主制御部１１のＣＰＵ１１ａは、通信部１６を介してＰＬＣ７０から撮像トリガ信号を受信すると、画像入力部１３に対して撮像指令（コマンド）を送る。また、処理順序プログラムに基づいて、画像処理部１７に対して、実行すべき画像処理を指示するコマンドを送信する。なお、撮像トリガ信号を生成する装置として、ＰＬＣ７０ではなく、光電センサなどのトリガ入力用のセンサを、通信部１６に直接接続することができるようにしてもよい。
【００３２】
操作入力部１４は、ユーザの操作に基づきコンソール５０からの操作信号を受信するインターフェース（Ｉ／Ｆ）として機能する。モニタ４０には、コンソール５０を用いたユーザの操作内容が表示される。具体的に説明すると、コンソール５０には、モニタ４０上に表示されるカーソルを上下左右に移動させる十字キー、決定ボタン、又はキャンセルボタンなどの各部品が配置されており、これらの各部品を操作することによって、ユーザはモニタ４０上で、画像処理の処理順序を規定するフローチャートを作成したり、各画像処理のパラメータ値を編集したり、基準領域の設定をしたり、基準登録画像を編集したりすることができる。
【００３３】
画像入力部１３は、画像データの取り込みを行う。具体的には、例えばＣＰＵ１１ａからカメラ３０の撮像指令を受信すると、カメラ３０に対して画像データ取り込み信号を送信する。そして、カメラ３０で撮像が行われた後、撮像して得られた画像データを取り込む。取り込んだ画像データは、一旦バッファリング（キャッシュ）され、予め用意しておいた画像変数に代入される。なお、「画像変数」とは、数値を扱う通常の変数と異なり、対応する画像処理ユニットの入力画像として割り付けることで、計測処理や画像表示の参照先となる変数をいう。
【００３４】
画像処理部１７は、画像データに対する計測処理を実行する。具体的には、まず画像入力部１３が上述した画像変数を参照しつつ、フレームバッファから画像データを読み出して、画像処理部１７内のメモリへ内部転送を行う。そして、画像処理部１７は、そのメモリに記憶された画像データを読み出して、計測処理を実行する。
【００３５】
表示制御部１５は、ＣＰＵ１１ａから送られてきた表示指令（表示コマンド）に基づいて、モニタ４０に対して所定画像（映像）を表示させるための制御信号を送信する。例えば、計測処理前又は計測処理後の画像データを表示するために、モニタ４０に対して制御信号を送信する。また、表示制御部１５は、コンソール５０を用いたユーザの操作内容をモニタ４０に表示させるための制御信号も送信する。
【００３６】
［機能構成］
図４は、本実施形態に係る画像処理装置１０の機能構成例を示す図である。
【００３７】
図４に示すように、画像処理装置１０は、上述したＣＰＵ１１ａやプログラムメモリ１１ｃに格納された各種プログラムなどによって、ソフトウェア的に各手段を実現可能な構成となっている。具体的には、画像処理装置１０は、距離画像生成手段１１０と、立体形状情報削減手段１２０と、基準距離画像登録手段１３０と、特徴量算出手段１４０と、判定手段１５０と、判定信号出力手段１６０と、を有している。
【００３８】
距離画像生成手段１１０は、ワークを撮像するカメラ３０からワークまでの距離に応じて各画素の濃淡値が変化する距離画像を生成する手段である。例えば、図３に示す主制御部１１並びに照明制御部１２及び画像入力部１３等によって具現化することができる。生成された距離画像は、上述した画像入力部１３のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。また、位相シフト法を採用して距離画像を生成する本実施形態では、照明制御部１２が、ワークに対して正弦波縞模様パターンを位相ずらして投影するように、照明６０を制御し、画像入力部１３が、それに応じて正弦波縞模様パターンの位相がずれた画像を複数枚撮像するように、カメラ３０を制御する。そして、画像入力部１３は、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用して距離画像を生成する。なお、本実施形態では画像入力部１３が距離画像の生成処理を行うようにしているが、例えば図３に示す主制御部１１や画像処理部１７などが距離画像の生成処理を担うこともできる。
【００３９】
立体形状情報削減手段１２０は、距離画像生成手段１１０により生成された距離画像に含まれるワーク固有の形状情報を削減するために、生成された距離画像の一部又は全部の画素について、それぞれ予め定められた立体形状情報に基づく濃淡値との差分を求める手段である。本実施形態に係る画像処理装置１０では、距離画像生成手段１１０により生成された距離画像と、良品のワークを撮像したときの距離画像とみなす基準距離画像との差分画像を算出するようにしている。これにより、距離画像のダイナミックレンジを狭くすることができる。ダイナミックレンジとは、一般に、各画素の画素値（濃淡値）のうち、最大の画素値と最小の画素値の比率をいう。或いは、場合によっては、各画素の画素値（濃淡値）のうち、最大の画素値から最小の画素値を減算して得られる値（範囲）をいうこともある。
【００４０】
図５〜図８は、立体形状情報削減手段１２０によって、距離画像のダイナミックレンジが狭くなる様子を説明するための説明図である。
【００４１】
図５（ａ）は、図２（ｂ）に示す距離画像において、中段面Ｓ２に小さな傷（凹み）からなる欠陥Ｘが形成されている様子を示している。図５（ｂ）は、図２（ａ）に示すワークであって、良品のワークを撮像したときの距離画像とみなす基準距離画像である。図５（ａ）に示す距離画像と図５（ｂ）に示す基準距離画像との差分画像を算出すると、図５（ｃ）に示すような差分画像が得られる。この差分画像では、欠陥Ｘが浮き彫りになっていることが分かる。図６（ａ）〜図６（ｃ）は、図５（ａ）〜図５（ｃ）の各々の距離画像に対するヒストグラムを示している。図６（ａ）及び図６（ｂ）に示すヒストグラムでは、最上面Ｓ１を示す山と載置面Ｓ３を示す山とが離れており、ダイナミックレンジＡは広い。なお、図６（ａ）において、中段面Ｓ２を示す山と載置面Ｓ３を示す山との間に、欠陥Ｘを示す山が現れている（山の大きさ等は便宜的なものであり、概略である）。
【００４２】
一方で、図６（ｃ）を見ると、最上面Ｓ１、中段面Ｓ２、載置面Ｓ３それぞれを明確に示す山がなくなり、左の方に大きな山が１つ現れている（上記同様、山の大きさ等は便宜的なものであり、概略である）。また、図６（ａ）で示した欠陥Ｘの山は、その大きな山の近傍に移動している（左にシフトしている）。図６（ｃ）に示すヒストグラムにおけるダイナミックレンジＢは、図６（ａ）に示すヒストグラムにおけるダイナミックレンジＡよりも、明らかに狭くなっている。つまり、距離画像のダイナミックレンジが狭くなっている様子が分かる。
【００４３】
別の例で説明すると、図７（ａ）は、傾斜面を有するワークをカメラ３０で撮像するケースであって、傾斜面の一部に、窪みからなる欠陥Ｙが形成されている様子を示している。図７（ｂ）は、図７（ａ）のケースにおける距離画像である。図７（ｂ）は、図７（ａ）のケースにおける基準距離画像である。図７（ｂ）に示す距離画像と図７（ｃ）に示す基準距離画像との差分画像を算出すると、図７（ｄ）に示すような差分画像が得られる。この差分画像では、欠陥Ｙが浮き彫りになっていることが分かる。図８（ａ）〜図８（ｃ）は、図７（ｂ）〜図７（ｄ）の各々の距離画像に対するヒストグラムを示している。図８（ａ）及び図８（ｂ）に示すヒストグラムは、ワークの形状に応じて台形形状の山になっており、図８（ａ）におけるヒストグラムの中央付近には、欠陥Ｙを示す凸部が現れている。
【００４４】
一方で、図８（ｃ）を見ると、台形形状の山がなくなり、左の方に大きな山が１つ現れている。また、図８（ａ）で示した欠陥Ｙの凸部は、その大きな山の近傍に移動している。図８（ｃ）に示すヒストグラムにおけるダイナミックレンジＢ’は、図８（ａ）に示すヒストグラムにおけるダイナミックレンジＡ’よりも、明らかに狭くなっている。つまり、距離画像のダイナミックレンジが狭くなっている様子が分かる。このように、図５〜図８を用いて説明したように、立体形状情報削減手段１２０によって、距離画像のダイナミックレンジを狭くすることができる。なお、立体形状情報削減手段１２０は、例えば、図３に示す主制御部１１及び画像入力部１３等によって具現化することができる。ここで算出された差分画像は、画像入力部１３のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。
【００４５】
ここで、「基準距離画像」は、良品のワークを撮像したときの距離画像とみなすことが可能な基準距離画像として、ユーザが事前に登録しておいたものである。基準距離画像を使用可能な構成にすることにより、画像処理装置１０のユーザビリティを増すことができる。事前に登録する手法は幾つかあり、例えば、ユーザがモニタ４０を見ながらコンソール５０を使って所定の操作をすることで、一の距離画像を基準距離画像として登録してもよいし、或いは、ユーザがＰＣ８０上で一の距離画像を基準距離画像として登録しておき、その情報を画像処理装置１０に転送するようにしてもよい。なお、図４に示す基準距離画像登録手段１３０は、主制御部１１並びにコンソール５０，操作入力部１４，モニタ４０，及び表示制御部１５等によって具現化することもできるし、或いは、主制御部１１及びＰＣ８０等によって具現化することもできる。登録された基準距離画像は、画像入力部１３のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。
【００４６】
図４に戻って、特徴量算出手段１４０は、距離画像生成手段１１０によって生成される距離画像の各画素の濃淡値が有する階調を第１の階調としたとき、階調数が、この第１の階調よりも少ない第２の階調の画像を取り扱うとともに、立体形状情報削減手段１２０により算出された差分画像から特徴量を算出する手段である。例えば、図３に示す主制御部１１及び画像処理部１７等によって具現化することができる。ここで、特徴量算出手段１４０が「第１の階調よりも少ない第２の階調の画像」を取り扱うことができるのは、主として、上述したように差分画像のダイナミックレンジが狭くなっているからである（図５〜図８参照）。したがって、例えば特徴量算出手段１４０が第２の階調の画像しか取り扱うことができない場合であっても、距離画像生成手段１１０により距離画像を生成する段階では、第２の階調よりも多い第１の階調の画像を取り扱うことができる。その結果、距離画像を生成する際に高い分解能を確保することができ、ひいては検出精度の低下を防ぐことができる。例えば、特徴量算出手段１４０が８ビット（２５６階調）の画像しか扱えない場合において、濃淡値が３００の画素を有する画像が特徴量算出手段１４０に入力されると、画素値がオーバーフローしてしまい、濃淡値は４４（＝３００−２５６）になってしまう。本実施形態では、立体形状情報削減手段１２０によって、このようなオーバーフローが生じることを防止している。また、他の例について説明すると、対象画素の濃淡値と周囲の画素の濃淡値を加算して、加算された値を周囲の画素数＋１（対象画素の分）の画素数で割った値を対象画素の濃淡値とする平均化処理を考えた場合、処理対象としての距離画像のダイナミックレンジが広いと、周囲の画素の濃淡値を加算したときに一時的にオーバーフローしてしまう可能性がある（１６ビットの数値しか扱えない場合に、６５５３６以上の数値になってしまう可能性がある）。そのため、メモリ資源を効率的に活用できているとはいい難い。このようなオーバーフローを防ぐために、距離画像の画像データを格納するメモリとして、大容量のメモリを搭載することも考えられるが、装置の製造コストが嵩んでしまう。そこで、本実施形態では、立体形状情報削減手段１２０によって、特徴量を算出する際、階調数が第１の階調よりも少ない第２の階調の画像を取り扱うことを可能としているので、ダイナミックレンジが狭くなり、濃淡値が一時的にオーバーフローする可能性が低くなり、メモリ資源を効率的に活用することができる。
【００４７】
なお、距離画像から基準距離画像を差し引く際に、ＸＹ方向に正確に位置決め（或いは位置決め補正）がなされていれば、差分画像は、ほとんどのケースで第１の階調より少ない第２の階調の画像になると考えられる。しかし、位置決め誤差等によって、差分画像の全ての画素において、常に、第２の階調の画像の画素値になるとは限らない。そこで、本実施形態では、特徴量算出手段１４０は、差分画像の各画素の濃淡値のうち第２の階調数以上の濃淡値が存在する場合、第２の階調数以上の濃淡値を第２の階調で表すことが可能な最大濃淡値に変換することにより、各画素の濃淡値が変換された差分画像から特徴量を算出するようにしている。例えば、特徴量算出手段１４０が２５６階調（濃淡値は０〜２５５）の画像を取り扱うことが可能な場合に、濃淡値が３００の画素があった場合、その画素は２５５に変換する。このような変換を行うことで、特徴量算出手段１４０はエラーを出すことなく正常に画像処理を行うことができる。なお、ここでは最大濃淡値に変換するようにしているが、２５５より小さい数であっても構わない。要は、各画素について、第２の階調数以上の濃淡値を第２の階調数より小さい濃淡値に変換すれば足りる。また、本実施形態では特徴量算出手段１４０に上述した変換機能を持たせているが、必ずしも上述した変換機能を持たせる必要はない。例えば、後述する図１４に示す変形例のように、特徴量算出手段１４０が差分画像を取り扱う前に、差分画像の各画素の濃淡値が第２の階調数より小さい濃淡値に制限されるように差分画像を圧縮するような構成にしてもよい。
【００４８】
さらに、本実施形態では、特徴量算出手段１４０はビット数削減手段１４０ａを有する構成にしている。ビット数削減手段１４０ａは、立体形状情報削減手段１２０により算出された差分画像の各画素の濃淡値がとり得る範囲を２進数で表現したときのビットの数を削減する手段である。換言すれば、立体形状情報削減手段１２０により算出された差分画像の情報量を圧縮する手段である。さらに換言すれば、差分画像の各画素の濃淡値が取り得るレンジを第１の階調に対応する第１のレンジから第２の階調に対応する第２のレンジに制限するために、差分画像の各画素の濃淡値をビット表現したときのビット数を減らす手段である。圧縮された差分画像は、画像入力部１３のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。差分画像の圧縮の詳細については、［差分画像の圧縮］において後述する。
【００４９】
判定手段１５０は、形状情報が削減された距離画像を用いて画像処理を実行して、ワークの良否を判定する手段である。本実施形態では、ビット数削減手段１４０ａにより圧縮された差分画像を用いて、画像処理を実行してワークの良否を判定している。例えば、図３に示す主制御部１１及び画像処理部１７等によって具現化することができる。この判定手段１５０によって判定された判定結果は、判定信号出力手段１６０を通じて判定信号として外部機器（ＰＬＣ７０等）に出力される。したがって、判定手段１５０は、例えば、図３に示す主制御部１１及び通信部１６等によって具現化することができる。このように、本実施形態では、形状情報削減手段１２０において、生成された距離画像から差分画像を算出しておき、ビット数削減手段１４０ａにおいて、その差分画像を圧縮し、圧縮して得られた差分画像を、判定手段１５０による画像処理の実行対象としている。これにより、距離画像を用いて外観検査を行う際に、処理負荷の増大と、検出精度の低下との双方を防ぐことができる。
【００５０】
［差分画像の圧縮］
図９は、図４に示すビット数削減手段１４０ａの機能を概念的に説明するための説明図である。図１０は、図４に示すビット数削減手段１４０ａの機能を具体的な数値を例に挙げながら説明するための説明図である。
【００５１】
図９では、距離画像生成手段１１０によって生成された距離画像と、基準距離画像登録手段１３０によって登録された基準距離画像との各画素の濃淡値を２進数で表現すると、１６ビットで表現される。そして、立体形状情報削減手段１２０によって、各画素について濃淡値の差分を算出しても、差分画像は１６ビットで表現される画像のままである。ここで、距離画像と基準距離画像の差分を算出した場合には、浅くて小さな傷の欠陥情報は、下位８ビットに集約されるため、ビット数削減手段１４０ａにより、例えば上位８ビットを削減する。これにより、検出精度の低下を防ぎつつ、差分画像の情報量を大きく圧縮することができる。つまり、ビット数削減手段１４０ａが、差分画像の各画素の濃淡値をビット表現したときのビットのうち上位半分のビットを減らすことにより、検出精度の低下を防ぎつつ、差分画像の情報量を大きく圧縮することができる。
【００５２】
図１０を用いてより具体的に説明すると、距離画像の任意画素の濃淡値が３３９０であるとすると、２進数では“００００１１０１００１１１１１０”と表現される。また、基準距離画像の任意画素に対応する画素の濃淡値が３３７１であるとすると、２進数では“００００１１０１００１０１０１１”と表現される。そして、差分画像は、３３９０−３３７１＝１９となり、２進数では“０００００００００００１００１１”と表現される。このとき、浅くて小さな傷の欠陥情報を示す１９は、２進数で表現すると下位５ビットに集約されている。したがって、上位８ビットを削減したとしても、検出精度の低下を防ぎつつ、差分画像の情報量を大きく圧縮することができる。つまり、小さい傷などの欠陥情報を残しつつ、距離画像のもつ情報量を圧縮することができる。
【００５３】
なお、図９及び図１０では、画像入力部１３において上位８ビットを削減して情報量を圧縮したが、例えば、上位８ビットを無視して情報量を圧縮してもよい。すなわち、例えば画像入力部１３において下位８ビットを抽出して新たな２５６階調の画像を生成し、それを新たな差分画像として定義してもよい。要は、処理として所定ビットのデータを消去する処理の有無は問わない。
【００５４】
［処理動作］
図１１は、本実施形態に係る画像処理装置１０の処理動作を示すフローチャートである。図１１に示すように、まず、距離画像の生成処理が行われる（ステップＳ１）。具体的には、距離画像生成手段１１０が、カメラ３０と照明６０とを用いて距離画像を生成する。次いで、差分画像の算出処理が行われる（ステップＳ２）。具体的には、立体形状情報削減手段１２０が、基準距離画像を用いて形状情報を削減する。次いで、差分画像の圧縮処理が行われる（ステップＳ３）。具体的には、ビット数削減手段１４０ａが、差分画像のビット数を削減して、情報量を圧縮する。次いで、判定手段１５０が、各種計測処理を行い（ステップＳ４）、ワークが良品であるか否かを判定する（ステップＳ５）。判定信号出力手段１６０は、判定手段１５０によってワークが良品であると判定された場合には（ステップＳ５：ＹＥＳ）、判定信号としてＯＫ信号をＰＬＣ７０に出力し、判定手段１５０によってワークが良品でない（不良品である）と判定された場合には（ステップＳ５：ＮＯ）、判定信号としてＮＧ信号をＰＬＣ７０に出力する。
【００５５】
図１２及び図１３は、画像処理装置１０において図１１に示す処理動作が行われたときの様子を示す具体例である。図１２では、静止した円柱状のワークが検査対象であり（図１２（ａ）参照）、図１３では、回転する円柱状のワークが検査対象である（図１３（ａ）参照）。
【００５６】
図１２（ａ）では、マスクＭにより抽出される領域が検査領域である。つまり、ユーザが、モニタ４０やコンソール５０を用いて、検査領域を設定することが可能である。上述した図１１のステップＳ１によって、この検査領域から得られる距離画像が、図１２（ｂ）に示す距離画像である。図１２（ｂ）では、中央付近が黒いため、検査領域の中央付近がカメラ３０に近く、両端付近が白いため、検査領域の両端付近がカメラ３０から遠いことが分かる。つまり、円柱形状又は半円柱形状のワークであることが分かる。また、図１２（ｂ）では、欠陥らしきものは見当たらない。しかし、上述した図１１のステップＳ２によって、ワーク固有の形状情報を削減するために差分画像を算出すると、図１２（ｃ）に示すような差分画像が得られる。図１２（ｃ）によれば、中央付近に小さな線状のゴミＺ１が付着していることが分かる。これにより、上述した図１１のステップＳ５〜ステップＳ７によってワークは不良品であると認識することが可能になる。また、ビット数削減手段１４０ａによって、差分画像のビット数は削減されているため、上述したステップＳ４における各種計測処理の際、メモリ資源を効率的に活用することができる。また、ビット数が少ない差分画像を扱うことで、画像処理の処理負荷の軽減に資することもできる。また、
【００５７】
別の例について説明すると、図１３では、円柱状のワークが回転しており、回転軸に芯ずれが生じているため、図１３（ａ）及び図１３（ｂ）に示すように、カメラ３０とワークまでの距離がｈになったり、ｈ’（＞ｈ）になったり変動する。図１３（ａ）及び図１３（ｂ）のケースにおいて、上述したステップＳ１によって得られる距離画像は、それぞれ図１３（ｃ）及び図１３（ｄ）に示す距離画像である。
【００５８】
ここで、図１３（ｄ）は、全体的に各画素の濃淡値が小さく、ほぼ白い距離画像となっているが、これは、カメラ３０とワークまでの距離が、ｈよりも大きなｈ’になったことが要因である。このように、回転軸に芯ずれが生じているときには、適切な距離画像を得られないことがある。しかし、本実施形態に係る画像処理装置１０によれば、立体形状情報削減手段１２０によって、（カメラ３０とワークまでの距離を含む）ワーク固有の形状情報を削減することができるので、上述した図１１のステップＳ２の処理により、図１３（ａ）及び図１３（ｂ）のケースにおいて、それぞれ図１３（ｅ）及び図１３（ｆ）の差分画像を得ることができる。図１３（ｆ）によれば、小さな線状の窪みなどの欠陥Ｚ２が形成されていることが分かる。これにより、上述した図１１のステップＳ５〜ステップＳ７によってワークは不良品であると認識できる。
【００５９】
［変形例］
図１４は、本発明の他の実施形態（第２実施形態）として、画像処理装置１０において変換テーブルを使うときの機能構成例を示す図である。図１４では、差分画像の各画素の濃淡値が第２の階調数より小さい濃淡値に制限されるように差分画像を圧縮する差分画像圧縮手段１８０が別途設けられている。さらに、本変形例では、この差分画像圧縮手段１８０に、図４で説明したビット数削減手段１４０ａの機能ももたせている。ビット数削減手段１４０ａは、形状情報が削減された距離画像の各画素の濃淡値がとり得る範囲を、そのとり得る範囲よりも狭い範囲に対応付けるための変換特性に基づいて、ビットの数を削減するようにしている。また、変換特性を示す変換テーブルは、変換特性記憶手段１７０に記憶されており、ビット数削減手段１４０ａは、変換特性記憶手段１７０から読み出した変換テーブルに基づいて、ビットの数を削減するようにしている。すなわち、変換特性記憶手段１７０は、変換前の画像の濃淡値が有する第１の階調と、変換後の画像の濃淡値が有する第２の階調とを対応付けるための変換特性を示す変換テーブルを記憶しており、ビット数削減手段１４０ａは、変換特性記憶手段１７０から読み出した変換テーブルに基づいて、ビットの数を削減するようにしている。なお、変換特性記憶手段１７０は、画像処理装置１０内の各メモリ又はフレームバッファによって具現化することができる。
【００６０】
図１５は、第２実施形態におけるビット数削減手段１４０ａの機能を説明するための説明図である。本実施形態では、図１５に示すように、１６ビットの差分画像を８ビットの差分画像に圧縮する際、単純に上位８ビットを削減するのではなく（図９参照）、図１６〜図１８に示す各変換テーブルのいずれかを用いてビット数を削減している。図１６〜図１８では、横軸は変換前の各画素の濃淡値Ｉiを示し、縦軸は変換後の各画素の濃淡値Ｉoを示している。
【００６１】
図１６（ａ）〜図１６（ｃ）では、変換特性を示す曲線の傾きが１から次第に小さくなっている（傾きを略１以下にすることで、データ圧縮を行うことができる）。すなわち、明るい側の分解能を下げている。これにより、ダイナミックレンジを圧縮しながら、小さい傷などの欠陥情報が欠落するのを防ぎ、ひいては外観検査精度の低下を防ぐことができる。つまり、変換前の各画素の濃淡値を横軸とし、変換後の各画素の濃淡値を縦軸としたとき、変換曲線の傾きが次第に小さくなるように構成されることで、小さい傷などの欠陥情報が欠落するのを防ぎつつ、外観検査精度の低下を防ぐことができる。具体的には、対数変換を行ったり（図１６（ａ）参照）、逆ガンマ変換を行ったり（図１６（ｂ）参照）、折れ線による変換を行ったりすることが考えられる（図１６（ｃ）参照）。
【００６２】
図１７（ａ）〜図１７（ｂ）では、変換特性を示す曲線の傾きが次第に大きくなっている。すなわち、暗い側の分解能を下げている。これにより、ダイナミックレンジを圧縮しながら、大きい凹みなどの欠陥情報が欠落するのを防ぐことができる。なお、小さい傷などの欠陥情報が欠落する可能性があるが、大きい凹みを検出したいユーザにとっては、本変換特性をもつ変換テーブルを採用することは有益である。具体的には、ガンマ変換を行ったり（図１７（ａ）参照）、折れ線による変換を行ったりすることが考えられる（図１７（ｂ）参照）。
【００６３】
図１８（ａ）〜図１８（ｂ）では、変換特性を示す曲線の傾きが一旦次第に大きくなった後、次第に小さくなっている。すなわち、暗い側の分解能と、明るい側の分解能とを下げている。これにより、ダイナミックレンジを圧縮しながら、中くらいの凹みなどの欠陥情報が欠落するのを防ぐことができる。なお、非常に小さい傷や非常に大きい傷などの欠陥情報が欠落する可能性があるが、中くらいの凹みを検出したいユーザにとっては、本変換特性をもつ変換テーブルを採用することは有益である。具体的には、シグモイド関数による変換を行ったり（図１８（ａ）参照）、折れ線による変換を行ったりすることが考えられる（図１８（ｂ）参照）。
【００６４】
なお、図１６〜図１８では、変換後の各画素の濃淡値が飽和しないように圧縮するための変換テーブルについて説明した。変換テーブルを用いることで、圧縮処理の処理負荷を軽減することができる。ただし、変換テーブルを用いなくても圧縮処理を行うことは可能である。例えば、あえて飽和させるようにしてもよい。すなわち、変換後の各画素の濃淡値が０より小さい値になれば、０を設定し、これが最大値より大きい値になれば、最大値を設定してもよい。また、レンジオーバーが生じたことをＰＬＣ７０等に報知するようにしてもよい。例えば、画像データレンジをビット数で表現できるレンジ−１とし、０又はレンジの最大値を、レンジオーバー値として用いることも考えられる。また、レンジオーバーフラグ画像のようなものを作成してもよい。
【００６５】
図１９は、本発明の他の実施形態（第３実施形態）として、基準距離画像として平均距離画像を使うときの機能構成例を示す図である。図１９では、形状情報削減手段１２０は、距離画像生成手段１１０で生成された距離画像と、平均距離画像生成手段１９０で生成された距離画像とを使って、形状情報の削減を行う。具体的には、平均距離画像生成手段１９０は、距離画像生成手段１１０によって生成された複数枚の距離画像に基づいて、各画素について複数枚の距離画像の平均値からなる平均距離画像を基準距離画像として生成する。これにより、基準距離画像の登録を行わなくても、立体形状情報の削減を行うことができる。つまり、欠陥のある不良品の距離画像の比率は、全体のうち凡そ数％である実情を考慮して、基準距離画像の登録処理を行わなくても、実用的に耐え得る精度を維持しながら、形状情報を削減することができる。また、ユーザは基準距離画像の登録の手間を省くことができ、画像処理装置の利便性を高めることができる。なお、平均値を求める際に、基準領域を設定しておき、基準領域内の平均値を求めて平均距離画像を生成してもよい。
【００６６】
図２０は、本発明の他の実施形態（第４実施形態）として、画像処理装置１０に補正手段１９０を設けたときの機能構成例を示す図である。図２０では、形状情報削減手段１２０によって形状情報が削減された差分画像に対し、シフトスパン調整など所定の補正を行っている。これにより、差分画像の距離分解能やレンジを調整することが可能になる。図２１は、本発明の他の実施形態（第４実施形態）に係る画像処理装置１０の処理動作を示すフローチャートである。図２１によれば、距離画像が生成され（ステップＳ１１）、差分画像が算出された後（ステップＳ１２）、上述したシフトスパン調整が行われる（ステップＳ１３）。その後は、上述した図１１のステップＳ３〜ステップＳ７と同様の処理（ステップＳ１４〜ステップＳ１８）が行われる。
【００６７】
なお、上述した実施形態では、いずれも形状情報削減手段１２０は基準距離画像との差分画像の算出を行うようにしたが、本発明はこれに限定される趣旨ではない。例えば画像入力部１３（図３）において、生成された距離画像の高周波成分を低減させ、生成された距離画像と、高周波成分が低減された距離画像との差分画像を算出することも可能である。高周波成分を低減させ、傾斜又は緩やかな凹凸変化の影響を取り除く手法としては、ガウシアンフィルタ等のローパスフィルタをかけることが考えられる。また、動的なシェーディング補正を加えてもよい。或いは、凹凸変化が周期的なものであれば、フーリエ変換によって周波数空間へ変換し、所定の値以上の強度がある周波数成分を除去した後（高周波成分の値を０にした後）、逆フーリエ変換により元の画像空間へ戻すことも考えられる。これにより、ユーザはワーク固有の形状情報を予め画像処理装置に登録させておかなくてもよいため、使い勝手を向上させることができる。
【００６８】
また、例えば画像処理装置１０内のメモリに、ワーク固有の形状情報に基づく濃淡値を予め記憶しておき、生成された距離画像の一部又は全部の画素について、それぞれ記憶された形状情報に基づく濃淡値との差分を求めることも可能である。例えばワーク固有の形状情報が多項式などの数式で表される場合、その数式に基づいて、ワーク固有の形状情報に基づく濃淡値を求めることもできる。これにより、ワーク固有の形状情報をより正確に削減することができる。
【符号の説明】
【００６９】
１０  画像処理装置
１１  主制御部
１２  照明制御部
１３  画像入力部
１４  操作入力部
１５  表示制御部
１６  通信部
１７  画像処理部
３０  カメラ
４０  モニタ
５０  コンソール
６０  照明
７０  ＰＬＣ
８０  ＰＣ
１１０  距離画像生成手段
１２０  立体形状情報削減手段
１３０  基準距離画像登録手段
１４０  特徴量算出手段
１４０ａ  ビット数削減手段
１５０  判定手段
１６０  判定信号出力手段
【図１】
0005564348.tif 000002
【図２】
0005564348.tif 000003
【図３】
0005564348.tif 000004
【図４】
0005564348.tif 000005
【図５】
0005564348.tif 000006
【図６】
0005564348.tif 000007
【図７】
0005564348.tif 000008
【図８】
0005564348.tif 000009
【図９】
0005564348.tif 000010
【図１０】
0005564348.tif 000011
【図１１】
0005564348.tif 000012
【図１２】
0005564348.tif 000013
【図１３】
0005564348.tif 000014
【図１４】
0005564348.tif 000015
【図１５】
0005564348.tif 000016
【図１６】
0005564348.tif 000017
【図１７】
0005564348.tif 000018
【図１８】
0005564348.tif 000019
【図１９】
0005564348.tif 000020
【図２０】
0005564348.tif 000021
【図２１】
0005564348.tif 000022