JP6344593B2 - 欠陥検査方法 - Google Patents

欠陥検査方法 Download PDF

Info

Publication number
JP6344593B2
JP6344593B2 JP2013128832A JP2013128832A JP6344593B2 JP 6344593 B2 JP6344593 B2 JP 6344593B2 JP 2013128832 A JP2013128832 A JP 2013128832A JP 2013128832 A JP2013128832 A JP 2013128832A JP 6344593 B2 JP6344593 B2 JP 6344593B2
Authority
JP
Japan
Prior art keywords
pixel
pixels
adjacent
scanning
scanning direction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013128832A
Other languages
English (en)
Other versions
JP2015004538A (ja
Inventor
山 嘉 彦 横
山 嘉 彦 横
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Weld Co Ltd
Original Assignee
Tokyo Weld Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Weld Co Ltd filed Critical Tokyo Weld Co Ltd
Priority to JP2013128832A priority Critical patent/JP6344593B2/ja
Priority to TW103118815A priority patent/TWI525318B/zh
Priority to KR1020140067399A priority patent/KR101699808B1/ko
Priority to CN201410268267.9A priority patent/CN104237245B/zh
Priority to MYPI2014701612A priority patent/MY171250A/en
Priority to US14/308,092 priority patent/US9430841B2/en
Priority to EP14002109.8A priority patent/EP2816528B1/en
Publication of JP2015004538A publication Critical patent/JP2015004538A/ja
Application granted granted Critical
Publication of JP6344593B2 publication Critical patent/JP6344593B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、被検査物の表面の撮像画像から、クラックと呼ばれる線状欠陥を検出する方法に係り、とりわけクラックを構成する画素とクラック以外の画素との識別が困難な条件下において、クラックを高精度で検出することができる欠陥検査方法に関する。
被検査物の表面の撮像画像から、クラックと呼ばれる線状欠陥を検出する欠陥検査方法が知られている。従来の欠陥検査方法のフローチャートを、図20に示す。
図20に示すように、撮像画像を入力画像として、まず、入力画像のすべての画素について、所定の評価基準により「クラックらしさ」を評価し、高評価の画素を抽出する(S101)。次に、高評価の画素について、所定の閾値を用いて「クラックらしさ」の高い画素を選抜する(S102)。そして、選抜した画素の中で、途切れてはいるが実は連続していると推測される箇所について連結処理を行い、画素を連結してクラックの形状を再生する(S103)。最後に、選抜した画素の中から、サイズ(幅と長さ)、面積(画素数)、あるいは幅と長さの比等の形状特徴量に準拠して定めた閾値に基づいてノイズと判断された画素群を除去する(S104)。
例えば、類似した面積値を持つ画素群同士であっても、幅と長さの比によって判断することで、円形の画素群と線状の画素群の両者を確実に取捨選択することができる。
以上の4つの工程は、それぞれ評価工程、選抜工程、連結工程、修正工程と呼ばれている。図20において、これらの工程の名称を左端に記載してある。
以上のような従来技術による欠陥検査方法には、以下の問題点がある。図21(a)(b)に、クラックの例を示す。いずれも、明るい(白い)背景に暗く(黒く)映るクラックが存在する場合である。図21(a)のクラックC1は幅の広いクラックであり、検出は容易である。
これに対して、図21(b)のクラックC2は幅が細く、地肌に欠陥ではない点状あるいは短い線状の模様や凹凸があるため、これらの模様や凹凸と区別することが困難である。このため検出は難しい。
従来技術を用いて、図21(b)に示すクラックC2のような検出が難しいクラックを検出しようとする場合には、誤検出が発生する可能性が極めて高くなる。その理由を以下に説明する。
図22(a)(b)(c)に基づいて、図20のS101に記載の「所定の評価基準」として画素の輝度値を用い、かつS102に記載の「所定の閾値」を用いた場合の問題点を説明する。
図22(a)は、閾値が緩いためにクラック以外にノイズをクラックと誤検出した例(良品を不良品と判断してしまう)を示す。図22(b)は閾値が厳しいためにクラックの画素を取りこぼした例(不良品を良品と判断してしまう)を示す。また図22(c)はこの検査画像において最も妥当な閾値であると判断された輝度値160以下の画素をクラックとして選抜した例を示す。
ただし、図22(c)に示す場合でも、依然としてノイズをクラックと誤検出したり、クラックの画素を取りこぼしたりしている。このように単純に輝度値を用いて実施されるクラック検査はノイズの影響が大きく、最適な閾値を定めることが難しい。
また、図22(c)の「輝度値160」は、いろいろな輝度値を閾値として試行した後で初めて、この検査画像に対しては160という輝度値が閾値として妥当であると主観的に判るものである。そして、他の検査画像に対しても輝度値160が閾値として最適であるとは限らない。さらに、検査を実行する都度、閾値を検査画像に最適なものに変更することは、処理時間としても原理的にも困難である。従って通常は、ある程度のノイズの誤検出あるいは良品を不良品と判断してしまうことを許容する形で、事前に一つの閾値が決定され、その閾値により検査が行われる。
以上の点をまとめると、図23(a)(b)に示すとおりとなる。
図23(a)(b)に示すように、選抜領域Lとして低閾値Thl以上の領域を選抜した場合、クラックの一部とノイズが混在する領域2と、ほぼクラックの領域である領域3とを含むため、クラックとして選抜されるべき画素を取りこぼすことなく選抜することができる。他方、クラックではないノイズも非常に多く選抜される。すなわち、選抜の取りこぼしは少ないが、「クラックらしさ」の可能性の低い選抜となる。
また選抜領域Hとして、高閾値Thh以上の領域を選抜した場合、ほぼクラックの領域である領域3のみを含むため、クラックとして選抜されるべき画素のうち選抜から取りこぼされるものが多くなる。またクラックではないノイズはほとんど選抜されない。すなわち選抜の取りこぼしは多いが、「クラックらしさ」の可能性の高い選抜となる。
別の問題点としては、クラックの発生方向が予め判らないということに起因する課題がある。例えば本発明においては、図24(a)に示すように、走査方向Axがクラックの発生方向と直交する方向に近づくほど検査精度が高くなる。一方、図24(b)に示すように、走査方向Axがクラックの発生方向に平行する方向に近づくほど検出精度は低くなる。このように検出精度は走査方向に依存する。またクラック発生の方向が予め判っていれば、後述の連結処理の例のように、方向に関する情報を活用することで検査能力を向上させることができる場合がある。
しかしながら、実際はクラックの発生方向が事前に判る例はほとんどなく、撮像画像を目視してクラックの方向を判定してから走査方向Axを決めた場合は、検査効率が落ちる上、目視で見落とした微細なクラックを検出できなくなる。また、撮像画像を画像処理してクラックの方向を判定し、それに直交する方向に走査すれば検出精度は高くなるが、画像処理プログラムが複雑化して、検査時間が長くなるおそれがある。
次に図25(a)(b)に連結処理について説明する。図25(a)(b)において、Cc1〜Cc3およびCd1〜Cd3はいずれも従来技術の一例を用いた評価、選抜処理の結果の画素であるとする。連結処理の方向をCxとすると、処理の方向と平行に近いCc1〜Cc3は連結の効果により一つにつながり、正しく本来のクラックとしての形状が再生されるが、処理の方向と直交する方向に近いCd1〜Cd3は連結の効果を受けにくく途切れたままで、正しく本来のクラックとしての形状が再生されない。
すなわち、クラックの発生方向が予め判らない限り、連結処理は全方位に対して行う必要がある。しかし、そのような全方位に対する連結処理は、周囲のノイズとクラックを縦横無尽に連結してしまう可能性があるため、好ましくない。特に図25(b)に示すようにクラックに直交する方向への連結処理は、例えばクラックの幅が太くなったり、クラックに近接したノイズ等とクラックが合体して形状が変化する等の弊害が起こり得るため、好ましくない。
このように、クラックの方向性に関する情報をいかに活用するかは、従来技術における一つの大きな課題であった。
本発明はこのような点を考慮してなされたものであり、線の幅が極めて細いクラックや、被検査物の地肌に欠陥ではない点状あるいは短い線状の模様や凹凸がある等、クラックを構成する画素とクラック以外の画素との識別が困難な条件下において、クラックを高精度に検出することができる欠陥検査方法を提供することを目的とする。
本発明は、欠陥検査方法において、被検査物の表面を撮像して複数の画素を含む撮像画像を入手する工程と、撮像画像に対して予め定められた複数方向から当該方向用の走査フィルタを用いて走査して、各々の走査方向に関し各画素についてその輝度が走査方向の両側の第1隣接画素の輝度より高くなり、かつ走査方向に直交する両側の第2隣接画素の輝度がこの第2隣接画素の走査方向の両側の第3隣接画素の輝度より高くなる場合に高い評価値を与える工程と、各々の走査方向に対応する画素の評価値に基づいて、選抜画素を選抜する工程と、各々の走査方向について選抜画素の連結を行う工程と、各々の走査方向の選抜画素を合成し、選抜画素のうち所定の形状から外れる選抜画素を取除く工程と、を備えたことを特徴とする欠陥検査方法である。
本発明は、欠陥検査方法において、被検査物の表面を撮像して複数の画素を含む撮像画像を入手する工程と、撮像画像に対して予め定められた複数方向から当該方向用の走査フィルタを用いて走査して、各々の走査方向に関し各画素についてその輝度が走査方向の両側の第1隣接画素の輝度より低くなり、かつ走査方向に直交する両側の第2隣接画素の輝度がこの第2隣接画素の走査方向の両側の第3隣接画素の輝度より低くなる場合に高い評価値を与える工程と、各々の走査方向に対応する画素の評価値に基づいて、選抜画素を選抜する工程と、各々の走査方向について選抜画素の連結を行う工程と、各々の走査方向の選抜画素を合成し、選抜画素のうち所定の形状から外れる選抜画素を取除く工程と、を備えたことを特徴とする欠陥検査方法である。
本発明は、選抜画素を選抜する工程において、第1の閾値より高い評価値をもつ画素を1次選抜画素として選抜し、第1閾値より低い第2閾値より高い評価値をもつ画素を2次選抜画素として選抜し、2次選抜画素のうち1次選抜画素に隣接する画素および当該隣接する画素に更に隣接する画素を1次選抜画素として変更することを特徴とする欠陥検査方法である。
本発明は、選抜画素の連結を行なう工程において、膨張処理または収縮処理を実行して選抜画素の連結を行なうことを特徴とする欠陥検査方法である。
本発明は、複数方向の走査フィルタは、0°方向走査用フィルタ、45°方向走査用フィルタ、90°方向走査用フィルタおよび135°方向走査用フィルタからなることを特徴とする欠陥検査方法である。
以上のように本発明によれば、クラックを構成する画素と、クラック以外の画素の識別が困難な場合であっても、クラックを高精度で検出することが可能となる。
図1は本発明による欠陥検査方法を示すフローチャート。 図2(a)は評価工程における走査方向を示す図であって、図2(b)はクラックと走査方向を示す図。 図3(a)は画素の配列を示す図、図3(b)は各画素の輝度を示す図、図3(c)は走査フィルタの一例を示す図。 図4(a)(b)(c)は注目画素の評価値が正となる場合の処理対象画像を示す図。 図5(a)(b)は注目画素の評価値が0となる場合の処理対象画像を示す図。 図6(a)(b)(c)(d)は隣接画素の参照位置が意味とするところについて説明する図。 図7は「クラックらしさ」の高い画素を抽出できる場合のクラックの方向と走査方向を示す図。 図8(a)(b)(c)(d)は各走査方向に関する評価結果を示す図。 図9(a)(b)(c)は選抜工程を示す図。 図10(a)(b)は2次選抜画素を1次選抜画素に変更する例を示す図。 図11(a)(b)(c)(d)は各走査方向についての選抜結果を示す図。 図12は連結工程の膨張処理を示す図。 図13は連結工程の収縮処理を示す図。 図14は連結工程のオープニング処理を示す図。 図15は連結工程のクロージング処理を示す図。 図16は連結工程において、135°方向に連結処理を施した場合のクロージング処理を示す図。 図17(a)(b)(c)(d)は各走査方向についての選抜工程の結果とそれらに対する連結処理の方向を示す図。 図18(a)(b)(c)(d)は各走査方向についての連結工程の結果を示す図。 図19(a)は入力画像を示す図、図19(b)は本発明による検査結果画像を示す図。 図20は従来の欠陥検査方法を示すフローチャート。 図21(a)(b)はクラック画像の一例を示す図。 図22(a)(b)(c)は従来の欠陥検査方法の問題点を説明する図。 図23(a)(b)は従来の欠陥検査方法の問題点を説明する図。 図24(a)(b)は従来の欠陥検査方法におけるクラックと走査方向に関する問題点を説明する図。 図25(a)(b)は従来の欠陥検査方法における連結工程に関する問題点を説明する図。
発明の実施の形態
以下、図面を参照して本発明の実施の形態について説明する。
図1乃至図19は、本発明による欠陥検査方法の実施の形態を示す図である。
まず図1により、本発明による欠陥検査方法の概略について説明する。
図1に示すように、本発明による欠陥検査方法は、被検査物からクラック等の欠陥を検査するものである。
このような欠陥検査方法は、被検査物の表面を撮像して複数の画素を含む撮像画像(入力画像)P0を入手する工程と、撮像画像P0に対して予め定められた複数方向から当該方向用の走査フィルタを用いて(工程S1)走査して、各々の走査方向に関し各画素についてその輝度が走査方向の両側の第1隣接画素の輝度と相違し、かつ走査方向に直交する両側の第2隣接画素の輝度がこの第2隣接画素の走査方向の両側の第3隣接画素の輝度と相違する場合に高い評価値を与える工程(評価工程S2)と、各々の走査方向に対応する画素の評価値に基づいて、選抜画素を選抜する工程(選抜工程S3、S4)と、各々の走査方向について選抜画素の連結を行う工程(連結工程S5)と、各々の走査方向の選抜画素を合成し(工程S6)、選抜画素のうち所定の形状から外れる選抜画素を取除く工程(修正工程S7)と、を備えている。
この場合、撮像画像に対する複数の走査方向は0°方向、45°方向、90°方向および135°方向と定めることができ(工程S1)、複数方向の走査フィルタは、0°方向走査用フィルタ、45°方向走査用フィルタ、90°方向走査用フィルタおよび135°方向走査用フィルタからなる。
また各走査方向に関し各画素に評価値を与える工程(評価工程S2)において、各画素の輝度が第1隣接画素の輝度より低くなり、第2隣接画素の輝度が第3隣接画素の輝度より低くなる場合に「クラックらしさ」があると認定して高い評価値を与える。
このようにして各走査方向に関し、各画素に評価値を与えた画像Pe1、Pe2、Pe3、Pe4が得られる。
なお、後述のように各画素に評価値を与える工程(評価工程S2)において、各画素の輝度が第1隣接画素の輝度より高くなり、第2隣接画素の輝度が第3隣接画素の輝度より高い場合に「クラックらしさ」があると認定して高い評価値を与えることもできる。
さらに各走査方向に関し、選抜画素を選抜する工程において、第1の閾値より高い評価値をもつ画素を1次選抜画素として選抜し(S3)、第1閾値より低い第2閾値より高い評価値をもつ画素を2次選抜画素として選抜し、2次選抜画素のうち1次選抜画素に隣接する画素および当該隣接する画素に更に隣接する画素を1次選抜画素として変更する(S4)。
このようにして各走査方向毎に画素の選抜が行なわれた画像Ps1、Ps2、Ps3、Ps4が得られる。
また選抜画素の連結を行なう工程S5において、後述する膨張処理または収縮処理を実行して選抜画素の連結を行なう。この場合、0°方向成分、45°方向成分、90°方向成分、135°方向成分における1次選抜画素の中で、途切れているが実は連続していると推測される箇所について連結処理を行ない、画素を連結してクラックの形状を再生する。このようにして各走査方向に関し、連結処理が行なわれた画像Pc1、Pc2、Pc3、Pc4が得られる。
その後、合成工程S6において、0°方向、45°方向、90°方向、135°方向の各成分における連結工程の結果を重ね合わせて合成する。
また修正工程S7においては、1次選抜画素の中から、サイズ、面積、あるいは幅と長さの比等の形状特徴量に準拠して定めた閾値に基づいて、ノイズと判断された画素群を除去する。
このようにして検査結果画像Piが得られる。
次に各工程について更に詳述する。
(走査方向の決定)
図1において、工程S1に記載の「走査方向」とは、評価工程において後述する「峡谷法」を用いて画素を走査する方向であり、例えば図3乃至図6における矢印A1の方向のことである。
この場合、図2および図7に示すように、評価は各走査方向に直交する方向の特定の位置関係にある画素を検出するために実施される。すなわち、走査方向を0°方向、45°方向、90方向°、135°方向に決めると、各走査によりそれぞれ画像の90°方向、135°方向、0°方向、45°方向のクラック成分が検出される。
(評価工程)
図2(a)(b)に示すように、本発明における評価工程では前述した「峡谷法」が用いられる。図2(a)は、クラックC2(図21(b)参照)を矢印A1の方向に走査する様子を示す。図2(b)において、走査方向の矢印A1は4つの矢印A1a、矢印A1b、矢印A1c、矢印A1dからなる。矢印A1aから順に輝度値を追っていくと、輝度値の高い背景から始まり、おおむねクラックと想定される谷に向けて輝度値が低下して、最も輝度値の低い谷を越えると再び輝度値の高い背景となる。「峡谷法」は、クラックを構成する画素が有する以下の2つの特徴を利用して、「クラックらしさ」の高い画素を抽出する方法である。
第1の特徴は、クラックに対して直交する方向に走査すると、クラックを構成する画素は走査方向におけるその両側の隣接画素(第1隣接画素)に対して輝度の谷すなわち極小値をもつことである。
第2の特徴は、クラックを構成する画素に対して走査方向に直交する方向に隣接する画素(第2隣接画素)についても、当該画素と同様に走査方向におけるその両側の隣接画素(第3隣接画素)に対して極小値をもつことである。
これは、明るい(白い)背景に暗く(黒く)映るクラックの場合であり、暗い(黒い)背景に明るく(白く)映るクラックの場合は、極小値ではなく逆にクラックを構成する画素は極大値をもつ。
さらに、図3(a)(b)(c)、図4(a)(b)(c)、図5(a)(b)、図6に基づいて、「峡谷法」による評価の具体例について説明する。
本実施の形態においては、上述のように0°方向、45°方向、90°方向および135°方向の4方向について、撮像画像に対して走査フィルタを用いて走査する。
ここで、例えば0°方向走査用フィルタを用いて撮像画像に対して走査する場合を考える。この場合、図3(a)は5×5に配列された画素に付与されたアルファベット大文字を示し、図3(b)は各画素の輝度を表す当該画素のアルファベット大文字に対応するアルファベット小文字を示す。また図3(c)は図3(a)の画素に対して「峡谷法」による評価を行うための0°方向走査用フィルタの一例を示す。
図3(a)(b)(c)において、注目画素に対して、隣接画素を2ピクセル離れた隣から参照している。ここで注目画素は画素Mである。また画素Mの走査方向A1に隣接する(2ピクセル離れて隣接する)両側の画素K、Oが第1隣接画素となる。また注目画素Mに対して走査方向A1に直交して隣接する(2ピクセル離れて隣接する)両側の画素C、Wが第2隣接画素となる。さらに各第2隣接画素C、Wに対して走査方向A1に隣接する(2ピクセル離れて隣接する)両側の画素A、EおよびU、Yが第3隣接画素となる。また図3(a)(b)(c)において走査方向は矢印A1方向である。
図3(a)(b)(c)において、注目画素(評価対象画素)Mは5×5に配列された画素の中央位置の画素である。例えば0°方向走査用の走査フィルタを用いて行なわれる評価値の計算式は、注目画素Mの評価値=(a+k+u+e+o+y)−2×(c+m+w)となる。
ここで、a、k、u、e、o、y、c、m、wは、各々対する画素A、K、U、E、O、Y、C、M、Wの輝度を表わす。
図4(a)(b)(c)は、正の値の評価値が算出される処理対象画像の一例であり、走査方向は矢印A1である。図4(a)は周囲から孤立したスパイクノイズの例を示し、注目画素Mの評価値は60となる。これに対して、図4(b)はクラックの端部の例を示し、注目画素Mの評価値は120となる。図4(c)はクラックの胴部の例を示し、注目画素Mの評価値は180となる。この場合、クラックの端部を示す例(図4(b))、および胴部を示す例(図4(c))と比較した場合、図4(a)のようなスパイクノイズはクラックらしさが低いと判断される。
図5(a)(b)は、注目画素Mの評価値が0と算出される処理対象画像の一例である。図5(a)は、走査方向の矢印A1に平行なクラックを示す。
また、図5(b)は走査方向の矢印A1に沿って一様な傾斜で輝度値が減少する領域を示し、注目画素Mの評価値は0になる。このような輝度傾斜は、検査対象表面自体の傾斜等により、正常な背景パターンとして往々に発生しうる現象であるが、輝度値が大きく変化しているため、従来のクラック検査における誤検出要因となっていた。
ここで上述のように、図4(c)は走査方向に直交するクラックを示し、図5(a)は走査方向に平行するクラックを示す。図4(c)と図5(a)を比較すればわかるように、走査方向によって注目画素Mの評価値が変化する。
すなわちクラックの方向に対して直交する走査方向をとることにより、クラック成分を適切に評価し、抽出することができる(図7)。
また図6(a)(b)(c)(d)を用いて、隣接画素の参照位置が意味するところについて説明する。
まず、第1隣接画素、および第3隣接画素の参照位置を変更することで、検出対象となるクラックの幅を変更することができる。
ここで図6(a)は90°方向に走る3ピクセル幅のクラックを示す図である。前述の図4(c)は90°方向に走る1ピクセル幅のクラックを示す図である。
例えば、図6(b)のように第1隣接画素、第3隣接画素を1ピクセル隣から参照する0°方向走査用フィルタを用いた場合は、図6(a)の評価値は0、図4(c)の評価値は180となり、1ピクセル幅のクラックは検出できても3ピクセル幅のクラックは検出できない。
しかし、図3(c)のように第1隣接画素、第3隣接画素を2ピクセル隣から参照している0°方向走査用フィルタを用いると、図6(a)の評価値は180、図4(c)の評価値も180となり、1ピクセル幅のクラックも3ピクセル幅のクラックも検出可能となる。
このように検出対象のクラック幅によって第1隣接画素、および第3隣接画素の参照位置を変更させれば良い。
一定以下の幅のクラックのみに検出対象を絞ることによって、後の修正工程でノイズ除去に利用できる形状特徴量の自由度が広がり、検出精度をより向上させることができる。
次に、第2隣接画素の参照位置を変更することで、スパイクノイズと誤判定されやすいクラックの構成画素の取りこぼしを改善することができる。
クラックを構成するすべての画素群が図4(c)のようにひとつなぎの線であるとは限らず、図6(c)のように途切れ途切れの点線となっている部分も存在しうる。
図6(c)の注目画素Mは、局所的に(例えば中央3×3マス)見ると図4(a)のようなスパイクノイズと見分けがつかない。
例えば、図6(d)のように第2隣接画素を1ピクセル隣から参照する走査フィルタを用いた場合は、図4(c)の評価値は180であるのに対して、図6(c)の評価値は60となり、図4(a)のようなスパイクノイズ部の評価値と等しくなるため選抜工程で取りこぼされてしまう。
しかし、図3(c)に示すような第2隣接画素を2ピクセル離れた隣から参照する走査フィルタを用いることで、図6(c)の注目画素Mの評価値は図4(c)と同じく180となり、途切れてしまってはいても「クラックらしさ」の高い画素として(後工程で連結すればクラックになりうる画素として)抽出することができる。
このように第2隣接画素の参照位置を変更することで、局所的にはスパイクノイズと見分けのつかないクラックを構成する画素の取りこぼしを改善することができる。
図7にクラック(例えば図21(b)のクラックC2)の方向と走査方向の関係を示す。図7に示すようにクラックに直交する方向となる矢印Av方向走査用のフィルタを用いて走査することにより、「クラックらしさ」の高い画素を抽出できる。しかし、クラックに平行する方向となる矢印Ap方向走査用のフィルタを用いて走査すると、「クラックらしさ」の高い画素を抽出できない。
ところで、現実のクラックは、発生する方向が定まっていない場合が多い。このため図7における矢印Avを予め決定しておくことはむずかしい。そこで「峡谷法」においては、上述のように走査方向を0°方向、45°方向、90°方向、135°方向の4方向に定め、個別に走査している。
図21(b)に示したクラックC2を図1のフローチャートにおける入力画像とした場合に、評価工程を終了した各方向における評価結果の画像を、図8(a)(b)(c)(d)に示す。図21(b)に示したクラックC2の方向に近い135°方向成分(45°方向走査用フィルタによって得られる)の結果が、「クラックらしさ」の高い画素を最も多く抽出している。
(選抜工程)
次に、選抜工程について説明する。図9(a)(b)(c)は、画像を使用して選抜工程全体のブロック図を示したものである。
図22(a)(b)および図23(a)(b)を使用して説明したように、選抜の際の閾値が緩い(図23(a)の低閾値Thl)と、クラック以外にノイズまで選抜されてしまう。逆に閾値が厳しい(図23(a)の高閾値Thh)と、クラックの一部が選抜から取りこぼされてしまう。
本実施の形態における選抜工程においては、まず各走査方向、すなわち0°方向、45°方向、90°方向および135°方向に関し、各画素の評価値に基づいて厳しい閾値(高い閾値である第1の閾値)により1次選抜画素を決定する(選抜する)(図9(a))。次に、各画素の評価値に基づいて、緩い閾値(第1の閾値より低い第2の閾値)により2次選抜画素を決定する(選抜する)(図9(b))。次に、1次選抜画素に隣接する2次選抜画素およびこの隣接する2次選抜画素に更に隣接する2次選抜画素を、1次選抜画素に変更する。このような多段階選抜を行なって、最終的な選抜結果を得る(図9(c))。
上記の「1次選抜画素に隣接する2次選抜画素およびこの隣接する2次選抜画素に更に隣接する2次選抜画素を、1次選抜画素に変更する」例を、図10(a)(b)に示す。図10(a)において、濃いハッチングを施した画素が1次選抜画素であり、薄いハッチングを施した画素が2次選抜画素である。
2次選抜画素の中から「1次選抜画素に隣接する2次選抜画素およびこの隣接する2次選抜画素に更に隣接する2次選抜画素」という条件を満足する2次選抜画素を選択して、それらを1次選抜画素に変更する。この場合、図10(b)に示すように、濃いハッチングを施した1次選抜画素が増加する。このような多段階選抜を採用することにより、厳しい第1の閾値による選抜によってノイズを選抜するのを防止し、緩い第2の閾値で選抜した画素の中から、特定の条件のもとに第1の閾値による選抜で取りこぼしたクラックの一部を繰り上げることができる。このことにより、誤ってノイズを選択することがない上に、クラックを構成する画素の取りこぼしも減少する。このようにして各方向成分ごとに、すなわち0°方向成分、45°方向成分、90°方向成分および135°方向成分ごとに多段階選抜を行った結果(選抜工程の結果)を、図11(a)(b)(c)(d)に示す。
(連結工程)
次に連結工程について説明する。連結工程の基本の説明として、図12乃至図16を用いて、画像処理における膨張処理、収縮処理、オーブニング処理、クロージング処理の説明を行う。
本実施の形態においては、各方向成分ごとに、すなわち0°方向、45°方向、90°方向および135°方向のクラック成分に対して、それぞれ平行な方向にのみ連結処理を施すことができるので、図25(a)(b)を用いて説明したような、従来技術におけるクラックの発生方向が予期できないことに起因するクラックに直交する方向への連結処理によるクラックの取りこぼしやノイズの誤検出を低減できる。
連結対象画素に対して膨張処理を施す例を図12に示す。
図12に示すように、入力画像Xに対し、直線状の構造要素A、Bを適用することにより、膨張処理が実行されて結果画像が得られる。この場合、入力画像X上に構造要素A、Bの基準点が配置される。
次に連結対象画素に対して収縮処理を施す例を図13に示す。
図13に示すように、入力画像Xに対し、十文字状の構造要素Yを適用することにより収縮処理が実行されて結果画像が得られる。この場合、入力画像X上に構造要素Cの基準点が配置される。
次に連結対象画像に対してオープニング処理を施す例を図14に示す。オープニング処理とは、入力画像Xに対して収縮処理を1回施し、その後に収縮処理と同一回数(1回)だけ膨張処理を施す処理のことをいう。
入力画像Xに対して、基準点を有する十文字状の構造要素Cを用いて、このようなオープニング処理を施すことにより、結果画像を得ることができる。
次に入力画像Xに対してクロージング処理を施す例を図15に示す。クロージング処理とは、入力画像Xに対して膨張処理を1回施し、その後に膨張処理と同一回数(1回)だけ収縮処理を施す処理のことをいう。
入力画像Xに対して基準点を有する十文字状の構造要素Cを用いて、このようなクロージング処理を施すことにより、結果画像を得ることができる。
次に図16により、135°方向に対して連結工程を実行する例を示す。
図16において、連結工程は膨張処理を施し、その後収縮処理を施すことにより行なわれるクロージング処理からなる。
図16において、濃いハッチングを施した画素は選抜画素を示す。この選抜画素に対して構造要素Yを用いて膨張処理が行なわれる。この場合、構造要素Yの原点Y6を各選抜画素に合わせ、この構造要素Yだけ膨張した画素が膨張処理により拡張した画素となる。
膨張処理により拡張した画素を、薄いハッチングおよび星印ハッチングで示す。
次に膨張処理により膨張した画素に対して、構造要素Yを用いて収縮処理を施す。この場合、構造要素Yを膨張した画素に合わせ、構造要素Yが膨張した画素からはみ出ない場合の原点Y6の位置の画素のみを残す。
このように膨張した画素から残った画素を収縮処理された画素とする(星印ハッチングされた画素)。
具体的には、座標(8、8)に構造要素Yの原点Y6を合わせると、構造要素Yはすべて膨張した領域内に収まるため、座標(8、8)は収縮処理で削除されることはない。他方、座標(8、9)に構造要素Yの原点Y6を合わせると、座標(5、7)(6、8)(7、9)は構造要素Yからはみ出すため、座標(8、9)は収縮処理で削除される。
なお、膨張処理と、収縮処理とで同一形状の構造要素Yを用いる限り、選抜画素が削除されることはない。
このような連結工程を経て、クラックの取りこぼし、あるいはノイズの誤検出を防ぐことができる。
各方向成分ごとに多段階選抜を行った結果と、それぞれの連結方向を重ねて記載した図を図17(a)(b)(c)(d)に示す。また、各方向成分についての連結工程の結果を図18(a)(b)(c)(d)に示す。
(合成工程および修正工程)
選抜画素に対する連結工程が終了すると、各方向成分の連結工程により得られた連結結果画像を重ね合わせて合成する。次に各方向成分について得られた連結結果画像に対して、次の修正工程において、サイズ(幅と長さ)、面積(画素数)、あるいは幅と長さの比等の形状特徴量に準拠して定めた閾値に基づいてノイズと判断された画素群を除去する。
図19(a)に入力画像、図19(b)に最終的な検査結果画像を示す。このように従来手法では検出が困難であったクラックも明確に検出することができる。
このように、本実施の形態によれば、評価工程における「峡谷法」の使用により、「クラックらしさ」の高い画素を確実に抽出し、かつノイズ等をクラックと誤って抽出することを防止できる。また、選抜工程における多段階選抜により、ノイズを誤って選抜することや「クラックらしさ」の高い画素の取りこぼしを防止できる。さらに、検査対象画像を0°、45°、90°、135°の各方向に走査して評価工程、選抜工程、連結工程を行うことにより、予め発生する方向が判らないクラックを、その発生方向に最も近い方向において確実に検出することができ、また連結処理においては、クラックに直交する方向への連結処理を回避することで、ノイズを誤って連結することやクラックを構成する画素の取りこぼしを防止できる。さらに最後に各方向の連結工程の結果画像を重ね合わせて合成することにより、ひとつなぎのクラックとして再現できるので、周囲の微小ノイズをサイズ、面積、幅と長さの比等の形状特徴量に準拠して定めた閾値に基づいて、確実に除去できる。
以上の説明においては、撮像画像(図1における入力画像)を0°方向、45°方向、90°方向、135°方向に走査して、評価工程、選抜工程、連結工程を行い、連結工程の結果を重ね合わせて合成した後で修正工程を行っている。しかしながら、これに限らず予めクラックの発生方向が判っている被検査物の場合、例えば45°方向近傍にクラックが発生する被検査物の場合には、上記4方向に走査を行うことなく、走査方向をクラックが発生する45°方向に対して直交する方向である135°方向を含む複数の方向に絞ることができる。同様に、クラックの発生方向が0°方向近傍あるいは90°方向近傍であることが判っている場合には、走査方向をクラックが発生する0°方向および90°方向に直交する90°方向および0°方向の2方向に絞ることができる。
また以上の説明においては、修正工程において、サイズ(幅と長さ)、面積(画素数)、あるいは幅と長さの比等の形状特徴量に準拠して定めた閾値に基づいてノイズと判断された画素群を除去するとしたが、閾値を定めるための形状特徴量は、サイズ(幅と長さ)、面積(画素数)、あるいは幅と長さの比に限定されるものではない。
M 着目画素
K、O 第1隣接画素
C、W 第2隣接画素
A、E、U、Y 第3隣接画素

Claims (5)

  1. 欠陥検査方法において、
    被検査物の表面を撮像して複数の画素を含む撮像画像を入手する工程と、
    撮像画像に対して予め定められた複数方向から当該方向用の走査フィルタを用いて走査して、各々の走査方向に関し各画素を注目画素としてその輝度が、走査方向の両側に位置するとともに照位置が2以上の特定のピクセル数だけ離れた第1隣接画素の輝度より高くなり、かつ走査方向に直交する両側に位置するとともに参照位置が2以上の特定のピクセル数だけ離れた第2隣接画素の輝度が、この第2隣接画素の走査方向の両側に位置するとともに照位置が2以上の特定のピクセル数だけ離れた第3隣接画素の輝度より高くなる場合に高い評価値を与える工程と、
    各々の走査方向に対応する画素の評価値に基づいて、選抜画素を選抜する工程と、
    各々の走査方向について選抜画素の連結を行う工程と、
    各々の走査方向の選抜画素を合成し、選抜画素のうち所定の形状から外れる選抜画素を取除く工程と、
    を備え、
    4つの前記第3隣接画素により矩形状に囲まれた複数の画素において、
    各注目画素の評価値は、前記矩形状に囲まれた複数の画素に走査フィルタの係数を掛けた合算値となり、
    前記矩形状に囲まれた複数の画素のうち、前記注目画素、前記第1隣接画素、前記第2隣接画素および前記第3隣接画素以外の画素の走査フィルタの係数を0とする、
    ことを特徴とする欠陥検査方法。
  2. 欠陥検査方法において、
    被検査物の表面を撮像して複数の画素を含む撮像画像を入手する工程と、
    撮像画像に対して予め定められた複数方向から当該方向用の走査フィルタを用いて走査して、各々の走査方向に関し各画素を注目画素としてその輝度が、走査方向の両側に位置するとともに照位置が2以上の特定のピクセル数だけ離れた第1隣接画素の輝度より低くなり、かつ走査方向に直交する両側に位置するとともに参照位置が2以上の特定のピクセル数だけ離れた第2隣接画素の輝度が、この第2隣接画素の走査方向の両側に位置するとともに照位置が2以上の特定のピクセル数だけ離れた第3隣接画素の輝度より低くなる場合に高い評価値を与える工程と、
    各々の走査方向に対応する画素の評価値に基づいて、選抜画素を選抜する工程と、
    各々の走査方向について選抜画素の連結を行う工程と、
    各々の走査方向の選抜画素を合成し、選抜画素のうち所定の形状から外れる選抜画素を取除く工程と、
    を備え、
    4つの前記第3隣接画素で矩形状により囲まれた複数の画素において、
    各注目画素の評価値は、前記矩形状に囲まれた複数の画素に走査フィルタの係数を掛けた合算値となり、
    前記矩形状に囲まれた複数の画素のうち、前記注目画素、前記第1隣接画素、前記第2隣接画素および前記第3隣接画素以外の画素の走査フィルタの係数を0とする、

    ことを特徴とする欠陥検査方法。
  3. 選抜画素を選抜する工程において、第1の閾値より高い評価値をもつ画素を1次選抜画素として選抜し、第1閾値より低い第2閾値より高い評価値をもつ画素を2次選抜画素として選抜し、2次選抜画素のうち1次選抜画素に隣接する画素および当接隣接する画素に更に隣接する画素を1次選抜画素として変更することを特徴とする請求項1または2記載の欠陥検査方法。
  4. 選抜画素の連結を行なう工程において、膨張処理または収縮処理を実行して選抜画素の連結を行なうことを特徴とする請求項1乃至3のいずれか記載の欠陥検査方法。
  5. 複数方向の走査フィルタは、0°方向走査用フィルタ、45°方向走査用フィルタ、90°方向走査用フィルタおよび135°方向走査用フィルタからなることを特徴とする請求項1乃至4のいずれか記載の欠陥検査方法。
JP2013128832A 2013-06-19 2013-06-19 欠陥検査方法 Active JP6344593B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2013128832A JP6344593B2 (ja) 2013-06-19 2013-06-19 欠陥検査方法
TW103118815A TWI525318B (zh) 2013-06-19 2014-05-29 Defect inspection method
KR1020140067399A KR101699808B1 (ko) 2013-06-19 2014-06-03 결함 검사 방법
CN201410268267.9A CN104237245B (zh) 2013-06-19 2014-06-16 缺陷检查方法
MYPI2014701612A MY171250A (en) 2013-06-19 2014-06-17 Defect inspection method
US14/308,092 US9430841B2 (en) 2013-06-19 2014-06-18 Defect inspection method
EP14002109.8A EP2816528B1 (en) 2013-06-19 2014-06-18 Defect inspection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013128832A JP6344593B2 (ja) 2013-06-19 2013-06-19 欠陥検査方法

Publications (2)

Publication Number Publication Date
JP2015004538A JP2015004538A (ja) 2015-01-08
JP6344593B2 true JP6344593B2 (ja) 2018-06-20

Family

ID=51063237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013128832A Active JP6344593B2 (ja) 2013-06-19 2013-06-19 欠陥検査方法

Country Status (7)

Country Link
US (1) US9430841B2 (ja)
EP (1) EP2816528B1 (ja)
JP (1) JP6344593B2 (ja)
KR (1) KR101699808B1 (ja)
CN (1) CN104237245B (ja)
MY (1) MY171250A (ja)
TW (1) TWI525318B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105241886B (zh) * 2015-07-16 2018-02-13 西北大学 一种基于hvs与引导滤波器的土遗址裂缝检测方法
WO2017130718A1 (ja) * 2016-01-29 2017-08-03 富士フイルム株式会社 ひび割れ検出装置、ひび割れ検出方法及びプログラム
JP7008409B2 (ja) * 2017-02-07 2022-01-25 大成建設株式会社 ひび割れ検出方法
JP6879841B2 (ja) 2017-06-28 2021-06-02 株式会社 東京ウエルズ 画像処理方法および欠陥検査方法
JP2019039897A (ja) * 2017-08-27 2019-03-14 圭浩 佐藤 コンクリート表面のひび割れ検出方法及び検出プログラム
JP6994890B2 (ja) * 2017-09-29 2022-01-14 清水建設株式会社 ひび割れ検出装置、ひび割れ検出方法、および、コンピュータプログラム
KR101867015B1 (ko) * 2017-10-24 2018-06-14 (주) 엠브이텍 글라스 결함 검사 장치, 검사 방법 및 검사 시스템
CN108827181B (zh) * 2018-03-14 2021-04-09 浙江大学山东工业技术研究院 一种基于视觉的板材表面检测方法
JP7228341B2 (ja) * 2018-06-13 2023-02-24 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP7157322B2 (ja) * 2018-09-28 2022-10-20 澁谷工業株式会社 物品検査装置および物品検査方法
JP7098591B2 (ja) * 2019-09-30 2022-07-11 本田技研工業株式会社 電極構造体検査方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0434653U (ja) * 1990-07-17 1992-03-23
JP3159063B2 (ja) * 1996-06-26 2001-04-23 日産自動車株式会社 表面欠陥検査装置
JPH1145919A (ja) * 1997-07-24 1999-02-16 Hitachi Ltd 半導体基板の製造方法
US6633654B2 (en) * 2000-06-19 2003-10-14 Digimarc Corporation Perceptual modeling of media signals based on local contrast and directional edges
JP2002310920A (ja) * 2001-04-19 2002-10-23 Keisoku Kensa Kk コンクリート壁のひび割れ検出方法およびその装置
KR100443667B1 (ko) * 2002-01-23 2004-08-09 주식회사 비젼넷 포장도로의 균열검출방법
JP2004166009A (ja) 2002-11-14 2004-06-10 Matsushita Electric Ind Co Ltd 画素欠陥補正装置
JP2004219072A (ja) * 2003-01-09 2004-08-05 Seiko Epson Corp 画面のスジ欠陥検出方法及び装置
JP2006132973A (ja) * 2004-11-02 2006-05-25 Fujimitsu Komuten:Kk コンクリート構造物のクラック検査装置及びクラック検査方法
US7809197B2 (en) * 2004-12-09 2010-10-05 Eastman Kodak Company Method for automatically determining the acceptability of a digital image
WO2007065221A1 (en) * 2005-12-07 2007-06-14 Commonwealth Scientific And Industrial Research Organisation Linear feature detection method and apparatus
JP2007285868A (ja) * 2006-04-17 2007-11-01 Seiko Epson Corp 輝度勾配検出方法、欠陥検出方法、輝度勾配検出装置および欠陥検出装置
JP4707605B2 (ja) * 2006-05-16 2011-06-22 三菱電機株式会社 画像検査方法およびその方法を用いた画像検査装置
JP2009145285A (ja) * 2007-12-18 2009-07-02 Dainippon Screen Mfg Co Ltd 欠陥検出方法および欠陥検出装置
JP2009222513A (ja) 2008-03-14 2009-10-01 Seiko Epson Corp 欠陥検出装置、および欠陥検出方法
CN101256157B (zh) * 2008-03-26 2010-06-02 广州中国科学院工业技术研究院 表面缺陷检测方法和装置
JP2012098045A (ja) * 2010-10-29 2012-05-24 Mitsubishi Electric Corp クラック検出装置及びクラック検出プログラム

Also Published As

Publication number Publication date
CN104237245B (zh) 2017-04-12
CN104237245A (zh) 2014-12-24
KR101699808B1 (ko) 2017-01-25
TW201510515A (zh) 2015-03-16
TWI525318B (zh) 2016-03-11
MY171250A (en) 2019-10-04
US20140376818A1 (en) 2014-12-25
EP2816528B1 (en) 2018-11-28
JP2015004538A (ja) 2015-01-08
KR20140147685A (ko) 2014-12-30
US9430841B2 (en) 2016-08-30
EP2816528A1 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
JP6344593B2 (ja) 欠陥検査方法
JP5821708B2 (ja) 欠陥検査装置及び欠陥検査方法
US20200380665A1 (en) Processing method for performing process on image and processing device using the processing method
JP2009145285A (ja) 欠陥検出方法および欠陥検出装置
JP2014517265A (ja) タイヤの外面のディジタル画像の分析及び偽測定箇所の処理
JP5364528B2 (ja) パターンマッチング方法、パターンマッチングプログラム、電子計算機、電子デバイス検査装置
JP4230880B2 (ja) 欠陥検査方法
JP5357572B2 (ja) 外観検査方法および外観検査装置
JPWO2012132273A1 (ja) 外観検査方法およびその装置
JP2006170922A (ja) 外観検査方法およびその装置
JP2014062837A (ja) 欠陥検査装置及び欠陥レビュー装置
JP2006078300A (ja) 物体のカラー画像による欠陥検出
JP2020122769A (ja) 評価方法、評価プログラム及び情報処理装置
JP2002310937A (ja) 欠陥検査方法及び装置
US20200211199A1 (en) Image inspection method
JP3627249B2 (ja) 画像処理装置
JP5346304B2 (ja) 外観検査装置、外観検査システムおよび外観検査方法
CN111382615A (zh) 影像检测方法
WO2023073972A1 (ja) 領域検出装置、領域検出方法、及びプログラム
JP3555407B2 (ja) エッジ検出方法及びその装置
JP2023074734A (ja) ひび割れ検出方法、ひび割れ検出プログラム及びひび割れ検出システム
JP3867615B2 (ja) ワークの外観検査装置及び外観検査方法
JP2009145161A (ja) 欠陥検出方法および欠陥検出装置
JP5157963B2 (ja) 対象物検出装置
JP2008011005A (ja) 撮像素子の欠陥検査方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180509

R150 Certificate of patent or registration of utility model

Ref document number: 6344593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250