CN115803774A - 模型生成装置、回归装置、模型生成方法以及模型生成程序 - Google Patents
模型生成装置、回归装置、模型生成方法以及模型生成程序 Download PDFInfo
- Publication number
- CN115803774A CN115803774A CN202180044574.7A CN202180044574A CN115803774A CN 115803774 A CN115803774 A CN 115803774A CN 202180044574 A CN202180044574 A CN 202180044574A CN 115803774 A CN115803774 A CN 115803774A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network module
- regression
- images
- model generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 82
- 238000013528 artificial neural network Methods 0.000 claims abstract description 177
- 238000000605 extraction Methods 0.000 claims abstract description 98
- 238000004364 calculation method Methods 0.000 claims abstract description 89
- 238000010801 machine learning Methods 0.000 claims abstract description 73
- 239000000284 extract Substances 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 69
- 230000033001 locomotion Effects 0.000 claims description 47
- 238000001514 detection method Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 40
- 210000002569 neuron Anatomy 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 238000005259 measurement Methods 0.000 description 18
- 230000010365 information processing Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000014509 gene expression Effects 0.000 description 11
- 230000000052 comparative effect Effects 0.000 description 10
- 230000008878 coupling Effects 0.000 description 10
- 238000010168 coupling process Methods 0.000 description 10
- 238000005859 coupling reaction Methods 0.000 description 10
- 238000006467 substitution reaction Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 9
- 230000007547 defect Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 229910000679 solder Inorganic materials 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 101150083127 brox gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000007659 motor function Effects 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明的一方面所涉及的模型生成装置实施包括从对象的集合提取满足规定条件的要素的运算的神经网络模块的机器学习。模型生成装置在机器学习的期间,在神经网络模块的正向传播的阶段,直接计算提取运算,而在反向传播的阶段,将提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算,算出与提取运算的微分计算对应的近似梯度。
Description
技术领域
本发明涉及模型生成装置、回归装置、模型生成方法以及模型生成程序。
背景技术
近年来,在从图像回归实际数值的各种场景中使用训练完毕的神经网络。例如,在非专利文献1中,提出了使用训练完毕的神经网络来计算多个图像间的视差的方法。具体地说,通过训练完毕的神经网络,算出多个候选值(离散值)各自相对于回归的视差的似然度,计算基于算出的似然度的期待值。根据该方法,能够通过实际数值回归视差。
非专利文献1:Alex Kendall,Hayk Martirosyan,Saumitro Dasgupta,PeterHenry,Ryan Kennedy,Abraham Bachrach,Adam Bry,“End-to-EndLearningofGeometryand Context for Deep Stereo Regression”,ICCV2017,66-75.
发明内容
发明要解决的问题
本件发明的发明人们在非专利文献1等提出的使用训练完毕的神经网络的以往的回归方法中发现存在下面这样的问题。即,在通过训练完毕的神经网络回归实际数值的过程中,有时会推导出具有某程度的可靠性的多个候选。在这种情况下,受到不希望的候选的影响,回归的实际数值的精度有可能变低。例如,在算出视差的上述的事例中,有时在算出的似然度中出现多个峰(即,多个候选值的似然度变得比较高)。在这种情况下,算出的期待值被各峰的值拉动而从真值偏离,由此,回归的视差的精度有可能变低。
本发明在一方面是鉴于这种情况而提出的,其目的在于提供实现使用神经网络从1个以上的图像回归实际数值的精度的提高的技术。
用于解决问题的方案
本发明为了解决上述的问题而采用以下的构成。
即,本发明的一方面所涉及的模型生成装置具备:数据获取部,获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集;以及学习处理部,使用所述多个学习数据集来实施神经网络模块的机器学习,在所述学习处理部中,所述神经网络模块包括从对象的集合提取满足规定条件的要素的运算,所述机器学习是由如下内容构成的:针对所述各学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
上述问题被认为是由最可靠的候选以外的其它候选(例如,第二个以后似然度高的候选)的影响造成的。因此,作为解决上述问题的简单的方法,可以考虑在神经网络的运算过程中采用从对象的集合提取满足规定条件的要素的运算。例如,在算出视差的上述的事例中,可以考虑提取针对似然度赋予最大值的要素,仅在提取到的要素的附近计算期待值。根据该方法,能够抑制最可靠的候选以外的其它候选的影响,因此能够实现回归精度的提高。
然而,在基于神经网络的回归(正向传播的运算)过程中采用上述提取运算的情况下,用包括提取运算的构成来实施神经网络的机器学习。为了实施神经网络的机器学习(即,通过误差反向传播法反向传播误差的梯度),要求到通过神经网络回归实际数值为止的全部运算可微分,但该提取运算是不可微分的。因此,在上述简单的方法中,无法实施机器学习,无法生成训练完毕的神经网络。
因此,在该构成中,采用包括从对象的集合提取满足规定条件的要素的运算在内的神经网络模块,并且在机器学习的期间,在正向传播的阶段,直接计算该提取运算,而在反向传播的阶段,将该提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算,算出与提取运算的微分计算对应的近似梯度。由此,即使是包括不可微分的该提取运算的神经网络模块,也能够适当实施机器学习。因此,根据该构成,能够生成实现了从1个以上的图像回归实际数值的精度的提高的训练完毕的神经网络模块。
在上述一方面所涉及的模型生成装置中,也可以是,所述神经网络模块还包括算出多个候选值各自相对于回归的实际数值的似然度的运算,所述提取运算由提取算出的各似然度中的最大值的要素构成。根据该构成,在通过基于各候选值的似然度的期待值来回归实际数值的方式中,能够实现回归精度的提高。
在上述一方面所涉及的模型生成装置中,也可以是,所述1个以上的训练图像由从不同位置拍摄的多个图像构成,回归的实际数值是所述多个图像之间的视差。根据该构成,能够生成实现了将多个图像间的视差回归的精度的提高的训练完毕的神经网络模块。
在上述一方面所涉及的模型生成装置中,也可以是,所述1个以上的训练图像由连续拍摄的多个图像构成,回归的实际数值是与映现于所述多个图像的对象物的动作相关的推定值。根据该构成,能够生成实现了将映现于连续的多个图像的对象物的动作回归的精度的提高的训练完毕的神经网络模块。
在上述一方面所涉及的模型生成装置中,也可以是,所述1个以上的训练图像由对象物所映现的图像构成,回归的实际数值是与所述对象物的检测位置相关的推定值。根据该构成,能够生成实现了将对象物的检测位置从图像回归的精度的提高的训练完毕的神经网络模块。
另外,本发明的方式也可以不限于上述模型生成装置的方式。本发明的一方面也可以是利用由上述模型生成装置生成的训练完毕的神经网络模块的回归装置。例如,本发明的一方面可以是一种回归装置,所述回归装置构成为具备:图像获取部,获取1个以上的对象图像;回归部,使用由上述模型生成装置生成的训练完毕的神经网络模块,从获取到的所述1个以上的对象图像回归实际数值;以及输出部,输出与回归的结果相关的信息。该回归装置可以根据应用场景中的回归任务的种类例如改称为视差计测装置、动作计测装置、检测装置等。
另外,作为上述各方式所涉及的模型生成装置和回归装置各自的别的样态,本发明的一方面也可以是实现以上各构成的全部或其一部分的信息处理方法,也可以是程序,也可以是存储有这样程序的计算机及其它装置、机械等可读取的存储介质。在此,计算机等可读取的存储介质是指通过电、磁、光学、机械或者化学作用存储程序等信息的介质。另外,本发明的一方面也可以是由上述任意的方式所涉及的模型生成装置和回归装置构成的回归系统。
例如,本发明的一方面所涉及的模型生成方法是一种计算机执行如下步骤的信息处理方法:获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集的步骤;以及使用所述多个学习数据集来实施神经网络模块的机器学习的步骤,在所述步骤中,所述神经网络模块包括从对象的集合提取满足规定条件的要素的运算,所述机器学习是由如下内容构成的:针对所述各学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
另外,例如,本发明的一方面所涉及的模型生成程序用于使计算机执行如下步骤:获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集的步骤;以及使用所述多个学习数据集来实施神经网络模块的机器学习的步骤,在所述步骤中,所述神经网络模块包括从对象的集合提取满足规定条件的要素的运算,所述机器学习是由如下内容构成的:针对所述各学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
发明效果
根据本发明,能够实现使用神经网络从1个以上的图像回归实际数值的精度的提高。
附图说明
图1示意性例示应用本发明的场景的一例。
图2示意性例示实施方式所涉及的模型生成装置的硬件构成的一例。
图3示意性例示实施方式所涉及的回归装置的硬件构成的一例。
图4示意性例示实施方式所涉及的模型生成装置的软件构成的一例。
图5示意性例示实施方式所涉及的回归装置的软件构成的一例。
图6是示出实施方式所涉及的模型生成装置的处理过程的一例的流程图。
图7是示出实施方式所涉及的回归装置的处理过程的一例的流程图。
图8示意性例示应用本发明的其它场景的一例。
图9示意性例示应用本发明的其它场景的一例。
图10示意性例示应用本发明的其它场景的一例。
图11A示出2个输入图像中的一方。
图11B示出2个输入图像中的另一方。
图11C示出2个输入图像间的视差的正确答案。
图12A示出通过比较例算出2个输入图像间的视差的结果。
图12B示出比较例的计算结果的误差。
图13A示出通过实施例算出了2个输入图像间的视差的结果。
图13B示出实施例的计算结果的误差。
具体实施方式
以下,基于附图来说明本发明的一方面所涉及的实施方式(以下,也表示为“本实施方式”)。不过,以下说明的本实施方式在所有方面不过是本发明的例示而已。当然能够不脱离本发明的范围地进行各种的改进或变形。也就是说,当实施本发明时,可以适当采用与实施方式相应的具体构成。需要说明的是,通过自然言语说明了在本实施方式中出现的数据,但更具体地说,可以用计算机能识别的伪语言、指令、参数、机器语言等来指定。
§1应用例
图1示意性例示应用了本发明的场景的一例。如图1所示,本实施方式所涉及的回归系统100具备模型生成装置1和回归装置2。
本实施方式所涉及的模型生成装置1是构成为通过机器学习生成训练完毕的神经网络(在图中表示为“NN”)模块5的计算机。本实施方式所涉及的模型生成装置1获取由1个以上的训练图像31与示出从1个以上的训练图像31回归的实际数值的正确答案的正确答案信息32的组合分别构成的多个学习数据集3。各学习数据集3用于机器学习。
各学习数据集3所包含的训练图像31的件数可以根据成为机器学习的对象的回归任务的内容而适当决定。成为机器学习的对象的回归任务可以包含从1个以上的图像回归1个以上的实际数值的所有推论任务(回归任务)。回归任务例如可以是推定多个图像间的视差、推定映现于连续拍摄的多个图像的对象物的动作、从图像检测对象物等。作为一例,在回归任务是推定2个图像之间的视差的情况下,各学习数据集3可以构成为包括2个训练图像31。正确答案信息32适当构成为示出回归任务相对于1个以上的训练图像31的正确答案。回归的实际数值的数量可以不限于1个,也可以是多个。
本实施方式所涉及的模型生成装置1使用多个学习数据集3来实施神经网络模块5的机器学习。神经网络模块5包括从对象的集合提取满足规定条件的要素的运算(以下,也记载为“提取运算”)。提取运算只要是将在回归运算的过程中算出的多个要素缩小为一部分要素(例如,希望的要素)的不可微分的运算即可,提取运算的内容可以不作特别限定,也可以根据实施方式适当决定。提取运算例如可以是提取最大值的要素的运算(argument ofthe maximum)、提取最小值的要素的运算(argument of the minimum)、提取中间值(百分之五十的值)或者其它特定的百分比值的要素的运算等。机器学习是由如下内容构成的:针对各学习数据集3,训练神经网络模块5,使得使用神经网络模块5从1个以上的训练图像31回归的值适合于由正确答案信息32示出的正确答案。
具体地说,神经网络模块5例如具备各神经元间的耦合的权重、各神经元的阈值等多个运算参数。模型生成装置1使用神经网络模块5来试行针对各学习数据集3的1个以上的训练图像31的实际数值的回归。即,模型生成装置1针对各学习数据集3将1个以上的训练图像31输入到神经网络模块5,执行神经网络模块5的正向传播的运算处理。模型生成装置1算出通过该试行得到的回归的结果与由对应的正确答案信息32示出的正确答案之间的误差。模型生成装置1利用误差反向传播法通过将算出的误差的梯度反向传播来调整各运算参数的值。对神经网络模块5进行训练是由如下内容构成的:通过该一系列的处理(基于正向传播的回归的试行处理和基于反向传播的运算参数的调整处理)来调整各运算参数的值。
模型生成装置1在该机器学习的期间,在正向传播(回归的试行)的阶段,直接计算提取运算,而在反向传播(运算参数的调整)的阶段,将提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算算出与提取运算的微分计算对应的近似梯度。即,模型生成装置1在机器学习的处理过程中的、试行回归的阶段,通过执行包括提取运算的计算在内的神经网络模块5的正向传播的运算处理(直接采用提取运算)而得到相对于各学习数据集3的1个以上的训练图像31的回归结果。另一方面,提取运算是不可微分的,无法直接反向传播误差的梯度。因此,在反向传播通过试行阶段推导出的误差的梯度的阶段,模型生成装置1将通过替代运算的微分计算算出的近似梯度采用为提取运算的微分计算的结果,反向传播误差的梯度,调整各运算参数的值。替代运算只要是能计算提取运算的近似梯度的运算即可,其内容可以不作特别限定,可以根据实施方式适当决定。在提取运算为提取最大值或最小值的要素的运算的情况下,替代运算可以由Softmax函数或者与其类似的函数构成,近似梯度可以是该函数的梯度。另外,在提取运算为提取中间值或其它特定的百分比值的要素的运算的情况下,替代运算可以是可微分的排序运算(例如,参考文献:AdityaGrover,Eric Wang,Aaron Zweig,Stefano Ermon,“Stochastic Optimization ofSorting Networks via Continuous Relaxations”,ICLR 2019,<URL:https://arxiv.org/abs/1903.08850>记载的排序运算)或者与其类似的运算,近似梯度可以是该运算的梯度。该机器学习的结果是,能够生成训练完毕的神经网络模块5,所述神经网络模块5获得了从1个以上的图像回归1个以上的实际数值的能力。
另一方面,本实施方式所涉及的回归装置2是构成为使用训练完毕的神经网络模块5进行针对1个以上的图像的回归任务的计算机。在本实施方式中,回归装置2获取1个以上的对象图像221。在图1的例子中,回归装置2连接到照相机S。回归装置2能够从该照相机S获取1个以上的对象图像221。
回归装置2使用训练完毕的神经网络模块5从获取到的1个以上的对象图像221回归实际数值。即,与上述试行的阶段同样地,回归装置2将获取到的1个以上的对象图像221输入到训练完毕的神经网络模块5,执行包括提取运算的计算的、训练完毕的神经网络模块5的正向传播的运算处理。回归装置2在该正向传播的运算处理中直接计算提取运算。回归装置2能够得到回归的结果作为该运算处理的结果。然后,回归装置2输出与回归的结果相关的信息。需要说明的是,本实施方式所涉及的回归装置2可以根据应用场景中的回归任务的种类例如改称为视差计测装置、动作计测装置、检测装置等。
如上所示,本实施方式所涉及的模型生成装置1在机器学习的处理中,在正向传播的阶段,直接计算提取运算,而在反向传播的阶段,将提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算算出与提取运算的微分计算对应的近似梯度。由此,即使包括不可微分的提取运算,也能够适当实施神经网络模块5的机器学习。并且,在本实施方式所涉及的回归装置2中,通过在由这样的机器学习生成的训练完毕的神经网络模块5的回归运算的过程中包括提取运算,能够抑制最可靠的候选以外的其它候选的影响,其结果是,能够实现回归精度的提高。
需要说明的是,在图1的例子中,模型生成装置1和回归装置2经由网络被相互连接。网络的种类例如可以从互联网、无线通信网、移动通信网、电话网、专用网等适当选择。不过,在模型生成装置1与回归装置2之间交换数据的方法可以不限于这样的例子,也可以根据实施方式适当选择。例如,在模型生成装置1与回归装置2之间,可以利用存储介质来交换数据。
另外,在图1的例子中,模型生成装置1和回归装置2分别由个别的计算机构成。然而,本实施方式所涉及的回归系统100的构成可以不限于这样的例子,可以根据实施方式适当决定。例如,模型生成装置1和回归装置2可以是一体的计算机。另外,例如,模型生成装置1和回归装置2中的至少一方也可以由多台计算机构成。
§2构成例
[硬件构成]
<模型生成装置>
图2示意性例示本实施方式所涉及的模型生成装置1的硬件构成的一例。如图2所示,本实施方式所涉及的模型生成装置1是电连接有控制部11、存储部12、通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17的计算机。需要说明的是,在图2中,将通信接口和外部接口记载为“通信I/F”和“外部I/F”。
控制部11包括作为硬件处理器的CPU(Central Processing Unit:中央处理单元)、RAM(Random Access Memory:随机存取存储器)、ROM(Read Only Memory:只读存储器)等,构成为基于程序和各种数据来执行信息处理。存储部12是存储器的一例,例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部12存储模型生成程序81、多个学习数据集3、学习结果数据125等各种信息。
模型生成程序81是用于使模型生成装置1执行生成训练完毕的神经网络模块5的后述的机器学习的信息处理(图6)的程序。模型生成程序81包括该信息处理的一系列命令。多个学习数据集3被用于训练完毕的神经网络模块5的生成。学习结果数据125示出与生成的训练完毕的神经网络模块5相关的信息。在本实施方式中,学习结果数据125作为执行了模型生成程序81的结果而被生成。详细情况后述。
通信接口13例如是有线LAN(Local Area Network:局域网)模块、无线LAN模块等,是用于进行经由网络的有线或者无线通信的接口。模型生成装置1能够利用通信接口13在与其它信息处理装置之间执行经由网络的数据通信。外部接口14例如是USB(UniversalSerial Bus:通用串行总线)端口、专用端口等,是用于与外部装置连接的接口。外部接口14的种类和数量可以任意选择。模型生成装置1可以经由通信接口13和外部接口14中的至少一方连接到用于得到训练图像31的照相机。
输入装置15例如是鼠标、键盘等用于进行输入的装置。另外,输出装置16例如是显示器、扬声器等用于进行输出的装置。用户等操作人员通过利用输入装置15和输出装置16,能够操作模型生成装置1。
驱动器17例如是CD驱动器、DVD驱动器等,是用于读入存储于存储介质91的程序等各种信息的驱动装置。存储介质91是通过电、磁、光学、机械或化学作用存储该程序等信息的介质,以使计算机及其它装置、机械等能读取所存储的程序等各种信息。上述模型生成程序81和多个学习数据集3中的至少任意一方可以存储到存储介质91。模型生成装置1可以从该存储介质91获取上述模型生成程序81和多个学习数据集3中的至少任意一方。需要说明的是,在图2中,作为存储介质91的一例而例示了CD、DVD等设备型存储介质。然而,存储介质91的种类也可以不限于设备型,也可以是设备型以外的存储介质。作为设备型以外的存储介质,例如能够举出闪存等半导体存储器。驱动器17的种类可以根据存储介质91的种类任意选择。
需要说明的是,关于模型生成装置1的具体的硬件构成,能根据实施方式适当进行构成要素的省略、置换以及追加。例如,控制部11可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA(field-programmable gate array:现场可编程门阵列)、DSP(digitalsignal processor:数字信号处理器)等构成。存储部12可以由控制部11所包含的RAM和ROM构成。通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17中的至少任意一方可以被省略。模型生成装置1可以由多台计算机构成。在这种情况下,各计算机的硬件构成可以一致,也可以不一致。另外,模型生成装置1除了为所提供的服务专用而设计的信息处理装置之外,还可以是通用的服务器装置、PC(Personal Computer:个人计算机)等。
<回归装置>
图3示意性例示本实施方式所涉及的回归装置2的硬件构成的一例。如图3所示,本实施方式所涉及的回归装置2是电连接有控制部21、存储部22、通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27的计算机。
回归装置2的控制部21~驱动器27和存储介质92可以分别与上述模型生成装置1的控制部11~驱动器17和存储介质91各者同样地构成。控制部21包括作为硬件处理器的CPU、RAM、ROM等,构成为基于程序和数据来执行各种信息处理。存储部22例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部22存储回归程序82、学习结果数据125等各种信息。
回归程序82是用于使回归装置2执行使用训练完毕的神经网络模块5进行回归任务的后述的信息处理(图7)的程序。回归程序82包括该信息处理的一系列命令。回归程序82和学习结果数据125中的至少任意一方可以存储到存储介质92。另外,回归装置2可以从存储介质92获取回归程序82和学习结果数据125中的至少任意一方。
在图3的例子中,回归装置2经由外部接口24连接到照相机S(拍摄装置)。由此,回归装置2构成为能从照相机S获取1个以上的对象图像221。不过,与照相机S的连接方法可以不限于这样的例子。例如,在照相机S具备通信接口的情况下,回归装置2可以经由通信接口23连接到照相机S。照相机S的种类可以根据实施方式适当选择。照相机S例如可以是一般的RGB照相机、立体照相机、深度照相机、红外线照相机等。
需要说明的是,关于回归装置2的具体的硬件构成,能根据实施方式适当地进行构成要素的省略、置换以及追加。例如,控制部21可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA、DSP等构成。存储部22可以由控制部21所包含的RAM和ROM构成。通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27中的至少任意一方可以被省略。回归装置2可以由多台计算机构成。在这种情况下,各计算机的硬件构成可以一致,也可以不一致。另外,回归装置2除了为所提供的服务专用而设计的信息处理装置之外,还可以是通用的服务器装置、通用的PC、PLC(programmable logic controller:可编程逻辑控制器)等。
[软件构成]
<模型生成装置>
图4示意性例示本实施方式所涉及的模型生成装置1的软件构成的一例。模型生成装置1的控制部11将存储于存储部12的模型生成程序81展开到RAM。然后,控制部11通过CPU解释并且执行展开到RAM的模型生成程序81所包含的命令,控制各构成要素。由此,如图4所示,本实施方式所涉及的模型生成装置1作为具备数据获取部111、学习处理部112以及保存处理部113作为软件模块的计算机而动作。即,在本实施方式中,模型生成装置1的各软件模块可以由控制部11(CPU)实现。
数据获取部111构成为获取多个学习数据集3。各学习数据集3由1个以上的训练图像31与正确答案信息32的组合构成。正确答案信息32构成为示出从对应的1个以上的训练图像31回归的实际数值的正确答案。
学习处理部112构成为使用获取到的多个学习数据集3来实施神经网络模块5的机器学习。神经网络模块5构成为包括从对象的集合提取满足规定条件的要素的运算。机器学习包括针对各学习数据集3训练神经网络模块5,使得使用神经网络模块5从1个以上的训练图像31回归的值适合于由正确答案信息32示出的正确答案。学习处理部112构成为在机器学习的期间,在正向传播的阶段,直接计算提取运算,而在反向传播的阶段,将提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算来算出与提取运算的微分计算对应的近似梯度。
保存处理部113构成为将与由机器学习生成的训练完毕的神经网络模块5相关的信息生成为学习结果数据125,将生成的学习结果数据125保存到规定的存储区域。学习结果数据125可以适当构成为包括用于将训练完毕的神经网络模块5再生的信息。
(神经网络模块)
如图4所示,本实施方式所涉及的神经网络模块5的一例具备输入层51、1个以上的中间(隐藏)层52以及输出层53。中间层52的数量可以根据实施方式适当决定。各层51~53具备一个或多个神经元(节点)。各层51~53所包含的神经元的数量可以根据实施方式适当决定。在本实施方式中,各层51~53所包含的各神经元与相邻层的全部神经元耦合。由此,本实施方式所涉及的神经网络模块5由全耦合型神经网络构成。
对各层51~53的各耦合设定权重(耦合载荷)。对各神经元设定有阈值,基本上,根据各输入与各权重的乘积之和是否超过阈值来决定各神经元的输出。阈值可以通过活性化函数来表现。在这种情况下,将各输入与各权重的乘积之和输入到活性化函数并执行活性化函数的运算,从而决定各神经元的输出。活性化函数的种类可以任意选择。提取运算可以被采用为活性化函数的运算或者被采用为从输出层53的输出值推导出最终的回归结果的运算的至少一部分。各层51~53所包含的各神经元间的耦合的权重和各神经元的阈值是运算参数的一例。
在上述机器学习中,学习处理部112将各学习数据集3的1个以上的训练图像31用作训练数据(输入数据),将正确答案信息32用作正确答案数据(示教信号、标签)。即,学习处理部112将各学习数据集3的1个以上的训练图像31输入到输入层51,执行神经网络模块5的正向传播的运算处理。在该正向传播的运算过程中,学习处理部112直接计算提取运算。作为该正向传播的运算处理的结果,学习处理部112获取相对于1个以上的训练图像31的实际数值的回归结果。学习处理部112算出所得到的回归结果和由与输入的1个以上的训练图像31相关联的正确答案信息32示出的正确答案之间的误差。然后,学习处理部112算出误差的梯度,通过误差反向传播法反向传播算出的误差的梯度,调整各运算参数的值。在该反向传播的运算过程中,学习处理部112将通过替代运算的微分计算算出的近似梯度采用为提取运算的微分计算的结果。学习处理部112针对各学习数据集3以算出的误差之和变小的方式反复进行调整各运算参数的值的上述一系列的处理。作为该机器学习的结果,能够生成训练完毕的神经网络模块5,所述神经网络模块5获得了从1个以上的图像回归1个以上的实际数值的能力。
保存处理部113生成用于再生通过上述机器学习生成的训练完毕的神经网络模块5的学习结果数据125。如果能再生训练完毕的神经网络模块5,则学习结果数据125的构成可以不作特别限定,可以根据实施方式适当决定。作为一例,学习结果数据125可以包括示出通过上述机器学习的调整得到的各运算参数的值的信息。在某些情况下,学习结果数据125可以还包括示出神经网络模块5的结构的信息。结构例如可以由从输入层到输出层的层的数量、各层的种类、各层所包含的神经元的数量、相邻层的神经元彼此的耦合关系等确定。保存处理部113将生成的学习结果数据125保存到规定的存储区域。
<回归装置>
图5示意性例示本实施方式所涉及的回归装置2的软件构成的一例。回归装置2的控制部21将存储于存储部22的回归程序82展开到RAM。然后,控制部21通过CPU解释并且执行展开到RAM的回归程序82所包含的命令,控制各构成要素。由此,如图5所示,本实施方式所涉及的回归装置2作为具备图像获取部211、回归部212以及输出部213作为软件模块的计算机而动作。即,在本实施方式中,回归装置2的各软件模块也与模型生成装置1同样地由控制部21(CPU)来实现。
图像获取部211构成为获取成为回归任务的对象的1个以上的对象图像221。回归部212通过保持有学习结果数据125而具备训练完毕的神经网络模块5。回归部212构成为使用训练完毕的神经网络模块5从获取到的1个以上的对象图像221回归实际数值。即,回归部212将获取到的1个以上的对象图像221输入到训练完毕的神经网络模块5的输入层51,执行包括提取运算的训练完毕的神经网络模块5的正向传播的运算处理。作为该正向传播的运算处理的结果,回归部212获取针对1个以上的对象图像221的实际数值的回归结果。输出部213构成为输出与所得到的回归结果相关的信息。
<其它>
关于模型生成装置1和回归装置2的各软件模块,在后述的动作例中详细地说明。需要说明的是,在本实施方式中,关于模型生成装置1和回归装置2的各软件模块均通过通用的CPU实现的例子进行了说明。然而,上述软件模块的一部分或全部也可以由一个或多个专用的处理器(例如,图形处理单元)来实现。上述各模块可以作为硬件模块实现。另外,关于模型生成装置1和回归装置2各自的软件构成,也可以根据实施方式适当进行软件模块的省略、置换以及追加。
§3动作例
[模型生成装置]
图6是示出与本实施方式所涉及的模型生成装置1的机器学习相关的处理过程的一例的流程图。以下所说明的模型生成装置1的处理过程是模型生成方法的一例。但是,以下所说明的模型生成装置1的处理过程不过是一例而已,各步骤可以尽可能变更。另外,关于以下的处理过程,可以根据实施方式适当进行步骤的省略、置换以及追加。
(步骤S101)
在步骤S101中,控制部11作为数据获取部111而动作,获取多个学习数据集3。
各学习数据集3可以被适当生成。例如,准备照相机S或者与其同类的照相机。利用所准备的照相机拍摄通过机器学习习得的回归任务的对象。由此,生成与习得的回归任务相应的1个以上的训练图像31。并且,将示出该回归任务的正确答案的正确答案信息32与生成的1个以上的训练图像31相关联。正确答案信息32可以通过操作人员的手动作业生成,或者也可以利用图像分析、其它训练完毕机器学习模型等的推定器至少部分地自动生成。正确答案信息32的数据格式可以根据回归任务适当选择。作为一例,在回归任务是以像素为单位算出多个图像间的视差的情况下,正确答案信息32可以构成为用图像数据的格式示出各像素的视差的正确答案(例如,后述的图11C)。作为另一例,在回归任务是算出映现于连续拍摄的多个图像的对象物的动作的情况下,正确答案信息32可以构成为以数值数据的格式示出动作的方向、速度等与动作相关的推定值(例如矢量值)的正确答案。作为另一例,在回归任务是检测映现于图像的对象物的情况下,正确答案信息32可以构成为以数值数据的格式示出图像内的对象物的位置、大小(范围)等与检测位置相关的推定值的正确答案。通过这一系列的处理,能够生成各学习数据集3。
各学习数据集3可以通过计算机的动作自动生成,或者也可以通过至少部分地包括操作人员的操作而手动生成。另外,各学习数据集3的生成可以通过模型生成装置1进行,也可以通过模型生成装置1以外的其它计算机进行。在模型生成装置1生成各学习数据集3的情况下,控制部11也可以通过自动或者经由输入装置15的操作人员的操作而手动执行上述生成处理,从而获取各学习数据集3。另一方面,在其它计算机生成各学习数据集3的情况下,控制部11例如可以经由网络、存储介质91等获取由其它计算机生成的各学习数据集3。多个学习数据集3的一部分可以由模型生成装置1生成,除此以外可以由一个或多个其它计算机生成。
获取的学习数据集3的件数可以不作特别限定,可以根据实施方式适当决定以能实施机器学习。当获取多个学习数据集3时,控制部11使处理前进至下一个步骤S102。
(步骤S102)
在步骤S102中,控制部11作为学习处理部112而动作,使用获取到的多个学习数据集3来实施神经网络模块5的机器学习。
作为机器学习的处理的一例,首先,控制部11进行成为机器学习的处理对象的神经网络模块5的初始设定。神经网络模块5的结构(例如,层的数量、各层的种类、各层所包含的神经元的数量、相邻层的神经元彼此的耦合关系等)、各神经元间的耦合的权重的初始值以及各神经元的阈值的初始值可以通过模板提供,也可以通过操作人员的输入提供。另外,在进行再次学习的情况下,控制部11可以基于通过过去的机器学习得到的学习结果数据来进行神经网络模块5的初始设定。
关于神经网络模块5的构成,从图像回归实际数值的处理的方式可以根据实施方式适当决定。作为一例,神经网络模块5可以构成为还包括算出多个候选值各自相对于回归的实际数值的似然度的运算。各候选值可以任意提供。另外,提取运算可以由提取算出的各似然度中的最大值的要素(argmax运算)构成。在该方式中,能够通过基于各候选值的似然度的期待值来回归实际数值。需要说明的是,各候选值的似然度可以由倒数表现。在各似然度由倒数表现的情况下,提取各似然度中的最大值的要素可以由提取最小值的要素(argmin运算)构成。以下,将该似然度的倒数也称为“成本”。另外,算出各似然度的运算可以构成为输出层53的运算。在这种情况下,来自输出层53的输出值可以由各候选值的似然度(或其倒数)构成。
作为该方式的具体例,输出层53可以构成为输出各候选值i的成本xi(似然度的倒数)。候选值i的集合是可以任意设定的,但以下为了便于说明,假定为是[0,1,…,D-1](即,候选值的数量是D个)。作为一例,在推定W×H大小的图像的各像素的视差(回归的实际数值的数量为W×H个)的情况下,输出层53可以构成为输出W×H×D个成本xi。作为另一例,在推定映现于连续的图像的N个对象物的二维动作(二维矢量)的情况下,输出层53可以构成为输出2×N×D个成本xi。作为另一例,在推定映现于图像的M个对象物的任意点的二维坐标和对象物的尺寸(各方向的长度)(即,在矩形的范围内检测对象物)的情况下,输出层53可以构成为输出4×M×D个成本xi。在这种情况下,最终的回归结果可以通过按每个回归的实际数值执行以下的式1~式5的运算来算出。
[数学式1]
[数学式2]
σi(x)=1if i=argminj{xj}and 0 otherwise…(式2)
[数学式3]
[数学式4]
[数学式5]
σi(x)是提取各成本中的最小值的要素的运算(argmin运算),是提取运算的一例。在上述一系列的运算处理中,首先,通过式1和式2的运算,能够得到成本最小(似然度最大)的候选值。接下来,通过式3和式4的运算,能够生成以所得到的候选值为中心的窗。w是定义窗函数的大小(例如,高斯函数中的方差的大小)的参数,可以根据任务任意决定。Z是归一化常数。需要说明的是,在式3和式4中,通过高斯函数生成了窗,但窗函数的种类可以不限于这样的例子,可以根据实施方式适当选择。并且,通过式5的运算,能够使用生成的窗来算出期待值(dsemi-soft),能够将算出的期待值作为最终的回归结果而得到。本实施方式所涉及的神经网络模块5可以构成为通过上述式1~式5的一系列的运算处理从输出层53的输出值得到最终的回归结果。
接下来,控制部11针对各学习数据集3来训练神经网络模块5,使得使用神经网络模块5从1个以上的训练图像31回归的值适合于由正确答案信息32示出的正确答案。该训练的处理可以使用概率梯度下降法、小批量梯度下降法等。
作为训练处理的一例,首先,控制部11将各学习数据集3的1个以上的训练图像31输入到输入层51,执行正向传播的运算处理。作为该正向传播的运算处理的结果,控制部11获取相对于1个以上的训练图像31的实际数值的回归结果。在上述的一例中,控制部11通过执行各层51~53的正向传播的运算处理,从输出层53获取回归对象的实际数值的各候选值的成本xi。然后,控制部11能够使用所得到的各候选值的成本xi通过执行上述式1~式5的运算处理而得到回归结果。在该正向传播的运算过程中,控制部11直接计算提取运算(在上述的一例中为式2)。
接下来,控制部11算出所得到的回归结果与由对应的正确答案信息32示出的正确答案之间的误差。误差(损失)的算出可以使用损失函数。误差的计算所使用的损失函数的种类可以根据实施方式适当选择。接着,控制部11算出所算出的误差的梯度。控制部11通过误差反向传播法并使用算出的误差的梯度从输出侧起按顺序算出各运算参数的值的误差。
在反向传播该误差的运算过程中,控制部11将提取运算置换为可微分的替代运算,通过置换后的替代运算的微分计算,算出与提取运算的微分计算对应的近似梯度。在上述的一例中,式2的提取运算σi(x)可以置换为以下的式6的替代运算σi a(x)。
[数学式6]
在该一例中,首先,控制部11进行式5的σi w(x)项的微分计算。接下来,控制部11进行式3的h(x)项的微分计算。然后,控制部11进行置换后的替代运算σi a(x)的微分计算。控制部11将通过该替代运算σi a(x)的微分计算算出的近似梯度采用为提取运算σi(x)的梯度(微分计算的结果)。在该一例中,在算出近似梯度后,控制部11通过将算出的近似梯度从输出层53反向传播到输入层51,能够算出各层51~53的各运算参数的值的误差。
然后,控制部11基于算出的各误差来更新各层51~53的各运算参数的值。将各运算参数的值更新的程度可以通过学习率调节。学习率可以通过操作人员的指定提供,也可以作为程序内的设定值提供。
控制部11通过上述一系列的更新处理,针对各学习数据集3调整各层51~53的各运算参数的值,使得算出的误差之和变小。例如,控制部11可以在满足执行、算出规定次数的误差之和为阈值以下等规定条件之前反复进行基于上述一系列的更新处理的各运算参数的值的调整。
作为该机器学习的处理结果,控制部11能够生成训练完毕的神经网络模块5,所述神经网络模块5获得了进行与使用过的学习数据集3相应的希望的回归任务的能力。当机器学习的处理完成时,控制部11使处理前进至下一个步骤S103。
(步骤S103)
在步骤S103中,控制部11作为保存处理部113而动作,并将与通过机器学习生成的训练完毕的神经网络模块5相关的信息生成为学习结果数据125。然后,控制部11将生成后的学习结果数据125保存到规定的存储区域。
规定的存储区域例如可以是控制部11内的RAM、存储部12、外部存储装置、存储介质或者它们的组合。存储介质可以例如是CD、DVD等,控制部11可以将学习结果数据125经由驱动器17保存到存储介质。外部存储装置例如可以是NAS(Network Attached Storage:网络附加存储器)等数据服务器。在这种情况下,控制部11可以利用通信接口13并经由网络将学习结果数据125保存到数据服务器。另外,外部存储装置也可以例如是经由外部接口14连接到模型生成装置1的外设的存储装置。
当学习结果数据125的保存完成时,控制部11将本动作例所涉及的模型生成装置1的处理过程结束。
需要说明的是,生成的学习结果数据125可以在任意的定时提供给回归装置2。例如,控制部11可以将学习结果数据125转送到回归装置2作为步骤S103的处理或者独立于步骤S103的处理。回归装置2可以通过接收该转送来获取学习结果数据125。另外,例如,回归装置2也可以通过利用通信接口23并经由网络访问模型生成装置1或数据服务器来获取学习结果数据125。另外,例如,回归装置2也可以经由存储介质92来获取学习结果数据125。另外,例如,学习结果数据125也可以预先安装到回归装置2。
而且,控制部11也可以通过定期或者不定期地反复进行上述步骤S101~步骤S103的处理来更新或者新生成学习结果数据125。当进行该反复时,可以适当执行用于机器学习的学习数据集3的至少一部分的变更、修改、追加、删除等。然后,控制部11也可以通过将更新或者新生成的学习结果数据125用任意方法提供给回归装置2来更新回归装置2所保持的学习结果数据125。
[回归装置]
图7是示出与本实施方式所涉及的回归装置2进行回归任务相关的处理过程的一例的流程图。以下说明的回归装置2的处理过程是回归方法的一例。不过,以下说明的回归装置2的处理过程不过是一例而已,各步骤可以被尽可能地变更。另外,对于以下的处理过程,也可以根据实施方式适当进行步骤的省略、置换以及追加。
(步骤S201)
在步骤S201中,控制部21作为图像获取部211而动作,获取成为回归任务的对象的1个以上的对象图像221。在本实施方式中,控制部21经由外部接口24从照相机S直接获取1个以上的对象图像221。对象图像221既可以是动态图像,也可以是静止图像。需要说明的是,获取对象图像221的路径可以不限于这样的例子。作为其它路径的一例,照相机S可以连接到其它计算机。在这种情况下,控制部21可以经由其它计算机从照相机S间接获取对象图像221。当获取1个以上的对象图像221时,控制部21使处理前进至下一个步骤S202。
(步骤S202)
在步骤S202中,控制部21作为回归部212而动作,参照学习结果数据125进行训练完毕的神经网络模块5的设定。然后,控制部21使用训练完毕的神经网络模块5从获取到的1个以上的对象图像221回归实际数值。
该回归的运算处理可以与上述机器学习的训练处理中的回归试行阶段的运算处理相同。即,控制部21将获取到的1个以上的对象图像221输入到训练完毕的神经网络模块5的输入层51,执行包括提取运算(上述的一例中为式2)的正向传播的运算处理。作为该正向传播的运算处理的结果,控制部21获取相对于1个以上的对象图像221的实际数值的回归结果。在上述的一例中,控制部21通过将获取到的1个以上的对象图像221输入到输入层51,执行各层51~53的正向传播的运算处理,而从输出层53获取实际数值的各候选值的成本xi。然后,控制部21通过使用所得到的各候选值的成本xi来执行上述式1~式5的运算处理,从而能够得到回归结果。
当从训练完毕的神经网络模块5获取相对于1个以上的对象图像221的实际数值的回归结果时,控制部21使处理前进至下一个步骤S203。
(步骤S203)
在步骤S203中,控制部21作为输出部213而动作,输出与回归的结果相关的信息。
输出目的地和输出的信息的内容可以分别根据实施方式适当决定。例如,控制部21可以将通过步骤S202得到的回归的结果直接输出到输出装置26。另外,控制部21也可以基于所得到的回归的结果来执行一些信息处理。然后,控制部21可以将执行了该信息处理的结果作为与回归的结果相关的信息输出。执行了该信息处理的结果的输出可以包括根据回归结果来控制控制对象装置的动作等。输出目的地例如可以是输出装置26、其它计算机的输出装置、控制对象装置等。
当与回归结果相关的信息的输出完成时,控制部21将本动作例所涉及的回归装置2的处理过程结束。需要说明的是,控制部21也可以继续反复执行步骤S201~步骤S203的一系列的信息处理。反复的定时可以根据实施方式适当决定。由此,回归装置2可以构成为继续反复进行上述回归任务。
[特征]
如上所示,本实施方式所涉及的模型生成装置1在步骤S102的机器学习的反向传播的阶段中,将神经网络模块5所包含的提取运算置换为可微分的替代运算,将由替代运算的微分计算算出的近似梯度采用为提取运算的梯度。通过该置换,能够适当实施包括不可微分的提取运算在内的神经网络模块5的机器学习。另外,本实施方式所涉及的回归装置2在步骤S202的回归处理中,使用由这样的机器学习生成的训练完毕的神经网络模块5。通过在该训练完毕的神经网络模块5的回归运算的过程中包含有提取运算,能够抑制最可靠的候选以外的其它候选的影响。在上述的一例中,通过式1~式4的运算,能够将算出期待值的范围缩小到似然度最大的候选值附近(即,能够抑制远离似然度最大的候选值的候选值的影响)。其结果是,能够实现步骤S202的回归精度的提高。
§4变形例
以上,详细地说明了本发明的实施方式,但到前述为止的说明在所有方面不过是本发明的例示而已。当然能够不脱离本发明的范围地进行各种改进或者变形。例如,能进行以下这样的变更。需要说明的是,以下,对于与上述实施方式相同的构成要素使用相同的附图标记,对于与上述实施方式相同的点,适当省略了说明。以下的变形例可以适当组合。
<4.1>
上述实施方式所涉及的回归系统100可以应用于从1个以上的图像回归1个以上的实际数值的所有场景。作为具体例,上述实施方式所涉及的回归系统100可以应用于计测多个图像间的视差的场景、计测连续的多个图像间的动作的场景、从图像检测对象物的场景等。以下,示出限定了应用场景的一个具体例。
(A)计测视差的场景
图8示意性例示第一具体例所涉及的视差计测系统100A的应用场景的一例。第一具体例是在计测多个图像间的视差的场景中应用了上述实施方式的例子。第一具体例所涉及的视差计测系统100A具备模型生成装置1和视差计测装置2A。视差计测装置2A是上述回归装置2的一例。
第一具体例中的1个以上的图像(训练图像、对象图像)由用多个照相机从不同位置在同一时刻拍摄的多个图像(典型地为2个图像)构成。回归的实际数值是多个图像之间的视差。多个图像的拍摄例如使用具备立体照相机等多个照相机的拍摄装置SA。多个照相机可以独立设置,或者也可以如立体照相机、智能电话等那样以单一的单元设置。除了这些方面之外,第一具体例的构成可以与上述实施方式相同。需要说明的是,典型地,视差可以以像素为单位被回归。不过,回归视差的单位可以不限于这样的例子,也可以根据实施方式适当决定。
(模型生成装置)
在第一具体例中,模型生成装置1通过与上述实施方式相同的处理过程,能够生成训练完毕的神经网络模块5,所述神经网络模块5获得了将多个图像间的视差回归的能力。
即,在步骤S101中,控制部11获取多个学习数据集。各学习数据集由多个训练图像与正确答案信息的组合构成。多个训练图像可以通过从不同位置在同一时刻拍摄同一对象而得到。正确答案信息构成为示出多个图像间的视差的正确答案。典型地,各学习数据集可以由产生了视差的2个训练图像与按每个像素示出一方训练图像相对于另一方训练图像的视差的正确答案的正确答案信息的组合构成。
在步骤S102中,控制部11使用获取到的多个学习数据集来实施神经网络模块5的机器学习。与上述实施方式同样地,在该机器学习的反向传播的阶段,控制部11将通过替代运算的微分计算算出的近似梯度采用为提取运算的微分计算的结果。通过该机器学习,能够生成获得了将多个图像间的视差回归的能力的训练完毕的神经网络模块5。在步骤S103中,控制部11将生成的示出训练完毕的神经网络模块5的学习结果数据保存到规定的存储区域。学习结果数据可以按任意的定时提供给视差计测装置2A。
(视差计测装置)
视差计测装置2A的硬件构成和软件构成可以与上述实施方式所涉及的回归装置2相同。在第一具体例中,视差计测装置2A能够通过与上述回归装置2相同的处理过程来计测多个图像间的视差。
即,在步骤S201中,视差计测装置2A的控制部作为图像获取部而动作,获取多个对象图像221A。视差计测装置2A可以具备包括配置在相互不同位置的多个照相机的拍摄装置SA,控制部可以从拍摄装置SA获取多个对象图像221A。多个对象图像221A可以通过用多个照相机从不同位置在同一时刻拍摄同一对象(在图8的例子中为对象物RA)而生成。典型地,控制部可以获取2个对象图像221A。
在步骤S202中,控制部作为回归部而动作,使用训练完毕的神经网络模块5来回归获取到的多个对象图像221A间的视差。具体地,控制部将获取到的多个对象图像221A输入到训练完毕的神经网络模块5的输入层51,执行包括提取运算的正向传播的运算处理。作为该正向传播的运算结果,控制部能够得到将多个对象图像221A间的视差回归后的结果。
在步骤S203中,控制部作为输出部而动作,输出与将视差回归后的结果相关的信息。作为一例,控制部可以直接输出所得到的视差。作为另一例,控制部也可以基于所得到的视差算出到映现于多个对象图像221A的对象物RA为止的距离。在这种情况下,控制部可以输出算出的距离。或者,控制部可以基于算出的距离来执行一些信息处理。
作为具体例,多个图像间的视差可以以车辆周围的监视,FA(FactoryAutomation)等中的图像计测、机器人视觉等为目的被计测。在以监视车辆周围的状况为目的计测视差的情况下,对象物RA可以是障碍物(例如,物体、人)。在这种情况下,控制部可以基于所得到的视差算出到障碍物为止的距离。控制部也可以基于到算出的障碍物为止的距离来判定障碍物是否存在于车辆的行进方向的规定距离的范围。然后,在判定为障碍物存在于车辆的行进方向的规定距离的范围内的情况下,控制部可以将车辆的行驶停止或者对车辆输出将车辆的行驶速度减速的指令。
在以进行图像计测为目的计测视差的情况下,控制部可以基于所得到的视差来推定对象物RA的位置和形状。作为具体例,视差计测装置2A可以作为计测涂敷于基板的端子的焊料的状态的检查装置而动作,对象物RA可以是焊料。在这种情况下,控制部可以基于所得到的视差,算出涂敷于端子的焊料的形状(特别是高度方向的形状),基于算出的焊料的形状来判定焊料的涂敷是否充分。
在机器人视觉中计测视差的情况下,控制部可以基于所得到的视差来算出到对象物RA为止的距离。然后,控制部可以基于算出的距离来控制机器人装置的动作(例如,通过机器人手把持对象物RA的动作)。
(特征)
根据第一具体例的模型生成装置1,能够适当生成训练完毕的神经网络模块5,所述神经网络模块5包括提取运算,并且获得了将多个图像间的视差回归的能力。另外,在视差计测装置2A中,通过在训练完毕的神经网络模块5的回归运算的过程中包含有提取运算,能够精度良好地计测多个对象图像221A间的视差。
(B)计测动作的场景
图9示意性例示第二具体例所涉及的动作计测系统100B的应用场景的一例。第二具体例是在计测映现于连续拍摄的多个图像的对象物的动作的场景中应用了上述实施方式的例子。第二具体例所涉及的动作计测系统100B具备模型生成装置1和动作计测装置2B。动作计测装置2B是上述回归装置2的一例。
第二具体例中的1个以上的图像(训练图像、对象图像)由通过照相机SB连续拍摄的多个图像(典型地为在时间序列上相邻的2个图像)构成。回归的实际数值是与映现于多个图像的对象物RB的动作相关的推定值。与动作相关的推定值可以例如是图像空间的各坐标轴方向的位移量、极坐标上的变化量(位移角度和位移的大小)等。可以以像素为单位被回归。照相机SB构成为沿着时间序列连续拍摄图像。照相机SB例如可以是摄像机等。除了这些方面之外,第二具体例的构成可以与上述实施方式相同。
(模型生成装置)
在第二具体例中,模型生成装置1能够通过与上述实施方式相同的处理过程,生成训练完毕的神经网络模块5,所述神经网络模块5获得了将映现于连续的多个图像的对象物的动作回归的能力。
即,在步骤S101中,控制部11获取多个学习数据集。各学习数据集由多个训练图像与正确答案信息的组合构成。多个训练图像可以通过用照相机沿着时间序列连续拍摄对象物而得到。正确答案信息构成为示出映现于多个训练图像的对象物的动作的正确答案。典型地,各学习数据集可以由拍摄时刻的前后2个训练图像与示出从前面的训练图像到后面的训练图像产生的对象物的动作的正确答案的正确答案信息的组合构成。
在步骤S102中,控制部11使用获取到的多个学习数据集来实施神经网络模块5的机器学习。与上述实施方式同样地,在该机器学习的反向传播的阶段,控制部11将通过替代运算的微分计算算出的近似梯度采用为提取运算的微分计算的结果。通过该机器学习,能够生成获得了将映现于连续的多个图像的对象物的动作回归的能力的训练完毕的神经网络模块5。在步骤S103中,控制部11将生成的示出训练完毕的神经网络模块5的学习结果数据保存到规定的存储区域。学习结果数据可以按任意的定时提供给动作计测装置2B。
(动作计测装置)
动作计测装置2B的硬件构成和软件构成可以与上述实施方式所涉及的回归装置2相同。在第二具体例中,动作计测装置2B能够通过与上述回归装置2相同的处理过程计测映现于连续的多个图像的对象物的动作。
即,在步骤S201中,动作计测装置2B的控制部作为图像获取部而动作,获取沿着时间序列连续的多个对象图像221B。动作计测装置2B可以具备照相机SB(拍摄装置),控制部可以从照相机SB获取连续的多个对象图像221B。典型地,控制部可以获取拍摄时刻的前后2个对象图像221B。
在步骤S202中,控制部作为回归部而动作,使用训练完毕的神经网络模块5将映现于获取到的多个对象图像221B的对象物RB的动作回归。具体地,控制部将获取到的多个对象图像221B输入到训练完毕的神经网络模块5的输入层51,执行包括提取运算的正向传播的运算处理。作为该正向传播的运算结果,控制部能够得到将对象物RB的动作回归后的结果。
在步骤S203中,控制部作为输出部而动作,输出与将对象物RB的动作回归后的结果相关的信息。作为一例,控制部可以直接输出与所得到的动作相关的推定值。作为另一例,控制部可以基于与所得到的动作相关的推定值来执行一些信息处理。
作为具体例,对象物RB的动作可以以车辆周围的监视、任意场所中的人物的动作的监视、在道路上行驶的车辆的动作的监视、对人物指导规定运动的动作等为目的来计测。在以监视任意场所中的人物的动作为目的来利用动作计测装置2B(即,对象物RB是存在于任意场所的人物)的情况下,控制部可以基于与通过步骤S202的处理得到的人物的动作相关的推定值来判定例如该人物是否不要进入电车的线路内等危险区域。并且,在判定为人物要进入危险区域的情况下,控制部可以将用于通知该情况的警告输出到存在于其附近的用户(例如,站务员、保安等)的终端。
在以对人物指导规定运动的动作为目的来利用动作计测装置2B的情况下,控制部可以算出与通过回归得到的用户的动作相关的推定值与正确的动作的正确答案值之差,基于算出的差来判定用户是否正在进行正确的动作。另外,控制部可以决定指导消息使得算出的差变小,对用户输出决定后的指导消息。在这种情况下,动作计测装置2B例如可以从智能电话等用户终端获取多个对象图像221B,将通过上述处理得到的指导消息发送到用户终端。需要说明的是,规定运动的动作例如可以是高尔夫、网球、棒球、足球等体育运动。或者,在作为护理的一环而对运动机能下降的人物进行机能恢复的训练的场景中利用动作计测装置2B的情况下,规定运动的动作可以例如是站起、步行、举起物体、抬起放下脚、蹬踏板等与机能恢复相关的动作。
(特征)
根据第二具体例的模型生成装置1,能够适当生成训练完毕的神经网络模块5,所述神经网络模块5包括提取运算,并且获得了将映现于连续的多个图像的对象物的动作回归的能力。另外,在动作计测装置2B中,通过在训练完毕的神经网络模块5的回归运算的过程中包含有提取运算,能够精度良好地计测映现于连续的多个对象图像221B的对象物RB的动作。
(C)检测对象物的场景
图10示意性例示第三具体例中的检测系统100C的应用场景的一例。第三具体例是在从图像检测对象物的场景中应用了上述实施方式的例子。第三具体例所涉及的检测系统100C具备模型生成装置1和检测装置2C。检测装置2C是上述回归装置2的一例。
第三具体例中的1个以上的图像(训练图像、对象图像)由对象物所映现的图像(典型地为1个图像)构成。回归的实际数值是与映现于图像的对象物的检测位置相关的推定值。与检测位置相关的推定值例如可以是图像内的对象物的任意点的坐标,尺寸(宽度方向、高度方向等的长度)等。除了这些方面之外,第三具体例的构成可以与上述实施方式相同。
(模型生成装置)
在第三具体例中,模型生成装置1能够通过与上述实施方式相同的处理过程生成获得了将映现于图像的对象物的位置回归的能力的训练完毕的神经网络模块5。
即,在步骤S101中,控制部11获取多个学习数据集。各学习数据集由训练图像与正确答案信息的组合构成。训练图像可以通过用照相机SC或者与其同类的照相机拍摄对象物RC而得到。照相机SC的种类可以根据实施方式适当选择。照相机SC例如可以是一般的RGB照相机、立体照相机、深度照相机、红外线照相机等。对象物RC可以在假定检测装置2C的利用场景后适当选择。正确答案信息构成为示出映现于训练图像的对象物RC的检测位置的正确答案。典型地,各学习数据集可以由1个训练图像与示出针对该训练图像的检测位置的回归任务的正确答案的正确答案信息的组合构成。
在步骤S102中,控制部11使用获取到的多个学习数据集来实施神经网络模块5的机器学习。与上述实施方式同样地,在该机器学习的反向传播的阶段,控制部11将通过替代运算的微分计算而算出的近似梯度采用为提取运算的微分计算的结果。通过该机器学习,能够生成获得了将映现于图像的对象物的位置回归的能力的训练完毕的神经网络模块5。在步骤S103中,控制部11将生成的示出训练完毕的神经网络模块5的学习结果数据保存到规定的存储区域。学习结果数据可以按任意的定时提供给检测装置2C。
(检测装置)
检测装置2C的硬件构成和软件构成可以与上述实施方式所涉及的回归装置2相同。在第三具体例中,检测装置2C能够通过与上述回归装置2相同的处理过程从图像检测对象物RC。
即,在步骤S201中,检测装置2C的控制部作为图像获取部而动作,获取对象图像221C。检测装置2C可以具备照相机SC(拍摄装置),控制部可以从照相机SC获取可能映现对象物RC的对象图像221C。典型地控制部可以获取1个对象图像221C。
在步骤S202中,控制部作为回归部而动作,使用训练完毕的神经网络模块5将对象物RC的检测位置回归到获取到的对象图像221C。具体地控制部将获取到的对象图像221C输入到训练完毕的神经网络模块5的输入层51,执行包括提取运算的正向传播的运算处理。作为该正向传播的运算结果,控制部能够得到将对象物RC的检测位置回归后的结果。
在步骤S203中,控制部作为输出部而动作,输出与将对象物RC的检测位置回归后的结果相关的信息。作为一例,控制部可以直接输出与所得到的检测位置相关的推定值。作为另一例,控制部也可以基于与所得到的检测位置相关的推定值来执行一些信息处理。
作为具体例,对象物RC的检测可以以车辆周围的监视、驱动器监视、任意场所中的人物的监视、产品的外观检查(缺陷检测)等为目的来进行。在以实施产品的外观检查为目的来使用检测装置2C(即,对象物RC为产品的缺陷)的情况下,控制部可以基于与通过步骤S202的处理而得到的缺陷的检测位置相关的推定值来判定产品是否存在缺陷。并且,在判定为产品存在缺陷的情况下,控制部可以输出用于通知存在缺陷的警告。另外,在输送产品的传送装置连接检测装置2C的情况下,控制部可以基于判定缺陷的有无的结果来控制传送装置的动作,以用不同的生产线输送有缺陷的产品和没有缺陷的产品。
(特征)
根据第三具体例的模型生成装置1,能够生成训练完毕的神经网络模块5,所述神经网络模块5包括提取运算,并且获得了将映现于图像的对象物RC的位置回归的能力。另外,检测装置2C通过在训练完毕的神经网络模块5的回归运算的过程中包含有提取运算,从而能够精度良好地回归映现于对象图像221C的对象物RC的位置。
<4.2>
神经网络模块5的构成可以不限于上述实施方式的例子,可以根据实施方式适当变更。例如,各神经元可以与相邻层的特定的神经元连接,或者与相邻层以外的层的神经元连接。各神经元的耦合关系可以根据实施方式适当决定。中间层52可以被省略。神经网络模块5例如可以包括卷积层、带束层、归一化层、衰减层等其它种类的层。神经网络模块5可以由卷积神经网络、递归型神经网络等其它形式的神经网络构成。
作为另一例,在构成为接受多个输入图像的情况下,神经网络模块5可以具备多个特征提取部和耦合部。各特征提取部可以构成为按每个输入图像设置在输入侧,通过1个以上的层(例如,卷积层、全耦合层)从输入图像生成特征映射。耦合部可以构成为配置在输出侧,以接受各特征提取部的输出,通过1个以上的层将通过各特征提取部得到的特征映射耦合。
另外,在上述实施方式中,神经网络模块5的输入和输出的形式可以不作特别限定,可以根据实施方式适当决定。例如,神经网络模块5可以构成为还接受图像以外的信息的输入。另外,例如,神经网络模块5也可以构成为输出实际数值的回归结果以外的信息(例如,上述第三具体例中为对象物RC的识别结果)。
§5实验例
为了验证提取运算的有效性,生成了以下的实施例和比较例所涉及的训练完毕的神经网络模块。不过,本发明并不限于以下的实施例。
首先,通过与上述实施方式(第一具体例)相同的方法生成了实施例所涉及的训练完毕的神经网络模块,所述神经网络模块获得了按每个像素回归2个图像间的视差(即,回归一个图像相对于另一个图像的各像素的视差)的能力。神经网络模块的构成除了输出层之外采用了与非专利文献1的Table1相同的构成。输出层构成为输出各像素的视差的候选值的成本。并且,构成了神经网络模块以对输出层的输出值执行式1~式5的运算(D=192、w=96)。学习数据集(训练图像和正确答案信息)使用了参考文献(Nikolaus Mayer,EddyIlg,PhilipPhilipp Fischer,Daniel Cremers,Alexey Dosovitskiy,ThomasBrox,“ALarge Dataset to Train Convolutional Networks for Disparity,OpticalFlow,and Scene Flow Estimation”,2016IEEE Conference on Computer Vision andPattern Recognition,<URL:https://arxiv.org/abs/1512.02134>.)所公开的SceneFlow数据集(训练数据为35、454组的立体图像对)。另一方面,将式1~式5的运算置换为以下的式7的运算,将反向传播阶段的置换省略(由于式7的运算不包括提取运算),其它条件设为与实施例相同,生成了比较例所涉及的训练完毕的神经网络模块。
[数学式7]
在实施例所涉及的训练完毕的神经网络模块中,将通过式5的计算算出的各像素的期待值(dsemi-soft)获取为视差的回归结果。在比较例所涉及的训练完毕的神经网络模块中,将通过上述式7算出的各像素的期待值(dsoft)获取为视差的回归结果。
接下来,使用市售的立体照相机生成了2个验证用图像。图11A示出2个验证用图像中的一方。图11B示出2个验证用图像中的另一方。图11C示出验证用图像的各像素的视差的真值。并且,将生成的2个验证用图像提供给实施例和比较例所涉及的训练完毕的神经网络模块,验证了实施例和比较例的视差的回归精度。
图12A示出通过比较例所涉及的训练完毕的神经网络模块将2个验证用图像间的视差回归后的结果。图12B示出图12A所示的回归结果与图11C所示的真值之间的误差。图13A示出通过实施例所涉及的训练完毕的神经网络模块将2个验证用图像间的视差回归后的结果。图13B示出图13A所示的回归结果与图11C所示的真值之间的误差。
如图12B和图13B所示,与比较例相比,实施例能够精度良好地回归视差。特别是,与比较例相比,在实施例中,能够在存在于图像左上部分的具有素色外观的对象物的部分精度良好地回归视差。根据该验证的结果可知,通过在从图像回归实际数值(实验例中为视差)的运算过程中采用提取运算,能够实现回归精度的提高。特别是可知,关于具有难以投影视差的图案(例如,上述素色外观)的部分,能够实现回归精度的提高。另外,可知通过在上述反向传播阶段进行替代运算的置换,能够适当生成训练完毕的神经网络模块。
附图标记说明
1…模型生成装置,
11…控制部,12…存储部,13…通信接口,
14…外部接口,
15…输入装置,16…输出装置,17…驱动器,
81…模型生成程序,91…存储介质,
111…数据获取部,112…学习处理部,
113…保存处理部,
125…学习结果数据,
2…回归装置,
21…控制部,22…存储部,23…通信接口,
24…外部接口,
25…输入装置,26…输出装置,27…驱动器,
82…回归程序,92…存储介质,
211…图像获取部,212…回归部,213…输出部,
221…对象图像,
3…学习数据集,
31…训练图像,32…正确答案信息,
5…神经网络模块,
51…输入层,52…中间(隐藏)层,
53…输出层。
Claims (10)
1.一种模型生成装置,具备:
数据获取部,获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集;以及
学习处理部,使用所述多个学习数据集来实施神经网络模块的机器学习,在所述学习处理部中,
所述神经网络模块包括从对象的集合提取满足规定条件的要素的提取运算,
所述机器学习是由如下内容构成的:针对各所述学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,
在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
2.根据权利要求1所述的模型生成装置,其中,
所述神经网络模块还包括算出多个候选值各自相对于回归的实际数值的似然度的运算,
所述提取运算由提取算出的各似然度中的最大值的要素构成。
3.根据权利要求1或2所述的模型生成装置,其中,
所述1个以上的训练图像由从不同位置拍摄的多个图像构成,
回归的实际数值是所述多个图像之间的视差。
4.根据权利要求1或2所述的模型生成装置,其中,
所述1个以上的训练图像由连续拍摄的多个图像构成,
回归的实际数值是与映现于所述多个图像的对象物的动作相关的推定值。
5.根据权利要求1或2所述的模型生成装置,其中,
所述1个以上的训练图像由对象物所映现的图像构成,
回归的实际数值是与所述对象物的检测位置相关的推定值。
6.一种回归装置,具备:
图像获取部,获取1个以上的对象图像;
回归部,使用训练完毕的神经网络模块从获取到的所述1个以上的对象图像回归实际数值,在所述回归部中,
所述训练完毕的神经网络模块是通过机器学习生成的,所述机器学习使用由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集,
所述神经网络模块包括从对象的集合提取满足规定条件的要素的提取运算,
所述机器学习是由如下内容构成的:针对各所述学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,
在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度;以及
输出部,输出与回归的结果相关的信息。
7.一种模型生成方法,计算机执行如下步骤:
获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集的步骤;以及
使用所述多个学习数据集来实施神经网络模块的机器学习的步骤,在所述步骤中,
所述神经网络模块包括从对象的集合提取满足规定条件的要素的提取运算,
所述机器学习是由如下内容构成的:针对各所述学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,
在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
8.根据权利要求7所述的模型生成方法,其中,
所述神经网络模块还包括算出多个候选值各自相对于回归的实际数值的似然度的运算,
所述提取运算由提取算出的各似然度中的最大值的要素构成。
9.一种模型生成程序,用于使计算机执行如下步骤:
获取由1个以上的训练图像与示出从所述1个以上的训练图像回归的实际数值的正确答案的正确答案信息的组合分别构成的多个学习数据集的步骤;以及
使用所述多个学习数据集来实施神经网络模块的机器学习的步骤,在所述步骤中,
所述神经网络模块包括从对象的集合提取满足规定条件的要素的提取运算,
所述机器学习是由如下内容构成的:针对各所述学习数据集训练所述神经网络模块,使得使用所述神经网络模块从所述1个以上的训练图像回归的值适合于由所述正确答案信息示出的正确答案,
在所述机器学习的期间,在所述神经网络模块的正向传播的阶段,直接计算所述提取运算,而在反向传播的阶段,将所述提取运算置换为可微分的替代运算,通过置换后的所述替代运算的微分计算,算出与所述提取运算的微分计算对应的近似梯度。
10.根据权利要求9所述的模型生成程序,其中,
所述神经网络模块还包括算出多个候选值各自相对于回归的实际数值的似然度的运算,
所述提取运算由提取算出的各似然度中的最大值的要素构成。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-114595 | 2020-07-02 | ||
JP2020114595A JP7447708B2 (ja) | 2020-07-02 | 2020-07-02 | モデル生成装置、回帰装置、モデル生成方法、及びモデル生成プログラム |
PCT/JP2021/024701 WO2022004773A1 (ja) | 2020-07-02 | 2021-06-30 | モデル生成装置、回帰装置、モデル生成方法、及びモデル生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115803774A true CN115803774A (zh) | 2023-03-14 |
Family
ID=79316638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180044574.7A Pending CN115803774A (zh) | 2020-07-02 | 2021-06-30 | 模型生成装置、回归装置、模型生成方法以及模型生成程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230245437A1 (zh) |
EP (1) | EP4177827A4 (zh) |
JP (1) | JP7447708B2 (zh) |
CN (1) | CN115803774A (zh) |
WO (1) | WO2022004773A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115557550B (zh) * | 2022-08-31 | 2024-02-23 | 达斯玛环境科技(北京)有限公司 | 一种污水预处理方法及系统 |
CN115657580B (zh) * | 2022-12-14 | 2023-03-31 | 北京交科公路勘察设计研究院有限公司 | 基于组合算法的隧道消防水池监控方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271090A (en) * | 1990-03-21 | 1993-12-14 | At&T Bell Laboratories | Operational speed improvement for neural network |
JP6662902B2 (ja) | 2015-06-05 | 2020-03-11 | グーグル エルエルシー | 空間的変換モジュール |
-
2020
- 2020-07-02 JP JP2020114595A patent/JP7447708B2/ja active Active
-
2021
- 2021-06-30 US US18/002,684 patent/US20230245437A1/en active Pending
- 2021-06-30 WO PCT/JP2021/024701 patent/WO2022004773A1/ja active Application Filing
- 2021-06-30 CN CN202180044574.7A patent/CN115803774A/zh active Pending
- 2021-06-30 EP EP21833036.3A patent/EP4177827A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230245437A1 (en) | 2023-08-03 |
WO2022004773A1 (ja) | 2022-01-06 |
JP7447708B2 (ja) | 2024-03-12 |
EP4177827A4 (en) | 2024-02-28 |
JP2022012626A (ja) | 2022-01-17 |
EP4177827A1 (en) | 2023-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11062207B2 (en) | Control systems using deep reinforcement learning | |
EP3735625B1 (en) | Method and system for training the navigator of an object tracking robot | |
EP3510561B1 (en) | Predicting depth from image data using a statistical model | |
EP2858008B1 (en) | Target detecting method and system | |
CN108256431B (zh) | 一种手部位置标识方法及装置 | |
JP7339029B2 (ja) | モーション認識モデルを用いた自体運動推定装置及び方法並びにモーション認識モデルトレーニング装置及び方法 | |
CN110263920B (zh) | 卷积神经网络模型及其训练方法和装置、巡检方法和装置 | |
JP7263216B2 (ja) | ワッサースタイン距離を使用する物体形状回帰 | |
US20150169938A1 (en) | Efficient facial landmark tracking using online shape regression method | |
CN107025658A (zh) | 采用单个相机检测运动物体的方法和系统 | |
US11074438B2 (en) | Disentangling human dynamics for pedestrian locomotion forecasting with noisy supervision | |
KR20180087994A (ko) | 스테레오 매칭 방법 및 영상 처리 장치 | |
WO2015001544A2 (en) | System and method for abnormality detection | |
CN115803774A (zh) | 模型生成装置、回归装置、模型生成方法以及模型生成程序 | |
CN112991389B (zh) | 一种目标跟踪方法、装置及移动机器人 | |
US20210150751A1 (en) | Occlusion-aware indoor scene analysis | |
EP4080452A1 (en) | Unsupervised training of optical flow estimation neural networks | |
US11789466B2 (en) | Event camera based navigation control | |
CN111696196A (zh) | 一种三维人脸模型重建方法及装置 | |
US20220405586A1 (en) | Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program | |
CN114937177A (zh) | 自动打标、检测模型训练及目标识别方法、和电子设备 | |
JP2005078528A (ja) | 物体検出装置及び方法 | |
CN112990009A (zh) | 基于端到端的车道线检测方法、装置、设备及存储介质 | |
CN113139567A (zh) | 信息处理装置及其控制方法、车辆、记录介质、信息处理服务器、信息处理方法 | |
US20230005162A1 (en) | Image processing system, image processing method, and storage medium |
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 |