JP6102368B2 - 画像処理装置、円検出方法 - Google Patents

画像処理装置、円検出方法 Download PDF

Info

Publication number
JP6102368B2
JP6102368B2 JP2013051000A JP2013051000A JP6102368B2 JP 6102368 B2 JP6102368 B2 JP 6102368B2 JP 2013051000 A JP2013051000 A JP 2013051000A JP 2013051000 A JP2013051000 A JP 2013051000A JP 6102368 B2 JP6102368 B2 JP 6102368B2
Authority
JP
Japan
Prior art keywords
pixel
candidate
list table
points
image processing
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.)
Expired - Fee Related
Application number
JP2013051000A
Other languages
English (en)
Other versions
JP2014178779A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013051000A priority Critical patent/JP6102368B2/ja
Publication of JP2014178779A publication Critical patent/JP2014178779A/ja
Application granted granted Critical
Publication of JP6102368B2 publication Critical patent/JP6102368B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、SIMD型プロセッサを備えた画像処理装置に関する。
画像処理においては、何らかの基準となる対象物(円や直線、特殊形状)を画像処理により検出して、対象物の位置を基準に処理や作業を行うことがある。例えば、プリント基板描画装置において、被検査基板の実装状態を検査する場合や基板に部品を実装する場合には、基板の画像又は基板自体を所望の位置に位置決めする必要がある。実際の位置が基準の位置からずれている場合は、プリント基板描画装置は位置を補正する。
図1は、基板位置の補正を模式的に説明する図の一例である。位置補正を行うには、基板には位置基準用のマーカMが描画又は固定されている。プリント基板描画装置は、カメラが撮影した基板の画像を取得して、画像からマーカ位置を検出する。図1ではマーカMとして円が撮影されている。実線で記載されている基板とマーカMは検査のために撮像された画像であり、破線で記載されている基板とマーカMは、検査の判定基準となる基準画像において対応する基板とマーカである。したがって、マーカMが検出されれば、基準のマーカの位置と比較して基板の位置を補正可能となる。
従来から円を検出する技術はいくつか提案されている(例えば、特許文献1,2参照。)。特許文献1には、候補領域内の2値画像を複数のメッシュに分割し、該分割された各メッシュ内の黒画素数を算出し、前記候補領域の中心から複数の同心円上にある黒画素数を、各円周について起点から1周分順番に配列した特徴量を算出し、所定半径の円周の特徴量に基づき円の中心を算出する画像認識方法が開示されている。特許文献2には、主走査方向における画素同士の中点位置を算出する位置算出手段と、画素から中点位置までの距離を算出する距離算出手段と、副走査方向における前記中点位置の画素と1ライン前の中点位置の画素との距離を累積し前記中点位置を結ぶ直線の長さを検出する手段と、直線の長さが円の直径と等しいかどうかを判別すると共に、該判別結果および画素から中点位置までの距離を基に円抽出を行う円抽出手段と、を有する画像処理装置が開示されている。
しかしながら、従来の円の抽出方法は、処理負荷が大きく処理時間が長くかかるという問題がある。上記の円抽出や位置補正には、PC(Personal Computer)で開発され動作する画像処理ソフトウェアが用いられたり、あるいは既製の画像処理アプリケーションを利用したソフトウェアが用いられる。近年、PC用の既製の画像処理アプリケーションも、その機能が充実してきており、位置補正用や検査用などその機能の組合せにより実現できることが多くなってきた。しかし、PC上で動作するソフトウェアでは、その処理時間が長く、要請される時間内に処理が完了できなくなることがあった。
これらの画像処理を組み込み用のマイクロプロセッサを使用した専用ハードウェアにより高速化することが行われることもあったが、それでも十分な速度を得られることができないという問題もあった。
本発明は上記課題に鑑み、画像から円を高速に検出可能な画像処理装置を提供することを目的とする。
本発明は、複数画素分の画素値を記憶する専用のデータ記憶手段と演算部が配置されたi(≧2)個のプロセッサエレメントと、前記プロセッサエレメントを制御するグローバルプロセッサと、を有するSIMD型プロセッサを備えた画像処理装置であって、被写体の画像データを記憶する画像データ記憶手段と、前記画像データに含まれる円の等間隔な円周点間の間隔距離を、与えられた前記円の半径と円周点数を用いて算出する間隔距離算出手段と、各データ記憶手段が記憶する少なくとも前記間隔距離に相当するライン数の画素において、各プロセッサエレメントの各データ記憶手段が記憶している起点画素に対し前記間隔距離の位置にある全ての相手画素の座標が登録された座標情報テーブルを作成する座標情報テーブル作成手段と、前記起点画素の画素値と、前記座標情報テーブルの前記相手画素の画素値が共に黒画素である場合に、前記起点画素と前記相手画素の組を組リストテーブルに登録する処理を各プロセッサエレメントが並行して行う組リストテーブル作成手段と、前記組リストテーブルから各円周点の両隣に等間隔の円周点があることを利用して候補画素と相手候補画素が対応付けられた候補一覧テーブルを作成する候補一覧テーブル作成手段と、前記候補一覧テーブルの前記候補画素及び前記相手候補画素が前記円周点か否かを、前記円周点数に基づき検証する検証手段と、を有することを特徴とする。
画像から円を高速に検出可能な画像処理装置を提供することができる。
基板位置の補正を模式的に説明する図の一例である。 SIMD型プロセッサを有する画像処理装置の一例を示す図である。 SIMD型プロセッサの構成を示すブロック図である。 SIMD型プロセッサの機能ブロック図の一例を示す図である。 円周上に等間隔に並ぶ点を含む1フレームの画像データ(ディジタル画像)の一例を模式的に示す図である。 隣り合う2点間の距離について説明する図の一例である。 L+1ライン数内の画素データ(右側)を模式的に説明する図の一例である。 L+1ライン数内の画素データ(左側)を模式的に説明する図の一例である。 位置情報テーブルの一例を示す図である。 起点と相手候補の座標が記録されたペアリストテーブルの一例を示す図である。 候補一覧テーブルの一例を示す図である。 候補座標の数が1の点の一例を示す図である。 円周上の多点以外で候補数が2となる点の一例を示す図である。 画像処理装置のSIMD型プロセッサが行う処理の全体的な手順の一例を示す図である。 ステップS30の画像処理の手順を説明するフローチャート図の一例である。 ステップS30の画像処理の手順を説明するフローチャート図の一例である。
以下、本発明を実施するための形態について図面を参照しながら説明する。しかしながら、本発明の技術的範囲が、本実施の形態に限定されるものではない。
本実施形態の画像処理装置は、複数の画像データを並列処理することができるSIMD型プロセッサを用いることを特徴の1つとしている。また、本実施形態の画像処理装置は、SIMD型プロセッサの並列性を活かして、1フレーム(画像データ)内に複数の点(多点)が書かれた画像データから、等間隔に円周上に並ぶ点を検出する処理を時間的に並行に行うことを特徴の1つとしている。これにより、円の検出に必要な時間を短縮できる。
また、円周上に並んだ多点がマーカである場合、撮像画像には、ノイズにより、マーカの多点以外の点が含まれることがしばしばある。プリント基板描画装置はマーカ位置の検出前にノイズ除去処理を行うが、それでも完全には除去ができない場合がある。本実施形態の画像処理装置は、与えられた多点の数を利用して、マーカ以外から円周上の多点として誤検出されたノイズを除去することを特徴の1つとしている。これにより、撮影画像にノイズが含まれていても、円を正確に検出可能となる。
〔構成例〕
図2は、SIMD型プロセッサを有する画像処理装置の一例を示す。SIMD(Single Instruction-stream Multiple Data-stream)型プロセッサは、1つの命令で複数のデータに対して同時に同じ演算処理が実行可能である。画像処理では複数の画素に同じ処理を施す処理が多いため、SIMD型プロセッサ100は画像処理に適している。
SIMD型プロセッサ100は、外部インタフェース10を介して周辺装置9と接続される。周辺装置9には外部メモリ8が接続されている。周辺装置9は、外部メモリ8からSIMD型プロセッサ100に画像データを転送する入出力装置、SIMD型プロセッサ100が得意としないシリアル画像処理を専用に実行する外部画像処理装置、などである。本実施形態では、周辺装置9はどのようなものでもよい。
外部メモリ8は、画像データやプログラムなどが記憶される高速な揮発性メモリである。外部メモリ8は、バスを介してCPU7、フラッシュメモリ6、操作受付部5、及び、ネットワーク装置4が接続されている。CPU7はフラッシュメモリ6に記憶されたプログラムを実行して、画像処理装置200の全体を制御する。
操作受付部5は、画像処理装置200に対するユーザの操作を受け付ける。ネットワーク装置4はLANやWANなどのネットワークに接続して外部の機器と通信する。フラッシュメモリ6に記憶されたプログラムは、このネットワーク装置4を介してダウンロード可能であると共に、記憶媒体に記憶された状態で配布されることも可能である。フラッシュメモリ6のプログラムのうち、SIMD型プロセッサ100が実行する部分は、例えば画像処理装置200の起動時にSIMD型プロセッサ100に送信され、グローバルプロセッサにより実行される。または、SIMD型プロセッサ100が専用の不揮発メモリを有しており、そこにSIMD型プロセッサ100が実行するプログラムを記憶していてもよい。
SIMD型プロセッサ100は、複数のプロセッサエレメント(以下、PEという)を有しており、図ではPE群12と図示されている。各PEは演算アレイとレジスタを備えており、各PEは、1個の画素の画像処理を担当し、複数個のPEが同時に演算処理を行うことで、複数の画素に同時に同じ演算を施すことができ、画像処理の効率を高めている。
図3は、SIMD型プロセッサ100の構成を示すブロック図である。SIMD型プロセッサ100は、1つのグローバルプロセッサ11と、352個のPEi(i=0,1,…,351)とを有している。グローバルプロセッサ11は、グローバルプロセッサ用データRAM13−Gを有し、SIMD型プロセッサ100の全体の動作、及び、PEiの動作を制御する。
また、PE0は、例えば1キロバイトのプロセッサエレメント用データRAM13−0、プロセッサエレメント用データRAMとバスによって接続された32個のレジスタRm−0(m=0,1,…,31)と、を有している。RAM13−0とレジスタRm−0は、マルチプレクサ(MUX)14−0とバスを介して接続されている。また、MUX14−0には、少なくともPE0に隣接する8つのPE(PE0の場合はPE1〜PE8の合計9つ)のバスが8対1に接続されている。
また、PE0のMUX14−0には、算術論理演算を行う算術論理演算回路(ALU)15−0と、算術論理演算の対象となるデータを算術論理演算回路15−0に出力しかつ算術論理演算の演算結果を記憶するするアキュムレータ(Aレジスタ)16−0と、データを一時的に格納する補助レジスタ(Fレジスタ)17−0と、乗除算演算及びテーブル変換に使用する乗除算レジスタ(Mレジスタ)18−0と、命令の実行制御を行う条件レジスタ(Tレジスタ)19−0とを有している。
PE群12はさらにPE1〜PE351を有するが、これらの構成はPE0と同様なので説明は省略する。
〔機能構成例〕
図4は、SIMD型プロセッサ100の機能ブロック図の一例を示す図である。各機能は、グローバルプロセッサがプログラムを実行し、各PEを制御することで実現される。
2点間距離算出部31は、画像データに含まれる円を構成する等間隔の円周点の距離Lを、与えられた円の半径と円周点数を用いて算出する。
位置情報テーブル作成手段は、各PEが記憶する任意の起点画素に対し、自機又は他のPEが記憶している距離Lの位置にある全ての画素の座標(起点画素を基準とする相対座標)を決定して位置情報テーブル38(特許請求の範囲の座標情報テーブルの一例である)に登録する。
ペア画素判定部33は位置情報テーブル38が指示する座標の画素(相手画素)の1つから画素値を読み出し、該画素と起点画素の画素値が共に1となるか否かを判定する。
ペアリストテーブル作成部34は、起点画素と相手画素の座標の画素値が共に1(黒画素)となる2つの座標をペア(組)にしてペアリストテーブル39(特許請求の範囲の組リストテーブルの一例である)に記録する。
候補一覧テーブル作成部35は円周上の多点の候補が登録された候補一覧テーブル40を作成する。詳しくは後述する。検証部36は、候補一覧テーブル40の各組が円周点か否かを、候補画素に対応づけられた相手候補画素の数、及び、円周上の多点の数n個の基づき検証する。
〔円周上に等間隔に並ぶ多点の検出〕
図5は、円周上に等間隔に並ぶ点を含む1フレームの画像データ(ディジタル画像)の一例を模式的に示す図である。図5の画像データは2値化されている。8個の白丸が、多点の1つ1つ(1画素)を示すものとする。通常、カメラなどにより撮像された画像は、ノイズが含まれたり、点のサイズが均一ではないことがあるが、ここでは、本実施形態による画像処理を実施する前に、別の画像処理により、大きさの異なるノイズ成分の除去や、点のサイズが1画素になるような処理が十分になされているものとする。さらに、当該画像は、2値化処理により、背景が画素値0、点が画素値1に変換されているものとする。
また、図5では1フレーム分の2次元の画像データの左上隅を原点として水平方向をX軸、垂直方向をY軸とする座標系にて画素の座標を表す。右方向がX座標が増加する方向、また下方向がY座標が増加する方向である。
<隣接する2点間の距離L>
まず、隣接する2点間の距離Lについて説明する。円周上に等間隔に並んだ点の個数とその円周の半径が与えられている場合、隣り合う2点それぞれから円周の中心に向かう2つの直線がなす角度θが求まる。よって、余弦定理によりその隣り合う2点間の距離Lを求めることができる。
図6は、隣り合う2点間の距離について説明する図の一例である。図6では頂点A,Cがそれぞれ図5の1つの点(例えばA=点2,C=点3)に相当する。円周上の点の個数をn、円周の半径をr、中心座標をBとすると、直線ABと直線BCのなす角度θは、下式により得られる。

