JP2023127798A - Device for executing simulation of flaw detection of workpiece, method of executing the simulation and program of realizing the simulation - Google Patents
Device for executing simulation of flaw detection of workpiece, method of executing the simulation and program of realizing the simulation Download PDFInfo
- Publication number
- JP2023127798A JP2023127798A JP2022031704A JP2022031704A JP2023127798A JP 2023127798 A JP2023127798 A JP 2023127798A JP 2022031704 A JP2022031704 A JP 2022031704A JP 2022031704 A JP2022031704 A JP 2022031704A JP 2023127798 A JP2023127798 A JP 2023127798A
- Authority
- JP
- Japan
- Prior art keywords
- settings
- workpiece
- camera
- light source
- simulation
- 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.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 125
- 238000001514 detection method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000003384 imaging method Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 15
- 239000000463 material Substances 0.000 claims description 13
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 239000011347 resin Substances 0.000 description 3
- 229920005989 resin Polymers 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 239000000123 paper Substances 0.000 description 2
- 206010052428 Wound Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
Landscapes
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
Description
本開示は、ワークの傷検出のシミュレーションに関し、より特定的には、シミュレーションの結果に基づいてワークの傷を検出するための各種設定を出力する技術に関する。 The present disclosure relates to a simulation for detecting flaws on a workpiece, and more specifically, to a technique for outputting various settings for detecting flaws on a workpiece based on simulation results.
工場の製造ライン等において、ワークの傷または欠けを検出するためにカメラおよび画像処理装置を用いたシステムまたは検査装置が使用されている。ワークの傷を適切に検出するためには、事前にカメラの配置および画像処理の設定等を調整する必要がある。従来技術では、ワークの傷の検出処理等を含むシミュレーションを行うことができなかったため、スタッフが現場で長い時間をかけて、カメラの配置および画像処理の設定等を調整していた。そのため、より簡単にワークの傷または欠けを検出するシステムを構築するための技術が必要とされている。 2. Description of the Related Art Systems or inspection devices using cameras and image processing devices are used in factory production lines and the like to detect scratches or chips on workpieces. In order to properly detect scratches on a workpiece, it is necessary to adjust camera placement, image processing settings, etc. in advance. With conventional technology, it was not possible to perform simulations that included detection of scratches on workpieces, so staff spent a long time on site adjusting camera placement, image processing settings, etc. Therefore, there is a need for a technology for constructing a system that more easily detects scratches or chips on a workpiece.
ワークの傷を検出するための技術に関し、例えば、特開2019-158499号公報(特許文献1)は、外観検査システムを開示しており、それは「撮像条件決定部と経路決定部とを備える。撮像条件決定部は、複数の検査対象位置のうちの少なくとも1つの検査対象位置について、ワークと撮像装置との間の相対位置を含む複数の撮像条件候補を決定する。経路決定部は、予め定められた要件を満たすように、複数の撮像条件候補のうちいずれか1つの撮像条件を選択することにより、複数の検査対象位置を順次撮像するための、撮像条件の変更経路を決定する」というものである([要約]参照)。 Regarding the technology for detecting flaws on a workpiece, for example, Japanese Patent Application Laid-Open No. 2019-158499 (Patent Document 1) discloses an appearance inspection system, which "includes an imaging condition determining section and a route determining section. The imaging condition determination section determines a plurality of imaging condition candidates including a relative position between the workpiece and the imaging device for at least one inspection target position among the plurality of inspection target positions. By selecting one of the plurality of imaging condition candidates so as to satisfy the specified requirements, a path for changing the imaging conditions is determined in order to sequentially image multiple inspection target positions. (See [Summary]).
特許文献1に開示された技術によると、ラインを構築するまで、ワークの傷を検出するシステムの検証を行うことができない。したがって、ワークの傷または欠けを検出するシステムを構築するためのシミュレーション技術が必要とされている。
According to the technique disclosed in
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ワークの傷または欠けを検出するシステムを構築するためのシミュレーション技術を提供することにある。 The present disclosure has been made in view of the above background, and an objective in one aspect is to provide a simulation technique for constructing a system for detecting scratches or chips on a workpiece.
ある実施の形態に従うと、ワークの傷検出のシミュレーションを実行する装置が提供される。装置は、3D空間に配置されるカメラの設定を受け付けるカメラ設定部と、3D空間の光源の設定を受け付ける光源設定部と、ワークの設定を受け付けるワーク設定部と、3D空間でのワークの動作を再現するシミュレーション実行部と、ワークの設定に基づいて、ワークが他の物体と衝突した場合に、ワークに傷を生成する傷生成部と、カメラの設定および光源の設定に基づいて、ワークを撮像する撮像部と、画像認識エンジンを用いて撮像されたワークの画像から傷を検出する画像認識部と、シミュレーション実行部が、異なるカメラの設定および光源の設定の組み合わせを用いてシミュレーションを複数回実行した場合に、画像認識部の傷検出の正答率に基づいて、出力するカメラの設定および光源の設定を選択する設定選択部と、選択されたカメラの設定および光源の設定を出力する出力部とを備える。 According to an embodiment, an apparatus for simulating flaw detection on a workpiece is provided. The device includes a camera setting unit that accepts settings for a camera placed in 3D space, a light source setting unit that accepts settings for a light source in 3D space, a work setting unit that accepts settings for a workpiece, and a workpiece setting unit that accepts settings for a workpiece in 3D space. A simulation execution unit that reproduces the work, a scratch generation unit that generates scratches on the work when the work collides with another object based on the work settings, and an image of the work based on the camera settings and light source settings. an image recognition unit that uses an image recognition engine to detect flaws from images of the workpiece, and a simulation execution unit that executes the simulation multiple times using different combinations of camera settings and light source settings. a setting selection section that selects camera settings and light source settings to be output based on the correct answer rate of flaw detection by the image recognition section when Equipped with
この開示によれば、装置は、3D空間でのワークの傷検出のシミュレーション結果に基づいて、カメラおよび光源の設定を出力する。ユーザは、装置が出力したカメラおよび光源の設定を参照することで、工場の製造ライン等を実際に構築する前に、当該製造ライン等で使用するワークの傷検出システムの構成を検討または決定し得る。 According to this disclosure, the apparatus outputs camera and light source settings based on simulation results of detecting flaws on a workpiece in 3D space. By referring to the camera and light source settings output by the device, the user can consider or decide the configuration of the workpiece flaw detection system to be used on the production line, etc., before actually constructing the production line, etc. of the factory. obtain.
上記の開示において、装置は、画像認識エンジンの設定を調整する画像認識設定部をさらに備える。設定選択部は、画像認識部が画像認識エンジンの異なる設定を用いてワークの傷の検出処理を複数回実行した場合に、画像認識部の傷検出の正答率に基づいて、出力する画像認識エンジンの設定を選択する。出力部は、選択された画像認識エンジンの設定を出力する。 In the above disclosure, the device further includes an image recognition setting section that adjusts settings of the image recognition engine. The setting selection section selects an image recognition engine that outputs an image based on the correct answer rate of flaw detection by the image recognition section when the image recognition section executes flaw detection processing on the workpiece multiple times using different settings of the image recognition engine. Select settings. The output unit outputs the settings of the selected image recognition engine.
この開示によれば、装置は、3D空間でのワークの傷検出のシミュレーション結果に基づいて、画像認識エンジンの設定を出力する。ユーザは、装置が出力した画像認識エンジンの設定を参照することで、工場の製造ライン等を実際に構築する前に、当該製造ライン等で使用する画像認識エンジンの設定を調整し得る。 According to this disclosure, the apparatus outputs the settings of the image recognition engine based on the simulation result of detecting flaws on a workpiece in 3D space. By referring to the settings of the image recognition engine output by the device, the user can adjust the settings of the image recognition engine used in the production line or the like in the factory before actually constructing the production line or the like.
上記の開示において、カメラ設定部は、カメラの識別情報の入力と、識別情報に関連付けられたカメラの設定項目の入力とを受け付け可能に構成される。 In the above disclosure, the camera setting unit is configured to be able to receive input of camera identification information and input of camera setting items associated with the identification information.
この開示によれば、装置は、シミュレーションで使用するカメラの設定の入力を事前に受け付けることができる。 According to this disclosure, the device can receive in advance input of camera settings used in simulation.
上記の開示において、光源設定部は、1つ以上のライトの設定と、環境光の設定とを受付可能に構成される。 In the above disclosure, the light source setting unit is configured to be able to accept settings for one or more lights and settings for ambient light.
この開示によれば、装置は、シミュレーションで使用する光源の設定の入力を事前に受け付けることができる。 According to this disclosure, the device can receive in advance input of settings for light sources used in simulation.
上記の開示において、ワーク設定部は、ワークの材質の設定、生成されるワークの数の設定、ワークが置かれる環境の設定、および、ワークの3Dモデルデータの一部または全てを受付可能に構成される。 In the above disclosure, the workpiece setting unit is configured to be able to accept settings for the material of the workpiece, settings for the number of generated workpieces, settings for the environment in which the workpiece is placed, and some or all of the 3D model data for the workpiece. be done.
この開示によれば、装置は、シミュレーションで使用するワークの設定および3Dモデルデータの入力を事前に受け付けることができる。 According to this disclosure, the apparatus can receive in advance the settings of a workpiece to be used in simulation and the input of 3D model data.
上記の開示において、傷生成部は、ワークを構成するポリゴンまたはメッシュを変化させることにより、ワークに傷を生成する。 In the above disclosure, the flaw generation unit generates flaws on the workpiece by changing polygons or meshes that constitute the workpiece.
この開示によれば、装置は、ワークを構成するポリゴンまたはメッシュを変化させることにより、ワークに傷を生成することができる。 According to this disclosure, the device can generate scratches on the workpiece by changing the polygons or meshes that make up the workpiece.
他の実施の形態に従うと、コンピュータがワークの傷検出のシミュレーションを実行するための方法が提供される。方法は、3D空間に配置されるカメラの設定を受け付けるステップと、3D空間の光源の設定を受け付けるステップと、ワークの設定を受け付けるステップと、3D空間でのワークの動作を再現するシミュレーションを実行するステップと、ワークの設定に基づいて、ワークが他の物体と衝突した場合に、ワークに傷を生成するステップと、カメラの設定および光源の設定に基づいて、ワークを撮像するステップと、撮像されたワークの画像から傷を検出するステップと、異なるカメラの設定および光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、傷の検出の正答率に基づいて、出力するカメラの設定および光源の設定を選択するステップと、選択されたカメラの設定および光源の設定を出力するステップとを備える。 According to another embodiment, a method is provided for a computer to perform a simulation of flaw detection on a workpiece. The method includes the following steps: accepting settings for a camera placed in 3D space, accepting settings for a light source in 3D space, accepting settings for a workpiece, and executing a simulation to reproduce the movement of the workpiece in 3D space. a step of generating a scratch on the workpiece when the workpiece collides with another object based on the settings of the workpiece; a step of imaging the workpiece based on the camera settings and the light source setting; The step of detecting flaws from images of the workpiece, and the camera settings to be output based on the correct answer rate for flaw detection when simulations using combinations of different camera settings and light source settings are executed multiple times. and selecting a light source setting; and outputting the selected camera setting and light source setting.
この開示によれば、上記の方法を実行する装置は、3D空間でのワークの傷検出のシミュレーション結果に基づいて、カメラおよび光源の設定を出力する。ユーザは、装置が出力したカメラおよび光源の設定を参照することで、工場の製造ライン等を実際に構築する前に、当該製造ライン等で使用するワークの傷検出システムの構成を検討または決定し得る。 According to this disclosure, an apparatus that performs the above method outputs camera and light source settings based on a simulation result of detecting flaws on a workpiece in 3D space. By referring to the camera and light source settings output by the device, the user can consider or decide the configuration of the workpiece flaw detection system to be used on the production line, etc., before actually constructing the production line, etc. of the factory. obtain.
さらに、他の実施の形態に従うと、コンピュータにワークの傷検出のシミュレーションを実行させるためのプログラムが提供される。プログラムは、3D空間に配置されるカメラの設定を受け付けるステップと、3D空間の光源の設定を受け付けるステップと、ワークの設定を受け付けるステップと、3D空間でのワークの動作を再現するシミュレーションを実行するステップと、ワークの設定に基づいて、ワークが他の物体と衝突した場合に、ワークに傷を生成するステップと、カメラの設定および光源の設定に基づいて、ワークを撮像するステップと、撮像されたワークの画像から傷を検出するステップと、異なるカメラの設定および光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、傷の検出の正答率に基づいて、出力するカメラの設定および光源の設定を選択するステップと、選択されたカメラの設定および光源の設定を出力するステップとをコンピュータに実行させる。 Furthermore, according to another embodiment, a program for causing a computer to execute a simulation of detecting flaws on a workpiece is provided. The program includes a step of receiving settings for a camera placed in 3D space, a step of receiving settings of a light source in 3D space, a step of receiving settings of a workpiece, and a simulation that reproduces the movement of the workpiece in 3D space. a step of generating a scratch on the workpiece when the workpiece collides with another object based on the settings of the workpiece; a step of imaging the workpiece based on the camera settings and the light source setting; The step of detecting flaws from images of the workpiece, and the camera settings to be output based on the correct answer rate for flaw detection when simulations using combinations of different camera settings and light source settings are executed multiple times. and causing the computer to execute the steps of selecting a light source setting and outputting the selected camera setting and light source setting.
この開示によれば、上記のプログラムを実行する装置は、3D空間でのワークの傷検出のシミュレーション結果に基づいて、カメラおよび光源の設定を出力する。ユーザは、装置が出力したカメラおよび光源の設定を参照することで、工場の製造ライン等を実際に構築する前に、当該製造ライン等で使用するワークの傷検出システムの構成を検討または決定し得る。 According to this disclosure, a device that executes the above program outputs camera and light source settings based on a simulation result of detecting flaws on a workpiece in 3D space. By referring to the camera and light source settings output by the device, the user can consider or decide the configuration of the workpiece flaw detection system to be used on the production line, etc., before actually constructing the production line, etc. of the factory. obtain.
ある実施の形態に従うと、ワークの傷または欠けを検出するシステムを構築するためのシミュレーション技術を提供することが可能である。 According to an embodiment, it is possible to provide a simulation technique for building a system for detecting flaws or chips in a workpiece.
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。 These and other objects, features, aspects, and advantages of the disclosure will become apparent from the following detailed description of the disclosure, taken in conjunction with the accompanying drawings.
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the technical idea according to the present disclosure will be described with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
<A.適用例>
図1は、本実施の形態に従う装置100によるシミュレーションの概要の一例を示す図である。図1を参照して、装置100の機能について説明する。
<A. Application example>
FIG. 1 is a diagram illustrating an example of an overview of a simulation performed by an
装置100は、シミュレータ110を備える。ある局面において、シミュレータ110は、ソフトウェアによって実現され得る。この場合、シミュレータ110は、図2に示される装置100のハードウェア上でプログラムが実行されることで実現され得る。他の局面において、シミュレータ110は、一部または全てをハードウェアにより実現されてもよい。
The
なお、本明細書において、「装置」との用語は、1または複数の装置からなる構成、サーバ、クラウド環境に構築された仮想マシンもしくはコンテナ、または、これらの少なくとも一部から構成されるシステムを包含する。また、装置は、パーソナルコンピュータ、ワークステーション、サーバ装置、タブレット、スマートフォン等の情報処理装置と、PLC(Programmable Logic Controller)とを含んでいてもよく、また、これらの組合せであってもよい。ある局面において、装置100は、ディスプレイおよびキーボード等の入出力機器と接続されて、ユーザに使用されてもよい。他の局面において、装置100は、ネットワークを介して、クラウドサービスまたはウェブアプリケーションとして、ユーザに各種機能を提供してもよい。この場合、ユーザは、自身の端末にインストールされたブラウザまたはクライアントソフトウェアを介して、装置100の機能を使用し得る。
Note that in this specification, the term "device" refers to a configuration consisting of one or more devices, a server, a virtual machine or container built in a cloud environment, or a system consisting of at least a portion of these. include. Further, the device may include an information processing device such as a personal computer, a workstation, a server device, a tablet, or a smartphone, and a PLC (Programmable Logic Controller), or may be a combination thereof. In one aspect, the
(a.装置100の機能の概要)
装置100(シミュレータ110)は、ワーク150の傷160を検出するためのシミュレーション機能を提供する。当該シミュレーション機能は、第1の機能(ワーク150への傷160の生成をシミュレートする機能)と、第2の機能(ワーク150の傷160の検出をシミュレートする機能)とを含む。本明細書において、「ワーク」との用語は、工場の製造ライン等において、搬送、検査、加工またはその他の任意の処理を施される対象物を意味する。また、ワークは、任意の素材により構成されていてもよい。一例として、ワークは、金属、樹脂、紙、食品、その他の任意の素材、または、これらの組合せにより構成されていてもよい。また、ワークは、任意の形状であってもよい。一例として、ワークは、金属または樹脂等からなる箱等の硬質な物体であってもよいし、フィルム等の柔軟な物体であってもよい。さらに、ワークの色は、任意の色であってもよく、半透明、透明であってもよい。
(a. Overview of functions of device 100)
The device 100 (simulator 110) provides a simulation function for detecting
第1の機能(ワーク150への傷160の生成をシミュレートする機能)は、3D空間10において、ワーク150が他のオブジェクトとぶつかった場合にワーク150に仮想的な傷160を生成する機能である。
The first function (a function that simulates the generation of
通常、画像認識エンジンを用いてワーク150の傷160を検出する場合、サンプル画像を画像認識エンジンに入力して、画像認識エンジンを調整する必要がある。しかしながら、従来のシミュレーション技術では、3D空間10内でワーク150の傷160を再現できなかったため、ユーザは、製造ライン等(以下、「ライン」と呼ぶ)の構築前に、画像認識エンジンの調整に必要なワーク150に生じ得る様々な傷160(ひび割れ、ひっかき傷、欠け、へこみ等)のサンプルを十分に収集することができなかった。
Normally, when detecting the
ユーザは、第1の機能(ワーク150への傷160の生成をシミュレートする機能)を用いることで、形状および材質の異なるワーク150A,150B,150C,150D(総称するときは単に「ワーク150」と呼ぶ)の、それぞれの傷160A,160B,160C,160D(総称するときは単に「傷160」と呼ぶ)の画像のサンプルを取得することができる。なお、現実には、ワーク150ごとに複数の種類の傷160が生じ得るので、ユーザは各ワークの一つ以上の傷160の画像のサンプルを取得できる。装置100は、シミュレーションにより、ワーク150ごとに生じ得る様々な傷160(1)、160(2)~160(N)のサンプルを生成し得る。
By using the first function (the function of simulating the generation of
第2の機能(ワーク150の傷160の検出をシミュレートする機能)は、3D空間10において仮想的なカメラ102および光源103を用いてワーク150を撮像し、さらに、画像認識エンジンを用いて当該撮像されたワーク150の傷160を検出する機能である。本明細書において、「光源」との用語は、任意のライト、自然光、反射光、その他の光、および、これらの組合せを包含する。また、装置100(シミュレータ110)は、3D空間10に、1つ以上の(複数の)光源103を配置する機能を備えていてもよい。さらに、装置100は、光源となるライトの種類を選択する機能を提供し得る。光源の種類は、スポットライト、ドーム状のライト等の任意の種類のライト、ライトおよびその反射光の組合せ等を含み得る。
The second function (a function that simulates detection of a
ユーザは、第2の機能(ワーク150の傷160の検出をシミュレートする機能)を用いることで、ラインを実際に構築することなく、カメラ102の選定、カメラ102の設定の調整およびカメラ102の配置の検討を行い得る。また、ユーザは、ラインを実際に構築することなく、光源(ライト)103の選定、光源103の設定の調整および光源103の配置の検討を行い得る。さらに、ユーザは、ラインを実際に構築することなく、画像認識エンジンの設定も行い得る。
By using the second function (a function that simulates detection of
すなわち、ユーザは、装置100を用いることで、ラインの構築前に、ワーク150の傷160を検出するためのシステムの構成を決定し得る。ここでの「ワークの傷を検出するためのシステムの構成」は、例えば、カメラ102の選定、カメラ102の設定の調整、カメラ102の配置、光源(ライト)103の選定、光源103の設定、光源103の配置、画像認識エンジンの設定の一部または全てを含む。
That is, by using the
(b.装置100の動作手順の概要)
次に、上記の第1の機能(ワーク150への傷160の生成をシミュレートする機能)および第2の機能(ワーク150の傷160の検出をシミュレートする機能)を実現するための装置100の動作手順について説明する。なお、下記の動作手順は一例であり、各処理の順番は任意に入れ替えられてもよいし、複数の処理が同時に実行されてもよい。
(b. Outline of operation procedure of device 100)
Next, an
第1のステップにおいて、装置100は、UI(User Interface)300(図3参照)を介して、ワーク150の設定の入力を受け付ける。一例として、ワーク150の設定は、ワーク150の材質、ワーク150の数、ワーク150の配置、および使用するワーク150の3Dモデルデータの指定等を含み得る。ある局面において、ワーク150の設定は、ワーク150が配置される場所の環境設定(温度、湿度等)を含んでいてもよい。なお、装置100は、ワーク150の設定とは別に、環境設定として、ワーク150が配置される場所の環境設定(温度、湿度等)の入力を受け付けてもよい。
In the first step, the
第2のステップにおいて、装置100は、UI300を介して、カメラ102の設定の入力を受け付ける。一例として、カメラ102の設定は、カメラ102の識別情報、カメラ102の各種設定、カメラ102の配置を含み得る。カメラ102の識別情報は、カメラ102の型番等を特定できる情報である。カメラの各種設定は、ISO感度、絞り(F値)、シャッター速度等の任意の設定を含み得る。カメラ102の配置は、3D空間10内でのカメラ102もしくはカメラ102のレンズの配置である。ある局面において、装置100は、選択されたカメラ102の識別情報に基づいて、UI300に表示されるカメラ102の各種設定の項目を変更してもよい。他の局面において、装置100は、複数のカメラ102の設定の入力を受け付けてもよい。この場合、装置100は、3D空間10に2台以上のカメラ102を配置する。
In the second step, the
第3のステップにおいて、装置100は、光源103の設定の入力を受け付ける。一例として、光源103の設定は、光源103の識別情報、光源103の各種設定、光源103の配置、環境光の設定を含み得る。光源103の識別情報は、光源103の型番等を特定できる情報である。光源103の各種設定は、輝度等の任意の設定を含み得る。光源103の配置は、3D空間10内での光源103の配置である。環境光は、光源103以外の任意の光源であり、ラインが設置される工場の窓から入る光、工場に元からあるライトの光等を含み得る。ある局面において、装置100は、選択された光源103の識別情報に基づいて、UI300に表示される光源103の各種設定の項目を変更してもよい。他の局面において、装置100は、複数の光源103の設定の入力を受け付けてもよい。この場合、装置100は、3D空間10に2つ以上の光源103を配置する。
In the third step, the
第4のステップにおいて、装置100は、入力されたワーク150の設定に基づいて、ワーク150の衝突シミュレーションを実行する。一例として、装置100は、3D空間10において、1つ以上のワーク150を地面に落下させることにより、衝突シミュレーションを行ってもよい。他の例において、装置100は、3D空間10において、1つ以上のワーク150が入った容器を揺らすことにより、衝突シミュレーションを行ってもよい。さらに、他の例において、装置100は、3D空間10において、構築予定のラインを再現し、ライン上でワーク150に発生し得る各種衝突を再現することで、衝突シミュレーションを行ってもよい。
In the fourth step, the
第5のステップにおいて、装置100は、第4のステップにて実行された衝突シミュレーションに基づいて、1つ以上のワーク150に傷160を生成する。装置100は、衝突シミュレーションにおいて、予め定められた閾値以上の力がワーク150に加わった場合に、ワーク150に傷160を生成する。ある局面において、装置100は、ワーク150の材質に基づいて予め定められた閾値を決定してもよい。他の局面において、装置100は、ワーク150の設定の一部として、予め定められた閾値の入力を受け付けてもよい。装置100は、ワーク150の3Dモデルデータの形状を変化させることにより、ワーク150に傷160を生成する。例えば、装置100は、ワーク150の3Dモデルデータを構成するポリゴンまたはメッシュの一部を変形または削除することで、ワーク150の傷160を生成(再現)し得る。ある局面において、装置100は、ワーク150の傷160の十分なサンプル画像が取得できるまで、第5のステップおよび第6のステップを繰り返し実行してもよい。例えば、装置100は、UI300を介して入力された衝突シミュレーションの実行回数分、第5のステップおよび第6のステップを繰り返し実行してもよい。もしくは、UI300を介して入力されたサンプル画像の取得予定数分のサンプル画像が取得できるまで、第5のステップおよび第6のステップを繰り返し実行してもよい。
In the fifth step, the
第6のステップにおいて、装置100は、入力されたカメラ102の設定および光源103の設定に基づいて、3D空間10内で1つ以上のワーク150を撮像する。装置100は、撮像によって得られた画像に傷160が映っているか否かのフラグを関連付けて、当該画像を1次記憶装置2(図2参照)および/または2次記憶装置3(図2参照)に格納する。さらに、装置100は、入力されたカメラ102の設定および光源103の設定の少なくとも一部を変更しながら、シミュレーションを繰り返し実行し得る。
In the sixth step, the
第7のステップにおいて、装置100は、画像認識エンジンを用いて撮像によって得られた画像を解析し、傷160を検出する。装置100は、本ステップにおいて、デフォルトの画像認識エンジンの設定またはUI300を介して入力された画像認識エンジンの設定に基づいて、画像を解析して傷160を検出する。また、装置100は、1枚以上の画像を解析したときの画像認識エンジンの正答率を算出する。装置100は、画像認識エンジンがある画像を解析したときに、第6のステップにてある画像に関連付けられたフラグと、画像認識エンジンの出力結果とを比較して、画像認識エンジンの解析結果が正しいか否かを判定し得る。
In the seventh step, the
ある局面において、装置100は、画像認識エンジンの正答率が予め定められた第1の基準に達するまで、カメラ102の設定および/または光源103の設定を変更して、第4のステップ~第7のステップを繰り返し実行してもよい。例えば、装置100は、UI300を介して入力された正答率(第1の基準)に達するまで、第4のステップ~第7のステップを繰り返し実行してもよい。また、他の局面において、装置100は、第1の基準に達するカメラ102の設定および光源103の設定の複数の組合せを発見するまで、第4のステップ~第7のステップを繰り返し実行してもよい。繰り返しの際に、装置100は、入力されたカメラ102の設定、光源103の設定の少なくとも一部を変更しながら、シミュレーションを繰り返し実行する。これにより、装置100は、デフォルト設定の画像認識エンジンの正答率が高くなるカメラ102の設定および光源103の設定を発見し得る。さらに、他の局面において、装置100は、UI300を介して入力された予め定められた実行回数に達するまで、第4のステップ~第7のステップを繰り返し実行してもよい。
In one aspect, the
第8のステップにおいて、装置100は、画像認識エンジンの設定を調整する。ある局面において、装置100は、画像認識エンジンの正答率が予め定められた第2の基準に達するまで、画像認識エンジンの設定を変更して、第8のステップを繰り返し実行してもよい。なお、装置100は、UI300を介して、正答率(第2の基準)の入力を事前に受け付けてもよい。他の局面において、装置100は、第2の基準に達する画像認識エンジンの設定を複数発見するまで、第8のステップを繰り返し実行してもよい。これにより、装置100は、第7のステップまでの処理により得られたカメラ102の設定および光源103の設定を用いた撮像された画像に対して傷160の検出率が高い画像認識エンジンの設定を発見し得る。また、他の局面において、装置100は、UI300を介して入力された予め定められた実行回数に達するまで、第8のステップを繰り返し実行してもよい。さらに、他の局面において、装置100は、UI300を介して入力された画像認識エンジンの設定を変更しながら、第8のステップを繰り返し実行してもよい。
In an eighth step, the
第9のステップにおいて、装置100は、ワーク150の傷160の検出率が高くなる設定の組合せ(カメラ102の設定、光源103の設定、画像認識エンジンの設定の組合せ)を選択する。ある局面において、装置100は、ワーク150の傷160の検出率が高くなる設定の組合せを1つだけ選択してもよいし、複数の組合せを選択してもよい。
In the ninth step, the
第10のステップにおいて、装置100は、第9のステップにて選択した設定の組合せを出力する。ある局面において、装置100は、装置100に接続されたディスプレイに設定の組合せを表示してもよい。他の局面において、装置100は、ネットワークを介して、他の装置に選択した設定の組合せに関する情報を送信してもよい。さらに、他の局面において、装置100は、出力データに画像認識エンジンの設定を含めずに、傷160の検出率の高いカメラ102、光源103の設定の組み合わせのみを含めて、当該出力データを出力してもよい。例えば、装置100は、UI300を介して、ユーザから出力データに含める設定の種類を指定する入力を予め受け付けてもよい。ユーザは、予め一定以上の精度がある画像認識エンジンの設定を有する場合等に、画像認識エンジンの設定を出力データに含めないことで、第8のステップを省略してシミュレーションの実行結果を早く取得することができる。
In the tenth step, the
上記の一連の処理を行うことで、装置100は、デフォルト設定の画像認識エンジンの正答率が高くなるカメラ102の設定および光源103の設定を発見し得る。すなわち、装置100は、画像認識エンジンにとってワーク150の傷160を検出しやすい画像を取得可能なカメラ102の設定および光源103の設定を発見し得る。さらに、装置100は、選択されたカメラ102の設定および光源103の設定を用いて撮像される画像に対して傷160の検出率が高い画像認識エンジンの設定を発見し得る。ユーザは、これらの設定の組み合わせを反映したラインを構築することで、ワーク150の傷160を高精度に検出し得るラインまたは傷検出システムを実現し得る。
By performing the above series of processes, the
<B.装置の構成>
次に、図2および図3を参照して、本実施の形態に従う装置100のハードウェア構成および機能構成について説明する。
<B. Device configuration>
Next, the hardware configuration and functional configuration of the
図2は、本実施の形態に従う装置100のハードウェア構成の一例を示す図である。装置100は、CPU(Central Processing Unit)1と、1次記憶装置2と、2次記憶装置3と、外部機器インターフェイス4と、入力インターフェイス5と、出力インターフェイス6と、通信インターフェイス7とを含む。
FIG. 2 is a diagram showing an example of the hardware configuration of the
CPU1は、装置100の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。CPU1は、2次記憶装置3から1次記憶装置2に読み込まれたシミュレータ110を実行することで、図1を参照して説明された各種機能を実現し得る。
The
1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。
The
2次記憶装置3は、不揮発性メモリーであり、シミュレータ110を含むCPU1によって実行されるプログラムおよびCPU1によって参照されるデータを格納してもよい。その場合、CPU1は、2次記憶装置3から1次記憶装置2に読み出されたプログラムを実行し、2次記憶装置3から1次記憶装置2に読み出されたデータを参照する。ある局面において、2次記憶装置3は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリー等によって実現されてもよい。
The
外部機器インターフェイス4は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。
The
入力インターフェイス5は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力インターフェイス5は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。
出力インターフェイス6は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力インターフェイス6は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。
The
通信インターフェイス7は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス7は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス7は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信してもよい。
The
ある局面において、シミュレータ110は、単独のソフトウェアとして実現されてもよいし、他のライブラリまたはソフトウェアと協業するように実現されてもよいし、制御装置200のプログラムを開発するためのIDE(Integrated Development Environment)のアドインまたは一機能として実現されてもよい。制御装置200は、例えば、PLC(Programmable Logic Controller)、または、ロボット制御機能およびPLC機能の両方を有する統合制御装置等である。
In some aspects, the
他の局面において、制御装置200にシミュレータ110の一部または全ての機能がインストールされてもよい。この場合、装置100は、UI300をユーザに提供して、ユーザから受け付けた設定およびシミュレーションの実行命令を制御装置200に送信する。制御装置200は、受信した設定および実行命令に基づいて、シミュレーションを実行し、シミュレーションの結果としてワーク150の傷160の検出率が高くなる設定の組合せ(カメラ102の設定、光源103の設定、画像認識エンジンの設定の組合せ)を装置100に送信する。
In other aspects, some or all of the functions of the
図3は、本実施の形態に従う装置100の機能ブロックの一例を示す図である。図3に示される各機能ブロックは、シミュレータ110を構成するプログラムモジュール、ライブラリ等として実現され得る。ある局面において、図3に示される各機能ブロックの一部は、ハードウェアとして実現されてもよい。この場合、装置100は、図3に示される各機能ブロックの一部を実現するためのハードウェア構成をさらに備える。
FIG. 3 is a diagram showing an example of functional blocks of the
シミュレータ110は、主な機能ブロックとして、UI300と、ワーク設定部301と、カメラ設定部302と、光源設定部303と、3D(Dimensional)エンジン304と、シミュレーション実行部305と、衝突判定部306と、傷生成部307と、撮像部308と、画像認識部309と、画像認識設定部310と、設定選択部311と、出力部312とを備える。ある局面において、シミュレータ110は、3Dエンジン304を備える代わりに、外部の3Dエンジンを使用してもよい。
The
UI300は、シミュレータ110の各種機能をユーザに提供する。一例として、UI300は、ワーク150の設定画面、カメラ102の設定画面、光源103の設定画面、シミュレーションの設定画面、シミュレーションの実行状態を表示する画面、シミュレーションの結果を表示する画面、および、シミュレータ110の機能に関連する任意の画面を含み得る。シミュレータ110は、UI300を介して、ユーザに各種設定およびシミュレーションに関する情報を表示し、さらに、ユーザからの各種設定の入力を受け付け得る。また、シミュレータ110は、UI300を介して、シミュレーションに使用する各種3Dモデルデータ(ワーク150のモデル、カメラ102のモデル、光源(ライト)103のモデル、構築予定のラインを構成する各部品のモデル、それ以外の任意のモデル等)のインポート操作を受け付け得る。
The
ワーク設定部301は、UI300を介して入力されたワーク150の設定を取得し、当該ワーク150の設定をシミュレーション実行部305に出力する。また、ワーク設定部301は、入力された設定情報を2次記憶装置3に格納する。ワーク設定部301は、過去に登録された1つ以上のワーク150の設定情報を2次記憶装置3から読み出して、UI300(ワーク設定画面)に表示してもよい。ユーザは、ワーク設定画面上でワーク150の設定情報を新たに入力することができる。また、ユーザは、ワーク設定画面上で過去に登録された1つ以上のワーク150の設定情報のいずれかを選択してもよい。さらに、ユーザは、ワーク設定画面上で過去に登録された1つ以上のワーク150の設定情報のいずれかを選択して、当該選択されたワーク150の設定情報を編集することもできる。
The
カメラ設定部302は、UI300を介して入力されたカメラ102の設定を取得し、当該カメラ102の設定をシミュレーション実行部305に出力する。また、カメラ設定部302は、入力された設定情報を2次記憶装置3に格納する。カメラ設定部302は、過去に登録された1つ以上のカメラ102の設定情報を2次記憶装置3から読み出して、UI300(カメラ設定画面)に表示してもよい。ユーザは、カメラ設定画面上でカメラ102の設定情報を新たに入力することができる。また、ユーザは、カメラ設定画面上で過去に登録された1つ以上のカメラ102の設定情報のいずれかを選択してもよい。さらに、ユーザは、カメラ設定画面上で過去に登録された1つ以上のカメラ102の設定情報のいずれかを選択して、当該選択されたカメラ102の設定情報を編集することもできる。
The
光源設定部303は、UI300を介して入力された光源103の設定を取得し、当該光源103の設定をシミュレーション実行部305に出力する。また、光源設定部303は、入力された設定情報を2次記憶装置3に格納する。光源設定部303は、過去に登録された1つ以上の光源103の設定情報を2次記憶装置3から読み出して、UI300(光源設定画面)に表示してもよい。ユーザは、光源設定画面上で光源103の設定情報を新たに入力することができる。また、ユーザは、光源設定画面上で過去に登録された1つ以上の光源103の設定情報のいずれかを選択してもよい。さらに、ユーザは、光源設定画面上で過去に登録された1つ以上の光源103の設定情報のいずれかを選択して、当該選択された光源103の設定情報を編集することもできる。
The light
3Dエンジン304は、3D空間10を再現する。3Dエンジン304は、3D空間10の表示および3D空間10内におけるオブジェクトの動き等の物理計算を実行する。3Dエンジン304は、ライブラリまたはランタイム等として、シミュレーション実行部305により参照されてもよい。
シミュレーション実行部305は、ワーク150の設定情報およびシミュレーションの設定情報に基づいて、シミュレーションを実行する。シミュレーション実行部305は、シミュレータ110にインポートされた3Dモデルデータを用いた任意のシミュレーションを実行し得る。一例として、シミュレーション実行部305は、3D空間10において、1つ以上のワーク150を地面に落下させることにより、衝突シミュレーションを行ってもよい。他の例において、シミュレーション実行部305は、3D空間10において、1つ以上のワーク150が入った容器を揺らすことにより、衝突シミュレーションを行ってもよい。また、他の例において、シミュレーション実行部305は、3D空間10において、構築予定のラインを再現し、ライン上でワーク150に発生し得る各種衝突を再現することで、衝突シミュレーションを行ってもよい。シミュレーション実行部305は、シミュレーションの設定に基づいて、設定された回数に到達するまでシミュレーションを繰り返し実行してもよいし、カメラ102が出力する画像の数が設定された枚数に到達するまでシミュレーションを繰り返し実行してもよい。さらに、シミュレーション実行部305は、カメラ設定部302から取得した設定および光源設定部303から取得した設定を変更しながら、シミュレーションを繰り返し実行し得る。
The
衝突判定部306は、シミュレーションの中で、ワーク150ごとに衝突が発生したか否かを判定する。より具体的には、衝突判定部306は、衝突の有無以外に、ワーク150ごとに衝突が発生した箇所、衝突によりワーク150にかかる力(ワーク150に対するダメージ)を算出する。衝突判定部306は、ワーク150ごとの衝突の有無、衝突が発生した箇所、衝突によりワーク150にかかる力(ワーク150に対するダメージ)に関する情報を傷生成部307に出力する。衝突判定部306は、衝突によりワーク150にかかる力の算出に、ワーク150の設定情報を使用する。
The
傷生成部307は、衝突判定部306から取得した情報に基づいて、各ワーク150に傷160を生成する。例えば、傷生成部307は、ワーク150の3Dモデルデータのポリゴンまたはメッシュを変形させることにより、ワーク150に傷160を生成する。
The
撮像部308は、3D空間10に配置された仮想的なカメラ102を用いて、ワーク150を撮像する。撮像部308は、撮像によって得られた画像を2次記憶装置3に格納する。撮像部308は、カメラ102の設定および光源103の設定に基づいて、撮像処理を実行する。撮像部308は、生成された画像に、画像内に傷160のあるワーク150が含まれるか否かを示すフラグを関連付ける。なお、撮像部308は、衝突判定部306の出力結果(ワーク150ごとの衝突情報)または傷生成部307の出力結果(ワーク150ごとの傷160の情報)を参照することで、生成された画像に傷160があるワーク150が含まれるか否かを判定し得る。
The
画像認識部309は、画像認識エンジンを用いて、撮像部308によって撮像された画像内に傷160があるワーク150が存在するか否かを判定する。画像認識部309は、判定結果を画像認識設定部310に出力する。
The
画像認識設定部310は、画像認識部309が出力した判定結果の正答率が予め定められた基準に到達していない場合、画像認識エンジンの設定を変更して、画像認識部309に画像認識の実行要求を再度送信する。なお、画像認識設定部310は、画像に関連付けられたフラグと、画像認識エンジンの出力結果とを比較して、画像認識エンジンの解析結果が正しいか否かを判定し得る。
If the correct answer rate of the determination result output by the
設定選択部311は、画像認識部309が画像認識エンジンの異なる設定を用いてワーク150の傷の160検出処理を複数回実行した場合に、画像認識部309が出力した判定結果の正答率に基づいて、画像認識部309が出力した判定結果の正答率が最も高くなる設定の組み合わせ(カメラ102の設定、光源103の設定、画像認識エンジンの設定)を選択する。
The
出力部312は、設定選択部311が選択した設定の組合せを出力する。ある局面において、出力部312は、装置100に接続されたディスプレイに設定の組合せを表示してもよい。他の局面において、出力部312は、ネットワークを介して、他の装置に選択した設定の組合せに関する情報を送信してもよい。さらに、他の局面において、出力部312は、出力データに画像認識エンジンの設定を含めずに、傷160の検出率の高いカメラ102、光源103の設定の組み合わせのみを含めて、当該出力データを出力してもよい。例えば、装置100は、UI300を介して、ユーザから出力データに含める設定の種類を指定する入力を予め受け付けてもよい。ユーザは、予め一定以上の精度がある画像認識エンジンの設定を有する場合等に、画像認識エンジンの設定を出力データに含めないことで、シミュレーションの実行結果を早く取得することができる。
The
<C.ユーザーインターフェイス>
次に、図4~図13を参照して、本実施の形態に従うシミュレータ110が提供するUI300の一例について説明する。ある局面において、シミュレータ110は、装置100に接続されたディスプレイに図4~図13に示される各画面を表示してもよい。他の局面において、シミュレータ110は、ネットワークを介して、他の装置に図4~図13に示される各画面の情報を送信してもよい。
<C. User interface>
Next, an example of the
図4は、第1のワーク設定画面400の一例を示す図である。第1のワーク設定画面400は、主な項目として、ワーク150の3Dモデルデータの表示401と、環境設定項目410と、3Dモデルデータの設定項目420A,420B(総称する場合は「3Dモデルデータの設定項目420」と呼ぶ)とを含む。なお、図4に示される画面は一例であり、第1のワーク設定画面400は、任意の数の3Dモデルデータの設定項目420を含んでいてもよい。
FIG. 4 is a diagram showing an example of the first
環境設定項目410は、温度または湿度等のワーク150の周囲の任意の環境情報を設定可能に構成される。3Dモデルデータの設定項目420は、シミュレーションに使用される任意の3Dモデルデータの設定(材質、質量、摩擦係数、傷の入る力の閾値等)を編集可能に構成される。なお、3Dモデルデータの設定項目420は、ワーク150以外の任意のオブジェクト(ラインを構成する部品等)の設定も編集可能に構成される。3Dモデルデータの表示401は、3Dモデルデータの設定項目420に表示されている3Dモデルデータを表示する。図4の例では、3Dモデルデータの表示401内に、3Dモデルデータの設定項目420Aに対応するワーク150Aと、3Dモデルデータの設定項目420Bに対応する150Bとが表示されている。
The
図5は、第2のワーク設定画面500の一例を示す図である。シミュレータ110は、ダイアログ形式の第1のワーク設定画面400の他に、エディタ形式の第2のワーク設定画面500を提供してもよい。第2のワーク設定画面500は、シミュレーションのプログラムおよび/またはスクリプトを記述可能に構成される。ユーザは、エディタ形式の第2のワーク設定画面500を用いることで、少ない記述量で大量のワーク150を複製および使用するようなシミュレーションの設定を作成し得る。
FIG. 5 is a diagram showing an example of the second
ある局面において、各ワーク設定画面は、ワークの素材、形状、色、透過性等を設定可能に構成されてもよい。一例として、ユーザは、各ワークの設定画面を介して、各ワーク150の素材(金属、樹脂、紙、食品、その他の任意の素材、または、これらの組合せ等)と、ワーク150の形状(硬質な箱等の形状、柔軟性のあるフィルム等の形状、その他の任意の形状)と、ワークの色(任意の色または任意の色の組合せ、透明度等)を設定可能に構成されてもよい。 In one aspect, each workpiece setting screen may be configured to allow setting of the material, shape, color, transparency, etc. of the workpiece. As an example, the user can set the material of each work 150 (metal, resin, paper, food, any other material, or a combination thereof, etc.) and the shape of the work 150 (hard The shape of a flexible box, shape of a flexible film, or any other arbitrary shape) and the color of the workpiece (any color or combination of colors, transparency, etc.) may be settable.
図6は、シミュレーションの実行画面600,610,620の一例を示す図である。シミュレータ110は、入力されたワーク150の設定に基づいて、ワーク150の衝突シミュレーションを実行する。また、シミュレータ110は、シミュレーションの実行画面を出力する。シミュレーションの実行画面はUI300の一部として提供され得る。例えば、シミュレーションの実行画面600,610,620は、複数のワーク150が落下し、複数のワーク150が互いにまたは地面に衝突するシミュレーションの様子を示している。
FIG. 6 is a diagram showing an example of
図7は、ワーク150の傷160の表示の一例を示す図である。シミュレータ110は、ワーク150に傷160ができたと判定すると、ワーク150の表面の傷160が有る場所のポリゴンまたはメッシュ等を変形して傷160を生成(再現)する。例えば、シミュレータ110は、傷160のある箇所のポリゴンを削除することで、ワーク150の表面に傷160を表すくぼみを作成してもよい。シミュレータ110は、シミュレーションの実行画面上の各ワーク150に対して傷160を生成し、生成された傷160をシミュレーションの実行画面(例えばシミュレーションの実行画面600,610,620)上に表示する。
FIG. 7 is a diagram showing an example of a display of a
図8は、カメラ設定画面800の表示の一例を示す図である。カメラ設定画面800は、主な項目として、カメラ102のレンズから見た3D空間10の表示810と、カメラ102を含む3D空間10の俯瞰表示840と、カメラ102の設定項目820とを含む。ユーザは、カメラ102のレンズから見た3D空間10の表示810および/またはカメラ102を含む3D空間10の俯瞰表示840を参照しながら、3D空間10におけるカメラ102の位置を調整し得る。設定項目820は、カメラ102を識別可能な情報と、カメラ102の解像度、輝度、ISO、焦点距離、輝度、画素サイズ、画角、視野、描画距離等の任意の設定と、カメラ102の配置とを設定可能に構成される。ある局面において、カメラ102を識別可能な情報は、任意のID、カメラ102の型番等であってもよい。他の局面において、シミュレータ110は、カメラ102を識別可能な情報に基づいて、設定項目820に表示される設定を変更してもよい。ユーザがカメラ102の設定項目820を編集することにより、シミュレータ110は、カメラ102のレンズから見た3D空間10の表示810および/またはカメラ102を含む3D空間10の俯瞰表示840を更新し得る。
FIG. 8 is a diagram showing an example of a display of the
図9は、光源設定画面900の表示の一例を示す図である。光源設定画面900は、主な項目として、ワーク150を含む3D空間10の表示910と、光源103の設定項目920とを含む。ユーザは、表示910を参照しながら、3D空間10における光源103の位置を調整し得る。
FIG. 9 is a diagram showing an example of a display of the light source setting screen 900. The light source setting screen 900 includes a display 910 of the
設定項目920は、光源103を識別可能な情報と、光源103の位置(または方向)、色合い、彩度、輝度等の任意の設定と、環境光の任意の設定とを入力可能に構成される。ある局面において、光源103を識別可能な情報は、任意のID、光源(ライト)103の型番等であってもよい。他の局面において、シミュレータ110は、光源103を識別可能な情報に基づいて、設定項目920に表示される設定を変更してもよい。ユーザが光源103の設定項目920を編集することにより、シミュレータ110は、表示910を更新し得る。
The setting item 920 is configured to allow input of information that allows identification of the
ある局面において、設定項目920は、複数の(2つ以上の)光源103を選択可能に構成されてもよい。また、設定項目920は、光源103の種類(スポットライト、ドーム状のライト、その他の任意のライト)を選択可能に構成されてもよい。さらに、設定項目920は、光源103に、選択されたライトの反射光を含めるか否かを選択可能に構成されてもよい。ユーザは、光源103に反射光を含めることで、光沢のあるワーク150および透明なワーク150等の反射の影響を受けやすいタイプのワーク150に最適な光源103を選択し得る。
In one aspect, the setting item 920 may be configured to allow selection of a plurality of (two or more)
図9の例では、ユーザは、ライトの回転設定項目930を用いて光源103の位置を調整し得る。より具体的には、ユーザは、光源103を示す点935を円936上で動かすことにより、3D空間10における光源103の位置を調整し得る。なお、円の中心は、ワーク150がある場所を示す。光源103が移動した場合の表示910の変化は図10,図11に示す通りである。
In the example of FIG. 9, the user may adjust the position of
図10は、光源を第1の位置に設定した場合の光源設定画面900Aの表示の一例を示す図である。図11は、光源を第2の位置に設定した場合の光源設定画面900Bの表示の一例を示す図である。光源設定画面900Aでは、点935は、円936上の第1の位置1010に存在する。光源設定画面900Bでは、点935は、円936上の第2の位置1110に存在する。表示910A,910Bを比較すると、光源103の配置が変化することで、3D空間10内のワーク150の見え方が大きく変化していることがわかる。光源103の位置および輝度等が変化することで、カメラ102によって得られる画像も変化する。その結果、画像認識エンジンの解析結果の正答率も変化する。ある局面において、光源設定画面900は、ワーク150のフィルタの設定項目1000を含んでいてもよい。ユーザは、フィルタの設定項目1000からフィルタを選択することで、ワーク150の見た目を変更し得る。
FIG. 10 is a diagram showing an example of the display of the light source setting screen 900A when the light source is set to the first position. FIG. 11 is a diagram showing an example of the display of the light source setting screen 900B when the light source is set to the second position. In the light source setting screen 900A, a point 935 exists at a first position 1010 on a circle 936. In the light source setting screen 900B, the point 935 exists at a second position 1110 on the circle 936. Comparing the displays 910A and 910B, it can be seen that the appearance of the
図12は、カメラ102の絞り(F値)の影響の一例を示す図である。図12を参照すると、絞り(F値)が変化することで、カメラ102の焦点にも影響が出ていることがわかる。カメラ設定画面800において、絞り(F値)等が調整されることにより、カメラ102は、画像認識エンジンがワーク150の傷160を検出しやすい画像を出力し得る。
FIG. 12 is a diagram showing an example of the influence of the aperture (F number) of the
図13は、画像認識設定画面1300の一例を示す図である。画像認識設定画面1300は、主な項目として、画像の表示1310と、画像認識エンジンの設定項目1320とを含む。ユーザは、画像の表示1310および画像内の傷160の検出結果を参照しながら、画像認識エンジンの設定を調整し得る。
FIG. 13 is a diagram showing an example of an image
ある局面において、シミュレータ110は、ユーザが画像認識設定画面1300に入力した設定を画像認識エンジンのデフォルトの設定として使用してもよい。他の局面において、シミュレータ110は、画像認識エンジンの設定の調整処理(図1における第8のステップ)において、画像認識エンジンの設定を自動で調整する代わりに、画像認識設定画面1300を介して、ユーザから画像認識エンジンの設定の変更入力を受け付けてもよい。
In some aspects,
<D.フローチャート>
図14は、装置100(シミュレータ110)によるシミュレーションの実行手順の一例を示す図である。ある局面において、CPU1は、図14の処理を行うためのプログラムを2次記憶装置3から1次記憶装置2に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
<D. Flowchart>
FIG. 14 is a diagram showing an example of a simulation execution procedure by the device 100 (simulator 110). In a certain aspect, the
ステップS1405において、装置100は、ワーク設定画面を表示する。ここでのワーク設定画面は、第1のワーク設定画面400および/または第2のワーク設定画面500に相当する。なお、ワーク設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。
In step S1405, the
ステップS1410において、装置100は、ワーク150の設定を受け付ける。一例として、装置100は、ワーク150の材質、質量、摩擦係数、傷の入る力の閾値、個数等をワーク150の設定として受け付け得る。また、装置100は、ワーク150の周囲の環境情報(温度、湿度等)の入力を受け付けてもよい。
In step S1410, the
ステップS1415において、装置100は、カメラ設定画面を表示する。ここでのカメラ設定画面は、カメラ設定画面800に相当する。なお、カメラ設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。
In step S1415, the
ステップS1420において、装置100は、カメラ102の設定を受け付ける。一例として、装置100は、カメラ102を識別可能な情報、カメラ102の解像度、輝度、ISO、焦点距離、輝度、画素サイズ、画角、視野、描画距離、配置等をカメラ102の設定として受け付け得る。
In step S1420, the
ステップS1425において、装置100は、光源設定画面を表示する。ここでの光源設定画面は、光源設定画面900に相当する。なお、光源設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。
In step S1425, the
ステップS1430において、装置100は、光源103の設定を受け付ける。一例として、装置100は、光源103を識別可能な情報と、光源103の位置(または方向)、色合い、彩度、輝度等を光源103の設定として受け付け得る。
In step S1430, the
ステップS1435において、装置100は、3D空間10において、各ワーク150の動きをシミュレートする。より具体的には、装置100は、ステップS1410にて入力されたワーク150の設定に基づいて、3D空間10内に1つ以上のワーク150を生成し、各ワーク150の衝突シミュレーションを実行する。また、装置100は、シミュレーションの実行画面(シミュレーションの実行画面600~620に相当)を出力する。
In step S1435, the
ステップS1440において、装置100は、当たり判定に基づいて、各ワーク150に傷を生成する。より具体的には、装置100は、ワーク150の設定に基づいて、ワーク150にある一定以上(閾値以上)の力が加わったと判定した場合、ワーク150に傷を生成する。装置100は、ワーク150の3Dモデルデータの形状を変化させることにより(ポリゴンまたはメッシュ等を変化させることにより)、ワーク150の傷160を表現する。本ステップの処理は、図7の処理に相当する。
In step S1440, the
ステップS1445において、装置100は、3D空間10に配置したカメラ102で、ワーク150を撮像する。より具体的には、装置100は、カメラ102の設定に基づいて、カメラ102を3D空間10に配置する。また、装置100は、カメラ102の設定に基づいて、カメラ102の設定を調整する。装置100は、配置および設定の調整を行ったカメラ102を用いて、ワーク150を撮像して、1枚以上の画像を生成する。
In step S1445, the
ステップS1450において、装置100は、画像認識エンジンにより、画像から傷を検出する。画像認識エンジンは、3D空間10内に配置されたカメラ102から得られた1枚以上の画像を解析して、当該1枚以上の画像に映ったワーク150上の傷160を検出する。
In step S1450, the
ステップS1455において、装置100は、撮像および画像認識を規定回数繰り返したか否かを判定する。ある局面において、装置100は、UI300を介して、撮像および画像認識を実行する回数の入力をシミュレーションの設定の一部としてユーザから受け付けてもよい。装置100は、撮像および画像認識を規定回数繰り返したと判定した場合(ステップS1455にてYES)、制御をステップS1465に移す。そうでない場合(ステップS1455にてNO)、装置100は、制御をステップS1460に移す。
In step S1455, the
ステップS1460において、装置100は、カメラ102および光源103の設定を変更する。装置100は、カメラ102および光源103の設定を変更して、ステップS1440~S1450までの処理を繰り返し実行することで、デフォルト設定の画像認識エンジンが傷160を検出しやすいカメラ102および光源103の設定を発見し得る。
In step S1460, the
ステップS1465において、装置100は、画像認識エンジンの設定を調整する。より具体的には、装置100は、ステップS1440~S1460までの処理により得られた画像に対して、画像認識エンジンの設定を調整しながら、ワーク150の傷160を検出する処理を繰り返し実行する。これにより、装置100は、より傷160の検出率が高い画像認識エンジンの設定を発見し得る。ある局面において、装置100は、ステップS1450の処理の実行結果から、デフォルト設定の画像認識エンジンが傷160を最も検出しやすいカメラ102および光源103の設定を選択してもよい。そして、装置100は、選択されたカメラ102および光源103の設定を用いて撮像された1枚以上の画像に対して、本ステップの処理を実行してもよい。他の局面において、装置100は、ステップS1450の処理で使用された全てのカメラ102および光源103の設定の各々を用いて撮像された1枚以上の画像に対して、本ステップの処理を実行してもよい。本ステップの処理により、装置100は、傷160の検出率が高い画像認識エンジンの設定を発見し得る。
In step S1465, the
ステップS1470において、装置100は、カメラ102、光源103、画像認識エンジンの設定の組み合わせを出力する。より具体的には、装置100は、ステップS1440~S1465までの処理の結果に基づいて、最も傷160の検出率の高いカメラ102、光源103、画像認識エンジンの設定の組み合わせを出力する。ある局面において、装置100は、ステップS1440~S1465までの処理の結果に基づいて、傷160の検出率の高いカメラ102、光源103、画像認識エンジンの設定の組み合わせを複数個出力してもよい。さらに、他の局面において、装置100は、出力データに画像認識エンジンの設定を含めずに、傷160の検出率の高いカメラ102、光源103の設定の組み合わせのみを含めて、当該出力データを出力してもよい。例えば、装置100は、UI300を介して、ユーザから出力データに含める設定の種類を指定する入力を予め受け付けてもよい。ユーザは、予め一定以上の精度がある画像認識エンジンの設定を有する場合等に、画像認識エンジンの設定を出力データに含めないことで、ステップS1465を省略してシミュレーションの実行結果を早く取得することができる。
In step S1470, the
ある局面において、装置100は、装置100に接続されたディスプレイにワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面を表示してもよい。他の局面において、装置100は、ワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面の情報をユーザの端末に送信してもよい。この場合、ユーザの端末はブラウザまたはクライアントソフトウェアにより、ワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面をディスプレイに表示し得る。
In one aspect, the
以上説明した通り、本実施の形態に従う装置100は、3D空間10内でワーク150の衝突シミュレーションを行い、ワーク150に仮想的な傷160を生成する。また、装置100は、入力されたカメラ102の設定および光源103の設定に基づいて、3D空間10内でワーク150の傷160を撮像する。また、装置100は、画像内の傷160の検出処理を繰り返し実行して、画像認識エンジンの設定を調整する。さらに、装置100は、シミュレーションの実行結果に基づいて、ワーク150の傷160の検出率が高いカメラ102、光源103、画像認識エンジンの設定の組み合わせを出力する。ユーザは、出力された設定の組み合わせを参照することで、ラインの構築前であっても、ラインで使用されるカメラ、光源、画像認識エンジンの設定を検討または調整し得る。
As described above, the
<E.付記>
以上のように、本実施の形態は以下のような開示を含む。
[構成1]
ワーク(150)の傷(160)検出のシミュレーションを実行する装置(100)であって、
3D空間(10)に配置されるカメラの設定を受け付けるカメラ設定部(302)と、
上記3D空間(10)の光源の設定を受け付ける光源設定部(303)と、
上記ワーク(150)の設定を受け付けるワーク設定部(301)と、
上記3D空間(10)での上記ワーク(150)の動作を再現するシミュレーション実行部(305)と、
上記ワーク(150)の設定に基づいて、上記ワーク(150)が他の物体と衝突した場合に、上記ワーク(150)に傷(160)を生成する傷生成部(307)と、
上記カメラの設定および上記光源の設定に基づいて、上記ワーク(150)を撮像する撮像部(308)と、
画像認識エンジンを用いて撮像された上記ワーク(150)の画像から上記傷(160)を検出する画像認識部(309)と、
上記シミュレーション実行部(305)が、異なる上記カメラの設定および上記光源の設定の組み合わせを用いてシミュレーションを複数回実行した場合に、上記画像認識部(309)の傷(160)検出の正答率に基づいて、出力する上記カメラの設定および上記光源の設定を選択する設定選択部(311)と、
選択された上記カメラの設定および上記光源の設定を出力する出力部(312)とを備える、装置(100)。
[構成2]
上記画像認識エンジンの設定を調整する画像認識設定部(310)をさらに備え、
上記設定選択部(311)は、上記画像認識部(309)が上記画像認識エンジンの異なる設定を用いて上記ワーク(150)の上記傷(160)の検出処理を複数回実行した場合に、上記画像認識部(309)の傷(160)検出の正答率に基づいて、出力する上記画像認識エンジンの設定を選択し、
上記出力部(312)は、選択された上記画像認識エンジンの設定を出力する、構成1に記載の装置(100)。
[構成3]
上記カメラ設定部(302)は、上記カメラの識別情報の入力と、上記識別情報に関連付けられた上記カメラの設定項目の入力とを受け付け可能に構成される、構成1または2に記載の装置(100)。
[構成4]
上記光源設定部(303)は、1つ以上のライトの設定と、環境光の設定とを受付可能に構成される、構成1~3のいずれか1項に記載の装置(100)。
[構成5]
上記ワーク設定部(301)は、上記ワーク(150)の材質の設定、生成される上記ワーク(150)の数の設定、上記ワーク(150)が置かれる環境の設定、および、上記ワーク(150)の3Dモデルデータの一部または全てを受付可能に構成される、構成1~4のいずれか1項に記載の装置(100)。
[構成6]
上記傷生成部(307)は、上記ワーク(150)を構成するポリゴンまたはメッシュを変化させることにより、上記ワーク(150)に上記傷(160)を生成する、構成1~5のいずれか1項に記載の装置(100)。
[構成7]
コンピュータがワーク(150)の傷(160)検出のシミュレーションを実行するための方法であって、
3D空間(10)に配置されるカメラの設定を受け付けるステップと、
上記3D空間(10)の光源の設定を受け付けるステップと、
上記ワーク(150)の設定を受け付けるステップと、
上記3D空間(10)での上記ワーク(150)の動作を再現するシミュレーションを実行するステップと、
上記ワーク(150)の設定に基づいて、上記ワーク(150)が他の物体と衝突した場合に、上記ワーク(150)に傷(160)を生成するステップと、
上記カメラの設定および上記光源の設定に基づいて、上記ワーク(150)を撮像するステップと、
撮像された上記ワーク(150)の画像から上記傷(160)を検出するステップと、
異なる上記カメラの設定および上記光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、上記傷(160)の検出の正答率に基づいて、出力する上記カメラの設定および上記光源の設定を選択するステップと、
選択された上記カメラの設定および上記光源の設定を出力するステップとを備える、方法。
[構成8]
コンピュータにワーク(150)の傷(160)検出のシミュレーションを実行させるためのプログラムであって、
3D空間(10)に配置されるカメラの設定を受け付けるステップと、
上記3D空間(10)の光源の設定を受け付けるステップと、
上記ワーク(150)の設定を受け付けるステップと、
上記3D空間(10)での上記ワーク(150)の動作を再現するシミュレーションを実行するステップと、
上記ワーク(150)の設定に基づいて、上記ワーク(150)が他の物体と衝突した場合に、上記ワーク(150)に傷(160)を生成するステップと、
上記カメラの設定および上記光源の設定に基づいて、上記ワーク(150)を撮像するステップと、
撮像された上記ワーク(150)の画像から上記傷(160)を検出するステップと、
異なる上記カメラの設定および上記光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、上記傷(160)の検出の正答率に基づいて、出力する上記カメラの設定および上記光源の設定を選択するステップと、
選択された上記カメラの設定および上記光源の設定を出力するステップとを上記コンピュータに実行させる、プログラム。
<E. Additional notes>
As described above, this embodiment includes the following disclosures.
[Configuration 1]
A device (100) that performs a simulation of detecting a flaw (160) on a workpiece (150),
a camera setting section (302) that accepts settings for a camera placed in the 3D space (10);
a light source setting section (303) that accepts settings for the light source of the 3D space (10);
a work setting section (301) that accepts settings for the work (150);
a simulation execution unit (305) that reproduces the operation of the workpiece (150) in the 3D space (10);
a flaw generation unit (307) that generates a flaw (160) on the work (150) when the work (150) collides with another object based on settings of the work (150);
an imaging unit (308) that images the workpiece (150) based on the camera settings and the light source settings;
an image recognition unit (309) that detects the flaw (160) from an image of the workpiece (150) captured using an image recognition engine;
When the simulation execution unit (305) executes the simulation multiple times using different combinations of the camera settings and the light source settings, the correct answer rate for detecting the flaw (160) of the image recognition unit (309) a settings selection unit (311) that selects settings of the camera and settings of the light source to be output based on the information;
An apparatus (100) comprising an output section (312) for outputting the selected settings of the camera and the settings of the light source.
[Configuration 2]
further comprising an image recognition setting section (310) that adjusts settings of the image recognition engine,
The setting selection unit (311) selects the flaw (160) of the workpiece (150) when the image recognition unit (309) executes the process of detecting the flaw (160) on the workpiece (150) multiple times using different settings of the image recognition engine. Selecting the settings of the image recognition engine to be output based on the correct answer rate of the flaw (160) detection by the image recognition unit (309),
The device (100) according to
[Configuration 3]
The camera setting unit (302) is the device according to
[Configuration 4]
The device (100) according to any one of
[Configuration 5]
The workpiece setting section (301) sets the material of the workpiece (150), sets the number of the workpieces (150) to be generated, sets the environment in which the workpiece (150) is placed, and sets the workpiece (150). ) The device (100) according to any one of
[Configuration 6]
The flaw generating unit (307) generates the flaw (160) on the workpiece (150) by changing polygons or meshes constituting the workpiece (150), according to any one of
[Configuration 7]
A method for a computer to perform a simulation of detecting a flaw (160) on a workpiece (150), the method comprising:
a step of accepting settings for a camera placed in the 3D space (10);
a step of receiving settings for a light source in the 3D space (10);
a step of accepting settings for the work (150);
executing a simulation that reproduces the movement of the workpiece (150) in the 3D space (10);
generating a scratch (160) on the workpiece (150) when the workpiece (150) collides with another object based on the settings of the workpiece (150);
capturing an image of the workpiece (150) based on the camera settings and the light source settings;
detecting the flaw (160) from the captured image of the workpiece (150);
When a simulation using a combination of different camera settings and light source settings is executed multiple times, the camera settings and the light source settings are output based on the correct answer rate for detecting the flaw (160). the step of selecting
outputting selected camera settings and light source settings.
[Configuration 8]
A program for causing a computer to execute a simulation of detecting a flaw (160) on a workpiece (150), the program comprising:
a step of accepting settings for a camera placed in the 3D space (10);
a step of receiving settings for a light source in the 3D space (10);
a step of accepting settings for the work (150);
executing a simulation that reproduces the movement of the workpiece (150) in the 3D space (10);
generating a scratch (160) on the workpiece (150) when the workpiece (150) collides with another object based on the settings of the workpiece (150);
capturing an image of the workpiece (150) based on the camera settings and the light source settings;
detecting the flaw (160) from the captured image of the workpiece (150);
When a simulation using a combination of different camera settings and light source settings is executed multiple times, the camera settings and the light source settings are output based on the correct answer rate for detecting the flaw (160). the step of selecting
A program that causes the computer to execute the step of outputting the selected camera settings and the light source settings.
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is indicated by the claims rather than the above description, and it is intended that all changes are included within the meaning and scope equivalent to the claims. Furthermore, the disclosures described in the embodiments and each modification are intended to be implemented alone or in combination to the extent possible.
1 CPU、2 1次記憶装置、3 2次記憶装置、4 外部機器インターフェイス、5 入力インターフェイス、6 出力インターフェイス、7 通信インターフェイス、10 3D空間、100 装置、102 カメラ、103 光源、110 シミュレータ、150 ワーク、160 傷、200 制御装置、301 ワーク設定部、302 カメラ設定部、303 光源設定部、304 3Dエンジン、305 シミュレーション実行部、306 衝突判定部、307 傷生成部、308 撮像部、309 画像認識部、310 画像認識設定部、311 設定選択部、312 出力部、400 第1のワーク設定画面、401 3Dモデルデータの表示、410 環境設定項目、420 3Dモデルデータの設定項目、500 第2のワーク設定画面、600,610,620 シミュレーションの実行画面、800 カメラ設定画面、810 カメラ102のレンズから見た3D空間10の表示、820,920,1320 設定項目、840 カメラ102を含む3D空間10の俯瞰表示、900,900A,900B 光源設定画面、910,1310 表示、930 回転設定項目、935 点、936 円、1000 フィルタの設定項目、1010 第1の位置、1110 第2の位置、1300 画像認識設定画面。
1 CPU, 2 Primary storage device, 3 Secondary storage device, 4 External device interface, 5 Input interface, 6 Output interface, 7 Communication interface, 10 3D space, 100 Device, 102 Camera, 103 Light source, 110 Simulator, 150 Work , 160 scratches, 200 control device, 301 work setting section, 302 camera setting section, 303 light source setting section, 304 3D engine, 305 simulation execution section, 306 collision determination section, 307 flaw generation section, 308 imaging section, 309 image recognition section , 310 image recognition setting section, 311 setting selection section, 312 output section, 400 first work setting screen, 401 3D model data display, 410 environment setting items, 420 3D model data setting items, 500 second work setting Screen, 600, 610, 620 Simulation execution screen, 800 Camera setting screen, 810 Display of
Claims (8)
3D空間に配置されるカメラの設定を受け付けるカメラ設定部と、
前記3D空間の光源の設定を受け付ける光源設定部と、
前記ワークの設定を受け付けるワーク設定部と、
前記3D空間での前記ワークの動作を再現するシミュレーション実行部と、
前記ワークの設定に基づいて、前記ワークが他の物体と衝突した場合に、前記ワークに傷を生成する傷生成部と、
前記カメラの設定および前記光源の設定に基づいて、前記ワークを撮像する撮像部と、
画像認識エンジンを用いて撮像された前記ワークの画像から前記傷を検出する画像認識部と、
前記シミュレーション実行部が、異なる前記カメラの設定および前記光源の設定の組み合わせを用いてシミュレーションを複数回実行した場合に、前記画像認識部の傷検出の正答率に基づいて、出力する前記カメラの設定および前記光源の設定を選択する設定選択部と、
選択された前記カメラの設定および前記光源の設定を出力する出力部とを備える、装置。 A device that performs a simulation of detecting scratches on a workpiece,
a camera setting section that accepts settings for cameras placed in 3D space;
a light source setting unit that accepts settings for a light source in the 3D space;
a work setting section that accepts settings for the work;
a simulation execution unit that reproduces the movement of the workpiece in the 3D space;
a flaw generation unit that generates flaws on the workpiece when the workpiece collides with another object based on settings of the workpiece;
an imaging unit that images the workpiece based on settings of the camera and settings of the light source;
an image recognition unit that detects the flaw from an image of the workpiece captured using an image recognition engine;
When the simulation execution unit executes the simulation multiple times using different combinations of the camera settings and the light source settings, the camera settings are output based on the correct answer rate of flaw detection of the image recognition unit. and a settings selection section that selects settings for the light source;
An apparatus comprising: an output unit that outputs selected settings of the camera and settings of the light source.
前記設定選択部は、前記画像認識部が前記画像認識エンジンの異なる設定を用いて前記ワークの前記傷の検出処理を複数回実行した場合に、前記画像認識部の傷検出の正答率に基づいて、出力する前記画像認識エンジンの設定を選択し、
前記出力部は、選択された前記画像認識エンジンの設定を出力する、請求項1に記載の装置。 further comprising an image recognition setting section that adjusts settings of the image recognition engine,
The setting selection unit is configured to select a method based on a correct answer rate of flaw detection by the image recognition unit when the image recognition unit executes the flaw detection process on the workpiece multiple times using different settings of the image recognition engine. , select the settings of the image recognition engine to output,
The apparatus according to claim 1, wherein the output unit outputs settings of the selected image recognition engine.
3D空間に配置されるカメラの設定を受け付けるステップと、
前記3D空間の光源の設定を受け付けるステップと、
前記ワークの設定を受け付けるステップと、
前記3D空間での前記ワークの動作を再現するシミュレーションを実行するステップと、
前記ワークの設定に基づいて、前記ワークが他の物体と衝突した場合に、前記ワークに傷を生成するステップと、
前記カメラの設定および前記光源の設定に基づいて、前記ワークを撮像するステップと、
撮像された前記ワークの画像から前記傷を検出するステップと、
異なる前記カメラの設定および前記光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、前記傷の検出の正答率に基づいて、出力する前記カメラの設定および前記光源の設定を選択するステップと、
選択された前記カメラの設定および前記光源の設定を出力するステップとを備える、方法。 A method for a computer to perform a simulation of flaw detection on a workpiece, the method comprising:
a step of accepting settings for a camera placed in the 3D space;
accepting settings for a light source in the 3D space;
a step of accepting settings of the work;
executing a simulation that reproduces the movement of the workpiece in the 3D space;
generating scratches on the workpiece when the workpiece collides with another object based on settings of the workpiece;
imaging the workpiece based on the camera settings and the light source settings;
Detecting the flaw from the captured image of the workpiece;
When a simulation using a combination of different camera settings and light source settings is executed multiple times, the camera settings and the light source settings to be output are selected based on the correct answer rate of the flaw detection. step and
outputting selected camera settings and light source settings.
3D空間に配置されるカメラの設定を受け付けるステップと、
前記3D空間の光源の設定を受け付けるステップと、
前記ワークの設定を受け付けるステップと、
前記3D空間での前記ワークの動作を再現するシミュレーションを実行するステップと、
前記ワークの設定に基づいて、前記ワークが他の物体と衝突した場合に、前記ワークに傷を生成するステップと、
前記カメラの設定および前記光源の設定に基づいて、前記ワークを撮像するステップと、
撮像された前記ワークの画像から前記傷を検出するステップと、
異なる前記カメラの設定および前記光源の設定の組み合わせを用いたシミュレーションが複数回実行された場合に、前記傷の検出の正答率に基づいて、出力する前記カメラの設定および前記光源の設定を選択するステップと、
選択された前記カメラの設定および前記光源の設定を出力するステップとを前記コンピュータに実行させる、プログラム。 A program for causing a computer to perform a simulation of detecting flaws on a workpiece,
a step of accepting settings for a camera placed in the 3D space;
accepting settings for a light source in the 3D space;
a step of accepting settings of the work;
executing a simulation that reproduces the movement of the workpiece in the 3D space;
generating scratches on the workpiece when the workpiece collides with another object based on settings of the workpiece;
imaging the workpiece based on the camera settings and the light source settings;
Detecting the flaw from the captured image of the workpiece;
When a simulation using a combination of different camera settings and light source settings is executed multiple times, the camera settings and the light source settings to be output are selected based on the correct answer rate of the flaw detection. step and
A program that causes the computer to execute the step of outputting the selected camera settings and the light source settings.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022031704A JP2023127798A (en) | 2022-03-02 | 2022-03-02 | Device for executing simulation of flaw detection of workpiece, method of executing the simulation and program of realizing the simulation |
PCT/JP2023/004323 WO2023166937A1 (en) | 2022-03-02 | 2023-02-09 | Device for executing workpiece defect detection simulation, method for executing said simulation, and program for executing said simulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022031704A JP2023127798A (en) | 2022-03-02 | 2022-03-02 | Device for executing simulation of flaw detection of workpiece, method of executing the simulation and program of realizing the simulation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023127798A true JP2023127798A (en) | 2023-09-14 |
Family
ID=87883366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022031704A Pending JP2023127798A (en) | 2022-03-02 | 2022-03-02 | Device for executing simulation of flaw detection of workpiece, method of executing the simulation and program of realizing the simulation |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023127798A (en) |
WO (1) | WO2023166937A1 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3300830B2 (en) * | 1995-07-12 | 2002-07-08 | 株式会社日立製作所 | Method and apparatus for inspecting defects such as foreign matter |
JP3675334B2 (en) * | 2000-11-15 | 2005-07-27 | Jfeスチール株式会社 | Surface inspection device |
JP6556266B2 (en) * | 2016-01-29 | 2019-08-07 | 富士フイルム株式会社 | Defect inspection apparatus, method and program |
JP6961394B2 (en) * | 2017-05-31 | 2021-11-05 | 株式会社キーエンス | Image inspection device, image inspection method, image inspection device setting method, image inspection program, image device setting inspection program, computer-readable recording medium, and recording equipment |
JP7028333B2 (en) * | 2018-03-05 | 2022-03-02 | オムロン株式会社 | Lighting condition setting method, equipment, system and program, and storage medium |
CN112567231A (en) * | 2018-06-29 | 2021-03-26 | 德尔塔瑞私人有限公司 | Inspection of articles by dynamically selecting projection angles |
US10796426B2 (en) * | 2018-11-15 | 2020-10-06 | The Gillette Company Llc | Optimizing a computer vision inspection station |
JP7134932B2 (en) * | 2019-09-09 | 2022-09-12 | 株式会社日立製作所 | Optical condition determination system and optical condition determination method |
-
2022
- 2022-03-02 JP JP2022031704A patent/JP2023127798A/en active Pending
-
2023
- 2023-02-09 WO PCT/JP2023/004323 patent/WO2023166937A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023166937A1 (en) | 2023-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7004145B2 (en) | Defect inspection equipment, defect inspection methods, and their programs | |
TWI670781B (en) | Iterative defect filtering process | |
US8139847B2 (en) | Defect inspection tool and method of parameter tuning for defect inspection tool | |
US8487992B2 (en) | Image processing device and image processing method | |
US9858728B2 (en) | Interactive tool for inspecting and repairing three dimensional models | |
US20180225408A1 (en) | System and method for interactive modeling and analysis of 3-d digital assemblies | |
JP6607261B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2007071678A (en) | Inspection system | |
US11170559B2 (en) | Sub-pixel data simulation system | |
US20210201474A1 (en) | System and method for performing visual inspection using synthetically generated images | |
CN105913481A (en) | Shadow rendering apparatus and control method thereof | |
JP2010049322A (en) | Image data generation device of simulation device | |
WO2021161853A1 (en) | Analysis device and analysis method | |
KR102515237B1 (en) | Systems and methods for creation of wafer inspection critical areas | |
WO2023166937A1 (en) | Device for executing workpiece defect detection simulation, method for executing said simulation, and program for executing said simulation | |
JP5790874B2 (en) | Shape change method | |
Kerbl et al. | Interactive disassembly planning for complex objects | |
US10410331B2 (en) | Computed tomography object inspection system | |
TW201800969A (en) | System and method for defining care areas in repeating structures of design data | |
CN113167568B (en) | Coordinate calculation device, coordinate calculation method, and computer-readable recording medium | |
US20210097341A1 (en) | Systems and methods for training image detection systems for augmented and mixed reality applications | |
KR20200002590A (en) | Inspection result presenting apparatus, inspection result presenting method and inspection result presenting program | |
Voloboi et al. | Testing of systems for illumination simulation and synthesis of realistic images | |
Susi | Interactive Architectural Visualization using Unreal Engine | |
JP5243635B2 (en) | Image data generation apparatus for simulation apparatus |