CN118120246A - 学习装置、学习方法、学习程序、摄像机参数算出装置、摄像机参数算出方法以及摄像机参数算出程序 - Google Patents
学习装置、学习方法、学习程序、摄像机参数算出装置、摄像机参数算出方法以及摄像机参数算出程序 Download PDFInfo
- Publication number
- CN118120246A CN118120246A CN202280068550.XA CN202280068550A CN118120246A CN 118120246 A CN118120246 A CN 118120246A CN 202280068550 A CN202280068550 A CN 202280068550A CN 118120246 A CN118120246 A CN 118120246A
- Authority
- CN
- China
- Prior art keywords
- camera
- learning
- image
- parameters
- neural network
- 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 42
- 238000004364 calculation method Methods 0.000 title claims description 35
- 230000006870 function Effects 0.000 claims abstract description 170
- 238000013528 artificial neural network Methods 0.000 claims abstract description 95
- 230000003287 optical effect Effects 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 45
- 238000013135 deep learning Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 14
- 230000000007 visual effect Effects 0.000 claims 1
- 238000003860 storage Methods 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 21
- 238000012937 correction Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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/20081—Training; Learning
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
学习装置的学习部通过将图像输入到深度神经网络,来推定摄像机参数,其中,该摄像机参数包含以与向摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征摄像机的姿势的姿势参数,以封闭形式算出投影函数的反函数,算出通过将图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个推定值,基于多个真值各自与多个推定值各自的各组合,来算出表示真正的摄像机参数与基于深度神经网络的摄像机参数的推定结果的误差的网络误差,对深度神经网络的参数进行学习,以使得网络误差最小化。
Description
技术领域
本公开涉及对用于从图像算出摄像机参数的深度神经网络进行学习的技术以及从图像算出摄像机参数的技术。
背景技术
为了进行感测摄像机等摄像机校正,在基于几何的手法中,需要将三维空间中的三维坐标值和二维图像中的像素位置建立对应。过去,拍摄形状已知的重复图案,从所得到的图像检测交点或圆的中心,由此来进行三维坐标与二维图像中的像素位置的对应建立。
此外,过去,作为使用1张输入图像对图像的明亮度或被摄体进行稳健的摄像机校正的手法,提出基于深度学习的手法。另外,所谓摄像机校正,是指算出摄像机参数。
例如,在非专利文献1中,通过使用校正指标将三维空间中的三维坐标值和二维图像中的像素位置建立对应的基于几何的手法,来算出摄像机参数。
此外,例如,非专利文献2公开了从1张图像进行摄像机校正的基于深度学习的手法。
在非专利文献1的手法中,需要进行如下处理:拍摄形状已知的重复图案的处理;从所得到的图像检测交点或圆的中心的处理;和进行三维坐标和二维图像中的像素位置的对应建立的处理。因此,摄像机校正作业复杂,有可能无法容易地进行摄像机校正。
此外,在非专利文献2的手法中,通过利用了失真参数k1和以失真参数k1的2次函数算出的失真参数k2的简单多项式来表现镜头失真。因此,非专利文献2的手法难以合适地表现鱼眼摄像机等的大的镜头失真,难以适用于鱼眼摄像机这样的镜头失真大的摄像机的摄像机校正。
现有技术文献
非专利文献
非专利文献1:R.Y.Tsai、“A Versatile Camera Calibration Technique forHigh-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras andLenses”、IEEE Journal of Robotics and Automation、Volume 3、Number 4、pages 323-344、1987年8月
非专利文献2:M.Lopez、R.Mari、P.Gargallo、Y.Kuang、J.Gonzalez-Jimenez、以及G,Haro、“Deep Single Image Camera Calibration with Radial Distortion”、2019IEEE/CVF Conference 0n Computer Vision and Pattern Recognition(CVPR)、pages 11817-11825、2019年6月
发明内容
本公开为了解决上述的问题而提出,目的在于,提供能从1张图像高精度地算出摄像机参数的技术。
本公开所涉及的学习装置具备:图像取得部,取得由摄像机拍摄的图像;摄像机参数取得部,取得所述摄像机的真正的摄像机参数;学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和输出部,输出由所述学习部进行了学习的所述深度神经网络,所述学习部通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
根据本公开,能从1张图像高精度地算出摄像机参数。
附图说明
图1是表示本公开的实施方式中的摄像机参数算出系统的结构的一例的框图。
图2是表示本公开的实施方式的摄像机参数算出装置的摄像机参数算出处理的一例的流程图。
图3是表示本公开的实施方式中的学习装置的结构的一例的框图。
图4是表示本公开的实施方式的学习装置的学习处理的一例的流程图。
图5是表示图4的步骤S13中的DNN学习处理的一例的流程图。
具体实施方式
(成为本公开的基础的见解)
近年来,实施利用了摄像机的感测,但为了高精度地进行图像识别,需要进行摄像机校正。但在鱼眼摄像机这样的镜头失真大的摄像机的摄像机校正中,在现有的基于深度学习的摄像机校正中,难以从1张图像高精度地算出摄像机参数。
为了解决以上的课题,公开了下述的技术。
(1)本公开的一方式所涉及的学习装置具备:图像取得部,取得由摄像机拍摄的图像;摄像机参数取得部,取得所述摄像机的真正的摄像机参数;学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和输出部,输出由所述学习部进行了学习的所述深度神经网络,所述学习部通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
根据该结构,通过将表征镜头的失真的失真参数用与向摄像机的入射角相关的4次函数以下的投影函数来表征,能以封闭形式算出投影函数的反函数。然后,使用反函数和真正的摄像机参数将图像坐标的基准点投影到世界坐标,并且,使用反函数和所推定的摄像机参数将图像坐标的基准点投影到世界坐标,能使用基于世界坐标的网络误差来对深度神经网络进行学习。因此,能通过对通过深度学习进行了学习的深度神经网络输入1张图像来从1张图像高精度地算出摄像机参数。
(2)在上述(1)记载的学习装置基础上,也可以,所述摄像机的视角为180°以上。
根据该结构,视角为180°以上的摄像机的镜头失真大。但通过对通过深度学习进行了学习的深度神经网络输入由镜头失真大的摄像机拍摄的1张图像,能从由镜头失真大的摄像机拍摄的1张图像高精度地算出摄像机参数。
(3)在上述(1)或(2)记载的学习装置基础上,也可以,所述投影函数由所述入射角的1次项和所述入射角的3次项来表征。
根据该结构,由于投影函数由3次多项式来表征,因此,深度神经网络的深度学习变得容易。此外,在投影函数的次数大于4次的情况下,难以以封闭形式算出投影函数的反函数,但根据上述的结构,由于投影函数的次数为3次,因此,能以封闭形式算出投影函数的反函数。
(4)在上述(3)记载的学习装置基础上,也可以,所述入射角的所述1次项的系数为1,所述入射角的所述3次项的系数为-1/6以上且1/3以下的范围。
根据该结构,若入射角的3次项的系数为-1/6以上且1/3以下的范围,就能表现鱼眼镜头的全部射影方式,能使应以深度学习推定的系数(失真参数)的范围为-1/6以上且1/3以下的范围。
(5)在上述(1)~(4)的任一者记载的学习装置基础上,也可以,所述摄像机参数还包含所述摄像机的焦距,由所述深度神经网络推定的所述焦距为所述摄像机所具备的图像传感器的纵的长度的1/4以上且1/2以下的范围。
根据该结构,由于鱼眼镜头的焦距为图像传感器的纵的长度的1/4以上且1/2以下的范围,因此,能使鱼眼摄像机的摄像机参数中所含的应以深度学习推定的焦距的范围为1/4以上且1/2以下的范围。
(6)在上述(1)~(5)的任一者记载的学习装置基础上,也可以,所述多个真值是将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标的多个第1世界坐标点,所述多个推定值是将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标的多个第2世界坐标点,所述学习部基于所述多个第1世界坐标点各自与所述多个第2世界坐标点各自的各组合的距离来算出所述网络误差。
根据该结构,算出将图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标的多个第1世界坐标点,算出将图像上的多个基准点使用反函数和所推定的摄像机参数投影到世界坐标的多个第2世界坐标点。然后,能基于多个第1世界坐标点各自与多个第2世界坐标点各自的各组合的距离来算出网络误差。
(7)在上述(1)~(5)的任一者记载的学习装置基础上,也可以,所述多个真值是通过将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标而得到的多个第1单位视线向量,所述多个推定值是通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个第2单位视线向量,所述学习部基于所述多个第1单位视线向量各自与所述多个第2单位视线向量各自的各组合的角度来算出所述网络误差。
根据该结构,算出通过将图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个第1单位视线向量,算出通过将图像上的多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个第2单位视线向量。然后,能基于多个第1单位视线向量各自与多个第2单位视线向量各自的各组合的角度来算出网络误差。
(8)在上述(1)~(5)的任一者记载的学习装置基础上,也可以,所述多个真值是通过将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标而得到的多个第1单位视线向量,所述多个推定值是通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个第2单位视线向量,所述学习部基于所述多个第1单位视线向量各自与单位球面的多个第1交点、和所述多个第2单位视线向量各自与所述单位球面的多个第2交点的各组合的距离,来算出所述网络误差。
根据该结构,算出通过将图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个第1单位视线向量,算出通过将图像上的多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个第2单位视线向量。然后,能基于多个第1单位视线向量各自与单位球面的多个第1交点、和多个第2单位视线向量各自与单位球面的多个第2交点的各组合的距离,来算出网络误差。
此外,本公开不仅能实现为具备以上那样的特征性的结构的学习装置,还能实现为执行与学习装置所具备的特征性的结构对应的特征性的处理的学习方法等。此外,还能实现为使计算机执行这样的学习方法中所含的特征性的处理的计算机程序。因此,在以下的其他方式中,也能起到与上述的学习装置同样的效果。
(9)本公开的其他方式所涉及的学习方法是计算机中的学习方法,取得由摄像机拍摄的图像,取得所述摄像机的真正的摄像机参数,通过利用了所取得的所述图像、和所取得的所述真正的摄像机参数的深度学习来对深度神经网络进行学习,输出进行了学习的所述深度神经网络,在所述深度神经网络的学习中,通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
(10)本公开的其他方式所涉及的学习程序使计算机作为如下要素发挥功能:图像取得部,取得由摄像机拍摄的图像;摄像机参数取得部,取得所述摄像机的真正的摄像机参数;学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和输出部,输出由所述学习部进行了学习的所述深度神经网络,所述学习部通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
(11)本公开的其他方式所涉及的摄像机参数算出装置具备:图像取得部,取得由摄像机拍摄的图像;推定部,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数;和输出部,输出由所述推定部推定的所述摄像机参数,在所述深度神经网络的学习时,取得学习用图像,取得拍摄所述学习用图像的摄像机的真正的摄像机参数,通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
根据该结构,通过将表征镜头的失真的失真参数用与向摄像机的入射角相关的4次函数以下的投影函数来表征,能以封闭形式算出投影函数的反函数。然后,使用反函数和真正的摄像机参数将图像坐标的基准点投影到世界坐标,并且,使用反函数和所推定的摄像机参数将图像坐标的基准点投影到世界坐标,能使用基于世界坐标的网络误差来对深度神经网络进行学习。因此,能通过对通过深度学习进行了学习的深度神经网络输入1张图像来从1张图像高精度地算出摄像机参数。
此外,本公开不仅能实现为具备以上那样的特征性的结构的摄像机参数算出装置,还能实现为执行与摄像机参数算出装置所具备的特征性的结构对应的特征性的处理的摄像机参数算出方法等。此外,还能实现为使计算机执行这样的摄像机参数算出方法中所含的特征性的处理的计算机程序。因此,在以下的其他方式中,也能起到与上述的摄像机参数算出装置同样的效果。
(12)本公开的其他方式所涉及的摄像机参数算出方法是计算机中的摄像机参数算出方法,取得由摄像机拍摄的图像,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数,输出由所述推定部推定的所述摄像机参数,在所述深度神经网络的学习时,取得学习用图像,取得拍摄所述学习用图像的摄像机的真正的摄像机参数,通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
(13)本公开的其他方式所涉及的摄像机参数算出程序使计算机作为如下要素发挥功能:图像取得部,取得由摄像机拍摄的图像;推定部,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数;和输出部,输出由所述推定部推定的所述摄像机参数,在所述深度神经网络的学习时,取得学习用图像,取得拍摄所述学习用图像的摄像机的真正的摄像机参数,通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
此外,本公开能使计算机程序经由CD-ROM等计算机可读的非临时性记录介质或因特网等通信网络而流通。因此,在以下的其他方式中,也能起到与上述的学习装置或摄像机参数算出装置同样的效果。
(14)本公开的其他方式所涉及的记录了学习程序的计算机可读的非临时性记录介质使计算机作为如下要素发挥功能:图像取得部,取得由摄像机拍摄的图像;摄像机参数取得部,取得所述摄像机的真正的摄像机参数;学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和输出部,输出由所述学习部进行了学习的所述深度神经网络,所述学习部通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
(15)本公开的其他方式所涉及的记录了摄像机参数算出程序的计算机可读的非临时性记录介质使计算机作为如下要素发挥功能:图像取得部,取得由摄像机拍摄的图像;推定部,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数;和输出部,输出由所述推定部推定的所述摄像机参数,在所述深度神经网络的学习时,取得学习用图像,取得拍摄所述学习用图像的摄像机的真正的摄像机参数,通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,以封闭形式算出所述投影函数的反函数,算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
另外,以下说明的实施方式均表示本公开的一具体例。以下的实施方式所示的数值、形状、构成要素、步骤、步骤的顺序等是一例,主旨并非限定本公开。此外,关于以下的实施方式中的构成要素当中的未记载于表示最上位概念的独立权利要求的构成要素,设为任意的构成要素来进行说明。此外,在全部实施方式中,还能组合各个内容。
(实施方式)
以下,参考附图来说明本公开的实施方式。
图1是表示本公开的实施方式中的摄像机参数算出系统的结构的一例的框图。
摄像机参数算出系统具备摄像机参数算出装置1以及摄像机4。
在本实施方式中,摄像机4是在成为感测的识别对象的用户所居住的住宅内设置的固定摄像机。摄像机4以给定的帧频拍摄用户,将拍摄的图像以给定的帧频输入到摄像机参数算出装置1。摄像机4例如是视角为180°以上的鱼眼摄像机(超广角摄像机)。另外,摄像机4也可以是视角为60°以上的广角摄像机,还可以是视角小于25°的窄角摄像机。
摄像机参数算出装置1由包含处理器2、存储器3以及接口电路(图略)的计算机构成。处理器2例如是中央运算处理装置。存储器3例如是闪速存储器、硬盘驱动器或固态驱动器等非易失性的能改写的存储装置。接口电路例如是通信电路。
摄像机参数算出装置1可以由设置于住宅内的边缘服务器(edge server)构成,也可以是设置于住宅内的智能扬声器,还可以由云服务器构成。在摄像机参数算出装置1由边缘服务器或智能扬声器构成的情况下,摄像机4和摄像机参数算出装置1经由局域网络连接。此外,在摄像机参数算出装置1由云服务器构成的情况下,摄像机4和摄像机参数算出装置1经由因特网等广域通信网连接。另外,也可以将摄像机参数算出装置1的结构的一部分设于边缘侧,剩余部分设于云侧。
处理器2包含取得部21、摄像机参数推定部22以及输出部23。取得部21~输出部23可以通过中央运算处理装置执行摄像机参数算出程序而实现,也可以由ASIC(ApplicationSpecific Integrated Circuit,特定用途集成电路)等专用的硬件电路构成。
取得部21取得由摄像机4拍摄的图像。取得部21将所取得的图像存储到帧存储器31。
摄像机参数推定部22通过将由取得部21取得的图像输入到通过深度学习进行了学习的深度神经网络(以下也称作DNN),来推定摄像机4的摄像机参数。摄像机参数推定部22从DNN存储部32读出DNN。摄像机参数推定部22从由帧存储器31读出的图像通过以深度学习进行了学习的DNN来算出摄像机参数。DNN的一例是包含卷积层以及池化层等的卷积神经网络。
在DNN的学习时,取得学习用图像。接下来,取得拍摄学习用图像的摄像机的真正的摄像机参数。接下来,通过将学习用图像输入到DNN来推定摄像机参数,其中,该摄像机参数包含以与向拍摄学习用图像摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征摄像机的姿势的姿势参数。接下来,以封闭形式算出投影函数的反函数。接下来,算出通过将学习用图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个真值。接下来,算出通过将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个推定值。接下来,基于多个真值各自与多个推定值各自的各组合来算出表示真正的摄像机参数与基于DNN的摄像机参数的推定结果的误差的网络误差。接下来,学习DNN的参数,以使得所算出的网络误差最小化。
另外,真正的摄像机参数是正解的摄像机参数。
输出部23输出由摄像机参数推定部22推定的摄像机参数。
存储器3包含帧存储器31以及DNN存储部32。
帧存储器31存储取得部21从摄像机4取得的图像。帧存储器31存储由取得部21取得的时间序列的图像。
DNN存储部32预先存储由摄像机参数推定部22使用的DNN。DNN存储部32存储由后述的学习装置5生成的DNN。DNN可以在摄像机参数算出装置1的制造时存储于DNN存储部32,也可以从外部服务器接收而存储于DNN存储部32。
摄像机参数算出装置1不一定非要以单一的计算机装置实现,也可以由包含终端装置和服务器的分散处理系统(未图示)实现。例如,也可以将取得部21以及帧存储器31设于终端装置,将DNN存储部32、摄像机参数推定部22以及输出部23设于服务器。此外,在该情况下,构成要素间的数据的交接经由与终端装置和服务器连接的通信线路来进行。
图2是表示本公开的实施方式的摄像机参数算出装置1的摄像机参数算出处理的一例的流程图。以下,按照图2来叙述摄像机参数算出装置1的动作。另外,摄像机参数算出处理在摄像机4的设置时进行,之后,例如每1周或每1个月等定期进行。
首先,在步骤S1,取得部21取得由摄像机4拍摄的图像(鱼眼图像)。取得部21将所取得的图像存储到帧存储器31。
接下来,在步骤S2,摄像机参数推定部22从帧存储器31读出图像,将所读出的图像输入到事前进行了学习的DNN,由此来推定摄像机参数。关于DNN的学习方法,之后叙述。
接下来,在步骤S3,输出部23输出由摄像机参数推定部22推定的摄像机参数。
通过上述的步骤,能校正用于感测的摄像机4。特别是,本实施方式在鱼眼摄像机等失真大的摄像机4中的摄像机校正中是有用的。
接着,说明用于对摄像机参数推定部22中所用的DNN进行学习的学习装置。
图3是表示本公开的实施方式中的学习装置5的结构的一例的框图。
学习装置5由包含处理器6、存储器7以及接口电路(图略)的计算机构成。处理器6例如是中央运算处理装置。存储器7例如是闪速存储器、硬盘驱动器或固态驱动器等非易失性的能改写的存储装置。接口电路例如是通信电路。
学习装置5可以由云服务器构成,也可以由个人计算机构成。
处理器6包含图像取得部60、摄像机参数取得部61、学习部62以及输出部63。图像取得部60~输出部63可以通过中央运算处理装置执行学习程序来实现,也可以由ASIC等专用的硬件电路构成。
存储器7包含学习用图像存储部71、摄像机参数存储部72以及DNN存储部73。
学习用图像存储部71预先存储由摄像机拍摄的多个学习用图像。学习用图像在学习DNN时使用。用于得到学习用图像的摄像机与摄像机4相同。学习用图像是鱼眼图像,通过事前用鱼眼摄像机进行拍摄来得到。此外,学习用图像可以通过使用鱼眼摄像机的摄像机参数对全景图像进行计算机图形(CG)处理来生成。
摄像机参数存储部72预先存储摄像机的真正的摄像机参数。真正的摄像机参数在学习DNN时使用。真正的摄像机参数是得到学习用图像时使用的摄像机的摄像机参数。此外,真正的摄像机参数可以是进行学习用图像的CG处理时使用的摄像机参数。摄像机参数存储部72存储与学习用图像对应的真正的摄像机参数。摄像机参数由与摄像机的姿势(相对于世界坐标基准的旋转以及平移)相关的外部参数、和与焦距以及镜头失真相关的内部参数构成。
图像取得部60取得由摄像机拍摄的学习用图像。图像取得部60从学习用图像存储部71读出学习用图像。另外,在本实施方式中,图像取得部60从学习用图像存储部71取得预先存储的学习用图像,但本公开并不特别限定于此。图像取得部60也可以从外部服务器取得学习用图像。在该情况下,图像取得部60也可以从外部服务器接收学习用图像。此外,图像取得部60也可以从与学习装置5连接的摄像机取得学习用图像。
摄像机参数取得部61取得摄像机的真正的摄像机参数。摄像机参数取得部61从摄像机参数存储部72读出真正的摄像机参数。另外,在本实施方式中,摄像机参数取得部61从摄像机参数存储部72取得预先存储的真正的摄像机参数,但本公开并不特别限定于此。摄像机参数取得部61也可以从外部服务器取得真正的摄像机参数。在该情况下,摄像机参数取得部61也可以从外部服务器接收真正的摄像机参数。此外,摄像机参数取得部61也可以取得由操作人员输入的真正的摄像机参数。
学习部62通过利用了由图像取得部60取得的学习用图像、和由摄像机参数取得部61取得的真正的摄像机参数的深度学习,来对DNN进行学习。
学习部62通过将学习用图像输入到DNN,来推定摄像机参数,其中,该摄像机参数包含以与向摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征摄像机的姿势的姿势参数。学习部62以封闭形式算出投影函数的反函数。学习部62算出通过将学习用图像上的多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个真值。学习部62算出通过将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个推定值。学习部62基于多个真值各自与多个推定值各自的各组合,来算出表示真正的摄像机参数与基于DNN的摄像机参数的推定结果的误差的网络误差。
在此,多个真值是将多个基准点使用反函数和真正的摄像机参数投影到世界坐标的多个第1世界坐标点。此外,多个推定值是将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标的多个第2世界坐标点。学习部62基于多个第1世界坐标点各自与多个第2世界坐标点各自的各组合的距离来算出网络误差。
学习部62对DNN的参数进行学习,以使得所算出的网络误差最小化。
另外,在本实施方式中,多个真值可以是通过将多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个第1单位视线向量。此外,多个推定值可以是通过将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个第2单位视线向量。在该情况下,学习部62可以基于多个第1单位视线向量各自与多个第2单位视线向量各自的各组合的角度,来算出网络误差。
此外,在本实施方式中,多个真值可以是通过将多个基准点使用反函数和真正的摄像机参数投影到世界坐标而得到的多个第1单位视线向量。此外,多个推定值可以是将多个基准点使用反函数和所推定的摄像机参数投影到世界坐标而得到的多个第2单位视线向量。在该情况下,学习部62可以基于多个第1单位视线向量各自与单位球面的多个第1交点、和多个第2单位视线向量各自与单位球面的多个第2交点的各组合的距离,来算出网络误差。
输出部63输出由学习部62进行了学习的DNN。输出部63将DNN输出到DNN存储部73。
DNN存储部73存储由学习部62进行了学习的DNN。另外,在本实施方式中,输出部63将由学习部62进行了学习的DNN存储到DNN存储部73,但本公开并不特别限定于此。输出部63也可以将由学习部62进行了学习的DNN向外部服务器输出。在该情况下,输出部63可以将DNN向外部服务器发送。
接着,参考附图来说明学习装置5的学习处理。
图4是表示本公开的实施方式的学习装置5的学习处理的一例的流程图。以下,按照图4来叙述学习装置5的动作。
首先,在步骤S1 1,图像取得部60取得DNN的学习中所用的学习用图像。
接下来,在步骤S12,摄像机参数取得部61取得真正的摄像机参数Ω’。
接下来,在步骤S13,学习部62使用学习用图像以及真正的摄像机参数Ω’来对DNN进行学习(DNN学习处理)。
学习部62算出真正的摄像机参数与所推定的摄像机参数的误差。摄像机参数表现了将世界坐标投影到图像坐标的关系、或将图像坐标投影到世界坐标的关系。另外,从图像坐标变换的世界坐标由于标尺不明,因此,与单位视线向量或单位球面上的世界坐标同义。
学习部62将学习用图像上的基准点(例如1像素)使用真正的摄像机参数投影到单位球面上的第1世界坐标点。此外,学习部62将学习用图像上的基准点使用所推定的摄像机参数投影到单位球面上的第2世界坐标点。然后,学习部62算出第1世界坐标点与第2世界坐标点的距离。学习部62关于学习用图像上的全部基准点,算出第1世界坐标点与第2世界坐标点的距离,算出所算出的多个距离的平均作为网络误差(损失)。
以非专利文献2的Bearing loss算出方法为例,来说明网络误差(损失)的算出方法。
在此,说明图4的步骤S13中的DNN学习处理。
图5是表示图4的步骤S13中的DNN学习处理的一例的流程图。
首先,在步骤S21,学习部62通过将学习用图像输入到DNN,来推定摄像机参数。DNN从卷积层等提取图像的特征量,最终输出所推定的各摄像机参数。例如,DNN输出摄像机的俯仰角θ、滚转角ψ、焦距f以及失真参数k1这4个摄像机参数。关于摄像机参数的详细情况,之后叙述。为了使说明简单,在以后的说明中,学习部62推定上述的4个摄像机参数。
另外,所推定的摄像机参数以外的摄像机参数(未推定的摄像机参数)可以通过真正的摄像机参数来生成。即,在真正的摄像机参数的数量多于所推定的摄像机参数的数量的情况下,可以对未推定的摄像机参数的值使用真正的摄像机参数的值。
接下来,在步骤S22,学习部62提取学习用图像上的N个基准点当中的1个基准点P’i。在基准点为1像素的情况下,N与学习用图像的像素数相同,以图像的高度方向的像素数与图像的宽度方向的像素数之积来表征。
接下来,在步骤S23,学习部62将基准点P’i使用真正的摄像机参数Ω’投影到单位球面上的第1世界坐标点P’w。
接下来,在步骤S24,学习部62将基准点P’i使用所推定的摄像机参数Ω投影到单位球面上的第2世界坐标点Pw。
接下来,在步骤S25,学习部62算出投影在单位球面上的第1世界坐标点P’w与第2世界坐标点Pw的欧几里德距离。
接下来,在步骤S26,学习部62判定是否提取了学习用图像上的全部基准点。在此,在判定为未提取全部基准点的情况下(步骤S26“否”),处理回到步骤S22。并且,学习部62提取学习用图像上的多个基准点当中的未提取的其他基准点P’i。
另一方面,在判定为提取了全部基准点的情况下(步骤S26“是”),在步骤S27,学习部62算出所算出的多个距离的平均作为网络误差。另外,学习部62可以算出所算出的多个距离的平均值的2次方作为网络误差。或者,学习部62也可以算出所算出的多个距离的Huber损失作为网络误差。Huber损失是针对小于0.5的绝对值误差为2次方误差且针对0.5以上的绝对值误差为1次方误差的误差函数。
接下来,在步骤S28,学习部62使用所算出的网络误差,通过误差逆传播来更新DNN的参数。误差逆传播的最优化使用概率的梯度下降法等。
另外,学习部62可以将学习用图像上的基准点使用真正的摄像机参数变换为第1单位视线向量。此外,学习部62可以将学习用图像上的基准点使用所推定的摄像机参数变换为第2单位视线向量。学习部62可以算出第1单位视线向量和第2单位视线向量所成的角度。学习部62可以对学习用图像上的全部基准点算出第1单位视线向量与第2单位视线向量的角度,算出所算出的多个角度的平均作为网络误差(损失)。
此外,学习部62可以算出第1单位视线向量与以摄像机为中心的单位球面的第1交点。此外,学习部62可以算出第2单位视线向量与单位球面的第2交点。学习部62可以算出单位球面上的第1交点与第2交点的欧几里德距离。学习部62可以对学习用图像上的全部基准点算出第1交点与第2交点的欧几里德距离,算出所算出的多个欧几里德距离的平均作为网络误差(损失)。该网络误差在非专利文献2中称作Bearing loss。
此外,学习部62可以将单位球面上的世界坐标点(例如10000点)使用真正的摄像机参数投影到图像上的第1图像坐标点。此外,学习部62可以将单位球面上的世界坐标点使用所推定的摄像机参数投影到图像上的第2图像坐标点。学习部62可以算出第1图像坐标点与第2图像坐标点的距离。学习部62可以对单位球面上的全部世界坐标点算出第1图像坐标点与第2图像坐标点的距离,算出所算出的多个距离的平均作为网络误差(损失)。
回到图4,接下来,在步骤S14,学习部62判定DNN的学习是否完成。例如,学习部62在DNN的参数的更新次数超过阈值的情况下,判定为DNN的学习完成,在DNN的参数的更新次数为阈值以下的情况下,判定为DNN的学习未完成。阈值例如是10000次。
另外,学习部62也可以在网络误差小于阈值的情况下,判定为DNN的学习完成,在网络误差为阈值以上的情况下,判定为DNN的学习未完成。在网络误差为单位球面上的多个距离的平均的情况下,阈值例如是0.1。此外,在网络误差为单位视线向量的角度的平均的情况下,阈值例如是0.01。此外,在网络误差为图像坐标的多个距离的平均的情况下,阈值例如是3像素。
在此,在判定为DNN的学习未完成的情况下(步骤S14“否”),处理回到步骤S11。然后,在步骤S11,图像取得部60取得其他学习用图像。
另一方面,在判定为DNN的学习完成的情况下(步骤S14“是”),在步骤S15,输出部63输出由学习部62进行了学习的DNN。输出部63将DNN存储到DNN存储部73。
接着,下述说明本公开中的摄像机参数的一例。从世界坐标系向图像坐标系的变换式用下述的数式(1)~(4)表征。摄像机参数是将世界坐标投影到图像坐标的投影式的参数。数式(3)的Γ(η)是表征镜头失真的投影函数。另外,η是入射角。
[数学式1]
γ=Γ(η)…(3)
在此,(X,Y,Z)是世界坐标值,(x,y)是图像坐标值。(Cx,Cy)是摄像机的主点图像坐标,r11~r33是表征世界坐标的相对于基准的旋转的3x3的旋转矩阵R的分量,(TX,TY,TZ)是表征世界坐标的相对于基准的平移向量,dx以及dy是摄像机的图像传感器的横向以及纵向的像素间距。在数式(1)~(4)中,dx、dy、Cx、Cy、r11~r33、TX、TY、TZ是摄像机参数。
数式(1)~(4)表征从(X,Y,Z)向(x,y)的变换。在从(x,y)向单位球面上的(X,Y,Z)变换的情况下,使用数式(1)~(4)的反函数或逆矩阵来进行变换。另外,旋转矩阵是正则的,始终能计算逆矩阵,包含平移向量的4x4的矩阵也是正则的。此外,在数式(1)~(4)包含arctan以及四则运算的情况下,也能计算数式(1)~(4)的反函数。arctan等反三角函数能在合适的值域(codomain)中计算。因此,在能算出Γ的反函数的情况下,能进行从图像坐标向世界坐标的变换的计算。
光轴对称的镜头的γ(投影函数)的示例作为入射角η的函数而由下述的数式(5)~(9)表现。
γ=fsin(η)…(5)
γ=2fsin(η/2)…(6)
γ=fη…(7)
γ=2ftan(Q/2)…(8)
γ=ftan(η)…(9)
数式(5)表征正射影的投影函数,数式(6)表征等立体角射影的投影函数,数式(7)表征等距离射影的投影函数,数式(8)表征立体射影的投影函数,数式(9)表征针孔摄像机的投影函数。f表征焦距。η表征入射角。
非专利文献3(D.B.Gennery、“Generalized Camera Calibration IncludingFish-Eye Lenses”、International Journal of Computer Vision、68、239-266、2006年)记载的一般摄像机模型用下述的数式(10)表征。
γ=k1η+k2η3+k2η5+……(10)
在上述的数式(10)中,η表征入射角,k1以及k2表征作为摄像机参数之一的失真参数(失真系数)。
在上述的非专利文献3中,一般摄像机模型表现为任意的多项式。上述的数式(10)是N次多项式,为了算出反函数而求取N次方程式的解。但能以封闭形式(Closed-form)计算的方程式是至4次方程式为止。因此,求不到针对上述的数式(10)的反函数的一般解。因此,从图像坐标向视线向量的变换不能适用于网络误差(损失)的计算所需的深度学习。鉴于上述,本公开的发明者提出下述的数式(11)所示的一般鱼眼摄像机模型。
γ=f(η+k1η3)…(11)
如上述的数式(11)所示那样,投影函数通过入射角的1次项和入射角的3次项来表征。在上述的数式(11)中,f表征焦距,η表征入射角,k1表征作为摄像机参数之一的失真参数(失真系数)。
上述的数式(11)与上述的非专利文献3不同,明确定义了焦距f。焦距f有图像的标尺这样的物理上的意义,在深度学习中,f容易推定。另一方面,在上述的非专利文献3中,焦距f假定1mm的固定值,多项式的系数隐含地包含焦距。
上述的数式(11)是关于η的三次函数,因此,反函数需要求解3次方程式。作为封闭形式的解法,已知卡尔达诺公式(Cardano’s formula),能使用1个立方根来算出3个复数解。在此,由于数式(11)是摄像机模型,因此,焦距f成为正,且k1成为实数。在该条件下,数式(11)的解成为下述的(i)以及(ii)的任一者。
(i)1个实数解和2个虚数解。
(ii)3个实数解。
能根据在算出卡尔达诺公式的3个复数解时使用的判别式的符号来区别(i)和(ii)。在数式(11)的解是(i)的解的情况下,选择作为实数解的η即可。另一方面,在数式(11)的解是(ii)的解的情况下,能算出3个实数解的大小关系,在将3个解升序排序时,选择中间的大小的η即可。剩余的2个解是数式上存在的虚假的入射角η。中间的解合适的理由在于,在上述条件下,在具有3个实数解的情况下,1个实数解成为负,剩余的2个实数解成为正。由于入射角为0以上,因此,负的实数解不合适。此外,为了数式(11)的函数和数式(11)的反函数1对1对应而成为双射,需要数式(11)的函数和数式(11)的反函数单调增加。单调增加的是2个正的实数解当中的接近于0的那个解。在选择了大的那个解的情况下,不会成为单调增加,不会成为双射。
此外,在深度学习中能推定实数值,但实数整体的空间无限大,没有范围指定地进行推定的效率极差。在此,数式(11)若以3次的Taylor展开进行近似,则以下述的数式(12)~(16)表征。
γ=f(η-1/6·η3)…(12)
γ=f(η-1/24·η3)…(13)
γ=fη…(14)
γ=f(η+1/12·η3)…(15)
γ=f(η+1/3·η3)…(16)
数式(12)表征正射影的投影函数,数式(13)表征等立体角射影的投影函数,数式(14)表征等距离射影的投影函数,数式(15)表征立体射影的投影函数,数式(16)表征针孔摄像机的投影函数。
通过上述的数式(12)~(16),若入射角的3次项的系数即失真参数k1满足-1/6≤k1≤1/3,则能表现全部近似的射影方式。即,-1/6以上且1/3以下的范围是应在深度学习中推定的k1的范围。在上述的数式(11)所示的投影函数中,入射角的1次项的系数为1,入射角的3次项的系数k1为-1/6以上且1/3以下的范围。学习部62设定DNN的输出即S形函数的0~1的输出值的标尺。学习部62进行设定,以使得来自DNN的失真参数k1的输出值的范围成为-1/6以上且1/3以下。
此外,在通过深度学习来推定摄像机的姿势即旋转角或焦距的情况下,通过如下述那样设定焦距,能高效地进行学习。由DNN推定的焦距f优选为摄像机所具备的图像传感器的纵的长度的1/4以上且1/2以下的范围。焦距是图像传感器与镜头主点的距离。市售的大部分的鱼眼镜头的焦距若以纵的长度为24mm的全尺寸图像传感器进行换算,则相当于6mm至15mm的范围。此外,关于摄像机的姿势参数,俯仰角以及滚转角以±90°(欧拉角)的范围进行推定即可。在根据1张图像的摄像机校正中,横摇角始终设为0°来对待。这是因为,不存在横摇角的基准。
通过对数式(11)所示的一般摄像机模型进行定义,并按照上述的步骤进行计算,能从图像坐标算出单位球面上的世界坐标,使用基于世界坐标的网络误差(损失)来对DNN进行学习。由此,能从因鱼眼摄像机而失真的1张图像高精度地算出摄像机参数。
此外,通过将表征镜头的失真的失真参数用与向摄像机的入射角相关的4次函数以下的投影函数来表征,能以封闭形式算出投影函数的反函数。然后,使用反函数和真正的摄像机参数将图像坐标的基准点投影到世界坐标,并且,使用反函数和所推定的摄像机参数将图像坐标的基准点投影到世界坐标,能使用基于世界坐标的网络误差来对DNN进行学习。因此,通过对通过深度学习进行了学习的DNN输入1张图像,能从1张图像高精度地算出摄像机参数。
(变形例)
以上,基于实施方式说明了本公开的一个或多个方式所涉及的摄像机参数算出装置以及学习装置,但本公开并不限定于该实施方式。只要不脱离本公开的主旨,则对本实施方式施行本领域技术人员所想到的各种变形而得到的方案、组合不同的实施方式中的构成要素而构建的形态就也可以包含在本公开的一个或多个方式的范围内。
另外,在上述各实施方式中,各构成要素可以由专用的硬件构成,或者可以通过执行适于各构成要素的软件程序来实现。各构成要素可以通过由CPU或处理器等程序执行部读出并执行记录于硬盘或半导体存储器等记录介质的软件程序来实现。
本公开的实施方式所涉及的装置的功能的一部分或全部典型地实现为作为集成电路的LSI(Large Scale Integration,大规模集成电路)。这些可以个别地单芯片化,也可以包含一部分地或全部地单芯片化。此外,集成电路化并不限于LSI,也可以通过专用电路或通用处理器来实现。可以利用能在LSI制造后进行编程的FPGA(Field ProgrammableGate Array,现场可编程门阵列)、或能对LSI内部的电路单元的连接、设定进行重构的可重构处理器。
此外,也可以通过由CPU等处理器执行程序来实现本公开的实施方式所涉及的装置的功能的一部分或全部。
此外,上述中所用的数字全都是为了具体说明本公开而进行的例示,本公开并不限制于例示的数字。
此外,上述流程图所示的执行各步骤的顺序是为了具体说明本公开而进行的例示,在能得到同样的效果的范围内也可以是上述以外的顺序。此外,上述步骤的一部分可以与其他步骤同时(并列)执行。
产业上的可利用性
本公开所涉及的技术由于能从1张图像高精度地算出摄像机参数,因此,作为对用于从图像算出摄像机参数的深度神经网络进行学习的技术以及从图像算出摄像机参数的技术是有用的。
Claims (13)
1.一种学习装置,具备:
图像取得部,取得由摄像机拍摄的图像;
摄像机参数取得部,取得所述摄像机的真正的摄像机参数;
学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和
输出部,输出由所述学习部进行了学习的所述深度神经网络,
所述学习部执行如下处理:
通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
2.根据权利要求1所述的学习装置,其中,
所述摄像机的视角为180°以上。
3.根据权利要求1所述的学习装置,其中,
所述投影函数由所述入射角的1次项和所述入射角的3次项来表征。
4.根据权利要求3所述的学习装置,其中,
所述1次的所述入射角的项的系数为1,
所述3次的所述入射角的项的系数为-1/6以上且1/3以下的范围。
5.根据权利要求1~4中任一项所述的学习装置,其中,
所述摄像机参数还包含所述摄像机的焦距,
由所述深度神经网络推定的所述焦距是所述摄像机所具备的图像传感器的纵的长度的1/4以上且1/2以下的范围。
6.根据权利要求1~4中任一项所述的学习装置,其中,
所述多个真值是将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标的多个第1世界坐标点,
所述多个推定值是将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标的多个第2世界坐标点,
所述学习部基于所述多个第1世界坐标点各自与所述多个第2世界坐标点各自的各组合的距离来算出所述网络误差。
7.根据权利要求1~4中任一项所述的学习装置,其中,
所述多个真值是通过将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标而得到的多个第1单位视线向量,
所述多个推定值是通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个第2单位视线向量,
所述学习部基于所述多个第1单位视线向量各自与所述多个第2单位视线向量各自的各组合的角度,来算出所述网络误差。
8.根据权利要求1~4中任一项所述的学习装置,其中,
所述多个真值是通过将所述多个基准点使用所述反函数和所述真正的摄像机参数投影到所述世界坐标而得到的多个第1单位视线向量,
所述多个推定值是通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个第2单位视线向量,
所述学习部基于所述多个第1单位视线向量各自与单位球面的多个第1交点、和所述多个第2单位视线向量各自与所述单位球面的多个第2交点的各组合的距离,来算出所述网络误差。
9.一种学习方法,是计算机中的学习方法,
取得由摄像机拍摄的图像,
取得所述摄像机的真正的摄像机参数,
通过利用了所取得的所述图像和所取得的所述真正的摄像机参数的深度学习来对深度神经网络进行学习,
输出进行了学习的所述深度神经网络,
在所述深度神经网络的学习中,
通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
10.一种学习程序,使计算机作为如下要素发挥功能:
图像取得部,取得由摄像机拍摄的图像;
摄像机参数取得部,取得所述摄像机的真正的摄像机参数;
学习部,通过利用了由所述图像取得部取得的所述图像、和由所述摄像机参数取得部取得的所述真正的摄像机参数的深度学习,来对深度神经网络进行学习;和
输出部,输出由所述学习部进行了学习的所述深度神经网络,
所述学习部执行如下处理:
通过将所述图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
11.一种摄像机参数算出装置,具备:
图像取得部,取得由摄像机拍摄的图像;
推定部,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数;和
输出部,输出由所述推定部推定的所述摄像机参数,
在所述深度神经网络的学习时,
取得学习用图像,
取得拍摄所述学习用图像的摄像机的真正的摄像机参数,
通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
12.一种摄像机参数算出方法,是计算机中的摄像机参数算出方法,
取得由摄像机拍摄的图像,
通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数,
输出由所述推定部推定的所述摄像机参数,
在所述深度神经网络的学习时,
取得学习用图像,
取得拍摄所述学习用图像的摄像机的真正的摄像机参数,
通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
13.一种摄像机参数算出程序,使计算机作为如下要素发挥功能:
图像取得部,取得由摄像机拍摄的图像;
推定部,通过将由所述图像取得部取得的所述图像输入到通过深度学习进行了学习的深度神经网络,来推定所述摄像机的摄像机参数;和
输出部,输出由所述推定部推定的所述摄像机参数,
在所述深度神经网络的学习时,
取得学习用图像,
取得拍摄所述学习用图像的摄像机的真正的摄像机参数,
通过将所述学习用图像输入到所述深度神经网络来推定摄像机参数,其中,所述摄像机参数包含以与向拍摄所述学习用图像的所述摄像机的入射角相关的4次函数以下的投影函数来表征假定光轴对称的镜头的失真的失真参数、和表征所述摄像机的姿势的姿势参数,
以封闭形式算出所述投影函数的反函数,
算出通过将所述学习用图像上的多个基准点使用所述反函数和所述真正的摄像机参数投影到世界坐标而得到的多个真值,
算出通过将所述多个基准点使用所述反函数和所推定的所述摄像机参数投影到所述世界坐标而得到的多个推定值,
基于所述多个真值各自与所述多个推定值各自的各组合,来算出表示所述真正的摄像机参数与基于所述深度神经网络的所述摄像机参数的推定结果的误差的网络误差,
对所述深度神经网络的参数进行学习,以使得所算出的所述网络误差最小化。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163254773P | 2021-10-12 | 2021-10-12 | |
US63/254,773 | 2021-10-12 | ||
PCT/JP2022/033916 WO2023062992A1 (ja) | 2021-10-12 | 2022-09-09 | 学習装置、学習方法、学習プログラム、カメラパラメータ算出装置、カメラパラメータ算出方法及びカメラパラメータ算出プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118120246A true CN118120246A (zh) | 2024-05-31 |
Family
ID=85987436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280068550.XA Pending CN118120246A (zh) | 2021-10-12 | 2022-09-09 | 学习装置、学习方法、学习程序、摄像机参数算出装置、摄像机参数算出方法以及摄像机参数算出程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240257395A1 (zh) |
JP (1) | JPWO2023062992A1 (zh) |
CN (1) | CN118120246A (zh) |
WO (1) | WO2023062992A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7549411B1 (ja) | 2024-07-24 | 2024-09-11 | アキュイティー株式会社 | 情報処理装置、情報処理方法及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8368695B2 (en) * | 2007-02-08 | 2013-02-05 | Microsoft Corporation | Transforming offline maps into interactive online maps |
JP7449715B2 (ja) * | 2020-02-21 | 2024-03-14 | 日本放送協会 | フレーミング領域学習装置及びフレーミング領域推定装置、並びに、それらのプログラム |
-
2022
- 2022-09-09 WO PCT/JP2022/033916 patent/WO2023062992A1/ja active Application Filing
- 2022-09-09 CN CN202280068550.XA patent/CN118120246A/zh active Pending
- 2022-09-09 JP JP2023555024A patent/JPWO2023062992A1/ja active Pending
-
2024
- 2024-04-09 US US18/630,556 patent/US20240257395A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2023062992A1 (zh) | 2023-04-20 |
WO2023062992A1 (ja) | 2023-04-20 |
US20240257395A1 (en) | 2024-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106875451B (zh) | 相机标定方法、装置及电子设备 | |
WO2021004416A1 (zh) | 一种基于视觉信标建立信标地图的方法、装置 | |
KR101921672B1 (ko) | 이미지 처리 방법 및 장치 | |
KR101666959B1 (ko) | 카메라로부터 획득한 영상에 대한 자동보정기능을 구비한 영상처리장치 및 그 방법 | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
CN112767542A (zh) | 一种多目相机的三维重建方法、vr相机和全景相机 | |
TWI479881B (zh) | 藉由結合方位感測器讀數及影像校準估計的3d視訊穩定之系統、方法及電腦程式產品 | |
CN108288292A (zh) | 一种三维重建方法、装置及设备 | |
JP7227969B2 (ja) | 三次元再構成方法および三次元再構成装置 | |
CN111144349B (zh) | 一种室内视觉重定位方法及系统 | |
Aghayari et al. | Geometric calibration of full spherical panoramic Ricoh-Theta camera | |
CN110874854B (zh) | 一种基于小基线条件下的相机双目摄影测量方法 | |
CN112470192A (zh) | 双摄像头标定方法、电子设备、计算机可读存储介质 | |
CN111383264B (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
US20240257395A1 (en) | Training device, training method, non-transitory computer readable recording medium storing training program, camera parameter calculation device, camera parameter calculation method, and non-transitory computer readable recording medium storing camera parameter calculation program | |
CN103824303A (zh) | 基于被摄物的位置、方向调整图像透视畸变的方法和装置 | |
CN113902851A (zh) | 一种人脸三维重建方法、装置、电子设备及存储介质 | |
US20230410368A1 (en) | Method for learning network parameter of neural network, method for calculating camera parameter, and computer-readable recording medium recording a program | |
CN110825079A (zh) | 一种地图构建方法及装置 | |
CN113902853A (zh) | 一种人脸三维重建方法、装置、电子设备及存储介质 | |
CN107240149A (zh) | 基于图像处理的物体三维模型构建方法 | |
CN117409149A (zh) | 基于立体约束的光束法平差方程的三维建模方法及系统 | |
CN117788686A (zh) | 一种基于2d影像的三维场景重建方法、装置及电子设备 | |
CN111353945B (zh) | 鱼眼图像校正方法、装置及存储介质 | |
WO2023062994A1 (ja) | 学習装置、学習方法、学習プログラム、カメラパラメータ算出装置、カメラパラメータ算出方法及びカメラパラメータ算出プログラム |
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 |