CN109614830B - 识别代码读取装置以及机器学习装置 - Google Patents
识别代码读取装置以及机器学习装置 Download PDFInfo
- Publication number
- CN109614830B CN109614830B CN201811158864.0A CN201811158864A CN109614830B CN 109614830 B CN109614830 B CN 109614830B CN 201811158864 A CN201811158864 A CN 201811158864A CN 109614830 B CN109614830 B CN 109614830B
- Authority
- CN
- China
- Prior art keywords
- identification code
- image
- read
- ideal
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Toxicology (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种识别代码读取装置以及机器学习装置。识别代码读取装置具备机器学习装置,该机器学习装置学习与通过视觉传感器读取的识别代码的图像相对的该识别代码的理想图像的推定。该机器学习装置观测与通过视觉传感器读取的识别代码的图像相关的读取图像数据来作为表示环境的当前状态的状态变量,并且取得与识别代码的理想图像相关的理想图像数据来作为标签数据。然后,使用这些观测到的状态变量与取得的标签数据,将读取图像数据与理想图像数据关联起来进行学习。
Description
技术领域
本发明涉及识别代码读取装置以及机器学习装置。
背景技术
作为在产品的表面赋予一维条形码或QR代码(注册商标)、数据矩阵等识别代码的方法,例如具有将打印了识别代码的标签粘贴在产品的表面的方法和通过打印机、激光打标机、钻头等在产品的表面上进行直接刻印识别代码的加工的直接标记方法等。
一般使用视觉传感器等来读取在产品的表面上赋予的识别代码。图6表示能够在产品表面赋予识别代码以及读取在产品表面赋予的识别代码的机器人的例子。
当向产品50赋予识别代码时,机器人控制器2指令机器人5使得识别代码赋予装置3移动到产品50的预定位置,并且指令识别代码赋予装置3在产品50的预定位置赋予识别代码。然后,识别代码赋予装置3从识别代码生成装置6取得识别代码的形状,并且在产品50的表面赋予该识别代码。另外,在读取产品50被赋予的识别代码时,机器人控制器2指令机器人5使得视觉传感器4移动到产品50的预定位置,并且指令识别代码读取装置1来读取产品50被赋予的识别代码。然后,识别代码读取装置1经由视觉传感器4读取在产品50的表面赋予的识别代码。另外,在图6中标记51是放置产品50的作业台。
但是,在读取在产品表面赋予的识别代码时,当产品的被赋予了识别代码的部位不平坦时,或者光对于被赋予了识别代码的位置的照射角度或观察位置不恰当时等,会由于各种原因使识别代码的读取失败。在日本特开2017-059266号公报中公开了用于解决这样问题的现有技术的一例。
作为在产品表面赋予的识别代码的读取失败的事例,例如具有以下情况。
·黑条和白条之间的对比度低
·检测出的黑条与白条反转
·由于产品的表面形状等原因,检测出的识别代码的形状失真
·通过打痕或钻孔等形成,未严格地满足识别代码的标准
·由于附着在表面的切削液等的影响,检测出的识别代码的部分的色彩不同。
在上述的识别代码的读取失败的事例中,即使是在相同的产品的表面赋予的识别代码,通过视觉传感器等检测出的图像的画面情况也会根据其状况变得各种各样。但是,在上述现有技术中,虽然能够应对特定的情况,但是无法对应上述各种状况。
发明内容
因此,本发明的目的在于,提供一种即使是不适合读取的识别代码也能够恰当地读取的识别代码读取装置以及机器学习装置。
本发明中,使用机器学习将不适合读取的识别代码的图像修复为适合读取的识别代码的图像,从而解决上述问题。本发明中通过以下的步骤来实现要导入的修复方法。
·步骤1)决定要设为识别代码的字符串。
·步骤2)从字符串生成理想的识别代码,将其设为训练数据。
·步骤3)在实际读取识别代码的面赋予识别代码。
·步骤4)将在各种状况下对所赋予的识别代码进行拍摄而得到的图像设为输入数据。
·步骤5)收集多个将输入数据与训练数据的对设为学习数据的数据。
·步骤6)通过这些学习数据来进行学习器的学习。
当向通过以上的步骤推进学习的机器学习装置输入了识别代码的图像时,输出理想的识别代码的图像。然后,通过对理想的识别代码图像进行解码,能够容易地读取识别代码。并且,还能够对各种材料或形状的产品进行同样的操作,取得学习数据来进行学习。由此,不仅能够修复单一的材料或形状的产品被赋予的识别代码,还能够修复各种材料或形状的产品被赋予的识别代码。
本发明一个方式的识别代码读取装置使用视觉传感器来读取在产品的表面赋予的识别代码,其具备:机器学习装置,其学习识别代码的理想图像的推定,该识别代码的理想图像是与通过上述视觉传感器读取的上述识别代码的图像相对的理想图像。并且,上述机器学习装置具备:状态观测部,其观测与通过上述视觉传感器读取的识别代码的图像相关的读取图像数据,来作为表示环境的当前状态的状态变量;标签数据取得部,其取得与上述识别代码的理想图像相关的理想图像数据,来作为标签数据;以及学习部,其使用上述状态变量和上述标签数据,将上述读取图像数据与上述理想图像数据关联起来进行学习。
上述识别代码读取装置能够具备图像输出部,其使用上述学习部的学习结果,根据上述读取图像数据推定上述识别代码的理想图像并输出。并且,上述图像输出部能够基于根据多个读取图像数据中的各个读取图像数据推定出的上述识别代码的多个理想图像来推定上述识别代码的理想图像并输出。
上述状态观测部还可以观测与上述产品的材料、表面处理的方法或者赋予识别代码的方法相关的赋予状态数据,来作为表示环境的当前状态的状态变量。
上述读取图像数据可以是通过控制在机械臂前端部固定了上述视觉传感器或者在机械臂前端部抓持了上述产品的机器人来读取上述识别代码而得到的图像数据。
本发明的另一方式的机器学习装置学习识别代码的理想图像的推定,该识别代码的理想图像是与通过视觉传感器读取的上述识别代码的图像相对的理想图像,该机器学习装置具备:状态观测部,其观测与通过上述视觉传感器读取的识别代码的图像相关的读取图像数据,来作为表示环境的当前状态的状态变量;标签数据取得部,其取得与上述识别代码的理想图像相关的理想图像数据来作为标签数据;以及学习部,其使用上述状态变量和上述标签数据,将上述读取图像数据与上述理想图像数据关联起来进行学习。
根据本发明,能够将不适合读取的识别代码修复为适合读取的识别代码,因此能够恰当地读取根据状况无法读取的识别代码。
附图说明
图1是一实施方式的识别代码读取装置的概要硬件结构图。
图2是一实施方式的识别代码读取装置的概要功能框图。
图3是另一实施方式的识别代码读取装置的概要功能框图。
图4A说明神经元。
图4B说明神经网络。
图5是表示组装了识别代码读取装置的系统的一个方式的概要功能框图。
图6是表示现有技术的识别代码读取装置的例子的概要结构图。
具体实施方式
图1是表示第一实施方式的识别代码读取装置的主要部件的概要硬件结构图。
例如,能够作为经由接口或有线/无线网络与控制机器人的机器人控制器相连接的个人计算机等计算机来安装识别代码读取装置1。另外,例如,能够作为经由接口或有线/无线网络与控制机器人的机器人控制器相连接的单元计算机、主计算机、云计算机等服务器计算机来安装识别代码读取装置1。
本实施方式的识别代码读取装置1所具备的CPU11是整体控制识别代码读取装置1的处理器。CPU11经由总线20读出在ROM12中存储的系统程序,并按照该系统程序来控制识别整个代码读取装置1。在RAM13中暂时存储暂时的计算数据和显示数据、由操作员经由未图示的输入部输入的各种数据等。
非易失性存储器14构成为一种存储器,例如通过未图示的电池进行支援等,即使识别代码读取装置1的电源被切断也能够保持存储状态。非易失性存储器14中存储了作业人员经由未图示的输入装置输入的各种数据。非易失性存储器14中存储的各种数据在使用时可以在RAM13中展开。另外,在ROM12中预先写入识别代码读取装置1的动作所需要的各种系统程序(包括用于控制与后述的机器学习装置100的数据交换的系统程序)。
识别代码读取装置1当经由接口18从控制机器人5的机器人控制器2接受了指令时,经由接口19从视觉传感器4取得识别代码的图像,由此读取识别代码。
接口21是用于将识别代码读取装置1与机器学习装置100连接的接口。机器学习装置100具备综合控制整个机器学习装置100的处理器101、存储了系统程序等的ROM102、用于进行与机器学习有关的各个处理中的暂时存储的RAM13以及用于存储学习模型等的非易失性存储器104。机器学习装置100能够经由接口21观测识别代码读取装置1读取的识别代码的图像等。另外,识别代码读取装置1进行以下解码处理:解析从机器人学习装置100输出的理想的识别代码的图像。
图2是第一实施方式的识别代码读取装置1和机器学习装置100的概要功能框图。
图2所示的各个功能块通过由图1所示的识别代码读取装置1所具备的CPU11以及机器学习装置100的处理器101执行各自的系统程序,控制识别代码读取装置1以及机器学习装置100的各部的动作来实现。本实施方式的识别代码读取装置1具备解码部30和输出部40。
解码部30针对从机器学习装置100输出的理想的识别代码的图像执行与该识别代码的种类对应的解码处理,由此对该识别代码的源字符串进行解码。关于解码部30执行的解码处理,能够直接使用一般的识别代码的解码处理。
输出部40将通过解码部30进行解码后的字符串输出给显示装置等外部装置。
另一方面,识别代码读取装置1所具备的机器学习装置100学习模型构造,该模型构造表示通过视觉传感器4观测到的识别代码的图像与理想的识别代码的图像之间的关系。如图2的功能块所示,识别代码读取装置1所具备的机器学习装置100具备:状态观测部106,其观测通过视觉传感器4观测到的识别代码,来作为包含与该图像相关的读取图像数据S1的状态变量S;标签数据取得部108,其取得包含与该识别代码的理想图像相关的理想图像数据L1的标签数据L;学习部110,其使用状态变量S和标签数据L来学习读取的识别代码的图像与理想的识别代码的图像之间的相关性;以及图像输出部122,其输出使用学习部110已学习的模型从所读取的识别代码的图像推定出的理想的识别代码的图像。
在状态观测部106观测的状态变量S中的读取图像数据S1中,能够使用通过视觉传感器4读取控制机器人5在产品的表面赋予的识别代码而得到的图像信息,或者能够使用通过其他的拍摄单元对在产品的表面赋予的识别代码进行拍摄并经由接口(未图示)由识别代码读取装置1取得的图像信息。读取图像数据S1的数据数量(像素数量)可以标准化,使得适合作为学习部110的输入数据。
标签数据取得部108在学习部110的学习时,取得与识别代码的理想图像相关的理想图像数据L1来作为标签数据L。在理想图像数据L1中,例如能够使用识别代码生成装置6所生成的识别代码的图像。或者,关于理想图像数据L1,例如可以从成为识别代码的来源的字符串等生成为理想的图像。或者,在理想图像数据L1中可以使用在理想的位置关系以及照明状态下通过机器人5所具备的视觉传感器4对在产品的表面赋予的识别代码进行拍摄而得到的图像。理想图像数据L1的数据数量(像素数量)可以标准化,使得适合作为学习部110的输出数据。标签数据取得部108在学习部110的学习时使用,在学习部110的学习完成后不需要作为机器学习装置100所必须的结构。
学习部110按照被总称为机器学习的任意学习算法来学习与状态变量S(与识别代码的图像相关的读取图像数据S1)相对的标签数据L(与识别代码的理想图像相关的理想图像数据L1)。学习部110例如能够学习状态变量S中包含的读取图像数据S1与标签数据L中包含的理想图像数据L1之间的相关性。学习部110能够根据包含状态变量S与标签数据L的数据集合来反复执行学习。
在学习部110的学习中,优选针对1个识别代码执行使用了多个读取图像数据S1的多个学习循环。更具体地说,针对在产品的表面赋予的一个识别代码,使用在各种拍摄条件(视觉传感器4相对于产品表面的角度的变更、光照射情况的变更、切削液等造成的污染情况的变更等)下拍摄到的多个读取图像数据S1中的各个读取图像数据S1以及与该识别代码相关的理想图像数据L1,执行多个学习循环。另外,还针对不同的识别代码执行多个学习循环。
通过重复这样的学习循环,学习部110自动地解释通过视觉传感器4读取在产品表面赋予的识别代码而得到的图像(读取图像数据S1)与该识别代码的理想图像(理想图像数据L1)之间的相关性。在学习算法开始时,理想图像数据L1针对读取图像数据S1的相关性实质上是未知的,但是随着学习部110推进学习,慢慢地解释读取图像数据S1与理想图像数据L1之间的关系,通过使用作为其结果而得到的已学习模型,能够解释理想图像数据L1针对读取图像数据S1的相关性。
图像输出部122根据学习部110学习的结果(已学习模型),从识别数据的图像推定该识别数据的理想图像,其中,该识别数据的图像是从视觉传感器4得到的,将推定出的理想的识别数据的图像输出给解码部30。图像输出部122可以从在产品的表面赋予的识别代码的一个图像来推定该识别数据的理想的图像。另外,图像输出部122取得在产品的表面赋予的识别代码的多个图像(例如,变更视觉传感器4相对于产品的角度而拍摄到的多个图像),将从该多个图像分别推定出的该识别数据的理想图像进行比较,(例如使用多数决定逻辑等)来推定该识别数据的理想的图像。
作为识别代码读取装置1的一个变形例,状态观测部106除了观测读取图像数据S1以外,还可以观测与产品的材料、产品的表面处理的方法、在产品的表面赋予识别代码的方法相关的赋予状态数据S2,来作为状态变量S。关于赋予状态数据S2,例如由作业人员经由未图示的输入装置等在非易失性存储器14等中预先进行设定,状态观测部106通过参照非易失性存储器14来取得。
根据上述变形例,机器学习装置100考虑到被赋予了识别代码的材料,能够学习从产品的表面被赋予的识别代码的图像来推定该识别代码的理想图像,因此能够以更高的精度来推定理想的识别代码的图像。
在具有上述结构的机器学习装置100中,没有特别限定学习部110执行的学习算法,作为机器学习能够采用公知的学习算法。图3是图2所示的识别代码读取装置1的另一方式,表示了具备作为学习算法的另一个例子执行有监督学习的学习部110的结构。有监督学习是以下的方法:赋予输入以及与该输入对应的输出的已知的数据集(称为训练数据),根据这些训练数据来识别暗示输入与输出之间的相关性的特征,由此来学习用于推定与新的输入相对的所需的输出的相关性模型。
在图3所示的识别代码读取装置1所具备的机器学习装置100中,学习部110具备:误差计算部112,其计算相关性模型M与从作为识别代码的理想图像而得到的训练数据T识别出的相关性特征之间的误差E,其中,相关性模型M用于从状态变量S中包含的通过视觉传感器4读取在产品的表面赋予的识别代码而得到的图像,推定该识别代码的理想图像;以及模型更新部114,其更新相关性模型M使得缩小误差E。学习部110通过由模型更新部114重复相关性模型M的更新来学习从通过视觉传感器4读取在产品的表面赋予的识别代码而得到的图像来推定该识别代码的理想图像。
相关性模型M的初始值例如是简单(例如通过一次函数)地表现了状态变量S与识别代码的理想图像(构成理想图像的各个像素)之间的相关性的模型,在开始有监督学习之前提供给学习部110。关于训练数据T,在本发明中例如能够使用识别代码生成装置6生成的识别代码的图像,在识别代码读取装置1的初期使用时随时提供给学习部110。误差计算部112根据随时提供给学习部110的训练数据T,识别暗示通过视觉传感器4读取在产品的表面赋予的识别代码而得到的图像与该识别代码的理想图像之间的相关性的相关性特征,求出该相关性特征与当前状态下的状态变量S以及标签数据L所对应的相关性模型M之间的误差E。模型更新部114例如按照预先决定的更新规则,向误差E变小的方向更新相关性模型M。
在接下来的学习循环中,误差计算部112按照更新后的相关性模型M使用状态变量S来推定识别代码的理想图像,求出该推定结果与实际取得的标签数据L之间的误差E,模型更新部114再次更新相关性模型M。如此,未知环境的当前状态和与其相对的图像的推定之间的相关性逐渐变得明确。
在推进上述有监督学习时,能够使用神经网络。图4A示意地表示神经元的模型。图4B示意地表示组合图4A所示的神经元而构成的三层神经网络的模型。神经网络例如由对神经元的模型进行模拟的运算装置和存储装置等构成。
图4A所示的神经元输出与多个输入x(这里作为一例为输入x1~输入x3)相对的结果y。对各个输入x1~x3乘以与该输入x对应的权重w(w1~w3)。由此,神经元输出通过以下式(1)表现的结果y。另外,在式(1)中,输入x、结果y以及权重w都是向量。另外,θ是偏置,fk是激活函数。
图4B所示的三层神经网络从左侧输入多个输入x(这里作为一例为输入x1~输入x3),从右侧输出结果y(这里作为一例为结果y1~y3)。在图示的例子中,对输入x1、x2、x3分别乘以对应的权重(用w1统称表示),将各个输入x1、x2、x3均输入到3个神经元N11、N12、N13。
在图4B中,用z1统称表示神经元N11~N13各自的输出。z1能够视为提取了输入向量的特征量后的特征向量。在图示的例子中,对特征向量z1分别乘以对应的权重(用w2统称表示),将各个特征向量z1均输入到2个神经元N21、N22。特征向量z1表示权重w1与权重w2之间的特征。
在图4B中,用z2统称表示神经元N21~N22各自的输出。z2能够视为提取了特征向量z1的特征量后的特征向量。在图示的例子中,对特征向量z2分别乘以对应的权重(用w3统称表示),将各个特征向量z2均输入到3个神经元N31、N32、N33。特征向量z2表示权重w2与权重w3之间的特征。最后,神经元N31~N33分别输出结果y1~y3。
另外,还能够使用所谓的深度学习的方法,该深度学习使用了成为三层以上的层次的卷积神经网络(包含CNN:Convolutional Neural Network)。
在识别代码读取装置1所具备的机器学习装置100中,将状态变量S作为输入x,学习部110按照上述神经网络进行多层构造的运算,由此能够根据从视觉传感器4取得的识别代码图像的各个像素值(输入x)来推定理想的识别代码图像的各个像素值(结果y)。另外,在神经网络的动作模式中具有学习模式和价值预测模式,例如在学习模式中能够使用学习数据集来学习权重w,能够使用学习的权重w在价值预测模式中进行行为的价值判断。另外,在价值预测模式中还能够进行检测、分类、推论等。
上述的机器学习装置100的结构能够记述为处理器101分别执行的机器学习方法(或软件)。该机器学习方法是学习从识别代码的图像推定理想的识别代码的图像,其中,上述识别代码的图像从视觉传感器4取得,该机器学习方法具有以下步骤:处理器101观测通过视觉传感器4读取在产品的表面赋予的识别代码而得到的图像(读取图像数据S1),来作为表示当前状态的状态变量S;处理器101取得识别代码的理想图像(理想图像数据L1)来作为标签数据L;以及处理器101使用状态变量S与标签数据L,将读取图像数据S1与理想图像数据L1关联起来进行学习。
通过机器学习装置100的学习部110进行学习而得到的已学习模型能够作为与机器学习有关的软件的一部分即程序模块来使用。能够由具备CPU或GPU等处理器以及存储器的计算机来使用本发明的已学习模型。更具体地说,计算机的处理器按照来自存储器中存储的已学习模型的指令进行动作,使得将在产品的表面赋予的识别代码的图像作为输入来进行运算,根据运算结果输出该识别代码的理想图像的推定结果。能够经由外部存储介质或网络等对其他计算机进行复制来使用本发明的已学习模型。
另外,在针对其他计算机复制本发明的已学习模型并在新的环境下使用时,能够根据在该环境得到的新的状态变量和判定数据对该已学习模型进行进一步的学习。在这种情况下,能够得到从该环境下的已学习模型派生出的已学习模型(以下称为派生模型)。
本发明的派生模型在根据在产品的表面赋予的识别代码的图像输出该识别代码的理想图像的推定结果这一点上与原本的已学习模型相同,但是不同点在于,输出比原本的已学习模型更适合新环境的结果。也能够经由外部存储介质或网络等对其他计算机进行复制来使用该派生模型。
并且,还能够使用通过向安装了本发明的已学习模型的机器学习装置进行输入而得到的输出,生成在其他机器学习装置中通过从1开始进行学习而得到的已学习模型(以下称为蒸馏模型),并使用该蒸馏模型(将这样的学习过程称为蒸馏)。在蒸馏中,将原本的已学习模型还称为教师模型,将新生成的蒸馏模型还称为学生模型。虽然蒸馏模型的尺寸一般比原本的已学习模型小,但仍会得到与原本的已学习模型相同的正确度,因此更适合于经由外部存储介质或网络等向其他计算机进行散发。
图5表示具有多个机器人控制器2的一个实施方式的系统170,该机器人控制器2用于控制具备视觉传感器4(未图示)的机器人5。
系统170构成为,具备识别代码读取装置1、对至少具备视觉传感器4的机器人5进行控制的多个机器人控制器2以及将它们相互连接的有线/无线网路172。可以构成为,不是将视觉传感器4(固定地或者由机械臂抓持)安装在机器人的机械手前端,而是将视觉传感器4固定设置在任意的位置,通过机器人的机械手来抓持产品。
具有上述结构的系统170由识别代码读取装置1所具备的机器学习装置100的学习部110学习由各个机器人5所具备的视觉传感器4读取的(然后经由机器人控制器2取得的)识别代码的图像与该识别代码的理想图像之间的关系,使用该学习结果,从各个机器人5所具备的视觉传感器4读取的识别代码的图像自动且正确地推定该识别代码的理想图像。根据这样的系统170的结构,经由多个机器人控制器2取得更多样的数据集合(包含状态变量S),将取得的数据集合作为输入,能够提高由各个机器人5所具备的视觉传感器4读取的识别代码的图像与该识别代码的理想图像之间的关系的学习速度和可靠性。
系统170能够采取以下结构:作为与网络172连接的云服务器等来安装识别代码读取装置1。根据该结构,不管多个机器人控制器2各自所存在的场所和时期,能够在必要的时候将必要数量的视觉传感器4(对具备视觉传感器4的机器人5进行控制的机器人控制器2)与机器人学习装置100连接。
另外,通过使用机器人,还能够通过状态变量S大量地取得标签数据L的组。例如考虑将本发明的结构导入到图6所示的机器人控制器2的情况。为了向产品赋予识别代码,机器人控制器2指令机器人5使识别代码赋予装置3移动到产品50的预定位置。然后,指令识别代码赋予装置3在产品50的预定位置赋予识别代码。识别代码赋予装置3从识别代码生成装置6取得识别代码的理想形状,识别代码赋予装置3在产品50的表面赋予该识别代码。另外,在图6中,(固定地或者通过机械臂抓持)将识别代码赋予装置3安装在机器人的机械手前端,但是也可以构成为,将识别代码赋予装置3固定设置在任意的位置,并通过机器人的机械手来抓持产品50。
为了读取产品50被赋予的识别代码,机器人控制器2指令机器人5使视觉传感器4移动到产品50的预定位置,并且指令识别代码读取装置1读取产品50被赋予的识别代码。然后,识别代码读取装置1经由视觉传感器4读取在产品50的表面赋予的识别代码。通过对多个产品或产品的多个部位实施这种处理,能够通过状态变量S大量地取得标签数据L的组。并且,在读取识别代码时,通过变更视觉传感器4的位置或变更所使用的照明的种类和亮度,能够取得在各种条件下的识别代码的图像。另外,在图6中,(固定地或通过机械臂抓持)将视觉传感器4安装在机器人的机械手前端,但是也可以构成为,将视觉传感器4固定设置在任意的位置,通过机器人的机械手来抓持产品。
以上,说明了本发明的实施方式,但本发明不仅限于上述实施方式的例子,通过增加适当的变更能够以各种方式来实施。
例如,机器学习装置100所执行的学习算法、机器学习装置100所执行的运算算法等不限于上述情况,而能够采用各种算法。
另外,在上述实施方式中说明了识别代码读取装置1和机器学习装置100具有不同的CPU(处理器)的装置,但是也可以通过识别代码读取装置1所具备的CPU11和存储在ROM12中的系统程序来实现机器学习装置100。
在上述实施方式中,通过机器人来读取在产品的表面赋予的识别代码,但是也可以通过持有视觉传感器4的作业人员的手来进行该作业。
另外,在上述实施方式中,针对视觉传感器4进行拍摄而得到的识别代码的图像未进行标准化以外的预处理,但是在由学习部110推定理想图像之前,可以对图像进行变换,使得图像中映现的识别代码的位置、姿势以及大小变得与理想的识别代码相同。
Claims (5)
1.一种识别代码读取装置,其使用视觉传感器来读取在产品的表面赋予的识别代码,其特征在于,
上述识别代码读取装置具备机器学习装置,该机器学习装置学习与通过上述视觉传感器读取的识别代码的图像相对的上述识别代码的理想图像的推定,
上述机器学习装置控制上述视觉传感器相对于上述识别代码定位,或者控制上述识别代码相对于上述视觉传感器的位置,并且控制上述视觉传感器读取上述识别代码,
上述机器学习装置具备:
状态观测部,其观测与通过上述视觉传感器读取的识别代码的图像相关的读取图像数据,来作为表示环境的当前状态的状态变量;
标签数据取得部,其取得与上述识别代码的理想图像相关的理想图像数据,来作为标签数据;
学习部,其使用上述状态变量和上述标签数据,将上述读取图像数据与上述理想图像数据关联起来进行学习;以及
图像输出部,其根据上述读取图像数据推定上述识别代码的理想图像并输出。
2.根据权利要求1所述的识别代码读取装置,其特征在于,
上述图像输出部基于根据多个读取图像数据中的各个读取图像数据推定的上述识别代码的多个理想图像来推定上述识别代码的理想图像并输出。
3.根据权利要求1所述的识别代码读取装置,其特征在于,
上述状态观测部还观测与上述产品的材料、表面处理的方法或者赋予识别代码的方法相关的赋予状态数据,来作为表示环境的当前状态的状态变量。
4.根据权利要求1所述的识别代码读取装置,其特征在于,
上述视觉传感器被固定在机械臂前端部或者由机械臂前端部抓持上述产品来读取上述识别代码。
5.一种机器学习装置,其学习与通过视觉传感器读取的识别代码的图像相对的上述识别代码的理想图像的推定,其特征在于,
上述机器学习装置控制上述视觉传感器相对于上述识别代码定位,或者控制上述识别代码相对于上述视觉传感器的位置,并且控制上述视觉传感器读取上述识别代码,
上述机器学习装置具备:
状态观测部,其观测与通过上述视觉传感器读取的识别代码的图像相关的读取图像数据,来作为表示环境的当前状态的状态变量;
标签数据取得部,其取得与上述识别代码的理想图像相关的理想图像数据来作为标签数据;
学习部,其使用上述状态变量和上述标签数据,将上述读取图像数据与上述理想图像数据关联起来进行学习;以及
图像输出部,其根据上述读取图像数据推定上述识别代码的理想图像并输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-194037 | 2017-10-04 | ||
JP2017194037A JP6683666B2 (ja) | 2017-10-04 | 2017-10-04 | 識別コード読取装置及び機械学習装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614830A CN109614830A (zh) | 2019-04-12 |
CN109614830B true CN109614830B (zh) | 2021-06-01 |
Family
ID=65728142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811158864.0A Active CN109614830B (zh) | 2017-10-04 | 2018-09-30 | 识别代码读取装置以及机器学习装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10960550B2 (zh) |
JP (1) | JP6683666B2 (zh) |
CN (1) | CN109614830B (zh) |
DE (1) | DE102018007826A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7522435B2 (ja) | 2020-05-21 | 2024-07-25 | 国立大学法人 鹿児島大学 | コード復号装置、コード復号方法及びプログラム |
EP3961477B1 (en) | 2020-08-24 | 2023-06-07 | Saint-Gobain Glass France | Method for detecting and reading a matrix code marked on a glass substrate |
US11854163B2 (en) | 2021-01-18 | 2023-12-26 | Keyence Corporation | Optical information reading device |
US11694048B2 (en) | 2021-03-03 | 2023-07-04 | Keyence Corporation | Optical information reading device |
WO2022211064A1 (ja) * | 2021-03-31 | 2022-10-06 | 株式会社デンソーウェーブ | 情報読取装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3822592B2 (ja) * | 2003-10-24 | 2006-09-20 | 東芝テリー株式会社 | 無線タグ所有物体の特定装置及び方法 |
JP2007090448A (ja) * | 2005-09-27 | 2007-04-12 | Honda Motor Co Ltd | 二次元コード検出装置及びそのプログラム、並びに、ロボット制御情報生成装置及びロボット |
US9164507B2 (en) * | 2013-12-06 | 2015-10-20 | Elwha Llc | Systems and methods for modeling driving behavior of vehicles |
US9881349B1 (en) * | 2014-10-24 | 2018-01-30 | Gopro, Inc. | Apparatus and methods for computerized object identification |
US9805296B2 (en) * | 2016-02-23 | 2017-10-31 | The Chinese University Of Hong Kong | Method and apparatus for decoding or generating multi-layer color QR code, method for recommending setting parameters in generation of multi-layer QR code, and product comprising multi-layer color QR code |
CN108698178B (zh) * | 2016-02-26 | 2020-12-15 | 株式会社富士 | 机器人手臂控制系统 |
WO2018053847A1 (zh) * | 2016-09-26 | 2018-03-29 | 达闼科技(北京)有限公司 | 一种智能库存管理系统、服务器、方法、终端和程序产品 |
JP6266746B2 (ja) | 2016-12-28 | 2018-01-24 | 株式会社キーエンス | 光学的情報読取装置 |
CN107220577A (zh) * | 2017-05-12 | 2017-09-29 | 广州智慧城市发展研究院 | 一种基于机器学习的二维码定位方法及系统 |
-
2017
- 2017-10-04 JP JP2017194037A patent/JP6683666B2/ja active Active
-
2018
- 2018-09-30 CN CN201811158864.0A patent/CN109614830B/zh active Active
- 2018-10-03 US US16/150,430 patent/US10960550B2/en active Active
- 2018-10-04 DE DE102018007826.5A patent/DE102018007826A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US10960550B2 (en) | 2021-03-30 |
JP2019067278A (ja) | 2019-04-25 |
US20190099892A1 (en) | 2019-04-04 |
DE102018007826A1 (de) | 2019-04-04 |
JP6683666B2 (ja) | 2020-04-22 |
CN109614830A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614830B (zh) | 识别代码读取装置以及机器学习装置 | |
CN109816624B (zh) | 外观检查装置 | |
US10737385B2 (en) | Machine learning device, robot system, and machine learning method | |
CN109814615B (zh) | 控制装置以及机器学习装置 | |
CN105082132B (zh) | 力‑扭矩任务的快速机器人模仿学习 | |
JP6549545B2 (ja) | 人の行動を学習してロボットを制御する制御装置およびロボットシステム | |
CN109692821B (zh) | 分拣系统 | |
Jain et al. | Learning deep visuomotor policies for dexterous hand manipulation | |
JP2022145915A (ja) | 推論方法、推論プログラム、推論装置、学習方法、学習プログラム、学習装置およびモデル生成方法 | |
US20190314984A1 (en) | Automatic Robot Perception Programming by Imitation Learning | |
JP7458741B2 (ja) | ロボット制御装置及びその制御方法及びプログラム | |
CN109693146B (zh) | 寿命推定装置以及机器学习装置 | |
Huang et al. | Grasping novel objects with a dexterous robotic hand through neuroevolution | |
Ottenhaus et al. | Visuo-haptic grasping of unknown objects based on gaussian process implicit surfaces and deep learning | |
US20210201183A1 (en) | Training Collaborative Robots through User Demonstrations | |
Liu et al. | Understanding multi-modal perception using behavioral cloning for peg-in-a-hole insertion tasks | |
CN110942083A (zh) | 拍摄装置以及拍摄系统 | |
Qiu et al. | Robotic fabric flattening with wrinkle direction detection | |
JP7372076B2 (ja) | 画像処理システム | |
Sabbaghi et al. | Learning of gestures by imitation using a monocular vision system on a humanoid robot | |
Chen et al. | Robotic grasp control policy with target pre-detection based on deep Q-learning | |
JP2022186422A (ja) | 分類装置、分類方法、及び、分類プログラム | |
Li et al. | Robotic Scene Segmentation with Memory Network for Runtime Surgical Context Inference | |
WO2020194583A1 (ja) | 異常検知装置、制御方法、及びプログラム | |
EP4350614A1 (en) | Trained model generating device, trained model generating method, and recognition device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |