<画像処理システム1の構成について>
図1は実施の形態に係る画像処理システム1の構成を示す図である。本実施の形態に係る画像処理システム1は、画像処理を用いて、対象物が比較対象に相当するか否かを判定するシステムである。画像処理システム1は、例えば、工場内において、クッキーやチョコレートなどの円形(真円形)のお菓子が製造される製造ラインに導入される。画像処理システム1は、実稼働中の製造ラインにおいて製造されるお菓子が正しく製造されたお菓子に相当するか否かを判定する。言い換えれば、画像処理システム1は、実稼働中の製造ラインで製造されるお菓子が正しく製造されているか否か、つまり当該お菓子の良否を判定する。したがって、本実施の形態では、対象物はお菓子である。また、対象物と比較される比較対象は、正しく製造されたお菓子(良品のお菓子)である。なお、対象物はお菓子以外であっても良い。
図1に示されるように、画像処理システム1は、撮像装置2及び判定装置3を備えている。撮像装置2は、製造ラインで製造されたお菓子を撮像し、当該お菓子が映った撮像画像10を生成して判定装置3に出力する。製造ラインでは、搬送コンベアによってお菓子が搬送され、撮像装置2は搬送されるお菓子を撮像する。製造された複数のお菓子は、不揃いな向きで搬送コンベア上を一列で移動する。本実施の形態では、撮像装置2で生成される撮像画像10は、カラー画像であるが、グレースケール画像であっても良い。
図2は撮像装置2で得られる撮像画像10の一例を模式的に示す図である。図2に示される撮像画像10には、正しく製造されたお菓子100、つまり良品のお菓子100が映っている。また撮像画像10には、背景である搬送コンベア101が映っている。良品のお菓子100の一方主面100aには、例えば、アルファベット「A」の模様とアルファベット「B」の模様とが示されている。なお、良品のお菓子100の模様はこれ以外であっても良い。また、良品のお菓子100の両主面に模様が付されていても良い。
本実施の形態では、お菓子100は、その一方主面100aを上側にして、搬送コンベア101上を移動する。搬送コンベア101上では、複数のお菓子100が一列になって移動する。そして、撮像装置2は、お菓子100の一方主面100a側から当該お菓子100を撮像する。したがって、撮像画像10には、お菓子100の一方主面100aが映っている。
判定装置3は、撮像装置2から入力される撮像画像10に映るお菓子100が正しく製造されたものに相当するか否か、つまり当該お菓子100が正しく製造されているか否かを判定し、その判定結果を出力する。この判定結果は、工場内に設けられた、製造ラインの動作を管理する制御部に入力される。制御部は、入力された判定結果に基づいて各種動作を行う。以後、判定装置3が、撮像画像10に映るお菓子100が正しく製造されているか否かを判定する処理を「お菓子判定処理」と呼ぶ。
本実施の形態では、判定装置3は、一種のコンピュータ装置であって、CPU(Central Processing Unit)300及び記憶部310を備えている。記憶部310は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、CPU300が読み取り可能な非一時的な記録媒体で構成されている。記憶部310には、判定装置3(コンピュータ装置)を制御するための制御プログラム311が記憶されている。CPU300が記憶部310内の制御プログラム311を実行することによって、判定装置3には様々な機能ブロックが形成される。
なお、判定装置3の各種機能の一部又は全部は、その機能の実現のためにプログラム(ソフトフェア)が不要な、論理回路等を含む専用のハードウェア回路で実現しても良い。また記憶部310は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部310は、例えば、小型のハードディスクドライブ及びSSD(Solid State Drive)等を備えていても良い。
図3は判定装置3が有する複数の機能ブロックを示す図である。図3に示されるように、判定装置3は、機能ブロックとして、変換部30、抽出部31、特定部32、フィッティング部33及び判定部34を備えている。変換部30は、撮像装置2から入力される撮像画像10をカラー画像からグレースケール画像に変換し、変換後の撮像画像10を撮像画像11として出力する。
抽出部31は、撮像画像11から、お菓子100が映るお菓子領域(対象物領域)23を抽出する。特定部32は、お菓子領域23において特徴的な局所領域(部分領域)を特定する。言い換えれば、特定部32は、お菓子領域23において意味のある局所領域を特定する。この特定部32での処理は「セグメンテーション」と呼ばれる。以後、単に「局所領域」と言えば、特定部32がお菓子領域23において特定する特徴的な局所領域を意味する。
フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。ここで、本願発明での楕円とは、円(真円)を含む概念である。
判定部34は、フィッティング部33で得られた楕円に関する楕円情報を、撮像画像11に映るお菓子100の特徴を示す特徴量とする。本実施の形態では、楕円に関する楕円情報として、例えば、当該楕円の位置情報と形状情報が採用される。楕円情報についてはこの限りではない。そして、判定部34は、求めた特徴量に基づいて、撮像画像11に映るお菓子100が正しく製造されているか否かを判定し、その判定結果21を出力する。本実施の形態では、判定部34は、撮像画像11から求められた特徴量と、良品のお菓子100の特徴を示す標準特徴量(基準特徴量)22とを比較し、その比較結果に基づいて、当該撮像画像11に映るお菓子100が正しく製造されているか否かを判定する。標準特徴量22は、記憶部310に予め記憶されている。
<お菓子判定処理のフローについて>
次に、製造ラインが実稼働中において、判定装置3がお菓子判定処理を行う際の当該判定装置3の一連の動作について説明する。図4はお菓子判定処理を示すフローチャートである。
図4に示されるように、ステップs1において、判定装置3は、撮像装置2から撮像画像10が入力されると、変換部30において当該撮像画像10をカラー画像からグレースケール画像に変換し、それによって得られた撮像画像11を処理対象とする。以後、処理対象の撮像画像11を「処理対象画像11」と呼ぶことがある。
次にステップs2において、抽出部31は、処理対象画像11からお菓子領域23を抽出する。次にステップs3において、特定部32は、抽出部31で抽出されたお菓子領域23において局所領域を特定する。次にステップs4において、フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。
次にステップs5において、判定部34は、フィッティング部33で得られた楕円に関する楕円情報を特徴量とする。そして判定部34は、当該特徴量と標準特徴量22とを比較し、その比較結果に基づいて、処理対象画像11に映るお菓子100が正しく製造されているか否かを判定する。これにより、判定装置3において、撮像装置2で得られた撮像画像10に映るお菓子100が正しく製造されているか否かが判定される。
次にステップs6において、判定部34は、ステップs5での判定結果21を、工場内に設けられた制御部に出力する。制御部は、撮像画像10に映るお菓子100が正しく製造されていない場合には、言い換えれば、撮像画像10に映るお菓子100が不良品である場合には、例えば、スピーカから警告音を出力したり、ディプレイに警告情報を表示したりするなどして、外部に警告を発する。
その後、判定装置3は、新たな撮像画像10が入力されると、当該撮像画像10から得られる撮像画像11を新たな処理対象として、ステップs2〜s6を実行する。以後、判定装置3は、撮像画像10が入力されるたびに、同様の動作を行う。
<各構成要素の詳細説明>
以下に、抽出部31、特定部32、フィッティング部33及び判定部34の動作についてさらに詳細に説明する。
<抽出部について>
図5は、抽出部31が撮像画像11から抽出するお菓子領域23の一例を模式的に示す図である。撮像画像11からお菓子領域23を抽出する方法としては様々な方法がある。
例えば、お菓子100の外形が円形であることを利用した第1の抽出方法がある。この第1の抽出方法では、まず、撮像画像11に対してエッジ検出が行われてエッジ画像が生成される。エッジ画像の生成方法としては、例えば、Sobel法、Laplacian法、Canny法などが使用される。次に、生成されたエッジ画像から円形領域が抽出される。円形領域の抽出方法としては、例えばハフ変換が使用される。そして、エッジ画像における円形領域の位置と同じ位置に存在する撮像画像11での円領域が、お菓子領域23とされる。
別の方法としては、背景差分法とラベリングを用いて撮像画像11からお菓子領域23を抽出する第2の抽出方法がある。この第2の抽出方法では、まず、撮像画像11と背景画像(撮像画像11の背景だけが映る画像)との差分を示す背景差分画像が生成され、生成された背景差分画像が2値化される。そして、2値の背景差分画像に対して4連結等のラベリングが行われる。そして、2値の背景差分画像における、ラベリングの結果得られた連結領域(独立領域)の位置と同じ位置に存在する撮像画像11での部分領域が、お菓子領域23とされる。
本実施の形態では、抽出部31は、上記の2つの方法とは異なる方法で、撮像画像11からお菓子領域23を抽出する。以下に本実施の形態に係る抽出部31の動作について説明する。なお、抽出部31は、上記の2つの方法のどちらか一方を用いて撮像画像11からお菓子領域23を抽出しても良い。
まず、抽出部31は、撮像画像11と背景画像60(撮像画像11の背景だけが映る画像)との差分を示す背景差分画像を生成し、生成した背景差分画像を2値化する。図6は背景画像60を模式的に示す図であって、図7は2値の背景差分画像61を模式的に示す図である。図7に示される2値の背景差分画像61では、画素値が“1”の領域(高輝度領域)は黒色で示され、画素値が“0”の領域(低輝度領域)は白色で示される。背景画像60は、判定装置3の記憶部310に予め記憶されている。
次に、抽出部31は、2値の背景差分画像61に対して、お菓子100の外形を示す2値の外形テンプレート62を用いたテンプレートマッチングを行う。つまり、抽出部31は、背景差分画像61において、外形テンプレート62と類似する領域がどこに存在するかを特定する。言い換えると、抽出部31は、背景差分画像61において、外形テンプレート62が示すお菓子100の外形と一致する領域がどこに存在するかを特定する。図8は外形テンプレート62を模式的に示す図である。外形テンプレート62は、判定装置3の記憶部310に予め記憶されている。
テンプレートマッチングでは、抽出部31は、図9に示されるように、背景差分画像61上で外形テンプレート62をラスタスキャン方向に少しずつ移動させる。言い換えれば、抽出部31は、背景差分画像61上で外形テンプレート62をラスタスキャンさせる。このとき、抽出部31は、外形テンプレート62の各位置において、当該外形テンプレート62と、それに重なる、背景差分画像61の部分領域とのAND画像を生成する。これにより、複数の2値のAND画像が生成される。そして、抽出部31は、生成した複数のAND画像のうち、画素値が“1”の画素(高輝度画素)の数が最も多いAND画像の生成で使用された外形テンプレート62の背景差分画像61上の位置を特定する。この位置は、背景差分画像61において、外形テンプレート62と類似した領域が存在する位置である。そして、抽出部31は、図10に示されるように、特定した位置と同じ位置に存在する撮像画像11での部分領域11aを、お菓子領域23として抽出する。言い換えれば、抽出部31は、特定した位置と同じ位置に外形テンプレート62を撮像画像11に配置した際に、当該外形テンプレート62と重なる、撮像画像11での部分領域11aを、お菓子領域23として抽出する。このとき、当該部分領域11aにおいて、その上の外形テンプレート62が示す円形よりも外側の各画素の画素値を零としたものをお菓子領域23としても良い。抽出部31で抽出されるお菓子領域23はグレースケール画像である。本実施の形態では、お菓子領域23の外形は四角形であるが、円形であっても良い。
<特定部について>
特定部32は、例えばMSER(Maximally Stable Extremal Regions)を使用して、抽出部31で抽出されたお菓子領域23において局所領域を特定する。特定部32は、MSER以外の方法で局所領域を特定しても良い。
特定部32は、MSERを使用して局所領域を特定する場合には、まずお菓子領域23を2値化する。このとき、特定部32は、2値化に使用するしきい値を変化させながらお菓子領域23を2値化する。これにより、互いに異なるしきい値が使用されて2値化された複数の2値化画像が得られる。次に特定部32は、得られた複数の2値化画像において、当該複数の2値化画像の間で画素値が変化しない部分領域(複数の画素の塊)を特定する。言い換えれば、特定部32は、得られた複数の2値化画像において、当該複数の2値化画像の間で画素値が安定している部分領域を特定する。そして、特定部32は、特定した部分領域の2値化画像での位置と同じ位置に存在するお菓子領域23での部分領域を局所領域とする。これにより、特定部32では、お菓子領域23における、画素値が一様な部分領域が、意味のある領域として特定される。
本実施の形態では、お菓子100が映るお菓子領域23において、当該お菓子100に付された模様が映る領域が局所領域として特定される。図11は良品のお菓子100が映るお菓子領域23において特定される局所領域230a,230bを模式的に示す図である。局所領域230aは、お菓子領域23において、良品のお菓子100に付された「A」の模様が映る領域である。局所領域230bは、お菓子領域23において、良品のお菓子100に付された「B」の模様が映る領域である。良品のお菓子100が映るお菓子領域23では、当該良品のお菓子100に付された「A」の模様が映る領域と、当該良品のお菓子100に付された「B」の模様が映る領域とが、別々に局所領域として特定される。
このように、お菓子領域23において、互いに独立した複数の特徴的部分が存在する場合には、当該複数の特徴的部分はそれぞれ別の局所領域として特定される。
<フィッティング部について>
フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。特定部32で複数の局所領域が特定された場合には、フィッティング部33は、当該複数の局所領域に対して複数の楕円をそれぞれフィッティングする。図12は、図11に示される局所領域230a,230bに対して楕円70a,70bがそれぞれフィッティングされた様子を示す図である。以下に、局所領域に対して楕円をフィッティングする方法の一例について説明する。
フィッティング部33は、お菓子領域23に含まれる局所領域を構成する複数の画素の位置に基づいて、当該局所領域にフィッティングする楕円の位置情報及び形状情報を生成する。本実施の形態では、フィッティング部33は、局所領域にフィッティングする楕円の中心位置を、当該楕円の位置情報として求める。またフィッティング部33は、当該楕円の長軸及び短軸の長さを、当該楕円の形状情報として求める。
フィッティング部33は、局所領域を構成する複数の画素の位置の平均値を算出し、当該平均値を、当該局所領域にフィッティングする楕円の中心位置とする。つまり、フィッティング部33は、局所領域を構成する複数の画素のx座標及びy座標の平均値を算出し、当該平均値を、当該局所領域にフィッティングする楕円の中心のx座標及びy座標とする。またフィッティング部33は、局所領域を構成する複数の画素のx座標及びy座標を使用して、当該局所領域での画素のx座標及びy座標についての共分散行列を求める。そして、フィッティング部33は、求めた共分散行列についての2つの固有値を求める。フィッティング部33は、局所領域にフィッティングする楕円の長軸及び短軸の長さを、この2つの固有値から求める。これにより、局所領域にフィッティングする楕円の位置及び形状が定まり、局所領域に対して楕円がフィッティングされる。なお、フィッティング部33が求める2つの固有値が同じ値である場合には、局所領域にフィッティングする楕円は真円となる。
<判定部について>
判定部34は、フィッティング部33で求められた楕円の位置情報及び形状情報を特徴量とし、当該特徴量と標準特徴量22とを比較する。具体的には、判定部34は、フィッティング部33で求められた楕円の中心位置、長軸の長さ及び短軸の長さを特徴量とし、当該特徴量と標準特徴量22とを比較する。そして、判定部34は、その比較結果に基づいて、撮像画像11に映るお菓子100が正しく製造されているか否かを判定する。
標準特徴量22には標準楕円情報が含まれている。標準特徴量22の生成には、良品のお菓子100が映る撮像画像11が使用される。以下に標準特徴量22の生成方法について説明する。
製造ラインが実稼働していないときには、標準特徴量22を得るために、搬送コンベア101上に良品のお菓子100が載置される。画像処理システム1では、搬送コンベア101上に載置された良品のお菓子100が映る撮像画像11が生成される。そして、判定装置3では、抽出部31が、上記と同様にして、当該撮像画像11からお菓子領域23を抽出し、特定部32が、当該お菓子領域23において局所領域を特定する。本実施の形態では、上述の図12に示されるように、良品のお菓子100が映るお菓子領域23において2つの局所領域230a,230bが特定される。フィッティング部33は、特定部32で特定された複数の局所領域230a,230bに対して複数の楕円をそれぞれフィッティングする。このように、良品のお菓子100が映る撮像画像11から得られた楕円を「標準楕円」と呼ぶ。本実施の形態では、標準楕円に関する楕円情報が標準楕円情報となる。標準楕円情報には、標準楕円の位置情報及び形状情報が含まれている。具体的には、標準楕円情報には、標準楕円の中心位置、長軸の長さ及び短軸の長さが含まれている。本実施の形態では、良品のお菓子100が映る撮像画像11から複数の標準楕円が得られることから、標準特徴量22には、当該複数の標準楕円にそれぞれ対応する複数の標準楕円情報が含まれる。製造ラインが実稼働していないときに生成された標準特徴量22は判定装置3の記憶部310に記憶される。
以後、製造ラインが実稼働している場合にフィッティング部33で得られる楕円(良否判定を行うお菓子100が映る撮像画像11から得られる楕円)を、標準楕円と区別するために「対象楕円」と呼ぶことがある。
ここで、対象楕円に関する楕円情報から成る特徴量と標準特徴量22とが類似する場合には、処理対象画像11に映るお菓子100の特徴と、良品のお菓子100の特徴とが類似すると考えることができる。したがって、この場合には、処理対象画像11に映るお菓子100が良品のお菓子100に相当すると、つまり正しく製造されていると判定することができる。
一方で、対象楕円に関する楕円情報から成る特徴量と標準特徴量22とが類似しない場合には、処理対象画像11に映るお菓子100の特徴と、良品のお菓子100の特徴とが類似しないと考えることができることから、この場合に、処理対象画像11に映るお菓子100が正しく製造されていないと判定しても問題が無いように思える。しかしながら、対象楕円に関する楕円情報から成る特徴量と標準特徴量22とが類似しない場合に、この条件だけで、処理対象画像11に映るお菓子100が正しく製造されていないと判定する場合には、処理対象画像11に映る良品のお菓子100を、不良品であると誤って判定する可能性がある。以下にこの点について説明する。
本実施の形態では、撮像装置2は、不揃いな向きで搬送されるお菓子100を撮像し、当該お菓子100が映る撮像画像10を生成する。そのため、判定装置3の変換部30が生成する撮像画像11に映るお菓子100の周方向の向き(お菓子100の周方向での、当該お菓子に付された模様の向き)が常に同じであるとは限らない。つまり、ある撮像画像10に映るお菓子100の姿勢が、別の撮像画像10に映るお菓子100の姿勢を、当該お菓子100の両主面の中心を通る、厚み方向に沿った回転軸の周りに回転させたような姿勢となる可能性がある。したがって、良品のお菓子100が映る撮像画像11から得られた対象楕円に関する楕円情報が常に同じであるとは限らない。これにより、撮像画像11に良品のお菓子100が映っていたとしても、当該撮像画像11から得られた対象楕円に関する楕円情報から成る特徴量が標準特徴量22と類似しないことがある。よって、対象楕円に関する楕円情報から成る特徴量と標準特徴量22とが類似しない場合に、処理対象画像11に映るお菓子100が正しく製造されていないと判定した場合には、処理対象画像11に映る良品のお菓子100を、不良品であると誤って判定する可能性がある。
そこで、本実施の形態では、判定部34は、お菓子領域23に含まれる局所領域にフィッティングされた対象楕円が、当該お菓子領域23の中心の周りに回転させられることによって得られる複数の回転楕円に関する複数の回転楕円情報を取得する。そして、判定部34は、取得した複数の回転楕円情報を特徴量とし、当該特徴量と標準特徴量とを比較する。お菓子領域23において複数の局所領域が特定される場合には、当該複数の局所領域のそれぞれについて複数の回転楕円情報が生成され、各回転楕円情報が特徴量とされる。
ここで、複数の回転楕円には、回転角度が0°の対象楕円も含むものとする。つまり、複数の回転楕円には、局所領域にフィッティングされた楕円そのものも含むものとする。したがって、複数の回転楕円情報には対象楕円に関する楕円情報が含まれる。回転角度が0°の対象楕円は、回転角度が360°の対象楕円であるとも言える。
図13は対象楕円70がお菓子領域23の中心23cの周りに回転させられることによって得られる複数の回転楕円75の一部を例示する図である。図13には、対象楕円70を含む3つの回転楕円75が示されている。図13には、対象楕円70の中心70cと、各回転楕円75の中心75cとが示されている。
このように、対象楕円がお菓子領域23の中心の周りに回転させられることによって得られる、対象楕円を含む複数の回転楕円に関する複数の回転楕円情報が特徴量とされることによって、不揃いな向きで搬送されるお菓子100が撮像される場合であっても、撮像画像11に映るお菓子100が正しく製造されているか否かを適切に判定することができる。以下に判定部34の動作について詳細に説明する。以後、製造ラインが実稼働している場合に判定部34で使用される特徴量を、標準特徴量と区別するために「対象特徴量」と呼ぶことがある。
図14は判定部34の動作を示すフローチャートである。フィッティング部33がお菓子領域23に含まれる局所領域に対して楕円をフィッティングすると、図14に示されるように、ステップs21において、判定部34は回転楕円情報を取得する。ここで取得される回転楕円情報は、回転角度が0°の対象楕円に関する楕円情報、つまり、フィッティング部33で取得された楕円そのものの楕円情報である。フィッティング部33において複数の対象楕円が得られる場合には、当該複数の対象楕円にそれぞれ対応する複数の回転楕円情報が取得される。ステップs21では、少なくとも一つの回転楕円情報が取得される。なお、良品のお菓子100が映る処理対象画像11からは2つの楕円が得られることから、この場合にはステップs21では2つの回転楕円情報が得られる。
次にステップs22において、判定部34は、ステップs21で取得した少なくとも一つの回転楕円情報を対象特徴量とし、対象特徴量と標準特徴量とが類似する度合いを示す評価値を求める。具体的には、判定部34は、対象特徴量を構成する少なくとも一つの回転楕円情報と類似する標準楕円情報が、標準特徴量に含まれているか否かを判定する。そして、判定部34は、類似する情報が標準特徴量に含まれると判定した回転楕円情報の数に応じた評価値を求める。具体的には判定部34は以下の式(1)を用いて評価値αを求める。
α=N1/N2 ・・・(1)
ここでN1は、類似する情報が標準特徴量に含まれると判定された、対象特徴量に含まれる回転楕円情報の数を示す。N2は、標準特徴量に含まれる標準楕円情報の総数を示す。本実施の形態では、N2=2となる。
本実施の形態では、対象特徴量に含まれる回転楕円情報には、回転楕円の中心位置、長軸の長さ及び短軸の長さが含まれている。判定部34は、例えば、回転楕円情報に含まれる回転楕円の中心位置と、標準楕円情報に含まれる標準楕円の中心位置との距離が所定値以下であり、かつ当該回転楕円の長軸の長さと、当該標準楕円の長軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円の短軸の長さと、当該標準楕円の短軸の長さとの差の絶対値が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。回転楕円情報と標準楕円情報とが類似する場合には、図15に示されるように、当該回転楕円情報に対応する回転楕円75と、当該標準楕円情報に対応する標準楕円80とが位置及び形状において類似する。
判定部34は、式(1)を用いて評価値αを求めると、ステップs23において、直近のステップs21での回転楕円(ステップs21で取得した回転楕円情報に対応する回転楕円)が、(360°−β)回転した対象楕円であるか否かを判定する。判定部34は、ステップs21での回転楕円が(360°−β)回転した対象楕円ではないと判定すると、再度ステップs21を実行して回転楕円情報を取得する。ここでは、判定部34は、前回のステップs21において取得した回転楕円情報に対応する回転楕円が、お菓子領域23の中心の周りに所定の角度βだけ回転させられることによって得られる回転楕円に関する回転楕円情報を取得する。前回のステップs21での回転楕円が、例えば、βだけ回転した対象楕円である場合には、今回のステップs21では、対象楕円がお菓子領域23の中心の周りに2βだけ回転させられることによって得られる回転楕円に関する回転楕円情報が取得される。βは例えば1°あるいは2°である。
なお、前回のステップs21において複数の回転楕円情報が取得された場合には、判定部34は、当該複数の回転楕円情報にそれぞれ対応する複数の回転楕円が、お菓子領域23の中心の周りに所定の角度βだけ回転させられることによって得られる複数の回転楕円に関する複数の回転楕円情報を取得する。
ステップs21において少なくとも一つの回転楕円情報が取得されると、判定部34は、再度ステップs22を実行して、当該少なくとも一つの回転楕円情報から成る対象特徴量と標準特徴量とが類似する度合いを示す評価値αを式(1)を用いて求める。その後、ステップs23が再度実行される。
判定部34は、ステップs23において、直近のステップs21での回転楕円が(360°−β)回転した対象楕円であると判定すると、ステップs24を実行する。ステップs24において、判定部34は、求めた複数の評価値αのうちの最大値がしきい値以上か否かを判定する。判定部34は、当該最大値がしきい値以上である場合には、つまり、当該最大値を求める際に使用した対象特徴量及び標準特徴量が互いに類似する場合には、ステップs25において、処理対象画像11に映るお菓子100が正しく製造されていると判定する。一方で、判定部34は、当該最大値がしきい値未満である場合には、つまり、複数の評価値αを求める際にそれぞれ使用した複数の対象特徴量のすべてが標準特徴量に類似しない場合には、ステップs26において、処理対象画像11に映るお菓子100が正しく製造されていない、つまり不良品であると判定する。処理対象画像11に映るお菓子100の模様が崩れていたり、当該お菓子100が欠けたりしている場合には、判定部34では、当該お菓子100が不良品であると判定される。ステップs24で使用されるしきい値は、例えば“1”に設定される。
なお上記の例では、判定部34は、求めた複数の評価値αのうちの最大値がしきい値以上である場合に、処理対象画像11に映るお菓子100が正しく製造されていると判定しているが、当該複数の評価値αにおいて、しきい値以上の評価値αが存在する場合に、処理対象画像11に映るお菓子100が正しく製造されていると判定しても良い。この場合には、当該複数の評価値αにおいて、しきい値以上の評価値αが存在しないときには、処理対象画像11に映るお菓子100が正しく製造されていないと判定される。
また、評価値α=N1としても良い。この場合には、ステップs24で使用されるしきい値は例えば“2”に設定される。
<回転楕円情報の取得方法>
ステップs21での回転楕円情報の取得方法としては例えば2つの方法が考えられる。第1の方法では、判定部34は、上述の図13に示されるように、お菓子領域23において、対象楕円70を当該お菓子領域23の中心23cの周りに所定の角度だけ実際に回転させて回転楕円75を生成する。そして、判定部34は、生成した回転楕円75の中心75cの位置、長軸の長さ及び短軸の長さを求めて、それらを当該回転楕円75に関する回転楕円情報とする。判定部34は、所定の角度を変化させることによって、複数の回転楕円情報を生成する。
第2の方法では、判定部34は、対象楕円を実際に回転させずに回転楕円情報を取得する。具体的には、判定部34は、対象楕円70が所定の角度(β、2β、3β等)だけお菓子領域23の中心23cの周りに回転させられることによって得られる回転楕円の回転楕円情報を求める際には、図16に示されるように、対象楕円70に関する楕円情報に含まれる、対象楕円70の中心70cの位置に存在する仮想点Pを、お菓子領域23の中心23cの周りに当該所定の角度だけ回転させる。そして、判定部34は、回転後の仮想点Pの位置71を、当該回転楕円情報に含まれる、回転楕円の中心の位置とする。判定部34は、当該所定の角度を変化させることによって、対象楕円がお菓子領域23の中心23cの周りに回転させられることによって得られる複数の回転楕円の中心の位置を求める。
また第2の方法では、判定部34は、対象楕円に関する楕円情報に含まれる対象楕円の長軸及び短軸の長さを、対象楕円がお菓子領域23の中心23cの周りに回転させられることによって得られる複数の回転楕円のそれぞれの長軸及び短軸の長さとする。
このように、第2の方法では、対象楕円の位置情報が示す位置に存在する仮想点Pがお菓子領域23の中心の周りに回転させられる。そして、それによって得られる、回転後の仮想点Pについての複数の位置が、それぞれ、複数の回転楕円の位置とされることによって、複数の回転楕円の位置情報が取得される。また、対象楕円の長軸及び短軸の長さがそのまま複数の回転楕円のそれぞれの長軸及び短軸の長さとされることによって、当該複数の回転楕円の形状情報が取得される。したがって、対象楕円を実際に回転させることによって複数の回転楕円情報を取得する第1の方法と比較して、第2の方法では、複数の回転楕円情報を簡単に取得することができる。
なお上記の例では、特徴量となる楕円情報に含まれる楕円の形状情報として、当該楕円の長軸の長さ及び短軸の長さが採用されているが、これらの代わりに、当該楕円の長短軸比が採用されても良い。
以上のように、本実施の形態では、お菓子領域23における特徴的な局所領域に対してフィッティングされた楕円に関する楕円情報が、撮像画像11に映るお菓子100の特徴を示す特徴量とされている。したがって、お菓子領域23における、楕円内の部分画像から、SIFT(Scale Invariant Feature Transformation)、SURF(Speeded Up Robust Features)等の特徴量が取得される場合と比較して、特徴量を簡単に取得することができる。よって、撮像画像11に映るお菓子100が正しく製造されているか否かを簡単に判定することができる。
また本実施の形態では、対象楕円がお菓子領域23の中心の周りに回転させられることによって得られる、対象楕円を含む複数の回転楕円に関する複数の回転楕円情報が特徴量とされている。したがって、不揃いな向きで搬送されるお菓子100が撮像される場合であっても、言い換えれば、撮像画像11に映るお菓子100の周方向の向きが一定しない場合であっても、撮像画像11に映るお菓子100が正しく製造されているか否かを適切に判定することができる。
<各種変形例>
以下に本実施の形態の各種変形例について説明する。
<第1変形例>
お菓子100に対して、大柄な連続する模様が1つだけ付されている場合には、判定装置3は、撮像画像11に映るお菓子100が正しく製造されているか否かを正しく判定できない可能性がある。以下にこの点について説明する。
図17は、良品のお菓子100が映る撮像画像11から得られたお菓子領域23Aにおいて特定された局所領域230Aに対して設定された標準楕円70Aの一例を示す図である。図18は、不良品のお菓子100が映る撮像画像11から得られたお菓子領域23Bおいて特定された局所領域230Bに対して設定された対象楕円70Bの一例を示す図である。図18の例では、お菓子領域23Bに映るお菓子100の模様の一部が欠けている。
お菓子100に対して、大柄な連続する模様が1つだけ付されている場合には、図17に示されるように、良品のお菓子100が映る撮像画像11からは1つの標準楕円70Aが得られる。また図18に示されるように、不良品のお菓子100が映る撮像画像11からも、1つの対象楕円70Bが得られることがある。
お菓子100に対して、大柄な連続する模様が1つだけ付されている場合には、図17に示されるように、標準楕円70Aの中心位置はお菓子領域23Aの中心位置に近くなり、標準楕円70Aの形は真円に近くなる。また図18に示される、不良品のお菓子100が映る撮像画像11から取得された対象楕円70Bについても、その中心位置がお菓子領域23Bの中心位置に近く、その形は真円に近い。この場合には、不良品のお菓子100が映る撮像画像11から取得された対象楕円70Bが、お菓子領域23Bの中心の周りに回転させられることによって得られる、対象楕円70Bを含む複数の回転楕円に関する複数の回転楕円情報には、標準楕円70Aに関する標準楕円情報と類似する情報が含まれる可能性がある。よって、判定部34は、撮像画像11に映るお菓子100が良品であるか否かを正しく判定できない可能性がある。
そこで、本変形例では、お菓子100に対して、大柄な連続する模様が1つだけ付されている場合であっても、お菓子100の良否判定の精度を向上させることが可能な技術について説明する。
本変形例に係る画像処理システム1では、判定装置3のフィッティング部33は、お菓子領域23を同心円状に分割することによって、当該お菓子領域23に含まれる局所領域を互いに独立した複数の分割領域に分割する。そして、フィッティング部33は、得られた複数の分割領域に対して複数の楕円をそれぞれフィッティングする。なお、お菓子領域23において複数の局所領域が特定された場合には、当該複数の局所領域のそれぞれが複数の分割領域に分割され、各分割領域に対して楕円がフィッティングされる。
図19はお菓子領域23がフィッティング部33によって同心円状に分割される様子を示す図である。図19に示されるお菓子領域23では、説明の便宜上、お菓子100の外形だけが示されている。
図19に示される例では、お菓子領域23が、同心円90を構成する、互いに半径が異なる2つの円90a,90bによって、同心円状に分割される。これにより、お菓子領域23は、3つの部分領域231a〜231cに分割される。部分領域231aは、お菓子領域23における、円90aの内側の領域である。部分領域231bは、お菓子領域23における、円90aの外側かつ円90bの内側の領域である。そして、部分領域231cは、お菓子領域23における、当該お菓子領域23の外形23bの内側かつ円90bの外側の領域である。
ここで、お菓子領域23に映るお菓子100の外形100bを円90cとすると、円90a,90b,90cの半径は、この順で大きくなっている。そして、円90a,90b,90cの半径の比は、1:2:3となっている。本実施の形態では、フィッティング部33は、複数の円90a,90b,90cの半径の比が常に1:2:3となるようにお菓子領域23を同心円状に分割する。つまり、本実施の形態では、フィッティング部33は、抽出部31が複数の撮像画像11からそれぞれ抽出した複数のお菓子領域23の間で、お菓子領域23に映るお菓子100の外形100bを含む複数の円90a,90b,90cの半径の比が一定(1:2:3)となるように、当該複数のお菓子領域23のそれぞれを同心円状に分割する。なお、複数の円90a,90b,90cの半径の比は、1:2:3以外であっても良い。また、上述の第1の抽出方法あるいは第2の抽出方法でお菓子領域23が抽出される場合には、当該お菓子領域23の外形が、当該お菓子領域23に映るお菓子100の外形100bとなる。
図20は、図17に示されるお菓子領域23Aが同心円状に分割される様子を示す図である。図21は、図18に示されるお菓子領域23Bが同心円状に分割される様子を示す図である。図20に示されるように、お菓子領域23Aが同心円状に分割されることによって、当該お菓子領域23Aに含まれる局所領域230Aが、互いに独立した複数の分割領域230A1,230A2,230A3,230A4に分割される。また図21に示されるように、お菓子領域23Bが同心円状に分割されることによって、当該お菓子領域23Bに含まれる局所領域230Bが、互いに独立した複数の分割領域230B1,230B2,230B3,230B4に分割される。図20,21を比較すると、お菓子100での模様が欠けている部分に対応する分割領域230B3の形状は、良品のお菓子100が映るお菓子領域23Aでの分割領域230A3の形状と大きく異なっている。
なお図20では、局所領域230Aが複数の分割領域230A1,230A2,230A3,230A4に分割される様子が理解され易いように、便宜上、分割領域230A1,230A2,230A3,230A4内には斜線ハッチングが示されている。同様に、図21では、局所領域230Bが複数の分割領域230B1,230B2,230B3,230B4に分割される様子が理解され易いように、便宜上、分割領域230B1,230B2,230B3,230B4内には斜線ハッチングが示されている。
フィッティング部33は、お菓子領域23に含まれる局所領域を複数の分割領域に分割すると、当該複数の分割領域に対して複数の楕円をそれぞれフィッティングする。図22は、図20に示される複数の分割領域230A1,230A2,230A3,230A4に対して、複数の楕円70A1,70A2,70A3,70A4がそれぞれフィッティングされる様子を示す図である。図23は、図21に示される複数の分割領域230B1,230B2,230B3,230B4に対して、複数の楕円70B1,70B2,70B3,70B4がそれぞれフィッティングされる様子を示す図である。複数の楕円70A1,70A2,70A3,70A4のそれぞれは標準楕円である。
図22,23に示されるように、良品のお菓子100が映るお菓子領域23Aから得られる複数の楕円70A1〜70A4のうちの楕円70A3と、不良品のお菓子100が映るお菓子領域23Bから得られた複数の楕円70B1〜70B4のうちの楕円70B3とは、位置及び形において、異なっている。したがって、処理対象画像11から抽出されたお菓子領域23から、本変形例にようにして得られた複数の対象楕円に関する複数の楕円情報を特徴量とすることによって、当該処理対象画像11に映るお菓子100が良品であるか否かをより正確に判定することができる。
なお、お菓子領域23において複数の局所領域が特定される場合には、当該複数の局所領域のそれぞれが複数の分割領域に分割される。したがって、当該複数の局所領域のそれぞれについて、複数の楕円が求められる。本変形例では、お菓子領域23において特定される局所領域の数にかかわらず、フィッティング部33では複数の楕円が得られる。
本変形例に係る判定部34は、上記と同様にして、処理対象画像11に映るお菓子100が正しく製造されているか否かを判定する。以下に図14を参照して、本変形例に係る判定部34の動作について説明する。
フィッティング部33において複数の対象楕円が得られると、図14に示されるように、ステップs21において、判定部34は当該複数の対象楕円にそれぞれ対応する複数の回転楕円情報を取得する。ここで取得される複数の回転楕円情報は、回転角度が0°の複数の対象楕円に関する複数の楕円情報、つまり、フィッティング部33で取得された複数の対象楕円そのものに関する複数の楕円情報である。なお、図22に示されるように、良品のお菓子100が映るお菓子領域23A(図17に示されるお菓子領域23A)からは4つの楕円が得られることから、この場合にはステップs21では4つの回転楕円情報が得られる。
次にステップs22において、判定部34は、ステップs21で取得した複数の回転楕円情報を対象特徴量とし、対象特徴量と標準特徴量とが類似する度合いを示す評価値αを、上記の式(1)を使用して求める。本変形例では、式(1)中のN2は“4”となる。
判定部34は、式(1)を用いて評価値αを求めると、ステップs23において、直近のステップs21での複数の回転楕円がそれぞれ(360°−β)回転した複数の対象楕円であるか否かを判定する。判定部34は、ステップs23での判定がNoであれば、再度ステップs21を実行して複数の回転楕円情報を取得する。ここでは、判定部34は、前回のステップs21において取得した複数の回転楕円情報に対応する複数の回転楕円が、お菓子領域23の中心の周りに所定の角度βだけ回転させられることによって得られる複数の回転楕円に関する複数の回転楕円情報を取得する。前回のステップs21での複数の回転楕円が、例えば、βだけ回転した複数の対象楕円である場合には、今回のステップs21では、複数の対象楕円がお菓子領域23の中心の周りに2βだけ回転させられることによって得られる複数の回転楕円に関する複数の回転楕円情報が取得される。
ステップs22において複数の回転楕円情報が取得されると、判定部34は、再度ステップs23を実行して、当該複数の回転楕円情報から成る対象特徴量と標準特徴量とが類似する度合いを示す評価値αを式(1)を用いて求める。その後、ステップs23が再度実行される。
判定部34は、ステップs23での判定がYesであれば、ステップs24において、求めた複数の評価値のうちの最大値がしきい値以上か否かを判定する。判定部34は、当該最大値がしきい値以上である場合には、つまり、当該最大値を求める際に使用した対象特徴量及び標準特徴量が互いに類似する場合には、ステップs25において、処理対象画像11に映るお菓子100が良品であると判定する。一方で、判定部34は、当該最大値がしきい値未満である場合には、つまり、複数の評価値αを求める際にそれぞれ使用した複数の対象特徴量のすべてが標準特徴量に類似しない場合には、ステップs26において、処理対象画像11に映るお菓子100が不良品であると判定する。本変形例では、ステップs24で使用されるしきい値は、例えば“0.75”あるいは“1”に設定される。
以上のように、本変形例では、お菓子領域23が同心円状に分割されることによって、当該お菓子領域23に含まれる局所領域が複数の分割領域に分割され、当該複数の分割領域に対して複数の楕円がそれぞれフィッティングされる。そして、当該複数の楕円に関する複数の楕円情報が特徴量とされる。したがって、お菓子100に対して、大柄な連続する模様が1つだけ付されている場合であっても、不良品のお菓子100が映る撮像画像11から取得された特徴量と標準特徴量とが類似することを抑制することができる。よって、お菓子100の良否判定の精度を向上させることができる。
また、撮像装置2がお菓子100を撮像する際の当該お菓子100と当該撮像装置2との距離がばらつく場合には、撮像画像11においてお菓子100が大きく映ったり、小さく映ったりして、撮像画像11に映るお菓子100の大きさがばらつく。その結果、良品のお菓子100が映るお菓子領域23での局所領域の大きさがばらつく。このような場合に、お菓子領域23に映るお菓子100の外形の大きさにかかわらず、お菓子領域23に設定される円90a,90bの半径が一定とされると、お菓子領域23に映る良品のお菓子100の外形の大きさに応じて(良品のお菓子100が映るお菓子領域23での局所領域の大きさに応じて)、お菓子領域23に含まれる局所領域の分割態様がばらつく。したがって、良品のお菓子100が映るお菓子領域23から取得される複数の楕円の位置及び形がばらつき、その結果、良品のお菓子100が映るお菓子領域23から取得される特徴量がばらつき、撮像画像11に映るお菓子100の良否判定を正しく行えないことがある。
これに対して、本変形例では、抽出部31が複数の撮像画像11からそれぞれ抽出した複数のお菓子領域23の間で、お菓子領域23が示すお菓子100の外形100bを含む複数の円90a,90b,90cの半径の比が一定となるように、当該複数のお菓子領域23のそれぞれが同心円状に分割される。したがって、撮像画像11に映る良品のお菓子100の外形の大きさがばらつく場合であっても(良品のお菓子100が映るお菓子領域23での局所領域の大きさがばらつく場合であっても)、良品のお菓子100が映るお菓子領域23に含まれる局所領域の分割態様がばらつくことを抑制することができる。よって、良品のお菓子100が映るお菓子領域23から取得される複数の楕円の位置及び形がばらつくことを抑制することができる。その結果、良品のお菓子100が映るお菓子領域23から取得される特徴量がばらつくことが抑制され、撮像画像11に映るお菓子100の良否判定の精度がさらに向上する。
<第2変形例>
本変形例に係る画像処理システム1は、上述の第1変形例に係る画像処理システム1と比較して、評価値αの求めた方が異なっている。つまり、本変形例に係る画像処理システム1は、上述の第1変形例に係る画像処理システム1と比較して、上述のステップs22での動作が異なっている。本変形例では、判定部34は、評価値αを求める際に、類似する標準楕円情報が標準特徴量に含まれると判定した、対象特徴量に含まれる回転楕円情報に対応する回転楕円の位置に応じて重み付けを行う。以下に本変形例について詳細に説明する。
本変形例では、判定部34は、第1変形例と同様に、上述のステップs22において、対象特徴量を構成する複数の回転楕円情報のそれぞれについて、当該回転楕円情報と類似する標準楕円情報が、標準特徴量に含まれているか否かを判定する。そして、判定部34は、類似する標準楕円情報が標準特徴量に含まれると判定した回転楕円情報(以後、「類似回転楕円情報」と呼ぶことがある)に対して部分評価値を与える。ここで、判定部34は、類似回転楕円情報に対応する回転楕円の位置に応じて、当該類似回転楕円情報に与える部分評価値を重み付けする。
類似回転楕円情報に対応する回転楕円の位置に応じて部分評価値を具体的にどのように重み付けするかについては、良品のお菓子100での模様の特徴的部分の位置に応じて決定される。上述の図17に示されるように、アルファベット「A」の模様の中心が、良品のお菓子100の一方主面100aの中心付近に位置するように、当該模様が当該一方主面100aに付されている場合には、当該一方主面100aの中心付近に、当該模様の特徴的部分が位置する。このような場合には、判定部34は、類似回転楕円情報に対応する回転楕円の位置がお菓子領域23の中心に近いほど、当該類似回転楕円情報に与える部分評価値を大きくする。例えば、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の最も内側の部分領域231a(図19参照)に存在する場合には、その類似回転楕円情報には部分評価値“1.5”を付与する。また、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の部分領域231bに存在する場合には、その類似回転楕円情報には部分評価値“1”を付与する。そして、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の最も外側の部分領域231cに存在する場合には、その類似回転楕円情報には部分評価値“0.5”を付与する。
判定部34は、対象特徴量に含まれる各類似回転楕円情報に対して部分評価値を与えると、与えた部分評価値の総和N11を求める。そして、判定部34は、以下の式(2)を使用して評価値αを求める。
α=N11/N12 ・・・(2)
ここで、N12は、標準特徴量を構成する複数の標準楕円情報のそれぞれに対して、上記と同様にして部分評価値を与えた際の、それらの部分評価値の総和を示している。例えば、図20の例では、N12=1.5+3×1=4.5となる。
なお、良品のお菓子100の一方主面100aの周端部に、当該一方主面100aに付された模様の特徴的部分が位置する場合には、判定部34は、類似回転楕円情報に対応する回転楕円の位置がお菓子領域23の中心から遠いほど、当該類似回転楕円情報に与える部分評価値を大きくしても良い。例えば、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の最も外側の部分領域231cに存在する場合には、その類似回転楕円情報には部分評価値“1.5”を付与する。また、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の部分領域231bに存在する場合には、その類似回転楕円情報には部分評価値“1”を付与する。そして、判定部34は、類似回転楕円情報に対応する回転楕円の中心位置がお菓子領域23の最も内側の部分領域231aに存在する場合には、その類似回転楕円情報には部分評価値“0.5”を付与する。部分評価値の重み付け方法についてはこの限りではない。
このように、判定部34が、評価値αを求める際に、類似回転楕円情報に対応する回転楕円の位置に応じて重み付けを行うことによって、撮像画像11に映るお菓子100の良否判定の精度がさらに向上する。例えば、上記のように、良品のお菓子100での模様の特徴的部分の位置に基づいて、類似回転楕円情報に対応する回転楕円の位置に応じた重み付けを行う場合には、お菓子領域23において、良品のお菓子100での模様の特徴的部分の位置に対応する位置に存在する回転楕円に関する回転楕円情報が標準楕円情報と類似する際に、評価値αを大きくすることができる。つまり、お菓子領域23の局所領域において、良品のお菓子100での模様の特徴的部分と類似する部分が含まれている場合には、評価値αを大きくすることができる。お菓子領域23の局所領域において、良品のお菓子100での模様の特徴的部分と類似する部分が含まれている場合には、処理対象画像11に映るお菓子100が良品である可能性が高いことから、この場合に評価値αを大きくすることによって、処理対象画像11に映るお菓子100が良品であることをより正確に判定することができる。よって、撮像画像11に映るお菓子100の良品判定の精度がさらに向上する。
なお判定部34は、評価値αを求める際に、類似回転楕円情報に対応する回転楕円の大きさに応じて重み付けを行っても良い。例えば、図22に示されるように、良品のお菓子100が映るお菓子領域23Aの局所領域230Aに設定された複数の標準楕円70A1〜70A4のうち、良品のお菓子100での模様の特徴的部分の位置に対応する位置に存在する標準楕円70A1が他の標準楕円70A2〜A4よりも大きい場合には、判定部34は、類似回転楕円情報に対応する回転楕円が大きいほど、当該類似回転楕円情報に与える部分評価値を大きくする。一例としては、判定部34は、類似回転楕円情報に対応する回転楕円の大きさが基準サイズよりも大きければ、その類似回転楕円情報には部分評価値“1.5”を付与する。そして、判定部34は、類似回転楕円情報に対応する回転楕円の大きさが基準サイズ以下であれば、その類似回転楕円情報には部分評価値“0.5”を付与する。
回転楕円の大きさが基準サイズより大きいか否かについては、当該回転楕円の長軸及び短軸の長さに基づいて判定することができる。例えば、回転楕円の長軸及び短軸の長さを掛け合わせて得られる値が基準値よりも大きければ、当該回転楕円の大きさが基準サイズより大きいと判定される。一方で、回転楕円の長軸及び短軸の長さを掛け合わせて得られる値が基準値以下であれば、当該回転楕円の大きさが基準サイズ以下であると判定される。
このように、判定部34が、評価値αを求める際に、類似回転楕円情報に対応する回転楕円の大きさに応じて重み付けを行う場合にも、撮像画像11に映るお菓子100の良否判定の精度がさらに向上する。例えば、上記のように、良品のお菓子100が映るお菓子領域23から得られた複数の標準楕円のうち、良品のお菓子100での模様の特徴的部分の位置に対応する位置に存在する標準楕円の大きさに基づいて、類似回転楕円情報に対応する回転楕円の大きさに応じた重み付けを行う場合には、お菓子領域23の局所領域において、良品のお菓子100での模様の特徴的部分と類似する部分が含まれている際には、評価値αを大きくすることができる。したがって、処理対象画像11に映るお菓子100が良品であることをより正確に判定することができる。よって、撮像画像11に映るお菓子100の良否判定の精度がさらに向上する。
また、部分評価値を具体的にどのように重み付けするかについては、学習によって決定しても良い。つまり、良品のお菓子100が映るお菓子領域23の局所領域を構成する複数の分割領域に対する楕円のフィッティングの結果(良品のお菓子100についての楕円フィッティング結果)と、不良品のお菓子100が映るお菓子領域23の局所領域を構成する複数の分割領域に対する楕円のフィッティングの結果(不良品のお菓子100についての楕円フィッティング結果)とに基づいて、重み付けの方法を決定しても良い。
例えば、不良品のお菓子100についての楕円フィッティング結果では、お菓子領域23の周端部に位置する楕円が得られたものの、良品のお菓子100についての楕円フィッティング結果では、お菓子領域23の周端部に位置する楕円が得られなかった場合を考える。この場合には、判定部34は、類似回転楕円情報に対応する回転楕円の位置がお菓子領域23の周端部に存在する場合には、他の部分に存在する場合と比較して、当該類似回転楕円情報に与える部分評価値を小さくする。
また例えば、不良品のお菓子100についての楕円フィッティング結果では、大きな楕円が得られたものの、良品のお菓子100についての楕円フィッティング結果では、大きな楕円が得られなかった場合を考える。この場合には、判定部34は、類似回転楕円情報に対応する回転楕円の大きさが基準サイズよりも大きい場合には、基準サイズ以下の場合と比較して、当該類似回転楕円情報に与える部分評価値を小さくする。
このように、学習によって重み付け方法が決定されることによって、撮像画像11に映るお菓子100の良否判定の精度がさらに向上する。
<第3変形例>
上記の例では、判定部34が使用する楕円情報(回転楕円情報)には、楕円(回転楕円)の位置情報及び形状情報が含まれていたが、楕円の位置情報及び形状情報のどちらか一方だけが含まれていても良い。また楕円情報には、楕円の傾き情報が含まれていても良い。つまり、判定部34が使用する楕円情報には、楕円の位置情報、形状情報及び傾き情報の少なくとも一つが含まれていても良い。
フィッティング部33は、お菓子領域23に含まれる局所領域を構成する複数の画素の位置に基づいて、当該局所領域にフィッティングする楕円の傾き情報を生成することができる。具体的には、フィッティング部33は、局所領域を構成する複数の画素のx座標及びy座標を使用して、当該局所領域での画素のx座標及びy座標についての共分散行列を求める。そして、フィッティング部33は、求めた共分散行列についての2つの固有ベクトルを求める。この2つの固有ベクトルの一方は、楕円の長軸が延びる方向を示し、当該2つの固有ベクトルの他方は、楕円の短軸が延びる方向を示す。したがって、当該2つの固有ベクトルのそれぞれは、楕円の傾きを示していると言える。フィッティング部33は、共分散行列についての2つの固有ベクトルのうちの一方を、局所領域にフィッティングする楕円の傾き情報とする。
判定部34は、回転楕円情報に回転楕円の中心位置だけが含まれている場合には、上述のステップs22において、回転楕円情報に含まれる回転楕円の中心位置と、標準楕円情報に含まれる標準楕円の中心位置との距離が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。
判定部34は、回転楕円情報に回転楕円の長軸の長さ及び短軸の長さだけが含まれている場合には、上述のステップs22において、回転楕円情報に含まれる回転楕円の長軸の長さと、標準楕円情報に含まれる標準楕円の長軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円の短軸の長さと、当該標準楕円の短軸の長さとの差の絶対値が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。
判定部34は、回転楕円情報に回転楕円の中心位置と固有ベクトルだけが含まれている場合には、上述のステップs22において、回転楕円情報に含まれる回転楕円の中心位置と、標準楕円情報に含まれる標準楕円の中心位置との距離が所定値以下であり、かつ当該回転楕円情報に含まれる固有ベクトルと、当該標準楕円情報に含まれる固有ベクトルとが成す角度が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。
判定部34は、回転楕円情報に回転楕円の長軸の長さ、短軸の長さ及び固有ベクトルだけが含まれている場合には、上述のステップs22において、回転楕円情報に含まれる回転楕円の長軸の長さと、標準楕円情報に含まれる標準楕円の長軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円の短軸の長さと、当該標準楕円の短軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円情報に含まれる固有ベクトルと、当該標準楕円情報に含まれる固有ベクトルとが成す角度が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。
そして、判定部34は、回転楕円情報に回転楕円の中心位置、長軸の長さ、短軸の長さ及び固有ベクトルが含まれている場合には、上述のステップs22において、回転楕円情報に含まれる回転楕円の中心位置と、標準楕円情報に含まれる標準楕円の中心位置との距離が所定値以下であり、かつ当該回転楕円の長軸の長さと、当該標準楕円の長軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円の短軸の長さと、当該標準楕円の短軸の長さとの差の絶対値が所定値以下であり、かつ当該回転楕円情報に含まれる固有ベクトルと、当該標準楕円情報に含まれる固有ベクトルとが成す角度が所定値以下である場合に、当該回転楕円情報と当該標準楕円情報とが類似すると判定する。
<その他の変形例>
上記の例では、撮像画像に映る対象物の外形が円形であったが、当該対象物の外形は、円形に近い多角形、具体的には八角形以上の多角形であっても良い。
また、上記の例では、画像処理システム1は、お菓子を製造する製造ラインに導入されていたが、他の装置あるいは様々な場所に導入されても良い。
例えば、画像処理システム1は、表面に模様が付された貨幣が投入される自動販売機内に導入されても良い。この場合には、自動販売機内に投入される貨幣が撮像装置2で撮像される。自動販売機内では、例えば、貨幣がレール上を回転しながら移動する。撮像装置2は回転する貨幣を撮像する。抽出部31は、撮像画像11から、貨幣が映る貨幣領域を抽出する。特定部32は、貨幣領域において特徴的な局所領域を特定する。フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。判定部34は、フィッティング部33で得られた楕円に関する楕円情報を、撮像画像11に映る貨幣の特徴を示す特徴量とする。そして、判定部34は、求めた特徴量に基づいて、撮像画像11に映る貨幣が正しいものに相当するか否かを判定する。貨幣表面の模様は、お菓子表面の模様と同じように扱うことができることから、上記と同様にして、画像処理システム1は、撮像画像11に映る貨幣が正しいものに相当するか否かを判定することができる。これにより、自動販売機に投入された貨幣の真偽判定を行うことができる。
また、画像処理システム1は、工場内で製品を組み立てる製造ラインに導入されても良い。より具体的には、画像処理システム1は、例えば、複数の部品を基板に実装する製造ラインに導入されても良い。この場合には、複数の部品が実装された基板が撮像装置2で撮像される。抽出部31は、撮像画像11から、複数の部品が実装された基板が映る基板領域を抽出する。特定部32は、基板領域において特徴的な局所領域を特定する。フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。判定部34は、フィッティング部33で得られた楕円に関する楕円情報を、撮像画像11に映る、複数の部品が実装された基板の特徴を示す特徴量とする。そして、判定部34は、求めた特徴量に基づいて、撮像画像11に映る、複数の部品が実装された基板が、複数の部品が正しく実装された基板に相当するか否か、つまり、基板に対して複数の部品が正しく実装されているか否かを判定する。基板上での複数の部品は、お菓子表面の模様と同じように扱うことができる。したがって、上記と同様にして、画像処理システム1は、基板に対して複数の部品が正しく実装されているか否かを判定することができる。これにより、部品の実装間違え及び部品の実装もれ等を検出することができる。
また、画像処理システム1は、回転寿司店に導入されても良い。回転寿司店では、寿司等の商品がのせられた皿の模様に応じた値段が、当該商品の値段とされることがある。そして、回転寿司店では、客が手に取った各皿の模様に応じた値段の合計が、飲食代として計算されることがある。このような回転寿司店に導入される画像処理システム1は、画像処理によって、客が手に取った皿の模様を特定する。
具体的には、寿司等をのせた複数の皿が搭載された回転レーンから客が皿を手に取ったとき、当該皿が撮像装置2で撮像される。抽出部31は、撮像画像11から、皿が映る皿領域を抽出する。特定部32は、皿領域において特徴的な局所領域を特定する。フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。
ここで、皿の周縁部に模様が付されており、寿司等の商品が皿の中央部(模様が無い部分)にのせられるものとする。特定部32で特定された局所領域のうち、皿領域の中央部に存在する局所領域は、皿の特徴を示すものではない。したがって、当該局所領域はフィッティング部33では使用されない。つまり、フィッティング部33は、特定部32で特定された局所領域のうち、皿領域の中央部以外に存在する局所領域(模様に対応する局所領域)のみに対して楕円をフィッティングする。なお、撮像装置2が、商品がのっていない皿を撮像できる場合には、フィッティング部33は、特定部32で特定された局所領域のすべてを使用することができる。
判定部34は、フィッティング部33で得られた楕円に関する楕円情報を、撮像画像11に映る皿の特徴を示す特徴量とする。そして、判定部34は、求めた特徴量に基づいて、撮像画像11に映る皿が、所定の模様を有する皿に相当するか否かを判定する。つまり、判定部34は、特徴量に基づいて、撮像画像11に映る皿の模様が、所定の模様に一致するか否かを判定する。皿表面の模様は、お菓子表面の模様と同じように扱うことができる。したがって、上記と同様にして、画像処理システム1は、撮像画像11に映る皿が、所定の模様を有する皿に相当するか否かを判定することができる。判定部34は、回転寿司店で使用される複数種類の皿にそれぞれ付された複数種類の模様のそれぞれについて、当該模様と、撮像画像11に映る皿の模様とが一致するか否かを判定する。これにより、撮像画像11に映る皿の模様が特定される。したがって、撮像画像11に映る皿の模様に応じた値段を自動的に特定することができる。よって、客が手に取った各皿の模様に応じた値段の合計、つまり飲食代を自動計算することができる。
また、画像処理システム1は、物流センターに導入されても良い。物流センターでは、ダンボール等の荷物に対して、配送先等が記載されたシールが貼られることがある。画像処理システム1は、荷物に貼られたシールが正しいシールに相当するか否か、つまり荷物に正しいシールが貼られているか否かを判定する。この場合には、荷物に貼られたシールが撮像装置2で撮像される。抽出部31は、撮像画像11から、シールが映るシール領域を抽出する。特定部32は、シール領域において特徴的な局所領域を特定する。フィッティング部33は、特定部32で特定された局所領域に対して楕円をフィッティングする。判定部34は、フィッティング部33で得られた楕円に関する楕円情報を、撮像画像11に映るシールの特徴を示す特徴量とする。そして、判定部34は、求めた特徴量に基づいて、撮像画像11に映るシールが正しいシールに相当するか否か、つまり、荷物に正しいシールが貼られているか否かを判定する。シール表面の文字等は、お菓子表面の模様と同じように扱うことができる。したがって、上記と同様にして、画像処理システム1は、荷物に正しいシールが貼られているか否かを判定することができる。これにより、シールの貼り間違え等を検出することができる。
以上のように、画像処理システム1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。