JP6075912B2 - Image processing apparatus and image processing method - Google Patents

Image processing apparatus and image processing method Download PDF

Info

Publication number
JP6075912B2
JP6075912B2 JP2013051290A JP2013051290A JP6075912B2 JP 6075912 B2 JP6075912 B2 JP 6075912B2 JP 2013051290 A JP2013051290 A JP 2013051290A JP 2013051290 A JP2013051290 A JP 2013051290A JP 6075912 B2 JP6075912 B2 JP 6075912B2
Authority
JP
Japan
Prior art keywords
imaging
image
recognition
recognition processing
task
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
JP2013051290A
Other languages
Japanese (ja)
Other versions
JP2014178801A (en
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.)
Juki Corp
Original Assignee
Juki Corp
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 Juki Corp filed Critical Juki Corp
Priority to JP2013051290A priority Critical patent/JP6075912B2/en
Priority to CN201410096426.1A priority patent/CN104052926B/en
Publication of JP2014178801A publication Critical patent/JP2014178801A/en
Application granted granted Critical
Publication of JP6075912B2 publication Critical patent/JP6075912B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electric Connection Of Electric Components To Printed Circuits (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

本発明は、画像撮像中に既に入力済みの画像データを並列に処理する画像処理装置及び方法に関するものである。   The present invention relates to an image processing apparatus and method for processing in parallel image data already input during image capturing.

従来技術として、例えば、部品実装装置に適用されている画像処理装置では、複数の部品について連続して撮像が行われ、撮像により得られた画像データに対して、優先順位に従い、並列して認識処理を実行する部品認識方法が提案されている(例えば、特許文献1参照)。
この画像処理装置では、撮像終了をトリガにして、あらかじめ設定された優先順位に従って、認識処理を行う画像データを選定し直して、優先順位の高い画像データへの認識処理切り替え行っている。このときの優先順位は、回路基板への電子部品の装着順もしくは被検査物における大きさの順位としている。
As a conventional technique, for example, in an image processing apparatus applied to a component mounting apparatus, imaging is continuously performed for a plurality of components, and image data obtained by imaging is recognized in parallel according to priority. A component recognition method for executing processing has been proposed (see, for example, Patent Document 1).
In this image processing apparatus, with the end of imaging as a trigger, image data to be recognized is selected again according to a preset priority, and the recognition process is switched to image data with a higher priority. The priority order at this time is the order of mounting the electronic components on the circuit board or the order of the size of the inspection object.

図18に上記画像処理装置が行う処理のタイムチャートを示す。
まず、従来の画像処理装置では、撮像の要求を受けると、画像データを所定のメモリに記憶するために、時刻t1から所定のメモリに対するバス接続処理を実行する。
その後、時刻t2から、第1画像データの撮像を開始する。そして、時刻t3にて、画像撮像を終了し、メモリに併設されたコントローラから装置の制御及び画像処理を行うためのCPUに対して割込信号を送出する。
これにより、CPUは、第2画像データの撮像のための設定や画像データの記憶領域の確保等を割込処理にて実行する。そして、割込処理の後に、CPUは、既に記憶された第1画像データに対し、第1画像認識処理を実行する。
FIG. 18 shows a time chart of processing performed by the image processing apparatus.
First, when receiving a request for imaging, a conventional image processing apparatus executes a bus connection process for a predetermined memory from time t1 in order to store the image data in the predetermined memory.
Thereafter, imaging of the first image data is started from time t2. Then, at time t3, image capturing is terminated, and an interrupt signal is sent from the controller provided in the memory to the CPU for controlling the apparatus and performing image processing.
As a result, the CPU executes settings for capturing the second image data, secures a storage area for the image data, and the like in the interrupt process. Then, after the interrupt process, the CPU executes a first image recognition process on the already stored first image data.

一方、第1画像認識処理と並列して、カメラは第2画像データの撮像を実行する。時刻t4から第2画像データの撮像を開始し、時刻t5にて画像撮像終了し、CPUに対してメモリのコントローラから割込信号を送出する。
これにより、CPUは、処理中であった第1画像認識処理を一時中断する。さらに、CPUは第3画像データの撮像のための設定を割込処理にて実行する。そして、既に記憶された第1画像データ及び第2画像データについて、予め設定されている画像認識処理の優先順位を判定し、優先順位の高い方の画像認識処理を実行する。画像認識処理の優先順位が、例えば、第3画像データ、第2画像データ、第1画像データの順であるとすると、CPUは、画像撮像動作が終了して未処理状態にある第1画像データ及び第2画像データに対して、優先順位の高い第2画像データの方を第1画像データに優先して画像認識処理を実行する。
これにより、第1画像データ に対する画像認識処理は、当該第1画像データの画像認識処理よりも優先順位の高い画像データの画像認識処理が全て終了するまで一時中断することとなる。
On the other hand, in parallel with the first image recognition process, the camera captures the second image data. The imaging of the second image data is started at time t4, the imaging of the image is finished at time t5, and an interrupt signal is sent from the controller of the memory to the CPU.
Accordingly, the CPU temporarily interrupts the first image recognition process that was being processed. Further, the CPU executes setting for capturing the third image data by interrupt processing. Then, for the first image data and the second image data that are already stored, the priority of the image recognition process set in advance is determined, and the image recognition process with the higher priority is executed. If the priority order of the image recognition processing is, for example, the order of the third image data, the second image data, and the first image data, the CPU completes the image capturing operation and is in the unprocessed state. For the second image data, the image recognition process is executed by giving priority to the second image data having a higher priority than the first image data.
As a result, the image recognition process for the first image data is temporarily suspended until all the image recognition processes for image data having a higher priority than the image recognition process for the first image data are completed.

上記割込処理の終了後、カメラにより第3画像データの撮像が実行される。時刻t6から第3画像データの撮像を開始し、時刻t7にて、画像撮像を終了し、メモリのコントローラからCPUに対して、割込信号を送出する。CPUは、第2画像認識処理を一時中断し、上述したように優先順位を判定する。
前述したように、第3画像データの優先順位が最も高いので、当該第3画像データに対する画像認識処理がまず実行され、これが終わると時刻t8において、その次に第2画像データにおける一時中断後の残りのデータに対して画像認識処理が実行され、さらに、これが終わると時刻t9において、第1画像データにおける一時中断後の残りのデータに対して画像認識処理が実行され、時刻t10にて終了する。
このようにして全ての画像データに対して画像認識処理が終了したところで一連の画像撮像及び画像認識処理の作業は終了することとなる。
尚、このような、画像認識処理を実行する画像データの変更機能は、CPUのオペレーションシステムが、マルチタスク機能をサポートしていれば簡単に実現することが可能である。
After the interruption process is completed, the camera captures the third image data. The imaging of the third image data is started at time t6, the imaging of the image is terminated at time t7, and an interrupt signal is sent from the memory controller to the CPU. The CPU suspends the second image recognition process and determines the priority order as described above.
As described above, since the priority order of the third image data is the highest, the image recognition process for the third image data is executed first, and when this is finished, at time t8, the second image data after the temporary interruption is next. The image recognition process is performed on the remaining data, and when this is completed, the image recognition process is performed on the remaining data after the temporary interruption in the first image data at time t9, and ends at time t10. .
In this way, when the image recognition processing is completed for all the image data, a series of image capturing and image recognition processing operations are completed.
Note that such an image data changing function for executing image recognition processing can be easily realized if the operation system of the CPU supports the multitask function.

特許第3762519号公報Japanese Patent No. 3762519

しかしながら、従来の画像処理装置における画像処理の方法では、複数のカメラを搭載し、これらのカメラが個々に非同期で連続的に撮像を行い、それらの撮像画像データについて画像処理を行うような場合には不適であった。
即ち、カメラを複数搭載する場合、複数系統からの非同期での処理要求の組み合わせは増大し、あらかじめ適切な優先順位を設定しておくことは困難となる。例えば、処理要求の重なり具合によって、ある時間での処理の多重度が上がり負荷が重くなる、また、処理時間がかかる処理が混ざるなど、CPUの負荷状態が刻々と変動する。このような環境下では、あらかじめきめた優先順位に従って処理を進めた場合、低優先順位の処理まで順番が回ってこなくなり、想定されている以上の遅れが発生し、タイムアウトによるエラーが発生する場合があった。
However, in the image processing method in the conventional image processing apparatus, when a plurality of cameras are mounted, and these cameras individually and continuously capture images and perform image processing on the captured image data. Was unsuitable.
That is, when a plurality of cameras are mounted, combinations of asynchronous processing requests from a plurality of systems increase, and it becomes difficult to set an appropriate priority order in advance. For example, depending on the degree of overlap of processing requests, the multiplicity of processing in a certain time increases and the load becomes heavy, and the load state of the CPU fluctuates every time, for example, processing that requires processing time is mixed. In such an environment, if the processing is advanced according to the priorities decided in advance, the order will not come to the low-priority processing, a delay more than expected may occur, and an error due to timeout may occur. there were.

さらに、画像撮像終了毎に各認識処理を一時中断して、優先順位を評価し、優先して実行する認識処理を決定するディスパッチ処理の負荷であるオーバーヘッドも作業効率を低下させる一因となる。特に、カメラを複数搭載する場合、ディスパッチ処理が増加してオーバーヘッドによる負荷が増大する。
また、近年のキャッシュ制御により高速化をはかっているCPUにとっては、タスクの切り替えは最小限に止めたほうがキャッシュのヒット率が保持されるために速度的に有利となる。
このように、従来方法では、優先順位の設定によっては、無駄なディスパッチ処理が発生する可能性があり、優先順位に従って想定された順番で処理を進めることはできるが、トータル的な作業効率は低下を生じるものとなっていた。
Furthermore, each recognition process is temporarily interrupted every time image capturing is completed, the priority is evaluated, and the overhead that is the load of the dispatch process for determining the recognition process to be executed preferentially also contributes to the reduction in work efficiency. In particular, when a plurality of cameras are installed, dispatch processing increases and the overhead load increases.
Also, for CPUs that have been speeded up by cache control in recent years, it is advantageous in terms of speed to keep the cache hit rate by minimizing task switching.
As described above, in the conventional method, depending on the priority setting, there is a possibility that wasteful dispatch processing may occur, and the processing can be performed in the expected order according to the priority, but the total work efficiency is reduced. Was supposed to occur.

請求項1記載の発明は、演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記演算処理部は、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求部と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て手段とを有し、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置において、
前記複数の要求に基づくそれぞれの撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定手段と、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理手段と、
前記優先順位内での認識処理の優先度をさらに定め、認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を前記優先度に応じて並び替える優先度設定手段を備え、
前記優先度設定手段は、前記実行可能キューへの認識処理タスクの接続順位を並び替える際に、認識処理タスクがハード演算を含むか否かを判定し、ハード演算を含み、前記演算処理部との並列処理が可能な認識処理タスクについて、ハード演算占有率が高いものほど優先度を高くして並び替えることを特徴とする。
The invention according to claim 1 is an arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
The arithmetic processing unit includes:
An imaging requesting unit for performing an imaging request to be captured by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
Task assignment means for assigning recognition processing tasks to the plurality of requests,
In the image processing apparatus for processing a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
Setting means for setting or updating the priority order of the recognition processing task when each imaging based on the plurality of requests is completed;
A progress management means for selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is completed, and shifting to the next recognition processing task;
A priority setting unit that further determines the priority of the recognition process within the priority order and rearranges the connection order of the recognition process task to the executable queue that stores the execution order of the recognition process task according to the priority; ,
The priority setting means determines whether the recognition processing task includes a hardware operation when rearranging the connection order of the recognition processing task to the executable queue, includes a hardware operation, and includes the arithmetic processing unit and The recognition processing tasks that can be processed in parallel are rearranged with higher priority as the hardware operation occupancy is higher.

請求項2記載の発明は、演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記演算処理部は、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求部と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て手段とを有し、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置において、
前記複数の要求に基づくそれぞれの撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定手段と、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理手段と、
認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を並び替える接続順位補正手段を備え、
前記接続順位補正手段は、
前記複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間及び前記複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とに基づいて、前記複数の要求に基づくそれぞれの撮像画像の認識処理の遅延時間を求め、それぞれの前記遅延時間の合計が低減するように認識処理タスクを並び替えることを特徴とする。
The invention according to claim 2 includes an arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
The arithmetic processing unit includes:
An imaging requesting unit for performing an imaging request to be captured by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
Task assignment means for assigning recognition processing tasks to the plurality of requests,
In the image processing apparatus for processing a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
Setting means for setting or updating the priority order of the recognition processing task when each imaging based on the plurality of requests is completed;
A progress management means for selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is completed, and shifting to the next recognition processing task;
A connection order correction means for rearranging the connection order of the recognition processing tasks to the executable queue for storing the execution order of the recognition processing tasks;
The connection order correction means includes:
Based on the image recognition processing time required for the recognition processing of each captured image based on the plurality of requests and the target image recognition processing end time for the recognition processing of each captured image based on the plurality of requests, A delay time of recognition processing of each captured image based on the request is obtained, and the recognition processing tasks are rearranged so that the total of the delay times is reduced.

請求項3記載の発明は、請求項2記載の発明と同様の構成を備えると共に、前記接続順位補正手段は、
前記複数のカメラの中で2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして認識処理タスクの並び替えを実行することを特徴とする。
The invention according to claim 3 has the same configuration as that of the invention according to claim 2, and the connection order correction means includes:
The rearrangement of the recognition processing tasks is executed with the completion of the exposure of the first imaging in the continuous imaging of the cameras that perform continuous imaging in the second and subsequent orders among the plurality of cameras as a trigger.

請求項4記載の発明は、演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置が行う画像処理方法において、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求工程と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て工程と、
前記複数の要求に基づく毎回の撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定工程とを備え、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理工程と、
前記優先順位内での認識処理の優先度をさらに定め、認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を前記優先度に応じて並び替える優先度設定工程とを備え、
前記優先度設定工程は、前記実行可能キューへの認識処理タスクの接続順位を並び替える際に、認識処理タスクがハード演算を含むか否かを判定し、ハード演算を含み、前記演算処理部との並列処理が可能な認識処理タスクについて、ハード演算占有率が高いものほど優先度を高くして並び替えることを特徴とする。
The invention according to claim 4 is an arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
In an image processing method performed by an image processing apparatus that processes a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
An imaging request step for making an imaging request for imaging by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
A task assignment step for assigning recognition processing tasks to the plurality of requests;
A setting step for setting or updating the priority order of the recognition processing task at the time of completion of each imaging based on the plurality of requests,
A progress management step of selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is finished, and shifting to the next recognition processing task;
A priority setting step for further determining the priority of the recognition process within the priority order, and rearranging the connection order of the recognition process task to the executable queue storing the execution order of the recognition process task according to the priority. Prepared,
The priority setting step determines whether the recognition processing task includes a hardware operation when rearranging the connection order of the recognition processing task to the executable queue, includes a hardware operation, includes the arithmetic processing unit, The recognition processing tasks that can be processed in parallel are rearranged with higher priority as the hardware operation occupancy is higher.

請求項5記載の発明は、演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置が行う画像処理方法において、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求工程と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て工程と、
前記複数の要求に基づく毎回の撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定工程とを備え、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理工程と、
認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を並び替える接続順位補正工程を備え、
前記接続順位補正工程は、
前記複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間及び前記複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とに基づいて、前記複数の要求に基づくそれぞれの撮像画像の認識処理の遅延時間を求め、それぞれの前記遅延時間の合計が低減するように認識処理タスクを並び替えることを特徴とする。
The invention according to claim 5 is an arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
In an image processing method performed by an image processing apparatus that processes a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
An imaging request step for making an imaging request for imaging by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
A task assignment step for assigning recognition processing tasks to the plurality of requests;
A setting step for setting or updating the priority order of the recognition processing task at the time of completion of each imaging based on the plurality of requests,
A progress management step of selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is finished, and shifting to the next recognition processing task;
A connection order correction step for rearranging the connection order of the recognition processing tasks to the executable queue for storing the execution order of the recognition processing tasks;
The connection order correction step includes:
Based on the image recognition processing time required for the recognition processing of each captured image based on the plurality of requests and the target image recognition processing end time for the recognition processing of each captured image based on the plurality of requests, A delay time of recognition processing of each captured image based on the request is obtained, and the recognition processing tasks are rearranged so that the total of the delay times is reduced.

請求項6記載の発明は、請求項5記載の発明と同様の構成を備えると共に、前記接続順位補正工程は、
前記複数のカメラの中で2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして認識処理タスクの並び替えを実行することを特徴とする。
The invention according to claim 6 has the same configuration as that of the invention according to claim 5, and the connection order correction step includes:
The rearrangement of the recognition processing tasks is executed with the completion of the exposure of the first imaging in the continuous imaging of the cameras that perform continuous imaging in the second and subsequent orders among the plurality of cameras as a trigger.

請求項1,2,4又は5では、複数の要求に基づいて撮像とその撮像画像の認識処理とを行う際に、撮像終了時に認識処理タスクの優先順位を更新し、認識処理タスクの認識終了毎に優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する。
これにより、一の認識処理が終了したときに、次に実行可能に認識処理タスクが存在すれば割込処理を介することなく次に認識処理につなぐことができ、割込処理の発生頻度を低減し、全体の処理の遅延をなくして迅速化を図ることが可能となる。
さらに、認識処理タスクの認識処理の終了毎に次の認識処理タスクに移行するので、一の認識処理の完了が複数回の割込処理により過剰に遅延することを抑止することが可能となる。従って、優先順位が低い認識処理タスクの場合でも、待ち時間が過剰に長くなることに起因するタイムアウトの発生を低減することが可能となる。
In claim 1, 2, 4, or 5, when performing imaging and recognition processing of the captured image based on a plurality of requests, the priority order of the recognition processing task is updated at the end of imaging, and recognition processing task recognition ends Each time, a recognition processing task to be executed next is selected according to the priority order, and the process proceeds to the next recognition processing task.
As a result, when one recognition process is completed, if there is a recognition process task that can be executed next, it can be connected to the next recognition process without going through the interrupt process, reducing the frequency of occurrence of the interrupt process. In addition, it is possible to speed up by eliminating the delay of the entire process.
Furthermore, since the process proceeds to the next recognition process task every time the recognition process task is completed, it is possible to prevent the completion of one recognition process from being excessively delayed by a plurality of interrupt processes. Therefore, even in the case of a recognition processing task with a low priority, it is possible to reduce the occurrence of a timeout due to an excessively long waiting time.

さらに、請求項1又は4では、認識処理タスクがハード演算を含む場合に、そのハード演算占有率が高いものほど実行可能キューへの認識処理タスクの接続順位の優先度を高くするよう並び替える補正を行うことから、ハード演算によって得られる演算処理部の空き時間を次の認識処理タスクが有効活用することができ、複数の認識処理のトータルでの処理時間をより短くすることが可能となる。   Further, in claim 1 or 4, when a recognition processing task includes a hardware operation, the higher the hardware operation occupation ratio, the higher the priority of the connection processing order of the recognition processing task to the executable queue. Thus, the next recognition processing task can effectively use the free time of the arithmetic processing unit obtained by the hardware calculation, and the total processing time of the plurality of recognition processes can be further shortened.

請求項2又は5では、複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間と複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とが既知又は取得可能である場合に、各カメラの連続撮像を開始した時刻とそれぞれの撮像画像の認識処理に要する画像認識処理時間とから、個々の撮像画像の認識処理の終了時刻を算出することができる。そして、個々の撮像について、算出した画像認識処理の終了時刻と目標とする画像認識処理終了時刻と比較することで遅延の発生及び遅延時間を求めることが可能である。
上記複数のカメラによる連続撮像を行った場合に、個々の撮像の何れかは目標とする画像認識処理終了時刻に対する余裕時間を生じる場合があるので、余裕時間を生じる撮像の認識処理タスクと遅延を生じる撮像の認識処理タスクの接続順位を入れ替えることで、いずれの認識処理タスクも遅延を解消する場合がある。
このような入れ替えによって遅延を解消する認識処理タスクの組み合わせを適宜探索し、実行可能キューへの認識処理タスクの接続順位を並び替えることにより、個々の撮像の認識処理の遅延を低減又は解消し、複数のカメラの連続撮像の認識処理のトータルでの処理時間をより短くすることが可能となる。
The image recognition processing time required for the recognition processing of each captured image based on a plurality of requests and the target image recognition processing end time for each of the captured image recognition processing based on the plurality of requests are known. Alternatively, when acquisition is possible, the end time of the recognition processing of each captured image can be calculated from the time when the continuous imaging of each camera is started and the image recognition processing time required for the recognition processing of each captured image. . Then, for each image pickup, it is possible to determine the occurrence of delay and the delay time by comparing the calculated end time of the image recognition process with the target end time of the image recognition process.
When performing continuous imaging with the above-mentioned plurality of cameras, any of the individual imaging may cause a margin time with respect to the target image recognition processing end time. Any recognition processing task may eliminate the delay by changing the connection order of the recognition processing tasks of the imaging that occurs.
By appropriately searching for a combination of recognition processing tasks that eliminate the delay by such replacement and rearranging the connection order of the recognition processing tasks to the executable queue, the delay of the recognition processing of each imaging is reduced or eliminated, It is possible to shorten the total processing time of the recognition processing for continuous imaging of a plurality of cameras.

請求項3又は6では、複数のカメラの中で2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして、遅延時間の合計を低減させるための認識処理タスクの並び替えを実行するので、撮像完了を待たずに並び替える認識処理タスクの組み合わせを探索する処理を開始することができ、認識処理のトータルでの処理時間をさらに短くすることが可能となる。   The recognition processing task for reducing the total delay time triggered by completion of exposure of the first imaging in continuous imaging of a camera that performs continuous imaging in the second and subsequent orders among a plurality of cameras. Therefore, the process of searching for a combination of recognition processing tasks to be rearranged without waiting for the completion of imaging can be started, and the total processing time of the recognition process can be further shortened.

電子部品実装装置の平面図である。It is a top view of an electronic component mounting apparatus. 電子部品実装装置の搭載動作の動作フローチャートである。It is an operation | movement flowchart of mounting operation | movement of an electronic component mounting apparatus. 電子部品実装装置に搭載された画像処理装置とその周辺の装置構成図である。It is an image processing apparatus mounted in the electronic component mounting apparatus and its peripheral apparatus configuration diagram. 電子部品の撮像に関する主要な構成を示した説明図である。It is explanatory drawing which showed the main structures regarding the imaging of an electronic component. 図5は撮像方式の説明図であって図5(A)は電子部品のストップ撮像における平面図、図5(B)は基板マークのストップ撮像における平面図、図5(C)は電子部品のノンストップ撮像における平面図、図5(D)は基板マークのノンストップ撮像における平面図である。5A and 5B are explanatory diagrams of the imaging method, in which FIG. 5A is a plan view in the stop imaging of the electronic component, FIG. 5B is a plan view in the stop imaging of the board mark, and FIG. FIG. 5D is a plan view for non-stop imaging of a substrate mark. 画像処理装置の制御CPUが画像認識のために実行するプログラムのタスク構成図である。It is a task block diagram of the program which control CPU of an image processing apparatus performs for image recognition. 認識処理タスクが実行する処理種別毎の優先順位の一例を示す図表である。It is a graph which shows an example of the priority for every process classification which a recognition process task performs. 撮像認識コマンドが入力され、実行可能状態となった認識処理タスクの管理方法を示す説明図である。It is explanatory drawing which shows the management method of the recognition processing task which the imaging | photography recognition command was input and became an executable state. 一軸による部品実装動作でのノンストップ撮像時の動作のタイミングチャートである。It is a timing chart of the operation | movement at the time of non-stop imaging in the component mounting operation | movement by one axis | shaft. 認識処理タスクによる処理のフローチャートである。It is a flowchart of the process by a recognition process task. タイマ処理のフローチャートである。It is a flowchart of a timer process. 二軸時のノンストップ撮像のタイミングチャートを示す。The timing chart of non-stop imaging at the time of two axes is shown. 二軸時のノンストップ撮像において、搭載時刻(各搭載点までの最短の到達時刻)が既知の場合のタイミングチャートを示す。A timing chart in a case where the mounting time (the shortest arrival time to each mounting point) is known in non-stop imaging at the time of biaxial is shown. 低優先順位のストップ撮像コマンドと連続撮像の重複時のタイミングチャートについて撮像方法・処理種別のみで優先順位の設定をした場合を示したものである。The timing chart when the low-priority stop imaging command and continuous imaging overlap is shown when priority is set only by the imaging method and processing type. 待ち時間の累積時間により低優先順位のタスクの優先順位を動的に変動させるためのタイマ処理を組み込んだ場合のタイミングチャートを示す。A timing chart in the case of incorporating a timer process for dynamically changing the priority of a low priority task according to the accumulated waiting time is shown. 1軸でノンストップ撮像を行う場合であって、三つの電子部品の搭載の順序を反映させて認識処理を実行する場合のタイミングチャートを示す。A timing chart in the case where non-stop imaging is performed with one axis and the recognition process is executed by reflecting the mounting order of three electronic components is shown. 二軸時のノンストップ撮像において、ハード演算を行った場合のタイミングチャートを示す。The timing chart at the time of performing a hardware calculation in the non-stop imaging at the time of biaxial is shown. 従来の画像処理装置が行う処理のタイムチャートを示す。The time chart of the process which the conventional image processing apparatus performs is shown.

[発明の実施形態の全体構成]
本発明の実施形態について、図1乃至図17に基づいて説明する。本実施形態は、撮像画像内の電子部品Cにおける中心位置や傾きを検出するために画像処理を行う画像処理装置19が電子部品実装装置100に搭載され、電子部品Cを基板Kに実装する位置決め制御に利用される場合の例を示している。
[Overall Configuration of Embodiment of Invention]
An embodiment of the present invention will be described with reference to FIGS. In this embodiment, an image processing device 19 that performs image processing to detect the center position and inclination of the electronic component C in the captured image is mounted on the electronic component mounting apparatus 100, and positioning for mounting the electronic component C on the substrate K is performed. The example in the case of using for control is shown.

[電子部品実装装置]
図1は電子部品実装装置100の平面図である。電子部品実装装置100は、基板Kに各種の電子部品Cの搭載を行うものであって、電子部品Cの搭載手段として、図1に示すように、搭載される電子部品Cを供給する複数の電子部品フィーダ101と、電子部品フィーダ101を複数並べて保持する電子部品供給部としてのフィーダバンク102と、一定方向に基板Kを搬送する基板搬送手段103と、当該基板搬送手段103による基板搬送経路の途中に設けられた基板Kに対する電子部品搭載作業を行うための搭載作業部104と、電子部品Cを吸着する吸着ノズル108を保持して電子部品Cの保持を行う部品保持手段としてのヘッド106と、ヘッド106を所定範囲内の任意の位置に駆動搬送するヘッド移動手段としてのX−Yガントリ107と、吸着ノズル108に吸着された電子部品Cの撮像を行う部品用カメラ6と、搭載作業部104の基板Kに付された基板マークMの撮像を行う基板用カメラ4と、部品用カメラ6による撮像位置に照明光を照射する照明装置(図示略)と、基板用カメラ4による撮像位置に照明光を照射する照明装置(図示略)と、電子部品実装装置100の各構成に対して制御を行うマシン制御装置13(図3参照)と、マシン制御装置13に対して作業者による各種の設定の入力及びコマンドの入力を行うためのマンマシンインターフェイス(図示略)と、カメラ4又は6の撮像画像から探索対象となる電子部品C又は基板マークMの位置認識処理を実行する画像処理装置19(図3参照)とを備えている。
また、上記電子部品実装装置100は、基板搬送手段103を挟んでその両側に、電子部品フィーダ101、フィーダバンク102、ヘッド106、X−Yガントリ107、部品用カメラ6及び基板用カメラ4をそれぞれ一つずつ設ける構成としている。
画像処理装置19は、カメラ4又は6による基板マークM又は電子部品Cの撮像画像からこれらの正確な位置情報を求め、マシン制御装置13に出力することでヘッド106の位置決め動作に反映させるために利用される。
カメラ4及び6はいずれもCCDカメラ又はCMOSカメラであり、部品用カメラ6は定位置において下方から吸着ノズル108に吸着された電子部品Cを撮像し、基板用カメラ4はヘッド106に搭載されて上方から搭載作業部104に搬送された基板Kの基板マークMを撮像する。
[Electronic component mounting equipment]
FIG. 1 is a plan view of the electronic component mounting apparatus 100. The electronic component mounting apparatus 100 mounts various electronic components C on a substrate K. As shown in FIG. 1, a plurality of electronic components C are mounted as means for mounting the electronic components C. An electronic component feeder 101, a feeder bank 102 as an electronic component supply unit that holds a plurality of electronic component feeders 101 side by side, a substrate transport unit 103 that transports a substrate K in a certain direction, and a substrate transport path by the substrate transport unit 103 A mounting operation unit 104 for performing an electronic component mounting operation on a substrate K provided in the middle, and a head 106 as a component holding means for holding the electronic component C by holding the suction nozzle 108 for sucking the electronic component C; , It is adsorbed by an XY gantry 107 as a head moving means for driving and conveying the head 106 to an arbitrary position within a predetermined range, and an adsorption nozzle 108. Illumination light is emitted to the imaging position of the component camera 6 that images the electronic component C, the substrate camera 4 that images the substrate mark M attached to the substrate K of the mounting work unit 104, and the component camera 6. An illumination device (not shown), an illumination device (not shown) that irradiates illumination light to an imaging position by the board camera 4, and a machine control device 13 that controls each component of the electronic component mounting apparatus 100 (FIG. 3). Reference), a man-machine interface (not shown) for inputting various settings and commands by the operator to the machine control device 13, and an electronic component to be searched from a captured image of the camera 4 or 6 And an image processing device 19 (see FIG. 3) that performs position recognition processing of C or the substrate mark M.
The electronic component mounting apparatus 100 includes an electronic component feeder 101, a feeder bank 102, a head 106, an XY gantry 107, a component camera 6 and a substrate camera 4 on both sides of the substrate conveying unit 103, respectively. It is set as the structure provided one by one.
The image processing device 19 obtains accurate position information from the captured image of the board mark M or the electronic component C by the camera 4 or 6 and outputs it to the machine control device 13 to reflect it in the positioning operation of the head 106. Used.
The cameras 4 and 6 are both CCD cameras or CMOS cameras. The component camera 6 images the electronic component C sucked by the suction nozzle 108 from below at a fixed position, and the substrate camera 4 is mounted on the head 106. The board | substrate mark M of the board | substrate K conveyed to the mounting operation part 104 from upper direction is imaged.

以下の説明では、主に部品用カメラ6により電子部品Cが撮像される場合を例として説明を行うが、撮像対象は電子部品Cに限定されるものではなく、基板用カメラ4による基板マークMの撮像時にも後述する構成及び処理が適用可能であることは言うまでもない。
また、以下の説明において、水平面に沿って互いに直交する一の方向をX軸方向とし、他の方向をY軸方向とし、垂直上下方向をZ軸方向と称することとする。
In the following description, the case where the electronic component C is imaged mainly by the component camera 6 will be described as an example, but the imaging target is not limited to the electronic component C, and the substrate mark M by the substrate camera 4 is described. Needless to say, the configuration and processing described later can also be applied during imaging.
In the following description, one direction orthogonal to each other along the horizontal plane is referred to as an X-axis direction, the other direction is referred to as a Y-axis direction, and a vertical vertical direction is referred to as a Z-axis direction.

基板搬送手段103は、図示しない搬送ベルトを備えており、その搬送ベルトにより基板をX軸方向に沿って搬送する。
また、前述したように、基板搬送手段103による基板搬送経路の途中には、電子部品を基板Kへ搭載する搭載作業部104が設けられている。基板搬送手段103は、搭載作業部104まで基板Kを搬送すると共に停止して、図示しない保持機構により基板Kの保持を行う。つまり、基板Kは保持機構により保持された状態で安定した電子部品Cの搭載作業が行われる。
The substrate transport unit 103 includes a transport belt (not shown), and transports the substrate along the X-axis direction by the transport belt.
Further, as described above, the mounting operation unit 104 for mounting the electronic component on the substrate K is provided in the middle of the substrate transfer path by the substrate transfer means 103. The substrate transport means 103 transports and stops the substrate K to the mounting work unit 104 and holds the substrate K by a holding mechanism (not shown). That is, a stable mounting operation of the electronic component C is performed while the substrate K is held by the holding mechanism.

それぞれのヘッド106は、その先端部で空気吸引により電子部品Cを保持する六本の吸着ノズル108と、この吸着ノズル108をZ軸方向に駆動する駆動源であるZ軸モータと、吸着ノズル108を介して保持された電子部品CをZ軸方向を中心として回転駆動させる回転駆動源であるθ軸モータとが設けられている。
また、吸着ノズル108は負圧発生装置に接続され、当該吸着ノズル108の先端部において吸気吸引を行うことにより電子部品Cの吸着及び保持が行われる。
つまり、これらの構造により、搭載作業時には、吸着ノズル108の先端部で所定の電子部品フィーダ101から電子部品Cを吸着し、所定位置で基板に向かって吸着ノズル108を下降させると共に吸着ノズル108を回転させて電子部品Cの向きの調整を行いつつ搭載作業が行われる。
また、前述した各部品用カメラ6は、ベースフレーム114に固定支持されている。
Each head 106 has six suction nozzles 108 that hold the electronic component C by air suction at the tip thereof, a Z-axis motor that is a drive source for driving the suction nozzles 108 in the Z-axis direction, and the suction nozzle 108. And a θ-axis motor, which is a rotational drive source for rotating the electronic component C held via the Z axis about the Z-axis direction.
Further, the suction nozzle 108 is connected to a negative pressure generator, and suction and holding of the electronic component C is performed by performing suction suction at the tip of the suction nozzle 108.
That is, due to these structures, during the mounting operation, the electronic component C is sucked from the predetermined electronic component feeder 101 at the tip of the suction nozzle 108, and the suction nozzle 108 is lowered toward the substrate at the predetermined position. The mounting operation is performed while adjusting the orientation of the electronic component C by rotating it.
Each component camera 6 described above is fixedly supported on the base frame 114.

各X−Yガントリ107は、X軸方向にヘッド106の移動を案内するX軸ガイドレール107aと、このX軸ガイドレール107aと共にヘッド106をY軸方向に案内する二本のY軸ガイドレール107bと、X軸方向に沿ってヘッド106を移動させる駆動源であるX軸モータと、X軸ガイドレール107aを介してヘッド106をY軸方向に移動させる駆動源であるY軸モータとを備えている。そして、各モータの駆動により、ヘッド106を二本のY軸ガイドレール107bの間となる領域のほぼ全体に搬送することを可能としている。
なお、各X−Yガントリ107は、二本のY軸ガイドレール107bを共用している。
また、各モータには、ぞれぞれの回転量を検出するエンコーダが装備されており、その回転角度がマシン制御装置13に認識され、所望の回転量となるように制御されることにより、ヘッド106を介して吸着ノズル108の位置決めやカメラ6への移動を行っている。
Each XY gantry 107 includes an X-axis guide rail 107a that guides the movement of the head 106 in the X-axis direction, and two Y-axis guide rails 107b that guide the head 106 in the Y-axis direction together with the X-axis guide rail 107a. And an X-axis motor that is a drive source that moves the head 106 along the X-axis direction, and a Y-axis motor that is a drive source that moves the head 106 in the Y-axis direction via the X-axis guide rail 107a. Yes. Then, by driving each motor, the head 106 can be transported to almost the entire region between the two Y-axis guide rails 107b.
Each XY gantry 107 shares two Y-axis guide rails 107b.
In addition, each motor is equipped with an encoder that detects the amount of rotation of each motor, and the rotation angle is recognized by the machine control device 13 and controlled so as to have a desired amount of rotation. The suction nozzle 108 is positioned and moved to the camera 6 via the head 106.