θ=2π/n

余弦定理により、半径r、距離L、角度θには以下の関係が得られるので、半径rと角度θが与えられれば、2点間の距離Lを求めることができる。なお、半径rと円周上の点の個数nが与えられれば、距離Lが一意に求められるので、例えば画像処理装置200のユーザが距離Lを直接、入力してもよい。なお、距離Lは、演算結果が整数になるとは限らないため、切り捨て、または切り上げにより、画像処理装置200が整数に丸めるものとする。

2=r2+r2−2×r×r×cosθ

2点間の距離Lが求まれば、円周上にある1点から半径Lの円周上に、隣り合う点が見つかることになる。例えば図5では、点1に点2と点8が隣接しているため、点1から半径Lの円を描けば円周上に点8、点2が存在するはずである。以下では、SIMD型プロセッサ100は、この距離Lを使用して多点を検出する。
<位置情報テーブル>
本実施形態におけるSIMD型プロセッサ100では、最大でプロセッサエレメント(PE)の数分の画素データを同時に処理できる。入力された画像データのうち最大でPE数分の画素データをPE用レジスタ(例えばレジスタRm−0)に置き、さらに、それぞれ後ろのLライン数分の画像データを、PE用レジスタR1−0〜R8−0やPE用データメモリ(RAM)13−0等に置くことにより、計L+1ライン数内の探索が可能になる。なお、ラインとは、主操作方向の1列又はその画素データである。PE数<1ラインの画素数である場合は、1ラインが複数回に分けて演算される。
図7は、L+1ライン数内の画素データを模式的に説明する図の一例である。PEiが任意のPEの位置、PEi+1がその右隣の位置とする。任意の画素とは当該PEがPE用レジスタRm−0に記憶している画素であり、PE0からみた任意の画素に対し、PEiから見た任意の画素はX軸方向に1画素となりの画素である。この任意の画素を以下「起点画素」という。
R0〜R8はPE用レジスタRm−0〜Rm−8であり(mが省略されている)、起点画素が存在するライン(カレントラインという場合がある)がR0のレジスタに格納されている。また、L=8として、図7ではPE用レジスタR1〜R8にその後のラインの画素データが格納されている。
○、●、▲は、以下の画素であることを示す。
●:起点画素
○:画素
▲:距離Lに該当する位置の画素
図8は、同様に、起点となるPEiに対し左下部分の画素データを示す。カレントラインがPE用レジスタR0、その後ろの8ラインがPE用レジスタR1〜R8に格納されている。また、任意のPEiに対し、PEi-1が左隣の位置とする。
さて、多点の2点間の距離Lが求まっている。L=8とすると起点画素を基準とする円周点の探索位置は、起点画素を中心とする半径Lの円の円周上の画素である。この画素は、水平方向の座標をX、垂直方向の座標をY、半径をLとして、円の方程式により求めることができる。

2+Y2=L2

例えば、半径Lが8で、PEiのPE用レジスタR0に格納されている起点画素の座標を(0,0)とする。この原点の座標は画像データの左上隅の原点(0,0)でなく、便宜的な原点である。左上隅を原点(0,0)とする起点画素の絶対的な座標も既知である。
位置情報テーブル作成部32は、この式を利用して位置情報テーブル38を作成する。具体的には、R0〜R8の各ラインで、起点画素から半径Lの画素のX座標を求める。まず、Y=0のラインにおける半径8の円の円周上のX座標は、Y=8である。
起点画素に対し1ライン後、即ちY=1のラインにおける半径8の円の円周上のX座標は、
2=R2−Y2
=8×8−1×1
=63
X=7.93
≒8
となる。
Y=2のラインにおける半径8の円の円周上のX座標は、
2=R2−Y2
=8×8−2×2
=60
X=7.74
≒8
Y=3のラインにおける半径8の円の円周上のX座標は、
2=R2−Y2
=8×8−3×3
=55
X=7.41
≒7
同様に計算することで、R0〜R8の各ラインにおける円周上の点のX座標が求められる。なお、Y=7とY=8では、X座標の誤差を考慮して、それぞれ2つと3つのX座標を算出する。このように冗長にX座標を登録してものちに検証されるので、円周上の点でなければ除外される。
こうして8+1の計9ライン分の位置を計算すると、Y=8までの各ラインにおける円周上のX座標が得られる。図7,8では各ラインにおいて求められた円周上のX座標を▲で示している。図7,8に示すように、仮にPEi(●)のPE用レジスタR0に格納された起点画素が多点の1つである場合、▲位置の画素が距離Lにある他の点の位置の相手画素となる。
この計9ラインにおける水平方向の座標位置を用いて、位置情報テーブル作成部32は、PE用レジスタR0〜R8に格納されるライン0〜8のX座標の位置情報テーブル38を作成する。このX座標は起点画素を原点とする座標でよい。
図9は、位置情報テーブル38の一例を示す図である。上記の計算結果に基づきY座標に対応づけて起点画素から距離LとなるX座標が登録される。
Y0ではX=8
Y1ではX=8、−8
Y2ではX=8、−8
(中略)
Y7(左方向)ではX=3,4、−4、−3
Y8ではX=0,1,2、−2、−1
なお、図7と図8では、PEiのR8で▲が重複しているので、位置情報テーブル38にはどちらか一方を登録すればよい。
後述するように位置情報テーブル38は、各PEが任意画素と相手画素の画素値が共に1となるか否かを判定する際に使用される。判定時には、●位置で示す起点画素から、Y座標が大きくなる方向であって、X軸方向(右方向と左方向)の相手画素が存在する範囲で判定すればよく、360度全周に渡って探索する必要はない。
<ペアリストテーブル>
作成された位置情報テーブル38に基づき、ペア画素判定部33は、PEiのPE用レジスタR0−iに格納されている起点画素に対し、距離Lにある相手画素の画素値を参照し、起点画素と相手画素の画素値が同時に画素値1であれか否かを判定する。同時に画素値が1である場合、2つの画素は多点のうちの隣接した2点の候補と見なすことができる。ペア画素判定部33は、相手画素の画素位置に対して候補フラグを立てる。
ここで、本実施形態では、SIMD型プロセッサ100の各PEが起点画素を基準に相手画素を検出するので、最大PE数分の起点PEiに対し同時に探索することができる。
なお、距離Lは整数に丸めているため実際の位置が1画素ずれている可能性がある。このため、候補となる点が、対象の座標位置の周囲8画素に存在している可能性があるため、その周囲も探索する。この場合、距離Lを整数に丸める時に、切り下げているなら距離が長くなる方の周囲のみ、また切り上げているなら距離が短くなる方の周囲のみを探索すればよい。
ペアリストテーブル作成部34は、位置情報テーブル38の一つの相手画素の探索が終わった時点で、候補フラグが立っているPE用レジスタを検索し、該PE用レジスタに記憶された相手画素の座標位置を求める。使用した位置情報テーブル38にて起点とされた起点画素(0,0)の絶対的な座標は既知である。したがって、候補フラグが立っているPE用レジスタに記憶された相手画素の画像データ全体における絶対的な座標は容易に算出できる。起点画素と相手画素で1つのペアである。
これを位置情報テーブル38の全座標の組合せで繰り返し、一回のPE数個分の探索が終われば、そのライン中の次のPE個分、さらに1ライン分が終われば、全ライン繰り返し、1フレーム分を実行する。
図10は、起点画素と相手画素の座標が記録されたペアリストテーブル39の一例を示す。図10において、Ya1、Xa1等は、画像データ全体のそれぞれY座標、X座標を示す。なお、繰り返しの処理の過程で相手画素が起点画素となる状況があるので、起点画素と相手画素が入れ換わった座標も記録される。例えば、図5の点1が起点画素の場合、点2(又は点8)が相手画素となるが、点2が起点画素となった場合、点1が相手画素となる。このため、図10においても(Ya1、Xa1)と(Ya2、Xa2)に対し、(Ya2、Xa2)と(Ya1、Xa1)という同じ座標のペアが存在する。
<候補一覧テーブル>
候補一覧テーブル作成部35は、このようにして作成されたペアリストテーブル39を整理して候補一覧テーブル40を作成する。
(i) まず、起点画素及び相手画素から、重複しないペアを取り出し、候補一覧テーブル40の候補画素として座標を登録する。この候補画素は円周上の多点を重複なく全て含む。
(ii) 候補画素が起点画素又は相手画素としてペアになっていた画素の座標を、候補画素に対応づけて登録する。対応づけられた画素を「相手候補画素」という
(iii) 1つの候補画素に対応づけられた相手候補画素の数を候補数として登録する。
図11は候補一覧テーブル40の一例を示す図である。例えば、(Ya1、Xa1)には(Ya2、Xa2)と(Ya3、Xa3)が対応づけられるので、候補数は2となる。(Ya1、Xa1)が点1であれば、(Ya2、Xa2)は点2、(Ya3、Xa3)は点8の座標である。同様に、点2を候補画素とした場合には、点2の座標に相手候補画素として点1と点3の座標が対応づけて登録される。
<検証>
続いて候補一覧テーブル40を用いた検証について説明する。等間隔に円周上に位置する点を順次結ぶと、それぞれの点は両隣に2つの点を持つことになる。
つまり、図11のように作成された候補一覧テーブル40において、候補数が1以下(0は登録されないので候補の数は最小が1)の座標は、それが円周上に位置しない、ということができる。
図12は、候補数が1の点の一例を示す図である。点D、Eは、相手候補画素の候補数が1の候補画素の一例を示す図である。点Dから見て点7は距離Lにあるが、点Dの相手候補画素はこの点7のみである。点Eについても同様である。このように相手候補画素が1つの点D,Eは円周上の点ではないので、候補一覧テーブル作成部35は候補一覧テーブル40から候補画素を全て除外する。これによりノイズを円周上の点と誤検出することを抑制できる。
また、除外した座標画素が相手候補画素となっている候補画素があるので(例えば図12では点7から見た点D、点6から見た点E)、この候補画素(つまり点6,7)の候補数を1減じる。この候補数を減じたことにより、さらに候補数が1以下となる候補画素は、同様に除外する。これを候補数が1以下となるものがなくなるまで繰り返す。
また、円周上の多点以外で候補数が2となる候補画素も存在しうるので、このようなノイズも削除する。図11の候補一覧テーブル40において(候補数が1の座標情報を除外した後)、最初の点から順次相手となる点をたどっていくと、必ずその最初の点に戻ってくることになる。ここで求める等間隔に円周上に並ぶ点の場合は、指定されている点の個数回で戻ってくることになる。
図13は、円周上の多点以外で候補数が2となる点の一例を示す図である。図13の点Fのような点では、点Fから点Fに戻るために3回で戻ってくるか、又は、9回で戻ることになる。これを利用して、このように指定回数外で元の座標に戻る候補情報も候補から除外する。なお、点1から点を辿った場合も点Fを通過すると、9回で戻ることになるため、好ましくは指定回数未満で戻る点を削除する。
以上の処理で残った候補点が求める円周上に等間隔にある点の座標位置であることが判明する。なお、候補の数が3以上の場合は、その全ての点をツリー上に辿る必要がある。
<円の位置の決定>
円周上に等間隔に並ぶ多点の座標が求められれば、例えば、その内の3点より、円の方程式を用いて、連立三元方程式を立てることができる。連立三元方程式を適当な解法により解けば、円の中心座標を求めることができる。中心を(a、b)とすると、以下の3つの式が得られる。
(X1−a)+(Y1−b)=r
(X2−a)+(Y2−b)=r
(X3−a)+(Y3−b)=r
または、任意の隣り合う2点の座標位置から、等距離にある直線の座標を順次求め、別の隣り合う2点の座標位置から、同様に2点から等距離にある直前の座標を順次求め、両者が交差する座標を円の中心座標としてもよい。
または、円周上の3点から半径rの円を描画し、3つの円の交点を円の中心座標としてもよい。
最終的に位置補正部37は決定された円の位置に基づきプリント基板などの位置を補正する。
〔動作手順〕
図14は、画像処理装置200のSIMD型プロセッサ100が行う処理の全体的な手順の一例を示す図である。
SIMD型プロセッサ100はライン単位の処理を繰り返しながら(S10とS50)、最大PE数単位の処理を繰り返す(S20とS40)。画像データの0〜8ラインだけ、一度にPE用レジスタに格納され、以降は、1ラインずつPE用レジスタR0に補充される。また、1ラインの画素数<最大PE数であれば、最大PE数の処理が終わると同じライン0〜8のラインに対し残りの画素データをPE用レジスタに設定して画像処理が行われる。
そして、最大PE数単位の繰り返しの中で、等間隔の多点の座標が検出される画像処理が行われる(S30)。
図15、16は、ステップS30の画像処理の手順を説明するフローチャート図の一例である。
まず、2点間距離算出部31が、マーカの円の半径rと予め定められている数nから、余弦定理を利用して2点間の距離Lを算出する(S110)。
位置情報テーブル作成部32は、距離Lの位置情報テーブル38を作成する(S120)。位置情報テーブル38には任意の起点座標に対し、距離Lの円周上で画素値が1となる候補の座標が登録されている。
ペア画素判定部33は、位置情報テーブル38が指示する座標の1つから画素値を読み出し、起点画素と相手画素が共に画素値が1となるか否かを判定する(S130)。
起点画素と共に画素値が1でない場合(S130のNo)、ペア判定部は何もせず、起点画素と相手画素が共に画素値が1である場合(S130のYes)、ペア判定部は候補画素に候補フラグを立てる(S140)。
このステップS130とS140の処理が、各PEが並行して実行できる処理であり高速処理が可能となる。
次いで、ペアリストテーブル作成部34は着目している起点画素の座標と、候補フラグが立っている座標から、候補フラグが立っている画素の画像データ全体における座標を求め、ペアリストテーブル39に記録する(S150)。起点画素の座標が候補画素の座標で、候補フラグが立っている座標が相手画素の座標である。
ペア画素判定部33は位置情報テーブル38の最後まで探索したか否かを判定し(S160)、探索していない場合はステップS130から次の位置情報テーブル38の座標から処理を繰り返す。
位置情報テーブル38の最後まで探索した場合(S160のYes)、候補一覧テーブル作成部35はペアリストテーブル39を上記の手順で整理し、候補一覧テーブル40を作成する(S170)。
次に、候補一覧テーブル作成部35は、候補一覧テーブル40から候補数が1つしかない候補画素を削除すると共に、該候補画素が相手候補画素となっている候補画素の候補数を1つ減らす(S180)。
候補数が1つしかない候補画素がなくなると、検証部36が検証を開始する(S190〜S260)。
まず、検証部36は、候補一覧テーブル40から候補画素の座標(座標A)を1つ読み出す(S190)。
検証部36は接続カウンタに0を設定することで初期化する(S200)。接続カウンタは指定されている点の個数回で元の候補画素に戻ってくるか否かを判定するための候補画素をカウントするためのカウンタである。
検証部36は、候補画素に対応づけられている相手候補画素の座標を読み出す(S210)。なお、候補の数が3以上の場合は、その全ての点をツリー状に辿るため、経路上の多点の全ての組み合わせで検証を行う。例えば、図13の点1から点2を取り出した場合、点2には候補となる点が3つある。各点(1,F,3)に対しその先の接続先が2つあるので3×2の数の経路が存在するが、この全ての点を辿る。
相手候補画素が見つかった場合は接続カウンタを1つ増加させる(S220)。
検証部36は、相手候補画素が接続カウンタ=0の時に読み出した候補画素(座標A)に戻ったか否かを判定する(S230)。
接続カウンタ=0の時に読み出した候補画素に戻っていない場合(S230のNo)、検証部36はステップS190で読み出した相手候補画素と同じ座標の候補画素があるか否かを判定する(S240)。当然ながら、自分自身には戻らない。
相手候補画素と同じ座標の候補画素がある場合(S240のYes)、検証部36は再度、候補画素に対応づけられている相手候補画素の座標を読み出す(S210)。
接続カウンタ=0の時に読み出した候補画素に戻った場合(S230のYes)、検証部36は接続カウンタが指定されている点の個数nと一致するか否かを判定する(S250)。
一致しない場合(S250のNo)、ステップS190で読み出した候補画素はノイズである可能性が高いので、検証部36は候補一覧テーブル40からステップS190で読み出した候補画素を全て削除し、削除により減少する候補数を更新する(S260)。
接続カウンタが指定されている点の個数nと一致する場合(S250のYes)、候補画素は円の円周上であると推定される。
検証部36は候補一覧テーブル40の最後まで検証したか否かを判定し(S270)、最後まで検証していない場合(S270のNo)、ステップS190から検証を繰り返す。
候補一覧テーブル40の最後まで検証した場合(S270のYes)、候補一覧テーブル40に残っている候補画素が円周上の多点である(S280)。
図15に示したようにこれで最大PE数単位処理が終わったので、ステップS20で次の最大PE数単位処理が行われる。この処理内容は図15にて説明したとおりである。
以上説明したように、本実施例の画像処理総理は、SIMD型プロセッサ100を用いて円を検出することで、円の検出に必要な時間を短縮できる。また、与えられた多点の数を利用して、マーカ以外から円周上の多点として誤検出されたノイズを除去するので、撮影画像にノイズが含まれていても、円を正確に検出可能となる。
11 グローバルプロセッサ
12 PE群
31 2点間距離算出部
32 位置情報テーブル作成部
33 ペア画素判定部
34 ペアリストテーブル作成部
35 候補一覧テーブル作成部
36 検証部
38 位置情報テーブル
39 ペアリストテーブル
40 候補一覧テーブル
100 SIMD型プロセッサ
200 画像処理装置
特開平09−114990号公報 特許4187043号公報

Claims (7)

  1. 複数画素分の画素値を記憶する専用のデータ記憶手段と演算部が配置されたi(≧2)個のプロセッサエレメントと、前記プロセッサエレメントを制御するグローバルプロセッサと、を有するSIMD型プロセッサを備えた画像処理装置であって、
    被写体の画像データを記憶する画像データ記憶手段と、
    前記画像データに含まれる円の等間隔な円周点間の間隔距離を、与えられた前記円の半径と円周点数を用いて算出する間隔距離算出手段と、
    各データ記憶手段が記憶する少なくとも前記間隔距離に相当するライン数の画素において、各プロセッサエレメントの各データ記憶手段が記憶している起点画素に対し前記間隔距離の位置にある全ての相手画素の座標が登録された座標情報テーブルを作成する座標情報テーブル作成手段と、
    前記起点画素の画素値と、前記座標情報テーブルの前記相手画素の画素値が共に黒画素である場合に、前記起点画素と前記相手画素の組を組リストテーブルに登録する処理を各プロセッサエレメントが並行して行う組リストテーブル作成手段と、
    前記組リストテーブルから各円周点の両隣に等間隔の円周点があることを利用して候補画素と相手候補画素が対応付けられた候補一覧テーブルを作成する候補一覧テーブル作成手段と、
    前記候補一覧テーブルの前記候補画素及び前記相手候補画素が前記円周点か否かを、前記円周点数に基づき検証する検証手段と、を有することを特徴とする画像処理装置。
  2. 前記候補一覧テーブル作成手段は、前記組リストテーブルにおいて、前記起点画素及び前記相手画素から重複しないペアを前記候補画素として取り出し、
    前記候補画素が前記起点画素又は前記相手画素として組になっていた前記起点画素又は前記相手画素の座標を、前記相手候補画素として前記候補画素に対応づけて登録することで前記候補一覧テーブルを作成し、
    1つの前記候補画素に対応づけられている前記相手候補画素の候補数が1つしかない場合、該候補画素を前記候補一覧テーブルから削除する、
    ことを特徴とする請求項1記載の画像処理装置。
  3. 前記検証手段は、前記候補一覧テーブルの1つの前記候補画素に着目し、
    該候補画素に対応づけられた前記相手候補画素の座標と一致する座標が前記候補画素の座標として前記候補一覧テーブルに登録されている場合に、カウント数を1つ増大する処理を、
    前記相手候補画素の座標が着目している前記候補画素の座標と一致するまで繰り返し、
    前記相手候補画素の座標と着目している前記候補画素の座標が一致した時の前記カウント数が前記円周点数である場合に、着目した前記候補画素が前記円周点の画素であると推定する、
    ことを特徴とする請求項2記載の画像処理装置。
  4. 前記検証手段は、
    着目している前記候補画素と前記相手候補画素の座標が一致した時の前記カウント数が前記円周点数でない場合、着目した前記候補画素が前記円周点以外のノイズであると推定する、
    ことを特徴とする請求項3記載の画像処理装置。
  5. i個の各プロセッサエレメントの前記組リストテーブル作成手段は、互いに並行して、
    自機の前記データ記憶手段が記憶する前記起点画素の画素値と、自機又は他のプロセッサエレメントの前記データ記憶手段に記憶されている各相手画素の画素値が共に黒画素である場合に、前記起点画素と前記相手画素の組を組リストテーブルに登録する処理を行う、
    ことを特徴とする請求項1〜4いずれか1項記載の画像処理装置。
  6. 前記検証手段が、前記候補一覧テーブルの全ての前記候補画素が前記円周点であることを検証した場合、
    前記円の位置を基準位置と比較して、前記被写体の位置を補正する位置補正手段、
    を有することを特徴とする請求項1〜5いずれか1項記載の画像処理装置。
  7. 複数画素分の画素値を記憶する専用のデータ記憶手段と演算部が配置されたi(≧2)個のプロセッサエレメントと、前記プロセッサエレメントを制御するグローバルプロセッサと、を有するSIMD型プロセッサを備えた画像処理装置の円検出方法であって、
    間隔距離算出手段が、画像データ記憶手段に記憶された被写体の画像データに含まれる円の等間隔な円周点間の間隔距離を、与えられた前記円の半径と円周点数を用いて算出するステップと、
    座標情報テーブル作成手段が、各データ記憶手段が記憶する少なくとも前記間隔距離に相当するライン数の画素において、各プロセッサエレメントの各データ記憶手段が記憶している起点画素に対し前記間隔距離の位置にある全ての相手画素の座標が登録された座標情報テーブルを作成するステップと、
    組リストテーブル作成手段が、前記起点画素の画素値と、前記座標情報テーブルの前記相手画素の画素値が共に黒画素である場合に、前記起点画素と前記相手画素の組を組リストテーブルに登録する処理を各プロセッサエレメントが並行して行うステップと、
    候補一覧テーブル作成手段が、前記組リストテーブルから各円周点の両隣に等間隔の円周点があることを利用して候補画素と相手候補画素が対応付けられた候補一覧テーブルを作成するステップと、
    検証手段が、前記候補一覧テーブルの前記候補画素及び前記相手候補画素が前記円周点か否かを、前記円周点数に基づき検証するステップと、
    を有することを特徴とする円検出方法。
JP2013051000A 2013-03-13 2013-03-13 画像処理装置、円検出方法 Expired - Fee Related JP6102368B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013051000A JP6102368B2 (ja) 2013-03-13 2013-03-13 画像処理装置、円検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051000A JP6102368B2 (ja) 2013-03-13 2013-03-13 画像処理装置、円検出方法

Publications (2)

Publication Number Publication Date
JP2014178779A JP2014178779A (ja) 2014-09-25
JP6102368B2 true JP6102368B2 (ja) 2017-03-29

Family

ID=51698689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051000A Expired - Fee Related JP6102368B2 (ja) 2013-03-13 2013-03-13 画像処理装置、円検出方法

Country Status (1)

Country Link
JP (1) JP6102368B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5943486A (ja) * 1982-09-06 1984-03-10 Nippon Telegr & Teleph Corp <Ntt> 円抽出処理方式
JP3675543B2 (ja) * 1995-12-27 2005-07-27 Ntn株式会社 画像位置計測方法
JP4105376B2 (ja) * 2000-09-29 2008-06-25 株式会社リコー 図形検出回路

Also Published As

Publication number Publication date
JP2014178779A (ja) 2014-09-25

Similar Documents

Publication Publication Date Title
CN110348454B (zh) 匹配局部图像特征描述符
EP2680223A1 (en) Feature point matching device, feature point matching method, and non-temporary computer-readable medium having feature point matching program stored thereon
JP2015198306A (ja) 画像処理装置、および、コンピュータプログラム
CN104517092A (zh) 一种qr码校正图形的检测方法及系统
CN101990065A (zh) 图像处理装置、图像拍摄装置、图像处理方法和程序
CN110020571B (zh) 二维码校正方法、装置及设备
US11587240B2 (en) Moving body detecting device, moving body detecting method, and moving body detecting program
JP6496159B2 (ja) パターン検査装置およびパターン検査方法
CN116645502B (zh) 输电线路图像检测方法、装置及电子设备
JP2015132969A (ja) 移動体検出装置および移動体検出方法
JP6102368B2 (ja) 画像処理装置、円検出方法
CN105631850B (zh) 对齐多视图扫描
US20170178351A1 (en) Method for determining missing values in a depth map, corresponding device, computer program product and non-transitory computer-readable carrier medium
US20240104919A1 (en) Information processing apparatus and information processing method
EP4350280A1 (en) Three-dimensional measurement device
JP2017084259A (ja) 対応点探索方法、および距離測定装置
US10192311B2 (en) Methods and apparatus for codeword boundary detection for generating depth maps
CN113591862A (zh) 文本识别的方法及装置
JP2014215840A (ja) 画像処理回路、画像処理装置及び画像処理方法
CN109242894B (zh) 一种基于移动最小二乘法的图像对齐方法及系统
JP2017126254A (ja) 情報処理装置、情報処理方法、およびプログラム
US11836218B2 (en) System and method for object detection and dimensioning
JP5636966B2 (ja) 誤差検出装置及び誤差検出プログラム
JP5371015B2 (ja) クロスマーク検出装置及び方法、並びにプログラム
JP5039083B2 (ja) 画像作成方法、計算装置、画像作成プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170125

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: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R151 Written notification of patent or utility model registration

Ref document number: 6102368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees