JP6009364B2 - 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム - Google Patents

渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム Download PDF

Info

Publication number
JP6009364B2
JP6009364B2 JP2013013630A JP2013013630A JP6009364B2 JP 6009364 B2 JP6009364 B2 JP 6009364B2 JP 2013013630 A JP2013013630 A JP 2013013630A JP 2013013630 A JP2013013630 A JP 2013013630A JP 6009364 B2 JP6009364 B2 JP 6009364B2
Authority
JP
Japan
Prior art keywords
end point
candidates
spiral spring
point pair
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013013630A
Other languages
English (en)
Other versions
JP2014145626A (ja
Inventor
竹内 英世
英世 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chuo Hatsujo KK
Original Assignee
Chuo Hatsujo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chuo Hatsujo KK filed Critical Chuo Hatsujo KK
Priority to JP2013013630A priority Critical patent/JP6009364B2/ja
Publication of JP2014145626A publication Critical patent/JP2014145626A/ja
Application granted granted Critical
Publication of JP6009364B2 publication Critical patent/JP6009364B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本明細書は、渦巻きばねの形状を計測する技術を開示する。ここでいう渦巻きばねとは、平面視したときに、渦巻状に成形されたばねを意味する。
渦巻きばね等の工業製品の品質検査工程では、製品の形状と設計図面に規定された形状との異同を調べ、製品が設計図面のとおりに成形されているか否かが検査される。設計図面に規定された形状とのずれが許容誤差の製品は良品と判定され、設計図面に規定された形状とのずれが許容誤差を超える製品は不良品として廃棄される。渦巻きばねの品質検査工程では、渦巻きばねを撮影し、コンピュータを利用して撮影した画像から渦巻きばねの形状を計測し、計測された渦巻きばねの形状と設計図面に規定された形状との異同を検査する。品質検査を適切に行うためには、撮影した画像から渦巻きばねの形状を精度良く計測する必要がある。このため、従来から画像処理を用いて物体の形状を計測する技術が開発されている(例えば、特許文献1)。
特開2009−257950号公報
渦巻きばねの形状を正確に計測するためには、渦巻きばねの端面を正確に特定する必要がある。すなわち、渦巻きばねは、ばね鋼材を渦巻き状に加工し、加工後のばね鋼材を切断して製造する。このため、渦巻きばねの端部には、ばね鋼材を切断することによる端面(切断面)が形成される。渦巻きばねの端面を正確に特定できないと、渦巻きばねの形状を正確に特定することができないため、渦巻きばねが設計図面の通りに製造できているか否かを確認できない。
ここで、渦巻きばねの端面は、当該端面と渦巻きばねの他の表面とが接続される位置を特定することによって規定される。例えば、渦巻きばねを平面視した撮影画像には、渦巻きばねの端面と外周面と内周面とが輪郭線として現れる。そして、渦巻きばねの端面は、当該端面と外周面とが接続される点(端点)と、当該端面と内周面とが接続される点(端点)によって規定される。したがって、渦巻きばねの端面を特定するには、渦巻きばねの端面の両端の点(2つの端点)を特定する必要がある。
従来の技術では、撮影された画像から渦巻きばねの輪郭線を抽出し、その輪郭線から渦巻きばねの端面の端点を抽出する。具体的には、輪郭線上の点の直角度が極大となる点を抽出し、抽出された複数の端点候補の中から渦巻きばねの中心からの距離を考慮して端点を選択する。ここで、輪郭線上の点の直角度とは、輪郭線上の点の角度が直角である程度を意味し、直角度が極大とは、周囲の点に対してその点が最も直角に近いことを意味している。なお、輪郭線上の点の角度とは、(1)その点と、その点に対して一方側に微小距離だけ離れて隣接する輪郭線上の点を結んだ直線と、(2)その点と、その点に対して他方側に微小距離だけ離れて隣接する輪郭線上の点を結んだ直線によって形成される角度をいう。
しかしながら、渦巻きばねの端面(切断面)は、切断時に発生するバリ等によって平坦となっておらず、また、製造時に粉塵等が表面に付着することもある。このため、端点以外の点が端点候補として抽出されることがある。従来の技術では、渦巻きばねの中心からの距離のみを考慮して端点候補の中から端点を特定するため、端点以外の点を端点と誤認定する場合があった。本明細書は、渦巻きばねの撮影画像から渦巻きばねの端面の端点を正確に特定することができる技術を開示する。
本明細書は、渦巻状に成形された渦巻きばねの形状を計測する画像処理装置を開示する。この画像処理装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出手段と、抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出手段と、抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成手段と、作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択手段と、を有する。
この画像処理装置では、渦巻きばねの撮影画像に対して輪郭線を抽出し、渦巻きばねの少なくとも一方の端面について、抽出した輪郭線から端点候補を複数抽出する。そして、抽出された複数の端点候補から2点を選択して端点ペア候補を複数作成し、それら作成された複数の端点ペア候補の中から1つの端点ペア候補を選択する。端点ペア候補を構成する2つの端点候補の組合せが端面の両端である可能性を総合的に評価できるため、端点を1点ずつ評価する場合と比較して端面の端点を正確に特定することができる。
また、本明細書は、渦巻きばねの形状を計測するための画像処理方法を開示する。この画像処理方法は、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出処理と、抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成処理と、作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択処理を実行させる。この方法により、渦巻きばねの端面の端点を正確に特定することができる。
本明細書はさらに、渦巻きばねの形状を計測するためのプログラムを開示する。このプログラムは、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出処理と、抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成処理と、作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択処理を実行させる。このプログラムにより、コンピュータを用いて、渦巻きばねの撮影画像から渦巻きばねの端面の端点を正確に特定することができる。
画像処理装置の構成を示す図。 画像処理装置による画像処理の流れを示すフローチャート。 フック領域を特定する処理の流れを示すフローチャート。 端点を特定する処理の流れを示すフローチャート。 渦巻きばねの撮影画像を示す図。 渦巻きばねの撮影画像から抽出された輪郭線を示す図。 輪郭線を極座標変換することで得られた角座標値列のグラフ。 図7aのグラフの不連続点を接続することで得られる角座標値列のグラフ。 特定された内フック領域を拡大して示す図。 特定された外フック領域を拡大して示す図。 特定された外フック領域をトリミングする処理を説明するための図。 トリミングされた外フック領域を拡大して示す図。 外フック端点を特定する処理を説明するための図。 直角度関数の一例を示す図。 端点近傍における直角度関数を拡大して示す図。 直角度関数を2つのガウス関数で近似して評価する方法を説明するための図。 直角度関数を2つのガウス関数で近似した一例を示す図。
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
(特徴1) 本明細書に開示する画像処理装置では、端点ペア選択手段は、作成された端点ペア候補のそれぞれについて、当該端点ペア候補を構成する2つの端点候補の直角度と、これら端点候補を結ぶ輪郭線上の少なくとも一点の直角度を用いて、当該端点ペア候補を評価して1つの端点ペア候補を選択してもよい。渦巻きばねの端面においては、端点では直角度が大きくなり(すなわち、輪郭線の角度が直角に近い値となり)、端点の間の点では直角度が小さくなる(すなわち、輪郭線の角度が180°に近い値となる)。したがって、端点ペア候補の2点の直角度と、これら端点候補を結ぶ輪郭線上の点の直角度とを考慮することで、渦巻きばねの端点か否かを総合的に判定することができる。
(特徴2) 本明細書に開示する画像処理装置では、端点ペア選択手段は、2つの端点候補の直角度と、これら端点候補を結ぶ輪郭線上の最も直角度が低い点の直角度を用いて、当該端点ペア候補を評価してもよい。このような構成によると、2つの端点候補の間の最も直角度が低い点の直角度を用いることで、2つの端点候補の間の平坦度を評価でき、渦巻きばねの端点か否かを好適に判定することができる。
(特徴3) 本明細書に開示する画像処理装置では、端点ペア選択手段は、さらに、2つの端点候補を結ぶ輪郭線上の各点の直角度が設定値以下となる端点ペア候補の中から1つの端点ペア候補を選択してもよい。このような構成によると、2つの端点候補の間に直角度の高い点がある端点候補ペアが除外され、間違った端点ペア候補が選択されることを防止することができる。
(特徴4) 本明細書に開示する画像処理装置では、端点ペア選択手段は、さらに、2つの端点候補の間の距離が設定範囲内となる端点ペア候補の中から1つの端点ペア候補を選択してもよい。このような構成によると、2つの端点候補の距離がばね鋼材の板厚からかけ離れている端点ペア候補が選択されることを防止することができる。
図1に示すように、本実施例の画像処理装置10は、渦巻きばね30を撮影し、撮影した画像から渦巻きばね30の輪郭線を抽出し、抽出した輪郭線から端点(本実施例では、フック端点ともいう)を特定する装置である。画像処理装置10は、ステージ12と、ステージ12上に配置された照明器14と、ステージ12に固定されているCCDカメラ16と、CCDカメラ16に通信線18を介して接続されているコンピュータ22と、コンピュータ22に接続されているディスプレイ20を備えている。
照明器14は、面光源であり、その発光面上に渦巻きばね30が載置される。CCDカメラ16は、照明器14上に配置されており、照明器14上に載置された渦巻きばね30を撮影する。即ち、渦巻きばね30は照明器14によって下方から照明され、照明器14の透過光(渦巻きばね30の影)がCCDカメラ16によって撮影される。なお、照明器14は、本実施例のような透過照明に限定されず、渦巻きばね30を上方から照明するものでもよい。この場合、渦巻きばね30が全周方向から均等に照明されるように、複数の照明器やリング型の照明器を用いることが好ましい。
CCDカメラ16が撮影した画像データは、通信線18を介してコンピュータ22に入力される。コンピュータ22には、後述する各種画像処理を実行するためのプログラムが記憶されている。コンピュータ22は、CCDカメラ16が撮影した撮影画像の画像データを処理し、渦巻きばね30の輪郭線画像を作成し、その輪郭線画像からフック端点を特定する。コンピュータ22は、渦巻きばね30の撮影画像、解析結果等を、ディスプレイ20に表示する。
図2は、画像処理装置10による渦巻きばね30の画像処理の流れを示すフローチャートである。図3は、図2のフローチャートに示すステップS18のフック領域の特定処理である。図4は、ステップS20のフック端点算出処理の流れを示すフローチャートである。画像処理装置10は、図2、図3、図4に示す工程、処理を経て、渦巻きばね30のフック端点を特定する。以下、図2、図3、図4に示すフローチャートに沿って、画像処理装置10による処理の流れを説明する。
先ず、図2のステップS10において、CCDカメラ16により、渦巻きばね30の撮影を行う。CCDカメラ16により撮影された撮影画像は、コンピュータ22に入力される。入力される撮影画像は、例えば、最も黒い画素の濃度値を「255」とし、最も白い画素の濃度値を「0」とする256階調の画像とすることができる。図5に、渦巻きばね30の撮影画像を例示する。図5に示すように、渦巻きばね30は、内フック32から外フック34まで、渦巻状に伸びている。撮影画像は、画素(x,y)毎に濃度値を有する濃度値画像である。
次に、図2のステップS12では、ステップS10で撮影された撮影画像を二値化する。すなわち、入力された撮影画像の各画素(x,y)に対して、濃度値が予め設定された設定値以上となる場合は「1」とし、濃度値が予め設定された設定値未満となる場合は「0」とする。これによって、渦巻きばね30に対応する部分の画素群が濃度値「1」となり、それ以外の画素群が濃度値「0」となる。なお、CCDカメラ16により撮影された画像はノイズを含むため、二値化画像もノイズを含んでいる。このため、渦巻きばね30に対応しない部分の画素にも濃度値「1」となるものが存在する。なお、このステップS12から後述するS20までの処理は、コンピュータ22によって実行される。
次に、図2のステップS14では、ステップS12で得られた二値化画像を用いて、渦巻きばね30の重心(c,c)を算出する。具体的には、濃度値が「1」となる画素群(すなわち、渦巻きばね30に対応する部分の画素群)の座標値(x,y)から、その重心(c,c)を計算する。図5に示す例では、渦巻きばね30の略中央に重心(c,c)が位置している。
次に、図2のステップS16では、ステップS12で得られた二値化画像から輪郭線を抽出する。二値化画像から輪郭線を抽出する処理は、公知の方法(例えば、長谷川純一,輿水大和,中山晶,横井茂樹著,「画像処理の基本技法<技術入門編>」,技術評論社,p.70−73)を用いることができる。図6に、渦巻きばね30の二値化画像から抽出された輪郭線の一例が示されている。
なお、本実施例では、ステップS16で抽出される輪郭線は、輪郭線要素番号i(i=0〜n)と、その輪郭線要素番号iに対応する画素の座標値(x,y)で表される。輪郭線要素番号iは、輪郭線上の画素に付与された番号であり、以下の規則に従って付与される。すなわち、輪郭線上に設定された1つの画素を原点として、その画素に輪郭線要素番号i=0を付与する。原点は、輪郭線上の任意の点に設定することができる。次いで、その原点と隣接する画素に輪郭線要素番号1を付与する。ここで、原点となる画素には、輪郭線上を時計回りに移動する方向に隣接する画素と、反時計回りに移動する方向に隣接する画素の2通りがある。本実施例では、原点と隣接する画素のうち、反時計回りに移動する方向に隣接する画素に輪郭線要素番号1を付与する。次いで、輪郭線要素番号1の画素に隣接する画素に輪郭線要素番号2を付与し、以下、同様の手順で輪郭線要素番号を付与する。これによって、輪郭線を構成する全ての画素に輪郭線要素番号が付与される。上述した説明から明らかなように、輪郭線要素番号iの画素から輪郭線要素番号nの画素まで順に移動すると、輪郭線上を一方向に一巡することとなる。なお、本明細書では、輪郭線要素番号0からnまでの座標値列(x,y),(x,y)・・(x,y)を輪郭線系列(x,y)(i=0〜n)という。
次に、図2のステップS17では、ステップS16で得られた輪郭線系列(x,y)(i=0〜n)を極座標による輪郭線系列(r,θ)(i=0〜n)に変換する。すなわち、図6に示すように、XY座標系による輪郭線系列(x,y)を、ステップS14で算出された重心(c,c)を原点として、動径rと偏角θにより表す。図6に示すように、動径rは、原点(c,c)と輪郭線系列(x,y)の距離である。偏角θは、原点(c,c)と輪郭線系列(x,y)とを結んだ直線と、x軸とのなす角である。したがって、ステップS17によって、xy座標系の輪郭線系列(c,c)(i=0〜n)は、極座標系の輪郭線系列(r,θ)(i=0〜n)に変換される。ここで、極座標系の輪郭線系列(r,θ)から得られる角座標値列θ(i=0〜n)をグラフ化すると、図7aに示すグラフとなる。図7aに示すグラフでは、縦軸が偏角θであり、横軸が輪郭線要素番号iとなっている。図7aから明らかなように、角座標値列θは−180°〜+180°の範囲の数値を有し、−180°と+180°において不連続となっている。
次に、図2のステップS18では、ステップS17で極座標変換された輪郭線系列(r,θ)(i=0〜n)から、フック領域を特定する。この処理について、図3に示すフローチャ−トに沿って説明する。
先ず、図3のステップS34,S36では、図2のステップS17で作成した極座標系の輪郭線系列(r,θ)(i=0〜n)から、内フック領域と外フック領域を抽出する。本実施例では、輪郭線系列(r,θ)(i=0〜n)のうち、角座標値列θ(i=0〜n)の特性を利用して、内フック領域Aと外フック領域Bを特定する。
なお、図7aに示すグラフでは、角座標値列θ(i=0〜n)が−180°〜+180°の範囲とされ、角座標値列θには不連続点が存在する。ステップS34以降の処理は、図7aに示すグラフの不連続点をつなぎ合わせた角座標値列(図7b)を用いて行ってもよいし、不連続点を残した角座標値列(図7a)を用いて行ってもよい。
上述したことから明らかなように、輪郭線系列(r,θ)(i=0〜n)は、輪郭線上を原点から反時計回りに移動を開始し、輪郭線を一巡することで輪郭線要素番号が付与されている。このため、渦巻きばねを内側から見て右巻きにセットした場合では、原点から内フック端点(又は外フック端点)までは反時計回りに移動しながら輪郭線要素番号が付与され、内フック端点(又は外フック端点)から外フック端点(又は内フック端点)までは時計回りに移動しながら輪郭線要素番号が付与され、外フック端点(又は内フック端点)から原点までは反時計回りに移動しながら輪郭線要素番号が付与される。したがって、不連続点を接続したグラフ(図7b)では、原点から内フック端点(又は外フック端点)までは角座標値列θ(i=0〜n)は単調減少(又は単調増加)し、内フック端点(又は外フック端点)から外フック端点(又は内フック端点)までは角座標値列θ(i=0〜n)は単調増加(又は単調減少)し、外フック端点(又は内フック端点)から原点までは角座標値列θ(i=0〜n)は単調減少(又は単調増加)する。したがって、図7bに示すように、角座標値列θ(i=0〜n)の関数は、内フック端点の近傍で極小値をとり、外フック端点の近傍で極大値をとる。
そこで、ステップS34では、角座標値列θ(i=0〜n)が極小値となる部分を含む領域Aを内フック領域として特定する。例えば、図7aに示すように、内フック領域Aとして、極小値に隣接して角座標値θa1が180°となる輪郭線要素番号a1から角座標値θa2が180°となる輪郭線要素番号a2までの領域を特定し、この領域(a1〜a2)内に極小値が含まれるようにする。図8には、特定された内フック領域Aの輪郭線系列が示されている。図8より明らかなように、特定された内フック領域Aに内フック端点が含まれている。
また、ステップS36では、角座標値列θ(i=0〜n)が極大値となる部分を含む領域Bを外フック領域として特定する。例えば、図7aに示すように、外フック領域Bとして、極大値に隣接して角座標値θb1が−180°となる輪郭線要素番号b1から角座標値θb2が−180°となる輪郭線要素番号b2までの領域を特定し、この領域(b1〜b2)内に極大値が含まれるようにする。図9には、特定された外フック領域Bの輪郭線系列が示されている。図9より明らかなように、特定された外フック領域Bに外フック端点が含まれている。
なお、図8と図9の比較から明らかなように、外フック領域Bは、内フック領域Aに比較して広い領域となっている。すなわち、特定した外フック領域B(r,θ)(k=b1〜b2)が広い場合には、図10に示すように、外フック領域Bのトリミングを行うことが好ましい。図10に示す例では、極大値imaxから角度α(例えば、40°)の角度範囲を新しい外フック領域B’(r,θ)(k=b1’〜b2’)として新たに切り出している。図11は、トリミング後の外フック領域B’を示している。図11より明らかなように、トリミング後の外フック領域B’は、トリミング前の外フック領域Bと比較して適切な大きさに修正されている。これによって、次に行われるフック端点の算出処理(図2のステップS20の処理)の計算量を少なくすることができる。
また、図7bに示すグラフでは、内フック領域Aで極小値をとり、外フック領域Bで極大値をとったが、渦巻きばねの巻き方向が逆となれば、当然、内フック領域で極大値をとり、外フック領域で極小値をとることとなる。なお、渦巻きばねの輪郭線抽出からフック領域の特定処理(S16〜S18)には、他の公知の技術を用いてもよい。例えば、特開2009−257950号公報に開示の技術を用いて、渦巻きばね画像より内フック画像と外フック画像を切り出し、切り出したフック画像に対して輪郭線抽出を行ってもよい。
次に、図2のステップS20に戻ると、ステップS18で特定した内フック領域A(x,y)(k=a1〜a2)から内フック端点(xac,yac)を特定し、また、ステップS18で特定した外フック領域B(x,y)(k=b1’〜b2’)から外フック端点(xbc,ybc)を特定する。ここで、内フック領域Aから内フック端点を特定する処理と、外フック領域Bから外フック端点を特定する処理は、対象とする領域が異なるだけで同一の処理となる。このため、以下の説明では、内フック領域Aと外フック領域Bとを区別することなくフック領域とし、また、内フック端点と外フック端点とを区別することなくフック端点として説明する。
図4は、フック領域からフック端点を特定する処理の流れを示すフローチャートである。まず、図4のステップS42では、特定したフック領域(x,y)によって表される輪郭線から端点候補を抽出する。すなわち、渦巻きばね30は、渦巻き状に加工したばね鋼材を切断して製造するため、その端面では、輪郭線が略90°に屈曲(直交)している。しかしながら、ばね鋼材を切断する時に発生するバリ等によって端面が平坦とはならないことがあり、また、製造時に粉塵等がばね鋼材の表面に付着していることもある。このため、フック領域の輪郭線には、端点以外でも屈曲する点(端点らしくみえる点)が存在する。そこで、ステップS42では、特定したフック領域(x,y)の輪郭線からフック端点候補(端点らしくみえる点)を抽出する。
具体的な手順について、外フック領域B’(x,y)(k=b1’〜b2’)から端点候補を抽出する場合を例として説明する。図12に示すように、外フック領域B’(x,y)(k=b1’〜b2’)内には外フック端点が2つ存在し、これら2つの外フック端点では輪郭線が略直交している。したがって、まず、特定した輪郭線系列B’(x,y)(k=b1’〜b2’)内から、輪郭線が略直交する点を抽出する。この処理は、例えば、外フック領域B’を構成する各輪郭線系列B’(x,y)(k=b1’〜b2’)のそれぞれに対して、図12に示すようにベクトルp(k)とm(k)を設定し、これらのベクトルp(k)とm(k)が直交するか否かで抽出することができる。p(k)、m(k)は、例えば、次の式(1)で表すことができる。
Figure 0006009364
上記の式(1)から明らかなように、m(k)は、輪郭線上の点(x,y)からN画素だけ前の輪郭線上の各点までの輪郭線系列(xk−N,yk−N),(xk−(N―1),yk−(N―1)),・・,(x,y)が向いている方向を平均したものである。また、p(k)は、輪郭線上の点(x,y)からN画素だけ後ろの輪郭線上の各点までの輪郭線列(x,y),(xk+1,yk+1),・・,(xk+N,yk+N)が向いている方向を平均したものである。なお、本実施例では、ベクトルm(k)、p(k)を算出するために0〜N画素の範囲を用いた。ここで、設定値Nは、ステップS10で撮影された画像内における、渦巻きばね30の素線の板厚に応じて設定することが好ましい。例えば、撮影された画像内において、渦巻きばね30の素線の板厚が約Z画素となる場合は、設定値NをZ/2とすることができる。このように、撮影された画像内において、渦巻きばね30の板厚が何画素分の長さに相当するかで、m(k)及びp(k)を算出する画素数を設定することが好ましい。
上述したように、ベクトルm(k)とベクトルp(k)を算出すると、次に、ベクトルp(k)とベクトルm(k)が直交するか否かを判定する。ベクトルp(k)とベクトルm(k)が直交するか否かを判定するには、例えば、ベクトルp(k)とベクトルm(k)から算出されるcosθを用いることができる(下記の式(2)参照)。ここで、θは、ベクトルp(k)とベクトルm(k)のなす角度である。
Figure 0006009364
ベクトルm(k)とベクトルp(k)が略直交すると、θ≒90°となり、cosθ≒0となる。したがって、cosθ≒0となる点を探索することで、輪郭線系列からフック端点候補を抽出することができる。ここで、cosθは、−1〜1の範囲の数値をとり、θが90°のときにcosθが最大又は最小となるわけではない。このため、本実施例では、θが90°のときに最大値又は最小値をとる関数を導入し、フック端点候補の抽出を容易化する。例えば、θが90°のときに最大値をとる関数としては、下記の式(3)の評価関数V(k)を導入することができ、また、θが90°のときに最小値をとる関数としては、下記の式(4)の評価関数V(k)を導入することができる。なお、図13は、式(3)の評価関数V(k)を示している。図13から明らかなように、評価関数V(k)は、フック端点において極大値をとっている。
Figure 0006009364
Figure 0006009364
上記の式(3)又は式(4)を用いることで、輪郭線上の点が端点候補か否か(すなわち、直角度が高いか否か)を評価することができる。したがって、上記の式(3)又は式(4)で算出される値が「直角度」の一例に相当する。
なお、上記の式(3)を用いる場合、例えば、下記の条件(a),(b)を満足する点を、端点候補として抽出することができる。すなわち、(a)評価関数V(k)が極大値をとり(V(k−1)<V(k)>V(k+1))、(b)評価関数V(k)が閾値p以上(pは0〜1の間で適宜設定)を満足する点を抽出する。これによって、輪郭線を構成する点のうち直角度が高い点が端点候補(xp1,yp0),・・(xpm,ypm)として選択される。
一方、上記の式(4)を用いる場合、例えば、下記の条件(c),(d)を満足する点を、端点候補として抽出することができる。すなわち、(c)評価関数V(k)が極小値をとり(V(k−1)>V(k)<V(k+1))、(b)評価関数V(k)が閾値p以下(pは0〜1の間で適宜設定)を満足する点を抽出する。これによっても、輪郭線上の点のうち直角度が高い点が端点候補(xp0,yp0),・・(xpm,ypm)として選択される。
図4のステップS42で端点候補(xp1,yp0),・・(xpm,ypm)が抽出されると、それら端点候補の中から2点を選択して端点ペア候補を作成する(図4のステップS44)。すなわち、全ての端点候補(xp1,yp0),・・(xpm,ypm)から考え得る全ての組合せを、端点ペア候補として作成する。例えば、端点候補として、3つの点(xp0,yp0),(xp1,yp1),(xp2,yp2)が抽出された場合は、{(xp0,yp0),(xp1,yp1)}の端点ペア候補と、{(xp0,yp0),(xp2,yp2)}の端点ペア候補と、{(xp1,yp1),(xp2,yp2)}の端点ペア候補を作成する。
ステップS46では、ステップS44で作成した複数の端点ペア候補の中から1つの端点ペア候補を選択する。そして、ステップS48で、選択した端点ペア候補の2点の距離が設定値未満となるか否かを判断する。すなわち、端点ペア候補の2点の距離が、渦巻きばね30の板厚に比して大きすぎる場合、その端点ペア候補がフック端点である可能性は低い。このため、端点ペア候補の2点の距離を利用して、複数の端点ペア候補の中から正しい組合せのペアを絞り込む。なお、端点ペア候補の2点の距離を利用する絞込みは、端点ペア候補の2点の距離が設定された数値範囲内にあるか否かで判断してもよい(すなわち、上限値と下限値を設定してもよい)。
選択した端点ペア候補の2点の距離が設定値を超えると(ステップS48でNO)、ステップS50をスキップして、ステップS52に進む。したがって、正しい端点のペアではないと判断された端点ペア候補については、ステップS50の処理が行われない。一方、選択した端点ペア候補の2点の距離が設定値未満であると(ステップS48でYES)、端点ペア候補の評価値を算出する(ステップS50)。すなわち、ステップS46で選択された端点ペア候補が正しい端点の組合せであるか否かを評価する評価値を算出する。この評価値は、例えば、上述した直角度を表す評価関数V(k)を利用した端点ペア評価関数D(a,b)(a,bは端点候補)を用いて算出することができる。上記の式(3)に示す評価関数V(k)を用いる場合、例えば、下記の式(5)に示す評価関数D(a,b)を用いることができる。
Figure 0006009364
ここで、V(a)は、端点候補a(xaj,yaj)の直角度を表す評価値(以下、単に直角度評価値という)であり、V(b)は、端点候補b(xbj,ybj)の直角度評価値であり、V(kmin)は、端点候補aと端点候補bの間に位置する各点の直角度評価値のうち最小値となる値である。したがって、D(a,b)は、図14に示すように、端点候補aの直角度評価値V(a)から最小値V(kmin)を減算した値と、端点候補bの直角度評価値V(b)から最小値V(kmin)を減算した値との和となる。したがって、仮にバリや粉塵等によってできた端点候補の直角度が高くても、これらの端点候補a,bの間に位置する点は平面度が高くはならない(すなわち、直角度は低くはならない)。このため、上記の式(5)の端点ペア評価関数D(a,b)を用いることで、たまたま直角度が高い端点候補の組合せを、正しい端点の組合せとして選択することを防止することができる。
なお、上記の式(4)に示す評価関数V(k)を用いる場合、例えば、下記の式(6)に示す評価関数D(a,b)を用いることができる。
Figure 0006009364
上記の式(4)に示す評価関数V(k)では、最小値となるときに直角度が最も高い。このため、式(6)の評価関数D(a,b)では、最大値V(kmax)から端点候補aの直角度評価値V(a)を減算した値と、最大値V(kmax)から端点候補bの直角度評価値V(b)を減算した値との和を評価値として用いている。
なお、端点ペア候補を評価する評価関数としては、上記のもの以外にも種々の態様を採ることができる。例えば、上記の式(3)に示す評価関数V(k)を用いる場合は、D(a,b)=(V(a)−V(kmin))+(V(b)−V(kmin))や、D(a,b)=|V(a)−V(kmin)|+|V(b)−V(kmin)|を用いてもよい。なお、上記の式(4)に示す評価関数V(k)を用いる場合も、上記と同様にアレンジすることができる。
図4のステップS52では、ステップS44で作成した全ての端点ペア候補についてステップS46〜S50の処理を実行したか否かが判定される。そして、全ての端点ペア候補についてステップS46〜S50の処理を実行していない場合(ステップS52でNO)は、ステップS46に戻って、ステップS46からの処理を実行する。これによって、ステップS44で作成された全ての端点ペア候補のそれぞれについて、ステップS48の距離による判断と、評価関数(a,b)による数値が算出される。
一方、全ての端点ペア候補についてステップS46〜S50の処理を実行している場合(ステップS52でYES)は、ステップS50の評価関数(a,b)による数値が最大となった端点ペア候補が、渦巻きばね30の端点として選択される。これによって、渦巻きばね30の端点が特定され、その後の処理が実行される。その後の処理としては、例えば、撮影された画像から得られた輪郭線画像を細線化して、渦巻きばね30の芯線化画像を作成する処理等が挙げられる。この場合には、作成された渦巻きばね30の芯線化画像がディスプレイ20に表示される。また、本明細書に開示の端点抽出技術は、例えば、特開2009−257950号公報に開示された渦巻きばね検査装置に適用することもできる。本明細書に開示の技術によって抽出された端点情報を用いて、渦巻きばねの各部の寸法を算出することもできる。
上述したように、本実施例の画像処理装置10では、撮影された画像から渦巻きばね30の輪郭線系列(x,y)(i=0〜n)を抽出し、その抽出した輪郭線系列から端点候補を抽出する。そして、抽出された端点候補から端点ペア候補を作成し、作成した端点ペア候補のそれぞれについて総合的に評価し、渦巻きばね30の端点を特定する。このため、渦巻きばね30の端面にバリが生じていたり、渦巻きばね30の表面に粉塵等が付着していたりしても、渦巻きばね30の端点(すなわち、端面)を適切に特定することができる。このため、渦巻きばね30の形状を正確に計測することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、上述した実施例では、直角度を評価する評価関数V(k)にθを変数とする三角関数を用いたが、本明細書に開示の技術は、このような例に限られない。例えば、図15に示すように、直角度を評価する評価関数V(k)をガウス関数で近似した評価関数を導入してもよい。すなわち、図16に示すように、上図に示される評価関数V(k)の2つのピークをガウス関数で近似し、それら2つのガウス関数の和を直角度を評価する評価関数としてもよい。なお、直角度を評価する評価関数が得られれば、それ以降の処理は、上述した実施例と同様に行うことができる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:画像処理装置
12:ステージ
14:照明器
16:CCDカメラ
18:通信線
20:ディスプレイ
22:コンピュータ
30:渦巻きばね

Claims (7)

  1. 渦巻状に成形された渦巻きばねの形状を計測する画像処理装置であり、
    渦巻きばねを撮影した撮影画像を入力する画像入力手段と、
    入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出手段と、
    抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出手段と、
    抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成手段と、
    作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択手段と、
    を有する画像処理装置。
  2. 端点ペア選択手段は、作成された端点ペア候補のそれぞれについて、当該端点ペア候補を構成する2つの端点候補の直角度と、これら端点候補を結ぶ輪郭線上の少なくとも一点の直角度を用いて、当該端点ペア候補を評価して1つの端点ペア候補を選択する、請求項1に記載の画像処理装置。
  3. 端点ペア選択手段は、2つの端点候補の直角度と、これら端点候補を結ぶ輪郭線上の最も直角度が低い点の直角度を用いて、当該端点ペア候補を評価する、請求項2に記載の画像処理装置。
  4. 端点ペア選択手段は、さらに、2つの端点候補を結ぶ輪郭線上の各点の直角度が設定値以下となる端点ペア候補の中から1つの端点ペア候補を選択する、請求項1〜3のいずれか一項に記載の画像処理装置。
  5. 端点ペア選択手段は、さらに、2つの端点候補の間の距離が設定範囲内となる端点ペア候補の中から1つの端点ペア候補を選択する、請求項1〜3のいずれか一項に記載の画像処理装置。
  6. 渦巻状に成形された渦巻きばねの形状を計測するための画像処理方法であり、コンピュータに下記の処理、即ち、
    渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
    入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、
    抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出処理と、
    抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成処理と、
    作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択処理と、
    を実行させる画像処理方法。
  7. 渦巻状に成形された渦巻きばねの形状を計測するためのプログラムであり、コンピュータに下記の処理、即ち、
    渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
    入力された撮影画像から渦巻きばねの輪郭線を抽出する輪郭線抽出処理と、
    抽出された輪郭線から渦巻きばねの少なくとも一方の端面の端点候補を複数抽出する端点候補抽出処理と、
    抽出された複数の端点候補から選択された2つの端点候補によって構成される端点ペア候補を複数作成する端点ペア候補作成処理と、
    作成された複数の端点ペア候補の中から1つの端点ペア候補を渦巻きばねの少なくとも一方の端面の2つの端点として選択する端点ペア選択処理と、
    を実行させるプログラム。
JP2013013630A 2013-01-28 2013-01-28 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム Active JP6009364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013013630A JP6009364B2 (ja) 2013-01-28 2013-01-28 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013013630A JP6009364B2 (ja) 2013-01-28 2013-01-28 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014145626A JP2014145626A (ja) 2014-08-14
JP6009364B2 true JP6009364B2 (ja) 2016-10-19

Family

ID=51425989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013013630A Active JP6009364B2 (ja) 2013-01-28 2013-01-28 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6009364B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6576859B2 (ja) * 2016-03-11 2019-09-18 中央発條株式会社 渦巻きばねの形状を測定する装置、方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6280505A (ja) * 1985-10-03 1987-04-14 Daido Steel Co Ltd 渦巻ばねの形状検査装置
JPH06176147A (ja) * 1992-12-10 1994-06-24 Kobe Steel Ltd 物体の端点検出方法及び装置
JP3734605B2 (ja) * 1997-07-02 2006-01-11 ローランドディー.ジー.株式会社 線図形の芯線化における端点の検出方法および切削装置
US20060203254A1 (en) * 2005-03-14 2006-09-14 Dtechxion Ltd. Measurements of an axisymmetric part including helical coil springs
JP5132403B2 (ja) * 2008-04-17 2013-01-30 中央発條株式会社 渦巻きばねの形状を測定する装置、方法、及びプログラム
JP5802459B2 (ja) * 2011-07-13 2015-10-28 中央発條株式会社 渦巻きばねの形状を算出するための画像処理装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2014145626A (ja) 2014-08-14

Similar Documents

Publication Publication Date Title
JP5953842B2 (ja) 画像検査方法および検査領域設定方法
US8780223B2 (en) Automatic determination of compliance of a part with a reference drawing
US8503757B2 (en) Image measurement device, method for image measurement, and computer readable medium storing a program for image measurement
TWI313748B (en) Board inspecting method and apparatus and inspection logic setting method and apparatus
CN111156923A (zh) 工件检测方法、装置、计算机设备以及存储介质
JP6468802B2 (ja) 三次元計測装置、三次元計測方法及びプログラム
KR20130117862A (ko) 패턴 매칭 장치 및 컴퓨터 프로그램을 기록한 기록 매체
JP2015194477A (ja) 情報処理装置、情報処理方法及びプログラム
WO2017071406A1 (zh) 金针类元件的引脚检测方法和系统
JP2008047664A (ja) パターン検査装置及び半導体検査システム
JP7214432B2 (ja) 画像処理方法、画像処理プログラム、記録媒体、画像処理装置、生産システム、物品の製造方法
JP2016205876A (ja) 画像認識装置
JP2019158628A (ja) 検査装置、検査方法、及び検査プログラム
WO2015115499A1 (ja) 工具検査方法及び工具検査装置
JP6576859B2 (ja) 渦巻きばねの形状を測定する装置、方法、及びプログラム
JP2009300230A (ja) 位置合わせを行う装置、方法、およびプログラム、ならびに基準モデルを作成する装置、方法、およびプログラム
JP2013140468A (ja) パターンマッチング装置、検査システム、及びコンピュータプログラム
JP2016191648A (ja) 計測装置および計測方法
CN117058411B (zh) 电池棱边外形瑕疵识别方法、装置、介质和设备
JP6009364B2 (ja) 渦巻きばねの形状を計測するための画像処理装置、方法、及びプログラム
JP2008116206A (ja) パターン寸法測定装置、方法及びプログラム
JP4415285B1 (ja) ワイヤ検査装置、ワイヤ検査方法及びワイヤ検査用プログラム
US10317203B2 (en) Dimension measuring apparatus and computer readable medium
JP2010182330A (ja) カラー画像の処理方法および画像処理装置
JP5802459B2 (ja) 渦巻きばねの形状を算出するための画像処理装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151111

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6009364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150