各フィーダバンク102には、複数の電子部品フィーダ101がX軸方向に沿って羅列して載置装備される。
各電子部品フィーダ101は、後端部に電子部品Cが一列に並んで封止された部品テープのリール(図示略)が保持されており、部品テープはリールから電子部品フィーダ101の先端部(基板側の端部)の上側に設けられた部品受け渡し位置101aまで繰り出され、当該部品受け渡し位置101aにおいて吸着ノズル108により電子部品Cの吸着が行われるようになっている。
Each feeder bank 102 is equipped with a plurality of electronic component feeders 101 arranged in a row along the X-axis direction.
Each electronic component feeder 101 holds a reel (not shown) of a component tape in which electronic components C are sealed in a row at the rear end, and the component tape is transferred from the reel to the leading end of the electronic component feeder 101 ( The electronic component C is picked up by the suction nozzle 108 at the component delivery position 101a.

マシン制御装置13は、基板Kに搭載する電子部品Cのリスト、搭載順番、各電子部品Cの部品吸着位置(いずれの電子部品フィーダ101から受け取るか)及び基板Kにおける搭載位置等が定められた搭載プログラムを記録し、当該搭載プログラムに従って各X−Yガントリ107のX軸モータ、Y軸モータ及びZ軸モータを制御し、ヘッド106の位置決め制御を行う。また、このマシン制御装置13は、吸着時の電子部品Cに対してθ軸モータを駆動して吸着ノズル108を回転させて角度修正制御を行い、X軸モータ及びY軸モータにより位置修正制御を行う。
また、マシン制御装置13は、上記電子部品Cの角度修正制御及び位置修正制御を行うために、各カメラ6による電子部品Cの撮像制御と電子部品Cの位置や姿勢を認識するための要求を画像処理装置19に対して実行する。
In the machine control device 13, a list of electronic components C to be mounted on the substrate K, a mounting order, a component suction position (which electronic component feeder 101 receives) of each electronic component C, a mounting position on the substrate K, and the like are determined. The mounting program is recorded, and the X-axis motor, Y-axis motor, and Z-axis motor of each XY gantry 107 are controlled according to the mounting program, and the head 106 is positioned. Further, the machine control device 13 drives the θ-axis motor for the electronic component C at the time of suction to rotate the suction nozzle 108 to perform angle correction control, and performs position correction control by the X-axis motor and the Y-axis motor. Do.
In addition, the machine control device 13 makes a request for imaging control of the electronic component C by each camera 6 and recognition of the position and orientation of the electronic component C in order to perform angle correction control and position correction control of the electronic component C. This is executed for the image processing device 19.

上記構成からなる電子部品実装装置100は、図2の動作フローチャートに従って電子部品の搭載を行う。
即ち、マシン制御装置13は、X−Yガントリ107のX軸モータ、Y軸モータを制御してヘッド106を電子部品Cの所定の電子部品フィーダ101に対する吸着位置に移動し(ステップS101)、Z軸モータを制御して所定の吸着ノズル108の下降により電子部品Cの吸着を行う(ステップS102)。
なお、複数の電子部品Cをそれぞれ複数の吸着ノズル108に吸着するために、ステップS101とS102の動作は、電子部品Cの吸着数に応じて繰り返し実行する。
しかる後に、部品用カメラ6の撮像位置に向かってヘッド106の移動を開始する(ステップS103)。
かかる移動の際には、まず、X−Yガントリ107のX軸モータ、Y軸モータを所定の目標速度まで加速させ(ステップS104)、目標速度に達すると、当該目標速度を維持しつつ各電子部品Cについてカメラ6の撮像位置を通過させる(ステップS105)。この時、画像処理装置19では、部品用カメラ6を制御して撮像を実行する。
各電子部品Cの撮像後は、マシン制御装置13は、X−Yガントリ107のX軸モータ、Y軸モータを制御して、所定の低速状態となるまで減速し(ステップS106)、基板Kに対する搭載位置にヘッド106を移動させる(ステップS107)。その際、必要があれば、基板マークMの撮像位置にヘッド106を移動して基板マークMの撮像を実行する。
その後、ヘッド106が搭載位置に位置決めされると、Z軸モータを制御して吸着ノズル108を下降し、電子部品Cの搭載を行う(ステップS108)。
また、ヘッド106が吸着を行っている全ての電子部品Cについて搭載が完了したか否かが判定され(ステップS109)、全ての電子部品Cについて搭載が完了するまで、ステップS107とS108の動作が繰り返し実行される。
そして、全ての電子部品Cについて搭載が完了すると、搭載動作制御は終了する。
なお、上記の動作制御では、後述するノンストップ撮像の場合を例示したが、ストップ撮像の場合には、ステップS104において各モータの加速から減速までを行い、ステップS105で撮像位置でヘッド106を位置決め停止させて撮像を行い、ステップS107で各モータの加速から減速までを行い、ステップS108で搭載位置で位置決め停止を行う。
また、上記の動作制御では、一方のヘッド106についてのみ説明を行ったが、実際には、各ヘッド106についてステップS101〜S109までの制御が非同期で個々に実行される。
また、画像処理装置19は、上記ステップS103からステップS108までの間で、電子部品Cの位置及び姿勢の認識処理を実行する。
The electronic component mounting apparatus 100 configured as described above mounts electronic components according to the operation flowchart of FIG.
That is, the machine control device 13 controls the X-axis motor and the Y-axis motor of the XY gantry 107 to move the head 106 to the suction position of the electronic component C with respect to the predetermined electronic component feeder 101 (step S101). The electronic motor C is sucked by lowering the predetermined suction nozzle 108 by controlling the shaft motor (step S102).
Note that the operations of steps S101 and S102 are repeatedly executed according to the number of sucked electronic components C in order to suck the plurality of electronic components C to the plurality of suction nozzles 108, respectively.
Thereafter, the head 106 starts to move toward the imaging position of the component camera 6 (step S103).
In such movement, first, the X-axis motor and Y-axis motor of the XY gantry 107 are accelerated to a predetermined target speed (step S104), and when the target speed is reached, each electron is maintained while maintaining the target speed. The part C is passed through the imaging position of the camera 6 (step S105). At this time, the image processing device 19 executes imaging by controlling the component camera 6.
After imaging each electronic component C, the machine control device 13 controls the X-axis motor and Y-axis motor of the XY gantry 107 to decelerate until a predetermined low speed state is reached (step S106). The head 106 is moved to the mounting position (step S107). At that time, if necessary, the head 106 is moved to the imaging position of the substrate mark M and imaging of the substrate mark M is executed.
After that, when the head 106 is positioned at the mounting position, the suction nozzle 108 is lowered by controlling the Z-axis motor, and the electronic component C is mounted (step S108).
Further, it is determined whether or not the mounting of all the electronic components C to which the head 106 is sucked is completed (step S109), and the operations of steps S107 and S108 are performed until the mounting of all the electronic components C is completed. Repeatedly executed.
Then, when the mounting of all the electronic components C is completed, the mounting operation control ends.
In the above-described operation control, the case of non-stop imaging, which will be described later, is illustrated. However, in the case of stop imaging, the motor 106 is accelerated to decelerated in step S104, and the head 106 is positioned at the imaging position in step S105. In step S107, imaging is performed from acceleration to deceleration of each motor, and positioning is stopped at the mounting position in step S108.
Further, in the above-described operation control, only one head 106 has been described, but actually, the control from steps S101 to S109 is individually executed for each head 106 asynchronously.
In addition, the image processing device 19 executes the recognition process of the position and orientation of the electronic component C between step S103 and step S108.

[画像処理装置]
図3は、電子部品実装装置100に搭載された画像処理装置19とその周辺の装置構成図である。
画像処理装置19は、個々に非同期に撮像を行う基板用カメラ4,4(図3では図示略)と、個々に非同期に撮像を行う部品用カメラ6,6と、各基板用カメラ4,4の照明装置(図示略)と、各部品用カメラ6の照明装置8(図4参照)と、各カメラ4,6の撮像制御及び撮像による画像データを記憶する画像入力部15と、画像データから基板マークMの位置認識、種別の識別、電子部品Cの位置及び姿勢の認識のための認識処理を行う演算処理部18とを備えている。
また、画像入力部15は、LANポート20とこれに接続された画像メモリ7とを備えており、このLANポート20には追加の部品用カメラ6の増設が可能となっている。
例えば、カメラ6からUDP(User Datagram Protocol)により画像が転送される場合、LANポート20にてパケットの取りこぼしが無いように配慮し、どの処理よりも最優先でパケットを画像に変換する必要がある。
なお、基板用カメラ4もLANポートを設けて増設可能としても良い。
[Image processing device]
FIG. 3 is a configuration diagram of the image processing device 19 mounted on the electronic component mounting apparatus 100 and its peripheral devices.
The image processing apparatus 19 includes board cameras 4 and 4 (not shown in FIG. 3) that perform asynchronous imaging, component cameras 6 and 6 that perform asynchronous imaging, and board cameras 4 and 4. From the illumination device (not shown), the illumination device 8 of each component camera 6 (see FIG. 4), the imaging control of each camera 4 and 6, and the image input unit 15 for storing image data by imaging, and the image data And an arithmetic processing unit 18 that performs recognition processing for recognizing the position of the board mark M, identifying the type, and recognizing the position and orientation of the electronic component C.
The image input unit 15 includes a LAN port 20 and an image memory 7 connected to the LAN port 20, and an additional component camera 6 can be added to the LAN port 20.
For example, when an image is transferred from the camera 6 by UDP (User Datagram Protocol), it is necessary to consider that there is no packet dropout at the LAN port 20 and to convert the packet to an image with the highest priority over any processing. .
The board camera 4 may also be provided with a LAN port and can be expanded.

画像入力部15は演算処理部18の制御CPU11と並列で動作が可能である。
各部品用カメラ6(増設した部品用カメラ6を含む、以下、同様)は、それぞれ非同期に撮像を行い、それぞれの入力回路3を介して個別の画像メモリ7に画像データを記憶することができる。
また、図示を省略しているが、基板用カメラ4,4も非同期に撮像を行い、それぞれの入力回路を介して個別の画像メモリに画像データを記憶することができる。
そして、各画像メモリ7は、出力回路5を介してモニタ16に接続されており、各カメラ4,6により撮像した画像データを表示することができる。
また、画像入力部15では、撮像処理以外に、演算制御回路9を用いて、画像メモリ7に記憶された画像データに対して、フィルタ演算やマッチング演算などの大量の繰り返しの演算処理を制御CPU11と並列で高速に動作させることが可能である。即ち、これらの繰り返し演算処理は制御CPU11に負荷がかからないようになっている。
The image input unit 15 can operate in parallel with the control CPU 11 of the arithmetic processing unit 18.
Each component camera 6 (including the added component camera 6, hereinafter the same) can take images asynchronously and store image data in individual image memories 7 via the respective input circuits 3. .
Although not shown, the board cameras 4 and 4 can also take images asynchronously and store image data in individual image memories via respective input circuits.
Each image memory 7 is connected to the monitor 16 via the output circuit 5 and can display image data captured by the cameras 4 and 6.
In addition to the imaging process, the image input unit 15 uses the calculation control circuit 9 to control a large number of repeated calculation processes such as filter calculation and matching calculation on the image data stored in the image memory 7. Can be operated in parallel with high speed. In other words, these repetitive calculation processes do not place a load on the control CPU 11.

演算処理部18は、制御CPU11が画像処理を行うための作業用メモリ10と、制御CPU11を電子部品実装装置100の全体を制御するマシン制御装置13と接続するインターフェイス12とを備えている。また、制御CPU11と画像入力部15とは内部バス(PCIe)で接続されている。
そして、各カメラ6からのデータは、各画像メモリ7に格納されるのと並列して、演算制御回路9にてデータ処理が行われ、制御CPU11がアクセス可能な作業用メモリ10にデータ転送されるようになっている。
画像撮像の指令は、制御CPU11が出す。各カメラ6に撮像させる撮像要求を出した後、制御CPU11は、上述の撮像、及びデータ転送処理中は別の作業を行うことが可能である。
演算制御回路9で行うデータ処理は、撮像時だけでなく、制御CPU11の指令で、いつでも各画像メモリ7のデータに対して行うことができる。
制御CPU11は、作業用メモリ10のデータ処理中においても、演算制御回路9を制御して並列処理を行うことで効率良く作業を進めることができる。
また、マシン制御装置13からの処理要求は、コマンドとして、インターフェイス12を介して画像処理装置19に送信され、画像処理装置19での処理結果がレスポンスとして、マシン制御装置13に返信される。
The arithmetic processing unit 18 includes a work memory 10 for the control CPU 11 to perform image processing, and an interface 12 that connects the control CPU 11 to a machine control device 13 that controls the entire electronic component mounting apparatus 100. The control CPU 11 and the image input unit 15 are connected by an internal bus (PCIe).
The data from each camera 6 is subjected to data processing in the arithmetic control circuit 9 in parallel with being stored in each image memory 7 and transferred to the work memory 10 accessible by the control CPU 11. It has become so.
The control CPU 11 issues a command for image capturing. After issuing an imaging request to cause each camera 6 to capture an image, the control CPU 11 can perform another operation during the above-described imaging and data transfer processing.
Data processing performed by the arithmetic control circuit 9 can be performed on the data in each image memory 7 at any time, not only at the time of imaging, but by a command from the control CPU 11.
Even during data processing in the work memory 10, the control CPU 11 can work efficiently by controlling the arithmetic control circuit 9 to perform parallel processing.
A processing request from the machine control device 13 is transmitted as a command to the image processing device 19 via the interface 12, and a processing result in the image processing device 19 is returned to the machine control device 13 as a response.

[撮像制御]
図4は電子部品Cの撮像に関する主要な構成を示した説明図、図5は撮像方式の説明図であって図5(A)は電子部品のストップ撮像における平面図、図5(B)は基板マークのストップ撮像における平面図、図5(C)は電子部品のノンストップ撮像における平面図、図5(D)は基板マークのノンストップ撮像における平面図である。
画像処理装置19に接続された部品用カメラ6の上部に照明装置8が設けられ、撮像時には点灯するよう画像処理装置19により制御される。
マシン制御装置13は、撮像対象となる電子部品Cを各吸着ノズル108に電子部品フィーダ101からピックアップし、吸着保持した後、各吸着ノズル108を備えるヘッド106を制御して、部品用カメラ6の上に移動させ、撮像を行う。
[Imaging control]
4 is an explanatory diagram showing a main configuration relating to imaging of the electronic component C, FIG. 5 is an explanatory diagram of an imaging method, FIG. 5A is a plan view in stop imaging of the electronic component, and FIG. FIG. 5C is a plan view of non-stop imaging of an electronic component, and FIG. 5D is a plan view of non-stop imaging of a substrate mark.
An illuminating device 8 is provided above the component camera 6 connected to the image processing device 19 and is controlled by the image processing device 19 so that it is turned on during imaging.
The machine control device 13 picks up the electronic component C to be imaged from the electronic component feeder 101 to each suction nozzle 108 and holds the suction, and then controls the head 106 including each suction nozzle 108 to control the component camera 6. Move it up and take an image.

[撮像方式]
撮像方式として、静止撮像としてのストップ撮像と移動撮像としてのノンストップ撮像の2つをサポートする。
図5(A)に示すように、ストップ撮像は、部品用カメラ6上で対象物である電子部品Cを静止させ、照明装置8を点灯させ、画像処理装置19に撮像を指示する。
また、ノンストップ撮像は、あらかじめ画像処理装置19に撮像タイミングを示すX軸モータのエンコーダカウンタ値をセットしておき、エンコーダパルスを画像処理装置19に入力し、図5(C)に示すように、ヘッド106の移動により設定されたカウント値になったら、画像処理装置19が照明装置8を点灯させ、部品用カメラ6による撮像を実行する。
[Imaging method]
Two imaging methods are supported: stop imaging as still imaging and non-stop imaging as moving imaging.
As shown in FIG. 5A, in stop imaging, the electronic component C that is an object is stopped on the component camera 6, the illumination device 8 is turned on, and the image processing device 19 is instructed to perform imaging.
For non-stop imaging, an X-axis motor encoder counter value indicating imaging timing is set in the image processing device 19 in advance, and encoder pulses are input to the image processing device 19 as shown in FIG. 5C. When the count value set by the movement of the head 106 is reached, the image processing device 19 turns on the lighting device 8 and performs imaging by the component camera 6.

また、基板マークMの撮像についても同様である。
即ち、ストップ撮像は、図5(B)に示すように、基板マークM上で基板用カメラ4を静止させ、照明装置を点灯させ、画像処理装置19に撮像を指示する。
また、ノンストップ撮像は、あらかじめ画像処理装置19に撮像タイミングを示すX軸モータのエンコーダカウンタ値をセットしておき、エンコーダパルスを画像処理装置19に入力し、図5(D)に示すように、ヘッド106の移動により設定されたカウント値になったら、画像処理装置19が照明装置を点灯させ、基板用カメラ4による撮像を実行する。
The same applies to the imaging of the substrate mark M.
That is, in stop imaging, as shown in FIG. 5B, the substrate camera 4 is stopped on the substrate mark M, the illumination device is turned on, and the image processing device 19 is instructed to perform imaging.
In non-stop imaging, an X-axis motor encoder counter value indicating imaging timing is set in the image processing device 19 in advance, and encoder pulses are input to the image processing device 19 as shown in FIG. When the count value set by the movement of the head 106 is reached, the image processing device 19 turns on the lighting device and performs imaging by the substrate camera 4.

ノンストップ撮像で、ヘッド106に設けられた複数の吸着ノズル108に保持される複数の電子部品(ここでは、ノズル108,電子部品C共に三つのみを図示する)をヘッド106が部品用カメラ6上をノンストップで移動する際に、連続的に撮像し、各々の画像データを順次別々のメモリ空間に格納する。
画像処理装置19は画像撮像を最優先し、マシンの動きに合わせて所望の画像を取りこぼさないようにしている。
また、ノンストップ撮像においては、複数の電子部品Cについて個別にマシン制御装置13から画像処理装置19に認識コマンドを出すものとし、認識コマンド順序が各電子部品Cの搭載順を示すものとする。
これにより、例えば、各吸着ノズル108の並び順と各電子部品Cの搭載の順番が一致している場合には、画像処理装置19は連続処理される複数の電子部品Cが順番に撮像されると、個々の電子部品Cについてその搭載の順番を識別することができ、例えば、搭載の順番に従って認識の優先順位が定められているような場合には、これに応じた認識処理を実行することができる。
In the non-stop imaging, the head 106 uses a plurality of electronic components held by a plurality of suction nozzles 108 provided in the head 106 (here, only three nozzles 108 and electronic components C are shown). When moving up nonstop, images are continuously captured, and each image data is sequentially stored in a separate memory space.
The image processing device 19 gives top priority to image capturing so that a desired image is not missed in accordance with the movement of the machine.
In non-stop imaging, a recognition command is issued from the machine control device 13 to the image processing device 19 individually for a plurality of electronic components C, and the recognition command sequence indicates the mounting order of each electronic component C.
Thereby, for example, when the arrangement order of the suction nozzles 108 and the mounting order of the electronic components C match, the image processing device 19 sequentially captures a plurality of electronic components C to be processed in sequence. The order of mounting of the individual electronic components C can be identified. For example, when the priority order of recognition is determined according to the order of mounting, recognition processing corresponding to this is executed. Can do.

また、ノンストップ撮像において、ヘッド106の移動速度が既知であるとすると、画像処理装置19には撮像タイミングを示すX軸モータのエンコーダカウンタ値が予めセットされているので、画像処理装置19は、第1の撮像(最初の電子部品の撮像)の完了のタイミングを検知できたなら、以降の撮像(残りの電子部品の撮像)の完了のタイミングの予測が可能である。
また、画像処理装置19は、認識対象物の種別や端子数等のデータから、制御CPU11による撮像画像の認識処理に要する画像認識処理時間の予測が可能である。
このとき、画像処理装置19が、連続処理される複数の電子部品Cについて、マシン制御装置13から搭載の順番だけでなく、最後の電子部品の画像撮像完了から個々の電子部品Cの搭載位置までの移動時間という相対的なタイミング情報が受け渡される事で、ヘッド移動に支障をきたさない程度に余裕を持ったタスクのスケジューリングが可能となる。また、複数のカメラによる複数の画像入力系統の処理についても、それぞれの系統の第1の撮像がすべて完了した時点で複数の画像入力系統の処理をひとつの時間軸に並べることができるようになる。
即ち、最後の電子部品Cの画像撮像完了の時刻と相対的なタイミング情報とにより、個々の電子部品Cがそれぞれの搭載位置に到達する時刻(目標とする画像認識終了時刻)を算出することが可能である。
これにより、図3に示すように複数の画像入力系統について、非同期に撮像タイミングが重なり又は時間的に近接し、複数の認識処理を行わなければならない場合に、先の側の認識処理のスケジューリングの余裕時間になるべく影響を与えずに後の側の認識処理を割り込ませていき、複数の画像入力系統に対して、効率的に認識処理を実行することができる。この効率的な認識処理については図13の例により後述する。
If the moving speed of the head 106 is known in non-stop imaging, the X-axis motor encoder counter value indicating the imaging timing is set in the image processing device 19 in advance. If the timing of completion of the first imaging (imaging of the first electronic component) can be detected, the timing of completion of the subsequent imaging (imaging of the remaining electronic components) can be predicted.
Further, the image processing device 19 can predict the image recognition processing time required for the recognition processing of the captured image by the control CPU 11 from the data such as the type of recognition object and the number of terminals.
At this time, the image processing device 19 not only has the order of mounting from the machine control device 13 for a plurality of electronic components C that are continuously processed, but also from the completion of imaging of the last electronic component to the mounting position of each electronic component C. By passing the relative timing information such as the movement time, it is possible to schedule a task with a margin that does not hinder the movement of the head. Also, with regard to the processing of a plurality of image input systems by a plurality of cameras, the processing of the plurality of image input systems can be arranged on one time axis when all the first imaging of each system is completed. .
That is, the time (target image recognition end time) at which each electronic component C reaches its mounting position can be calculated based on the time when the last electronic component C has completed image capturing and the relative timing information. Is possible.
As a result, as shown in FIG. 3, when a plurality of image input systems are asynchronously overlapped or close in time and a plurality of recognition processes must be performed, scheduling of the recognition process on the previous side is performed. The recognition process on the later side can be interrupted without affecting the margin time as much as possible, and the recognition process can be efficiently executed for a plurality of image input systems. This efficient recognition process will be described later with reference to the example of FIG.

[タスク構成]
次に、画像処理装置19において、画像認識のために制御CPU11により実行されるプログラムのタスク構成を図6に示す。これにより、上記タスク構成について説明する。
図6に示すタスク構成は、主に、コマンド管理を行う「タスク割り当て手段」としてのコマンド受付タスク34と、認識処理を行う三つの認識処理タスク37〜39と、サブルーチンモジュールである画像入力API(Application Program Interface)35と、タイマ割込みを処理するハンドラのボディ部であるタイマ処理46と、撮像終了割り込みを処理するハンドラのボディ部である割込み処理36とから成る。なお、認識処理タスクの個体数は、処理の数に応じて増減することが可能である。
また、図6の符号45はコマンド管理ブロック、47は画像入力ステータス管理ブロックを示している。
Task configuration
Next, FIG. 6 shows a task configuration of a program executed by the control CPU 11 for image recognition in the image processing device 19. Thus, the task configuration will be described.
The task configuration shown in FIG. 6 mainly includes a command reception task 34 as “task assignment means” for managing commands, three recognition processing tasks 37 to 39 for performing recognition processing, and an image input API ( Application Program Interface) 35, a timer process 46 that is a body part of a handler that processes a timer interrupt, and an interrupt process 36 that is a body part of a handler that processes an imaging end interrupt. The number of recognition processing tasks can be increased or decreased according to the number of processes.
In FIG. 6, reference numeral 45 denotes a command management block, and 47 denotes an image input status management block.

また、図6に示すタスク構成は、UDP画像変換タスク50とUDP画像認識タスク51とを備えている。エンコーダパルスなどをトリガにして入力された同期信号により、画像データ32がUDP変換タスク50に取り込まれる。このときUDPにより画像データ32が、連続した複数のパケットにより送信されることを想定すると、UDPはハンドシェイクをしないため、UDP変換タスク50は連続した複数のパケットを取りこぼさないような配慮が必要となる。多数のパケットを取りこぼしてしまい、画像処理装置19から不必要なパケット再送要求が頻発しないように、UDP変換タスク50はどの処理よりも最優先で実施されることが望ましい。
取り込みが完了するとUDP画像認識タスク51を呼び出し、画像処理を実施後、認識結果を取得する。
Further, the task configuration shown in FIG. 6 includes a UDP image conversion task 50 and a UDP image recognition task 51. The image data 32 is taken into the UDP conversion task 50 by a synchronization signal input using an encoder pulse or the like as a trigger. At this time, assuming that the image data 32 is transmitted by a plurality of continuous packets by UDP, since UDP does not perform a handshake, the UDP conversion task 50 needs to be careful not to miss a plurality of continuous packets. It becomes. It is desirable that the UDP conversion task 50 be executed with the highest priority over any processing so that a large number of packets are missed and unnecessary packet retransmission requests from the image processing device 19 do not occur frequently.
When the capture is completed, the UDP image recognition task 51 is called, and after executing image processing, the recognition result is acquired.

[タスク構成:コマンド受付タスク]
図3のマシン制御装置13から画像処理装置19への撮像とその撮像画像の認識処理とを実行させる要求は図6に示すコマンド30として通知される。
コマンド受付タスク34は、コマンド30を受信すると、コマンド管理ブロック45を参照し、タスクのリソースを獲得して、受け付けたコマンドを登録する。
そして、獲得した認識処理タスク37(又は38又は39)に対してコマンド30を送信し、起床させる。そして、コマンド受付タスク34は、次のコマンド待ち状態となる。
これにより、コマンド受付タスク34は「前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て手段」として機能し、当該機能の実行により「タスク割り当て工程」が実行される。
[Task structure: Command reception task]
A request for executing imaging from the machine control device 13 of FIG. 3 to the image processing device 19 and recognition processing of the captured image is notified as a command 30 shown in FIG.
When receiving the command 30, the command reception task 34 refers to the command management block 45, acquires task resources, and registers the received command.
Then, the command 30 is transmitted to the acquired recognition processing task 37 (or 38 or 39) to wake up. Then, the command reception task 34 enters a next command waiting state.
Thereby, the command reception task 34 functions as “task assignment means for assigning recognition processing tasks to the plurality of requests”, and the “task assignment step” is executed by executing the function.

認識処理タスク37(又は38又は39)はコマンドの内容を解析し、撮像要求部としての画像入力API35を呼び出し、画像撮像要求を行い、画像撮像が終了したら、ノンストップ部品認識40、ストップ部品認識41、ノンストップ基板マークM認識48、ストップ基板マークM認識49、メンテナンスコマンド43、ティーチング44の六つのカテゴリのコマンドモジュールの内、コマンド30に該当するモジュールを呼び出して、コマンド処理を実行する。   The recognition processing task 37 (or 38 or 39) analyzes the content of the command, calls the image input API 35 as the imaging request unit, makes an image imaging request, and when the imaging is completed, the non-stop component recognition 40, the stop component recognition. 41, the module corresponding to the command 30 is called out of the command modules in the six categories of the non-stop board mark M recognition 48, the stop board mark M recognition 49, the maintenance command 43, and the teaching 44, and the command processing is executed.

また、それぞれのコマンド処理で図3の画像入力部15の演算制御回路9を用いたハード演算処理を行うか否かを判定し、作業用メモリ10(図3)内のコマンド管理ブロック45に保持しておく。
ハード演算処理を行う場合、コマンド処理時間に対してするハード演算処理時間の推定値の割合であるハード演算占有率を同時に求めておいてもよい。コマンド処理時間、ハード演算処理時間の推定値、及びハード演算占有率は、同じく、作業用メモリ10(図3)内のコマンド管理ブロック45に保持しておく。
Further, in each command process, it is determined whether or not the hardware calculation process using the calculation control circuit 9 of the image input unit 15 in FIG. 3 is to be performed, and held in the command management block 45 in the work memory 10 (FIG. 3). Keep it.
When performing a hard calculation process, a hard calculation occupation ratio, which is a ratio of an estimated value of the hard calculation process time to the command processing time, may be obtained at the same time. The command processing time, the estimated value of the hardware operation processing time, and the hardware operation occupancy rate are similarly held in the command management block 45 in the work memory 10 (FIG. 3).

また、認識処理タスク37〜39の優先順位は、コマンド受付タスク34に比べて低く設定されており、認識処理タスク37の実行中に、次のコマンドを受信したならば、コマンド受付タスク34が再び起床し、コマンド30の受信、コマンド管理ブロック45の参照、空きリソースの獲得及び受け付けたコマンドの登録が行われる。そして、獲得した認識処理タスク38(又は39)に対してコマンド30を送信し、起床させる。コマンド受付タスク34は、再び次のコマンド待ち状態となる。   Further, the priority order of the recognition processing tasks 37 to 39 is set lower than that of the command reception task 34. If the next command is received during the execution of the recognition processing task 37, the command reception task 34 is set again. The user wakes up, receives the command 30, references the command management block 45, acquires free resources, and registers the accepted command. Then, the command 30 is transmitted to the acquired recognition processing task 38 (or 39) to wake up. The command reception task 34 again waits for the next command.

[タスク構成:認識処理タスク]
図7は認識処理タスク37〜39が実行する処理種別毎の優先順位の一例を示す図表である。
認識処理タスク37〜39が実行する処理種別毎の優先順位は高、中、低の3レベルで段階的に定義され、処理種別と撮像方法の種類とによって優先順位が割り当てられている。優先順位のレベルや割り当てのルールは使用するRTOS(real time operation system)の仕様、実装するアプリケーションの仕様に合わせて、自由に設定することができるが、ここでは、画像処理装置19において採用されている一例を説明する。
[Task structure: Recognition task]
FIG. 7 is a chart showing an example of the priority order for each processing type executed by the recognition processing tasks 37 to 39.
Priorities for each processing type executed by the recognition processing tasks 37 to 39 are defined stepwise at three levels of high, medium, and low, and priorities are assigned according to the processing type and the type of imaging method. The priority level and the allocation rules can be freely set in accordance with the specifications of the RTOS (real time operation system) to be used and the specifications of the application to be implemented, but here, they are adopted in the image processing device 19. An example will be described.

この電子部品実装装置100に搭載された画像処理装置19においては、ノンストップ撮像で部品認識又はマーク認識処理を行う場合には、直ぐに次コマンドが投入されて、タイトな間隔での高速な処理が要求される場合が多いので優先順位を最も高い「高」としている。それに比べて、ヘッドが止まった状態で撮像を行うストップ撮像で部品認識又はマーク認識処理を行う場合は、ノンストップ撮像よりも時間的な余裕があるので優先順位を「中」としている。また、部品認識やマーク認識のように生産中のタクトが要求される処理ではないメンテナンスコマンドに関する処理は優先順位を「低」としている。
なお、優先順位が同じタスクが複数存在する場合には、処理が可能となった順番に実行される。例えば、ノンストップ撮像の場合には、対応する撮像が完了した順番でタスクが実行される。
In the image processing device 19 mounted on the electronic component mounting apparatus 100, when component recognition or mark recognition processing is performed by non-stop imaging, the next command is immediately input, and high-speed processing at tight intervals is performed. Since it is often requested, the highest priority is set to “high”. In contrast, when performing component recognition or mark recognition processing with stop imaging in which imaging is performed with the head stopped, the priority is set to “medium” because there is a time margin over non-stop imaging. In addition, a process related to a maintenance command that is not a process that requires a tact during production, such as part recognition or mark recognition, has a low priority.
When there are a plurality of tasks having the same priority, the tasks are executed in the order in which processing is possible. For example, in the case of non-stop imaging, tasks are executed in the order in which corresponding imaging is completed.

図8に「撮像とその撮像画像の認識処理とを実行させる複数の要求」としての複数の撮像認識コマンドが入力され、当該各コマンドが登録されて実行可能状態となった認識処理タスク37〜39の管理方法を示す。
図7に示す優先順位の設定に従って、実行タスクの切り替えは、RTOSの機能を用いて実現する。
各認識処理タスク37〜39は、いずれも、休止状態から実行可能状態に遷移すると、図8のような優先順位別のキューにつながれ、管理される。優先順位が同じタスクについては、基本的に先に実行可能状態になった順番につながれる。即ち、この画像処理装置19の例では、撮像が終了した順番に応じてキューにつながれて、同じ優先順位の中での優先度がさらに定められる。
In FIG. 8, a plurality of imaging recognition commands as “a plurality of requests for executing imaging and recognition processing of the captured images” are input, and the recognition processing tasks 37 to 39 in which the respective commands are registered and become executable. The management method is shown.
According to the priority order setting shown in FIG. 7, the switching of execution tasks is realized by using the RTOS function.
When each of the recognition processing tasks 37 to 39 transitions from the sleep state to the executable state, each of the recognition processing tasks 37 to 39 is connected to a queue according to priority as shown in FIG. 8 and managed. Tasks with the same priority order are basically connected in the order in which they are first executable. That is, in this example of the image processing device 19, the queues are queued according to the order in which imaging is completed, and the priority within the same priority is further determined.

また図8に示す処理では、UDP画像変換タスク50による最優先処理を実行している。どの認識タスクよりも優先して、UDP画像変換タスク50を実行する。基本的にUDP画像変換タスク50により画像が完成した順番にUDP画像認識タスク51が呼び出され、実行可能状態になりキューにつながれる。
図8ではUDP画像認識タスク51の優先順位を「高」とした場合を図示しているがこれに限らない。例えば、ノンストップ撮像による部品又はマーク認識タスクの優先順位「高」とUDP画像変換タスク50の優先順位「最優先」との間に新たな優先順位を新規設定し、当該優先順位にUDP画像認識タスク51のキューをつないで、他の認識タスクよりも高順位で処理を実施しても良い(図8では図示しない)。
In the process shown in FIG. 8, the highest priority process by the UDP image conversion task 50 is executed. The UDP image conversion task 50 is executed prior to any recognition task. Basically, the UDP image recognition task 51 is called in the order in which the images are completed by the UDP image conversion task 50, and is put into an executable state and connected to the queue.
Although FIG. 8 illustrates a case where the priority order of the UDP image recognition task 51 is “high”, the present invention is not limited to this. For example, a new priority is newly set between the priority “high” of the component or mark recognition task by non-stop imaging and the priority “highest priority” of the UDP image conversion task 50, and the UDP image recognition is performed to the priority. The task 51 queue may be connected to perform processing in a higher order than other recognition tasks (not shown in FIG. 8).

但し、連続する複数の認識処理について搭載順序の指示がある場合は、キューへの挿入位置を制御し、同一優先順位のタスクについても、さらに細かな優先度を定めることができる。即ち、この搭載順序に基づく優先度は、図6のコマンド管理ブロック45に予め登録され、認識処理タスク37〜39をキューに接続する際に参照して搭載順序を比較し、搭載順序に応じたキューへの挿入位置を判定してつなげるようにする。このようにすれば、持ち時間を効率的に使え、実装装置全体として効率よく処理を進めることができる。   However, when there is an instruction for the mounting order for a plurality of consecutive recognition processes, the insertion position into the queue can be controlled, and a finer priority can be determined for tasks of the same priority. That is, the priority based on this mounting order is registered in advance in the command management block 45 of FIG. 6, and the mounting order is compared by referring to the recognition processing tasks 37 to 39 when connected to the queue. Determine the insertion position in the queue and connect them. In this way, time can be used efficiently, and processing can be efficiently advanced as a whole mounting apparatus.

また、コマンド管理ブロック45(図6)に保持しておいたハード演算を行うか否かの情報は、認識処理タスク37〜39をキューに接続する際に参照して、ハード演算を行う認識処理タスクを先に実行するようキューへつなげることでハード演算中にその後ろの認識処理タスクの制御CPU11による処理を行えるようになり、そのまま後ろにつなげていた場合より、2つの認識処理タスクのトータル処理時間を短縮できる。また、同時にコマンド管理ブロック45(図6)に保持しておいたハード演算占有率を用いて、ハード演算を行い且つハード演算占有率(認識処理内で演算制御回路9によるハード演算を行う比率)が高い認識処理タスクほど、優先度を高くしてキューに対する並び替えを行うことでよりきめ細かな制御が可能となる。
例えば、キューの順番入れ替えだけでなく、同一優先レベル内で優先度に差をつけることが可能となる。
これにより、上記制御CPU11は、「前記優先順位内での認識処理の優先度をさらに定め、認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を前記優先度に応じて並び替える優先度設定手段」として機能し、「前記実行可能キューへの認識処理タスクの接続順位を並び替える際に、認識処理タスクがハード演算を含むか否かを判定し、ハード演算を含み、前記演算処理部との並列処理が可能な認識処理タスクについて、ハード演算占有率が高いものほど優先度を高くして並び替える」処理を行う。また、これらを実行することにより、「優先度設定工程」が実行されることとなる。
そして、RTOSは、ディスパッチ要求があると、最も優先順位の高く、その中でもキューの最も先頭につながれたタスク(例えば、図8における左上のタスク)を実行状態へと遷移させる。
Further, the information on whether or not to perform the hardware operation held in the command management block 45 (FIG. 6) is referred to when the recognition processing tasks 37 to 39 are connected to the queue, and the recognition processing for performing the hardware operation. By connecting the task to the queue so that the task is executed first, the control processing by the control CPU 11 of the subsequent recognition processing task can be performed during the hardware operation, and the total processing of the two recognition processing tasks is compared to the case where it is connected to the rear as it is. You can save time. At the same time, hardware computation is performed using the hardware computation occupancy held in the command management block 45 (FIG. 6), and hardware computation occupancy (ratio at which the computation control circuit 9 performs hardware computation in the recognition process). The higher the recognition processing task, the higher the priority and the more accurate control can be performed by rearranging the queue.
For example, it is possible not only to change the order of the queues but also to differentiate the priorities within the same priority level.
As a result, the control CPU 11 determines that “the priority of the recognition process within the priority order is further determined, and the connection order of the recognition process task to the executable queue that stores the execution order of the recognition process task according to the priority. Priority setting means for reordering and determining whether or not the recognition processing task includes a hardware operation when the connection order of the recognition processing task to the executable queue is rearranged. The recognition processing tasks that can be processed in parallel with the arithmetic processing unit are rearranged with higher priority as the hardware operation occupation ratio is higher. Further, by executing these, the “priority setting step” is executed.
When there is a dispatch request, the RTOS has the highest priority, and among them, the task connected to the head of the queue (for example, the upper left task in FIG. 8) transitions to the execution state.

ここで、基本的な動作パターンである一軸(一つのヘッドによる部品実装動作)でのノンストップ撮像時の動作のタイミングチャートを示す図9を参考にしつつ、認識処理タスク37〜39について説明する。
ノンストップ撮像における3つの撮像認識のコマンド要求が連続して投入されると、コマンド受付タスク34はコマンド管理ブロック45の参照、タスクのリソースの獲得、受け付けたコマンドの登録の処理を繰り返す(時刻t1〜t2)。
これにより、認識処理タスク37、38及び39は、撮像認識コマンドを受信した順番に実行可能状態となり、それぞれのタスクの実行内容に基づく優先順位によって、実行状態となるタスクが決定することになる。いずれのタスクも優先順位が同じである場合には、基本的に先に実行可能状態となっているタスクが優先される。つまり、各認識処理タスク37〜39は、画像撮像が完了した順に処理されることになる。
Here, the recognition processing tasks 37 to 39 will be described with reference to FIG. 9 showing a timing chart of the operation at the time of non-stop imaging in one axis (component mounting operation by one head) which is a basic operation pattern.
When three imaging recognition command requests in non-stop imaging are successively input, the command reception task 34 repeats the process of referring to the command management block 45, acquiring task resources, and registering the received command (time t1). ~ T2).
As a result, the recognition processing tasks 37, 38, and 39 become executable in the order in which the imaging recognition commands are received, and the task that is in the execution state is determined according to the priority order based on the execution content of each task. If all tasks have the same priority, the task that is ready to be executed first is given priority. That is, the recognition processing tasks 37 to 39 are processed in the order in which the image capturing is completed.

ノンストップ撮像で連続的に複数の電子部品の認識が行われる場合、最初に搭載される電子部品の認識処理タスクについては、同一優先順位の実行可能タスクキューの先頭につながれて、最優先で処理されるが、実行可能タスクキューの先頭に接続されたタスクが既に実行中である場合には、その次に接続するようにすれば、現在実行中のタスクを中断することがなく、画像処理装置全体として効率よく処理を進めることができる。   When multiple electronic components are recognized continuously with non-stop imaging, the first electronic component recognition processing task is connected to the top of the executable task queue of the same priority and processed with the highest priority. However, if the task connected to the head of the executable task queue is already being executed, if the next connection is made, the currently executing task is not interrupted, and the image processing apparatus As a whole, the processing can proceed efficiently.

また、認識処理タスク37〜39の優先順位は、リアルタイムに画像撮像が行えるよう、最初の画像撮像終了までは、すべての認識処理タスクに対して同様に、最も高い優先順位が設定される。これにより、認識処理タスク37が画像撮像要求を出すと、最優先で撮像が開始され、他の処理が先に実行される事により撮像が遅れを生じるような事態を排除し、適正なタイミングで撮像が実行されることとなる。そして、先に実行状態となっていた認識処理タスク37が画像撮像要求を出し(時刻t2)、続いて認識処理タスク38、39の順で撮像要求を出すこととなる。
なお、上述のように各認識処理タスク37〜39について当初は最も高い優先順位が設定されるが、認識処理タスク37の画像データが取得されると、処理種別及び撮像方法によって定められた優先順位に再設定される。このような優先順位の再設定は、カメラを複数使用する場合にも同様に行われる。即ち、制御CPU11は、「前記複数の要求に基づくそれぞれの撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定手段」として機能する。また、当該機能により「第一の設定工程」が実行される。
また、このように連続して画像撮像要求を出す場合、最初の撮像である第1画像データ撮像が行われると(時刻t3〜t4)、その終了時にのみ割込み通知要求を設定し(時刻t4)、二番目以降の撮像終了時(時刻t7,t10)についてはあえて割込み通知要求を設定しない。
Further, the priority of the recognition processing tasks 37 to 39 is set to the highest priority for all the recognition processing tasks until the end of the first image capturing so that image capturing can be performed in real time. As a result, when the recognition processing task 37 issues an image capturing request, imaging is started with the highest priority, and a situation in which imaging is delayed due to other processing being executed first is eliminated, and at an appropriate timing. Imaging is executed. Then, the recognition processing task 37 which has been in the execution state first issues an image capturing request (time t2), and subsequently issues an imaging request in the order of the recognition processing tasks 38 and 39.
As described above, the highest priority is initially set for each of the recognition processing tasks 37 to 39. However, when the image data of the recognition processing task 37 is acquired, the priority determined by the processing type and the imaging method is used. Will be reset to Such resetting of the priority order is similarly performed when a plurality of cameras are used. That is, the control CPU 11 functions as “setting means for setting or updating the priority order of the recognition processing task when each imaging based on the plurality of requests is completed”. In addition, the “first setting step” is executed by the function.
Further, when the image capturing request is continuously issued in this way, when the first image data capturing that is the first image capturing is performed (time t3 to t4), an interrupt notification request is set only at the end (time t4). The interrupt notification request is not set at the end of the second and subsequent imaging (time t7, t10).

画像撮像、画像データの転送など図3に示す画像入力部15のハードウエアがサポートする機能を呼び出すためのモジュールとして設けたのが画像入力API35である。画像入力API35は、ハードウエア依存部分を隠蔽し、独立性の高いアプリケーションの実装を実現している。
画像入力API35での処理は、ハードウエアのキックとその返答待ちである。画像入力API35は、サブルーチンとして呼び出されるので、認識処理タスクとして動作する。
画像入力API35を呼び出した時点で既に画像撮像が終了していれば、そのまま処理は続行されるが、画像撮像を行う場合、認識処理タスクは画像撮像が終了するまでは、休止状態となる。
An image input API 35 is provided as a module for calling functions supported by the hardware of the image input unit 15 shown in FIG. 3 such as image capturing and image data transfer. The image input API 35 hides the hardware-dependent part, and implements highly independent applications.
The processing in the image input API 35 is a hardware kick and a response waiting. Since the image input API 35 is called as a subroutine, it operates as a recognition processing task.
If image capturing has already been completed when the image input API 35 is called, the processing is continued as it is. However, when image capturing is performed, the recognition processing task is in a pause state until image capturing ends.

例えば、図9では、3つの認識処理タスクが撮像要求を出した後、すべてのタスクは撮像終了待ちとなっている。第1画像データ撮像が時刻t4で終了すると、撮像通知割込み33がかかり、割込み処理36が実行される(時刻t4)。割込み処理36は、割込み要因を解析し、該当する画像の撮像終了(第1画像データ)を待っている認識処理タスク37を起床する(時刻t5)。   For example, in FIG. 9, after three recognition processing tasks issue imaging requests, all tasks are waiting for completion of imaging. When the first image data imaging ends at time t4, an imaging notification interrupt 33 is activated and the interrupt process 36 is executed (time t4). The interrupt process 36 analyzes the cause of the interrupt and wakes up the recognition process task 37 waiting for the end of imaging of the corresponding image (first image data) (time t5).

認識処理タスク37は、画像データを取得し、認識処理に移行した時点で処理種別によって、適切な優先順位に動的に切り替えられる。
このタイミングでタスクのディスパッチ処理が動作し、複数の認識処理タスクが実行可能であった場合、優先順位の高いタスクに切り替わる。
図9の場合は、時刻t5において、他に実行可能なタスクが存在しないので(認識処理タスク38,39は画像データを取得していないので)、これらの処理は行われず、そのまま、認識処理タスク37が実行される。
一方、画像入力部15は制御CPU11と並行処理が可能であるため、第2画像データ撮像処理が第1画像認識処理中に実行される(時刻t6〜t7)。
そして、認識処理結果を示すレスポンスが生成されたならば、コマンド受付タスク34に送信され、図3の画像処理装置19からマシン制御装置13へとレスポンス31が受け渡されることになる。
The recognition processing task 37 is dynamically switched to an appropriate priority order according to the processing type when the image data is acquired and the processing shifts to the recognition processing.
When the task dispatch process operates at this timing and a plurality of recognition processing tasks can be executed, the task is switched to a task with a higher priority.
In the case of FIG. 9, since there is no other executable task at time t5 (because the recognition processing tasks 38 and 39 have not acquired image data), these processes are not performed and the recognition processing task is left as it is. 37 is executed.
On the other hand, since the image input unit 15 can perform parallel processing with the control CPU 11, the second image data imaging processing is executed during the first image recognition processing (time t6 to t7).
If a response indicating the recognition processing result is generated, the response 31 is transmitted to the command reception task 34, and the response 31 is delivered from the image processing device 19 in FIG. 3 to the machine control device 13.

こうして、認識処理タスク37が終了した時点で、同じ優先順位で、かつ第2画像データ撮像が終了している認識処理タスク38に制御が移る(時刻t8)。そして同様な処理を経て、第3画像データ撮像処理が第2画像認識処理中に実行される(時刻t9〜t10)と共に、認識処理結果のレスポンスが返答され、認識処理タスク38が終了したら(時刻t11)、認識処理タスク39に制御が移る(時刻t11〜t12)。
これらの過程において、画像認識処理が次の画像データ撮像の完了より早く終了しない限り、第2画像データ、第3画像データの撮像終了時に撮像通知割込みは発生しないので、同じ優先順位のタスク間での遷移は起こらない。
Thus, when the recognition processing task 37 is finished, the control is transferred to the recognition processing task 38 having the same priority and the second image data imaging is finished (time t8). Then, through the same processing, the third image data imaging processing is executed during the second image recognition processing (time t9 to t10), the response of the recognition processing result is returned, and the recognition processing task 38 is completed (time t11), the control shifts to the recognition processing task 39 (time t11 to t12).
In these processes, unless the image recognition process is completed earlier than the completion of the next image data imaging, the imaging notification interrupt does not occur at the end of the imaging of the second image data and the third image data. No transition occurs.

この画像処理装置19では、優先順位の高い認識処理は途中、極力、不用意な割り込み処理やシステムコールによるディスパッチ処理が発生しないようにタスク制御を行い、最速で画像認識の結果が得られるように考慮している。
また、図11において後述するが、低優先順位のタスクが待ち時間の経過とともに優先順位を上げて、タイムアウトエラーを防止する仕組みとして、コマンド管理ブロック45に登録された各コマンド別に、コマンド経過時間と待ち時間を管理するようにし、タイマ処理にて、時間の更新を行い、それぞれの時間を評価し、必要に応じて、優先順位の再設定、及びタスク切り替えのリクエストを発行する。
In this image processing device 19, during the recognition processing with high priority, task control is performed so that inadvertent interrupt processing and dispatch processing due to system calls do not occur as much as possible, and the result of image recognition can be obtained at the fastest speed. I am considering.
As will be described later in FIG. 11, as a mechanism for preventing a timeout error by lowering the priority of a low priority task as the wait time elapses, a command elapsed time and a command elapsed time for each command registered in the command management block 45 are described. The waiting time is managed, the time is updated by the timer processing, each time is evaluated, and a priority resetting and task switching request is issued as necessary.

[認識処理タスクによる処理]
それでは、各タスクと処理モジュールの動作を順を追って説明する。図10に認識処理タスク37〜39による処理のフローチャートを例示する。
認識処理タスク37〜39は、迅速に画像撮像を行えるように、ステップS1のコマンド解析とステップS2の画像撮像要求とについては、コマンド受付タスク34に次いで高い優先順位で動作させる。
[Processing by recognition processing task]
Now, the operation of each task and processing module will be described step by step. FIG. 10 illustrates a flowchart of processing by the recognition processing tasks 37 to 39.
The recognition processing tasks 37 to 39 operate the command analysis in step S1 and the image capturing request in step S2 with the highest priority after the command receiving task 34 so that the image capturing can be performed quickly.

まず、コマンド解析では受け渡されたコマンド文字列を解析し、処理種別に応じた優先順位を取得する(ステップS1)。
演算処理部18は、前述したように、処理種別毎の優先順位を予め定めて記憶しており(図7参照)、これが参照される。
First, in the command analysis, the passed command character string is analyzed, and the priority order according to the processing type is acquired (step S1).
As described above, the arithmetic processing unit 18 predetermines and stores a priority for each processing type (see FIG. 7), and this is referred to.

次に、画像撮像要求の処理では、図6の画像入力API35の撮像開始I/Fを呼び出し、ハードウエアをキックする(ステップS2)。これにより、電子部品C又は基板マークMの撮像が開始される。なお、これにより、画像入力API35は、「撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求部」として機能し、当該機能が実行されることにより「撮像要求工程」が実行される。
そして、画像撮像ステータス取得の処理では、画像入力API35の撮像ステータスI/Fを呼び出す(ステップS3)。
そして、撮像完了の有無を判定し(ステップS4)、撮像が終了していない場合には撮像完了待ちとなり(ステップS5)、休止状態になる。また、撮像が終了した場合には、図6に示す割込み処理36にて起床される。撮像完了の有無をチェック(ステップS4)で撮像が終了いれば、そのまま処理が続行される。
Next, in the image capturing request process, the imaging start I / F of the image input API 35 in FIG. 6 is called to kick the hardware (step S2). Thereby, the imaging of the electronic component C or the board mark M is started. As a result, the image input API 35 functions as an “imaging request unit that makes an imaging request for the camera to perform imaging in response to a plurality of requests for performing imaging and recognition processing of the captured image”. As a result, the “imaging request process” is executed.
In the image capturing status acquisition process, the image capturing status I / F of the image input API 35 is called (step S3).
Then, it is determined whether or not imaging has been completed (step S4). If imaging has not been completed, imaging is waited for (step S5), and a pause state is entered. Further, when the imaging is finished, the user is woken up by the interruption process 36 shown in FIG. If the imaging has been completed by checking whether imaging has been completed (step S4), the processing is continued as it is.

そうして、撮像完了の状態で認識処理タスクに制御が移ってきたら、タスク優先順位再設定(ステップS6)を行う。設定する優先順位はコマンド解析(ステップS1)で取得済みの値である。
即ち、制御CPU11は、「複数の要求に基づくそれぞれの撮像完了時に認識処理タスクの優先順位を設定又は更新する設定手段」としての処理を行う。
ここで一旦、タスク切り替え要求を出し(ステップS7)、続いて、認識処理を行い(ステップS8)、認識処理終了後再度、タスク切り替え要求を出す(ステップS9)。なお、ステップS1〜S9の処理は、カメラを複数使用する場合も基本的には同様である。そして、ステップS9の処理を行うことにより制御CPU11は、「前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理手段」として機能し、「進行管理工程」を実行する。
また、タスク切り替え要求を行う(ステップS7、S9)際は、図6のコマンド管理ブロック45を参照し、登録コマンドが自身のみであるとか、自身が最も高い優先順位であるとか、タスク切り替えが発生し得ない状況であることが明確な場合は、システムコールの呼び出しは行わないようにする。
Then, when the control shifts to the recognition processing task in the imaging completed state, the task priority order is reset (step S6). The priority order to be set is a value acquired in the command analysis (step S1).
That is, the control CPU 11 performs processing as “a setting unit that sets or updates the priority order of the recognition processing task when each imaging based on a plurality of requests is completed”.
Here, a task switching request is once issued (step S7), followed by recognition processing (step S8). After the recognition processing is completed, a task switching request is issued again (step S9). Note that the processing in steps S1 to S9 is basically the same when a plurality of cameras are used. Then, by performing the process of step S9, the control CPU 11 selects “the recognition processing task to be executed next according to the priority every time the recognition processing task is recognized, and shifts to the next recognition processing task. It functions as "progress management means" and executes "progress management process".
Further, when a task switching request is made (steps S7 and S9), the command management block 45 in FIG. 6 is referred to, and the task switching occurs whether the registered command is only itself or has the highest priority. If it is clear that the situation is not possible, avoid calling system calls.

[タイマ処理]
図6に示すタイマ処理46について、図11のフローチャートに基づいて説明する。このタイマ処理46では、優先順位の低いことが原因でいつまでも順番が回ってこないタスクについて、その待ち時間が予め設定された時間を超過した場合に優先順位を高くする処理が行われる。
このタイマ処理46は周期タイマハンドラに登録され、一定周期毎に呼び出される。例えば、この画像処理装置19では、最初の認識処理タスク37による処理が開始されると、それ以降1[ms]毎に呼び出されるものとする。
[Timer processing]
The timer process 46 shown in FIG. 6 will be described based on the flowchart of FIG. In the timer process 46, for a task that does not turn indefinitely due to a low priority, a process for increasing the priority is performed when the waiting time exceeds a preset time.
This timer process 46 is registered in a periodic timer handler and called at regular intervals. For example, in the image processing device 19, when processing by the first recognition processing task 37 is started, it is called every 1 [ms] thereafter.

まず、図6のコマンド管理ブロック45を参照し、実行中の認識処理タスクのIDを取得する(ステップS11)。
次に、コマンド管理ブロック45へのコマンド登録数の回数分だけ、ステップS13〜S20の工程のループ処理を行ったか否かを判定する(ステップS12)。コマンド登録数の回数分の処理が完了した場合には、タイマ処理46を終了する。
First, referring to the command management block 45 in FIG. 6, the ID of the recognition processing task being executed is acquired (step S11).
Next, it is determined whether or not the loop processing of steps S13 to S20 has been performed by the number of times of command registration in the command management block 45 (step S12). When the process for the number of command registrations is completed, the timer process 46 is terminated.

一方、コマンド登録数の回数分の処理を完了していない場合には、登録コマンドについて、割り付けられた認識処理タスク37〜39のタスクIDを取得する(ステップS13)。
そして、ステップS11で取得したIDと比較し、実行中か否かを判定する(ステップS14)。
実行中でなければ、待ち時間を更新し(ステップS15)、予め設定しておいた判定時間と更新された待ち時間とを比較し、さらにコマンドを受け付けてからの経過時間も考慮して優先順位再設定が必要か否かを判定する(ステップS16)。
On the other hand, if the process corresponding to the number of command registrations has not been completed, the task IDs of the assigned recognition processing tasks 37 to 39 are acquired for the registered command (step S13).
And it compares with ID acquired at step S11, and it is determined whether it is in execution (step S14).
If not executing, the waiting time is updated (step S15), the preset determination time is compared with the updated waiting time, and the priority order is also taken into account the elapsed time since the command was received. It is determined whether resetting is necessary (step S16).

そして、コマンドを受け付けてからの経過時間が判定時間を超過しており、優先順位の再設定が必要な場合には、タスク優先順位の再設定を行う(ステップS17)。
さらに、設定された優先順位をチェックし(ステップS18)、再設定の結果、「高」まで優先順位が上がっていた場合には、そのタスクの緊急度が高くなっているものと判断し、この時点でタスク切り替え要求を出す(ステップS19)。
最後に、カレントポジションを次エントリへ進めて(ステップS20)、ループ先頭のステップS12に戻る。
即ち、制御CPU11は、上記ステップS13〜S15の処理により、「撮像とその撮像画像の認識処理とを実行させる要求を受け付けてからの経過時間を計時する計時手段」として機能する。なお、この「計時手段」としての処理は、撮像完了からその撮像画像の認識処理の開始までの待ち時間を計時する構成としてもよい。
また、制御CPU11は、上記ステップS16,S17の処理により、「前記経過時間又は待ち時間が規定時間を超えると、前記撮像画像の認識処理の開始を待つ認識処理タスクの優先順位を上げるように再設定するタスク再設定手段」として機能する。
If the elapsed time since the command is received exceeds the determination time and the priority order needs to be reset, the task priority order is reset (step S17).
Further, the set priority order is checked (step S18). If the priority order has increased to “high” as a result of the resetting, it is determined that the urgency level of the task is high, and this A task switching request is issued at the time (step S19).
Finally, the current position is advanced to the next entry (step S20), and the process returns to step S12 at the top of the loop.
That is, the control CPU 11 functions as a “timer that measures the elapsed time since receiving a request to execute imaging and recognition processing of the captured image” by the processes of steps S13 to S15. Note that the processing as the “timer” may be configured to measure the waiting time from completion of imaging until the start of recognition processing of the captured image.
In addition, the control CPU 11 performs the processing of the above steps S16 and S17 so that “when the elapsed time or waiting time exceeds a specified time, the priority of the recognition processing task waiting for the start of the recognition processing of the captured image is increased. It functions as a “task resetting means for setting”.

