以下、図面を参照しつつ実施の形態について詳細に説明する。図面においては、理解容易の目的で、必要に応じて各部の寸法や数を誇張または簡略化して描いている。なお、図面においては同様な構成及び機能を有する部分については同じ符号が付されており、下記説明では重複説明が省略される。また各図において、構成要素の方向関係を明確にするため、Z軸方向を鉛直方向とし、XY平面を水平面とするXYZ直交座標系を適宜付している。
第1の実施の形態.
図1は、錠剤印刷装置10の構成の一例を概略的に示す図である。錠剤印刷装置10は錠剤検査装置1と印刷ヘッド6とを備えている。
錠剤検査装置1は錠剤9の外観を検査する装置である。図2は、錠剤9の一例を概略的に示す斜視図である。図2の例では、錠剤9は略円盤形状を有しており、一対の主面9a,9bと側面9cとを備えている。例えばこの円盤形状として、いわゆる平錠またはR付き錠を採用できる。主面9a,9bは互いに対面しており、平面視において略同一の円形状を有する。この主面9a,9bの一方および他方はそれぞれ表面および裏面と呼ばれることがあり、また上面および下面と呼ばれることもある。
図2の例示では、錠剤9の主面9aの周縁および側面9cは角部を形成しながら互いに連結されており、主面9bの周縁および側面9cも角部を形成しながら互いに連結されている。錠剤9の直径は例えば5[mm]程度〜10数[mm]程度に設定され、その厚みは例えば5[mm]程度以下に設定され得る。
図2に例示するように、錠剤9の主面9aには割線91が形成されていてもよい。割線91は主面9aの中心を通って主面9aの端から端まで直線状に延びる溝である。また主面9bにも同様の割線が形成されていてもよい。
図1を参照して、錠剤検査装置1はホッパー2と搬送ドラム3と搬送部4と撮像ヘッド5と選別部7と制御部8とを備えている。
ホッパー2は、錠剤9を錠剤印刷装置10内に投入するための投入部である。このホッパー2は、錠剤印刷装置10の筐体(図示省略)の天井部上側に設けられている。ホッパー2から投入された錠剤9は搬送ドラム3に導かれる。なお、ホッパー2を除く他の要素は錠剤印刷装置10の筐体の内部に設けられている。
搬送ドラム3は略円柱状の形状を有しており、その中心軸がY軸方向に沿う姿勢で配置されている。搬送ドラム3は図示省略の回転駆動モータによって当該中心軸を回転中心として図1の紙面上で反時計回りに回転される。この回転駆動モータは例えば制御部8によって制御される。
搬送ドラム3の外周面には複数の吸着孔(不図示)が周方向に沿って並んで形成されている。複数の吸着孔のそれぞれは搬送ドラム3の内部に設けられた吸引機構(図示省略)と連通している。この吸引機構は例えば制御部8によって制御される。この吸引機構を作動させることによって複数の吸着孔のそれぞれに大気圧よりも低い負圧を作用させることができる。これにより、搬送ドラム3の各吸着孔は1個の錠剤9を吸着保持することができる。
搬送部4は搬送ドラム3の下方に配置されている。搬送ドラム3の外周面に吸着保持された錠剤9は搬送ドラム3の回転に伴って周方向に移動する。錠剤9が搬送ドラム3の下方側まで移動したときに吸引機構が錠剤9に対する吸着を解除することにより、錠剤9が落下して搬送部4へと受け渡される。
搬送部4は錠剤9を搬送する。図1の例では、搬送部4はベルトコンベアであって、搬送ベルト41と一対のプーリ42とを備えている。一対のプーリ42は例えばX軸方向において間隔を空けて配置されており、自身の中心軸がY軸方向に沿う姿勢で配置されている。一対のプーリ42はそれぞれ自身の中心軸を回転中心として回転する。
搬送ベルト41は一対のプーリ42に掛け渡されている。一対のプーリ42の少なくともいずれか一方が図示省略の駆動モータによって回転駆動されることにより、搬送ベルト41が図1の矢印にて示す向きに回走する。この駆動モータは例えば制御部8によって制御される。
搬送ベルト41の外周面にも、図示省略の複数の吸着孔がその周方向に沿って並んで形成されている。複数の吸着孔のそれぞれは搬送ベルト41の内部に設けられた吸引機構(図示省略)と連通している。この吸引機構は例えば制御部8によって制御される。この吸引機構を作動させることによって複数の吸着孔のそれぞれに大気圧よりも低い負圧を作用させることができる。これにより、搬送ベルト41の各吸着孔は1個の錠剤9を吸着保持することができる。
搬送ベルト41が錠剤9を吸着保持しながら回走することにより、錠剤9はX軸方向に沿って搬送ドラム3から遠ざかる方向に搬送される。
撮像ヘッド5は搬送部4による錠剤9の搬送経路の途中において搬送ドラム3の下流側で、搬送部4と対向する位置に配置されている。この撮像ヘッド5の撮像エリアは搬送ベルト41の一部を含んでいる。撮像ヘッド5は錠剤9がこの撮像エリア内を移動するときに錠剤9を撮像して、撮像画像を生成する。撮像ヘッド5はこの撮像画像を制御部8へ出力する。撮像ヘッド5の具体的な内部構成の一例については後に詳述する。
制御部8は、入力された撮像画像に対して画像処理を施すことにより、錠剤9の外観を検査する。制御部8は錠剤9の外観に欠陥が生じている場合にはその錠剤9を不良品と判断し、錠剤9の外観に欠陥が生じていない場合にはその錠剤9を良品と判断する。当該欠陥としては、錠剤9に付着した不純物または錠剤9の形状上の不備(例えば欠け)などの欠陥を例示できる。制御部8による具体的な画像処理の一例については後に詳述する。
印刷ヘッド6は錠剤9の搬送途中において撮像ヘッド5の下流側で、搬送ベルト41の上方に配置されている。印刷ヘッド6は例えば制御部8によって制御され、錠剤9に対して印刷処理を行う。印刷ヘッド6は複数の吐出ノズル(図示省略)を備えており、各吐出ノズルからインクジェット方式によってインクの液滴を吐出する。インクジェットの方式は、ピエゾ素子(圧電素子)に電圧を加えて変形させてインクの液滴を吐出するピエゾ方式であっても良いし、ヒータに通電してインクを加熱することによってインクの液滴を吐出するサーマル方式であっても良い。本実施形態においては、錠剤9に印刷処理を行うため、インクとしては食品衛生法で認められている原料によって製造された可食性インクを使用する。
図1の例では、印刷ヘッド6は撮像ヘッド5よりも搬送経路の下流側に位置しているので、制御部8は錠剤9の検査結果に応じて印刷処理の要否を決定してもよい。より具体的には、外観検査において錠剤9が良品と判断された場合には、制御部8はその錠剤9に対して印刷処理を行うように印刷ヘッド6を制御し、錠剤9が不良品と判断された場合には、その錠剤9に対して印刷処理を行わないように印刷ヘッド6を制御してもよい。これによれば、不要な印刷処理を回避することができる。
選別部7は外観検査の結果に応じて錠剤9を選別する。例えば選別部7は良品ボックスおよび不良品ボックスを有している。これらのボックスは上方に開口した箱状の形状を有している。良品ボックスは良品と判断された錠剤9を収容し、不良品ボックスは不良品と判断された錠剤9を収容する。例えばこれらのボックスは搬送ベルト41の下方側においてX軸方向に沿って並んで配置されている。制御部8は良品と判断した錠剤9が良品ボックスの開口部の直上に位置するときに、搬送ベルト41内の吸引機構を制御してその錠剤9に対する吸着を解除する。これにより、錠剤9は良品ボックスの内部へと落下して、これに収容される。不良品と判断された錠剤9についても同様にして、不良品ボックスの内部に収容される。
制御部8は上述したように各種の構成要素を制御し、また、撮像ヘッド5から入力される撮像画像に対して画像処理を行うことで錠剤9の外観検査を行う。
この制御部8は電子回路機器であって、例えばデータ処理装置および記憶媒体を有していてもよい。データ処理装置は例えばCPU(Central Processor Unit)などの演算処理装置であってもよい。記憶部は非一時的な記憶媒体(例えばROM(Read Only Memory)またはハードディスク)および一時的な記憶媒体(例えばRAM(Random Access Memory))を有していてもよい。非一時的な記憶媒体には、例えば制御部8が実行する処理を規定するプログラムが記憶されていてもよい。処理装置がこのプログラムを実行することにより、制御部8が、プログラムに規定された処理を実行することができる。もちろん、制御部8が実行する処理の一部または全部がハードウェアによって実行されてもよい。
<撮像ヘッド>
撮像ヘッド5は複数の撮像方向から搬送途中の錠剤9を撮像する。なお錠剤9はその主面9bが搬送ベルト41側を向く姿勢で搬送ベルト41に吸着保持されることもあれば、その主面9aが搬送ベルト41側を向く姿勢で搬送ベルト41に吸着保持されることもある。以下では、説明の便宜上、錠剤9はその主面9bが搬送ベルト41側を向く姿勢で搬送ベルト41に保持されるものとする。また錠剤9が搬送ベルト41に吸着保持された状態では、側面9cのうち少なくとも主面9a側の一部は、搬送ベルト41から露出している。
図3および図4は、撮像ヘッド5の内部構成の一例を概略的に示す図である。例えば撮像ヘッド5は検査カメラ51とレンズ群52とミラー53と角錐型ミラー54とを備えている。検査カメラ51は例えばCCD(Charge Coupled Device)イメージセンサまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどのイメージセンサである。この検査カメラ51は錠剤9の搬送経路の一部とZ軸方向で対向する位置において、その撮像面が搬送ベルト41側を向く姿勢で配置されている。
ミラー53は、錠剤9の主面9aおよび側面9cからの光を後述する角錐型ミラー54に導くために設けられている。このミラー53の位置を説明するに当たって、便宜的に、錠剤9が検査カメラ51とZ軸方向で向かい合う位置に停止していると仮定する。図3を参照して、ミラー53はZ軸方向において検査カメラ51と錠剤9との間に位置しており、平面視において(つまりZ軸方向に沿って見て)錠剤9よりも外側に配置されている。また、ミラー53は角錐型ミラー54の各面に対向するように配置されている。
角錐型ミラー54は、ミラー53で反射した錠剤9の主面9aおよび側面9cからの光を、レンズ群52を介して検査カメラ51の撮像面に導く。角錐型ミラー54は、4つのミラーによって構成されており、各ミラー53と対向するように角錐型ミラー54が配置されている。
錠剤9の主面9aおよび側面9cで反射または散乱された光の一部はミラー53の一つに向かって斜め上方へと進み、当該ミラー53で反射し、ミラー53で反射した光は角錐型ミラー54で反射した上で、レンズ群52を介して検査カメラ51の撮像面に結像する。換言すれば、錠剤9の主面9aおよび側面9cから斜め上方に進む光を検査カメラ51の撮像面に向けて反射できるように、ミラー53および角錐型ミラー54の反射面の地面に対する角度が調整されている。
これにより、検査カメラ51は当該ミラー53から見た錠剤9の外観を撮像することができる。つまり、検査カメラ51は実質的に錠剤9を斜め方向から撮像することができ、その撮像画像には、錠剤9の主面9aおよび側面9cの両方が含まれることになる。なお図3では、光の経路の一例が破線で示されている。
撮像ヘッド5は複数(図4では4つ)のミラー53を備えている。例えば2つのミラー53がX軸方向において間隔を空けて配置されており、残り2つのミラー53がY軸方向において間隔を空けて配置されている。これによれば、錠剤9は平面視において四方をミラー53によって囲まれることになる。さらに、各ミラー53の中央に間隔をあけて角錐型ミラー54が配置されている。各ミラー53で反射された光は角錐型ミラー54でさらに反射され、レンズ群52を介して検査カメラ51の撮像面に結像される。具体的には、4つのミラー53で反射された光は検査カメラ51の撮像面のうち互いに異なる領域に結像される。これにより、撮像ヘッド5は4方向から錠剤9を撮像し、4方向から見た錠剤9の外観が写る複数の画像を含んだ撮像画像を生成する。
図5は、撮像画像IM1の一例を概略的に示す図である。撮像画像IM1には、4つの撮像方向から見た錠剤9の外観をそれぞれ写す4つの画像IM11〜IM14が含まれており、これらのいずれにおいても、錠剤9の主面9aおよび側面9cが写っている。ここでは4方向から錠剤9を撮像するので、錠剤9の側面9cを全周に亘って撮像することができる。
図5の例示では、錠剤9の主面9aの全領域が4つの画像IM11〜IM14(検査画像に相当)のいずれにも写っている。よって、主面9aは画像IM11〜IM14に共通して写る共通面である。一方で、錠剤9の側面9cでは、撮像方向に応じた領域がそれぞれ画像IM11〜IM14に写る。また図5の例では、撮像画像IM1には欠陥候補d1,d2が写っている。ここでいう欠陥候補とは、錠剤9の欠陥である可能性のある候補である。
図5の例では、この欠陥候補d1は画像IM11〜IM14のいずれにも共通に写っているので、錠剤9に生じた欠陥であるといえる。一方で、欠陥候補d2は一つの画像IM12のみに写っており、他の画像IM11,IM13,IM14には写っていない。この欠陥候補d2は錠剤9に生じた欠陥ではなく、撮像ヘッド5に起因して生じたものといえる。例えば、欠陥候補d2はレンズ群52、ミラー53または角錐型ミラー54の異常(例えば付着物)、あるいは、検査カメラ51の撮像面の異常を示す、と考えられる。よって、欠陥候補d2を錠剤9の欠陥として検出することは好ましくない。
撮像ヘッド5は図示省略の照明用光源を有していてもよい。照明用光源は例えばリング状の形状を有しており、錠剤9へと光を照射する。これにより、撮像画像IM1における錠剤9の明るさを向上できる。
また図3および図4の例では、ミラー53および角錐型ミラー54によって光の経路を曲げているものの、必ずしもこれに限らない。光の経路を曲げる素子として、プリズムなどの他の光学素子を採用してもよい。
<検査>
制御部8は、撮像ヘッド5から入力される撮像画像IM1に対して画像処理を行い、撮像された錠剤9の外観検査を行う。よって、制御部8は画像処理部として機能することとなる。
図6は、錠剤検査装置1における動作の一例を示すフローチャートである。まずステップS1にて、撮像ヘッド5は複数の撮像方向から搬送途中の錠剤9を撮像して、撮像画像IM1を生成する。撮像ヘッド5はこの撮像画像IM1を制御部8へと出力する。
次にステップS2にて、制御部8は検査処理(画像処理)を撮像画像IM1に対して行う。つまり制御部8は画像IM11〜IM14に対して検査処理を行う。
この検査処理の具体的な例は後に述べるものの、ここではまず、その概要について簡単に説明する。例えば制御部8は検査処理として特定処理および候補検出処理を行う。特定処理は、各画像IM11〜IM14において錠剤9が占める錠剤領域を特定する処理である。これにより、錠剤領域の位置および形状が画像IM11〜IM14の各々において特定される。
候補検出処理は、各画像IM11〜IM14において欠陥候補を検出する処理である。候補検出処理は、例えば各画像IM11〜IM14の各画素の画素値に基づいてその画素が欠陥候補を示す画素であるか否かを判別する処理を含み、その判別結果として欠陥候補が検出される。
上記特定処理によって、各画像IM11〜IM14における錠剤9の錠剤領域が特定され、上記候補検出処理によって、各画像IM11〜IM14における欠陥候補の位置が特定されるので、錠剤領域に対する欠陥候補の位置が各画像IM11〜IM14において特定される。つまり、その錠剤9上における欠陥候補の位置が画像IM11〜IM14ごとに特定される。したがって、この検査処理は錠剤領域に対する欠陥候補の位置を検出する処理であるともいえる。
次にステップS3にて、制御部8は画像IM11〜IM14の検査処理の結果に基づいて欠陥真偽処理を行う。欠陥真偽処理は検査処理によって検出された欠陥候補が錠剤9の欠陥を示しているのか否かを判断する、つまり欠陥候補の真偽を判断する処理である。具体的には、制御部8は検査処理によって、画像IM11〜IM14のいずれにも写る錠剤9の領域(例えば主面9a)において、画像IM11〜IM14の画像で共通の欠陥候補(例えば欠陥候補d1)が検出されているときに、錠剤9には欠陥が生じていると判断する。一方で、制御部8は検査処理によって、画像IM11〜IM14の当該領域のうち一つのみで欠陥候補(例えば欠陥候補d2)が検出されているきには、その欠陥候補は錠剤9に生じた欠陥ではないと判断する。
この欠陥真偽処理の具体的な例も後に述べるものの、ここではまず、その概要について簡単に説明する。例えば制御部8は、画像IM11〜IM14における錠剤領域内の各画素の幾何学的な対応関係を求める。つまり、制御部8は錠剤9上の同じ点を写す画素の対応関係を求める。次に制御部8は当該対応関係に基づいて画像IM11〜IM14において欠陥候補が共通しているか否かを判断する。具体的には、当該対応関係に基づいて欠陥候補の位置を対比する。制御部8は当該位置が画像IM11〜IM14において互いに対応しているときには、錠剤9に欠陥が生じていると判断し、互いに対応していないときには、その欠陥候補は錠剤9に生じた欠陥ではないと判断する。
なお4つの画像IM11〜IM14の全てで共通の欠陥候補が検出されなくても、2以上の画像に共通の欠陥候補が検出されたときには、その欠陥候補が錠剤9の欠陥である可能性を排除しきれない。そこで制御部8は、画像IM11〜IM14のうち少なくとも二つに共通の欠陥候補が検出されたときには、錠剤9に欠陥が生じたと判断してもよい。これによれば、欠陥の可能性がある錠剤9を良品と判断することを回避できる。
以上のように、錠剤検査装置1によれば、画像IM11〜IM14の少なくとも二つにおいて共通の欠陥候補が検出されない限り、その欠陥候補を欠陥とはみなさない。したがって、欠陥検出時の虚報を抑制できる。
<検査処理の具体例>
図7は、検査処理の具体的な一例を示すフローチャートである。ここでは、代表的に一つの画像IM12に対する検査処理の一例を説明する。他の画像IM11,IM13,IM14の検査処理も同様である。
この画像IM12に対する検査処理を説明するにあたって、まず画像IM12内の各領域を定義する。図8は、画像IM12の一例を概略的に示す図である。ここで、錠剤領域TR、背景領域BR、主面領域Raおよび側面領域Rcを導入する。錠剤領域TRは画像IM12において錠剤9が占める領域である。背景領域BRは画像IM12のうち錠剤領域TR以外の領域である。主面領域Raは画像IM12において錠剤9の主面9aが占める領域であり、側面領域Rcは画像IM12において錠剤9の側面9cが占める領域である。主面領域Raおよび側面領域Rcは錠剤領域TRを構成する。画像IM11,IM13,IM14についても同様に各領域が定義される。以下では、画像IM12に写る錠剤9の主面9aおよび側面9cを実際の錠剤9の主面9aおよび側面9cと区別すべく、それぞれ主面9aaおよび側面9caと呼ぶ。
制御部8は上記特定処理としてステップS21〜S26を実行する。ここでは、錠剤領域TRを構成する主面領域Raおよび側面領域Rcを特定する。まず、ステップS21にて、制御部8は画像IM12に対してエッジ検出処理を行って、エッジ画像を生成する。ただしここでは、制御部8は画像IM12において背景領域BRを削除し、その削除後の画像IM12に対してエッジ検出処理を行う。
背景領域BRの削除のために、まず制御部8は画像IM12の錠剤領域TRと背景領域BRとを区別する。例えば制御部8は画像IM12に対する二値化処理を用いて、錠剤領域TRと背景領域BRとを区別する。背景領域BRには、搬送ベルト41が含まれているので、錠剤領域TRと背景領域BRとを精度よく区別するために、実際の搬送ベルト41の色と錠剤9の色とのコントラストを大きくするとよい。例えば錠剤9が白色系である場合には、搬送ベルト41を黒色とする。制御部8は背景領域BRを特定すると、画像IM12において背景領域BRを削除する。例えば制御部8は背景領域BR内の全ての画素の画素値を零にすることで、背景領域BRを削除する。
次に制御部8は、背景領域BRを削除した画像IM12に対してエッジ検出処理を行って、エッジ画像を生成する。エッジ検出処理の具体的な処理方法は特に制限される必要は無いものの、その一例について簡単に説明する。例えば制御部8は除去後の画像IM12に対してエッジ強度処理を行って、エッジ強度画像を生成する。エッジ強度処理は例えば各画素間の画素値の差の算出処理を含み、これにより、画像IM12において画素間の画素値の差の大きい領域がエッジ強度画像となる。制御部8はこのエッジ強度画像において、画素値が所定のエッジ閾値よりも大きいか否かを画素ごとに判断する。エッジ閾値は例えば予め設定されて制御部8の記憶媒体に記憶されてもよい。制御部8はエッジ閾値よりも大きい画素値を有する画素を検出して、エッジ画像を生成する。
このエッジ画像は背景領域BRが除去された画像IM12に基づいて生成されるので、背景領域BR内のエッジ(例えば搬送ベルト41の凹凸)はエッジ画像において検出されない。つまり、錠剤領域TRの輪郭に対応するエッジ(以下、錠剤エッジと呼ぶ)はエッジ画像内のエッジ群のうち最外周に位置することになる。
次にステップS22にて、制御部8は、錠剤領域TRの輪郭に対応する錠剤エッジを次のように特定する。即ち、制御部8はエッジ画像におけるエッジ群のうち、最外周に位置するエッジを錠剤エッジP0(図9参照)として特定する。
図9は、錠剤エッジP0の一例を模式的に示す図である。図9の例では、模式的に、錠剤エッジP0が複数のエッジに分割して示されている。この錠剤エッジP0は側面外側エッジP1と主面外側エッジP2と一対の側面稜線エッジP4によって構成されている。側面外側エッジP1は、錠剤9の主面9bの周縁のうち画像IM12に写っている部分に対応するエッジである。主面9bは円形状を有しているので、側面外側エッジP1は理想的には半楕円形状を有している。ここでいう半楕円形状とは、楕円をその長軸で2つに分割して得られる形状をいう。
主面外側エッジP2は、画像IM12における錠剤9の主面9aaの周縁のうち側面9caとは接していない部分に対応するエッジである。この主面外側エッジP2は錠剤9の主面9aaの周縁のうち錠剤領域TRの輪郭の一部に対応するエッジである、ともいえる。主面9aは円形状を有しているので、主面外側エッジP2は理想的には半楕円形状を有している。より具体的には、側面外側エッジP1および主面外側エッジP2は互いに反対側に膨らむ半楕円形状を有している。
一対の側面稜線エッジP4は理想的には直線状に延在しており、主面外側エッジP2の両端をそれぞれ側面外側エッジP1の両端に連結している。一対の側面稜線エッジP4は画像IM12における錠剤9の側面9caの輪郭の一部に対応するエッジである。一対の側面稜線エッジP4はほぼ平行に延在しており、その延在方向は撮像ヘッド5の内部構成の配置によって予め決まっている。ここでは、側面稜線エッジP4は画像IM12内の横方向に対して略45度で交差する方向に延在しているものとする。
なお一対の側面稜線エッジP4は実際には完全な平行ではない。一対の側面稜線エッジP4は側面外側エッジP1側に向かうにしたがって互いに近づくように僅かに傾斜している。以下では簡単のために、一対の側面稜線エッジP4は平行であると仮定する。より厳密に考えるのであれば、以下で述べる側面稜線エッジP4の延在方向を、一対の側面稜線エッジP4の延在方向の二等分線で表される方向と把握すればよい。
図9の例では、画像IM12における錠剤9の主面9aaと側面9caとの間の境界に対応する境界エッジP3と、割線91に対応する割線エッジP5とを破線で示している。境界エッジP3は主面領域Raと側面領域Rcとの間の境界に対応するエッジであるともいえる。境界エッジP3は理想的には主面外側エッジP2とは反対側に膨らむ半楕円形状を有している。主面外側エッジP2および境界エッジP3の一組は錠剤9の主面9aaの周縁に対応しており、理想的に楕円形状を呈する。以下では、主面外側エッジP2および境界エッジP3の一組を主面エッジP23とも呼ぶ。
再び図7を参照して、ステップS23にて、制御部8はステップS22で特定した錠剤エッジP0から、側面外側エッジP1および主面外側エッジP2を抽出する。例えば制御部8は錠剤エッジP0のうち、所定方向D1(=側面稜線エッジP4の延在方向)に沿って延在するエッジを側面稜線エッジP4と特定する。そして制御部8は、錠剤エッジP0から側面稜線エッジP4を除いた2つのエッジのうち、所定側(図では右上側)にある一方を側面外側エッジP1と特定し、他方を主面外側エッジP2と特定する。
次にステップS24にて、制御部8は境界エッジP3をエッジ画像において特定する。例えば境界エッジP3の形状と側面外側エッジP1の形状との類似性を考慮して、以下で説明するように境界エッジP3を特定する。
まず境界エッジP3と側面外側エッジP1との幾何学的な関係について述べる。境界エッジP3および側面外側エッジP1は同じ側に膨らむ半楕円形状を有している。またここでは錠剤9はさほど厚くないので、境界エッジP3および側面外側エッジP1はほぼ同一形状を有している、と考えることができる。つまり、境界エッジP3は側面外側エッジP1を所定方向D1に沿って主面外側エッジP2側へと、側面稜線エッジP4の長さの分だけ平行移動させた領域に存在している。側面稜線エッジP4の長さは錠剤9の厚みおよび撮像ヘッド5の内部構成の配置に応じて予め決まっているので、側面外側エッジP1が特定されれば、境界エッジP3が存在する領域を推定することができる。
そこで制御部8は、側面外側エッジP1から所定方向D1に沿って主面外側エッジP2側へと所定距離だけ離れた探索領域R1(図10も参照)内の画素を探索して境界エッジP3を特定する。図10は、探索領域R1の一例を模式的に示す図である。この探索領域R1の一例を説明するにあたって、その探索領域R1の中心線L0と、探索領域R1の輪郭を形成する線L1〜L4とを導入する。
中心線L0は側面外側エッジP1を側面稜線エッジP4の長さの分だけ、所定方向D1に沿って主面外側エッジP2側へと移動させた線である。なお図10の例では、模式的に中心線L0と境界エッジP3とを一つの曲線で示しているものの、実際にはこれらは相違し得る。
線L1,L2は、中心線L0を所定方向D1に沿って互いに反対側へと所定幅だけ移動させた線である。図10では、線L1は線L2よりも側面外側エッジP1に近い。線L3,L4は所定方向D1に沿って延在しており、それぞれ線L1,L2の両端を連結する。探索領域R1はこれらの線L1〜L4の一組によって囲まれた領域である。
なお図10では、割線エッジP5の一部も示されている。以下では説明の便宜上、探索領域R1において所定方向D1に沿って並ぶ画素群を、「行」と呼ぶ。
図11は、制御部8の探索処理の一例を示すフローチャートである。まずステップS51にて、制御部8は値N,Mをそれぞれ1に初期化する。値Nは探索領域R1内の行の番号を示しており、値Mはその行に属する画素の番号を示している。第1番目の画素は線L1上の画素であり、第M番目の画素は各行において第(M−1)番目の画素の隣の画素である。
次にステップS52にて、制御部8はエッジ画像の探索領域R1内の第N行第M番目の画素がエッジを示すか否かを判断する。否定的な判断がなされたときには、ステップS53にて、制御部8は値Mに1を加算して値Mを更新し、更新後の値Mを用いて再びステップS52を実行する。つまり、エッジを示す画素(以下、エッジ画素とも呼ぶ)を検出できなければ、次の画素について同様の判断を行うのである。
ステップS52において肯定的な判断がなされたときには、ステップS54にて、制御部8はその画素を境界エッジP3の構成要素として把握する。次にステップS55にて、制御部8は値Nに1を加算して値Nを更新し、値Mを1に初期化する。次にステップS56にて、制御部8は値Nが基準値Nrefよりも大きいか否かを判断する。基準値Nrefは探索領域R1に含まれる行の総数である。つまり、制御部8は全ての行を探索したか否かを判断する。全ての行を探索してないと判断したときには、制御部8はステップS52を再び実行する。全ての行を探索したと判断したときには、制御部8は探索処理を終了する。
以上のように、制御部8は探索領域R1内の各行において、線L1から画素を順次に選択し、最初に検出したエッジ画素を境界エッジP3の構成要素として特定する。なお図10の例示では、画素の探索方向を探索領域R1内の実線矢印で模式的に示しており、矢印の終点は、境界エッジP3の構成要素を示している。
制御部8は、ステップS23で特定した主面外側エッジP2およびステップS24で特定した境界エッジP3の一組を、主面エッジP23として特定する。
以上のように、本実施の形態によれば、主面エッジP23を適切かつ容易に得ることができる。
また上述の探索処理によれば、割線エッジP5上の画素は境界エッジP3の構成要素として特定されない。なぜなら、割線エッジP5は境界エッジP3に対して主面外側エッジP2側に位置しているところ、制御部8は探索領域R1を線L1側から線L2側へ(つまり側面外側エッジP1から主面外側エッジP2側へ)探索しているからである。つまり、この探索処理によれば、制御部8は割線エッジP5の画素を探索するよりも前に境界エッジP3の構成要素を特定することができる。つまり、割線エッジP5を境界エッジP3として誤検出することを回避できる。
ところで、この主面エッジP23は画像IM12における錠剤9の主面9aaの周縁に対応するものの、実際に検出された主面エッジP23は理想的な楕円形状を呈するとは限らない。例えば錠剤9の主面9aの周縁近傍に照射される光にむらが生じていたり、あるいは、当該周縁近傍の一部から正反射した光が検査カメラ51に結像されて、一部の画素値が他の画素値に比べて非常に大きな値を有している場合がある。あるいは、当該周縁近傍に欠陥が生じている場合もある。このような場合には、主面エッジP23は理想的な楕円形状と相違し得る。
そこでステップS25にて、制御部8は楕円の関数に基づいて、主面エッジP23に近似する近似線(楕円)を主面領域Raの輪郭として算出する。より一般的に説明すれば、制御部8は画像IM12における主面領域Raの輪郭の形状として予め決められた基準関数に基づいて、主面エッジP23の近似線を主面領域Raの輪郭として算出する。ここでいう基準関数とは、主面領域Raの輪郭の形状を表す関数であって、その位置および大きさが変数となる関数をいう。楕円の関数であれば、例えばその長軸の長さ、短軸の長さ、長軸の延在方向、および、中心などを変数として採用できる。制御部8は例えば最小二乗法により主面エッジP23に近似する楕円E1(より具体的にはその長軸の長さ、短軸の長さ、長軸の延在方向および中心)を算出する。この楕円E1は例えば撮像画像IM1(あるいは画像IM12)の座標系で示される式であってもよい。
以上のように、主面領域Raの輪郭を示す関数に基づいて主面エッジP23の近似線を主面領域Raの輪郭として算出しているので、より高い精度で主面領域Raの輪郭を特定することができる。ひいては、主面領域Raに対する欠陥候補の位置を高い精度で特定できる。また上述の具体例では、錠剤9が略円盤形状を有している。つまり、錠剤9の主面9aが略円形状を有している。よって、画像IM12において主面9aaの周縁は理想的には楕円形状を有する。これに対応して、楕円の関数が主面領域Raの輪郭を示す関数として用いられている。したがって、適切に主面領域Raの輪郭を特定することができる。
以下では、楕円E1をその長軸で分割して得られる2つの半楕円のうち、側面9ca側の半楕円を半楕円E11とも呼ぶ。この半楕円E11は境界エッジP3の近似線に相当することになる。
次にステップS26にて、制御部8は側面領域Rcの輪郭を特定する。例えば、まず制御部8は側面外側エッジP1に近似する近似線(半楕円)を楕円E1に基づいて算出する。制御部8は楕円E1を所定方向D1に沿って移動させながらレーベンバーグ・マルカート(LM)法を用いて、側面外側エッジP1に沿う楕円E2を算出する。この楕円E2は錠剤9の主面9bの周縁に相当する。よって、制御部8はこの楕円E2をその長軸で分割し、得られた2つの半楕円のうち、境界エッジP3よりも遠い方にある半楕円E21を側面外側エッジP1の近似線として求める。
制御部8はこの楕円E2の算出に際して、楕円E1を所定の割合で縮小させてもよい。画像IM12のような斜視図において、錠剤9の主面9bの周縁は錠剤9の主面9aの周縁よりも所定割合で小さくなるからである。この所定割合は錠剤9の厚みに応じて予め設定される。
なお制御部8は必ずしも楕円E1に基づいて楕円E2を算出し、楕円E2から半楕円E21を算出する必要はない。例えば制御部8は楕円E1から半楕円E11を求め、この半楕円E11を所定方向D1に沿って移動させながらLM法を用いて半楕円E21を算出してもよい。また半楕円E21の算出に当たって半楕円E11を所定割合で縮小しても構わない。
制御部8は、半楕円E11,E21の両端をそれぞれ連結する一対の直線を算出し、半楕円E11,E21および当該一対の直線を、錠剤9の側面9caが占める側面領域Rcの輪郭として把握する。
このように境界エッジP3および側面外側エッジP1に近似する近似線(半楕円E11,E21)を側面領域Rcの輪郭の一部として採用しているので、より高い精度で側面領域Rcを特定することができる。
次にステップS27にて、制御部8は画像IM12に対して候補検出処理を行う。以下、候補検出処理の具体例について述べる。
<第1候補検出処理(エッジ強度処理)>
画像IM12において欠陥候補d1,d2(図8参照)が占める領域と、その欠陥候補d1,d2の周囲の領域との境界部では、画素間の画素値の差が大きくなる。そこで制御部8は次のように欠陥候補を検出してもよい。即ち、制御部8は、背景領域BRを削除した画像IM12に対してエッジ強度処理を行ってエッジ強度画像を生成する。なおエッジ画像の生成の途中でエッジ強度画像が既に生成されている場合には、そのエッジ強度画像を用いればよい。
制御部8はエッジ強度画像の画素値が閾値Th1よりも大きいか否かを画素ごとに判断し、肯定的な判断がなされたときに、その画素は欠陥候補の輪郭を示していると判断する。これにより、欠陥候補d1,d2を検出することができる。閾値Th1は例えば予め設定されて制御部8の記憶媒体に記憶されてもよい。
<第2候補検出処理>
制御部8は上述の第1候補検出処理に替えて、あるいは、第1候補検出処理と共に、以下で述べる第2候補検出処理を行ってもよい。
さて、欠陥候補d1,d2が例えば黒色系の付着物である場合、この欠陥候補d1,d2に対応する領域の画素値は他の領域の画素値よりも小さくなる。そこで制御部8は次のようにして欠陥を検出してもよい。即ち、制御部8は、画像IM12の錠剤領域TR内の画素値が閾値Th2よりも小さいか否かを画素ごとに判断し、肯定的な判断がなれたときに、その画素は欠陥候補を示していると判断する。閾値Th2は例えば予め設定されて制御部8の記憶媒体に記憶されてもよい。
以下では、欠陥候補(あるいはその輪郭)を示す画素を候補画素とも呼ぶ。
<欠陥真偽処理の具体例>
図12は、欠陥真偽処理の一例を示すフローチャートである。ここでは、主面領域Ra内の欠陥候補が錠剤9の欠陥を示しているか否かを判断する例について説明する。ステップS31にて、制御部8は少なくとも一つの欠陥候補が画像IM11〜IM14のうち2以上の画像で共通しているか否かを判断する。具体的には、制御部8は主面領域Raに対する各画素の位置の、画像IM11〜IM14の相互間における対応関係に基づいて、欠陥候補が共通しているか否かを判断する。そこでまず制御部8はこの対応関係を求める。つまり制御部8は、画像IM11〜IM14において錠剤9の主面9a上の同じ点を示す画素の対応関係を求める。
このような対応関係は、例えば次のように求めることができる。例えば、制御部8は画像IM11〜IM14に基づいてそれぞれ鳥瞰画像IM41〜IM44をそれぞれ生成する。ここでいう鳥瞰画像とは、錠剤9をZ軸方向に沿って見た画像である。例えば制御部8は画像IM11における楕円E1の長軸Aと短軸Bの比に基づいて画像IM11についての撮像方向を算出する。この撮像方向は、当該撮像方向と水平面とがなす角度θ(sinθ=B/A)によって表すことができる。なお、角度θは必ずしも算出される必要は無く、撮像ヘッド5の内部構成の配置に応じて予め設定されていてもよい。
制御部8は角度θに基づいて画像IM11に対して画像変換を行って、鳥瞰画像IM41を生成する。この鳥瞰画像IM41における主面9aの輪郭の形状は楕円E1の長軸を直径とする円となる。制御部8は同様にして画像IM12〜IM14に基づいて鳥瞰画像IM42〜IM44を生成する。これにより、鳥瞰画像IM41〜IM44には、Z軸方向から見た錠剤9の外観が写る。図13は、鳥瞰画像IM41〜IM44の一例を概略的に示す図である。以下では、鳥瞰画像IM41〜IM44における錠剤9の主面9aを実際の錠剤9の主面9aと区別すべく、主面9abと呼ぶ。
鳥瞰画像IM41〜IM44において錠剤9の主面9abの周縁を示す円F1の大きさが互いに大きく相違している場合には、制御部8はこれらの円F1の大きさの差が所定値よりも小さくなるように、鳥瞰画像IM41〜IM44を拡大または縮小してもよい。このような鳥瞰画像IM41〜IM44において円F1内で同じ位置にある画素が錠剤9の主面9a上の同じ点を示すことになる。つまり、図13は実質的に画像IM11〜IM14の主面領域Raの相互間における各画素の対応関係を示している。
制御部8は主面領域Raに対する欠陥候補が鳥瞰画像IM41〜IM44のうち2以上の鳥瞰画像で一致するか否かを判断する。なお、本願でいう「一致」とは必ずしも完全な一致を意味する必要はなく、差が所定程度よりも小さい状態を含む。2以上の鳥瞰画像において欠陥候補が互いに一致していれば、制御部8は2以上の画像において欠陥候補(例えば欠陥候補d1)が共通していると判断し、ステップS32にて錠剤9(より具体的には主面9a)に欠陥が生じていると判断する。
欠陥候補の一致判断は次のようにして行われてもよい。例えば制御部8は、欠陥候補を構成する複数の候補画素の各々の位置(周縁領域Raに対する位置)が、2以上の画像において互いに一致しているか否かを判断する。例えば画像IM11〜IM14の各々において欠陥候補d1が候補画素Q1[0]〜Q1[10]によって構成されているとする。制御部8は、主面領域Raに対する候補画像Q1[n](n:0〜10)の位置が画像IM11〜IM14のうち2以上の画像で互いに一致しているか否かを判断する。制御部8はこれらが一致しているときに、欠陥候補が一致していると判断してもよい。これによれば、欠陥候補の位置および形状に基づいて欠陥候補の一致判断を行うことができる。もちろん、欠陥候補を構成する全ての候補画素が2以上の画像間で互いに一致している必要は無く、若干の候補画素で不一致があっても構わない。不一致を許容する候補画素の数が多いほど、形状に関する条件が緩まることになる。
このような一致判断のために、制御部8は、各欠陥候補を構成する候補画素を各画像IM11〜IM14において特定する必要がある。これは例えば次のように行うことができる。即ち、例えば、制御部8は各画像IM11〜IM14において、候補画素の相互間の距離を算出し、相互間の距離が小さい候補画素群を同じ欠陥候補として抽出する。これにより、例えば画像IM11〜IM14の各々において欠陥候補d1に属する候補画素Q1[0]〜Q1[10]が特定され、画像IM12において欠陥候補d2に属する候補画素Q2[0]〜Q2[10]が特定される。
ここでは、主面領域Raに対する候補画素Q1[n]の位置は複数の画像IM11〜IM14で互いに一致する。よって、制御部8は欠陥候補d1が錠剤9の欠陥であると判断し、錠剤9に欠陥が生じていると判断する。一方で、主面領域Raに対する候補画素Q2[n]の位置は複数の画像IM11〜IM14間で一致しないので、制御部8は欠陥候補d2が錠剤9の欠陥ではないと判断する。
ステップS31にて否定的な判断がなされると、ステップS33にて制御部8は錠剤9(より具体的には主面9a)に欠陥が生じていないと判断する。
なお、欠陥の個数を検出する必要がなく、単に錠剤9の欠陥の有無を検出すればよい場合には、必ずしも全ての欠陥候補について判断を行わなくてもよい。一つの欠陥候補が2以上の画素で共有していると判断した場合には、他の欠陥候補についての判断を省略してもよい。一方で、錠剤9に生じた欠陥の個数を検出する場合には、全ての欠陥候補について判断を行えばよい。
上述の例では、主面領域Raの輪郭の形状として予め決められた関数に基づいて主面領域Raの輪郭を求めているので、上述のように主面領域Raの特定精度が高い。これによれば、主面領域Ra内の各画素の位置の画像間の対応関係の精度を向上でき、欠陥真偽の判断精度を向上できる。
<側面領域>
上述の例では、錠剤9の主面9aに対する外観検査について述べた。ここでは、錠剤9の側面9cに対する外観検査について述べる。この錠剤9の側面9cでは、その撮像方向に応じた領域がそれぞれ画像IM11〜IM14に写る。例えば図5を参照して、錠剤9の側面9cのうち領域9c1が画像IM11〜IM13に写っており、画像IM14には写っていない。この領域9c1は錠剤9の側面9cを周方向に例えば6等分して得られる領域と同程度の幅を有している。図5の例では、領域9c1は画像IM11において側面9cのほぼ中央に位置し、画像IM12,IM13においては側面9cの端に位置する。よって領域9c1は画像IM11においては広く写り、画像IM12,IM13において非常に狭く写る。したがって、錠剤9の領域9c1内の欠陥は画像IM11に比して画像IM12,IM13では視認されにくく欠陥候補として検出されにくい。
そこで、画像IM12,IM13において側面9cの端の領域9c1は候補検出処理の対象から除いてもよい。言い換えれば、制御部8は画像IM12,IM13において側面領域Rcの端側の領域を、非検査対象たるマスク領域に設定してもよい。これによれば、端領域において欠陥候補を誤検出したり、あるいは、欠陥の検出漏れが生じたりすることを回避できる。
図14は、検査処理の一例を示すフローチャートである。図14の例では、図7と比較して、ステップS28が更に実行される。このステップS28はステップS26,S27の間で実行される。ステップS28では、制御部8はマスク領域を設定する。例えば制御部8は、ステップS26で特定した側面領域Rcの両端に位置する端領域を、マスク領域に設定する。端領域の幅(半楕円E11に沿う幅)は予め決められていてもよく、あるいは、制御部8が側面領域Rcの幅の所定割合を端領域の幅として算出してもよい。
制御部8はステップS27の候補検出処理において、マスク領域内の画素を欠陥候補として検出しない。これによれば、錠剤9の領域9c1は画像IM11のみにおいて実質的な候補検出処理が行われることになる。なぜなら、領域9c1は画像IM14には写っておらず、画像IM12,IM13ではマスク領域内に写っているからである。
制御部8は領域9c1については次のように欠陥真偽処理を行う。即ち、制御部8は、画像IM11に対する候補検出処理によって領域9c1内に欠陥候補が検出されているときに、他の画像IM12〜IM14の候補検出処理の結果に関わらず、錠剤9(より具体的には側面9cの領域9c1)に欠陥が生じていると判断する。つまり画像IM11のみで候補検出処理が行われる領域9c1については、他の画像IM12〜IM14で候補検出処理が行われないので、画像IM11において欠陥候補が検出されれば、その欠陥候補を錠剤9の欠陥とみなすのである。これにより、側面9cの領域9c1における欠陥を検出することができる。
図5を参照して、錠剤9の側面9cの領域9c1と周方向で隣り合う領域9c2は画像IM11,IM12に写っており、画像IM13,IM14には写っていない。この領域9c2は例えば錠剤9の側面9cを周方向に12等分して得られる領域と同程度の幅を有している。この領域9c2は画像IM11,IM12において側面9cの中央よりも端側に位置しているものの、その側面9cの端から離れている。画像IM11,IM12において領域9c2はマスク領域に設定されておらず、検査対象領域に相当する。
制御部8は領域9c2については次のように欠陥真偽処理を行う。即ち、制御部8は、画像IM11,IM12に対する候補検出処理によって領域9c1に共通の候補検出が検出されているときに、画像IM13,IM14に対する候補検出処理の結果に関わらず、錠剤9(より具体的には側面9cの領域9c2)に欠陥が生じていると判断する。つまり画像IM11,IM12のみに写る領域9c2については、他の画像IM13,IM14で候補検出処理が行われないので、画像IM11,IM12の領域9c2において共通の欠陥候補が検出されたときに、その欠陥候補を錠剤9の欠陥とみなすのである。これにより、高い精度で側面9cの領域9c2における欠陥を検出できる。
なお上記の例では領域9c1,9c2について述べたものの、他の領域についても同様である。要するに、制御部8は、一つの画像のみにおいて候補検出処理が行われる錠剤9の第1領域、および、複数の画像において候補検出処理が行わる錠剤9の第2領域に対しては、それぞれ次のように欠陥真偽処理を行えばよい。即ち制御部8は、第1領域については、当該一つの画像の第1領域に欠陥候補が検出されているときに錠剤9に欠陥が生じていると判断し、第2領域については、複数の画像のうち2以上の画像の第2領域で共通の欠陥候補が検出されているときに錠剤9に欠陥が生じていると判断する。
図15は、側面領域に対する欠陥真偽処理の一例を示すフローチャートである。図12と比較して、ステップS34が更に実行され、またステップS32を実行するための条件が相違する。ステップS34はステップS31にて否定的な判断がなされたときに実行される。ステップS34にて、制御部8は、側面領域Rc内の少なくとも一つの欠陥候補に対応する領域が他の画像の全てで欠陥検出の対象外(つまり候補検出処理の対象外)であるか否かを判断する。
なお側面領域Rcに対する各画素の位置の画像IM11〜IM14間の対応関係は主面領域Raと同様にして求めることができる。例えば錠剤9を真横から見た4つの画像をそれぞれ画像IM11〜IM14に基づいて生成する。当該4つの画像では、4方向から見た錠剤9の側面9cがそれぞれ写る。側面領域Rc内の各画素の、当該4つの画像間の対応関係は予め設定されていればよい。
例えば画像IM11の領域9c1において欠陥候補を検出した場合について説明する。この領域9c1は他の画像IM12〜IM14の全てで欠陥検出の対象外である。例えば領域9c1は画像IM12,IM13においてマスク領域であり、画像IM14にはそもそも存在しない。よってこの場合、ステップS34では肯定的な判断が行われる。このときステップS32にて、制御部8は錠剤9(より具体的には側面9c)に欠陥が生じていると判断する。つまり、たとえ欠陥候補が2以上の画像で共通していなくても、その欠陥候補がそもそも他の画像で欠陥検出の対象外である場合には、その欠陥候補は当然に他の画像では検出されない。よってこの場合には、1つの画像において検出された欠陥候補を錠剤9の欠陥とみなすのである。
ステップS34にて否定的な判断がなされたときには、ステップS33にて、制御部8は錠剤9の側面9cに欠陥が生じていないと判断する。
なお欠陥の個数を検出する必要がなく、単に錠剤9の欠陥の有無を検出すればよい場合には、各ステップS31,S32において必ずしも全ての欠陥候補について判断を行わなくてもよい。また主面領域に対する欠陥真偽処理(図12)および側面領域に対する欠陥真偽処理(図15)の一方で錠剤9に欠陥が生じていると判断すれば、他方を省略してもよい。
錠剤9に生じた欠陥の個数を検出する場合には、全ての欠陥候補について判断を行えばよい。つまりステップS31の判断結果に依らず、必ずステップS34を行い、またステップS31,S32の各々において全ての欠陥候補についての判断を行えばよい。またこの場合、主面領域に対する欠陥真偽処理および側面領域に対する欠陥真偽処理の両方を行う。
<境界エッジ>
上述の例では、探索領域R1の各行における探索で最初に検出されたエッジ画素を境界エッジP3の構成要素として把握した。この場合、例えば画像IM12において錠剤9の主面9aaと側面9caとの間の境界に欠陥が生じていれば、楕円E1の算出精度が低下し得る。以下、具体的に説明する。
図16は、錠剤9の主面9aaと側面9caとの間の境界に欠けが生じたときの、エッジ画像におけるエッジの一例を概略的に示す図である。図16に例示するように、錠剤9に生じた欠けの輪郭に沿ってエッジP’が検出されている。図16の例示では、エッジP’を太線で模式的に示している。上述の探索処理によれば、エッジP’のうち線L1側のエッジ上の画素が境界エッジP3の構成要素として把握されることになる。図16の例においては、境界エッジP3の構成要素として把握される画素のいくつかを模式的に黒丸で示している。つまり、境界エッジP3の構成要素がエッジP’のうち線L1側のエッジPc’に偏ってしまう。したがって、境界エッジP3に近似する半楕円E11は錠剤9の主面9aaの周縁からずれやすい。つまり、主面領域Raの特定精度が低下し得る。
ここでは、主面領域Raの特定精度を更に向上することを企図する。具体的には、画像IM12における欠陥領域の画素値の分布に着目して、境界エッジP3の構成要素がエッジP’のうちエッジPc’と、線L2側のエッジPa’に分散されるように、境界エッジP3を特定することを企図する。
さて、錠剤9の欠けの表面は主面9aおよび側面9cの表面粗さに比べて粗く、画像IM12における欠陥領域内の輝度成分はばらついている。よって、欠陥領域の輪郭(エッジP’)においても輝度成分はばらついている。したがって、画像IM12におけるエッジPa’上の画素値もある範囲でばらついており、エッジPc’上の画素値も同様の範囲内でばらついている。
そこで、制御部8は、エッジ画像の探索領域R1内の画素であって、対応する画像IM12における画素値が所定の閾値(以下、明るさ閾値と呼ぶ)よりも大きい画素を探索する。この明るさ閾値は錠剤9の主面9aaの明るさに応じて予め設定される。例えば明るさ閾値は上記範囲内の値に予め設定される。このような明るさ閾値は例えばシミュレーションまたは実験等によって設定することができる。明るさ閾値は例えば制御部8の記憶媒体に記憶されていてもよい。以下、具体的な動作の一例について説明する。
図17は、制御部8による探索処理の一例を示すフローチャートである。図11と比較して、制御部8はステップS57を更に実行する。このステップS57はステップS52において肯定的な判断がなされたときに実行される。ステップS57では、制御部8は画像IM12の探索領域R1における第N行第M番目の画素の画素値が明るさ閾値よりも大きいか否かを判断する。
ステップS57にて否定的な判断がなされたときには、制御部8はステップS53を実行し、肯定的な判断がなされたときには、制御部8はステップS54を実行する。
これによれば、たとえ探索領域R1内のエッジ画素であっても、そのエッジ画素に対応する画像IM12の画素の画素値が明るさ閾値よりも小さい場合には、そのエッジ画素は境界エッジP3の構成要素とは把握されず、画像IM12の当該画素の画素値が明るさ閾値よりも大きい場合に、そのエッジ画像が境界エッジP3の構成要素と把握される。
この結果、境界エッジP3の構成要素として把握される画素がエッジP’上で分散される。図18は、錠剤9の主面9aaと側面9caとの間の境界に欠けが生じたときの、エッジ画像におけるエッジの一例を概略的に示す図である。図18の例でも、境界エッジP3として把握される画素のいくつかが模式的に黒丸で示されている。図18に例示するように、当該画素はエッジP’のエッジPa’,Pc’に分散される。言い換えれば、境界エッジP3として把握される画素がエッジP’において一方側のみに偏らないように明るさ閾値が設定される。より具体的な一例として、錠剤9の主面9aaの明るさ(例えば画素値(あるいは輝度値)の平均値、中央値、最大値または最小値など、以下、同様)が錠剤9の側面9caの明るさよりも高い場合には、当該明るさ閾値として主面9aaの明るさを採用し、錠剤9の主面9aaの明るさが錠剤9の側面9caの明るさよりも低い場合には、当該明るさ閾値として側面9caの明るさを採用する。
このような境界エッジP3に近似する半楕円E11は錠剤9の主面9aaの周縁により近い半楕円となる。ひいては、より高い精度で主面領域Raを特定することができる。
<探索領域の中心線>
上述の例では、探索領域R1の中心線L0は側面外側エッジP1を移動させて得られた線であると説明したが、この移動に際して側面外側エッジP1を所定倍率で拡大しても構わない。厳密には、境界エッジP3は側面外側エッジP1よりも所定倍率で大きいからである。
<マスク領域>
上記の例では、制御部8は各画像IM11〜IM14において側面領域Rcの端領域をマスク領域に設定した。しかるに、他の領域をマスク領域に設定してもよい。ここでは、好適な説明のために、錠剤9の形状として糖衣錠を採用して説明する。この錠剤9は球体を一軸方向に縮小させた扁平形状を有しており、最も広い面に対して垂直にみると錠剤9は円形状を有している。なお錠剤9の形状はこれに限らない。
図19は、撮像画像IM1’の一例を概略的に示す図である。撮像画像IM1’は撮像ヘッド5によって糖衣錠の錠剤9を撮像して得られる画像である。撮像画像IM1’の画像IM11’〜IM14’には、それぞれ異なる撮像方向から見た錠剤9の外観が示されている。各画像IM11’〜IM14’において錠剤9の輪郭は理想的には楕円形状を有する。
図19の例示では、画像IM11’〜IM14’において錠剤9の表面上の各点の対応関係が二点鎖線で示されている。このような対応関係は、例えば錠剤9の輪郭を示す関数に対応付けて予め設定されて、制御部8の記憶媒体に記憶されてもよい。
図19の例示では、画像IM11’〜IM14’には、マスク領域MR1〜MR4が設定されている。このマスク領域MR1〜MR4は、画素値が他の領域における画素値よりも大幅に高くなり得る領域である。このような領域は、照明用光源から照射された光が錠剤9で正反射されることにより生じる。つまり、この正反射光がミラー53、角錐型ミラー54およびレンズ群52を介して検査カメラ51の結像面の一部に結像されると、その結像面の一部に対応する領域(正反射領域)内の画素の画素値が他の画素値よりも大幅に高くなる。そこで、この正反射領域を含むようにマスク領域が設定される。これにより、錠剤9上の光の強弱を欠陥と誤検出することを回避できる。
ここでは照明用光源としてリング状の光源を想定しているので、図19の例では、マスク領域MR1〜MR4が楕円状のリング領域で示されている。マスク領域MR1は例えば錠剤9の輪郭を示す関数に対応付けて予め設定されていてもよい。あるいは、制御部8は例えば画像IM11’内の画素の画素値がマスク閾値よりも大きい領域を特定し、その領域をマスク領域MR1に設定してもよい。マスク領域MR2〜MR4も同様である。マスク閾値は例えば予め設定されて制御部8の記憶媒体に記憶されていてもよい。
複数の撮像方向から錠剤9を撮像するので、各撮像方向に対応する正反射領域は錠剤9の表面上で互いに異なる。もちろん、2つの撮像方向に対応する正反射領域の一部どうしが錠剤9の表面上で重なる場合はある。しかし、3以上の正反射領域が錠剤9の表面上の同じ領域で互いに重なることは少ない。つまりマスク領域MR1〜MR4を錠剤9の表面に投影した場合、マスク領域MR1〜MR4の2つは錠剤9の表面上において重なり合うものの、3つが同じ領域で重なり合うことはまれである。4つが同じ領域で重なり合う可能性はさらに低い。もし仮にマスク領域MR1〜MR4が同じ領域で重なり合えば、その領域は画像IM11’〜IM14’においてマスク領域MR1〜MR4内に含まれることになるので、画像IM11’〜IM14’のいずれにおいても検査対象にならない。しかしそのような可能性は非常に低いのである。
ここでは、マスク領域MR1〜MR4の4つは同じ領域で重なり合わないものとする。この場合、錠剤9のうち画像IM11’〜IM14’のいずれにも写る共通面は次の4種の領域に分割される。即ち、第1領域は、画像IM11’〜IM14’の全てにおいて検査対象領域内に位置する領域であり、第2領域は、画像IM11’〜IM14’の3つのみにおいて検査対象領域内に位置する領域であり、第3領域は、画像IM11’〜IM14’の2つのみにおいて検査対象領域内に位置する領域であり、第4領域は、画像IM11’〜IM14’の一つのみにおいて検査対象領域内に位置する領域である。
<検査処理>
次に糖衣錠たる錠剤9についての検査処理について説明する。この錠剤9は図2の錠剤9と違って主面と側面との明確な境界を有さない。よって、制御部8は主面領域と側面領域とを特定することは困難であるので、欠陥候補の位置を錠剤領域に対する位置で把握する。そこで制御部8は特定処理において錠剤領域の輪郭を特定する。
図20は、検査処理の一例を示すフローチャートである。ステップS211にて、制御部8はステップS21と同様にしてエッジ画像を生成する。次にステップS212にて、制御部8はステップS22と同様にして錠剤エッジを特定する。次にステップS213にて、楕円の関数に基づいて当該錠剤エッジに近似する近似線(楕円)を、錠剤領域の輪郭として特定する。より一般的に説明すると、IM11〜IM14における錠剤9の輪郭を示す基準関数に基づいて錠剤エッジに近似する近似線を特定する。次にステップS214にて、制御部8は例えば図19に示すようにマスク領域を設定する。
次に制御部8は各画像IM11’〜IM14’に対して候補検出処理を行う。候補検出処理は上述した通りである。これにより、各画像IM11’〜IM14’において、欠陥候補が検出されて錠剤領域に対する欠陥候補の位置が特定される。
制御部8は欠陥真偽処理において次にように動作する。即ち、制御部8は、第1領域から第3領域については、画像IM11’〜IM14’のうち2以上の画像で共通の欠陥候補が検出されているときに、錠剤9に欠陥が生じていると判断する。制御部8は、第4領域については、画像IM11’〜IM14’の1つにおいて欠陥候補が検出されたときに、錠剤9に欠陥が生じていると判断する。
具体的な欠陥真偽処理の一例は、図15を参照して説明した側面領域に対する欠陥真偽処理と同様である。具体的には、「側面領域」および「錠剤の側面」をそれぞれ「錠剤領域」および「錠剤」に読み替えればよい。
変形例.
<錠剤の主面>
上述の例では、主面9bが搬送ベルト41側を向く姿勢で搬送された錠剤9を検査対象として説明した。錠剤9の主面9aが搬送ベルト41を向く姿勢で錠剤9が搬送される場合には、錠剤検査装置1は錠剤9の主面9bおよび側面9cに対する外観検査を行うことになる。
また例えば錠剤9に対する外観検査の後に、錠剤9の搬送姿勢を反転させ、その状態で錠剤9に対する外観検査を行ってもよい。これによれば、錠剤9の全面(主面9a,9bおよび側面9c)に対する外観検査を行うことができる。
以上のように、錠剤検査方法および錠剤検査装置は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この開示がそれに限定されるものではない。また上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない多数の変形例が、この開示の範囲から外れることなく想定され得るものと解される。