JP2004305965A - 物体選別装置、物体選別方法および物体選別プログラム - Google Patents
物体選別装置、物体選別方法および物体選別プログラム Download PDFInfo
- Publication number
- JP2004305965A JP2004305965A JP2003105675A JP2003105675A JP2004305965A JP 2004305965 A JP2004305965 A JP 2004305965A JP 2003105675 A JP2003105675 A JP 2003105675A JP 2003105675 A JP2003105675 A JP 2003105675A JP 2004305965 A JP2004305965 A JP 2004305965A
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- pixel
- information
- cullet
- line
- 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.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Investigating Or Analysing Materials By Optical Means (AREA)
- Sorting Of Articles (AREA)
Abstract
【課題】物体の選別に際し、高精度の選別を可能にする。
【解決手段】1ないし複数個のカレット30に光を照射する照明装置50と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出するCCDカメラ60と、前記CCDカメラ60で検出した光学情報を、材質を示す材質情報にデジタル変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記カレットの形状を演算する判定回路90と、前記材質および形状に基づいてカレットを選別する排除装置とを具備する。
【選択図】 図1
【解決手段】1ないし複数個のカレット30に光を照射する照明装置50と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出するCCDカメラ60と、前記CCDカメラ60で検出した光学情報を、材質を示す材質情報にデジタル変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記カレットの形状を演算する判定回路90と、前記材質および形状に基づいてカレットを選別する排除装置とを具備する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、例えば耐熱ガラスやソーダガラスといった、互いに異なる材質からなるガラス成形品の中から所望の材質および色調のガラス成形品を分別する物体選別装置、物体選別方法および物体選別プログラムに関する。
【0002】
【従来の技術】
近年、ガラス製造工場等においては、ガラス材料としてリサイクル用ガラス片(カレット)を利用しているが、通常のびん等を構成するソーダガラスに耐熱ガラスが混在していると溶融処理の阻害要因となるため、耐熱ガラスを予め分別排除する必要がある。従来、このような耐熱ガラスの分別技術としては、レーザ光の照射による発光スペクトルを利用することが知られている(例えば、特許文献1参照)。
【0003】
また、耐熱ガラスを排除した後は、ソーダガラスのカレットについて色判別を行い、同系色のカレットごとにまとめて処理が行なわれる。従来、このような場合に適用される色判別技術として、可視光(波長380〜780nm)の透過率を利用することが知られている(例えば、特許文献2参照)。
【0004】
しかしながら、上記従来の技術では、予め形状が既知である理想的なカレットサンプルを判別することができても、現実のカレットを高精度に判別することができないという問題がある。具体的には、現実のカレットの透過光或いは反射光は、破砕面に発生する光の反射、屈折等による外乱光を含むために、単純なエリア照射、受光だけでは、高精度の判別を期待することができない。また、このカレットにはラベル残滓を含む汚れが発生するが、この汚れはカレット排除の対象とすることができない。
【0005】
そこで、可視光と紫外光を使用して2画像の比較によって、ガラスとセラミック、プラスチックおよび汚れを分別するとした技術(例えば、特許文献3参照)が提案されている。
【0006】
【特許文献1】
特開平10−34088号公報
【特許文献2】
特開平10−19681号公報
【特許文献3】
特開2000−338046号公報
【0007】
【発明が解決しようとする課題】
しかしながら、現在生産されるガラスの種類はますます多様化し、その中には再生に際して分別を要する色素入り一般ガラスや耐熱ガラス等があり、従来の方式ではガラスの種類が特定されず、その分別が困難である。
【0008】
そこで、本発明の目的は、物体の選別に際し、高精度の選別を可能にした物体選別装置、物体選別方法および物体選別プログラムを提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明は、1ないし複数個の物体に光を照射する照射手段と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出するセンサと、前記センサにより検出された光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、少なくとも1つ以上の前記物体の形状を演算する演算手段と、前記材質および形状に基づいて物体を選別する手段とを具備することを特徴とする物体選別装置を提供する。
【0010】
請求項2に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、前記センサにより検出された光学情報を、前記材質を示す材質情報にデジタル信号変換し、当該材質情報の連続性に基づきグループ化することを特徴とする。
【0011】
請求項3に記載の発明は、請求項2に記載の物体選別装置において、前記演算手段は、前記センサにより検出された光学情報を、前記材質情報に加え、階調度を示す階調情報あるいは色調を示す色調情報の少なくともいずれか1つを含むようにデジタル変換し、デジタル変換したこれらの情報の連続性に基づきグループ化することを特徴とする。
【0012】
請求項4に記載の発明は、請求項1に記載の物体選別装置において、前記物体は、搬送路上を搬送される物体であることを特徴とする。
【0013】
請求項5に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、2ライン分の光学情報を順次演算して、前記物体の形状を演算することを特徴とする。
【0014】
請求項6に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、前記ピクセルデータ列を生成する際に、前記受光素子の感度のばらつきを補正することを特徴とする。
【0015】
請求項7に記載の発明は、1ないし複数個の物体に光を照射する第1の過程と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出する第2の過程と、前記第2の過程において検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する第3の過程と、前記材質および形状に基づいて物体を選別する第4の過程とを具備することを特徴とする物体選別方法を提供する。
【0016】
請求項8に記載の発明は、コンピュータを、少なくとも1ライン以上の受光素子配列を有するセンサに、前記物体を透過あるいは反射した光を検出させる手段、前記センサで検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する手段、および、前記材質および形状に基づいて物体を選別する手段として機能させるためのプログラムを提供する。
【0017】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。図1は、本発明の実施形態にかかるカレット分別装置1の構成を模式的に示す図である。このカレット分別装置1は、カレットを定量供給するためのホッパ10と、供給されたカレットを分別位置まで搬送して落下させるためのコンベア20と、コンベア20から搬送されて落下するカレット(粒状物体)30を分別収容する仕切付き分別容器40とを備えている。
【0018】
カレット30の搬送落下位置には、搬送落下中のカレット30に光を照射する照射手段として、可視光線照射用の照明装置50が設けられると共に、カレット30の透過光を受光するCCDカメラ(ラインセンサ)60が設けられる。より具体的には、CCDカメラ60は、コンベア20の幅方向の1ライン(所定長幅の1ライン)分の透過光を順次に受光し、受光信号を入力信号線80を介して判定回路(演算手段)90に順次に出力する。ここで、本実施形態では、コンベア20が水平状態に角度θ1を付けて設置されている。一般的には、CCDカメラ60に対し照射光を正確に入射させるためには、例えば平板状のカレット30に垂直方向に照射光を透過させ、これをCCDカメラ60に入射させることが望ましい。これを達成するため、本実施形態では、コンベア20の設置角度θ1がコンベア速度やCCDカメラ60の設置角度θ2との関係において適宜に設定され、コンベア20から放出されるカレット30の放物線軌跡L1が、点Aにおいて、カメラと照明装置50間を結ぶ線L2に略直交するように設定される。なお、ラインセンサはコンベア20の搬送方向に沿ってセンシングする走査形ラインセンサであってもよい。
【0019】
判定回路90は、CCDカメラ60から順次出力されてくる受光信号に基づいて、コンベア20から放たれたカレット群の各々の輪郭(形状)および材質を判別し、この判別結果に基づいて所定の種類のカレットを排除すべく排除装置100に排除指令を出力するものであり、CPUやDSPなどの演算回路やRAM、ROMなどの記憶素子を備えている。本実施形態では、判定回路90は、カレットの材質として、▲1▼耐熱ガラス、▲2▼不透明異物(例えばセラミック)、▲3▼明色ガラス、▲4▼暗色ガラスを判別し、▲1▼耐熱ガラスおよび▲2▼不透明異物を排除すべく排除装置100に排除指令を出力する。なお、判定回路90の詳細については後述する。
【0020】
排除装置100は、判定回路90からの排除指令に基づいてバルブ駆動信号を指令信号線110を介して駆動装置120に送信する。駆動装置120は、バルブ駆動信号に応じてソレノイドバルブ130を開閉する。このソレノイドバルブ130は、排除ノズル140に排除用一次エアを供給するエア配管150に組み込まれており、このバルブ開によって一次エアが排除ノズル140に供給されると、排除ノズル140から噴射されるエアが排除すべき種類(材質)のカレット30を加圧し、これにより同カレット30は自然落下するルートから外れて分別容器40の排除室側に収容される。ここで、駆動装置120の駆動タイミング(ソレノイドバルブ130の開閉タイミング)は、上記判定回路90からの排除指令受信タイミングと同期しており、排除指令受信タイミングに同期して上記ソレノイドバルブ130が開閉することで、所定種類のカレット30だけが分別容器40の排除室側に収容されるようになっている。
【0021】
次いで、上述した判定回路90の構成を説明にするに先立って、ここでは、本発明の理解を容易とするために、カレットの材質、輪郭(外形)および大きさを判別するための手法原理について説明する。
【0022】
図2は、本実施形態にかかるカレットの材質および輪郭判別処理フローを示す図である。この図に示すように、CCDカメラ60からは、センシングされた1ライン分の受光信号が順次出力されている。この受光信号には、1ライン分の撮像画像における各ピクセル(画素)の色情報を示すR(赤)アナログ信号、G(緑)アナログ信号、B(青)アナログ信号の各々が含まれている。このRGBアナログ信号は、撮像素子の特性などにより、ラインの両端付近と中央付近とで、その信号レベル(明るさ)が異なることがある。そこで、先ず、CCDカメラ60から順次出力される受光信号(RGBアナログ信号)に対して、信号レベルを正規化(いわゆる、シェーディング補正)して、CCDカメラ60の特性に起因する明るさのばらつきを補正するアナログ信号補正処理が行われる(ステップSa1)。
【0023】
次いで、補正後の受光信号に含まれるRGBアナログ信号を所定ビット数で量子化してRGBデジタル信号(以下、単に「RGB信号」と称する)を入力された受光信号ごとに順次生成すると共に、各ピクセルのRGB(デジタル)値に基づいて当該RGB信号を論理情報に変換するといったデジタル変換処理が行われる(ステップSa2)。
【0024】
さらに詳述すると、このデジタル変換処理にあっては、RGBアナログ信号が例えば4bitで量子化され、16通り(=24通り)の色特性(論理特性)を表現可能なRGB信号(デジタル)に変換される。そして、各ピクセルのRGB信号に基づいてカレットの材質を判別し、当該カレットの材質を示す種別情報(材質情報)を論理情報としてRGB信号と置換する。すなわち、RGB信号が論理情報に論理変換される。
【0025】
具体的には、カレットの材質(▲1▼耐熱ガラス、▲2▼セラミック、▲3▼明色ガラス、▲4▼暗色ガラス)ごとにRGB値が予め実験などにより求められており、各ピクセルのRGB値に基づいて、そのピクセルに撮像されているカレットの材質が判別され、この判別結果がRGB信号に代えて種別情報(例えば4ビットの16進数コード)としてピクセルに付加される。この判別においては、ピクセルのRGB値が比較的大きい場合には、照明装置50からの光が殆ど減衰することなくCCDカメラ60に入射したと考えられるから、そのピクセルにはカレットが存在しないと判別される。また、ピクセルのRGB値が上記何れのカレットにも対応せず、なおかつ、RGB値が然程大きくない場合には、外乱光と判別される。なお、RGBアナログ信号の量子化ビット数は任意であるが、量子化ビット数を多くすれば論理属性が多くとれるため、その分、多様な情報量を付加することができる。
【0026】
ところで、図3に示すように、上記ステップSa2にて論理変換された1ライン分のピクセルデータ列を、複数ライン分(図示例では10ライン分)だけ時系列順(CCDカメラ60から出力された順)に順次配列することで、コンベア20の搬送方向に沿った所定領域(複数ラインにわたる領域)におけるカレットと、このカレットの種別を示すピクセルマップ300aが構成される。
【0027】
この図においては、ピクセルマップ300aのX軸(横軸)がコンベア20の幅方向に対応し、またT軸(縦軸)が受光信号の受信タイミングに対応し、コンベア20の搬送方向に対応する。なお、T軸上位側が搬送方向上流側、T軸下位側が搬送方向下流側に対応している。また、各ピクセル内に付された数字はカレットの材質を示す種別情報であり、値「0h」(hは16進数であることを示す)が「物質無し」、値「5h」が不透明異物を示している。
【0028】
次いで、上記ピクセルマップ300aを用いてカレットの形状(輪郭)判別手法の原理について説明する。なお、後に詳述するが、本実施形態では、カレットの形状判別時に図3に示すような3以上の複数ラインからなるピクセルマップ300aが用いられることは無いものの、理解を容易とするために、ピクセルマップ300aを用いて当該原理を説明することにする。
【0029】
形状判別にあっては、最初に、ピクセルマップ300aの各ピクセルのうち、カレットの縁に相当するピクセルに対して縁情報を論理情報に付加する処理が行われる(図2:ステップSa3)。より具体的には、ピクセルごとに、そのピクセルと隣接する上下左右のピクセル(以下、「隣接ピクセル」と称する)に同一材質を示す種別情報が付加されているか(すなわち、論理情報が隣接ピクセルと連続しているか)が判別され、この判別結果に基づいてカレットの縁に対応するピクセルが抽出される。
【0030】
例えば、ピクセル(t0、4)を中心とした場合の隣接ピクセルは、ピクセル(t1、4)、(t−1、4)、(t0、3)、(t0、5)となり、これらの隣接ピクセルのうち、ピクセル(t0、4)と同一の種別情報が付加されている隣接ピクセルは、右側のピクセル(t0、5)と上側のピクセル(t1、4)である。これとは逆に異なる種別情報が付加されている隣接ピクセルは、下側のピクセル(t−1、4)と、左側のピクセル(t0、3)の2つである。そこで、これらの隣接ピクセルが異なる材質であることを示すべく、ピクセル(t0、4)には、「左、下」という縁情報が論理情報に付加される。
【0031】
この縁情報の付加は、ピクセルマップ300aの左下のピクセル(t−1、0)(すなわち、CCDカメラ60から最初に出力されるピクセル)からX軸方向に沿って順次行われ、1ライン分が終了すると、その上のピクセルデータ列(T軸:t0)に対して同様に縁情報付加が行われる。そして、この縁情報付加が(t−1〜t8)のピクセルデータ列に対して順次行われることでカレットの縁に相当するピクセルに縁情報が付加されたピクセルマップ300b(図4参照)が構成される。
【0032】
ここで、実際に演算装置などにより処理される場合には、縁情報は所定のコードで示される。
【0033】
例えば縁情報を16進数で表し、左:1h、右:2h、下:4h、上:8h、中:0hと定義すると、縁情報として「上下」を付加する場合には、上+下=8h+4h=Chとなる。また、例えばピクセル(t1、6)に付加されている種別情報は、「5h」であるから、種別情報と縁情報とを併記して、このピクセルに付加されている論理情報は「5Ch」となる。他のピクセルについても同様に表記すると、図4に示すようなピクセルマップ300bとなる。
【0034】
ところで、この縁情報が付加された各ピクセルにより囲まれた部分(図4中、グレーで塗られた部分)がカレットを示すものの、この縁情報によりカレットの輪郭(外形)が正確に示される訳ではない。例えば、2つのカレットが近接して落下していた場合、図4に示すように、ブロックAとブロックBとは実際には別体であるものの、ピクセルマップ300b上にて、これらが別体であると識別することは難しく、また異なる材質のカレットがピクセルマップ300b上で連続している場合にも、それを別体と判別することは困難である。そこで本実施形態では、カレット固体ごとの輪郭を抽出するための処理が行われる(ステップSa4)。このステップSa4にあっては、ピクセルと、当該ピクセルの隣接ピクセルとの論理情報の連続性に基づいてグループ分けが行われ、同一のグループにまとまったものを1つのカレットと判別して輪郭を抽出する処理が行われる。具体的には、ピクセルは、隣接ピクセルと同じ種別情報が付加されている場合に、その隣接ピクセルを含めて1つのグループにまとめられる。
【0035】
このグループ分けを図5を参照して説明すると、ピクセルマップ300bの左下のピクセル(t−1、0)からX軸(ライン)に沿って走査して、最初に、「物質無し以外」の種別情報(すなわち、値が「0」以外の種別情報)が付加されているピクセルが発見された場合に(図5中、ピクセル(t0、4))、そのピクセルが属するグループP0が生成される。次いで、先に発見されたピクセルから再びX軸に沿って走査を開始し、走査中のライン内で、物質無し以外の種別情報が付加されている他のピクセルを探索し、ピクセルが発見された場合には、そのピクセルと隣接ピクセルとの関連性に基づいてグループ分けが行われる。
【0036】
例えば、図5に示すt−1番目のピクセルデータ列では、全ピクセルの種別情報の値が「0」であるから、このピクセルデータ列でグループPが生成されることは無い。次いで、t0番目のピクセルデータ列では、ピクセル(t0、4)にて新規のグループP0が生成される。また、このピクセル(t0、4)の右側のピクセル(t0、5)には、ピクセル(t0、4)と同じ種別情報が付加されているため、このピクセル(t0、5)は、ピクセル(t0、4)と同じグループP0に分けられる。仮にピクセル(t0、5)に異なる種別情報が付加されている場合には、ピクセル(t0、4)と異なる新規のグループP1に分けられることになる。このt0番目のピクセルデータ列には、その他にグループ分けすべきピクセル(すなわち、「物質無し」以外の種別情報が付加されているピクセル)が存在しないから、続いてt1番目のピクセルデータ列が走査される。
【0037】
t1番目のピクセルデータ列をX軸に沿って走査すると、グループ分けすべきピクセル(t0、3)が最初に発見される。ピクセル(t0、3)には、左および下側の隣接ピクセル(すなわち、既に走査が完了している隣接ピクセル)と値の異なる種別情報が付加されており、これらの隣接ピクセルと連続性が無いため、このピクセル(t0、3)は、新規のグループP1に分けられる。続く走査により、t1番目のピクセルデータ列には、グループ分けすべきピクセルとして、ピクセル(t1、4)、(t1、5)、(t1、6)が発見される。ピクセル(t1、4)には、下側の隣接ピクセル(t0、4)、および、左側の隣接ピクセル(t1、3)と同じ種別情報が付加されているため、このピクセル(t1、4)は、下側の隣接ピクセル(t0、4)が属するグループP0か、あるいは、左側の隣接ピクセル(t1、3)が属するグループP1の何れかにグループ分けされる。
【0038】
ここで、右側および下側の両方の隣接ピクセルと連続性があるものの、各隣接ピクセルが異なるグループPに属している場合には、右側よりも下側の隣接ピクセルとの連続性を重視し、ピクセル(t1、4)は、グループP0にグループ分けされることとなる。以下同様な処理をピクセルマップ300bに対して施すことにより、図5に示すように、グループP0〜P7が形成される。
【0039】
これらグループP0〜P7の全てが各々別体のカレットを示す訳ではなく、グループP0〜P7を更にグループ化する。具体的には、同一グループP内で、順番の若いグループPに属する隣接ピクセルを有するピクセルがある場合には、そのグループPを、順番の若いグループPと統合する。例えば、図5において、グループP1に属するピクセル(t1、3)は、グループP0に属する隣接ピクセル(t1、4)を有するため、グループP1はグループP0に統合される。以下同様な処理により、各グループP1〜P7が、グループP1、P2、P4〜P7からなるブロックAと、グループP3からなるブロックBとに分離され、ブロックAとブロックBとが別体のカレットであると判別される。そして、ブロックA、Bの各々のカレットの輪郭は、先に求めた縁情報により求められ、これにより、カレットの外形、大きさ、種別が求められる(ステップSa5)。
【0040】
次いで、本実施形態にかかる判定回路90の構成について説明する。図6は、判定回路90の構成を示すブロック図である。判別回路90は、データバス900と、このデータバス900に接続されるインターフェース901、補正回路902、および、MPU(Micro Processing Unit)903を備えている。インターフェース901は、CCDカメラ60との接続インターフェースであり、このインターフェース901から受光信号(アナログ信号)がデータバス900に入力される。
【0041】
補正回路902は、上記原理で述べた処理ステップSa1(図2参照)における処理を行うものであり、データバス900を介してCCDカメラ60から入力された受光信号に対して、CCDカメラ60の特性に起因する明るさのばらつき補正処理を行い、データバス900に出力する。
【0042】
MPU903は、図示せぬROMなどに記憶された制御プログラムに従って判定回路90の各部の動作制御や各種演算を実行するものであり、例えば、MPU903は、データバス900を介してCCDカメラ60から入力された受光信号に対して、上記原理で述べた処理ステップSa2における処理を施し、ライン信号キャッシュメモリ904に出力する。
【0043】
より具体的には、MPU903は、補正回路902から出力されたRGBアナログ信号を所定ビット数(例えば8ビット)で量子化してデジタル変換すると共に、RGBデジタル信号に基づいてカレットの種別を判別し、1ライン分のピクセルデータ列の各ピクセルに対して所定ビット数(例えば8ビット)の種別情報と縁情報の初期値とを論理情報として付加する。
【0044】
種別情報は、上述した通りカレットの種別を識別するものであり、4ビットの16進数コードで示され、例えば、▲1▼耐熱ガラス=16進数コード「4h」、▲2▼不透明異物(例えばセラミック)=16進数コード「5h」、▲3▼明色ガラス=16進数コード「1h」、▲4▼暗色ガラス=16進数コード「2h」、▲5▼物質無し(背景:初期値)=16進数コード「0h」に分類される。
【0045】
縁情報は、そのピクセルがカレットの縁に相当するかを示す情報であり、カレットの上縁、下縁、左縁または下縁のいずれかに該当するかに応じて4ビットの16進数コードにより示される。具体的には、縁情報は、▲1▼上縁=16進数コード「8h」、▲2▼下縁=16進数コード「4h」、▲3▼左縁=16進数コード「1h」、▲4▼右縁=16進数コード「2h」、▲5▼縁に該当せず(初期値)=16進数コード「0h」に分類される。
【0046】
上記のようにMPU902は、各ピクセルに論理情報を付加する場合に、8ビットのRGB信号を、上記種別情報(4ビット)および縁情報(4ビット)からなる合計8ビットの論理情報に置き換えている。なお、このとき縁情報には初期値「0h」が用いられる。
【0047】
ここで、当該判定回路90の各部は、図示せぬクロック信号に基づいて動作する。従って、判定回路90にCCDカメラ60から受光信号が取り込まれ1ライン分のピクセルデータ列がデジタル変換されるサンプリングレートは、このクロック信号の基本周波数あるいは逓倍周波数となる。また、本実施形態では、CCDカメラ60は、1000画素のラインセンサカメラであり、1ライン分の受光信号は、デジタル変換により1000ピクセルのピクセルデータ列として出力されている。
【0048】
さて、ライン信号キャッシュメモリ904は、データバス900を介してMPU903から1ライン分のピクセルデータ列を受け取り記憶するものである。このライン信号キャッシュメモリ904は、記憶しているピクセルデータ列をMPU903からのロード指令に従ってMPU903にロードし、新たに次のピクセルデータ列を記憶する。
【0049】
MPU903にロードされたピクセルデータ列は、当該MPU903にて、論理情報が付加された後に、データバス900を介してライン信号キャッシュメモリ905に格納される。すなわち、ライン信号キャッシュメモリ904には、CCDカメラ60から時刻t秒に出力された受光信号に基づくピクセルデータ列Dtが格納される一方で、ライン信号キャッシュメモリ905には、これより前の時刻t−1秒に出力された受光信号に基づくピクセルデータ列Dt−1が記憶される。判別回路90は、これら2ライン分のピクセルデータ列Dt、Dt−1に基づいて上記原理で述べたカレットの種別、外形(輪郭)および大きさを判別する。
【0050】
ここで、本実施形態の判定回路90が、図3に例示したように、多数ライン(ライン数:3以上)からなるピクセルマップ300aを構成する事無く、2ライン分のピクセルデータ列に基づいてカレットの種別、外形および大きさの判別処理ができるのは、次の理由による。すなわち、上記原理で述べたように、本実施形態では、ピクセルマップ300aのようにm×n個のピクセルにおいて、ピクセル間における論理情報(RGB値や種別情報)の連続性、すなわち、論路情報の微分閾値により縁の識別を行っており、縁の識別には、微分の次数に相当するライン数が必要となる。
【0051】
本実施形態では、ピクセルに縁情報を付加する際の処理(ステップSa3:図2参照)、および、論理情報に基づいて各ピクセルをグループに分ける処理(ステップSa4:図2参照)は、当該ピクセルと、当該ピクセルの上下左右に位置する隣接ピクセルとの種別情報の比較により行われるため、少なくとも2ライン分のピクセルデータ列があれば縁情報の付加や各ピクセルのグループ分けが行えるのである。このように、2ライン分のピクセルデータ列だけを扱えば良いため、実時間ストリーム処理あるいはパイプライン処理が容易となる。
【0052】
さて、上記のように、MPU903は、ライン信号キャッシュメモリ904に論理情報(種別情報と縁情報(初期値))が付加されたピクセルデータ列Dtを格納すると、このピクセルデータ列Dtと共に、ライン信号キャッシュメモリ905に格納されているピクセルデータ列Dt−1をロードして、上記原理で述べた縁情報の付加、グループ分け、および、カレットの輪郭の抽出などの処理、(図3におけるステップSa3〜Sa5)を行った後、ピクセルデータ列Dt−1をレジスタユニット906にデータバス900を介して出力する。
【0053】
tカウンタ907はライン信号キャッシュメモリ905からピクセルデータ列が演算ユニット906に出力されるごとにカウントアップするカウンタ回路であり、Pカウンタ908はMPU903が隣接ピクセル間の連続性に基づいてピクセルのグループPを生成するごとにカウントアップするカウンタ回路である。
【0054】
レジスタユニット906は、MPU903の各種演算結果を格納するものであり、256個のBPスタックレジスタBB0〜BP255(以下、区別する必要が無い場合には、「BPスタックレジスタBP」と表記する)を備えている。BPスタックレジスタBPは、カレット固体ごとに、その輪郭や大きさといった情報を記憶するものであり、Pレジスタ700、セル演算レジスタ701、座標レジスタ702を備えている。
【0055】
Pレジスタ700は、カレット固体を構成する1ないし複数のグループP(図5参照)を格納するものであり、また、セル演算レジスタ701は、MPU903がカレットの輪郭および大きさを演算する際の途中演算結果を格納するものである。具体的には、図7に示すように、セル演算レジスタ701は、4ビットで示される「0h」〜「Fh」の縁情報の値の出現度数を格納するために、16個のレジスタ(第0レジスタ7010〜第7レジスタ701F)を備えている。
【0056】
座標レジスタ702は、MPU902によって演算されたカレットの輪郭を示す座標データ(t、X)を格納するものであり、図8に示すように、カレットにおけるT軸方向の最下端および最上端を示す座標情報を格納するT軸レジスタ7020と、上下端におけるX軸方向の左端および右端を示す座標情報を格納するX軸レジスタ7021とを備えている。ここで、本実施形態では、各ピクセルに8ビットの論理情報を付加しているため、理論的には256(=2の8乗)通りのカレットの分別が可能である。そこで、これら全てのカレットに対処可能とすべく、図6に示すように、レジスタユニット906には、256個のBPスタックレジスタBPが設けられている。また、BPスタックレジスタBPとして実際に使用される最大数(すなわち、予め用意すべき数)は、処理中に、カレット固体とみなされる数によって決まる。例えば、CCDカメラ60の1ラインのピクセル数を1000ピクセル、ピクセルピッチを1mmとすると、5mm四方以上のカレットを識別すると仮定すれば、その数は200を超えることはない。
【0057】
次いで、本実施形態の判定回路90の動作について説明する。図8は、判定回路90のMPU903の処理手順を示すフローチャートである。この図に示すように、MPU903は、先ず、CCDカメラ60からの受光信号をデジタル変換して1ライン分のピクセルデータ列Dtを生成し(ステップSb1)、次いで、各ピクセルに論理情報(種別情報と縁情報(初期値))を付加する(ステップSb2)。そして、MPU903は、ライン信号キャッシュメモリ904に既に格納されていたピクセルデータ列をピクセルデータ列Dt−1としてライン信号キャッシュメモリ905に転送すると共に、ステップSb2にて処理したピクセルデータ列をピクセルデータ列Dtとしてライン信号キャッシュメモリ904に格納する(ステップSb3)。
【0058】
次ぎに、MPU903は、ピクセルデータ列Dt、Dt−1の各々をライン信号キャッシュメモリ904、905からロードし(ステップSb4)、カレットの輪郭(外形)および大きさを特定するためのカレット抽出処理を行う(ステップSb5)。
【0059】
このカレット抽出処理にあっては、ピクセルデータ列Dtの各ピクセルに対して、X軸方向(図3参照)における種別情報の連続性に基づいて縁情報の付加が行われると共に、ピクセルデータ列Dtのピクセルの種別情報が「物質無し」の場合であり、なおかつ、ピクセルデータ列Dt−1の対応するピクセル(図3において同じ列に属するピクセル:すなわち、下側の隣接ピクセル)の種別情報がカレットの種別を示している場合には、この対応するピクセルの縁情報が更新される。さらに、カレット抽出処理にあっては、縁情報の付加と共にグループ分けも行われ、このグループ分けの結果に基づいてカレットの輪郭および大きさが判別されることになる。以下、かかるカレット抽出処理について、図9を参照して詳述する。なお、以下の説明においては、ピクセルデータ列Dtの各ピクセルを図3に示すX軸を用いてピクセル(t、X)と表記する。また、ピクセルデータ列Dt−1についても同様な表記を用いる。
【0060】
図9は、カレット抽出処理の処理手順を示すフローチャートである。同図に示すように、MPU903は、ピクセルデータ列Dtから処理すべきピクセル(説明の便宜上、ピクセル(t、X)とする)を取り出し(ステップSc1)、このピクセル(t、X)に付加されている種別情報の値が「0h」以外か、すなわち、このピクセルにカレットが含まれているかを判別する(ステップSc2)。
【0061】
この判別結果がYESであれば、ピクセル(t、X)がカレットの縁である可能性があるため、先ず、左側および下側の隣接ピクセル(t、X−1)、(t−1、X)との種別情報の連続性に基づいて左側および/または下側の縁であるかの判別が行われる。具体的には、MPU903は、左側の隣接ピクセル(t、X−1)の種別情報の値が「0h」(=物質無し)であるかを判別し(ステップSc3)、この判別結果がYESであれば、ピクセル(t、X)の左側には物質が無いから、このピクセル(t、X)が左側の縁であることを示すべく、縁情報(初期値「0h」)に「1h」を加算して(ステップSc4)、ステップSc5の処理を実行する。
【0062】
このステップSc5の処理は、ステップSc3における判別結果がNOである場合にも実行されるものである。このステップSc5にあっては、MPU903は、下側の隣接ピクセル(t−1、X)の種別情報の値が「0h」であるかを判別し(ステップSc5)、この判別結果がYESであれば、ピクセル(t、X)が下側の縁であることを示すべく、このピクセル(t、X)の縁情報に「4h」を加算する(ステップSc6)。そしてMPU903は、処理手順を後述するステップSc11に処理手順を進める。
【0063】
一方、ステップSc2の判別結果がYESである場合には、下側の隣接ピクセル(t−1、X)がカレットの上縁に相当する可能性があるため、これを判別すべく次の処理を行う。すなわち、具体的には、MPU903は、下側の隣接ピクセル(t−1、X)の種別情報の値が「0h」(=物質無し)であるかを判別し(ステップSc7)、この判別結果がNOであれば、すなわち、下側の隣接ピクセル(t−1、X)にカレットが存在していれば、この隣接ピクセル(t−1、X)が上側の縁であることを示すべく、隣接ピクセル(t−1、X)の縁情報に「8h」を加算して(ステップSc8)、処理手順をステップSc9に進める。
【0064】
ステップSc9の処理は、右側の縁に相当するかを判別するためのものであり、ステップSb7の判別結果がYESである場合にも実行される。このステップSc9にあっては、MPU903は、左側の隣接ピクセル(t、X−1)の種別情報の値が「0h」であるかを判別し(ステップSc9)、この判別結果がNOである場合には、この隣接ピクセル(t、X−1)にカレットが存在しているため、隣接ピクセル(t、X−1)が右側の縁であることを示すべく、この隣接ピクセル(t、X−1)の縁情報に「2h」を加算する(ステップSc10)。
【0065】
そして、MPU903は、ピクセルデータ列Dtに次に処理すべきピクセルがあるか、すなわち、ラインエンドに達したかを判別し(ステップSc11)、この判別結果がNOである場合には、次のピクセルを処理すべく、ピクセルを指定するための変数Xを「1」だけインクリメントして(ステップSc12)、処理手順をステップSc1に戻す。
【0066】
以上説明したステップSc1〜Sc12の一連の処理により、ピクセルデータ列Dtの各ピクセルには、隣接ピクセルとの関連性に基づいて左縁・右縁・下縁の縁情報が付加され、また、ピクセルデータ列Dt−1の各ピクセルには、上縁の縁情報が付加される。ピクセルデータ列Dt−1は、前回のカレット抽出処理時にはピクセルデータ列Dtとして処理されていたものであるから、今回のカレット抽出処理により、ピクセルデータ列Dt−1の各ピクセルには、上下左右縁の縁情報が付加されたこととなる。
【0067】
さて、MPU903は、ピクセルデータ列Dtのラインエンドまで縁情報を付加した場合には(ステップSc11:YES)、このピクセルデータ列Dtの各ピクセルに対して隣接ピクセルとの連続性に基づいてグループ分け処理を行う。図10、図11は、かかるグループ分け処理の処理手順を示すフローチャートであり、図12および図13は、図3および図4に示すピクセルマップ300a、300bど同様なピクセルデータ列が処理される場合に、当該グループ分け処理におけるレジスタユニット906の格納データ内容の変化を模式的に示す図である。
【0068】
図10に示すように、MPU903は、先ず、ピクセルデータ列Dtからピクセル(t、X)を取り出し(ステップSd1)、このピクセル(t、X)の種別情報の値が「0h」であるかを判別する(ステップSd2)。
【0069】
この判別結果がNOであれば、MPU903は、このピクセルの属するグループPiを特定すべく、次の処理を実行する。すなわち、MPU903は、ピクセル(t、X)の下側の隣接ピクセル(t−1、X)がいずれかのグループPi−n(n≦i)に属しているかを判別し(ステップSd3)、この判別結果がYESであれば、ピクセル(t、X)が、これと同じグループPi−nに属するものとする(ステップSd4)。
【0070】
一方、ステップSd3における判別結果がNOであれば、MPU903は、ピクセル(t、X)の左側の隣接ピクセル(t、X−1)がいずれかのグループPi−nに属しているかを判別し(ステップSd5)、この判別結果がYESであれば、ピクセル(t、X)が、これと同じグループPi−nに属するものとする(ステップSd6)。
【0071】
そして、MPU903は、ステップSd5の判別結果がNOの場合、すなわち、ピクセル(t、X)の下側および左側のいずれの隣接ピクセルもグループに属していない場合(これらの隣接ピクセルの種別情報が「物質無し」の場合)には、このピクセル(t、X)は、新たなカレットを示している可能性が高いため、このピクセル(t、X)が属するべき新規のグループPiを生成する(ステップSd7)。そしてMPU903は、この生成したグループPiを新規のカレットであることを示すべく、未使用のBPスタックレジスタBPn(n:0〜255)のPレジスタ700に格納すると共に、Pカウンタ907をカウントアップ(Pの添字「i」を1だけインクリメント)させ(ステップSd8)、処理手順をステップSd9に進める。
【0072】
上記ステップSd9の処理は、ステップSd2の判別結果がYESである場合にも行われ、このステップSd9にあっては、MPU903は、ピクセルデータ列Dtに次に処理すべきピクセルがあるか、すなわち、ラインエンドに達したかを判別し(ステップSd9)、この判別結果がNOである場合には、次のピクセルを処理すべく、ピクセルを指定するための変数Xを「1」だけインクリメントして(ステップSd10)、処理手順をステップSd1に戻す。これらステップSd1〜Sd10の一連の処理により、ピクセルデータ列Dtの各ピクセルが隣接ピクセルとの連続性に基づいてグループに分類されることとなる。
【0073】
例えば、図4に示すピクセルマップ300bのt0列のピクセルデータ列が処理対象である場合には、ピクセル(t0、4)の下側および左側の隣接ピクセルが「物質無し」であるから、上記ステップSd6により、このピクセル(t0、4)は新規のグループP0に属すると判断される。これにより、図12に示すように、Pカウンタ907が「P0」をカウントすると共に、1番目のBPスタックレジスタ70であるBPスタックレジスタBP0のPレジスタ700に、「P0」(を示すデータ)が格納される。また、ピクセル(t0、5)の下側の隣接ピクセルは「物質無し」であるものの、左側の隣接ピクセルがグループP0に属するため、上記ステップSd5により、当該ピクセル(t0、5)もグループに属するとされる。
【0074】
また、同じく図4において、t1列のピクセルデータ列が処理対象である場合には、ピクセル(t1、3)の下側および左側の隣接ピクセルが「物質無し」であるから、上記ステップSd6により、このピクセル(t0、3)は新規のグループP1に属すると判断される。これにより、図12に示すように、Pカウンタ907が「P1」をカウントすると共に、2番目のBPスタックレジスタ70であるBPスタックレジスタBP1のPレジスタ700に、「P1」(を示すデータ)が格納される。また、ピクセル(t1、4)、(t1、5)の各々の下側の隣接ピクセルはグループP0に属するため、上記ステップSd4の処理により、これらのピクセルもグループP0に属すると判断され、そして、ピクセル(t1、6)は、左側の隣接ピクセルがグループP0に属するため、上記ステップSd5により、このピクセルもグループP0に属すると判断される。これにより、図11に示すように、Pレジスタ700に「P1」に加えて「P0」が追加されることとなる。
【0075】
次いで図11に示すように、上記ステップSd9の判別結果がYESである場合、すなわち、ピクセルデータ列Dtの全てのピクセルに対してグループ分けが完了した場合には、MPU903は、ピクセルデータ列Dtにおいて新規のグループPiが生成されたかを判別する(ステップSd11)。この判別結果がNOである場合、ピクセルデータ列Dtには新規なカレットが存在しないため、処理手順をステップSd16に進める。一方、この判別結果がYESである場合、すなわち、このピクセルデータ列Dtに新たなカレットが存在する可能性が高い場合には、MPU903は、その新規グループPiの隣接ピクセルとの連続性に基づいて実際に新たなカレットが存在するか否かを判別する。
【0076】
具体的には、MPU903は、新規グループPiの左側および下側の隣接ピクセルに、当該新規グループPiよりも先に生成されているグループPi−nに属する隣接ピクセルが存在するか否かを判別する(ステップSd12)。この判別結果がYESであれば、論理情報の連続性からみて新規グループPiは、グループPi−nに属すると考えられるため、MPU903は、グループPiの情報が格納されているBPスタックレジスタBPnの内容を、先のグループPi−1の情報が格納されているBPスタックレジスタBPm(m<n)に転送するといったグループ統合処理を行い(ステップSd13)、処理手順をステップ16に進める。
【0077】
一方、ステップS12の判別結果がNOであれば、この新規グループPiは、新たなカレットを示す可能性が非常に高いと考えられるため、MPU903は、このカレットの外形や大きさを特定すべく次の処理を実行する。すなわち、MPU903は、このカレットのX座標およびT座標を記録する。ここで、新規グループPiの下側に隣接するピクセルのいずれもグループPi−nに属していないと言う事は、この新規グループPiは、新たなカレットの始まりと考えられる。そこで、MPU903は、このカレットの下端座標としてT座標をT軸レジスタ7020に格納すると共に、下端における左端、右端座標として、X軸上の左端および右端の座標情報を座標レジスタ702のX軸レジスタ7021に格納する(ステップSd14)。
【0078】
次に、MPU903は、今回のピクセルデータ列Dtのグループ分けにより、カレットの上端が判明したものがあるかを判別するための処理を実行する。具体的には、MPU903は、ピクセルデータ列Dtにおける「物質無し」を示すピクセルにより、前回の処理まで出現していたカレットの上端が明確になったものを特定し(ステップSd15:YES)、このカレットに対応するBPスタックレジスタBPのT軸レジスタ7020に、1つ前のピクセルデータ列Dt−1のT座標をカレットの上端座標として格納すると共に、上端における左端、右端を示すX座標をX軸レジスタ7021に格納して(ステップSd16)、処理を終了する。
【0079】
上記ステップSd11〜Sd16の処理により、各カレットの左右端を示すX座標および上下端を示すT座標が特定され、さらに、図9に示す縁情報の付加処理により、これらカレットの輪郭が特定されることとなる。
【0080】
例えば、図4に示すピクセルマップ300bのt0列のピクセルデータ列が処理対象である場合、上記ステップSd1〜Sd10の処理により、ピクセル(t0、4)(t0、5)が属するグループとしてグループP0が新規に生成される。このグループP0は、左側および下側の隣接ピクセルがいずれも「物質無し」であり、グループに属していないため、ステップSd12およびSd14の処理により、グループP0の左端、右端を示すX座標と、下端を示すT座標とが座標レジスタ702に記憶される(図13参照)。
【0081】
また、図4におけるt3列のピクセルデータ列が処理対象となった場合、このピクセルデータ列にはグループP3、P2、P0の3つのグループが含まれる。これらのグループのうち、グループP2の下側にはグループP2が隣接し、またグループP0の下側にはグループP0が隣接するため、上記ステップSd12、Sd13の処理により、グループP2、P0はグループP0(1番目のBPスタックレジスタBP0に格納)に属することとなる。一方、グループP3は、いずれのグループとも隣接しないため、図12に示すように、4番目のBPスタックレジスタBP3には、グループ情報「P3」のみが格納され、グループ情報「P0、P2」は、1番目のBPスタックレジスタBP0に格納される。また図13に示すように、グループP0の左端、右端を示すX座標と、下端を示すT座標とが3番目のBPスタックレジスタBP2の座標レジスタ702に記憶される。
【0082】
そして、図4におけるt3列のピクセルデータ列が処理対象となった場合には、t4列のグループP3の上側が全て「物質無し」となるから、ステップSd15およびSd16の処理により、図13に示すように、グループP3の上端における左端、右端を示すX座標と、当該上端を示すT座標とが3番目のBPスタックレジスタBP2の座標レジスタ702に記憶され、図4に示すブロックBのカレットの輪郭および大きさが特定される。また、同様にして、図4におけるt8列のピクセルデータ列が処理対象となった場合には、ブロックAのカレットが特定されることとなる。
【0083】
ここで、図6あるいは図7に示すように、BPスタックレジスタBPは、各ピクセルの縁情報の出現頻度をカウントすべく、第1レジスタ7010〜第16レジスタ701Fを備えたセル演算レジスタ701有しており、図13に示すように、ピクセルデータ列の各ピクセルに付された縁情報の値の累積値がカウントされる構成となっており、これにより、このピクセルデータ列内のカレットの存在範囲が特定される。なお、このカウントは、上記グループ分け処理(詳細にはステップSd1〜ステップSd10)において同時に行われる。
【0084】
さて、上記カレット抽出処理により、カレットの輪郭および大きさが特定された場合には(図8におけるステップSb6:YES)、MPU903は、カレットを構成するピクセルに付加された論理情報に基づいて、カレットを排除するか否かの排除判別処理を行う(ステップSb7)。具体的には、MPU903は、ピクセルに付加されている論理情報を参照し、当該カレットの材質が耐熱ガラス、あるいは、不透明異物(例えばセラミック)であると判別した場合に(ステップSb7:YES)、当該カレットの排除指令を図1に示す排除装置100に出力する(ステップSb8)。そして、排除装置100が、この排除指令に従って駆動装置120を駆動制御することで、排除ノズル140からエアが噴射され、排除すべき種類のカレットが排除されることとなる。そして、MPU903は、引き続きカレットの抽出を行うべく、処理手順をステップSb1に戻す。
【0085】
ここで、判別回路90が排除装置100に排除指令を出力する際のカレットの位置指定は次のように行われる。すなわち、上記ステップSb8から排除指令が送信される時間タイミングは、排除すべきカレットに対応するピクセルデータ列のT軸座標に基づいて行われる。一方、CCDカメラ60は、1ラインが1000画素のラインセンサであるから、MPU903で処理されるピクセルデータ列は、1000個のピクセルより構成される。このピクセルデータ列は、図14に示すように、所定ピクセル数(図示例では50ピクセル)ごとに、排除アドレスが割り当てられている。この排除アドレスは、判別回路90と排除装置100とのパラレル信号通信における信号のアドレスに相当する。従って、上記カレット抽出処理により特定された排除すべきカレットのX軸上の位置に対応する排除アドレスをアクティブにして、排除装置100に排除指令を送信することで、排除位置のX軸上の指定が行われる。
【0086】
以上説明したように、本実施形態によれば、画像情報であるピクセルデータにおいて、上下左右に隣接する隣接ピクセルとの論理情報(種別情報)の連続性に基づいてピクセルをグループ化しており、これにより、コンベア20によって搬送されるカレットの種類、大きさ、輪郭を高精度に判別することが可能となる。
【0087】
さらに、カレット抽出処理には、2ラインのピクセルデータ列のみを用いれば良い構成としたため、ストリーム処理やパイプライン処理が可能となり、処理が高速化される。
<変形例>
上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形可能である。そこで、以下に各種の変形例について説明する。
【0088】
(変形例1)
一般的にカレットの形状は不整形状であることが多く、また汚れていることが多い。カレットに不整形状や汚れが存在した場合、外乱光が発生するため、それらが存在する領域では、種別判定結果が不確かになり、実際には、1つの材質からなるカレットであっても、上記種別情報の付加時に複数の材質からなると判別される可能がある。このように、実際には1つのカレットであるにもかかわらず、異なる種別情報がピクセルに付加されると、カレットの輪郭や大きさの判定時に誤認識が発生する。そこで、上記実施形態では、ピクセルに縁情報を付加する際に、隣接ピクセルと種別情報が異なる場合に必ず縁情報を付加する構成としているが(図9参照)、隣接ピクセルと種別情報が異なる場合であっても、その隣接物質が「物質無し」を示している場合を除いて、当該ピクセルは、隣接ピクセルと同一カレットであると見做し縁情報を付加しない構成としても良い。
【0089】
この構成にあっては、グループ分け処理(図10参照)により、複数の種別情報を含むピクセルが1つのグループに分けら、1個のカレットを抽出することとなる。そこで、そのカレットに含まれる排除すべき材質の割合に応じてカレットを排除するか否かを判別する。
【0090】
具体的には、MPU903は、グループにまとめられた各ピクセルを、種別情報ごとにカウントし、排除すべき材質を示す種別情報がどの程度含まれているかを判別する。例えば、耐熱ガラス、不透明異物、明色ガラスおよび暗色ガラスのカウント値を夫々、Count(1)、Count(2)、Count(3)およびCount(4)とすると、全体のカウント値(全ピクセル数)=ΣCount(j)(j=1〜4)となる。このとき、排除条件は、次の(式1)〜(式4)の各々である。
【0091】
Count(1)>A1×ΣCount(j) (式1)
Count(2)>A2×ΣCount(j) (式2)
(Count(2)+Count(4))>A3×ΣCount(j)、かつ、
(Count(2)/Count(4))>B1 (式3)
(Count(3)+Count(4))<A4×ΣCount(j)、かつ、
(Count(1)/Count(3))>B2 (式4)
(但し、Ai(i=1、2、3、4)、Bi(i=1、2)は、Ai<1、Bi>1を満たす常数)
上記式によれば、(式1)(式2)により、カレットにおいて耐熱ガラスあるいは不透明異物が比較的大きな割合を占めるものが排除される。また、(式3)により、不透明異物と暗色ガラスとが比較的大きな割合を占め、なおかつ、不透明異物が暗色ガラスよりも多く含まれているカレットが排除される。さらにまた、(式4)により、明色ガラスと暗色ガラスの占める割合が比較的小さく、なおかつ、耐熱ガラスが明色ガラスよりも多く含まれているカレットが排除されることとなる。
【0092】
(変形例2)
上記実施形態においては、CCDカメラ60からの受光信号に対して、アナログ補正処理(シェーディング補正処理)を施した後に、アナログ信号をデジタル変換して各ピクセルに種別情報を付加する構成とした。しかしながら、種別情報変換アルゴリズムにシェーディング補正における補正値が予め組み込まれていれば、シェーディング補正をせずに、受光信号を直接デジタル変換しても良い。
【0093】
具体的には、シェーディング補正時の補正値は、ピクセル(位置)の関数として示される。そこで、MPU903は、デジタル変換したRGB信号に基づいて種別(材質)を判別する際に、ピクセル位置に応じてRGBデジタル信号の値を上記補正値だけ補正し、その補正後の値に基づいて種別を判別する構成とする。この構成によれば、シェーディング補正といったアナログ信号を補正するための処理および回路が不必要となり、処理が高速化される他、回路構成も簡易なものとなる。
【0094】
(変形例3)
上記実施形態では、RGB信号からカレットの材質を判別する構成としたがこれに限らない。例えば、カレットの種別がRGBよりも色度、色相あるいは彩度に顕著に反映される場合があり、この場合は、RGBアナログ信号を色度、色相あるいは彩度を示すデジタル信号に変換し、このデジタル信号に基づいて材質を判別し、種別情報を付加する構成とすることが可能である。
【0095】
(変形例4)
上記実施形態では、カレットを判別する場合について例示したが、RGB、色度、色相あるいは彩度といった光学情報から材質が特定されるものであれば、任意の物質を判別しても良い。また、光学情報の取得には、物質の透過光に限らず、物質の反射光を利用しても良い。
【0096】
(変形例5)
上記実施形態では、RGBアナログ信号をカレットの材質を示す種別情報に変換し、当該種別情報を論理情報としてピクセルに付加する構成について例示したが、これに限らない。すなわち、一般に、隣接ピクセル間でRGB信号の階調が急激に変化する場合には、そのピクセルに対応する物質上の箇所で形状が変化している可能性が高く、また、隣接ピクセル間で色調が変化する場合には、そのピクセルに対応する物質上の箇所の形状変化、汚れ或いは外乱の影響である可能性が高い。そこで、これら階調情報および/または色調情報を上記論理情報として種別情報と共に各ピクセルに付加し、各ピクセルのグループ分けの際に、当該階調情報および/または色調情報を加味する構成としても良い。
【0097】
より具体的には、上記階調情報は、RGB信号の絶対強度として求められ、上記色調情報は、RGB信号におけるR信号、G信号およびB信号間の相対強度により求められる。例えば、図15に示すように、互いに隣接する4つのピクセルXij(i、j=1または2)において、各々のピクセルXijのRGB値を(Rij、Gij、Bij)とすると、
(階調)=Rij+Gij+Bij
(色調)={Rij、Gij、Bij}間の大小関係
により算出される。そこで、MPU903は、ピクセルデータ列Dtの各ピクセルに論理情報を付加する際(図8:Sb2参照)に、上記関係式を用いて階調情報および/または色調情報を種別情報と合わせて付加する。
【0098】
ここで、MPU903は、形状変化による階調変化(強度変化)を論理情報として付加する場合には、R信号、G信号、B信号の各々に同程度に発生すると見なせるため、例えばR信号のみで当該階調変化を代表し、aを定数として
|R22−R12|>a、または、|R22−R21|>aの場合
階調情報=「0」
|R22−R12|≦0、または、|R22−R21|≦0の場合
階調情報=「1」
として、MPU903は、各ピクセルに2ビットの階調情報を付加する。
【0099】
また、MPU903は、色調情報を付加する場合には、{Rij、Gij、Bij}間の大小関係に応じて
Rij>Gij>Bijの場合、色調情報=「0h」
Rij>Bij>Gijの場合、色調情報=「1h」
Gij>Rij>Bijの場合、色調情報=「2h」
Gij>Bij>Rijの場合、色調情報=「3h」
Bij>Rij>Gijの場合、色調情報=「4h」
Bij>Gij>Rijの場合、色調情報=「5h」
として各ピクセルに色調情報を付加する。なお、色調情報を付加する場合の上記場合分けに、Rij>Gij≒Bijの場合や、Rij≒Gij>Bijの場合といった近似条件を更に付加しても良い。
【0100】
このように、MPU903が階調情報および/または色調情報を種別情報と合わせて論理情報としてピクセルに付加し、この論理情報に基づいてグループ分けを行うことで、外乱を含むピクセルを除外することが可能となる。すなわち、上記実施形態にて物質の輪郭として特定されたピクセルにより囲まれるエリア内のピクセルの中から、更に、外乱と見なせるピクセルを除外することが可能となり、より正確に物質の形状を特定することができる。
【0101】
【発明の効果】
以上説明したように、本発明によれば、物体の選別に際し、高精度の選別を可能にした物体選別装置及び選別方法が提供される。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるカレット分別装置1の構成を模式的に示す図である。
【図2】同カレットの材質および輪郭判別処理フローを示す図である。
【図3】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図4】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図5】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図6】同判定回路の構成を示すブロック図である。
【図7】同BPスタックレジスタの構成を示す図である。
【図8】同MPUの処理手順を示すフローチャートである。
【図9】同カレット抽出処理の処理手順を示すフローチャートである。
【図10】同グループ分け処理の処理手順を示すフローチャートである。
【図11】同グループ分け処理の処理手順を示すフローチャートである。
【図12】同カレット抽出処理におけるBPスタックレジスタに格納されるデータの遷移を説明するための図である。
【図13】同カレット抽出処理におけるBPスタックレジスタに格納されるデータの遷移を説明するための図である。
【図14】同カレットを排除する際の動作を説明するための図である。
【図15】本発明の変形例を説明するための図である。
【符号の説明】
1 カレット分別装置
10 ホッパ
20 コンベア
30 カレット
50 照明装置
60 CCDカメラ
70 BPスタックレジスタ
90 判定回路
100 排除装置
300a、300b ピクセルマップ
902 補正回路
904 ライン信号キャッシュメモリ
905 ライン信号キャッシュメモリ
906 レジスタユニット
【発明の属する技術分野】
本発明は、例えば耐熱ガラスやソーダガラスといった、互いに異なる材質からなるガラス成形品の中から所望の材質および色調のガラス成形品を分別する物体選別装置、物体選別方法および物体選別プログラムに関する。
【0002】
【従来の技術】
近年、ガラス製造工場等においては、ガラス材料としてリサイクル用ガラス片(カレット)を利用しているが、通常のびん等を構成するソーダガラスに耐熱ガラスが混在していると溶融処理の阻害要因となるため、耐熱ガラスを予め分別排除する必要がある。従来、このような耐熱ガラスの分別技術としては、レーザ光の照射による発光スペクトルを利用することが知られている(例えば、特許文献1参照)。
【0003】
また、耐熱ガラスを排除した後は、ソーダガラスのカレットについて色判別を行い、同系色のカレットごとにまとめて処理が行なわれる。従来、このような場合に適用される色判別技術として、可視光(波長380〜780nm)の透過率を利用することが知られている(例えば、特許文献2参照)。
【0004】
しかしながら、上記従来の技術では、予め形状が既知である理想的なカレットサンプルを判別することができても、現実のカレットを高精度に判別することができないという問題がある。具体的には、現実のカレットの透過光或いは反射光は、破砕面に発生する光の反射、屈折等による外乱光を含むために、単純なエリア照射、受光だけでは、高精度の判別を期待することができない。また、このカレットにはラベル残滓を含む汚れが発生するが、この汚れはカレット排除の対象とすることができない。
【0005】
そこで、可視光と紫外光を使用して2画像の比較によって、ガラスとセラミック、プラスチックおよび汚れを分別するとした技術(例えば、特許文献3参照)が提案されている。
【0006】
【特許文献1】
特開平10−34088号公報
【特許文献2】
特開平10−19681号公報
【特許文献3】
特開2000−338046号公報
【0007】
【発明が解決しようとする課題】
しかしながら、現在生産されるガラスの種類はますます多様化し、その中には再生に際して分別を要する色素入り一般ガラスや耐熱ガラス等があり、従来の方式ではガラスの種類が特定されず、その分別が困難である。
【0008】
そこで、本発明の目的は、物体の選別に際し、高精度の選別を可能にした物体選別装置、物体選別方法および物体選別プログラムを提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明は、1ないし複数個の物体に光を照射する照射手段と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出するセンサと、前記センサにより検出された光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、少なくとも1つ以上の前記物体の形状を演算する演算手段と、前記材質および形状に基づいて物体を選別する手段とを具備することを特徴とする物体選別装置を提供する。
【0010】
請求項2に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、前記センサにより検出された光学情報を、前記材質を示す材質情報にデジタル信号変換し、当該材質情報の連続性に基づきグループ化することを特徴とする。
【0011】
請求項3に記載の発明は、請求項2に記載の物体選別装置において、前記演算手段は、前記センサにより検出された光学情報を、前記材質情報に加え、階調度を示す階調情報あるいは色調を示す色調情報の少なくともいずれか1つを含むようにデジタル変換し、デジタル変換したこれらの情報の連続性に基づきグループ化することを特徴とする。
【0012】
請求項4に記載の発明は、請求項1に記載の物体選別装置において、前記物体は、搬送路上を搬送される物体であることを特徴とする。
【0013】
請求項5に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、2ライン分の光学情報を順次演算して、前記物体の形状を演算することを特徴とする。
【0014】
請求項6に記載の発明は、請求項1に記載の物体選別装置において、前記演算手段は、前記ピクセルデータ列を生成する際に、前記受光素子の感度のばらつきを補正することを特徴とする。
【0015】
請求項7に記載の発明は、1ないし複数個の物体に光を照射する第1の過程と、少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出する第2の過程と、前記第2の過程において検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する第3の過程と、前記材質および形状に基づいて物体を選別する第4の過程とを具備することを特徴とする物体選別方法を提供する。
【0016】
請求項8に記載の発明は、コンピュータを、少なくとも1ライン以上の受光素子配列を有するセンサに、前記物体を透過あるいは反射した光を検出させる手段、前記センサで検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する手段、および、前記材質および形状に基づいて物体を選別する手段として機能させるためのプログラムを提供する。
【0017】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。図1は、本発明の実施形態にかかるカレット分別装置1の構成を模式的に示す図である。このカレット分別装置1は、カレットを定量供給するためのホッパ10と、供給されたカレットを分別位置まで搬送して落下させるためのコンベア20と、コンベア20から搬送されて落下するカレット(粒状物体)30を分別収容する仕切付き分別容器40とを備えている。
【0018】
カレット30の搬送落下位置には、搬送落下中のカレット30に光を照射する照射手段として、可視光線照射用の照明装置50が設けられると共に、カレット30の透過光を受光するCCDカメラ(ラインセンサ)60が設けられる。より具体的には、CCDカメラ60は、コンベア20の幅方向の1ライン(所定長幅の1ライン)分の透過光を順次に受光し、受光信号を入力信号線80を介して判定回路(演算手段)90に順次に出力する。ここで、本実施形態では、コンベア20が水平状態に角度θ1を付けて設置されている。一般的には、CCDカメラ60に対し照射光を正確に入射させるためには、例えば平板状のカレット30に垂直方向に照射光を透過させ、これをCCDカメラ60に入射させることが望ましい。これを達成するため、本実施形態では、コンベア20の設置角度θ1がコンベア速度やCCDカメラ60の設置角度θ2との関係において適宜に設定され、コンベア20から放出されるカレット30の放物線軌跡L1が、点Aにおいて、カメラと照明装置50間を結ぶ線L2に略直交するように設定される。なお、ラインセンサはコンベア20の搬送方向に沿ってセンシングする走査形ラインセンサであってもよい。
【0019】
判定回路90は、CCDカメラ60から順次出力されてくる受光信号に基づいて、コンベア20から放たれたカレット群の各々の輪郭(形状)および材質を判別し、この判別結果に基づいて所定の種類のカレットを排除すべく排除装置100に排除指令を出力するものであり、CPUやDSPなどの演算回路やRAM、ROMなどの記憶素子を備えている。本実施形態では、判定回路90は、カレットの材質として、▲1▼耐熱ガラス、▲2▼不透明異物(例えばセラミック)、▲3▼明色ガラス、▲4▼暗色ガラスを判別し、▲1▼耐熱ガラスおよび▲2▼不透明異物を排除すべく排除装置100に排除指令を出力する。なお、判定回路90の詳細については後述する。
【0020】
排除装置100は、判定回路90からの排除指令に基づいてバルブ駆動信号を指令信号線110を介して駆動装置120に送信する。駆動装置120は、バルブ駆動信号に応じてソレノイドバルブ130を開閉する。このソレノイドバルブ130は、排除ノズル140に排除用一次エアを供給するエア配管150に組み込まれており、このバルブ開によって一次エアが排除ノズル140に供給されると、排除ノズル140から噴射されるエアが排除すべき種類(材質)のカレット30を加圧し、これにより同カレット30は自然落下するルートから外れて分別容器40の排除室側に収容される。ここで、駆動装置120の駆動タイミング(ソレノイドバルブ130の開閉タイミング)は、上記判定回路90からの排除指令受信タイミングと同期しており、排除指令受信タイミングに同期して上記ソレノイドバルブ130が開閉することで、所定種類のカレット30だけが分別容器40の排除室側に収容されるようになっている。
【0021】
次いで、上述した判定回路90の構成を説明にするに先立って、ここでは、本発明の理解を容易とするために、カレットの材質、輪郭(外形)および大きさを判別するための手法原理について説明する。
【0022】
図2は、本実施形態にかかるカレットの材質および輪郭判別処理フローを示す図である。この図に示すように、CCDカメラ60からは、センシングされた1ライン分の受光信号が順次出力されている。この受光信号には、1ライン分の撮像画像における各ピクセル(画素)の色情報を示すR(赤)アナログ信号、G(緑)アナログ信号、B(青)アナログ信号の各々が含まれている。このRGBアナログ信号は、撮像素子の特性などにより、ラインの両端付近と中央付近とで、その信号レベル(明るさ)が異なることがある。そこで、先ず、CCDカメラ60から順次出力される受光信号(RGBアナログ信号)に対して、信号レベルを正規化(いわゆる、シェーディング補正)して、CCDカメラ60の特性に起因する明るさのばらつきを補正するアナログ信号補正処理が行われる(ステップSa1)。
【0023】
次いで、補正後の受光信号に含まれるRGBアナログ信号を所定ビット数で量子化してRGBデジタル信号(以下、単に「RGB信号」と称する)を入力された受光信号ごとに順次生成すると共に、各ピクセルのRGB(デジタル)値に基づいて当該RGB信号を論理情報に変換するといったデジタル変換処理が行われる(ステップSa2)。
【0024】
さらに詳述すると、このデジタル変換処理にあっては、RGBアナログ信号が例えば4bitで量子化され、16通り(=24通り)の色特性(論理特性)を表現可能なRGB信号(デジタル)に変換される。そして、各ピクセルのRGB信号に基づいてカレットの材質を判別し、当該カレットの材質を示す種別情報(材質情報)を論理情報としてRGB信号と置換する。すなわち、RGB信号が論理情報に論理変換される。
【0025】
具体的には、カレットの材質(▲1▼耐熱ガラス、▲2▼セラミック、▲3▼明色ガラス、▲4▼暗色ガラス)ごとにRGB値が予め実験などにより求められており、各ピクセルのRGB値に基づいて、そのピクセルに撮像されているカレットの材質が判別され、この判別結果がRGB信号に代えて種別情報(例えば4ビットの16進数コード)としてピクセルに付加される。この判別においては、ピクセルのRGB値が比較的大きい場合には、照明装置50からの光が殆ど減衰することなくCCDカメラ60に入射したと考えられるから、そのピクセルにはカレットが存在しないと判別される。また、ピクセルのRGB値が上記何れのカレットにも対応せず、なおかつ、RGB値が然程大きくない場合には、外乱光と判別される。なお、RGBアナログ信号の量子化ビット数は任意であるが、量子化ビット数を多くすれば論理属性が多くとれるため、その分、多様な情報量を付加することができる。
【0026】
ところで、図3に示すように、上記ステップSa2にて論理変換された1ライン分のピクセルデータ列を、複数ライン分(図示例では10ライン分)だけ時系列順(CCDカメラ60から出力された順)に順次配列することで、コンベア20の搬送方向に沿った所定領域(複数ラインにわたる領域)におけるカレットと、このカレットの種別を示すピクセルマップ300aが構成される。
【0027】
この図においては、ピクセルマップ300aのX軸(横軸)がコンベア20の幅方向に対応し、またT軸(縦軸)が受光信号の受信タイミングに対応し、コンベア20の搬送方向に対応する。なお、T軸上位側が搬送方向上流側、T軸下位側が搬送方向下流側に対応している。また、各ピクセル内に付された数字はカレットの材質を示す種別情報であり、値「0h」(hは16進数であることを示す)が「物質無し」、値「5h」が不透明異物を示している。
【0028】
次いで、上記ピクセルマップ300aを用いてカレットの形状(輪郭)判別手法の原理について説明する。なお、後に詳述するが、本実施形態では、カレットの形状判別時に図3に示すような3以上の複数ラインからなるピクセルマップ300aが用いられることは無いものの、理解を容易とするために、ピクセルマップ300aを用いて当該原理を説明することにする。
【0029】
形状判別にあっては、最初に、ピクセルマップ300aの各ピクセルのうち、カレットの縁に相当するピクセルに対して縁情報を論理情報に付加する処理が行われる(図2:ステップSa3)。より具体的には、ピクセルごとに、そのピクセルと隣接する上下左右のピクセル(以下、「隣接ピクセル」と称する)に同一材質を示す種別情報が付加されているか(すなわち、論理情報が隣接ピクセルと連続しているか)が判別され、この判別結果に基づいてカレットの縁に対応するピクセルが抽出される。
【0030】
例えば、ピクセル(t0、4)を中心とした場合の隣接ピクセルは、ピクセル(t1、4)、(t−1、4)、(t0、3)、(t0、5)となり、これらの隣接ピクセルのうち、ピクセル(t0、4)と同一の種別情報が付加されている隣接ピクセルは、右側のピクセル(t0、5)と上側のピクセル(t1、4)である。これとは逆に異なる種別情報が付加されている隣接ピクセルは、下側のピクセル(t−1、4)と、左側のピクセル(t0、3)の2つである。そこで、これらの隣接ピクセルが異なる材質であることを示すべく、ピクセル(t0、4)には、「左、下」という縁情報が論理情報に付加される。
【0031】
この縁情報の付加は、ピクセルマップ300aの左下のピクセル(t−1、0)(すなわち、CCDカメラ60から最初に出力されるピクセル)からX軸方向に沿って順次行われ、1ライン分が終了すると、その上のピクセルデータ列(T軸:t0)に対して同様に縁情報付加が行われる。そして、この縁情報付加が(t−1〜t8)のピクセルデータ列に対して順次行われることでカレットの縁に相当するピクセルに縁情報が付加されたピクセルマップ300b(図4参照)が構成される。
【0032】
ここで、実際に演算装置などにより処理される場合には、縁情報は所定のコードで示される。
【0033】
例えば縁情報を16進数で表し、左:1h、右:2h、下:4h、上:8h、中:0hと定義すると、縁情報として「上下」を付加する場合には、上+下=8h+4h=Chとなる。また、例えばピクセル(t1、6)に付加されている種別情報は、「5h」であるから、種別情報と縁情報とを併記して、このピクセルに付加されている論理情報は「5Ch」となる。他のピクセルについても同様に表記すると、図4に示すようなピクセルマップ300bとなる。
【0034】
ところで、この縁情報が付加された各ピクセルにより囲まれた部分(図4中、グレーで塗られた部分)がカレットを示すものの、この縁情報によりカレットの輪郭(外形)が正確に示される訳ではない。例えば、2つのカレットが近接して落下していた場合、図4に示すように、ブロックAとブロックBとは実際には別体であるものの、ピクセルマップ300b上にて、これらが別体であると識別することは難しく、また異なる材質のカレットがピクセルマップ300b上で連続している場合にも、それを別体と判別することは困難である。そこで本実施形態では、カレット固体ごとの輪郭を抽出するための処理が行われる(ステップSa4)。このステップSa4にあっては、ピクセルと、当該ピクセルの隣接ピクセルとの論理情報の連続性に基づいてグループ分けが行われ、同一のグループにまとまったものを1つのカレットと判別して輪郭を抽出する処理が行われる。具体的には、ピクセルは、隣接ピクセルと同じ種別情報が付加されている場合に、その隣接ピクセルを含めて1つのグループにまとめられる。
【0035】
このグループ分けを図5を参照して説明すると、ピクセルマップ300bの左下のピクセル(t−1、0)からX軸(ライン)に沿って走査して、最初に、「物質無し以外」の種別情報(すなわち、値が「0」以外の種別情報)が付加されているピクセルが発見された場合に(図5中、ピクセル(t0、4))、そのピクセルが属するグループP0が生成される。次いで、先に発見されたピクセルから再びX軸に沿って走査を開始し、走査中のライン内で、物質無し以外の種別情報が付加されている他のピクセルを探索し、ピクセルが発見された場合には、そのピクセルと隣接ピクセルとの関連性に基づいてグループ分けが行われる。
【0036】
例えば、図5に示すt−1番目のピクセルデータ列では、全ピクセルの種別情報の値が「0」であるから、このピクセルデータ列でグループPが生成されることは無い。次いで、t0番目のピクセルデータ列では、ピクセル(t0、4)にて新規のグループP0が生成される。また、このピクセル(t0、4)の右側のピクセル(t0、5)には、ピクセル(t0、4)と同じ種別情報が付加されているため、このピクセル(t0、5)は、ピクセル(t0、4)と同じグループP0に分けられる。仮にピクセル(t0、5)に異なる種別情報が付加されている場合には、ピクセル(t0、4)と異なる新規のグループP1に分けられることになる。このt0番目のピクセルデータ列には、その他にグループ分けすべきピクセル(すなわち、「物質無し」以外の種別情報が付加されているピクセル)が存在しないから、続いてt1番目のピクセルデータ列が走査される。
【0037】
t1番目のピクセルデータ列をX軸に沿って走査すると、グループ分けすべきピクセル(t0、3)が最初に発見される。ピクセル(t0、3)には、左および下側の隣接ピクセル(すなわち、既に走査が完了している隣接ピクセル)と値の異なる種別情報が付加されており、これらの隣接ピクセルと連続性が無いため、このピクセル(t0、3)は、新規のグループP1に分けられる。続く走査により、t1番目のピクセルデータ列には、グループ分けすべきピクセルとして、ピクセル(t1、4)、(t1、5)、(t1、6)が発見される。ピクセル(t1、4)には、下側の隣接ピクセル(t0、4)、および、左側の隣接ピクセル(t1、3)と同じ種別情報が付加されているため、このピクセル(t1、4)は、下側の隣接ピクセル(t0、4)が属するグループP0か、あるいは、左側の隣接ピクセル(t1、3)が属するグループP1の何れかにグループ分けされる。
【0038】
ここで、右側および下側の両方の隣接ピクセルと連続性があるものの、各隣接ピクセルが異なるグループPに属している場合には、右側よりも下側の隣接ピクセルとの連続性を重視し、ピクセル(t1、4)は、グループP0にグループ分けされることとなる。以下同様な処理をピクセルマップ300bに対して施すことにより、図5に示すように、グループP0〜P7が形成される。
【0039】
これらグループP0〜P7の全てが各々別体のカレットを示す訳ではなく、グループP0〜P7を更にグループ化する。具体的には、同一グループP内で、順番の若いグループPに属する隣接ピクセルを有するピクセルがある場合には、そのグループPを、順番の若いグループPと統合する。例えば、図5において、グループP1に属するピクセル(t1、3)は、グループP0に属する隣接ピクセル(t1、4)を有するため、グループP1はグループP0に統合される。以下同様な処理により、各グループP1〜P7が、グループP1、P2、P4〜P7からなるブロックAと、グループP3からなるブロックBとに分離され、ブロックAとブロックBとが別体のカレットであると判別される。そして、ブロックA、Bの各々のカレットの輪郭は、先に求めた縁情報により求められ、これにより、カレットの外形、大きさ、種別が求められる(ステップSa5)。
【0040】
次いで、本実施形態にかかる判定回路90の構成について説明する。図6は、判定回路90の構成を示すブロック図である。判別回路90は、データバス900と、このデータバス900に接続されるインターフェース901、補正回路902、および、MPU(Micro Processing Unit)903を備えている。インターフェース901は、CCDカメラ60との接続インターフェースであり、このインターフェース901から受光信号(アナログ信号)がデータバス900に入力される。
【0041】
補正回路902は、上記原理で述べた処理ステップSa1(図2参照)における処理を行うものであり、データバス900を介してCCDカメラ60から入力された受光信号に対して、CCDカメラ60の特性に起因する明るさのばらつき補正処理を行い、データバス900に出力する。
【0042】
MPU903は、図示せぬROMなどに記憶された制御プログラムに従って判定回路90の各部の動作制御や各種演算を実行するものであり、例えば、MPU903は、データバス900を介してCCDカメラ60から入力された受光信号に対して、上記原理で述べた処理ステップSa2における処理を施し、ライン信号キャッシュメモリ904に出力する。
【0043】
より具体的には、MPU903は、補正回路902から出力されたRGBアナログ信号を所定ビット数(例えば8ビット)で量子化してデジタル変換すると共に、RGBデジタル信号に基づいてカレットの種別を判別し、1ライン分のピクセルデータ列の各ピクセルに対して所定ビット数(例えば8ビット)の種別情報と縁情報の初期値とを論理情報として付加する。
【0044】
種別情報は、上述した通りカレットの種別を識別するものであり、4ビットの16進数コードで示され、例えば、▲1▼耐熱ガラス=16進数コード「4h」、▲2▼不透明異物(例えばセラミック)=16進数コード「5h」、▲3▼明色ガラス=16進数コード「1h」、▲4▼暗色ガラス=16進数コード「2h」、▲5▼物質無し(背景:初期値)=16進数コード「0h」に分類される。
【0045】
縁情報は、そのピクセルがカレットの縁に相当するかを示す情報であり、カレットの上縁、下縁、左縁または下縁のいずれかに該当するかに応じて4ビットの16進数コードにより示される。具体的には、縁情報は、▲1▼上縁=16進数コード「8h」、▲2▼下縁=16進数コード「4h」、▲3▼左縁=16進数コード「1h」、▲4▼右縁=16進数コード「2h」、▲5▼縁に該当せず(初期値)=16進数コード「0h」に分類される。
【0046】
上記のようにMPU902は、各ピクセルに論理情報を付加する場合に、8ビットのRGB信号を、上記種別情報(4ビット)および縁情報(4ビット)からなる合計8ビットの論理情報に置き換えている。なお、このとき縁情報には初期値「0h」が用いられる。
【0047】
ここで、当該判定回路90の各部は、図示せぬクロック信号に基づいて動作する。従って、判定回路90にCCDカメラ60から受光信号が取り込まれ1ライン分のピクセルデータ列がデジタル変換されるサンプリングレートは、このクロック信号の基本周波数あるいは逓倍周波数となる。また、本実施形態では、CCDカメラ60は、1000画素のラインセンサカメラであり、1ライン分の受光信号は、デジタル変換により1000ピクセルのピクセルデータ列として出力されている。
【0048】
さて、ライン信号キャッシュメモリ904は、データバス900を介してMPU903から1ライン分のピクセルデータ列を受け取り記憶するものである。このライン信号キャッシュメモリ904は、記憶しているピクセルデータ列をMPU903からのロード指令に従ってMPU903にロードし、新たに次のピクセルデータ列を記憶する。
【0049】
MPU903にロードされたピクセルデータ列は、当該MPU903にて、論理情報が付加された後に、データバス900を介してライン信号キャッシュメモリ905に格納される。すなわち、ライン信号キャッシュメモリ904には、CCDカメラ60から時刻t秒に出力された受光信号に基づくピクセルデータ列Dtが格納される一方で、ライン信号キャッシュメモリ905には、これより前の時刻t−1秒に出力された受光信号に基づくピクセルデータ列Dt−1が記憶される。判別回路90は、これら2ライン分のピクセルデータ列Dt、Dt−1に基づいて上記原理で述べたカレットの種別、外形(輪郭)および大きさを判別する。
【0050】
ここで、本実施形態の判定回路90が、図3に例示したように、多数ライン(ライン数:3以上)からなるピクセルマップ300aを構成する事無く、2ライン分のピクセルデータ列に基づいてカレットの種別、外形および大きさの判別処理ができるのは、次の理由による。すなわち、上記原理で述べたように、本実施形態では、ピクセルマップ300aのようにm×n個のピクセルにおいて、ピクセル間における論理情報(RGB値や種別情報)の連続性、すなわち、論路情報の微分閾値により縁の識別を行っており、縁の識別には、微分の次数に相当するライン数が必要となる。
【0051】
本実施形態では、ピクセルに縁情報を付加する際の処理(ステップSa3:図2参照)、および、論理情報に基づいて各ピクセルをグループに分ける処理(ステップSa4:図2参照)は、当該ピクセルと、当該ピクセルの上下左右に位置する隣接ピクセルとの種別情報の比較により行われるため、少なくとも2ライン分のピクセルデータ列があれば縁情報の付加や各ピクセルのグループ分けが行えるのである。このように、2ライン分のピクセルデータ列だけを扱えば良いため、実時間ストリーム処理あるいはパイプライン処理が容易となる。
【0052】
さて、上記のように、MPU903は、ライン信号キャッシュメモリ904に論理情報(種別情報と縁情報(初期値))が付加されたピクセルデータ列Dtを格納すると、このピクセルデータ列Dtと共に、ライン信号キャッシュメモリ905に格納されているピクセルデータ列Dt−1をロードして、上記原理で述べた縁情報の付加、グループ分け、および、カレットの輪郭の抽出などの処理、(図3におけるステップSa3〜Sa5)を行った後、ピクセルデータ列Dt−1をレジスタユニット906にデータバス900を介して出力する。
【0053】
tカウンタ907はライン信号キャッシュメモリ905からピクセルデータ列が演算ユニット906に出力されるごとにカウントアップするカウンタ回路であり、Pカウンタ908はMPU903が隣接ピクセル間の連続性に基づいてピクセルのグループPを生成するごとにカウントアップするカウンタ回路である。
【0054】
レジスタユニット906は、MPU903の各種演算結果を格納するものであり、256個のBPスタックレジスタBB0〜BP255(以下、区別する必要が無い場合には、「BPスタックレジスタBP」と表記する)を備えている。BPスタックレジスタBPは、カレット固体ごとに、その輪郭や大きさといった情報を記憶するものであり、Pレジスタ700、セル演算レジスタ701、座標レジスタ702を備えている。
【0055】
Pレジスタ700は、カレット固体を構成する1ないし複数のグループP(図5参照)を格納するものであり、また、セル演算レジスタ701は、MPU903がカレットの輪郭および大きさを演算する際の途中演算結果を格納するものである。具体的には、図7に示すように、セル演算レジスタ701は、4ビットで示される「0h」〜「Fh」の縁情報の値の出現度数を格納するために、16個のレジスタ(第0レジスタ7010〜第7レジスタ701F)を備えている。
【0056】
座標レジスタ702は、MPU902によって演算されたカレットの輪郭を示す座標データ(t、X)を格納するものであり、図8に示すように、カレットにおけるT軸方向の最下端および最上端を示す座標情報を格納するT軸レジスタ7020と、上下端におけるX軸方向の左端および右端を示す座標情報を格納するX軸レジスタ7021とを備えている。ここで、本実施形態では、各ピクセルに8ビットの論理情報を付加しているため、理論的には256(=2の8乗)通りのカレットの分別が可能である。そこで、これら全てのカレットに対処可能とすべく、図6に示すように、レジスタユニット906には、256個のBPスタックレジスタBPが設けられている。また、BPスタックレジスタBPとして実際に使用される最大数(すなわち、予め用意すべき数)は、処理中に、カレット固体とみなされる数によって決まる。例えば、CCDカメラ60の1ラインのピクセル数を1000ピクセル、ピクセルピッチを1mmとすると、5mm四方以上のカレットを識別すると仮定すれば、その数は200を超えることはない。
【0057】
次いで、本実施形態の判定回路90の動作について説明する。図8は、判定回路90のMPU903の処理手順を示すフローチャートである。この図に示すように、MPU903は、先ず、CCDカメラ60からの受光信号をデジタル変換して1ライン分のピクセルデータ列Dtを生成し(ステップSb1)、次いで、各ピクセルに論理情報(種別情報と縁情報(初期値))を付加する(ステップSb2)。そして、MPU903は、ライン信号キャッシュメモリ904に既に格納されていたピクセルデータ列をピクセルデータ列Dt−1としてライン信号キャッシュメモリ905に転送すると共に、ステップSb2にて処理したピクセルデータ列をピクセルデータ列Dtとしてライン信号キャッシュメモリ904に格納する(ステップSb3)。
【0058】
次ぎに、MPU903は、ピクセルデータ列Dt、Dt−1の各々をライン信号キャッシュメモリ904、905からロードし(ステップSb4)、カレットの輪郭(外形)および大きさを特定するためのカレット抽出処理を行う(ステップSb5)。
【0059】
このカレット抽出処理にあっては、ピクセルデータ列Dtの各ピクセルに対して、X軸方向(図3参照)における種別情報の連続性に基づいて縁情報の付加が行われると共に、ピクセルデータ列Dtのピクセルの種別情報が「物質無し」の場合であり、なおかつ、ピクセルデータ列Dt−1の対応するピクセル(図3において同じ列に属するピクセル:すなわち、下側の隣接ピクセル)の種別情報がカレットの種別を示している場合には、この対応するピクセルの縁情報が更新される。さらに、カレット抽出処理にあっては、縁情報の付加と共にグループ分けも行われ、このグループ分けの結果に基づいてカレットの輪郭および大きさが判別されることになる。以下、かかるカレット抽出処理について、図9を参照して詳述する。なお、以下の説明においては、ピクセルデータ列Dtの各ピクセルを図3に示すX軸を用いてピクセル(t、X)と表記する。また、ピクセルデータ列Dt−1についても同様な表記を用いる。
【0060】
図9は、カレット抽出処理の処理手順を示すフローチャートである。同図に示すように、MPU903は、ピクセルデータ列Dtから処理すべきピクセル(説明の便宜上、ピクセル(t、X)とする)を取り出し(ステップSc1)、このピクセル(t、X)に付加されている種別情報の値が「0h」以外か、すなわち、このピクセルにカレットが含まれているかを判別する(ステップSc2)。
【0061】
この判別結果がYESであれば、ピクセル(t、X)がカレットの縁である可能性があるため、先ず、左側および下側の隣接ピクセル(t、X−1)、(t−1、X)との種別情報の連続性に基づいて左側および/または下側の縁であるかの判別が行われる。具体的には、MPU903は、左側の隣接ピクセル(t、X−1)の種別情報の値が「0h」(=物質無し)であるかを判別し(ステップSc3)、この判別結果がYESであれば、ピクセル(t、X)の左側には物質が無いから、このピクセル(t、X)が左側の縁であることを示すべく、縁情報(初期値「0h」)に「1h」を加算して(ステップSc4)、ステップSc5の処理を実行する。
【0062】
このステップSc5の処理は、ステップSc3における判別結果がNOである場合にも実行されるものである。このステップSc5にあっては、MPU903は、下側の隣接ピクセル(t−1、X)の種別情報の値が「0h」であるかを判別し(ステップSc5)、この判別結果がYESであれば、ピクセル(t、X)が下側の縁であることを示すべく、このピクセル(t、X)の縁情報に「4h」を加算する(ステップSc6)。そしてMPU903は、処理手順を後述するステップSc11に処理手順を進める。
【0063】
一方、ステップSc2の判別結果がYESである場合には、下側の隣接ピクセル(t−1、X)がカレットの上縁に相当する可能性があるため、これを判別すべく次の処理を行う。すなわち、具体的には、MPU903は、下側の隣接ピクセル(t−1、X)の種別情報の値が「0h」(=物質無し)であるかを判別し(ステップSc7)、この判別結果がNOであれば、すなわち、下側の隣接ピクセル(t−1、X)にカレットが存在していれば、この隣接ピクセル(t−1、X)が上側の縁であることを示すべく、隣接ピクセル(t−1、X)の縁情報に「8h」を加算して(ステップSc8)、処理手順をステップSc9に進める。
【0064】
ステップSc9の処理は、右側の縁に相当するかを判別するためのものであり、ステップSb7の判別結果がYESである場合にも実行される。このステップSc9にあっては、MPU903は、左側の隣接ピクセル(t、X−1)の種別情報の値が「0h」であるかを判別し(ステップSc9)、この判別結果がNOである場合には、この隣接ピクセル(t、X−1)にカレットが存在しているため、隣接ピクセル(t、X−1)が右側の縁であることを示すべく、この隣接ピクセル(t、X−1)の縁情報に「2h」を加算する(ステップSc10)。
【0065】
そして、MPU903は、ピクセルデータ列Dtに次に処理すべきピクセルがあるか、すなわち、ラインエンドに達したかを判別し(ステップSc11)、この判別結果がNOである場合には、次のピクセルを処理すべく、ピクセルを指定するための変数Xを「1」だけインクリメントして(ステップSc12)、処理手順をステップSc1に戻す。
【0066】
以上説明したステップSc1〜Sc12の一連の処理により、ピクセルデータ列Dtの各ピクセルには、隣接ピクセルとの関連性に基づいて左縁・右縁・下縁の縁情報が付加され、また、ピクセルデータ列Dt−1の各ピクセルには、上縁の縁情報が付加される。ピクセルデータ列Dt−1は、前回のカレット抽出処理時にはピクセルデータ列Dtとして処理されていたものであるから、今回のカレット抽出処理により、ピクセルデータ列Dt−1の各ピクセルには、上下左右縁の縁情報が付加されたこととなる。
【0067】
さて、MPU903は、ピクセルデータ列Dtのラインエンドまで縁情報を付加した場合には(ステップSc11:YES)、このピクセルデータ列Dtの各ピクセルに対して隣接ピクセルとの連続性に基づいてグループ分け処理を行う。図10、図11は、かかるグループ分け処理の処理手順を示すフローチャートであり、図12および図13は、図3および図4に示すピクセルマップ300a、300bど同様なピクセルデータ列が処理される場合に、当該グループ分け処理におけるレジスタユニット906の格納データ内容の変化を模式的に示す図である。
【0068】
図10に示すように、MPU903は、先ず、ピクセルデータ列Dtからピクセル(t、X)を取り出し(ステップSd1)、このピクセル(t、X)の種別情報の値が「0h」であるかを判別する(ステップSd2)。
【0069】
この判別結果がNOであれば、MPU903は、このピクセルの属するグループPiを特定すべく、次の処理を実行する。すなわち、MPU903は、ピクセル(t、X)の下側の隣接ピクセル(t−1、X)がいずれかのグループPi−n(n≦i)に属しているかを判別し(ステップSd3)、この判別結果がYESであれば、ピクセル(t、X)が、これと同じグループPi−nに属するものとする(ステップSd4)。
【0070】
一方、ステップSd3における判別結果がNOであれば、MPU903は、ピクセル(t、X)の左側の隣接ピクセル(t、X−1)がいずれかのグループPi−nに属しているかを判別し(ステップSd5)、この判別結果がYESであれば、ピクセル(t、X)が、これと同じグループPi−nに属するものとする(ステップSd6)。
【0071】
そして、MPU903は、ステップSd5の判別結果がNOの場合、すなわち、ピクセル(t、X)の下側および左側のいずれの隣接ピクセルもグループに属していない場合(これらの隣接ピクセルの種別情報が「物質無し」の場合)には、このピクセル(t、X)は、新たなカレットを示している可能性が高いため、このピクセル(t、X)が属するべき新規のグループPiを生成する(ステップSd7)。そしてMPU903は、この生成したグループPiを新規のカレットであることを示すべく、未使用のBPスタックレジスタBPn(n:0〜255)のPレジスタ700に格納すると共に、Pカウンタ907をカウントアップ(Pの添字「i」を1だけインクリメント)させ(ステップSd8)、処理手順をステップSd9に進める。
【0072】
上記ステップSd9の処理は、ステップSd2の判別結果がYESである場合にも行われ、このステップSd9にあっては、MPU903は、ピクセルデータ列Dtに次に処理すべきピクセルがあるか、すなわち、ラインエンドに達したかを判別し(ステップSd9)、この判別結果がNOである場合には、次のピクセルを処理すべく、ピクセルを指定するための変数Xを「1」だけインクリメントして(ステップSd10)、処理手順をステップSd1に戻す。これらステップSd1〜Sd10の一連の処理により、ピクセルデータ列Dtの各ピクセルが隣接ピクセルとの連続性に基づいてグループに分類されることとなる。
【0073】
例えば、図4に示すピクセルマップ300bのt0列のピクセルデータ列が処理対象である場合には、ピクセル(t0、4)の下側および左側の隣接ピクセルが「物質無し」であるから、上記ステップSd6により、このピクセル(t0、4)は新規のグループP0に属すると判断される。これにより、図12に示すように、Pカウンタ907が「P0」をカウントすると共に、1番目のBPスタックレジスタ70であるBPスタックレジスタBP0のPレジスタ700に、「P0」(を示すデータ)が格納される。また、ピクセル(t0、5)の下側の隣接ピクセルは「物質無し」であるものの、左側の隣接ピクセルがグループP0に属するため、上記ステップSd5により、当該ピクセル(t0、5)もグループに属するとされる。
【0074】
また、同じく図4において、t1列のピクセルデータ列が処理対象である場合には、ピクセル(t1、3)の下側および左側の隣接ピクセルが「物質無し」であるから、上記ステップSd6により、このピクセル(t0、3)は新規のグループP1に属すると判断される。これにより、図12に示すように、Pカウンタ907が「P1」をカウントすると共に、2番目のBPスタックレジスタ70であるBPスタックレジスタBP1のPレジスタ700に、「P1」(を示すデータ)が格納される。また、ピクセル(t1、4)、(t1、5)の各々の下側の隣接ピクセルはグループP0に属するため、上記ステップSd4の処理により、これらのピクセルもグループP0に属すると判断され、そして、ピクセル(t1、6)は、左側の隣接ピクセルがグループP0に属するため、上記ステップSd5により、このピクセルもグループP0に属すると判断される。これにより、図11に示すように、Pレジスタ700に「P1」に加えて「P0」が追加されることとなる。
【0075】
次いで図11に示すように、上記ステップSd9の判別結果がYESである場合、すなわち、ピクセルデータ列Dtの全てのピクセルに対してグループ分けが完了した場合には、MPU903は、ピクセルデータ列Dtにおいて新規のグループPiが生成されたかを判別する(ステップSd11)。この判別結果がNOである場合、ピクセルデータ列Dtには新規なカレットが存在しないため、処理手順をステップSd16に進める。一方、この判別結果がYESである場合、すなわち、このピクセルデータ列Dtに新たなカレットが存在する可能性が高い場合には、MPU903は、その新規グループPiの隣接ピクセルとの連続性に基づいて実際に新たなカレットが存在するか否かを判別する。
【0076】
具体的には、MPU903は、新規グループPiの左側および下側の隣接ピクセルに、当該新規グループPiよりも先に生成されているグループPi−nに属する隣接ピクセルが存在するか否かを判別する(ステップSd12)。この判別結果がYESであれば、論理情報の連続性からみて新規グループPiは、グループPi−nに属すると考えられるため、MPU903は、グループPiの情報が格納されているBPスタックレジスタBPnの内容を、先のグループPi−1の情報が格納されているBPスタックレジスタBPm(m<n)に転送するといったグループ統合処理を行い(ステップSd13)、処理手順をステップ16に進める。
【0077】
一方、ステップS12の判別結果がNOであれば、この新規グループPiは、新たなカレットを示す可能性が非常に高いと考えられるため、MPU903は、このカレットの外形や大きさを特定すべく次の処理を実行する。すなわち、MPU903は、このカレットのX座標およびT座標を記録する。ここで、新規グループPiの下側に隣接するピクセルのいずれもグループPi−nに属していないと言う事は、この新規グループPiは、新たなカレットの始まりと考えられる。そこで、MPU903は、このカレットの下端座標としてT座標をT軸レジスタ7020に格納すると共に、下端における左端、右端座標として、X軸上の左端および右端の座標情報を座標レジスタ702のX軸レジスタ7021に格納する(ステップSd14)。
【0078】
次に、MPU903は、今回のピクセルデータ列Dtのグループ分けにより、カレットの上端が判明したものがあるかを判別するための処理を実行する。具体的には、MPU903は、ピクセルデータ列Dtにおける「物質無し」を示すピクセルにより、前回の処理まで出現していたカレットの上端が明確になったものを特定し(ステップSd15:YES)、このカレットに対応するBPスタックレジスタBPのT軸レジスタ7020に、1つ前のピクセルデータ列Dt−1のT座標をカレットの上端座標として格納すると共に、上端における左端、右端を示すX座標をX軸レジスタ7021に格納して(ステップSd16)、処理を終了する。
【0079】
上記ステップSd11〜Sd16の処理により、各カレットの左右端を示すX座標および上下端を示すT座標が特定され、さらに、図9に示す縁情報の付加処理により、これらカレットの輪郭が特定されることとなる。
【0080】
例えば、図4に示すピクセルマップ300bのt0列のピクセルデータ列が処理対象である場合、上記ステップSd1〜Sd10の処理により、ピクセル(t0、4)(t0、5)が属するグループとしてグループP0が新規に生成される。このグループP0は、左側および下側の隣接ピクセルがいずれも「物質無し」であり、グループに属していないため、ステップSd12およびSd14の処理により、グループP0の左端、右端を示すX座標と、下端を示すT座標とが座標レジスタ702に記憶される(図13参照)。
【0081】
また、図4におけるt3列のピクセルデータ列が処理対象となった場合、このピクセルデータ列にはグループP3、P2、P0の3つのグループが含まれる。これらのグループのうち、グループP2の下側にはグループP2が隣接し、またグループP0の下側にはグループP0が隣接するため、上記ステップSd12、Sd13の処理により、グループP2、P0はグループP0(1番目のBPスタックレジスタBP0に格納)に属することとなる。一方、グループP3は、いずれのグループとも隣接しないため、図12に示すように、4番目のBPスタックレジスタBP3には、グループ情報「P3」のみが格納され、グループ情報「P0、P2」は、1番目のBPスタックレジスタBP0に格納される。また図13に示すように、グループP0の左端、右端を示すX座標と、下端を示すT座標とが3番目のBPスタックレジスタBP2の座標レジスタ702に記憶される。
【0082】
そして、図4におけるt3列のピクセルデータ列が処理対象となった場合には、t4列のグループP3の上側が全て「物質無し」となるから、ステップSd15およびSd16の処理により、図13に示すように、グループP3の上端における左端、右端を示すX座標と、当該上端を示すT座標とが3番目のBPスタックレジスタBP2の座標レジスタ702に記憶され、図4に示すブロックBのカレットの輪郭および大きさが特定される。また、同様にして、図4におけるt8列のピクセルデータ列が処理対象となった場合には、ブロックAのカレットが特定されることとなる。
【0083】
ここで、図6あるいは図7に示すように、BPスタックレジスタBPは、各ピクセルの縁情報の出現頻度をカウントすべく、第1レジスタ7010〜第16レジスタ701Fを備えたセル演算レジスタ701有しており、図13に示すように、ピクセルデータ列の各ピクセルに付された縁情報の値の累積値がカウントされる構成となっており、これにより、このピクセルデータ列内のカレットの存在範囲が特定される。なお、このカウントは、上記グループ分け処理(詳細にはステップSd1〜ステップSd10)において同時に行われる。
【0084】
さて、上記カレット抽出処理により、カレットの輪郭および大きさが特定された場合には(図8におけるステップSb6:YES)、MPU903は、カレットを構成するピクセルに付加された論理情報に基づいて、カレットを排除するか否かの排除判別処理を行う(ステップSb7)。具体的には、MPU903は、ピクセルに付加されている論理情報を参照し、当該カレットの材質が耐熱ガラス、あるいは、不透明異物(例えばセラミック)であると判別した場合に(ステップSb7:YES)、当該カレットの排除指令を図1に示す排除装置100に出力する(ステップSb8)。そして、排除装置100が、この排除指令に従って駆動装置120を駆動制御することで、排除ノズル140からエアが噴射され、排除すべき種類のカレットが排除されることとなる。そして、MPU903は、引き続きカレットの抽出を行うべく、処理手順をステップSb1に戻す。
【0085】
ここで、判別回路90が排除装置100に排除指令を出力する際のカレットの位置指定は次のように行われる。すなわち、上記ステップSb8から排除指令が送信される時間タイミングは、排除すべきカレットに対応するピクセルデータ列のT軸座標に基づいて行われる。一方、CCDカメラ60は、1ラインが1000画素のラインセンサであるから、MPU903で処理されるピクセルデータ列は、1000個のピクセルより構成される。このピクセルデータ列は、図14に示すように、所定ピクセル数(図示例では50ピクセル)ごとに、排除アドレスが割り当てられている。この排除アドレスは、判別回路90と排除装置100とのパラレル信号通信における信号のアドレスに相当する。従って、上記カレット抽出処理により特定された排除すべきカレットのX軸上の位置に対応する排除アドレスをアクティブにして、排除装置100に排除指令を送信することで、排除位置のX軸上の指定が行われる。
【0086】
以上説明したように、本実施形態によれば、画像情報であるピクセルデータにおいて、上下左右に隣接する隣接ピクセルとの論理情報(種別情報)の連続性に基づいてピクセルをグループ化しており、これにより、コンベア20によって搬送されるカレットの種類、大きさ、輪郭を高精度に判別することが可能となる。
【0087】
さらに、カレット抽出処理には、2ラインのピクセルデータ列のみを用いれば良い構成としたため、ストリーム処理やパイプライン処理が可能となり、処理が高速化される。
<変形例>
上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形可能である。そこで、以下に各種の変形例について説明する。
【0088】
(変形例1)
一般的にカレットの形状は不整形状であることが多く、また汚れていることが多い。カレットに不整形状や汚れが存在した場合、外乱光が発生するため、それらが存在する領域では、種別判定結果が不確かになり、実際には、1つの材質からなるカレットであっても、上記種別情報の付加時に複数の材質からなると判別される可能がある。このように、実際には1つのカレットであるにもかかわらず、異なる種別情報がピクセルに付加されると、カレットの輪郭や大きさの判定時に誤認識が発生する。そこで、上記実施形態では、ピクセルに縁情報を付加する際に、隣接ピクセルと種別情報が異なる場合に必ず縁情報を付加する構成としているが(図9参照)、隣接ピクセルと種別情報が異なる場合であっても、その隣接物質が「物質無し」を示している場合を除いて、当該ピクセルは、隣接ピクセルと同一カレットであると見做し縁情報を付加しない構成としても良い。
【0089】
この構成にあっては、グループ分け処理(図10参照)により、複数の種別情報を含むピクセルが1つのグループに分けら、1個のカレットを抽出することとなる。そこで、そのカレットに含まれる排除すべき材質の割合に応じてカレットを排除するか否かを判別する。
【0090】
具体的には、MPU903は、グループにまとめられた各ピクセルを、種別情報ごとにカウントし、排除すべき材質を示す種別情報がどの程度含まれているかを判別する。例えば、耐熱ガラス、不透明異物、明色ガラスおよび暗色ガラスのカウント値を夫々、Count(1)、Count(2)、Count(3)およびCount(4)とすると、全体のカウント値(全ピクセル数)=ΣCount(j)(j=1〜4)となる。このとき、排除条件は、次の(式1)〜(式4)の各々である。
【0091】
Count(1)>A1×ΣCount(j) (式1)
Count(2)>A2×ΣCount(j) (式2)
(Count(2)+Count(4))>A3×ΣCount(j)、かつ、
(Count(2)/Count(4))>B1 (式3)
(Count(3)+Count(4))<A4×ΣCount(j)、かつ、
(Count(1)/Count(3))>B2 (式4)
(但し、Ai(i=1、2、3、4)、Bi(i=1、2)は、Ai<1、Bi>1を満たす常数)
上記式によれば、(式1)(式2)により、カレットにおいて耐熱ガラスあるいは不透明異物が比較的大きな割合を占めるものが排除される。また、(式3)により、不透明異物と暗色ガラスとが比較的大きな割合を占め、なおかつ、不透明異物が暗色ガラスよりも多く含まれているカレットが排除される。さらにまた、(式4)により、明色ガラスと暗色ガラスの占める割合が比較的小さく、なおかつ、耐熱ガラスが明色ガラスよりも多く含まれているカレットが排除されることとなる。
【0092】
(変形例2)
上記実施形態においては、CCDカメラ60からの受光信号に対して、アナログ補正処理(シェーディング補正処理)を施した後に、アナログ信号をデジタル変換して各ピクセルに種別情報を付加する構成とした。しかしながら、種別情報変換アルゴリズムにシェーディング補正における補正値が予め組み込まれていれば、シェーディング補正をせずに、受光信号を直接デジタル変換しても良い。
【0093】
具体的には、シェーディング補正時の補正値は、ピクセル(位置)の関数として示される。そこで、MPU903は、デジタル変換したRGB信号に基づいて種別(材質)を判別する際に、ピクセル位置に応じてRGBデジタル信号の値を上記補正値だけ補正し、その補正後の値に基づいて種別を判別する構成とする。この構成によれば、シェーディング補正といったアナログ信号を補正するための処理および回路が不必要となり、処理が高速化される他、回路構成も簡易なものとなる。
【0094】
(変形例3)
上記実施形態では、RGB信号からカレットの材質を判別する構成としたがこれに限らない。例えば、カレットの種別がRGBよりも色度、色相あるいは彩度に顕著に反映される場合があり、この場合は、RGBアナログ信号を色度、色相あるいは彩度を示すデジタル信号に変換し、このデジタル信号に基づいて材質を判別し、種別情報を付加する構成とすることが可能である。
【0095】
(変形例4)
上記実施形態では、カレットを判別する場合について例示したが、RGB、色度、色相あるいは彩度といった光学情報から材質が特定されるものであれば、任意の物質を判別しても良い。また、光学情報の取得には、物質の透過光に限らず、物質の反射光を利用しても良い。
【0096】
(変形例5)
上記実施形態では、RGBアナログ信号をカレットの材質を示す種別情報に変換し、当該種別情報を論理情報としてピクセルに付加する構成について例示したが、これに限らない。すなわち、一般に、隣接ピクセル間でRGB信号の階調が急激に変化する場合には、そのピクセルに対応する物質上の箇所で形状が変化している可能性が高く、また、隣接ピクセル間で色調が変化する場合には、そのピクセルに対応する物質上の箇所の形状変化、汚れ或いは外乱の影響である可能性が高い。そこで、これら階調情報および/または色調情報を上記論理情報として種別情報と共に各ピクセルに付加し、各ピクセルのグループ分けの際に、当該階調情報および/または色調情報を加味する構成としても良い。
【0097】
より具体的には、上記階調情報は、RGB信号の絶対強度として求められ、上記色調情報は、RGB信号におけるR信号、G信号およびB信号間の相対強度により求められる。例えば、図15に示すように、互いに隣接する4つのピクセルXij(i、j=1または2)において、各々のピクセルXijのRGB値を(Rij、Gij、Bij)とすると、
(階調)=Rij+Gij+Bij
(色調)={Rij、Gij、Bij}間の大小関係
により算出される。そこで、MPU903は、ピクセルデータ列Dtの各ピクセルに論理情報を付加する際(図8:Sb2参照)に、上記関係式を用いて階調情報および/または色調情報を種別情報と合わせて付加する。
【0098】
ここで、MPU903は、形状変化による階調変化(強度変化)を論理情報として付加する場合には、R信号、G信号、B信号の各々に同程度に発生すると見なせるため、例えばR信号のみで当該階調変化を代表し、aを定数として
|R22−R12|>a、または、|R22−R21|>aの場合
階調情報=「0」
|R22−R12|≦0、または、|R22−R21|≦0の場合
階調情報=「1」
として、MPU903は、各ピクセルに2ビットの階調情報を付加する。
【0099】
また、MPU903は、色調情報を付加する場合には、{Rij、Gij、Bij}間の大小関係に応じて
Rij>Gij>Bijの場合、色調情報=「0h」
Rij>Bij>Gijの場合、色調情報=「1h」
Gij>Rij>Bijの場合、色調情報=「2h」
Gij>Bij>Rijの場合、色調情報=「3h」
Bij>Rij>Gijの場合、色調情報=「4h」
Bij>Gij>Rijの場合、色調情報=「5h」
として各ピクセルに色調情報を付加する。なお、色調情報を付加する場合の上記場合分けに、Rij>Gij≒Bijの場合や、Rij≒Gij>Bijの場合といった近似条件を更に付加しても良い。
【0100】
このように、MPU903が階調情報および/または色調情報を種別情報と合わせて論理情報としてピクセルに付加し、この論理情報に基づいてグループ分けを行うことで、外乱を含むピクセルを除外することが可能となる。すなわち、上記実施形態にて物質の輪郭として特定されたピクセルにより囲まれるエリア内のピクセルの中から、更に、外乱と見なせるピクセルを除外することが可能となり、より正確に物質の形状を特定することができる。
【0101】
【発明の効果】
以上説明したように、本発明によれば、物体の選別に際し、高精度の選別を可能にした物体選別装置及び選別方法が提供される。
【図面の簡単な説明】
【図1】本発明の実施形態にかかるカレット分別装置1の構成を模式的に示す図である。
【図2】同カレットの材質および輪郭判別処理フローを示す図である。
【図3】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図4】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図5】同CCDカメラからの受光信号に基づいて生成されたピクセルマップの構成を模式的に示す図である。
【図6】同判定回路の構成を示すブロック図である。
【図7】同BPスタックレジスタの構成を示す図である。
【図8】同MPUの処理手順を示すフローチャートである。
【図9】同カレット抽出処理の処理手順を示すフローチャートである。
【図10】同グループ分け処理の処理手順を示すフローチャートである。
【図11】同グループ分け処理の処理手順を示すフローチャートである。
【図12】同カレット抽出処理におけるBPスタックレジスタに格納されるデータの遷移を説明するための図である。
【図13】同カレット抽出処理におけるBPスタックレジスタに格納されるデータの遷移を説明するための図である。
【図14】同カレットを排除する際の動作を説明するための図である。
【図15】本発明の変形例を説明するための図である。
【符号の説明】
1 カレット分別装置
10 ホッパ
20 コンベア
30 カレット
50 照明装置
60 CCDカメラ
70 BPスタックレジスタ
90 判定回路
100 排除装置
300a、300b ピクセルマップ
902 補正回路
904 ライン信号キャッシュメモリ
905 ライン信号キャッシュメモリ
906 レジスタユニット
Claims (8)
- 1ないし複数個の物体に光を照射する照射手段と、
少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出するセンサと、
前記センサにより検出された光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、少なくとも1つ以上の前記物体の形状を演算する演算手段と、
前記材質および形状に基づいて物体を選別する手段と
を具備することを特徴とする物体選別装置。 - 前記演算手段は、
前記センサにより検出された光学情報を、前記材質を示す材質情報にデジタル信号変換し、当該材質情報の連続性に基づきグループ化する
ことを特徴とする請求項1に記載の物体選別装置。 - 前記演算手段は、前記センサにより検出された光学情報を、前記材質情報に加え、階調度を示す階調情報あるいは色調を示す色調情報の少なくともいずれか1つを含むようにデジタル変換し、デジタル変換したこれらの情報の連続性に基づきグループ化する
ことを特徴とする請求項2に記載の物体選別装置。 - 前記物体は、搬送路上を搬送される物体である
ことを特徴とする請求項1に記載の物体選別装置。 - 前記演算手段は、2ライン分の光学情報を順次演算して、前記物体の形状を演算する
ことを特徴とする請求項1に記載の物体選別装置。 - 前記演算手段は、前記ピクセルデータ列を生成する際に、前記受光素子の感度のばらつきを補正する
ことを特徴とする請求項1に記載の物体選別装置。 - 1ないし複数個の物体に光を照射する第1の過程と、
少なくとも1ライン以上の受光素子配列を有し、前記物体を透過あるいは反射した光を検出する第2の過程と、
前記第2の過程において検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する第3の過程と、
前記材質および形状に基づいて物体を選別する第4の過程と
を具備することを特徴とする物体選別方法。 - コンピュータを、
少なくとも1ライン以上の受光素子配列を有するセンサに、前記物体を透過あるいは反射した光を検出させる手段、
前記センサで検出した光学情報を、デジタル信号変換し、前記ラインごとにピクセルデータ列を生成すると共に、当該ピクセルデータ列のピクセルデータごとに、当該ピクセルデータと、当該ピクセルデータに隣接するピクセルデータとを前記光学情報の連続性に基づきグループ化して、前記物体の形状を演算する手段、および、
前記材質および形状に基づいて物体を選別する手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003105675A JP2004305965A (ja) | 2003-04-09 | 2003-04-09 | 物体選別装置、物体選別方法および物体選別プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003105675A JP2004305965A (ja) | 2003-04-09 | 2003-04-09 | 物体選別装置、物体選別方法および物体選別プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004305965A true JP2004305965A (ja) | 2004-11-04 |
Family
ID=33468118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003105675A Pending JP2004305965A (ja) | 2003-04-09 | 2003-04-09 | 物体選別装置、物体選別方法および物体選別プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004305965A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8030589B2 (en) | 2005-08-08 | 2011-10-04 | Binder + Co Ag | Method for detecting and sorting glass |
CN102357472A (zh) * | 2011-08-01 | 2012-02-22 | 安徽捷迅光电技术有限公司 | 色选机出料槽 |
CN103148805A (zh) * | 2013-03-13 | 2013-06-12 | 洛阳兰迪玻璃机器股份有限公司 | 基于光电探测器阵列的玻璃外形检测装置 |
KR101298109B1 (ko) * | 2011-08-18 | 2013-08-26 | (주)이빛 | 가시광 대역 플라스틱 판별 장치 및 이를 이용한 플라스틱 분류 시스템 |
JP2015094711A (ja) * | 2013-11-13 | 2015-05-18 | 東洋ガラス機械株式会社 | 識別装置 |
US20220196544A1 (en) * | 2019-04-19 | 2022-06-23 | Saint-Gobain Isover | Method for detecting glass-ceramic materials |
-
2003
- 2003-04-09 JP JP2003105675A patent/JP2004305965A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8030589B2 (en) | 2005-08-08 | 2011-10-04 | Binder + Co Ag | Method for detecting and sorting glass |
CN102357472A (zh) * | 2011-08-01 | 2012-02-22 | 安徽捷迅光电技术有限公司 | 色选机出料槽 |
KR101298109B1 (ko) * | 2011-08-18 | 2013-08-26 | (주)이빛 | 가시광 대역 플라스틱 판별 장치 및 이를 이용한 플라스틱 분류 시스템 |
CN103148805A (zh) * | 2013-03-13 | 2013-06-12 | 洛阳兰迪玻璃机器股份有限公司 | 基于光电探测器阵列的玻璃外形检测装置 |
JP2015094711A (ja) * | 2013-11-13 | 2015-05-18 | 東洋ガラス機械株式会社 | 識別装置 |
US20220196544A1 (en) * | 2019-04-19 | 2022-06-23 | Saint-Gobain Isover | Method for detecting glass-ceramic materials |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6037125B2 (ja) | 光学式粒状物選別機 | |
JP5569799B2 (ja) | 色彩選別機 | |
KR101998910B1 (ko) | 광학식 입상물 선별기 | |
US5314071A (en) | Glass sorter | |
US5443164A (en) | Plastic container sorting system and method | |
US6784996B2 (en) | Color sorting apparatus for granular object with optical detection device consisting of CCD linear sensor | |
WO2012137433A1 (ja) | 光学式選別機 | |
CN102393396B (zh) | 一种棉种自动筛选方法及系统 | |
JP2004305965A (ja) | 物体選別装置、物体選別方法および物体選別プログラム | |
CN201357150Y (zh) | 白瓜子色选机 | |
CN101172274B (zh) | 一种枸杞子分级分选装置及其方法 | |
KR100934901B1 (ko) | 재활용 유리병의 색 선별 장치 및 방법 | |
JP5673109B2 (ja) | 光学式選別機及び光学式選別機による選別方法 | |
JPH05281152A (ja) | 物品検査装置 | |
JP2003024875A (ja) | 物体選別装置及び選別方法 | |
CN107671013A (zh) | 基于色选技术的大尺寸物料剔除工艺 | |
JP4528509B2 (ja) | 穀粒選別装置 | |
KR970014850A (ko) | 자동선과장치 | |
CN216460241U (zh) | 瓶体分拣吹气输送装置及瓶体分拣打包回收线 | |
CN100488645C (zh) | 用于自动分选蛋品规格的方法及其设备 | |
JPS62102874A (ja) | 選別装置 | |
CN115007498A (zh) | 一种色选机多次下料控制系统及控制方法 | |
Khakulov et al. | Improving the Hardware-Software Complex for the Scheelite-Containing Ores Research on the Effectiveness of Lump RGB Sorting | |
CN116060309A (zh) | 一种基于机器视觉的蓝莓分选系统 | |
JP4342332B2 (ja) | 対象物評価装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060206 |
|
A977 | Report on retrieval |
Effective date: 20080723 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20080729 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20081224 Free format text: JAPANESE INTERMEDIATE CODE: A02 |