[2軸時のノンストップ撮像のタイミングチャート説明]
次に、二機のヘッド106により並行して電子部品Cの搭載を実行する場合にノンストップ撮像を行った場合の例について説明する。図12は二軸時のノンストップ撮像のタイミングチャートを示している。
2つのヘッド106,106がそれぞれ3つの電子部品を保持しており、ほぼ同時に撮像が行われるよう、それぞれについてコマンド送信された場合の動きを記述している。図12では一方のヘッド106をフロントヘッド、他方のヘッド106をリアヘッドと記述する。
[Explanation of timing chart of non-stop imaging for 2 axes]
Next, an example in which non-stop imaging is performed when the electronic component C is mounted in parallel by the two heads 106 will be described. FIG. 12 shows a timing chart of non-stop imaging for two axes.
The two heads 106 and 106 each hold three electronic components, and describe the movement when a command is transmitted for each of them so that imaging is performed almost simultaneously. In FIG. 12, one head 106 is described as a front head, and the other head 106 is described as a rear head.

まず、送信されたコマンドは、時刻t1〜t2、t2〜t3の間にコマンド受付タスク34でリアルタイムで受け付けられ、認識処理タスク37〜39が割り当てられ、コマンド送信順に撮像要求が出される。すべての撮像要求に関する設定が終了したら、その旨をマシン制御装置13に通知し、ヘッド106,106の移動が開始される。
各ヘッド106,106が部品用カメラ6,6の上を通過する時刻t4のタイミングで、それぞれの画像撮像が行われる。画像入力部15は、図3に示したように、2系統の入力回路3,3及び画像メモリ7,7を備えているので、それぞれの系統での同時撮像が可能となっている。また、画像入力部15は、制御CPU11と独立したハードモジュールであるので、画像撮像と認識処理が並列で行うことができる。
First, the transmitted command is received in real time by the command receiving task 34 between times t1 and t2 and t2 to t3, recognition processing tasks 37 to 39 are assigned, and imaging requests are issued in the order of command transmission. When the settings related to all imaging requests are completed, the machine control device 13 is notified of this and movement of the heads 106 and 106 is started.
At the time t4 when the heads 106 and 106 pass over the component cameras 6 and 6, the respective images are captured. As shown in FIG. 3, the image input unit 15 includes two systems of input circuits 3 and 3 and image memories 7 and 7, so that simultaneous imaging in each system is possible. Further, since the image input unit 15 is a hardware module independent of the control CPU 11, image capturing and recognition processing can be performed in parallel.

この場合も、第1画像データ撮像が終了した場合のみ撮像通知割込みを出すよう設定されている(時刻t4)。
そして、これら2系統の撮像は同時刻の時刻t4〜t5、t7〜t9、t10〜t12に実行される。
認識処理は、初回の撮像終了の時刻t5の撮像通知割込みをトリガに開始される。
2軸なので認識処理タスクは計6つ用意され、それぞれ優先順位は同じである。
まずは、割込み通知のあったフロントヘッドの第1画像認識処理が実行される(時刻t5)。この画像処理装置19では、認識処理の終了時(時刻t8)に、画像撮像状況を調べて、次に実行すべき認識処理タスクに制御を渡すようにする。
時刻t8において、実行可能状態にあるのは、リアヘッドの第1画像認識処理のみであるのでこの処理が実行される。
その間、各ヘッド106,106の第2画像データ撮像が行われ(時刻t7〜t9)、リアヘッド106の第1画像の認識終了時の時刻t11では、フロント、リアの第2画像認識処理が実行可能状態になっている。図中では同時刻に画像撮像が終了しているが、先に待ちキューにつながれた方を優先して、フロントの第2画像認識処理(時刻t11〜t13)、リアの第2画像認識処理(時刻t13〜t14)の順で処理される。これらの間に、各ヘッド106,106の第3画像データ撮像が行われ(時刻t10〜t12)、リアの第2画像認識処理が終わると、フロントの第3画像認識処理(時刻t14〜t15)、リアの第3画像認識処理(時刻t15〜t16)の順で処理される。
Also in this case, it is set to issue an imaging notification interrupt only when the first image data imaging is completed (time t4).
These two systems of imaging are executed at times t4 to t5, t7 to t9, and t10 to t12 at the same time.
The recognition process is triggered by an imaging notification interrupt at time t5 when the first imaging ends.
Since there are two axes, a total of six recognition processing tasks are prepared, each having the same priority.
First, the first image recognition process of the front head that has received the interrupt notification is executed (time t5). In the image processing device 19, at the end of the recognition process (time t8), the image capturing state is checked, and control is passed to the recognition process task to be executed next.
Since only the rear head first image recognition process is in an executable state at time t8, this process is executed.
Meanwhile, the second image data of each head 106, 106 is captured (time t7 to t9), and the front and rear second image recognition processing can be executed at time t11 when the rear head 106 recognizes the first image. It is in a state. In the figure, the image capturing is completed at the same time, but the second image recognition process at the front (time t11 to t13) and the second second image recognition process (at the time t11 to t13) are given priority in favor of the one that is queued first. Processing is performed in the order of times t13 to t14). In the meantime, the third image data is captured by the heads 106 and 106 (time t10 to t12), and when the rear second image recognition process is completed, the front third image recognition process (time t14 to t15) is completed. The rear third image recognition process (time t15 to t16) is performed in this order.

図13は二軸時のノンストップ撮像において、カメラ6における撮像時刻とカメラ6から各搭載位置までヘッド106が移動するための所要時間とが既知であるために、搭載時刻(各ヘッド106,106の各搭載点までの最短の到達時刻)が移動距離からの予測により既知となる場合のタイミングチャートを示している。
例えば、フロントヘッド、リアヘッド各処理で第2及び第3の部品の搭載時刻が時刻to13、to14、to15、to16であったとする。
図12において、フロントヘッド、リアヘッド各処理で第2及び第3の部品の搭載可能な時刻は、時刻t13、t14、t15、t16であった。
FIG. 13 shows the mounting time (each head 106, 106) because the imaging time in the camera 6 and the time required for the head 106 to move from the camera 6 to each mounting position are known in the non-stop imaging at the time of two axes. The timing chart in the case where the shortest arrival time to each mounting point is known by prediction from the movement distance is shown.
For example, it is assumed that the mounting times of the second and third components are times to13, to14, to15, and to16 in each process of the front head and the rear head.
In FIG. 12, the times at which the second and third parts can be mounted in the processes of the front head and the rear head are times t13, t14, t15, and t16.

フロントヘッドの第2及び第3部品の搭載可能な時刻t13、t15は搭載点への到達時刻より早いので問題ないが、リアヘッドの第2及び第3部品の搭載可能な時刻t14、t16においては、搭載点への搭載時刻to14、to16に対して遅延が発生してしまうことになる。
このように、画像データの撮像が完了した順に効率よく認識タスクを処理し、画像処理装置のトータル処理時間を最短で済むようスケジューリングしたとしても、電子部品実装装置としての効率は必ずしも良くはならない場合がある。
There is no problem because the times t13 and t15 at which the second and third parts of the front head can be mounted are earlier than the arrival time at the mounting point, but at the times t14 and t16 at which the second and third parts of the rear head can be mounted, A delay occurs with respect to the mounting times to14 and to16 at the mounting points.
As described above, even when the recognition tasks are processed efficiently in the order in which the image data has been captured and the total processing time of the image processing apparatus is scheduled to be minimized, the efficiency of the electronic component mounting apparatus is not necessarily improved. There is.

例えば、各部品の搭載時刻to13〜to16とともに、各部品の画像認識処理時間が分かっているならば、上記の事例においては、フロントヘッドの第2及び第3部品について、搭載点への搭載時刻to13〜to16に間に合う範囲で処理の開始を遅らし、それにより捻出できたCPU11の余裕時間にリアヘッドの第2及び第3画像認識処理を割り当てて、時刻to14、to15に対して発生していた遅延を解消することができる。
各部品の搭載時刻to13〜to16は、コマンドパラメータとして、図3のマシン制御装置13から受け渡されるものとする。搭載時刻to13〜to16は、それぞれのヘッドの第1画像データの撮像開始時刻を0とした相対時刻で表現される。これら搭載時刻to13〜to16はコマンド毎に図3の作業用メモリ10内のコマンド管理ブロック45(図6)に保持される。
For example, if the image recognition processing time of each component is known together with the mounting times to13 to to16 of each component, in the above example, the mounting times to13 at the mounting points for the second and third components of the front head. The start of the process is delayed in a range in time for ~ to16, and the second and third image recognition processes of the rear head are allocated to the margin time of the CPU 11 that can be twisted out, and the delay that has occurred with respect to times to14 and to15 Can be resolved.
It is assumed that the mounting times to13 to to16 of each component are transferred from the machine control device 13 of FIG. 3 as command parameters. The mounting times to13 to to16 are expressed as relative times with the imaging start time of the first image data of each head as 0. These mounting times to13 to to16 are held for each command in the command management block 45 (FIG. 6) in the working memory 10 of FIG.

各部品の画像認識処理時間は、部品の種別や端子数のデータから推定できる。これら各部品の画像認識処理時間は、前述したように、図3の作業用メモリ10内のコマンド管理ブロック45(図6)にコマンド処理時間の推定値として保持しておけるようになっている。例えば、予め画像認識処理時間を実測しておき、テーブル化して図3のマシン制御装置13の記憶装置に保持しておいてもよい。画像処理装置19の電源投入時に、マシン制御装置13よりテーブル化データを受け渡し、図3の作業用メモリ10内に展開しておく。図6のコマンド受付タスク34は、コマンド受付毎にこのテーブル化データを参照し、該当する画像認識処理時間(コマンド処理時間の推定値)を取得し、コマンド管理ブロック45内に保持しておく。以降、図3の制御CPU11は画像認識処理時間が必要となった場合に短時間で簡単に取得することができる。   The image recognition processing time of each component can be estimated from the component type and terminal count data. As described above, the image recognition processing time of each of these components can be held as an estimated value of the command processing time in the command management block 45 (FIG. 6) in the work memory 10 of FIG. For example, the image recognition processing time may be measured in advance, tabulated, and stored in the storage device of the machine control device 13 in FIG. When the image processing device 19 is turned on, the tabulated data is transferred from the machine control device 13 and developed in the work memory 10 of FIG. The command reception task 34 in FIG. 6 refers to this tabulated data every time a command is received, acquires the corresponding image recognition processing time (estimated value of command processing time), and stores it in the command management block 45. Thereafter, the control CPU 11 in FIG. 3 can easily acquire the image recognition processing time in a short time when the image recognition processing time is required.

また、このようなスケジューリングは、フロントヘッドとリアヘッドが非同期に動作している環境下において、複数の入力系統の要求(例えば、二つのヘッドによる認識処理の要求)が全く同時に発生することは稀であり、一度にスケジューリングをすべて完成させることはできない。まずは、先に発生した入力系統(例えば、先に要求が行われたヘッド)について、例えば前述した図12に示すタイムチャートのように最短で処理が済むスケジューリングを作成し、新たに発生した入力系統(例えば、後に要求が行われたヘッド)について、最短での処理では搭載時刻を守れないことが明らかになった時点でリスケジューリングすべきである。   In addition, in such scheduling, it is rare that requests for a plurality of input systems (for example, requests for recognition processing by two heads) occur at the same time in an environment where the front head and the rear head operate asynchronously. Yes, you cannot complete all scheduling at once. First, for a previously generated input system (for example, a head for which a request has been previously made), for example, a schedule that can be processed in the shortest time as shown in the time chart of FIG. Rescheduling should be performed when it becomes clear that the mounting time cannot be observed with the shortest processing (for example, a head for which a request was made later).

例えば、図13に示すタイミングチャートにおいて、フロントヘッドの第1部品の撮像の方がリアヘッドの第1部品の撮像より若干早かった場合を考えてみる。
まず、フロントヘッドの第1の部品の撮像完了時t5にフロントヘッド側の認識処理のスケジューリングが完成する。このとき、リアヘッドでの認識処理が発生するかどうかはまだ分からないので、図12に示すタイミングチャートのように画像撮像が完了した順にスケジューリングされることになる。その後、リアヘッドの第1の部品の撮像完了のイベントを受け取り(図ではt5となっているが厳密には若干t5よりも遅れる)、フロントヘッド、リアヘッドで並列して動作しなければならないことが分かる。
For example, in the timing chart shown in FIG. 13, consider the case where the imaging of the first part of the front head is slightly earlier than the imaging of the first part of the rear head.
First, the recognition process scheduling on the front head side is completed at time t5 when imaging of the first part of the front head is completed. At this time, since it is not yet known whether or not the recognition processing at the rear head occurs, the scheduling is performed in the order in which the image capturing is completed as shown in the timing chart of FIG. After that, an event of completion of imaging of the first component of the rear head is received (in the figure, it is t5, but strictly a little behind t5), and it is understood that the front head and the rear head must operate in parallel. .

このときに、はじめて双方のヘッドの認識処理を同じ時間軸で並べて見ることができるようになるので、このイベントをリスケジューリングのタイミングとする。リスケジューリングの対象は未実行、すなわち、キューイングされている認識タスクである。
それぞれの認識タスクについて、画像認識処理時間と搭載時刻から処理の開始を遅延させることが可能な余裕時間を割り出す。
割り出された余裕時間分だけ処理の開始を遅延させた結果、他の認識タスクと処理が重なる場合には、搭載時刻からの遅延時間が最小になるようにキューの接続順序を入れ替え、さらに必要に応じて、2つのタスクについて同一優先順位のレベル内で優先度に差をつけるようにし、スケジュール制御を行う。
例えば、図13の例では、フロントヘッドの第2及び第3画像処理について余裕時間分だけ処理の開始を遅延させるだけでは、リアヘッドの第2及び第3画像処理と処理が重なりを生じるが、フロントヘッドの第2画像処理とリアヘッドの第2画像処理、フロントヘッドの第3画像処理とリアヘッドの第3画像処理のそれぞれについて、キューの接続順序を入れ替え、同一優先レベル内で優先度に差をつけることにより処理の順番の入れ替えることにより、全ての画像処理が各々の搭載時刻までに終了し、ヘッドの待ち時間を解消又は低減することが可能となる。
At this time, since the recognition processes of both heads can be viewed side by side on the same time axis for the first time, this event is set as the rescheduling timing. The target of rescheduling is a recognition task that has not been executed, that is, queued.
For each recognition task, a margin time that can delay the start of the process is determined from the image recognition processing time and the installation time.
As a result of delaying the start of processing by the determined margin time, if processing overlaps with other recognition tasks, the queue connection order is changed so that the delay time from the installation time is minimized, and further required Accordingly, the priority control is performed for the two tasks within the same priority level, and the schedule control is performed.
For example, in the example of FIG. 13, the processing of the second and third image processing of the front head is overlapped with the processing of the second and third image processing of the rear head only by delaying the start of the processing by the margin time. For each of the second image processing of the head, the second image processing of the rear head, the third image processing of the front head, and the third image processing of the rear head, the connection order of the queues is changed, and the priority is differentiated within the same priority level. Thus, by changing the order of processing, all the image processing is completed by each mounting time, and it becomes possible to eliminate or reduce the waiting time of the head.

制御CPU11は、上記スケジュール制御を行うことにより、「認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を並び替える接続順位補正手段」として機能し、「前記複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間及び前記複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻(搭載時刻)とに基づいて、前記複数の要求に基づくそれぞれの撮像画像の認識処理の遅延時間を求め、それぞれの前記遅延時間の合計が低減するように認識処理タスクを並び替える」処理を行う。また、上記処理により「接続順位補正工程」が実行される。   The control CPU 11 functions as “connection order correction means for rearranging the connection order of the recognition processing tasks to the executable queue that stores the execution order of the recognition processing tasks” by performing the schedule control described above. Based on the image recognition processing time required for the recognition processing of each captured image based on and the target image recognition processing end time (mounting time) for the recognition processing of each captured image based on the plurality of requests. A process of obtaining a delay time of recognition processing of each captured image based on the request and rearranging the recognition processing tasks so as to reduce the total of the delay times is performed. Further, the “connection order correction step” is executed by the above processing.

またさらに、余裕時間が短くて、その時間内では完全に処理を終えることができない場合、この余裕時間を有効に使うようにタスクのスイッチングを行う。まず、開始時刻が遅い方のタスク(以降、後のタスク)の優先度を開始時刻が早い方のタスク(以降、先のタスク)より高く設定しておく。後のタスクは、搭載時刻に間に合う時刻に起床するようアラームをかけておき、先のタスクを実行する。アラーム時刻になり、後のタスクが起床すると、こちらの方が優先度が高いので認識処理タスクが切り替わる。後のタスクの処理が終わると、再び先のタスクに切り替わる。タスクのスイッチングのため、画像処理装置のトータルの処理時間は増加するが、ヘッドの待ち時間は最短で済み、電子部品実装装置としての効率はUpする。   Furthermore, when the margin time is short and the processing cannot be completed completely within that time, the task is switched so that the margin time is used effectively. First, the priority of the task with the later start time (hereinafter, the later task) is set higher than the task with the earlier start time (hereinafter, the preceding task). For the later task, an alarm is given to wake up at a time in time for the installation time, and the previous task is executed. When the alarm time comes and a later task wakes up, the recognition process task is switched because this one has higher priority. When the processing of the subsequent task is completed, it switches to the previous task again. Although the total processing time of the image processing apparatus increases due to task switching, the waiting time of the head is minimized, and the efficiency as an electronic component mounting apparatus is increased.

また、これらのリスケジューリング処理は、撮像完了イベントではなく、撮像露光のイベントを追加し、これをトリガにして動作させてもよい。
即ち、図13に示すように、リアヘッドとフロントヘッドに対応する複数(二台)のカメラ6,6の中で最後の順番で連続撮像を行うカメラ(リアヘッド側)の連続撮像における最初の撮像(リアヘッドの第1画像データ撮像)の露光完了をトリガとして割込が発生し、認識処理タスクの並び替え(リスケジューリング)を実行する構成とすることが望ましい。なお、カメラ6を三台以上使用する場合には、2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして割込が発生し、認識処理タスクの並び替え(リスケジューリング)を実行することが望ましい。
これにより、露光完了からデータ転送完了までの制御CPU11の待ち時間を有効活用でき、より速くリスケジューリングを終えることができる。
In addition, these rescheduling processes may be performed by adding an imaging exposure event instead of an imaging completion event and using this event as a trigger.
That is, as shown in FIG. 13, the first imaging (continuous imaging) of the camera (rear head side) that performs continuous imaging in the last order among a plurality (two) of cameras 6 and 6 corresponding to the rear head and the front head ( It is desirable to have a configuration in which an interruption is triggered by the completion of exposure of the rear head first image data imaging) and the recognition processing tasks are rearranged (rescheduling). When three or more cameras 6 are used, an interrupt is triggered by the exposure completion of the first imaging in the continuous imaging of the cameras that perform continuous imaging in the second and subsequent orders, and the recognition processing tasks are rearranged. It is desirable to execute (rescheduling).
Thereby, the waiting time of the control CPU 11 from the completion of exposure to the completion of data transfer can be effectively utilized, and rescheduling can be completed more quickly.

なお、図13に示すように、フロントヘッド側の第1画像データ撮像における露光時にも割込が発生するが、この時点では、リアヘッド側における搭載時刻及び遅延の発生の有無が判断できないので、リスケジューリングは実行されない。
また、カメラが3台以上存在し、これらが連続的に撮像行う場合(より厳密には、撮像のタイミングが近いことにより各カメラの撮像画像データの認識処理がタイミング的に重合を生じる場合)には、最後に撮像を行うカメラの第1画像データ撮像における露光時にリスケジューリングを実行する。
As shown in FIG. 13, an interrupt occurs during exposure in the first image data capture on the front head side, but at this time, it is impossible to determine the mounting time on the rear head side and whether or not a delay has occurred. Scheduling is not performed.
Also, when there are three or more cameras and these are continuously imaged (more strictly, when the recognition processing of the captured image data of each camera is overlapped in timing due to the close timing of imaging). Performs rescheduling at the time of exposure in the first image data imaging of the camera that performs imaging last.

[2軸でストップ撮像とノンストップ撮像とを実行するタイミングチャート説明(1)]
図14は、低優先順位のストップ撮像コマンドとノンストップ撮像の重複時のタイミングチャートについて撮像方法・処理種別のみで優先順位の設定をした場合を示したものである。
例えば、フロントヘッド106が、3つの電子部品を保持しており、ノンストップ撮像を行うのとほぼ同時刻にリアヘッド106でストップ撮像コマンドが実行され、ストップ撮像の画像撮像終了の方が早く終了した場合の動きを記述している。
[Timing chart for executing stop imaging and non-stop imaging with two axes (1)]
FIG. 14 shows a case where the priority order is set only by the imaging method / process type in the timing chart when the low-priority stop imaging command and the non-stop imaging overlap.
For example, the front head 106 holds three electronic components, a stop imaging command is executed at the rear head 106 at approximately the same time as non-stop imaging, and the end of imaging of stop imaging has ended earlier. Describes the movement of the case.

まず、送信されたコマンドは、時刻t1〜t2、t2〜t3の間にコマンド受付タスク34でリアルタイムで受け付けられ、認識処理タスクが割り当てられ、コマンド送信順に撮像要求が出される。
フロントヘッド106については、ノンストップ撮像の要求であるので、3つの撮像要求に関する設定が終了したら、その旨をマシン制御装置13に通知し、フロントヘッド106の移動が開始される。
リアヘッド106については、ストップ撮像の要求である。コマンド送信時には、ヘッド106は既に部品用カメラ6上に位置しているので、撮像要求に続いて、フロントヘッド106より早い時刻t4で撮像が開始される。
一方、フロントヘッドの撮像は時刻t4に遅れて時刻t5〜t8、t10〜t12、t13〜t15に実行される。
First, the transmitted command is received in real time by the command receiving task 34 between times t1 and t2 and t2 to t3, a recognition processing task is assigned, and imaging requests are issued in the order of command transmission.
Since the front head 106 is a non-stop imaging request, when the settings relating to the three imaging requests are completed, the machine control device 13 is notified of this and the movement of the front head 106 is started.
The rear head 106 is a request for stop imaging. At the time of command transmission, since the head 106 is already positioned on the component camera 6, imaging is started at time t4 earlier than the front head 106 following the imaging request.
On the other hand, the imaging of the front head is executed at times t5 to t8, t10 to t12, and t13 to t15 after the time t4.

リアヘッド106における認識処理は、リアヘッド106の撮像終了の時刻t6の撮像通知割込みをトリガに開始される。
認識処理タスクは計4つで、優先順位は、フロントヘッド106の3つが「高」、リアヘッド106の1つが「中」に設定されている。
また、この図14の例のフロントヘッド106の画像認識処理は次の画像撮像終了よりも早く終了し、次の画像認識処理の開始までに空き時間が出来るような場合を事例としている。
The recognition process in the rear head 106 is triggered by an imaging notification interrupt at time t6 when the rear head 106 finishes imaging.
There are a total of four recognition processing tasks, and the priority is set to “high” for three of the front heads 106 and “medium” for one of the rear heads 106.
Further, the case where the image recognition process of the front head 106 in the example of FIG. 14 is completed earlier than the end of the next image capturing and a free time is available until the start of the next image recognition process is taken as an example.

時刻t6では、実行可能状態の認識処理タスクはリアヘッド106の1つだけなので、時刻t7からリアヘッド106の認識処理タスクが実行中となる。
その後、時刻t8でフロントヘッド106の第1画像データ撮像が終了し、撮像通知割込みが入る。この時点でフロントヘッド106の第1画像認識処理タスクが実行可能状態となる。2つの実行可能状態の認識処理タスクで優先順位を比較し、実行タスクは、フロントヘッドの第1画像認識処理を行う認識処理タスクに切り替わる。
そして、第1画像認識処理の実行中に、第2画像データ撮像が時刻t10で開始され、時刻t11にフロントヘッドの第1画像認識処理は終了するが、この時点で、第2画像データの撮像は終了していない。そのため、実行可能なリアヘッドの認識処理タスクが再び実行タスクとなる。
At time t6, since there is only one recognition processing task in the executable state in the rear head 106, the recognition processing task for the rear head 106 is being executed from time t7.
Thereafter, the first image data imaging of the front head 106 is completed at time t8, and an imaging notification interrupt is input. At this time, the first image recognition processing task of the front head 106 is ready to be executed. The priorities are compared between the recognition processing tasks in the two executable states, and the execution task is switched to the recognition processing task for performing the first image recognition processing of the front head.
Then, during the execution of the first image recognition process, the second image data imaging starts at time t10, and the first image recognition process of the front head ends at time t11. At this time, the imaging of the second image data is completed. Is not finished. Therefore, an executable rear head recognition processing task becomes an execution task again.

ノンストップ撮像処理において、認識処理時に時間がかかり、認識処理終了時に既に次の認識処理の画像データが用意されている場合は、途中で撮像通知割込みは発生しない。
しかし、図14に示すように、次の画像処理の画像データが間に合っていない場合(撮像が完了していない場合)には、前の認識処理の終了時、画像撮像状況をチェックした際に、次の認識処理の画像撮像について、撮像通知割込みの発生要求を立てておく。
すると、第2画像データ撮像終了の時刻t12に撮像通知割込みが発生し、実行タスクをリアヘッドの認識処理タスクからフロントヘッドの第2画像認識処理を行う認識処理タスクに切り替えることができる。
In the non-stop imaging process, when the recognition process takes time, and image data for the next recognition process is already prepared at the end of the recognition process, an imaging notification interrupt does not occur in the middle.
However, as shown in FIG. 14, when the image data of the next image processing is not in time (when imaging has not been completed), when the image capturing status is checked at the end of the previous recognition processing, A request for generating an imaging notification interrupt is made for imaging of the next recognition process.
Then, an imaging notification interruption occurs at the time t12 when the second image data imaging ends, and the execution task can be switched from the rear head recognition processing task to the recognition processing task for performing the front head second image recognition processing.

同様の仕組みで、フロントヘッドの第2画像認識処理タスクが終了する時刻t14で、タスク切り替えが起こり、リアヘッドの認識処理タスクが実行タスクとなる。そして、フロントヘッドの第3画像データ撮像が終了する時刻t15で撮像通知割込みが発生し、フロントヘッドの第3画像認識処理を行う認識処理タスクが実行タスクとなり、処理が終了する時刻t17でリアヘッドの認識処理タスクが唯一の実行可能状態のタスクとなるので、やっと制御が戻り、残りの処理を実行して時刻t18にすべての処理が終了となる。
このように優先順位が「中」の設定であると、他の認識処理タスクがすべて終了しないと処理の順番が回ってこない。
With a similar mechanism, task switching occurs at time t14 when the second image recognition processing task for the front head ends, and the recognition processing task for the rear head becomes an execution task. Then, an imaging notification interrupt is generated at time t15 when the front head third image data imaging ends, the recognition processing task for performing the third image recognition processing of the front head becomes an execution task, and at the time t17 when the processing ends, the rear head Since the recognition processing task is the only task in the executable state, control is finally returned, the remaining processing is executed, and all processing ends at time t18.
In this way, when the priority is set to “medium”, the processing order does not turn unless all other recognition processing tasks are completed.

[2軸でストップ撮像とノンストップ撮像とを実行するタイミングチャート説明(2)]
図15に待ち時間の累積時間により低優先順位のタスクの優先順位を動的に変動させるためのタイマ処理を組み込んだ場合のタイミングチャートを示す。この処理は、前述した図14の処理に図11に示したタイマ処理を組み込んだものであり、各ヘッド106,106の動作自体は図14と同じである。
この図15の処理は、時刻t8〜t11の待ち時間の間に、周期的に実行されるタイマ処理が入ると、リアヘッド106の認識処理タスクに所定時間以上の待ち時間が生じている場合に、その優先順位が再設定され、「中」から「高」に切り替えられる。
[Timing chart for executing stop imaging and non-stop imaging with two axes (2)]
FIG. 15 shows a timing chart in the case of incorporating a timer process for dynamically changing the priority of a low priority task according to the accumulated waiting time. In this process, the timer process shown in FIG. 11 is incorporated into the process shown in FIG. 14, and the operations of the heads 106 and 106 are the same as those in FIG.
The processing of FIG. 15 is performed when a periodically executed timer processing is entered during the waiting time from time t8 to t11, and when a waiting time of a predetermined time or more occurs in the recognition processing task of the rear head 106. The priority is reset and switched from “medium” to “high”.

これにより、フロントヘッド106の第1画像認識処理の終了時の時刻t11において、リアヘッド106の画像認識処理にタスク切替が行われる。
そして、このリアヘッド106の画像認識処理の終了時の時刻t14では、第2画像認識処理を実行する認識処理タスクが実行可能となっているので、当該認識処理タスクにタスク切り替えが行われる。
さらに、第2画像認識処理の終了時の時刻t16では、第3画像認識処理を実行する認識処理タスクが実行可能となっているので、当該認識処理タスクにタスク切り替えが行われる。
Thereby, task switching is performed for the image recognition processing of the rear head 106 at time t11 when the first image recognition processing of the front head 106 ends.
At time t14 when the image recognition process of the rear head 106 ends, the recognition process task for executing the second image recognition process can be executed. Therefore, the task is switched to the recognition process task.
Furthermore, at time t16 at the end of the second image recognition process, since the recognition process task for executing the third image recognition process can be executed, the task is switched to the recognition process task.

このように、優先順位「中」のタスクのレスポンス時間が、優先順位の繰り上げにより、短縮、改善される。
また、これに伴い、割込処理の発生頻度が低減して、全体の処理時間も短縮される。
なお、この処理では、一般的に実行される周期的に時間の経過を報知するタイマ処理に優先順位の更新機能を持たせているので、発明の課題である割込処理の低減の趣旨に反するものではない。
As described above, the response time of the task having the priority “medium” is shortened and improved by raising the priority.
As a result, the occurrence frequency of interrupt processing is reduced and the overall processing time is also shortened.
In this process, a timer process that notifies the passage of time periodically is provided with a priority update function, which is contrary to the purpose of reducing the interrupt process, which is an object of the invention. It is not a thing.

[1軸で搭載順序を考慮してノンストップ撮像とを実行するタイミングチャート説明]
図16に1軸でノンストップ撮像を行う場合であって、三つの電子部品の搭載の順序を反映させて認識処理を実行する場合のタイミングチャートを示す。
このノンストップ撮像では、第3撮像画像の電子部品Cが最初に搭載され、第2撮像画像の電子部品Cが二番目に搭載され、第1撮像画像の電子部品Cが最後に搭載される場合の認識処理である。この場合、搭載に順番を反映すると、いずれも処理の優先順位は「高」であるが、その中でも、優先順位が、第3撮像画像>第2撮像画像>第1撮像画像となる。
ヘッド106の動作が図11の例と同じように制御される場合に、上述の有せ印順位を適用すると、まず、撮像要求が行われ(時刻t1〜t2)、撮像の順番に従って第1画像データ撮像が行われる(時刻t3〜t4)。
撮像終了時には、撮像通知割込が入り、割込処理が行われる結果、処理が可能な状態である第1画像認識処理を実行する認識処理タスクの処理が開始される(時刻t5)。
この時、第1画像認識処理の処理時間の長く、その実行中に第2画像データ撮像(時刻t6〜t7)と第3画像データ撮像(時刻t8〜t9)とが完了した場合、第3画像データ撮像の終了時の優先順位の更新において、第3画像認識処理の認識処理タスクが、タスクキューに対して、第2画像認識処理の認識処理タスクより前につながれた状態となる。
従って、第1画像認識処理が終了すると(時刻t10)、第3画像認識処理の認識処理タスクにタスクが切り替えられる。
さらに、第3画像認識処理が終了すると(時刻t11)、第2画像認識処理の認識処理タスクにタスクが切り替えられ、時刻t12で処理全体が終了する。
[Explanation of timing chart for non-stop imaging in consideration of mounting order on one axis]
FIG. 16 shows a timing chart in the case where non-stop imaging is performed with one axis and the recognition process is executed by reflecting the mounting order of three electronic components.
In this non-stop imaging, the electronic component C of the third captured image is mounted first, the electronic component C of the second captured image is mounted second, and the electronic component C of the first captured image is mounted last. Recognition process. In this case, when the order is reflected in the mounting, the priority of the processing is “high”, but among these, the priority is the third captured image> the second captured image> the first captured image.
When the operation of the head 106 is controlled in the same manner as in the example of FIG. 11, when the above-described cut-out order is applied, first, an imaging request is made (time t1 to t2), and the first image according to the imaging order. Data imaging is performed (time t3 to t4).
At the end of imaging, an imaging notification interrupt is entered, and as a result of the interrupt process being performed, the process of the recognition process task for executing the first image recognition process in a processable state is started (time t5).
At this time, if the processing time of the first image recognition processing is long and the second image data imaging (time t6 to t7) and the third image data imaging (time t8 to t9) are completed during the execution, the third image In the update of the priority order at the end of data imaging, the recognition process task of the third image recognition process is connected to the task queue before the recognition process task of the second image recognition process.
Therefore, when the first image recognition process ends (time t10), the task is switched to the recognition process task of the third image recognition process.
Furthermore, when the third image recognition process ends (time t11), the task is switched to the recognition process task of the second image recognition process, and the entire process ends at time t12.

[発明の実施の形態における効果]
上記画像処理装置19は、複数の撮像認識コマンドに基づいて撮像とその撮像画像の認識処理とを行う際に、撮像終了時に認識処理タスクの優先順位を更新し、認識処理タスクの認識終了毎に優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する。
これにより、一の認識処理が終了したときに、次に実行可能に認識処理タスクが存在すれば割込処理を介することなく次に認識処理につなぐことができ、割り込み通知、タスク切り替えを最小限に止め、OSのオーバーヘッド、キャッシュの入れ替え処理を削減することで、作業効率を向上することが可能となる。
[Effects of the embodiment of the invention]
The image processing device 19 updates the priority of the recognition processing task at the end of imaging when performing imaging and recognition processing of the captured image based on a plurality of imaging recognition commands, and each time recognition processing task recognition ends. The recognition process task to be executed next is selected according to the priority order, and the process proceeds to the next recognition process task.
As a result, when one recognition process is completed, if there is a recognition process task that can be executed next, it can be connected to the next recognition process without an interrupt process, and interrupt notification and task switching can be minimized. It is possible to improve the work efficiency by reducing the OS overhead and cache replacement processing.

また、画像処理装置19では、処理種別にて認識処理タスクの優先順位を動的に切り替えることで、作業効率を向上できる。
さらに、処理待ち時間の経過に合わせて認識処理タスクの優先順位を上げることで、低優先順位の処理のタイムアウトを防止できる。
また、ノンストップ撮像する対象物について、撮像順に認識される場合に限らず、認識順を制御できるタスク管理手段を設けたことで、軸の搭載点までの移動時間を含めた範囲で効率良く、各部品の認識時間の配分ができ、システム全体として効率向上を図ることができる。なお、この場合、認識の順番を全ての電子部品Cについて搭載の順番に従わせる場合に限らず、一部の電子部品Cのみについて、例えば、最初に搭載が行われる電子部品のみについて認識を優先するというような補正を行うことも可能である。
また、認識の順番を全ての電子部品Cについて搭載の順番に従わせる場合には、よりきめ細かな認識順の制御が可能となり、理屈的には最後の搭載点までの移動時間をフルに使って、各部品の認識時間の配分ができ、システム全体として効率向上を図ることができる。
Further, in the image processing device 19, work efficiency can be improved by dynamically switching the priority order of the recognition processing tasks according to the processing type.
Further, by raising the priority of the recognition processing task as the processing wait time elapses, it is possible to prevent a time-out of low priority processing.
In addition, the object to be non-stop imaged is not limited to being recognized in the imaging order, but by providing a task management means that can control the recognition order, it is efficient in a range including the movement time to the axis mounting point, The recognition time of each part can be distributed, and the efficiency of the entire system can be improved. In this case, the order of recognition is not limited to the order of mounting for all the electronic components C, but priority is given to recognition for only some of the electronic components C, for example, only the electronic components that are mounted first. It is also possible to perform such correction.
In addition, when the order of recognition is made to follow the order of mounting for all the electronic components C, it becomes possible to control the order of recognition more finely, and theoretically, the travel time to the last mounting point is fully used. The recognition time of each part can be distributed, and the efficiency of the entire system can be improved.

さらに、画像処理装置19では、認識処理タスク37〜39がハード演算を含む場合に、そのハード演算占有率が高いものほど実行可能キューへの認識処理タスクの接続順位の優先度を高くするよう並び替える補正を行うことから、演算制御回路9によるハード演算によって得られる演算処理部18の制御CPU11の空き時間を次の認識処理タスクが有効活用することができ、複数の認識処理のトータルでの処理時間をより短くすることが可能となる。
例えば、図17は、図12のリアヘッド第1画像認識処理がハード演算を含むように変わった場合のタイミングチャートを示している。
リアヘッド第1画像認識処理(t8〜t13)に含まれるハード演算実行区間(t10〜t11)は、制御CPU11の空き時間となり、この時間(t10〜t11)にフロントヘッド第2認識処理を実行することができ、t18の終了時間をt10〜t11の時間だけ短縮することが可能となる。
Further, in the image processing device 19, when the recognition processing tasks 37 to 39 include hardware operations, the higher the hardware operation occupation ratio, the higher the priority of the recognition processing task connection order to the executable queue. Since the correction to be replaced is performed, the free time of the control CPU 11 of the arithmetic processing unit 18 obtained by the hardware calculation by the arithmetic control circuit 9 can be effectively used by the next recognition processing task, and the total processing of a plurality of recognition processes is performed. The time can be shortened.
For example, FIG. 17 shows a timing chart when the rear head first image recognition process of FIG. 12 is changed to include a hardware operation.
The hardware calculation execution section (t10 to t11) included in the rear head first image recognition process (t8 to t13) is a free time of the control CPU 11, and the front head second recognition process is executed during this time (t10 to t11). It is possible to shorten the end time of t18 by the time of t10 to t11.

さらに、画像処理装置19では、複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間と複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とが既知又は取得可能である場合に、各カメラ6,6の連続撮像を開始した時刻とそれぞれの撮像画像の認識処理に要する画像認識処理時間とから、個々の撮像画像の認識処理の終了時刻を算出することができる。そして、個々の撮像について、算出した画像認識処理の終了時刻と目標とする画像認識処理終了時刻と比較することで遅延の発生及び遅延時間を求めることが可能である。
上記複数のカメラ6,6による連続撮像を行った場合に、個々の撮像の何れかは目標とする画像認識処理終了時刻に対する余裕時間を生じる場合があるので(例えば図13のフロントヘッドにおける第2及び第3画像認識処理)、余裕時間を生じる撮像の認識処理タスクと遅延を生じる撮像の認識処理タスク(例えば図13のリアヘッドにおける第2及び第3画像認識処理)の接続順位をそれぞれ入れ替えることで、いずれの認識処理タスクも遅延を解消する場合がある。
Further, in the image processing device 19, the image recognition processing time required for the recognition processing of each captured image based on a plurality of requests and the target image recognition processing end time for the recognition processing of each captured image based on the plurality of requests are determined. When it is known or can be acquired, the end time of the recognition processing of each captured image is calculated from the time when the continuous imaging of each of the cameras 6 and 6 is started and the image recognition processing time required for the recognition processing of each captured image. can do. Then, for each image pickup, it is possible to determine the occurrence of delay and the delay time by comparing the calculated end time of the image recognition process with the target end time of the image recognition process.
When continuous imaging by the plurality of cameras 6 and 6 is performed, any of the individual imaging may cause a margin time with respect to the target image recognition processing end time (for example, the second in the front head of FIG. 13). And the third image recognition process), the connection order of the recognition process task of imaging that causes a margin time and the recognition process task of imaging that causes a delay (for example, the second and third image recognition processes in the rear head of FIG. 13) are switched. Any recognition processing task may eliminate the delay.

このような入れ替えによって遅延を解消する認識処理タスクの組み合わせを適宜探索し、実行可能キューへの認識処理タスクの接続順位を並び替えることにより、個々の撮像の認識処理の遅延を低減又は解消し、複数のカメラの連続撮像の認識処理のトータルでの処理時間をより短くすることが可能となる。
特に上記のリスケジューリングでは、複数のカメラ6,6の中で最後の順番で連続撮像を行うカメラ6(リアヘッド側)の連続撮像における最初の撮像(第1画像データ撮像)の露光完了をトリガとして、遅延時間の合計を低減させるための認識処理タスクの並び替えを実行するので、撮像完了を待たずに並び替える認識処理タスクの組み合わせを探索する処理を開始することができ、認識処理のトータルでの処理時間をさらに短くすることが可能となる。
By appropriately searching for a combination of recognition processing tasks that eliminate the delay by such replacement and rearranging the connection order of the recognition processing tasks to the executable queue, the delay of the recognition processing of each imaging is reduced or eliminated, It is possible to shorten the total processing time of the recognition processing for continuous imaging of a plurality of cameras.
In particular, in the rescheduling described above, the exposure completion of the first imaging (first image data imaging) in the continuous imaging of the camera 6 (rear head side) that performs continuous imaging in the last order among the plurality of cameras 6 and 6 is used as a trigger. Since the recognition processing tasks are rearranged to reduce the total delay time, it is possible to start the process of searching for a combination of recognition processing tasks to be rearranged without waiting for the completion of imaging. This processing time can be further shortened.

4 基板用カメラ
6 部品用カメラ
7 画像メモリ
11 制御CPU
15 画像入力部
18 演算処理部
19 画像処理装置
34 コマンド受付タスク(タスク割り当て手段)
35 画像入力API(撮像要求部)
37〜39 認識処理タスク
C 電子部品(対象物)
4 Substrate camera 6 Component camera 7 Image memory 11 Control CPU
DESCRIPTION OF SYMBOLS 15 Image input part 18 Operation processing part 19 Image processing apparatus 34 Command reception task (task allocation means)
35 Image Input API (Imaging Request Unit)
37-39 Recognition processing task C Electronic component (object)

Claims (6)

演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記演算処理部は、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求部と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て手段とを有し、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置において、
前記複数の要求に基づくそれぞれの撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定手段と、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理手段と、
前記優先順位内での認識処理の優先度をさらに定め、認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を前記優先度に応じて並び替える優先度設定手段を備え、
前記優先度設定手段は、前記実行可能キューへの認識処理タスクの接続順位を並び替える際に、認識処理タスクがハード演算を含むか否かを判定し、ハード演算を含み、前記演算処理部との並列処理が可能な認識処理タスクについて、ハード演算占有率が高いものほど優先度を高くして並び替えることを特徴とする画像処理装置。
An arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
The arithmetic processing unit includes:
An imaging requesting unit for performing an imaging request to be captured by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
Task assignment means for assigning recognition processing tasks to the plurality of requests,
In the image processing apparatus for processing a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
Setting means for setting or updating the priority order of the recognition processing task when each imaging based on the plurality of requests is completed;
A progress management means for selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is completed, and shifting to the next recognition processing task;
A priority setting unit that further determines the priority of the recognition process within the priority order and rearranges the connection order of the recognition process task to the executable queue that stores the execution order of the recognition process task according to the priority; ,
The priority setting means determines whether the recognition processing task includes a hardware operation when rearranging the connection order of the recognition processing task to the executable queue, includes a hardware operation, and includes the arithmetic processing unit and An image processing apparatus characterized in that the recognition processing tasks that can be processed in parallel are rearranged with a higher priority as the hardware operation occupancy is higher.
演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記演算処理部は、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求部と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て手段とを有し、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置において、
前記複数の要求に基づくそれぞれの撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定手段と、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理手段と、
認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を並び替える接続順位補正手段を備え、
前記接続順位補正手段は、
前記複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間及び前記複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とに基づいて、前記複数の要求に基づくそれぞれの撮像画像の認識処理の遅延時間を求め、それぞれの前記遅延時間の合計が低減するように認識処理タスクを並び替えることを特徴とする画像処理装置。
An arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
The arithmetic processing unit includes:
An imaging requesting unit for performing an imaging request to be captured by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
Task assignment means for assigning recognition processing tasks to the plurality of requests,
In the image processing apparatus for processing a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
Setting means for setting or updating the priority order of the recognition processing task when each imaging based on the plurality of requests is completed;
A progress management means for selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is completed, and shifting to the next recognition processing task;
A connection order correction means for rearranging the connection order of the recognition processing tasks to the executable queue for storing the execution order of the recognition processing tasks;
The connection order correction means includes:
Based on the image recognition processing time required for the recognition processing of each captured image based on the plurality of requests and the target image recognition processing end time for the recognition processing of each captured image based on the plurality of requests, An image processing apparatus characterized by obtaining a delay time of recognition processing of each captured image based on a request and rearranging the recognition processing tasks so that a total of the delay times is reduced.
前記接続順位補正手段は、
前記複数のカメラの中で2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして認識処理タスクの並び替えを実行することを特徴とする請求項2記載の画像処理装置。
The connection order correction means includes:
The recognition processing task is rearranged by using, as a trigger, exposure completion of the first imaging in continuous imaging of a camera that performs continuous imaging in the second and subsequent orders among the plurality of cameras. Image processing device.
演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置が行う画像処理方法において、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求工程と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て工程と、
前記複数の要求に基づく毎回の撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定工程とを備え、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理工程と、
前記優先順位内での認識処理の優先度をさらに定め、認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を前記優先度に応じて並び替える優先度設定工程とを備え、
前記優先度設定工程は、前記実行可能キューへの認識処理タスクの接続順位を並び替える際に、認識処理タスクがハード演算を含むか否かを判定し、ハード演算を含み、前記演算処理部との並列処理が可能な認識処理タスクについて、ハード演算占有率が高いものほど優先度を高くして並び替えることを特徴とする画像処理方法。
An arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
In an image processing method performed by an image processing apparatus that processes a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
An imaging request step for making an imaging request for imaging by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
A task assignment step for assigning recognition processing tasks to the plurality of requests;
A setting step for setting or updating the priority order of the recognition processing task at the time of completion of each imaging based on the plurality of requests,
A progress management step of selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is finished, and shifting to the next recognition processing task;
A priority setting step for further determining the priority of the recognition process within the priority order, and rearranging the connection order of the recognition process task to the executable queue storing the execution order of the recognition process task according to the priority. Prepared,
The priority setting step determines whether the recognition processing task includes a hardware operation when rearranging the connection order of the recognition processing task to the executable queue, includes a hardware operation, includes the arithmetic processing unit, An image processing method characterized in that the recognition processing tasks that can be processed in parallel are rearranged at a higher priority as the hardware computation occupancy is higher.
演算処理部と、
当該演算処理部と並列処理可能であって複数のカメラが接続される画像入力部と、
画像データを格納する画像メモリとを備え、
前記複数のカメラが非同期に連続撮像して得られる複数の画像データを処理する画像処理装置が行う画像処理方法において、
撮像とその撮像画像の認識処理とを実行させる複数の要求に応じて前記カメラに撮像させる撮像要求を行う撮像要求工程と、
前記複数の要求に対して認識処理タスクを割り当てるタスク割り当て工程と、
前記複数の要求に基づく毎回の撮像完了時に前記認識処理タスクの優先順位を設定又は更新する設定工程とを備え、
前記認識処理タスクの認識終了毎に前記優先順位に従って、次に実行すべき認識処理タスクを選定し、当該次の認識処理タスクに移行する進行管理工程と、
認識処理タスクの実行順を記憶する実行可能キューへの認識処理タスクの接続順位を並び替える接続順位補正工程を備え、
前記接続順位補正工程は、
前記複数の要求に基づくそれぞれの撮像画像の認識処理に要する画像認識処理時間及び前記複数の要求に基づくそれぞれの撮像画像の認識処理について目標とする画像認識処理終了時刻とに基づいて、前記複数の要求に基づくそれぞれの撮像画像の認識処理の遅延時間を求め、それぞれの前記遅延時間の合計が低減するように認識処理タスクを並び替えることを特徴とする画像処理方法。
An arithmetic processing unit;
An image input unit capable of parallel processing with the arithmetic processing unit and connected to a plurality of cameras;
An image memory for storing image data;
In an image processing method performed by an image processing apparatus that processes a plurality of image data obtained by continuously imaging the plurality of cameras asynchronously,
An imaging request step for making an imaging request for imaging by the camera in response to a plurality of requests for executing imaging and recognition processing of the captured image;
A task assignment step for assigning recognition processing tasks to the plurality of requests;
A setting step for setting or updating the priority order of the recognition processing task at the time of completion of each imaging based on the plurality of requests,
A progress management step of selecting a recognition processing task to be executed next in accordance with the priority every time recognition of the recognition processing task is finished, and shifting to the next recognition processing task;
A connection order correction step for rearranging the connection order of the recognition processing tasks to the executable queue for storing the execution order of the recognition processing tasks;
The connection order correction step includes:
Based on the image recognition processing time required for the recognition processing of each captured image based on the plurality of requests and the target image recognition processing end time for the recognition processing of each captured image based on the plurality of requests, An image processing method comprising: obtaining a delay time of recognition processing of each captured image based on a request, and rearranging the recognition processing tasks so that a total of the delay times is reduced.
前記接続順位補正工程は、
前記複数のカメラの中で2番目以降の順番で連続撮像を行うカメラの連続撮像における最初の撮像の露光完了をトリガとして認識処理タスクの並び替えを実行することを特徴とする請求項5記載の画像処理方法。
The connection order correction step includes:
6. The rearrangement of recognition processing tasks is executed by using the completion of exposure of the first imaging in a continuous imaging of a camera that performs continuous imaging in the second and subsequent orders among the plurality of cameras as a trigger. Image processing method.
JP2013051290A 2013-03-14 2013-03-14 Image processing apparatus and image processing method Active JP6075912B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013051290A JP6075912B2 (en) 2013-03-14 2013-03-14 Image processing apparatus and image processing method
CN201410096426.1A CN104052926B (en) 2013-03-14 2014-03-14 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051290A JP6075912B2 (en) 2013-03-14 2013-03-14 Image processing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JP2014178801A JP2014178801A (en) 2014-09-25
JP6075912B2 true JP6075912B2 (en) 2017-02-08

Family

ID=51505259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051290A Active JP6075912B2 (en) 2013-03-14 2013-03-14 Image processing apparatus and image processing method

Country Status (2)

Country Link
JP (1) JP6075912B2 (en)
CN (1) CN104052926B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6519656B2 (en) * 2015-07-24 2019-05-29 富士通株式会社 Manufacturing process control system, manufacturing process control method and manufacturing process control program
CN106453834B (en) * 2016-09-07 2019-08-27 努比亚技术有限公司 Mobile terminal and camera image pickup method
KR102527925B1 (en) * 2017-11-29 2023-05-03 에스케이하이닉스 주식회사 Memory system and operating method thereof
JP2019161249A (en) * 2018-03-07 2019-09-19 Juki株式会社 Image processing device, mounting device, image processing method, and program
JP6890101B2 (en) * 2018-04-13 2021-06-18 日東電工株式会社 An image identification device and an article manufacturing device equipped with an image identification device
JP7030964B2 (en) * 2018-05-11 2022-03-07 富士フイルム株式会社 Shooting system
JP2020080119A (en) 2018-11-14 2020-05-28 日本電信電話株式会社 Processing request management device, processing request management method, and program
JP7236939B2 (en) * 2019-06-03 2023-03-10 日立Astemo株式会社 Control device and control method
JP7405564B2 (en) * 2019-11-06 2023-12-26 Juki株式会社 Image processing device, sewing machine, and image processing method
CN110913138B (en) * 2019-11-28 2021-03-02 Oppo广东移动通信有限公司 Continuous shooting method, device, terminal and computer readable storage medium
TWI800983B (en) 2021-11-16 2023-05-01 華碩電腦股份有限公司 Method for image processing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284437A (en) * 1986-05-31 1987-12-10 Nec Corp Task control system
US5394548A (en) * 1992-10-09 1995-02-28 Fujitsu Limited Multi-media scheduling system
JP3215264B2 (en) * 1994-06-29 2001-10-02 科学技術庁航空宇宙技術研究所長 Schedule control apparatus and method
JP2006065844A (en) * 1995-10-26 2006-03-09 Matsushita Electric Ind Co Ltd File system
JP3762519B2 (en) * 1997-06-30 2006-04-05 松下電器産業株式会社 Component recognition method, component recognition device, and component mounting device
JPH11232401A (en) * 1998-02-10 1999-08-27 Dainippon Printing Co Ltd Card information rewriting device
JP4091289B2 (en) * 2001-10-31 2008-05-28 株式会社東芝 X-ray computed tomography system
EP1526685A1 (en) * 2003-10-24 2005-04-27 International University Bremen Gmbh Inter-Cell Interference mitigation technique using reservation indicators
JP2007074425A (en) * 2005-09-07 2007-03-22 Juki Corp Camera switching system
JP2007102399A (en) * 2005-10-03 2007-04-19 Seiko Epson Corp Data processor
JP5381142B2 (en) * 2009-02-12 2014-01-08 株式会社ニコン Imaging device and imaging apparatus
US20120229481A1 (en) * 2010-12-13 2012-09-13 Ati Technologies Ulc Accessibility of graphics processing compute resources
US9727385B2 (en) * 2011-07-18 2017-08-08 Apple Inc. Graphical processing unit (GPU) implementing a plurality of virtual GPUs

Also Published As

Publication number Publication date
CN104052926B (en) 2018-12-11
JP2014178801A (en) 2014-09-25
CN104052926A (en) 2014-09-17

Similar Documents

Publication Publication Date Title
JP6075912B2 (en) Image processing apparatus and image processing method
JP4095032B2 (en) Method and apparatus for scheduling requests to a dynamic random access memory device
KR102450528B1 (en) System and method of application aware efficient io scheduler
US20130290974A1 (en) Workflow control of reservations and regular jobs using a flexible job scheduler
US8521930B1 (en) Method and apparatus for scheduling transactions in a host-controlled packet-based bus environment
JP2007012929A (en) Method for checking interference of surface mounting machine, device for checking interference, surface mounting machine with the device and mounting system
EP2988583A1 (en) Substrate working device, substrate working method, and substrate working system
JP2010016115A (en) Component mounting method
JP2013142949A (en) Device and method for processing image
JP6476196B2 (en) Maintenance guidance system and maintenance guidance method
JP5130030B2 (en) Electronic component mounting device
JP6448766B2 (en) Mounting apparatus and mounting method
JP4750664B2 (en) Component mounting method
JP5969789B2 (en) Electronic component mounting equipment
CN111930488B (en) Priority inheritance method and system for task scheduling of operating system
JP6139948B2 (en) Component mounting equipment
JP5794856B2 (en) Electronic component mounting apparatus and electronic component mounting method
JP3762519B2 (en) Component recognition method, component recognition device, and component mounting device
CN112165562B (en) Object photographing method and device in carrying process
JP4712287B2 (en) Electronic component mounting apparatus and electronic component mounting method
JP7088809B2 (en) Work work device, work work system, and control method of work work device
JP7474988B2 (en) Component mounting system and control method for component mounting machine
JP2013239665A (en) Component mounting apparatus
JP5659255B2 (en) Component mounting apparatus, component mounting method, mounting program, and setup method in component mounting apparatus
JP2010097985A (en) Method for controlling surface mounting device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170107

R150 Certificate of patent or registration of utility model

Ref document number: 6075912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150