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 PDF

Info

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
Application number
JP2022031704A
Other languages
Japanese (ja)
Inventor
慎太郎 岩村
Shintaro Iwamura
直人 長谷川
Naoto Hasegawa
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2022031704A priority Critical patent/JP2023127798A/en
Priority to PCT/JP2023/004323 priority patent/WO2023166937A1/en
Publication of JP2023127798A publication Critical patent/JP2023127798A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating 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

To provide a simulation technique for constructing a system for detecting a flaw or chip of a workpiece.SOLUTION: A device 100 for simulation comprises: a camera setting unit which receives setting of a camera 102; a light source setting unit which receives setting of a light source 103; a workpiece setting unit which receives setting of a workpiece 150; a simulation execution unit which reproduces the operation of the workpiece 150; a flaw generation unit which generates a flaw 160 in the workpiece 150 when the workpiece 150 collides with another object; an imaging unit which images the workpiece 150; an image recognition unit which detects the flaw 160 from the captured image of the workpiece 150; a setting selection unit which selects setting of the camera 102 and setting of the light source 103 to be output on the basis of a correct answer rate of flaw detection when plural times of simulation are executed by using the combination of different setting of the camera 102 and setting of the light source 103; and an output unit which outputs the selected setting of the camera 102 and setting of the light source 103.SELECTED DRAWING: Figure 1

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]).

特開2019-158499号公報Japanese Patent Application Publication No. 2019-158499

特許文献1に開示された技術によると、ラインを構築するまで、ワークの傷を検出するシステムの検証を行うことができない。したがって、ワークの傷または欠けを検出するシステムを構築するためのシミュレーション技術が必要とされている。 According to the technique disclosed in Patent Document 1, the system for detecting flaws on the workpiece cannot be verified until the line is constructed. Therefore, there is a need for simulation technology for constructing a system for detecting scratches or chips on a workpiece.

本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ワークの傷または欠けを検出するシステムを構築するためのシミュレーション技術を提供することにある。 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.

ある実施の形態に従う装置100によるシミュレーションの概要の一例を示す図である。It is a figure showing an example of the outline of simulation by device 100 according to a certain embodiment. ある実施の形態に従う装置100のハードウェア構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a hardware configuration of a device 100 according to an embodiment. ある実施の形態に従う装置100の機能ブロックの一例を示す図である。1 is a diagram illustrating an example of functional blocks of a device 100 according to an embodiment. FIG. 第1のワーク設定画面400の一例を示す図である。4 is a diagram showing an example of a first work setting screen 400. FIG. 第2のワーク設定画面500の一例を示す図である。5 is a diagram showing an example of a second work setting screen 500. FIG. シミュレーションの実行画面600,610,620の一例を示す図である。6 is a diagram showing an example of simulation execution screens 600, 610, and 620. FIG. ワーク150の傷160の表示の一例を示す図である。5 is a diagram showing an example of a display of a flaw 160 on a workpiece 150. FIG. カメラ設定画面800の表示の一例を示す図である。8 is a diagram showing an example of a display of a camera setting screen 800. FIG. 光源設定画面900の表示の一例を示す図である。9 is a diagram showing an example of a display of a light source setting screen 900. FIG. 光源を第1の位置に設定した場合の光源設定画面900Aの表示の一例を示す図である。It is a figure which shows an example of a display of 900 A of light source setting screens when a light source is set to a 1st position. 光源を第2の位置に設定した場合の光源設定画面900Bの表示の一例を示す図である。It is a figure which shows an example of a display of the light source setting screen 900B when a light source is set to a 2nd position. カメラ102の絞り(F値)の影響の一例を示す図である。3 is a diagram illustrating an example of the influence of the aperture (F number) of the camera 102. FIG. 画像認識設定画面1300の一例を示す図である。13 is a diagram showing an example of an image recognition setting screen 1300. FIG. 装置100(シミュレータ110)によるシミュレーションの実行手順の一例を示す図である。FIG. 2 is a diagram showing an example of a simulation execution procedure by the device 100 (simulator 110).

以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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 apparatus 100 according to the present embodiment. The functions of the device 100 will be explained with reference to FIG.

装置100は、シミュレータ110を備える。ある局面において、シミュレータ110は、ソフトウェアによって実現され得る。この場合、シミュレータ110は、図2に示される装置100のハードウェア上でプログラムが実行されることで実現され得る。他の局面において、シミュレータ110は、一部または全てをハードウェアにより実現されてもよい。 The device 100 includes a simulator 110. In some aspects, simulator 110 may be implemented by software. In this case, the simulator 110 can be realized by executing a program on the hardware of the device 100 shown in FIG. 2. In other aspects, simulator 110 may be implemented partially or entirely in hardware.

なお、本明細書において、「装置」との用語は、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 device 100 may be used by a user by being connected to input/output devices such as a display and a keyboard. In other aspects, the device 100 may provide various functions to the user as a cloud service or a web application via a network. In this case, the user may use the functionality of the device 100 via a browser or client software installed on his or her terminal.

(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 flaws 160 on the workpiece 150. The simulation function includes a first function (a function of simulating the generation of the flaw 160 on the workpiece 150) and a second function (a function of simulating the detection of the flaw 160 on the workpiece 150). In this specification, the term "work" refers to an object that is transported, inspected, processed, or subjected to any other treatment on a factory production line or the like. Further, the workpiece may be made of any material. As an example, the workpiece may be made of metal, resin, paper, food, any other material, or a combination thereof. Further, the workpiece may have any shape. As an example, the workpiece may be a hard object such as a box made of metal or resin, or may be a flexible object such as a film. Furthermore, the color of the workpiece may be any color, and may be translucent or transparent.

第1の機能(ワーク150への傷160の生成をシミュレートする機能)は、3D空間10において、ワーク150が他のオブジェクトとぶつかった場合にワーク150に仮想的な傷160を生成する機能である。 The first function (a function that simulates the generation of scratches 160 on the workpiece 150) is a function that generates virtual scratches 160 on the workpiece 150 when the workpiece 150 collides with another object in the 3D space 10. be.

通常、画像認識エンジンを用いてワーク150の傷160を検出する場合、サンプル画像を画像認識エンジンに入力して、画像認識エンジンを調整する必要がある。しかしながら、従来のシミュレーション技術では、3D空間10内でワーク150の傷160を再現できなかったため、ユーザは、製造ライン等(以下、「ライン」と呼ぶ)の構築前に、画像認識エンジンの調整に必要なワーク150に生じ得る様々な傷160(ひび割れ、ひっかき傷、欠け、へこみ等)のサンプルを十分に収集することができなかった。 Normally, when detecting the flaw 160 on the workpiece 150 using an image recognition engine, it is necessary to input a sample image to the image recognition engine and adjust the image recognition engine. However, with conventional simulation technology, it was not possible to reproduce the flaw 160 on the workpiece 150 in the 3D space 10, so the user had to adjust the image recognition engine before constructing a manufacturing line etc. (hereinafter referred to as "line"). It was not possible to sufficiently collect samples of various flaws 160 (cracks, scratches, chips, dents, etc.) that may occur on the required workpiece 150.

ユーザは、第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 scratches 160 on the workpiece 150), the user can create workpieces 150A, 150B, 150C, and 150D (when collectively referred to simply as "workpiece 150") having different shapes and materials. It is possible to obtain image samples of respective scratches 160A, 160B, 160C, and 160D (collectively referred to simply as "wounds 160"). Note that, in reality, multiple types of scratches 160 may occur on each workpiece 150, so the user can obtain sample images of one or more scratches 160 on each workpiece. The apparatus 100 can generate samples of various scratches 160(1), 160(2) to 160(N) that may occur on each workpiece 150 through simulation.

第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 flaw 160 on the workpiece 150) is to image the workpiece 150 using a virtual camera 102 and a light source 103 in the 3D space 10, and further use an image recognition engine to image the workpiece 150. This is a function to detect flaws 160 on the photographed workpiece 150. As used herein, the term "light source" includes any light, natural light, reflected light, other light, and combinations thereof. Furthermore, the device 100 (simulator 110) may have a function of arranging one or more (plural) light sources 103 in the 3D space 10. Further, the device 100 may provide the ability to select the type of light that is the light source. The type of light source may include any type of light such as a spotlight, a dome-shaped light, a combination of lights and their reflected light, and the like.

ユーザは、第2の機能(ワーク150の傷160の検出をシミュレートする機能)を用いることで、ラインを実際に構築することなく、カメラ102の選定、カメラ102の設定の調整およびカメラ102の配置の検討を行い得る。また、ユーザは、ラインを実際に構築することなく、光源(ライト)103の選定、光源103の設定の調整および光源103の配置の検討を行い得る。さらに、ユーザは、ラインを実際に構築することなく、画像認識エンジンの設定も行い得る。 By using the second function (a function that simulates detection of flaws 160 on workpiece 150), the user can select camera 102, adjust camera 102 settings, and adjust camera 102 settings without actually constructing a line. The placement can be considered. Further, the user can select the light source (light) 103, adjust the settings of the light source 103, and consider the arrangement of the light source 103 without actually constructing the line. Additionally, the user may also configure the image recognition engine without actually constructing the line.

すなわち、ユーザは、装置100を用いることで、ラインの構築前に、ワーク150の傷160を検出するためのシステムの構成を決定し得る。ここでの「ワークの傷を検出するためのシステムの構成」は、例えば、カメラ102の選定、カメラ102の設定の調整、カメラ102の配置、光源(ライト)103の選定、光源103の設定、光源103の配置、画像認識エンジンの設定の一部または全てを含む。 That is, by using the device 100, the user can determine the configuration of the system for detecting flaws 160 on the workpiece 150 before constructing the line. Here, the "configuration of a system for detecting scratches on a workpiece" includes, for example, selection of the camera 102, adjustment of the settings of the camera 102, arrangement of the camera 102, selection of the light source (light) 103, setting of the light source 103, This includes part or all of the arrangement of the light source 103 and the settings of the image recognition engine.

(b.装置100の動作手順の概要)
次に、上記の第1の機能(ワーク150への傷160の生成をシミュレートする機能)および第2の機能(ワーク150の傷160の検出をシミュレートする機能)を実現するための装置100の動作手順について説明する。なお、下記の動作手順は一例であり、各処理の順番は任意に入れ替えられてもよいし、複数の処理が同時に実行されてもよい。
(b. Outline of operation procedure of device 100)
Next, an apparatus 100 for realizing the first function (function of simulating generation of scratches 160 on workpiece 150) and second function (function of simulating detection of scratches 160 on workpiece 150) described above. The operating procedure will be explained. Note that the operation procedure described below is an example, and the order of each process may be changed arbitrarily, or a plurality of processes may be executed simultaneously.

第1のステップにおいて、装置100は、UI(User Interface)300(図3参照)を介して、ワーク150の設定の入力を受け付ける。一例として、ワーク150の設定は、ワーク150の材質、ワーク150の数、ワーク150の配置、および使用するワーク150の3Dモデルデータの指定等を含み得る。ある局面において、ワーク150の設定は、ワーク150が配置される場所の環境設定(温度、湿度等)を含んでいてもよい。なお、装置100は、ワーク150の設定とは別に、環境設定として、ワーク150が配置される場所の環境設定(温度、湿度等)の入力を受け付けてもよい。 In the first step, the apparatus 100 receives input of settings for the workpiece 150 via a UI (User Interface) 300 (see FIG. 3). As an example, the settings for the work 150 may include the material of the work 150, the number of the work 150, the arrangement of the work 150, designation of 3D model data of the work 150 to be used, and the like. In one aspect, the settings for the work 150 may include environmental settings (temperature, humidity, etc.) for the location where the work 150 is placed. Note that, in addition to the settings of the workpiece 150, the apparatus 100 may also receive input of environmental settings (temperature, humidity, etc.) for the place where the workpiece 150 is placed, as environmental settings.

第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 device 100 receives input of settings for the camera 102 via the UI 300. As an example, the settings of the camera 102 may include identification information of the camera 102, various settings of the camera 102, and arrangement of the camera 102. The identification information of the camera 102 is information that can specify the model number of the camera 102 and the like. Various camera settings may include arbitrary settings such as ISO sensitivity, aperture (F value), and shutter speed. The arrangement of the camera 102 is the arrangement of the camera 102 or the lens of the camera 102 within the 3D space 10. In one aspect, the device 100 may change various setting items of the camera 102 displayed on the UI 300 based on the identification information of the selected camera 102. In other aspects, the device 100 may accept input of settings for a plurality of cameras 102. In this case, the device 100 arranges two or more cameras 102 in the 3D space 10.

第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 device 100 receives input of settings for the light source 103. As an example, the settings of the light source 103 may include identification information of the light source 103, various settings of the light source 103, arrangement of the light source 103, and settings of ambient light. The identification information of the light source 103 is information that can specify the model number and the like of the light source 103. Various settings of the light source 103 may include arbitrary settings such as brightness. The arrangement of the light sources 103 is the arrangement of the light sources 103 within the 3D space 10. Ambient light may be any light source other than light source 103, and may include light coming in through the windows of the factory where the line is installed, light from lights originally in the factory, and the like. In one aspect, the device 100 may change various setting items of the light source 103 displayed on the UI 300 based on the identification information of the selected light source 103. In other aspects, the device 100 may accept input of settings for a plurality of light sources 103. In this case, the device 100 places two or more light sources 103 in the 3D space 10.

第4のステップにおいて、装置100は、入力されたワーク150の設定に基づいて、ワーク150の衝突シミュレーションを実行する。一例として、装置100は、3D空間10において、1つ以上のワーク150を地面に落下させることにより、衝突シミュレーションを行ってもよい。他の例において、装置100は、3D空間10において、1つ以上のワーク150が入った容器を揺らすことにより、衝突シミュレーションを行ってもよい。さらに、他の例において、装置100は、3D空間10において、構築予定のラインを再現し、ライン上でワーク150に発生し得る各種衝突を再現することで、衝突シミュレーションを行ってもよい。 In the fourth step, the apparatus 100 executes a collision simulation of the workpiece 150 based on the input settings of the workpiece 150. As an example, the apparatus 100 may perform a collision simulation by dropping one or more workpieces 150 to the ground in the 3D space 10. In other examples, the apparatus 100 may perform a collision simulation by shaking a container containing one or more workpieces 150 in the 3D space 10. Furthermore, in another example, the apparatus 100 may perform a collision simulation by reproducing a line to be constructed in the 3D space 10 and reproducing various collisions that may occur on the workpiece 150 on the line.

第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 apparatus 100 generates scratches 160 on one or more workpieces 150 based on the collision simulation performed in the fourth step. The apparatus 100 generates a flaw 160 on the workpiece 150 when a force equal to or greater than a predetermined threshold is applied to the workpiece 150 in a collision simulation. In one aspect, the apparatus 100 may determine a predetermined threshold value based on the material of the workpiece 150. In other aspects, the apparatus 100 may accept input of a predetermined threshold value as part of setting the workpiece 150. The apparatus 100 generates scratches 160 on the workpiece 150 by changing the shape of 3D model data of the workpiece 150. For example, the apparatus 100 can generate (reproduce) the scratches 160 on the workpiece 150 by deforming or deleting part of the polygons or meshes that constitute the 3D model data of the workpiece 150. In some aspects, the apparatus 100 may repeatedly perform the fifth step and the sixth step until sufficient sample images of the flaw 160 on the workpiece 150 can be acquired. For example, the device 100 may repeatedly execute the fifth step and the sixth step for the number of collision simulation executions input via the UI 300. Alternatively, the fifth step and the sixth step may be repeatedly executed until sample images corresponding to the scheduled number of sample images input via the UI 300 are acquired.

第6のステップにおいて、装置100は、入力されたカメラ102の設定および光源103の設定に基づいて、3D空間10内で1つ以上のワーク150を撮像する。装置100は、撮像によって得られた画像に傷160が映っているか否かのフラグを関連付けて、当該画像を1次記憶装置2(図2参照)および/または2次記憶装置3(図2参照)に格納する。さらに、装置100は、入力されたカメラ102の設定および光源103の設定の少なくとも一部を変更しながら、シミュレーションを繰り返し実行し得る。 In the sixth step, the apparatus 100 images one or more workpieces 150 in the 3D space 10 based on the input camera 102 settings and light source 103 settings. The device 100 associates a flag indicating whether or not the scratch 160 is shown with the image obtained by imaging, and stores the image in the primary storage device 2 (see FIG. 2) and/or the secondary storage device 3 (see FIG. 2). ). Furthermore, the apparatus 100 can repeatedly execute the simulation while changing at least some of the input camera 102 settings and light source 103 settings.

第7のステップにおいて、装置100は、画像認識エンジンを用いて撮像によって得られた画像を解析し、傷160を検出する。装置100は、本ステップにおいて、デフォルトの画像認識エンジンの設定またはUI300を介して入力された画像認識エンジンの設定に基づいて、画像を解析して傷160を検出する。また、装置100は、1枚以上の画像を解析したときの画像認識エンジンの正答率を算出する。装置100は、画像認識エンジンがある画像を解析したときに、第6のステップにてある画像に関連付けられたフラグと、画像認識エンジンの出力結果とを比較して、画像認識エンジンの解析結果が正しいか否かを判定し得る。 In the seventh step, the device 100 uses an image recognition engine to analyze the image obtained by imaging and detect the flaw 160. In this step, the device 100 analyzes the image and detects the flaw 160 based on the default image recognition engine settings or the image recognition engine settings input via the UI 300. The device 100 also calculates the correct answer rate of the image recognition engine when one or more images are analyzed. When the image recognition engine analyzes an image, the device 100 compares the flag associated with the image with the output result of the image recognition engine in the sixth step, and determines the analysis result of the image recognition engine. You can judge whether it is correct or not.

ある局面において、装置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 apparatus 100 changes the settings of the camera 102 and/or the settings of the light source 103 until the correct answer rate of the image recognition engine reaches a predetermined first standard, and performs the fourth to seventh steps. You may perform the steps repeatedly. For example, the device 100 may repeatedly execute the fourth to seventh steps until the correct answer rate (first criterion) input via the UI 300 is reached. In another aspect, the apparatus 100 may repeatedly perform the fourth to seventh steps until finding a plurality of combinations of camera 102 settings and light source 103 settings that meet the first criterion. good. During the repetition, the apparatus 100 repeatedly executes the simulation while changing at least part of the input settings of the camera 102 and the settings of the light source 103. Thereby, the device 100 can discover settings for the camera 102 and settings for the light source 103 that result in a higher correct answer rate for the default image recognition engine. Furthermore, in another aspect, the device 100 may repeatedly execute the fourth to seventh steps until a predetermined number of executions input via the UI 300 is reached.

第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 device 100 adjusts the settings of the image recognition engine. In one aspect, the device 100 may change the settings of the image recognition engine and repeatedly perform the eighth step until the correct answer rate of the image recognition engine reaches a predetermined second standard. Note that the device 100 may receive an input of the correct answer rate (second criterion) in advance via the UI 300. In other aspects, the apparatus 100 may repeatedly perform the eighth step until it finds a plurality of image recognition engine settings that meet the second criterion. As a result, the device 100 selects image recognition engine settings that have a high detection rate of flaws 160 for the captured image using the camera 102 settings and light source 103 settings obtained through the processing up to the seventh step. can be discovered. In other aspects, the device 100 may repeatedly execute the eighth step until reaching a predetermined number of executions input via the UI 300. Furthermore, in other aspects, the device 100 may repeatedly execute the eighth step while changing the settings of the image recognition engine input via the UI 300.

第9のステップにおいて、装置100は、ワーク150の傷160の検出率が高くなる設定の組合せ(カメラ102の設定、光源103の設定、画像認識エンジンの設定の組合せ)を選択する。ある局面において、装置100は、ワーク150の傷160の検出率が高くなる設定の組合せを1つだけ選択してもよいし、複数の組合せを選択してもよい。 In the ninth step, the apparatus 100 selects a combination of settings (a combination of camera 102 settings, light source 103 settings, and image recognition engine settings) that increases the detection rate of the flaws 160 on the workpiece 150. In one aspect, the apparatus 100 may select only one combination of settings that increases the detection rate of the flaws 160 on the workpiece 150, or may select a plurality of combinations.

第10のステップにおいて、装置100は、第9のステップにて選択した設定の組合せを出力する。ある局面において、装置100は、装置100に接続されたディスプレイに設定の組合せを表示してもよい。他の局面において、装置100は、ネットワークを介して、他の装置に選択した設定の組合せに関する情報を送信してもよい。さらに、他の局面において、装置100は、出力データに画像認識エンジンの設定を含めずに、傷160の検出率の高いカメラ102、光源103の設定の組み合わせのみを含めて、当該出力データを出力してもよい。例えば、装置100は、UI300を介して、ユーザから出力データに含める設定の種類を指定する入力を予め受け付けてもよい。ユーザは、予め一定以上の精度がある画像認識エンジンの設定を有する場合等に、画像認識エンジンの設定を出力データに含めないことで、第8のステップを省略してシミュレーションの実行結果を早く取得することができる。 In the tenth step, the device 100 outputs the combination of settings selected in the ninth step. In some aspects, device 100 may display the combination of settings on a display connected to device 100. In other aspects, device 100 may transmit information regarding the selected configuration combination to other devices via the network. Furthermore, in another aspect, the device 100 outputs the output data without including the settings of the image recognition engine in the output data, but including only the combination of settings of the camera 102 and the light source 103 that have a high detection rate of the flaw 160. You may. For example, the device 100 may receive in advance, via the UI 300, an input from the user specifying the type of settings to be included in the output data. If the user already has image recognition engine settings with a certain level of precision, etc., by not including the image recognition engine settings in the output data, the user can omit the eighth step and obtain simulation execution results quickly. can do.

上記の一連の処理を行うことで、装置100は、デフォルト設定の画像認識エンジンの正答率が高くなるカメラ102の設定および光源103の設定を発見し得る。すなわち、装置100は、画像認識エンジンにとってワーク150の傷160を検出しやすい画像を取得可能なカメラ102の設定および光源103の設定を発見し得る。さらに、装置100は、選択されたカメラ102の設定および光源103の設定を用いて撮像される画像に対して傷160の検出率が高い画像認識エンジンの設定を発見し得る。ユーザは、これらの設定の組み合わせを反映したラインを構築することで、ワーク150の傷160を高精度に検出し得るラインまたは傷検出システムを実現し得る。 By performing the above series of processes, the device 100 can discover settings for the camera 102 and settings for the light source 103 that increase the correct answer rate of the default image recognition engine. That is, the device 100 can discover settings for the camera 102 and settings for the light source 103 that allow the image recognition engine to obtain an image that allows the image recognition engine to easily detect the flaw 160 on the workpiece 150. Furthermore, the apparatus 100 may discover image recognition engine settings that have a high detection rate of flaws 160 for images captured using the selected camera 102 settings and light source 103 settings. By constructing a line that reflects a combination of these settings, the user can realize a line or flaw detection system that can detect flaws 160 on workpiece 150 with high accuracy.

<B.装置の構成>
次に、図2および図3を参照して、本実施の形態に従う装置100のハードウェア構成および機能構成について説明する。
<B. Device configuration>
Next, the hardware configuration and functional configuration of the device 100 according to this embodiment will be described with reference to FIGS. 2 and 3.

図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 device 100 according to this embodiment. The device 100 includes a CPU (Central Processing Unit) 1, a primary storage device 2, a secondary storage device 3, an external device interface 4, an input interface 5, an output interface 6, and a communication interface 7.

CPU1は、装置100の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。CPU1は、2次記憶装置3から1次記憶装置2に読み込まれたシミュレータ110を実行することで、図1を参照して説明された各種機能を実現し得る。 The CPU 1 can execute programs for realizing various functions of the device 100. The CPU 1 is configured by, for example, at least one integrated circuit. The integrated circuit may be configured by, for example, at least one CPU, at least one FPGA (Field Programmable Gate Array), or a combination thereof. The CPU 1 can implement the various functions described with reference to FIG. 1 by executing the simulator 110 loaded into the primary storage device 2 from the secondary storage device 3.

1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。 The primary storage device 2 stores programs executed by the CPU 1 and data referenced by the CPU 1. In one aspect, the primary storage device 2 may be implemented by DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or the like.

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 secondary storage device 3 is a nonvolatile memory, and may store programs executed by the CPU 1 including the simulator 110 and data referenced by the CPU 1. In that case, the CPU 1 executes the program read from the secondary storage device 3 to the primary storage device 2 and refers to the data read from the secondary storage device 3 to the primary storage device 2. In one aspect, the secondary storage device 3 is realized by a HDD (Hard Disk Drive), an SSD (Solid State Drive), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory), a flash memory, or the like. It's okay.

外部機器インターフェイス4は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。 The external device interface 4 can be connected to any external device such as a printer, scanner, and external HDD. In one aspect, the external device interface 4 may be realized by a USB (Universal Serial Bus) terminal or the like.

入力インターフェイス5は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力インターフェイス5は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。 Input interface 5 may be connected to any input device such as a keyboard, mouse, touch pad or game pad. In one aspect, the input interface 5 may be realized by a USB terminal, a PS/2 terminal, a Bluetooth (registered trademark) module, or the like.

出力インターフェイス6は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力インターフェイス6は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。 The output interface 6 can be connected to any output device such as a cathode ray tube display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. In one aspect, the output interface 6 may be realized by a USB terminal, a D-sub terminal, a DVI (Digital Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal, or the like.

通信インターフェイス7は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス7は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス7は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信してもよい。 The communication interface 7 is connected to wired or wireless network equipment. In one aspect, the communication interface 7 may be realized by a wired LAN (Local Area Network) port, a Wi-Fi (registered trademark) (Wireless Fidelity) module, or the like. In other aspects, the communication interface 7 may transmit and receive data using communication protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP (User Datagram Protocol).

ある局面において、シミュレータ110は、単独のソフトウェアとして実現されてもよいし、他のライブラリまたはソフトウェアと協業するように実現されてもよいし、制御装置200のプログラムを開発するためのIDE(Integrated Development Environment)のアドインまたは一機能として実現されてもよい。制御装置200は、例えば、PLC(Programmable Logic Controller)、または、ロボット制御機能およびPLC機能の両方を有する統合制御装置等である。 In some aspects, the simulator 110 may be realized as independent software, may be realized in collaboration with other libraries or software, or may be realized as an IDE (Integrated Development Program) for developing programs for the control device 200. It may be realized as an add-in or a function of the ``Environment''. The control device 200 is, for example, a PLC (Programmable Logic Controller) or an integrated control device having both a robot control function and a PLC function.

他の局面において、制御装置200にシミュレータ110の一部または全ての機能がインストールされてもよい。この場合、装置100は、UI300をユーザに提供して、ユーザから受け付けた設定およびシミュレーションの実行命令を制御装置200に送信する。制御装置200は、受信した設定および実行命令に基づいて、シミュレーションを実行し、シミュレーションの結果としてワーク150の傷160の検出率が高くなる設定の組合せ(カメラ102の設定、光源103の設定、画像認識エンジンの設定の組合せ)を装置100に送信する。 In other aspects, some or all of the functions of the simulator 110 may be installed in the control device 200. In this case, the device 100 provides the UI 300 to the user and transmits the settings and simulation execution commands received from the user to the control device 200. The control device 200 executes a simulation based on the received settings and execution command, and selects a combination of settings (settings of the camera 102, settings of the light source 103, images combination of recognition engine settings) is sent to the device 100.

図3は、本実施の形態に従う装置100の機能ブロックの一例を示す図である。図3に示される各機能ブロックは、シミュレータ110を構成するプログラムモジュール、ライブラリ等として実現され得る。ある局面において、図3に示される各機能ブロックの一部は、ハードウェアとして実現されてもよい。この場合、装置100は、図3に示される各機能ブロックの一部を実現するためのハードウェア構成をさらに備える。 FIG. 3 is a diagram showing an example of functional blocks of the device 100 according to this embodiment. Each functional block shown in FIG. 3 can be realized as a program module, library, etc. that constitute the simulator 110. In some aspects, a portion of each functional block shown in FIG. 3 may be implemented as hardware. In this case, the device 100 further includes a hardware configuration for realizing a part of each functional block shown in FIG. 3.

シミュレータ110は、主な機能ブロックとして、UI300と、ワーク設定部301と、カメラ設定部302と、光源設定部303と、3D(Dimensional)エンジン304と、シミュレーション実行部305と、衝突判定部306と、傷生成部307と、撮像部308と、画像認識部309と、画像認識設定部310と、設定選択部311と、出力部312とを備える。ある局面において、シミュレータ110は、3Dエンジン304を備える代わりに、外部の3Dエンジンを使用してもよい。 The simulator 110 includes a UI 300, a work setting section 301, a camera setting section 302, a light source setting section 303, a 3D (dimensional) engine 304, a simulation execution section 305, and a collision determination section 306 as main functional blocks. , a flaw generation section 307, an imaging section 308, an image recognition section 309, an image recognition setting section 310, a setting selection section 311, and an output section 312. In some aspects, simulator 110 may use an external 3D engine instead of having 3D engine 304.

UI300は、シミュレータ110の各種機能をユーザに提供する。一例として、UI300は、ワーク150の設定画面、カメラ102の設定画面、光源103の設定画面、シミュレーションの設定画面、シミュレーションの実行状態を表示する画面、シミュレーションの結果を表示する画面、および、シミュレータ110の機能に関連する任意の画面を含み得る。シミュレータ110は、UI300を介して、ユーザに各種設定およびシミュレーションに関する情報を表示し、さらに、ユーザからの各種設定の入力を受け付け得る。また、シミュレータ110は、UI300を介して、シミュレーションに使用する各種3Dモデルデータ(ワーク150のモデル、カメラ102のモデル、光源(ライト)103のモデル、構築予定のラインを構成する各部品のモデル、それ以外の任意のモデル等)のインポート操作を受け付け得る。 The UI 300 provides various functions of the simulator 110 to the user. As an example, the UI 300 includes a setting screen for the work 150, a setting screen for the camera 102, a setting screen for the light source 103, a simulation setting screen, a screen displaying the simulation execution status, a screen displaying the simulation results, and the simulator 110. may include any screens related to the functionality of. The simulator 110 displays various settings and simulation-related information to the user via the UI 300, and can also accept input of various settings from the user. The simulator 110 also provides various 3D model data (a model of the work 150, a model of the camera 102, a model of the light source (light) 103, a model of each part constituting the line to be constructed, It is possible to accept import operations for other arbitrary models, etc.).

ワーク設定部301は、UI300を介して入力されたワーク150の設定を取得し、当該ワーク150の設定をシミュレーション実行部305に出力する。また、ワーク設定部301は、入力された設定情報を2次記憶装置3に格納する。ワーク設定部301は、過去に登録された1つ以上のワーク150の設定情報を2次記憶装置3から読み出して、UI300(ワーク設定画面)に表示してもよい。ユーザは、ワーク設定画面上でワーク150の設定情報を新たに入力することができる。また、ユーザは、ワーク設定画面上で過去に登録された1つ以上のワーク150の設定情報のいずれかを選択してもよい。さらに、ユーザは、ワーク設定画面上で過去に登録された1つ以上のワーク150の設定情報のいずれかを選択して、当該選択されたワーク150の設定情報を編集することもできる。 The work setting unit 301 acquires the settings of the work 150 input via the UI 300 and outputs the settings of the work 150 to the simulation execution unit 305. Further, the work setting unit 301 stores the input setting information in the secondary storage device 3. The work setting unit 301 may read setting information of one or more previously registered works 150 from the secondary storage device 3 and display it on the UI 300 (work setting screen). The user can newly input setting information for the work 150 on the work setting screen. Further, the user may select any of the setting information of one or more previously registered works 150 on the work setting screen. Furthermore, the user can also select any of the setting information of one or more previously registered works 150 on the work setting screen and edit the setting information of the selected work 150.

カメラ設定部302は、UI300を介して入力されたカメラ102の設定を取得し、当該カメラ102の設定をシミュレーション実行部305に出力する。また、カメラ設定部302は、入力された設定情報を2次記憶装置3に格納する。カメラ設定部302は、過去に登録された1つ以上のカメラ102の設定情報を2次記憶装置3から読み出して、UI300(カメラ設定画面)に表示してもよい。ユーザは、カメラ設定画面上でカメラ102の設定情報を新たに入力することができる。また、ユーザは、カメラ設定画面上で過去に登録された1つ以上のカメラ102の設定情報のいずれかを選択してもよい。さらに、ユーザは、カメラ設定画面上で過去に登録された1つ以上のカメラ102の設定情報のいずれかを選択して、当該選択されたカメラ102の設定情報を編集することもできる。 The camera setting unit 302 acquires the settings of the camera 102 input via the UI 300 and outputs the settings of the camera 102 to the simulation execution unit 305. Further, the camera setting unit 302 stores the input setting information in the secondary storage device 3. The camera setting unit 302 may read setting information of one or more cameras 102 registered in the past from the secondary storage device 3 and display it on the UI 300 (camera setting screen). The user can newly input setting information for the camera 102 on the camera setting screen. Further, the user may select any of the setting information of one or more cameras 102 registered in the past on the camera setting screen. Furthermore, the user can also select any of the setting information of one or more cameras 102 registered in the past on the camera setting screen and edit the setting information of the selected camera 102.

光源設定部303は、UI300を介して入力された光源103の設定を取得し、当該光源103の設定をシミュレーション実行部305に出力する。また、光源設定部303は、入力された設定情報を2次記憶装置3に格納する。光源設定部303は、過去に登録された1つ以上の光源103の設定情報を2次記憶装置3から読み出して、UI300(光源設定画面)に表示してもよい。ユーザは、光源設定画面上で光源103の設定情報を新たに入力することができる。また、ユーザは、光源設定画面上で過去に登録された1つ以上の光源103の設定情報のいずれかを選択してもよい。さらに、ユーザは、光源設定画面上で過去に登録された1つ以上の光源103の設定情報のいずれかを選択して、当該選択された光源103の設定情報を編集することもできる。 The light source setting unit 303 acquires the settings of the light source 103 input via the UI 300 and outputs the settings of the light source 103 to the simulation execution unit 305. Further, the light source setting unit 303 stores the input setting information in the secondary storage device 3. The light source setting unit 303 may read setting information of one or more light sources 103 registered in the past from the secondary storage device 3 and display it on the UI 300 (light source setting screen). The user can newly input setting information for the light source 103 on the light source setting screen. Further, the user may select any of the setting information of one or more light sources 103 registered in the past on the light source setting screen. Furthermore, the user can also select any of the setting information of one or more light sources 103 registered in the past on the light source setting screen and edit the setting information of the selected light source 103.

3Dエンジン304は、3D空間10を再現する。3Dエンジン304は、3D空間10の表示および3D空間10内におけるオブジェクトの動き等の物理計算を実行する。3Dエンジン304は、ライブラリまたはランタイム等として、シミュレーション実行部305により参照されてもよい。 3D engine 304 reproduces 3D space 10. The 3D engine 304 performs physical calculations such as display of the 3D space 10 and movement of objects within the 3D space 10. The 3D engine 304 may be referenced by the simulation execution unit 305 as a library, runtime, or the like.

シミュレーション実行部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 simulation execution unit 305 executes a simulation based on the setting information of the work 150 and the simulation setting information. The simulation execution unit 305 can execute any simulation using the 3D model data imported into the simulator 110. As an example, the simulation execution unit 305 may perform a collision simulation by dropping one or more works 150 onto the ground in the 3D space 10. In another example, the simulation execution unit 305 may perform a collision simulation by shaking a container containing one or more works 150 in the 3D space 10. In another example, the simulation execution unit 305 may perform a collision simulation by reproducing a line to be constructed in the 3D space 10 and reproducing various collisions that may occur on the workpiece 150 on the line. . Based on the simulation settings, the simulation execution unit 305 may repeatedly execute the simulation until the set number of times is reached, or the simulation execution unit 305 may repeatedly execute the simulation until the number of images output by the camera 102 reaches the set number. May be executed repeatedly. Furthermore, the simulation execution unit 305 can repeatedly execute the simulation while changing the settings acquired from the camera setting unit 302 and the settings acquired from the light source setting unit 303.

衝突判定部306は、シミュレーションの中で、ワーク150ごとに衝突が発生したか否かを判定する。より具体的には、衝突判定部306は、衝突の有無以外に、ワーク150ごとに衝突が発生した箇所、衝突によりワーク150にかかる力(ワーク150に対するダメージ)を算出する。衝突判定部306は、ワーク150ごとの衝突の有無、衝突が発生した箇所、衝突によりワーク150にかかる力(ワーク150に対するダメージ)に関する情報を傷生成部307に出力する。衝突判定部306は、衝突によりワーク150にかかる力の算出に、ワーク150の設定情報を使用する。 The collision determination unit 306 determines whether a collision has occurred for each workpiece 150 during the simulation. More specifically, the collision determination unit 306 calculates, in addition to the presence or absence of a collision, the location where the collision occurred for each workpiece 150 and the force applied to the workpiece 150 due to the collision (damage to the workpiece 150). The collision determination unit 306 outputs information regarding the presence or absence of a collision for each workpiece 150, the location where the collision occurred, and the force applied to the workpiece 150 due to the collision (damage to the workpiece 150) to the flaw generation unit 307. The collision determination unit 306 uses the setting information of the workpiece 150 to calculate the force applied to the workpiece 150 due to the collision.

傷生成部307は、衝突判定部306から取得した情報に基づいて、各ワーク150に傷160を生成する。例えば、傷生成部307は、ワーク150の3Dモデルデータのポリゴンまたはメッシュを変形させることにより、ワーク150に傷160を生成する。 The flaw generation unit 307 generates flaws 160 on each workpiece 150 based on the information acquired from the collision determination unit 306. For example, the flaw generation unit 307 generates flaws 160 on the workpiece 150 by deforming polygons or meshes of the 3D model data of the workpiece 150.

撮像部308は、3D空間10に配置された仮想的なカメラ102を用いて、ワーク150を撮像する。撮像部308は、撮像によって得られた画像を2次記憶装置3に格納する。撮像部308は、カメラ102の設定および光源103の設定に基づいて、撮像処理を実行する。撮像部308は、生成された画像に、画像内に傷160のあるワーク150が含まれるか否かを示すフラグを関連付ける。なお、撮像部308は、衝突判定部306の出力結果(ワーク150ごとの衝突情報)または傷生成部307の出力結果(ワーク150ごとの傷160の情報)を参照することで、生成された画像に傷160があるワーク150が含まれるか否かを判定し得る。 The imaging unit 308 images the workpiece 150 using the virtual camera 102 arranged in the 3D space 10. The imaging unit 308 stores the image obtained by imaging in the secondary storage device 3. The imaging unit 308 executes imaging processing based on the settings of the camera 102 and the settings of the light source 103. The imaging unit 308 associates the generated image with a flag indicating whether or not the workpiece 150 with the scratch 160 is included in the image. Note that the imaging unit 308 refers to the output result of the collision determination unit 306 (collision information for each workpiece 150) or the output result of the flaw generation unit 307 (information about the flaw 160 for each workpiece 150), thereby obtaining the generated image. It can be determined whether or not the workpiece 150 with the scratch 160 is included.

画像認識部309は、画像認識エンジンを用いて、撮像部308によって撮像された画像内に傷160があるワーク150が存在するか否かを判定する。画像認識部309は、判定結果を画像認識設定部310に出力する。 The image recognition unit 309 uses an image recognition engine to determine whether there is a workpiece 150 with a flaw 160 in the image captured by the imaging unit 308. Image recognition section 309 outputs the determination result to image recognition setting section 310.

画像認識設定部310は、画像認識部309が出力した判定結果の正答率が予め定められた基準に到達していない場合、画像認識エンジンの設定を変更して、画像認識部309に画像認識の実行要求を再度送信する。なお、画像認識設定部310は、画像に関連付けられたフラグと、画像認識エンジンの出力結果とを比較して、画像認識エンジンの解析結果が正しいか否かを判定し得る。 If the correct answer rate of the determination result output by the image recognition unit 309 does not reach a predetermined standard, the image recognition setting unit 310 changes the settings of the image recognition engine and causes the image recognition unit 309 to perform image recognition. Submit the execution request again. Note that the image recognition setting unit 310 can determine whether the analysis result of the image recognition engine is correct by comparing the flag associated with the image and the output result of the image recognition engine.

設定選択部311は、画像認識部309が画像認識エンジンの異なる設定を用いてワーク150の傷の160検出処理を複数回実行した場合に、画像認識部309が出力した判定結果の正答率に基づいて、画像認識部309が出力した判定結果の正答率が最も高くなる設定の組み合わせ(カメラ102の設定、光源103の設定、画像認識エンジンの設定)を選択する。 The setting selection unit 311 selects a setting based on the correct answer rate of the determination result output by the image recognition unit 309 when the image recognition unit 309 executes the process of detecting 160 flaws on the workpiece 150 multiple times using different settings of the image recognition engine. Then, a combination of settings (settings of the camera 102, settings of the light source 103, settings of the image recognition engine) that gives the highest correct answer rate of the determination result output by the image recognition unit 309 is selected.

出力部312は、設定選択部311が選択した設定の組合せを出力する。ある局面において、出力部312は、装置100に接続されたディスプレイに設定の組合せを表示してもよい。他の局面において、出力部312は、ネットワークを介して、他の装置に選択した設定の組合せに関する情報を送信してもよい。さらに、他の局面において、出力部312は、出力データに画像認識エンジンの設定を含めずに、傷160の検出率の高いカメラ102、光源103の設定の組み合わせのみを含めて、当該出力データを出力してもよい。例えば、装置100は、UI300を介して、ユーザから出力データに含める設定の種類を指定する入力を予め受け付けてもよい。ユーザは、予め一定以上の精度がある画像認識エンジンの設定を有する場合等に、画像認識エンジンの設定を出力データに含めないことで、シミュレーションの実行結果を早く取得することができる。 The output unit 312 outputs the combination of settings selected by the setting selection unit 311. In some aspects, the output unit 312 may display the combination of settings on a display connected to the device 100. In other aspects, the output unit 312 may transmit information regarding the selected setting combination to another device via the network. Furthermore, in another aspect, the output unit 312 does not include the settings of the image recognition engine in the output data, but only includes the combination of the settings of the camera 102 and the light source 103 that have a high detection rate of the flaw 160, and outputs the output data. You can also output it. For example, the device 100 may receive in advance, via the UI 300, an input from the user specifying the type of settings to be included in the output data. In cases where the user already has image recognition engine settings with a certain level of accuracy or higher, the user can quickly obtain simulation execution results by not including the image recognition engine settings in the output data.

<C.ユーザーインターフェイス>
次に、図4~図13を参照して、本実施の形態に従うシミュレータ110が提供するUI300の一例について説明する。ある局面において、シミュレータ110は、装置100に接続されたディスプレイに図4~図13に示される各画面を表示してもよい。他の局面において、シミュレータ110は、ネットワークを介して、他の装置に図4~図13に示される各画面の情報を送信してもよい。
<C. User interface>
Next, an example of the UI 300 provided by the simulator 110 according to this embodiment will be described with reference to FIGS. 4 to 13. In some aspects, simulator 110 may display each screen shown in FIGS. 4 to 13 on a display connected to device 100. In other aspects, the simulator 110 may transmit information on each screen shown in FIGS. 4 to 13 to other devices via a network.

図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 work setting screen 400. The first work setting screen 400 has, as main items, a display 401 of 3D model data of the work 150, an environment setting item 410, and 3D model data setting items 420A and 420B (collectively referred to as "3D model data "setting items 420"). Note that the screen shown in FIG. 4 is an example, and the first work setting screen 400 may include any number of 3D model data setting items 420.

環境設定項目410は、温度または湿度等のワーク150の周囲の任意の環境情報を設定可能に構成される。3Dモデルデータの設定項目420は、シミュレーションに使用される任意の3Dモデルデータの設定(材質、質量、摩擦係数、傷の入る力の閾値等)を編集可能に構成される。なお、3Dモデルデータの設定項目420は、ワーク150以外の任意のオブジェクト(ラインを構成する部品等)の設定も編集可能に構成される。3Dモデルデータの表示401は、3Dモデルデータの設定項目420に表示されている3Dモデルデータを表示する。図4の例では、3Dモデルデータの表示401内に、3Dモデルデータの設定項目420Aに対応するワーク150Aと、3Dモデルデータの設定項目420Bに対応する150Bとが表示されている。 The environment setting item 410 is configured to be able to set arbitrary environmental information around the workpiece 150 such as temperature or humidity. The 3D model data setting item 420 is configured to allow editing of arbitrary 3D model data settings used in the simulation (material, mass, friction coefficient, threshold of force for causing scratches, etc.). Note that the 3D model data setting items 420 are configured so that settings for any object other than the workpiece 150 (parts forming a line, etc.) can also be edited. The 3D model data display 401 displays the 3D model data displayed in the 3D model data setting item 420. In the example of FIG. 4, a work 150A corresponding to a 3D model data setting item 420A and a work 150B corresponding to a 3D model data setting item 420B are displayed in a 3D model data display 401.

図5は、第2のワーク設定画面500の一例を示す図である。シミュレータ110は、ダイアログ形式の第1のワーク設定画面400の他に、エディタ形式の第2のワーク設定画面500を提供してもよい。第2のワーク設定画面500は、シミュレーションのプログラムおよび/またはスクリプトを記述可能に構成される。ユーザは、エディタ形式の第2のワーク設定画面500を用いることで、少ない記述量で大量のワーク150を複製および使用するようなシミュレーションの設定を作成し得る。 FIG. 5 is a diagram showing an example of the second work setting screen 500. The simulator 110 may provide a second work setting screen 500 in an editor format in addition to the first work setting screen 400 in a dialog format. The second work setting screen 500 is configured such that a simulation program and/or script can be written. By using the second work setting screen 500 in the editor format, the user can create simulation settings for duplicating and using a large amount of works 150 with a small amount of description.

ある局面において、各ワーク設定画面は、ワークの素材、形状、色、透過性等を設定可能に構成されてもよい。一例として、ユーザは、各ワークの設定画面を介して、各ワーク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 simulation execution screens 600, 610, and 620. The simulator 110 executes a collision simulation of the workpiece 150 based on the input settings of the workpiece 150. The simulator 110 also outputs a simulation execution screen. A simulation execution screen may be provided as part of the UI 300. For example, simulation execution screens 600, 610, and 620 show a simulation in which a plurality of workpieces 150 fall and collide with each other or the ground.

図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 flaw 160 on the workpiece 150. When the simulator 110 determines that a flaw 160 is formed on the workpiece 150, the simulator 110 generates (reproduces) the flaw 160 by deforming a polygon, mesh, or the like at the location of the flaw 160 on the surface of the workpiece 150. For example, the simulator 110 may create a depression representing the flaw 160 on the surface of the workpiece 150 by deleting the polygon where the flaw 160 is located. The simulator 110 generates a flaw 160 for each workpiece 150 on the simulation execution screen, and displays the generated flaw 160 on the simulation execution screen (for example, the simulation execution screen 600, 610, 620).

図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 camera setting screen 800. The camera setting screen 800 includes, as main items, a display 810 of the 3D space 10 seen from the lens of the camera 102, an overhead display 840 of the 3D space 10 including the camera 102, and a setting item 820 for the camera 102. A user may adjust the position of the camera 102 in the 3D space 10 while referring to a representation 810 of the 3D space 10 as seen through the lens of the camera 102 and/or an overhead representation 840 of the 3D space 10 including the camera 102. The setting items 820 include information that can identify the camera 102, arbitrary settings such as the resolution, brightness, ISO, focal length, brightness, pixel size, angle of view, field of view, drawing distance, etc. of the camera 102, and the arrangement of the camera 102. is configured to be configurable. In a certain aspect, the information that can identify the camera 102 may be an arbitrary ID, a model number of the camera 102, or the like. In other aspects, the simulator 110 may change the settings displayed in the setting item 820 based on information that allows the camera 102 to be identified. As the user edits settings 820 for camera 102 , simulator 110 may update display 810 of 3D space 10 as seen through the lens of camera 102 and/or overhead display 840 of 3D space 10 including camera 102 .

図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 3D space 10 including the workpiece 150 and a setting item 920 for the light source 103 as main items. The user may adjust the position of light source 103 in 3D space 10 while referring to display 910.

設定項目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 light source 103, arbitrary settings such as the position (or direction), hue, saturation, and brightness of the light source 103, and arbitrary settings for ambient light. . In a certain aspect, the information that can identify the light source 103 may be an arbitrary ID, a model number of the light source (light) 103, or the like. In other aspects, the simulator 110 may change the settings displayed in the setting item 920 based on information that allows the light source 103 to be identified. The simulator 110 may update the display 910 by the user editing the settings 920 of the light source 103.

ある局面において、設定項目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) light sources 103. Further, the setting item 920 may be configured to allow selection of the type of light source 103 (spotlight, dome-shaped light, or other arbitrary light). Furthermore, the setting item 920 may be configured to allow selection of whether or not to include reflected light of the selected light in the light source 103. By including reflected light in the light source 103, the user can select the light source 103 that is most suitable for a type of workpiece 150 that is easily affected by reflection, such as a glossy workpiece 150 or a transparent workpiece 150.

図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 light source 103 using light rotation settings 930. More specifically, the user may adjust the position of light source 103 in 3D space 10 by moving point 935 representing light source 103 on circle 936. Note that the center of the circle indicates the location where the work 150 is located. Changes in the display 910 when the light source 103 moves are as shown in FIGS. 10 and 11.

図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 workpiece 150 in the 3D space 10 changes significantly due to the change in the arrangement of the light source 103. As the position and brightness of the light source 103 change, the image obtained by the camera 102 also changes. As a result, the correct answer rate of the analysis results of the image recognition engine also changes. In one aspect, the light source setting screen 900 may include a setting item 1000 for a filter for the workpiece 150. The user can change the appearance of the workpiece 150 by selecting a filter from the filter setting items 1000.

図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 camera 102. Referring to FIG. 12, it can be seen that changing the aperture (F number) also affects the focus of the camera 102. By adjusting the aperture (F number) and the like on the camera setting screen 800, the camera 102 can output an image in which the image recognition engine can easily detect the flaw 160 on the workpiece 150.

図13は、画像認識設定画面1300の一例を示す図である。画像認識設定画面1300は、主な項目として、画像の表示1310と、画像認識エンジンの設定項目1320とを含む。ユーザは、画像の表示1310および画像内の傷160の検出結果を参照しながら、画像認識エンジンの設定を調整し得る。 FIG. 13 is a diagram showing an example of an image recognition setting screen 1300. The image recognition setting screen 1300 includes an image display 1310 and an image recognition engine setting item 1320 as main items. The user may adjust settings of the image recognition engine while viewing the display 1310 of the image and the detection results of the flaws 160 in the image.

ある局面において、シミュレータ110は、ユーザが画像認識設定画面1300に入力した設定を画像認識エンジンのデフォルトの設定として使用してもよい。他の局面において、シミュレータ110は、画像認識エンジンの設定の調整処理(図1における第8のステップ)において、画像認識エンジンの設定を自動で調整する代わりに、画像認識設定画面1300を介して、ユーザから画像認識エンジンの設定の変更入力を受け付けてもよい。 In some aspects, simulator 110 may use settings entered by the user on image recognition settings screen 1300 as default settings for the image recognition engine. In another aspect, in the image recognition engine setting adjustment process (eighth step in FIG. 1), the simulator 110, instead of automatically adjusting the image recognition engine settings, via the image recognition setting screen 1300, An input to change the settings of the image recognition engine may be received from the user.

<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 CPU 1 may read a program for performing the processing shown in FIG. 14 from the secondary storage device 3 into the primary storage device 2, and execute the program. In other aspects, part or all of the processing may be implemented as a combination of circuit elements configured to perform the processing.

ステップS1405において、装置100は、ワーク設定画面を表示する。ここでのワーク設定画面は、第1のワーク設定画面400および/または第2のワーク設定画面500に相当する。なお、ワーク設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。 In step S1405, the apparatus 100 displays a work setting screen. The work setting screen here corresponds to the first work setting screen 400 and/or the second work setting screen 500. Note that the work setting screen may be a part of the UI 300 or may be an independent screen.

ステップS1410において、装置100は、ワーク150の設定を受け付ける。一例として、装置100は、ワーク150の材質、質量、摩擦係数、傷の入る力の閾値、個数等をワーク150の設定として受け付け得る。また、装置100は、ワーク150の周囲の環境情報(温度、湿度等)の入力を受け付けてもよい。 In step S1410, the apparatus 100 receives settings for the work 150. As an example, the apparatus 100 can accept the material, mass, friction coefficient, threshold value of force for causing damage, number of pieces, etc. of the workpiece 150 as settings for the workpiece 150. Further, the apparatus 100 may receive input of environmental information (temperature, humidity, etc.) around the workpiece 150.

ステップS1415において、装置100は、カメラ設定画面を表示する。ここでのカメラ設定画面は、カメラ設定画面800に相当する。なお、カメラ設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。 In step S1415, the device 100 displays a camera setting screen. The camera setting screen here corresponds to the camera setting screen 800. Note that the camera setting screen may be a part of the UI 300 or may be an independent screen.

ステップS1420において、装置100は、カメラ102の設定を受け付ける。一例として、装置100は、カメラ102を識別可能な情報、カメラ102の解像度、輝度、ISO、焦点距離、輝度、画素サイズ、画角、視野、描画距離、配置等をカメラ102の設定として受け付け得る。 In step S1420, the device 100 receives settings for the camera 102. As an example, the device 100 may accept information that can identify the camera 102, resolution, brightness, ISO, focal length, brightness, pixel size, angle of view, field of view, drawing distance, placement, etc. of the camera 102 as settings for the camera 102. .

ステップS1425において、装置100は、光源設定画面を表示する。ここでの光源設定画面は、光源設定画面900に相当する。なお、光源設定画面は、UI300の一部であってもよいし、独立した画面であってもよい。 In step S1425, the device 100 displays a light source setting screen. The light source setting screen here corresponds to the light source setting screen 900. Note that the light source setting screen may be a part of the UI 300 or may be an independent screen.

ステップS1430において、装置100は、光源103の設定を受け付ける。一例として、装置100は、光源103を識別可能な情報と、光源103の位置(または方向)、色合い、彩度、輝度等を光源103の設定として受け付け得る。 In step S1430, the device 100 receives settings for the light source 103. As an example, the device 100 can accept information that allows the light source 103 to be identified, as well as the position (or direction), hue, saturation, brightness, etc. of the light source 103 as settings for the light source 103.

ステップS1435において、装置100は、3D空間10において、各ワーク150の動きをシミュレートする。より具体的には、装置100は、ステップS1410にて入力されたワーク150の設定に基づいて、3D空間10内に1つ以上のワーク150を生成し、各ワーク150の衝突シミュレーションを実行する。また、装置100は、シミュレーションの実行画面(シミュレーションの実行画面600~620に相当)を出力する。 In step S1435, the apparatus 100 simulates the movement of each workpiece 150 in the 3D space 10. More specifically, the apparatus 100 generates one or more workpieces 150 in the 3D space 10 based on the settings of the workpieces 150 input in step S1410, and executes a collision simulation of each workpiece 150. Furthermore, the device 100 outputs a simulation execution screen (corresponding to the simulation execution screens 600 to 620).

ステップS1440において、装置100は、当たり判定に基づいて、各ワーク150に傷を生成する。より具体的には、装置100は、ワーク150の設定に基づいて、ワーク150にある一定以上(閾値以上)の力が加わったと判定した場合、ワーク150に傷を生成する。装置100は、ワーク150の3Dモデルデータの形状を変化させることにより(ポリゴンまたはメッシュ等を変化させることにより)、ワーク150の傷160を表現する。本ステップの処理は、図7の処理に相当する。 In step S1440, the apparatus 100 generates scratches on each workpiece 150 based on the hit determination. More specifically, when the apparatus 100 determines that a force of a certain value or more (a threshold value or more) is applied to the workpiece 150 based on the settings of the workpiece 150, the device 100 generates a scratch on the workpiece 150. The apparatus 100 expresses the flaws 160 on the workpiece 150 by changing the shape of the 3D model data of the workpiece 150 (by changing the polygons, mesh, etc.). The processing in this step corresponds to the processing in FIG.

ステップS1445において、装置100は、3D空間10に配置したカメラ102で、ワーク150を撮像する。より具体的には、装置100は、カメラ102の設定に基づいて、カメラ102を3D空間10に配置する。また、装置100は、カメラ102の設定に基づいて、カメラ102の設定を調整する。装置100は、配置および設定の調整を行ったカメラ102を用いて、ワーク150を撮像して、1枚以上の画像を生成する。 In step S1445, the apparatus 100 images the workpiece 150 with the camera 102 placed in the 3D space 10. More specifically, the device 100 positions the camera 102 in the 3D space 10 based on the settings of the camera 102. The device 100 also adjusts the settings of the camera 102 based on the settings of the camera 102. The apparatus 100 captures an image of the workpiece 150 using the camera 102 whose arrangement and settings have been adjusted, and generates one or more images.

ステップS1450において、装置100は、画像認識エンジンにより、画像から傷を検出する。画像認識エンジンは、3D空間10内に配置されたカメラ102から得られた1枚以上の画像を解析して、当該1枚以上の画像に映ったワーク150上の傷160を検出する。 In step S1450, the device 100 uses the image recognition engine to detect flaws from the image. The image recognition engine analyzes one or more images obtained from the camera 102 placed in the 3D space 10 and detects a flaw 160 on the workpiece 150 that appears in the one or more images.

ステップS1455において、装置100は、撮像および画像認識を規定回数繰り返したか否かを判定する。ある局面において、装置100は、UI300を介して、撮像および画像認識を実行する回数の入力をシミュレーションの設定の一部としてユーザから受け付けてもよい。装置100は、撮像および画像認識を規定回数繰り返したと判定した場合(ステップS1455にてYES)、制御をステップS1465に移す。そうでない場合(ステップS1455にてNO)、装置100は、制御をステップS1460に移す。 In step S1455, the device 100 determines whether imaging and image recognition have been repeated a specified number of times. In one aspect, the apparatus 100 may receive an input from the user via the UI 300 about the number of times imaging and image recognition are to be performed as part of simulation settings. If the device 100 determines that the imaging and image recognition have been repeated the specified number of times (YES in step S1455), the control moves to step S1465. Otherwise (NO in step S1455), the device 100 moves control to step S1460.

ステップS1460において、装置100は、カメラ102および光源103の設定を変更する。装置100は、カメラ102および光源103の設定を変更して、ステップS1440~S1450までの処理を繰り返し実行することで、デフォルト設定の画像認識エンジンが傷160を検出しやすいカメラ102および光源103の設定を発見し得る。 In step S1460, the device 100 changes the settings of the camera 102 and light source 103. The device 100 changes the settings of the camera 102 and light source 103 and repeatedly executes the processes from steps S1440 to S1450, thereby adjusting the settings of the camera 102 and light source 103 so that the default image recognition engine can easily detect the flaw 160. can be discovered.

ステップ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 device 100 adjusts the settings of the image recognition engine. More specifically, the apparatus 100 repeatedly executes the process of detecting the flaw 160 on the workpiece 150 while adjusting the settings of the image recognition engine on the images obtained through the processes from steps S1440 to S1460. Thereby, the device 100 can discover image recognition engine settings that have a higher detection rate for the flaws 160. In one aspect, the device 100 may select settings for the camera 102 and light source 103 that allow the default image recognition engine to most easily detect the flaw 160 based on the execution result of the process in step S1450. The apparatus 100 may then perform the process of this step on one or more images captured using the selected settings of the camera 102 and light source 103. In another aspect, the device 100 executes the process of this step on one or more images captured using each of the settings of all the cameras 102 and light sources 103 used in the process of step S1450. It's okay. Through the processing in this step, the device 100 can discover image recognition engine settings that have a high detection rate for the flaws 160.

ステップ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 device 100 outputs a combination of settings for the camera 102, light source 103, and image recognition engine. More specifically, the device 100 outputs the combination of settings of the camera 102, light source 103, and image recognition engine that has the highest detection rate of the flaw 160 based on the results of the processing from steps S1440 to S1465. In one aspect, the apparatus 100 may output a plurality of combinations of settings of the camera 102, light source 103, and image recognition engine that have a high detection rate of the flaw 160, based on the results of the processing from steps S1440 to S1465. Furthermore, in another aspect, the device 100 outputs the output data without including the settings of the image recognition engine in the output data, but including only the combination of settings of the camera 102 and the light source 103 that have a high detection rate of the flaw 160. You may. For example, the device 100 may receive in advance, via the UI 300, an input from the user specifying the type of settings to be included in the output data. If the user already has image recognition engine settings with a certain level of precision, etc., the user can omit step S1465 and obtain simulation execution results quickly by not including the image recognition engine settings in the output data. I can do it.

ある局面において、装置100は、装置100に接続されたディスプレイにワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面を表示してもよい。他の局面において、装置100は、ワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面の情報をユーザの端末に送信してもよい。この場合、ユーザの端末はブラウザまたはクライアントソフトウェアにより、ワーク設定画面、カメラ設定画面、光源設定画面、シミュレーションの実行画面、シミュレーションの結果画面をディスプレイに表示し得る。 In one aspect, the device 100 may display a work setting screen, a camera setting screen, a light source setting screen, a simulation execution screen, and a simulation result screen on a display connected to the device 100. In another aspect, the apparatus 100 may transmit information on a work setting screen, a camera setting screen, a light source setting screen, a simulation execution screen, and a simulation result screen to the user's terminal. In this case, the user's terminal can display a work setting screen, a camera setting screen, a light source setting screen, a simulation execution screen, and a simulation result screen on the display using the browser or client software.

以上説明した通り、本実施の形態に従う装置100は、3D空間10内でワーク150の衝突シミュレーションを行い、ワーク150に仮想的な傷160を生成する。また、装置100は、入力されたカメラ102の設定および光源103の設定に基づいて、3D空間10内でワーク150の傷160を撮像する。また、装置100は、画像内の傷160の検出処理を繰り返し実行して、画像認識エンジンの設定を調整する。さらに、装置100は、シミュレーションの実行結果に基づいて、ワーク150の傷160の検出率が高いカメラ102、光源103、画像認識エンジンの設定の組み合わせを出力する。ユーザは、出力された設定の組み合わせを参照することで、ラインの構築前であっても、ラインで使用されるカメラ、光源、画像認識エンジンの設定を検討または調整し得る。 As described above, the apparatus 100 according to the present embodiment performs a collision simulation of the workpiece 150 in the 3D space 10 and generates a virtual scratch 160 on the workpiece 150. Furthermore, the apparatus 100 images the scratches 160 on the workpiece 150 in the 3D space 10 based on the input settings of the camera 102 and the settings of the light source 103. Additionally, the device 100 repeatedly performs the process of detecting flaws 160 in the image and adjusts the settings of the image recognition engine. Further, the apparatus 100 outputs a combination of settings for the camera 102, light source 103, and image recognition engine that has a high detection rate of the flaws 160 on the workpiece 150, based on the results of the simulation. By referring to the output combination of settings, the user can consider or adjust the settings of the camera, light source, and image recognition engine used in the line even before the line is constructed.

<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 1, wherein the output unit (312) outputs settings of the selected image recognition engine.
[Configuration 3]
The camera setting unit (302) is the device according to configuration 1 or 2 ( 100).
[Configuration 4]
The device (100) according to any one of configurations 1 to 3, wherein the light source setting unit (303) is configured to be able to accept settings for one or more lights and settings for ambient light.
[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 configurations 1 to 4, is configured to be able to accept some or all of the 3D model data.
[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 configurations 1 to 5. (100).
[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 3D space 10 seen from the lens of camera 102, 820, 920, 1320 Setting items, 840 Overhead display of 3D space 10 including camera 102 , 900, 900A, 900B Light source setting screen, 910, 1310 Display, 930 Rotation setting item, 935 Point, 936 Yen, 1000 Filter setting item, 1010 First position, 1110 Second position, 1300 Image recognition setting screen.

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.
前記カメラ設定部は、前記カメラの識別情報の入力と、前記識別情報に関連付けられた前記カメラの設定項目の入力とを受け付け可能に構成される、請求項1または2に記載の装置。 The device according to claim 1 or 2, wherein the camera setting section is configured to be able to receive input of identification information of the camera and input of setting items of the camera associated with the identification information. 前記光源設定部は、1つ以上のライトの設定と、環境光の設定とを受付可能に構成される、請求項1~3のいずれか1項に記載の装置。 The apparatus according to any one of claims 1 to 3, wherein the light source setting section is configured to be able to accept settings for one or more lights and settings for ambient light. 前記ワーク設定部は、前記ワークの材質の設定、生成される前記ワークの数の設定、前記ワークが置かれる環境の設定、および、前記ワークの3Dモデルデータの一部または全てを受付可能に構成される、請求項1~4のいずれか1項に記載の装置。 The workpiece setting unit is configured to be able to accept settings for the material of the workpiece, settings for the number of the workpieces to be generated, settings for the environment in which the workpiece is placed, and part or all of 3D model data for the workpiece. The device according to any one of claims 1 to 4, wherein: 前記傷生成部は、前記ワークを構成するポリゴンまたはメッシュを変化させることにより、前記ワークに前記傷を生成する、請求項1~5のいずれか1項に記載の装置。 The apparatus according to any one of claims 1 to 5, wherein the flaw generating section generates the flaws on the workpiece by changing polygons or meshes forming the workpiece. コンピュータがワークの傷検出のシミュレーションを実行するための方法であって、
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.
JP2022031704A 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 Pending JP2023127798A (en)

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)

* Cited by examiner, † Cited by third party
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

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