CN110276803A - 摄像机位姿估计形式化方法、装置、电子设备及存储介质 - Google Patents

摄像机位姿估计形式化方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110276803A
CN110276803A CN201910579874.XA CN201910579874A CN110276803A CN 110276803 A CN110276803 A CN 110276803A CN 201910579874 A CN201910579874 A CN 201910579874A CN 110276803 A CN110276803 A CN 110276803A
Authority
CN
China
Prior art keywords
matrix
vector
camera
function
pose
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.)
Granted
Application number
CN201910579874.XA
Other languages
English (en)
Other versions
CN110276803B (zh
Inventor
施智平
王国辉
陈善言
关永
张倩颖
李希萌
刘永梅
邵振洲
李晓娟
吴敏华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital Normal University
Original Assignee
Capital Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital Normal University filed Critical Capital Normal University
Priority to CN201910579874.XA priority Critical patent/CN110276803B/zh
Publication of CN110276803A publication Critical patent/CN110276803A/zh
Application granted granted Critical
Publication of CN110276803B publication Critical patent/CN110276803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

本公开实施例公开了一种摄像机位姿估计形式化方法、装置、电子设备及存储介质,所述摄像机位姿估计形式化方法包括确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。该技术方案通过采用形式化方法,避免了手动证明的不严谨性和传统分析方法可能带来的错误。

Description

摄像机位姿估计形式化方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机视觉技术领域,具体涉及一种摄像机位姿估计形式化方法、装置、电子设备及存储介质。
背景技术
摄像机的位姿估计问题就是利用图像像素点和三维空间物体点的对应关系估计摄像机的位置和姿态信息,该问题是计算机视觉、摄影测量学和计算机图形学等领域的研究热点之一,也是机器人定位与导航、目标跟踪与识别、虚拟现实和摄像机定标等许多理论研究与实践所要解决的核心问题。
目前,摄像机位姿估计的分析方法使用的仍是传统的纸笔技术和数值仿真分析方法,然而,这些非形式化方法容易出现错误,在错误容忍度比较低的领域存在局限性,而且缺乏必需的假设可能导致错误的设计和分析,同时用计算机代数系统对算法进行数值仿真在处理边界条件和符号时是不可靠的。因此,当前的摄像机位姿估计的传统分析方法存在计算复杂、设计不可靠、结果不精确等问题。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种摄像机位姿估计形式化方法、装置、电子设备及存储介质。
第一方面,本公开实施例中提供了一种摄像机位姿估计形式化方法摄像机位姿估计形式化方法。
具体地,所述摄像机位姿估计形式化方法,包括:
确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
可选地,所述基于高阶逻辑语言的摄像机位姿估计逻辑模型包括如下基本逻辑模型D1-D4:
D1.空间坐标系和摄像机坐标系下向量的归一化函数
val normalized_vector v=inv(norm v)%v
其中,函数normalized_vector的输入变量是向量v,输出结果是向量v归一化后的向量,inv是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是一个实数,输出结果是该实数的倒数,且定义0的倒数仍然为0,norm是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是一个N维向量,输出结果是N维向量的范数;
D2.从空间坐标系到摄像机坐标系的旋转矩阵
val rot_matrix a w=matrix_exp(a%%vec3_2_ssm w)
其中,函数rot_matrix的输入变量是实数a和三维向量w,其中,a表示旋转的角度,取值范围为[0,2π),w表示旋转轴,输出结果是三阶矩阵,matrix_exp表示矩阵域上的指数函数,符号“%%”表示矩阵的标量乘符号,vec3_2_ssm表示反对称矩阵转化函数;
D3.将空间坐标系中的向量旋转到摄像机坐标系中的向量的旋转关系
val rotate_vector a w v=rot_matrix a w**v
其中,函数rotate_vector的输入变量是实数a、三维向量w和三维向量v,其中,a表示旋转的角度,取值范围为[0,2π),w表示旋转轴,v表示要旋转的向量,输出结果是向量,表示向量v绕旋转轴w旋转a角度(右手法则)后的向量,符号“**”表示乘向量的矢量乘符号;
D4.将空间坐标系中的向量平移到摄像机坐标系中的向量的平移关系
val translate_vector a w v=-(rot_matrix a w**v)
其中,函数translate_vector的输入变量是实数a、三维向量w和坐标v,其中,a表示旋转的角度,w表示旋转轴,v表示摄像机光心坐标,输出结果是向量,表示从空间坐标系到摄像机坐标系的平移关系;
可选地,基于所述摄像机位姿估计逻辑模型构建逻辑命题,包括:
基于所述摄像机位姿估计逻辑模型中的所述基本逻辑模型构建基本逻辑命题;其中,所述基本逻辑命题包括:
G11:-(translate_vector a w(rotate_vector(-a)w o_c))=o_c
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;o_c代表空间坐标系下摄像机光心坐标;
所述G11基本逻辑命题表示的是摄像机光心坐标先绕旋转轴w反向旋转a角度,再绕旋转轴w正向旋转a角度,结果仍为原摄像机光心坐标;
G12:a.norm w=&1==>a=arccos(inv(&2)*(trace(rot_matrix a w)-&1))
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“&”表示将自然数类型转化为实数类型;符号“==>”表示推出符号;函数trace代表获取旋转矩阵rot_matrix斜对角上的三个分量和,即旋转矩阵的迹;函数arccos代表的是余弦函数的反函数;
所述G12基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转角度a与旋转矩阵rot_matrix斜对角上的三个分量之间的等价关系;
G13:a.norm w=&1/\~(a=&0)==>w=inv(&2*sin a)%vector[(rot_matrix a w)32-(rot_matrix a w)23;(rot_matrix a w)13-(rot_matrix a w)31;(rot_matrix a w)21-(rot_matrix a w)12]
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“~”表示非;(rot_matrix a w)12表示旋转矩阵rot_matrix中第一行第二列位置的矩阵分量,(rot_matrix a w)21表示旋转矩阵rot_matrix中第二行第一列位置的矩阵分量,(rot_matrix a w)13表示旋转矩阵rot_matrix中第一行第三列位置的矩阵分量,(rot_matrix a w)31表示旋转矩阵rot_matrix中第三行第一列位置的矩阵分量,(rot_matrix aw)32表示旋转矩阵rot_matrix中第三行第二列位置的矩阵分量,(rot_matrix a w)23表示旋转矩阵rot_matrix中第二行第三列位置的矩阵分量;
所述G13基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转轴w、旋转矩阵rot_matrix以及旋转角度a之间的等价关系。
可选地,基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立,包括:
基于所述定理证明器验证所述基本逻辑命题,以确定所述基本逻辑模型是否成立;
在所述基本逻辑命题验证结果为错误时,重构所述基本逻辑模型。
可选地,所述摄像机位姿估计逻辑模型还包括如下拓展逻辑模型:
D5.反对称矩阵转化函数
val vec3_2_ssm w=vector[vector[&0;-w3;w2];vector[w3;&0;-w1];vector[-w2;w1;&0]]
其中,函数vec3_2_ssm的输入变量w是三维向量,表示旋转轴,返回值是w对应的反对称矩阵,返回类型是三阶实矩阵;vector是HOL Light中定义的函数,输入变量是3个实数变量,返回值是以“;”拼接的3个变量的向量,符号“;”是HOL Light中符号;若函数vector的输入变量仍是vector,则返回类型可表示为矩阵;
D6.列向量与其转置乘的转化函数
val vec3_vtrans w=vector[vector[w1*w1;w1*w2;w1*w3];vector[w1*w2;w2*w2;w2*w3];vector[w1*w3;w3*w2;w3*w3]]
其中,函数vec3_vtrans的输入变量w是三维向量,返回值是该w与其转置的行向量相乘所得矩阵,返回类型是三阶实矩阵;
D7.矩阵指数函数
val matrix_exp A=infmsum(from 0)(λn.(&1/&(FACT n))%%(A matrix_pown))
其中,函数matrix_exp的输入变量A为n阶矩阵,输出结果为该矩阵A的指数映射,类型为n阶矩阵;函数infmsum是无穷矩阵序列的求和函数,有两个输入变量,分别为求和范围S和求和矩阵函数f,输出结果为该求和矩阵函数f在无限集合S上的矩阵和,输出类型为矩阵类型;from是HOL Light中定义的函数,函数的输入变量是自然数,返回类型是自然数的集合,返回值是大于或等于该自然数的所有自然数集合;λn表示函数FACT的自变量是n;FACT是HOL Light中定义的高阶逻辑函数,函数的输入变量是自然数,返回类型是自然数,返回值是该自然数的阶乘;函数matrix_pow的输入变量为n阶矩阵和自然数k,输出结果为该矩阵的k次幂,输出类型为n阶矩阵;
D8.罗德里格斯参数
val rodrigues_parameter a w=tan(a*inv(&2))%w
其中,函数rodrigues_parameter的输入变量a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴,输出结果为一个三维向量,表示旋转轴w与旋转角度a之间约束关系;tan是HOL Light中定义的高阶逻辑函数,函数的输入变量为一个实数类型的角度,返回类型为实数,返回值为该角度对应的正切值。
可选地,还包括:
基于所述拓展逻辑模型构建拓展逻辑命题;
基于所述定理证明器验证所述拓展逻辑命题;
在所述拓展逻辑命题验证结果为正确时,利用所述拓展逻辑命题简化所述基本逻辑模型和拓展逻辑模型。
可选地,所述拓展逻辑命题包括以下至少之一:
G21:a.norm w=&1==>matrix_exp(a%%vec3_2_ssm w)=cos a%%mat1+sin a%%vec3_2_ssm w+(&1-cos a)%%vec3_vtrans w
其中,mat是HOL Light中定义的高阶逻辑函数,函数的输入变量为自然数,返回类型为n阶实矩阵,返回值为斜对角为该自然数对应实数的矩阵,用mat 1可表示单位矩阵;
所述G21拓展逻辑命题表示的是绕单位旋转轴w旋转a角度的旋转矩阵rot_matrix可以简化为旋转矢量平面的投影、角度正余弦值之间的数学关系;
G22:w:real^3a:real.(norm w=&1)==>rot_matrix a w=vector[vector[((w1pow 2)*(&1-cos(a))+cos(a));(w1*w2*(&1-cos(a))-w3*sin(a));(w1*w3*(&1-cos(a))+w2*sin(a))];vector[(w1*w2*(&1-cos(a))+w3*sin(a));((w2pow 2)*(&1-cos(a))+cos(a));(w2*w3*(&1-cos(a))-w1*sin(a))];vector[(w1*w3*(&1-cos(a))-w2*sin(a));(w2*w3*(&1-cos(a))+w1*sin(a));((w3pow 2)*(&1-cos(a))+cos(a))]]:real^3^3
其中,real代表实数,real^3代表三维实向量,real^3^3代表三阶实矩阵,pow是HOL Light中定义的高阶逻辑函数,函数的输入变量为一个实数和一个自然数k,返回值为该实数的k次幂的值,返回类型为实数;
所述G22拓展逻辑命题表示的是在旋转轴w的长度为1的情况下,绕旋转轴w旋转角度为a的旋转矩阵rot_matrix与旋转轴w、旋转角a的正弦值、余弦值的之间的关系;
G23: v a.norm w=&1/\~(cos(a*inv(&2))=&0)==>rotate_vector a wv=transp((mat 1-vec3_2_ssm(rodrigues_parameter a w))**matrix_inv(mat 1+vec3_2_ssm(rodrigues_parameter a w)))**v
其中,transp是HOL Light中定义的一个函数,函数的输入变量是三阶矩阵,函数的返回值为该矩阵的转置矩阵;matrix_inv是HOL Light中定义的高阶逻辑函数,函数的输入变量为n阶矩阵,返回值为该矩阵的逆矩阵,返回类型为n阶矩阵;
所述G23拓展逻辑命题表示的是在旋转角不等于180度时,对向量v绕旋转轴w旋转后所得旋转向量v’,等价于对向量v先进行反向旋转变换,再进行正向旋转变换后所得旋转变量v’;
G24:w:real^3a:real.invertible(mat 1+vec3_2_ssm(rodrigues_parametera w))
其中,invertible是HOL Light中定义的高阶逻辑函数,输入变量为n阶矩阵,返回类型为布尔类型;
所述G24拓展逻辑命题表示的是以单位矩阵与罗德里格斯参数对应反对称矩阵的和表示的旋转变换可正向旋转,也可反向旋转;
G25:real^3a:real.(norm w=&1)/\~(cos(a*inv(&2))=&0)==>matrix_exp(a%%vec3_2_ssm w)=transp(inv(&1+((rodrigues_parameter a w)dot(rodrigues_parameter a w)))%%vector[vector[&1+(rodrigues_parameter a w)1pow2-(rodrigues_parameter a w)2pow 2-(rodrigues_parameter a w)3pow 2;&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)2+(rodrigues_parameter aw)3);&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)3-(rodrigues_parameter a w)2)];vector[&2*((rodrigues_parameter a w)1*(rodrigues_parameter aw)2-(rodrigues_parameter a w)3);&1-(rodrigues_parameter a w)1pow 2+(rodrigues_parameter a w)2pow 2-(rodrigues_parameter a w)3pow 2;&2*((rodrigues_parametera w)2*(rodrigues_parameter a w)3+(rodrigues_parameter a w)1)];vector[&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)3+(rodrigues_parameter aw)2);&2*((rodrigues_parameter a w)2*(rodrigues_parameter a w)3-(rodrigues_parameter a w)1);&1-(rodrigues_parameter a w)1pow 2-(rodrigues_parameter a w)2pow 2+(rodrigues_parameter a w)3pow 2]]:real^3^3)
其中,dot是HOL Light中定义的高阶逻辑函数,输入变量为两个n维向量,返回类型为实数,返回值为这两个向量的内积;
所述G25拓展逻辑命题描述的绕旋转轴w转a角度的旋转矩阵与罗德里格斯参数之间的关系;
G26:real^3v a:real.(norm w=&1)/\~(cos(a*inv(&2))=&0)==>transp(mat 1+vec3_2_ssm(rodrigues_parameter a w))**rotate_vector a w v=transp(mat 1-vec3_2_ssm(rodrigues_parameter a w))**v
所述G26拓展逻辑命题表示的是从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间的约束关系;
G27:v a.norm w=&1/\~(cos(a*inv(&2))=&0)==>vec3_2_ssm(v+rotate_vector a w v)**rodrigues_parameter a w=v-rotate_vector a w v
所述G27拓展逻辑命题描述的是关于罗德里格斯参数(q1,q2,q3)的线性方程组,代表的是该罗德里格斯参数与从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间存在的约束关系。
第二方面,本公开实施例中提供了一种摄像机位姿估计形式化装置。
具体地,所述摄像机位姿估计形式化装置,包括:
第一确定模块,被配置为确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
建立模块,被配置为根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
构建模块,被配置为基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
第二确定模块,被配置为基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
第四方面,本公开实施例中提供了一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面任一项所述的方法。
根据本公开实施例提供的技术方案,基于拍摄物体上的两个控制点及其对应的像点坐标,用高阶逻辑语言构建摄像机位姿估计逻辑模型及其对应的逻辑命题,通过验证逻辑命题简化摄像机位姿估计逻辑模型中空间坐标系相对于摄像机坐标系的旋转矩阵和平移向量的计算过程。本技术方案通过采用形式化方法分析摄像机位姿估计逻辑模型并验证摄像机位姿估计逻辑模型属性或运动学约束条件,避免了手动证明的不严谨性和传统分析方法可能带来的错误。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开的实施例的摄像机位姿估计形式化方法的流程图;
图2示出根据本公开的实施例的确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标的示意图;
图3示出根据本公开的实施例的摄像机位姿估计形式化装置的结构框图;
图4示出根据本公开的实施例的电子设备的结构框图;
图5示出适于用来实现根据本公开实施例的摄像机位姿估计形式化方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出根据本公开的实施例的摄像机位姿估计形式化方法的流程图。如图1所示,所述摄像机位姿估计形式化方法包括以下步骤S101-S105:
在步骤S101中,确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
在步骤S102中,根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
在步骤S103中,基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
在步骤S104中,基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
根据本公开的实施例,基于所拍摄的物体,建立空间坐标系,本公开对空间坐标系的具体建立方法及位置不做具体限定。构建空间坐标系是为了更好的描述摄像机的位置,从而确定摄像机光心在空间坐标系下的坐标,其中,摄像机光心指的是摄像机镜头的光心,即镜头聚焦点,一般在摄像机镜头中心。
根据本公开的实施例,可以根据具体应用的需要在拍摄物体上选取多个控制点,其中,控制点的数量可以为两个或两个以上。选取了控制点之后,可以确定控制点坐标,其中,控制点坐标是指控制点在空间坐标系下的坐标。此外,可以构建摄像机坐标系,从而确定控制点对应像点坐标,其中,像点坐标是指控制点在摄像机坐标系下的坐标。
图2示出根据本公开的实施例的确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标的示意图。为了描述的方便,图2示意图中仅绘制了两个控制点,如图2所示,基于拍摄物体,构建空间坐标系Ow-XwYwZw,从而确定摄像机光心坐标Oc(Xc,Yc,Zc),基于所述摄像机的拍摄视场,在拍摄物体上选取两个控制点,确定两个控制点在空间坐标系中的坐标表示为A′(X′1,Y′1,Z′1)和B′(X′2,Y′2,Z′2),再基于摄像机光心坐标建立摄像机坐标系,确定两个控制点所对应的像点在摄像机坐标系中坐标为A(X1,Y1,f)和B(X2,Y2,f)。
由于摄像机光心坐标及两个控制点坐标皆为空间坐标系下坐标,但在摄像机位姿估计逻辑模型中存在两个坐标系,即摄像机坐标系和空间坐标系,为简化向量坐标表示,可以将空间坐标系原点Ow(Xw,Yw,Zw)移动到摄像机光心。由此,可用((X′i-Xc,Y′i-Xc,Z′i-Xc))表示摄像机光心到各个控制点的向量坐标,用像点坐标表示摄像机坐标系下从摄像机光心到各个控制点对应像点的向量坐标。
根据本公开的一实施例,可以在HOL Light中构建所述摄像机位姿估计逻辑模型,其中,HOL Light是一种基于高阶逻辑的交互式定理证明器,使用了更简单的逻辑核心,设置了一个非常严格的正确标准,主要是对数学定理库的进一步补充。同时,摄像机位姿估计逻辑模型是基于罗德里格斯旋转理论的高阶逻辑语言表达,用对应的旋转矩阵和平移向量表示摄像机位姿估计逻辑模型,所述基于高阶逻辑语言的摄像机位姿估计逻辑模型包括如下基本逻辑模型D1-D4:
D1.归一化函数
val normalized_vector v=inv(norm v)%v
其中,函数normalized_vector的输入变量是向量v,输出结果是向量v归一化后的向量,即保持该向量方向不变,对该向量进行压缩或者拉伸使其变为单位向量。inv是HOLLight中定义的一个高阶逻辑函数,函数的输入变量是一个实数,输出结果是该实数的倒数,且定义0的倒数仍然为0。norm是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是一个N维向量,返回类型是实数,输出结果是N维向量的范数,即该向量的长度值。
利用归一化函数normalized_vector,对摄像机坐标系和空间坐标系下所有向量进行归一化处理,例如,对向量Oc A、Oc B、Oc A′、Oc B′进行归一化处理,使上述向量的尺度因子消失,从而让两个坐标系对应的向量之间只保留两个坐标系之间的旋转关系。
D2.摄像机位姿估计中的旋转矩阵
val rot_matrix a w=matrix_exp(a%%vec3_2_ssm w)
其中,函数rot_matrix的输入变量是实数a和三维向量w,其中,a表示旋转的角度,取值范围为[0,2π),w表示旋转轴,输出结果是三阶矩阵,rot_matrix a w表示向量Oc A或OcB绕旋转轴w旋转了a角度的旋转矩阵,即表示从空间坐标系到摄像机坐标系的变换中的旋转矩阵;matrix_exp表示矩阵域上的指数函数;符号“%%”表示矩阵的标量乘符号;vec3_2_ssm表示反对称矩阵转化函数。
D3.摄像机坐标系与空间坐标系的旋转关系
val rotate_vector a w v=rot_matrix a w**v
其中,函数rotate_vector的输入变量是实数a、三维向量w和三维向量v,其中,a表示旋转的角度,取值范围为[0,2π);w表示旋转轴;v表示要旋转的向量,函数rotate_vector的输出结果是向量,表示向量v绕旋转轴w旋转a角度(右手法则)后的向量,即表示摄像机坐标系与空间坐标系之间的旋转关系,例如rotate_vector a w(Oc A)表示向量Oc A绕旋转轴w旋转a角度(右手法则)后的向量Oc A′;符号“**”表示乘向量的矢量乘符号。
因为任意的旋转皆可用绕某一特定旋转轴旋转一定角度来表示(欧拉定理),所以用形式化方式描述函数rotate_vector中的旋转矩阵rot_matrix。
D4.摄像机位姿估计中的平移向量
val translate_vector a w v=-(rot_matrix a w**v)
其中,函数translate_vector的输入变量是实数a、三维向量w和坐标v,其中,a表示旋转的角度,w表示旋转轴,v表示摄像机光心坐标,输出结果是向量,表示从空间坐标系到摄像机坐标系的平移变量,例如translate_vector a w(Oc A或Oc B)表示从空间坐标系原点到摄像机光心的平移向量。
根据本公开的实施例,基于上述摄像机位姿估计逻辑模型,构建逻辑命题,逻辑命题中描述了摄像机位姿估计逻辑模型中存在的属性和/或运动学约束条件,其中,运动学约束条件是指摄像机位姿估计逻辑模型中的点、向量和面等之间存在的数学逻辑关系,比如,向量OA与OA’之间的旋转矩阵与其对应旋转轴的投影存在等价的数学关系;属性是指摄像机位姿估计逻辑模型本身具有的特征,比如,在旋转角不等于180度时,可利用从摄像机光心到控制点的向量OA与从摄像机光心到控制点对应像点的向量OA’构建与罗德里斯参数相关的线性方程组。
根据本公开的实施例,基于所述摄像机位姿估计逻辑模型构建逻辑命题,包括:
基于所述摄像机位姿估计逻辑模型中的所述基本逻辑模型构建基本逻辑命题;其中,所述基本逻辑命题包括:
G11:a o_c.-(translate_vector a w(rotate_vector(-a)w o_c))=o_c
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;o_c代表空间坐标系下摄像机光心坐标。G11逻辑命题表示的是摄像机光心坐标先绕旋转轴w反向旋转a角度,再绕旋转轴w正向旋转a角度,结果仍为原摄像机光心坐标。G11基本逻辑命题为了证明空间坐标系与摄像机坐标系可互相转换。
G12:a.norm w=&1==>a=arccos(inv(&2)*(trace(rot_matrix a w)-&1))
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“&”表示将自然数类型转化为实数类型;符号==>代表推出;函数trace代表获取旋转矩阵rot_matrix斜对角上的三个分量和,即矩阵的迹;函数arccos代表的是余弦函数的反函数。G12基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转角度a与旋转矩阵rot_matrix斜对角上的三个分量之间的等价关系。
G13:a.norm w=&1/\~(a=&0)==>w=inv(&2*sin a)%vector[(rot_matrix a w)32-(rot_matrix a w)23;(rot_matrix a w)13-(rot_matrix a w)31;(rot_matrix a w)21-(rot_matrix a w)12]
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“~”表示非,则“~(a=&0)”表示旋转角a不等于0;(rot_matrix a w)中下标表示旋转矩阵对应位置的分量,比如,(rot_matrix a w)21表示旋转矩阵rot_matrix中第二行第一列位置的矩阵分量,(rot_matrix a w)13表示旋转矩阵rot_matrix中第一行第三列位置的矩阵分量,(rot_matrix a w)31表示旋转矩阵rot_matrix中第三行第一列位置的矩阵分量,(rot_matrix a w)32表示旋转矩阵rot_matrix中第三行第二列位置的矩阵分量,(rot_matrix a w)23表示旋转矩阵rot_matrix中第二行第三列位置的矩阵分量。
G13基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转轴w、旋转矩阵rot_matrix以及旋转角度a之间的等价关系。该命题成立的前提条件为旋转轴w是一个单位向量且旋转角度a不为0。若当旋转角度a为0时,摄像机光心、控制点及其对应像点三点共线,即摄像机坐标系与空间坐标系之间不存在旋转关系,只存在平移变换,则旋转矩阵rot_matrix可表示为三阶单位矩阵,平移向量可表示为从空间坐标系原点到摄像机光心的向量。
在本公开的实施例中,基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立,包括:
基于所述定理证明器验证所述基本逻辑命题,以确定所述基本逻辑模型是否成立;
在所述基本逻辑命题验证结果为错误时,重构所述基本逻辑模型。
高阶逻辑的定理证明器是一种利用基于高阶逻辑的数学定理所得逻辑推导结果来验证逻辑命题的正确性的工具。它采用了严格的数学建模的方法,设置了严格的标准,并提供了许多自动化工具和预先证明的数学定理。结合定理库里已验证的数学公里、数学定理以及推理规则,对要验证的基本逻辑命题G11-G13进行逻辑推演,根据推演结果的正确性来判断基本逻辑模型D1-D4的正确性。其中的推演结果的返回值为布尔类型的真或假。在对基本逻辑命题G1i(i=1,2,3)进行独立验证的过程中,若G1i返回结果为真,即基本逻辑命题G1i是正确的,则表明基本逻辑模型D1-D4正确;反之,若返回结果为假,即基本逻辑命题G1i是错误的,表明基本逻辑模型D1-D4不正确,此时需要重新构建摄像机位姿估计逻辑模型,即重新定义从空间坐标系到摄像机坐标系的旋转矩阵以及从空间坐标系到摄像机坐标系的平移关系。
根据本公开实施例提供的技术方案,基于拍摄物体上的两个控制点及其对应的像点坐标,用高阶逻辑语言构建摄像机位姿估计逻辑模型及其对应的逻辑命题,通过验证逻辑命题简化摄像机位姿估计逻辑模型中空间坐标系相对于摄像机坐标系的旋转矩阵和平移向量的计算过程。本技术方案通过采用形式化方法分析摄像机位姿估计逻辑模型并验证摄像机位姿估计逻辑模型属性或运动学约束条件,避免了手动证明的不严谨性和传统分析方法可能带来的错误。
由于摄像机位姿估计中的旋转矩阵rot_matrix是以绕旋转轴w旋转的指数形式进行表述的,且旋转矩阵rot_matrix和旋转轴w的类型不一致,分别为矩阵和向量,而反对称矩阵可以表示旋转,因此可以将旋转轴w转化为反对称矩阵形式。根据本公开的实施例,所述摄像机位姿估计逻辑模型,还包括如下拓展逻辑模型D5:
D5.反对称矩阵转化函数
val vec3_2_ssm w=vector[vector[&0;-w3;w2];vector[w3;&0;-w1];vector[-w2;w1;&0]]
其中,函数vec3_2_ssm的输入变量w是三维向量,表示旋转轴,返回值是该向量w对应的反对称矩阵,返回类型是三阶实矩阵;vector是HOL Light中定义的函数,输入变量是3个实数变量,返回类型是3维向量,返回值是以“;”拼接的3个变量的向量,其中,“;”指的是HOL Light中符号,例如,vector[&0;-w3;w2]表示由3个实数构成的三维向量(0,-w3,w2);若函数vector的输入变量仍是vector,则返回类型可表示为矩阵。
根据本公开的实施例,所述摄像机位姿估计逻辑模型,还包括如下拓展逻辑模型D6:
D6.列向量与其转置乘的转化函数
val vec3_vtrans w=vector[vector[w1*w1;w1*w2;w1*w3];vector[w1*w2;w2*w2;w2*w3];vector[w1*w3;w3*w2;w3*w3]]
其中,函数vec3_vtrans的输入变量w是三维向量,返回值是该列向量w与其转置的行向量相乘所得矩阵,返回类型是三阶实矩阵。
由于摄像机位姿估计中的旋转矩阵rot_matrix是以绕旋转轴w旋转的指数形式进行表述的,且旋转矩阵中的矩阵指数函数matrix_exp是超越函数,是特定系数的无穷项矩阵高阶幂次方的总和,运算复杂度高,为降低运算复杂度,根据本公开的实施例,所述摄像机位姿估计逻辑模型,还包括如下拓展逻辑模型D7:
D7.矩阵指数函数
val matrix_exp A=infmsum(from 0)(λn.(&1/&(FACT n))%%(A matrix_pown))
其中,函数matrix_exp的输入变量A为n阶矩阵,输出结果为该矩阵A的指数映射,类型为n阶矩阵;函数infmsum是无穷矩阵序列的求和函数,有两个输入变量,分别为求和范围S和求和矩阵函数f,输出结果为该求和矩阵函数f在无限集合S上的矩阵和,输出类型为矩阵类型;from是HOL Light中定义的函数,函数的输入变量是自然数,返回类型是自然数的集合,返回值是大于或等于该自然数的所有自然数集合。λn表示函数FACT的自变量是n。FACT是HOL Light中定义的高阶逻辑函数,函数的输入变量是自然数,返回类型是自然数,返回值是该自然数的阶乘。函数matrix_pow的输入变量为n阶矩阵和自然数k,输出结果为该矩阵的k次幂,输出类型为n阶矩阵。
根据本公开的实施例,为简化摄像机位姿估计模型中的旋转矩阵rot_matrix的计算,所述摄像机位姿估计逻辑模型,还包括如下拓展逻辑模型D8:
D8.罗德里格斯参数
val rodrigues_parameter a w=tan(a*inv(&2))%w
其中,函数rodrigues_parameter的输入变量a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴,输出结果为一个三维向量,表示旋转轴w与旋转角度a之间约束关系。tan是HOL Light中定义的高阶逻辑函数,函数的输入变量为一个实数类型的角度,返回类型为实数,返回值为该角度对应的正切值。上述罗德里格斯参数的定义可用于简化摄像机位姿估计中的矩阵的计算。
根据本公开的实施例,还包括:
基于所述拓展逻辑模型构建拓展逻辑命题;
基于所述定理证明器验证所述拓展逻辑命题;
在所述拓展逻辑命题验证结果为正确时,利用所述拓展逻辑命题简化所述基本逻辑模型和拓展逻辑模型。
基于拓展逻辑模型D5-D8,构建拓展逻辑模型,结合定理库里已验证的数学公里、数学定理以及推理规则,对要验证的拓展逻辑命题进行逻辑推演,根据推演结果的正确性来判断拓展逻辑命题的正确性。其中的推演结果的返回值为布尔类型的真或假。在对拓展逻辑命题进行独立验证的过程中,若拓展逻辑命题返回结果为真,即拓展逻辑命题是正确的,则可以利用拓展逻辑命题简化基本逻辑模型D1-D4和拓展逻辑模型D5-D8;反之,若返回结果为假,即拓展逻辑命题是错误的,此时需要根据具体情况重新构建拓展逻辑命题。
根据本公开的实施例,罗德里格斯旋转公式是简化旋转矩阵rot_matrix指数计算的公式,根据所述罗德里格斯旋转公式构建需要验证的第一拓展逻辑命题为:
G21:a.norm w=&1==>matrix_exp(a%%vec3_2_ssm w)=cos a%%mat1+sin a%%vec3_2_ssm w+(&1-cos a)%%vec3_vtrans w
其中,mat是HOL Light中定义的高阶逻辑函数,函数的输入变量为自然数,返回类型为n阶实矩阵,返回值为斜对角为该自然数对应实数的矩阵,用mat 1可表示单位矩阵。
第一拓展逻辑命题表示的是绕单位旋转轴w转a角度的旋转矩阵rot_matrix可以简化为旋转矢量平面的投影、角度正余弦值之间的数学关系,即表示旋转矩阵的计算可以不计算全矩阵指数而只计算指数图。
第一拓展逻辑命题成立的前提条件是要求表示旋转轴的三维向量w是一个单位向量。若此第一拓展逻辑命题成立,则表示绕单位旋转轴w转a角的旋转矩阵rot_matrix与旋转矢量平面的投影存在特定的关系,矩阵指数函数的运算可被简化。
根据本公开的实施例,基于所述摄像机位姿估计中的旋转矩阵rot_matrix的定义构建第二拓展逻辑命题为:
G22:w:real^3a:real.(norm w=&1)==>rot_matrix a w=vector[vector[((w1pow 2)*(&1-cos(a))+cos(a));(w1*w2*(&1-cos(a))-w3*sin(a));(w1*w3*(&1-cos(a))+w2*sin(a))];vector[(w1*w2*(&1-cos(a))+w3*sin(a));((w2pow 2)*(&1-cos(a))+cos(a));(w2*w3*(&1-cos(a))-w1*sin(a))];vector[(w1*w3*(&1-cos(a))-w2*sin(a));(w2*w3*(&1-cos(a))+w1*sin(a));((w3pow 2)*(&1-cos(a))+cos(a))]]:real^3^3
其中,real代表实数,real^3代表三维实向量,real^3^3代表三阶实矩阵,pow是HOL Light中定义的高阶逻辑函数,函数的输入变量为一个实数和一个自然数k,返回值为该实数的k次幂的值,返回类型为实数。
第二拓展逻辑命题表示的是在旋转轴w的长度为1的情况下,绕旋转轴w旋转角度为a的旋转矩阵rot_matrix与旋转轴w、旋转角a的正弦值、余弦值的之间的关系。
若第二拓展逻辑命题成立,表示的是绕单位旋转轴w转a角的旋转矩阵rot_matrix可以简化为表示旋转轴分量、旋转角正余弦值之间的数学关系的公式。
由于罗德里格斯参数rodrigues_parameter是一个三维向量,其三个参数分量(q1,q2,q3)隐含了旋转轴w与旋转角度a之间的关系,根据本公开的实施例,基于所述摄像机坐标系与空间坐标系的旋转关系的定义构建第三拓展逻辑命题为:
G23:v a.norm w=&1/\~(cos(a*inv(&2))=&0)==>rotate_vector a wv=transp((mat 1-vec3_2_ssm(rodrigues_parameter a w))**matrix_inv(mat 1+vec3_2_ssm(rodrigues_parameter a w)))**v
其中,transp是HOL Light中定义的一个函数,函数的输入变量是三阶矩阵,函数的返回值为该矩阵的转置矩阵。matrix_inv是HOL Light中定义的高阶逻辑函数,函数的输入变量为n阶矩阵,返回值为该矩阵的逆矩阵,返回类型为n阶矩阵。
第三拓展逻辑命题表示的是在旋转角不等于180度时,对向量v绕旋转轴w旋转后所得旋转向量v’,等价于对向量v先进行特定反向旋转变换(单位矩阵与罗德里格斯参数的反对称矩阵的和),再进行特定正向旋转变换(单位矩阵与罗德里格斯参数的反对称矩阵的差的转置)后所得旋转变量v’。
若第三拓展逻辑命题成立,表示的是在旋转角不等于180度时,对任意向量绕旋转轴旋转皆可分解为两次与罗德里格斯参数相关的特定旋转。
第三拓展逻辑命题成立的前提条件为旋转轴w是单位向量且半旋转角的余弦值不能为零。其中第二个前提条件是由罗德里格斯参数定义中的正切函数tan所隐含的。
根据本公开的实施例,基于所述第三拓展逻辑命题和所述matrix_inv高阶逻辑函数隐含的矩阵可逆的条件构建第四拓展逻辑命题为:
G24:w:real^3a:real.invertible(mat 1+vec3_2_ssm(rodrigues_parametera w))
其中,invertible是HOL Light中定义的高阶逻辑函数,输入变量为n阶矩阵,返回类型为布尔类型,可用来判断该矩阵是否可逆。若第三拓展逻辑命题成立,则表示对于任意旋转轴和旋转角度的罗德里格斯参数的反对称矩阵与单位矩阵相加所得三阶矩阵可逆;若不成立,则表示对于任意旋转轴和旋转角度的罗德里格斯参数的反对称矩阵与单位矩阵相加所得三阶矩阵不可逆。
第四拓展逻辑命题表示的是以单位矩阵与罗德里格斯参数对应反对称矩阵的和表示的旋转变换可正向旋转,也可反向旋转。
若第四拓展逻辑命题成立,表示的是对向量的进行正、反向的同一旋转的先后顺序不影响向量结果,即向量保持不变。
由于在第二拓展逻辑命题中涉及到正、余弦函数这两种超越函数,运算存在一定的复杂度,根据本公开的实施例,基于罗德里格斯参数,用另一种方式描述旋转矩阵rot_matrix a w,构建第五拓展逻辑命题为:
G25:real^3a:real.(norm w=&1)/\~(cos(a*inv(&2))=&0)==>matrix_exp(a%%vec3_2_ssm w)=transp(inv(&1+((rodrigues_parameter a w)dot(rodrigues_parameter a w)))%%vector[vector[&1+(rodrigues_parameter a w)1pow2-(rodrigues_parameter a w)2pow 2-(rodrigues_parameter a w)3pow 2;&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)2+(rodrigues_parameter aw)3);&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)3-(rodrigues_parameter a w)2)];vector[&2*((rodrigues_parameter a w)1*(rodrigues_parameter aw)2-(rodrigues_parameter a w)3);&1-(rodrigues_parameter a w)1pow 2+(rodrigues_parameter a w)2pow 2-(rodrigues_parameter a w)3pow 2;&2*((rodrigues_parametera w)2*(rodrigues_parameter a w)3+(rodrigues_parameter a w)1)];vector[&2*((rodrigues_parameter a w)1*(rodrigues_parameter a w)3+(rodrigues_parameter aw)2);&2*((rodrigues_parameter a w)2*(rodrigues_parameter a w)3-(rodrigues_parameter a w)1);&1-(rodrigues_parameter a w)1pow 2-(rodrigues_parameter a w)2pow 2+(rodrigues_parameter a w)3pow 2]]:real^3^3)
其中,dot是HOL Light中定义的高阶逻辑函数,输入变量为两个n维向量,返回类型为实数,返回值为这两个向量的内积。上述逻辑命题描述的绕旋转轴w转a角度的旋转矩阵与罗德里格斯参数之间的关系。
若第五拓展逻辑命题成立,表示的是在旋转角不等于180度时,绕旋转轴w旋转a的旋转矩阵可以表示以罗德里格斯参数描述的特定矩阵。
由于求解矩阵的逆运算复杂度高,根据本公开的实施例,基于矩阵可逆性质,构建第六拓展逻辑命题如下:
G26:real^3v a:real.(norm w=&1)/\~(cos(a*inv(&2))=&0)==>transp(mat 1+vec3_2_ssm(rodrigues_parameter a w))**rotate_vector a w v=transp(mat 1-vec3_2_ssm(rodrigues_parameter a w))**v
第六拓展逻辑命题表示的是从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间的约束关系。该命题中消去了求解矩阵的逆所带来的复杂运算,相对简化的反映了摄像机坐标系与空间坐标系之间的旋转关系。
若第六拓展逻辑命题成立,则表示在旋转角不等于180度时,对向量v绕旋转轴w旋转a后,再进行与罗德里格斯参数的反对称矩阵和单位矩阵之和相关的特定旋转变换后所得向量v’等价于直接对该向量v做一次与罗德里格斯参数的反对称矩阵和单位矩阵之差相关的特定旋转变换所得向量v’。
为更为直观反映罗德里格斯参数(q1,q2,q3)与从摄像机光心到控制点的向量和从摄像机光心到该控制点对应像点的向量之间的关系,根据本公开的实施例,构建第七拓展逻辑命题如下:
G27:v a.norm w=&1/\~(cos(a*inv(&2))=&0)==>vec3_2_ssm(v+rotate_vector a w v)**rodrigues_parameter a w=v-rotate_vector a w v
第七拓展逻辑命题描述的是关于罗德里格斯参数(q1,q2,q3)的线性方程组,代表的是该参数与从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间存在的约束关系。
若第七拓展逻辑命题成立,表示的是在旋转角不等于180度时,对与单位旋转轴w和旋转角a对应的罗德里格斯参数变量进行特定旋转变换(从摄像机光心到控制点对应像点的向量v’与从摄像机光心到该控制点的向量v的矢量和的反对称矩阵)后所得向量等于从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之差。即在旋转角不等于180度时,摄像机位姿估计中的旋转矩阵对应的罗德里格斯参数可以以摄像机光心到控制点及其相对应像点的向量的特定数学描述表示。
由上述7个逻辑命题可知,以罗德里格斯参数描述的摄像机坐标系与空间坐标系之间的旋转关系存在奇异性,即半旋转角的余弦值存在为0的情况。因此针对旋转角度为180度时的情况下,摄像机光心、控制点及其对应像点三点共线,旋转矩阵表示为负的三阶单位矩阵,平移向量可用从摄像机光心到空间坐标系原点的向量表示。
上述7个拓展逻辑命题中,G23和G24拓展逻辑命题描述的是属性,其他5个拓展逻辑命题描述的是运动学约束条件,将上述7个拓展逻辑命题在HOL Light的高阶逻辑定理证明器下进行验证,根据返回的布尔值的真假,验证7个拓展逻辑命题的正确性。若拓展逻辑命题G2j(j=1,2,…7)返回值为真,则表示拓展逻辑命题G2j成立,即拓展逻辑命题G2j所描述的属性或约束关系在拓展逻辑模型中存在;若拓展逻辑命题G2j(j=1,2,…7)返回值为假,则表示拓展逻辑命题G2j不成立,即拓展逻辑命题G2j所描述的属性或约束关系在拓展逻辑模型中不存在。
根据本公开实施例提供的技术方案,通过拓展逻辑模型中的D26(罗德里格斯参数)及第七拓展逻辑命题G27,利用从摄像机光心坐标到控制点坐标及其到对应像点坐标的两个向量间关系以及罗德里格斯旋转公式计算旋转轴和旋转角,以此简化摄像机位姿估计模型中旋转矩阵的计算;进一步的,通过基本逻辑命题中的G12和G13,以及第一拓展逻辑命题G21和第二拓展逻辑命题G22,实现了在旋转角度不等于180度时,可直观利用给定控制点及其对应像点来计算旋转矩阵的罗德里格斯参数,以此简化摄像机位姿估计模型中旋转矩阵以及平移向量的计算。
图3示出根据本公开的实施例的摄像机位姿估计形式化装置300的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,所述摄像机位姿估计形式化装置包括第一确定模块310、建立模块320、构建模块330和第二确定模块340:
所述第一确定模块310,被配置为确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
所述建立模块320,被配置为根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
所述构建模块330,被配置为基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
所述第二确定模块340,被配置为基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
本公开还公开了一种电子设备,图4示出根据本公开的实施例的电子设备的结构框图。
如图4所示,所述电子设备400包括存储器401和处理器402;其中,
所述存储器401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器402执行以实现以下方法步骤:
确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
图5示出适于用来实现根据本公开实施例的摄像机位姿估计形式化方法的计算机系统的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行上述实施例中的各种处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述对象类别确定方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种摄像机位姿估计形式化方法,其特征在于,包括:
确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
2.根据权利要求1所述的方法,其特征在于,所述基于高阶逻辑语言的摄像机位姿估计逻辑模型包括如下基本逻辑模型D1-D4:
D1.空间坐标系和摄像机坐标系下向量的归一化函数
val normalized_vector v=inv(norm v)%v
其中,函数normalized_vector的输入变量是向量v,输出结果是向量v归一化后的向量,inv是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是一个实数,输出结果是该实数的倒数,且定义0的倒数仍然为0,norm是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是一个N维向量,输出结果是N维向量的范数;
D2.从空间坐标系到摄像机坐标系的旋转矩阵
val rot_matrix a w=matrix_exp(a%%vec3_2_ssm w)
其中,函数rot_matrix的输入变量是实数a和三维向量w,其中,a表示旋转的角度,取值范围为[0,2π),w表示旋转轴,输出结果是三阶矩阵,matrix_exp表示矩阵域上的指数函数,符号“%%”表示矩阵的标量乘符号,vec3_2_ssm表示反对称矩阵转化函数;
D3.将空间坐标系中的向量旋转到摄像机坐标系中的向量的旋转关系
val rotate_vector a w v=rot_matrix a w**v
其中,函数rotate_vector的输入变量是实数a、三维向量w和三维向量v,其中,a表示旋转的角度,取值范围为[0,2π),w表示旋转轴,v表示要旋转的向量,输出结果是向量,表示向量v绕旋转轴w旋转a角度(右手法则)后的向量,符号“**”表示乘向量的矢量乘符号;
D4.将空间坐标系中的向量平移到摄像机坐标系中的向量的平移关系
val translate_vector a w v=-(rot_matrix a w**v)
其中,函数translate_vector的输入变量是实数a、三维向量w和坐标v,其中,a表示旋转的角度,w表示旋转轴,v表示摄像机光心坐标,输出结果是向量,表示从空间坐标系到摄像机坐标系的平移关系。
3.根据权利要求2所述的方法,其特征在于,基于所述摄像机位姿估计逻辑模型构建逻辑命题,包括:
基于所述摄像机位姿估计逻辑模型中的所述基本逻辑模型构建基本逻辑命题;其中,所述基本逻辑命题包括:
G11:
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;o_c代表空间坐标系下摄像机光心坐标;
所述G11基本逻辑命题表示的是摄像机光心坐标先绕旋转轴w反向旋转a角度,再绕旋转轴w正向旋转a角度,结果仍为原摄像机光心坐标;
G12:
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“&”表示将自然数类型转化为实数类型;符号“==>”表示推出符号;函数trace代表获取旋转矩阵rot_matrix斜对角上的三个分量和,即旋转矩阵的迹;函数arccos代表的是余弦函数的反函数;
所述G12基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转角度a与旋转矩阵rot_matrix斜对角上的三个分量之间的等价关系;
G13:
其中,a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴;符号“~”表示非;(rot_matrix a w)12表示旋转矩阵rot_matrix中第一行第二列位置的矩阵分量,(rot_matrix a w)21表示旋转矩阵rot_matrix中第二行第一列位置的矩阵分量,(rot_matrix a w)13表示旋转矩阵rot_matrix中第一行第三列位置的矩阵分量,(rot_matrix aw)31表示旋转矩阵rot_matrix中第三行第一列位置的矩阵分量,(rot_matrix a w)32表示旋转矩阵rot_matrix中第三行第二列位置的矩阵分量,(rot_matrix a w)23表示旋转矩阵rot_matrix中第二行第三列位置的矩阵分量;
所述G13基本逻辑命题表示的是摄像机坐标系与空间坐标系之间的旋转轴w、旋转矩阵rot_matrix以及旋转角度a之间的等价关系。
4.根据权利要求3所述的方法,其特征在于,基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立,包括:
基于所述定理证明器验证所述基本逻辑命题,以确定所述基本逻辑模型是否成立;
在所述基本逻辑命题验证结果为错误时,重构所述基本逻辑模型。
5.根据权利要求4所述的方法,其特征在于,所述摄像机位姿估计逻辑模型还包括如下拓展逻辑模型:
D5.反对称矩阵转化函数
val vec3_2_ssm w=vector[vector[&0;-w3;w2];vector[w3;&0;-w1];vector[-w2;w1;&0]]
其中,函数vec3_2_ssm的输入变量w是三维向量,表示旋转轴,返回值是w对应的反对称矩阵,返回类型是三阶实矩阵;vector是HOL Light中定义的函数,输入变量是3个实数变量,返回值是以“;”拼接的3个变量的向量,符号“;”是HOL Light中符号;若函数vector的输入变量仍是vector,则返回类型可表示为矩阵;
D6.列向量与其转置乘的转化函数
val vec3_vtrans w=vector[vector[w1*w1;w1*w2;w1*w3];vector[w1*w2;w2*w2;w2*w3];vector[w1*w3;w3*w2;w3*w3]]
其中,函数vec3_vtrans的输入变量w是三维向量,返回值是该w与其转置的行向量相乘所得矩阵,返回类型是三阶实矩阵;
D7.矩阵指数函数
val matrix_exp A=infmsum(from 0)(λn.(&1/&(FACT n))%%(A matrix_pow n))
其中,函数matrix_exp的输入变量A为n阶矩阵,输出结果为该矩阵A的指数映射,类型为n阶矩阵;函数infmsum是无穷矩阵序列的求和函数,有两个输入变量,分别为求和范围S和求和矩阵函数f,输出结果为该求和矩阵函数f在无限集合S上的矩阵和,输出类型为矩阵类型;from是HOL Light中定义的函数,函数的输入变量是自然数,返回类型是自然数的集合,返回值是大于或等于该自然数的所有自然数集合;λn表示函数FACT的自变量是n;FACT是HOL Light中定义的高阶逻辑函数,函数的输入变量是自然数,返回类型是自然数,返回值是该自然数的阶乘;函数matrix_pow的输入变量为n阶矩阵和自然数k,输出结果为该矩阵的k次幂,输出类型为n阶矩阵;
D8.罗德里格斯参数
val rodrigues_parameter a w=tan(a*inv(&2))%w
其中,函数rodrigues_parameter的输入变量a是实数,表示旋转的角度,取值范围为[0,2π);w是三维向量,表示旋转轴,输出结果为一个三维向量,表示旋转轴w与旋转角度a之间约束关系;tan是HOL Light中定义的高阶逻辑函数,函数的输入变量为一个实数类型的角度,返回类型为实数,返回值为该角度对应的正切值。
6.根据权利要求5所述的方法,其特征在于,还包括:
基于所述拓展逻辑模型构建拓展逻辑命题;
基于所述定理证明器验证所述拓展逻辑命题;
在所述拓展逻辑命题验证结果为正确时,利用所述拓展逻辑命题简化所述基本逻辑模型和拓展逻辑模型。
7.根据权利要求6所述的方法,其特征在于,所述拓展逻辑命题包括以下至少之一:
G21:
其中,mat是HOL Light中定义的高阶逻辑函数,函数的输入变量为自然数,返回类型为n阶实矩阵,返回值为斜对角为该自然数对应实数的矩阵,用mat 1可表示单位矩阵;
所述G21拓展逻辑命题表示的是绕单位旋转轴w旋转a角度的旋转矩阵rot_matrix可以简化为旋转矢量平面的投影、角度正余弦值之间的数学关系;
G22:
其中,real代表实数,real^3代表三维实向量,real^3^3代表三阶实矩阵,pow是HOLLight中定义的高阶逻辑函数,函数的输入变量为一个实数和一个自然数k,返回值为该实数的k次幂的值,返回类型为实数;
所述G22拓展逻辑命题表示的是在旋转轴w的长度为1的情况下,绕旋转轴w旋转角度为a的旋转矩阵rot_matrix与旋转轴w、旋转角a的正弦值、余弦值的之间的关系;
G23:
其中,transp是HOL Light中定义的一个函数,函数的输入变量是三阶矩阵,函数的返回值为该矩阵的转置矩阵;matrix_inv是HOL Light中定义的高阶逻辑函数,函数的输入变量为n阶矩阵,返回值为该矩阵的逆矩阵,返回类型为n阶矩阵;
所述G23拓展逻辑命题表示的是在旋转角不等于180度时,对向量v绕旋转轴w旋转后所得旋转向量v’,等价于对向量v先进行反向旋转变换,再进行正向旋转变换后所得旋转变量v’;
G24:
其中,invertible是HOL Light中定义的高阶逻辑函数,输入变量为n阶矩阵,返回类型为布尔类型;
所述G24拓展逻辑命题表示的是以单位矩阵与罗德里格斯参数对应反对称矩阵的和表示的旋转变换可正向旋转,也可反向旋转;
G25:
其中,dot是HOL Light中定义的高阶逻辑函数,输入变量为两个n维向量,返回类型为实数,返回值为这两个向量的内积;
所述G25拓展逻辑命题描述的绕旋转轴w转a角度的旋转矩阵与罗德里格斯参数之间的关系;
G26:
所述G26拓展逻辑命题表示的是从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间的约束关系;
G27:
所述G27拓展逻辑命题描述的是关于罗德里格斯参数(q1,q2,q3)的线性方程组,代表的是该罗德里格斯参数与从摄像机光心到控制点的向量与从摄像机光心到控制点对应像点的向量之间存在的约束关系。
8.一种摄像机位姿估计形式化装置,其特征在于,包括:
第一确定模块,被配置为确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
建立模块,被配置为根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
构建模块,被配置为基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
第二确定模块,被配置为基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
确定被拍摄对象上所选取的多个控制点在空间坐标系下的空间坐标以及在摄像机坐标下的像点坐标;
根据所述摄像机在所述空间坐标系下的光心坐标、多个控制点的空间坐标以及像点坐标建立基于高阶逻辑语言的摄像机位姿估计逻辑模型;其中,所述摄像机位姿估计逻辑模型包括所述空间坐标系与摄像机坐标系的旋转关系和平移向量;
基于所述摄像机位姿估计逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述摄像机位姿估计逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述摄像机位姿估计逻辑模型是否成立。
10.一种存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-7任一项所述的方法步骤。
CN201910579874.XA 2019-06-28 2019-06-28 摄像机位姿估计形式化方法、装置、电子设备及存储介质 Active CN110276803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579874.XA CN110276803B (zh) 2019-06-28 2019-06-28 摄像机位姿估计形式化方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579874.XA CN110276803B (zh) 2019-06-28 2019-06-28 摄像机位姿估计形式化方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110276803A true CN110276803A (zh) 2019-09-24
CN110276803B CN110276803B (zh) 2021-07-20

Family

ID=67962592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579874.XA Active CN110276803B (zh) 2019-06-28 2019-06-28 摄像机位姿估计形式化方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110276803B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411368A (zh) * 2011-07-22 2012-04-11 北京大学 机器人的主动视觉人脸跟踪方法和跟踪系统
US20140092132A1 (en) * 2012-10-02 2014-04-03 Frida Issa Systems and methods for 3d pose estimation
CN104772773A (zh) * 2015-05-08 2015-07-15 首都师范大学 一种机械臂运动学形式化分析方法
CN105760576A (zh) * 2016-01-27 2016-07-13 首都师范大学 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统
CN106651953A (zh) * 2016-12-30 2017-05-10 山东大学 一种基于交通指示牌的车辆位姿估计方法
CN108109169A (zh) * 2017-12-12 2018-06-01 深圳市神州云海智能科技有限公司 一种基于矩形标识的位姿估计方法、装置及机器人
CN108994832A (zh) * 2018-07-20 2018-12-14 上海节卡机器人科技有限公司 一种基于rgb-d相机的机器人手眼系统及其自标定方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411368A (zh) * 2011-07-22 2012-04-11 北京大学 机器人的主动视觉人脸跟踪方法和跟踪系统
US20140092132A1 (en) * 2012-10-02 2014-04-03 Frida Issa Systems and methods for 3d pose estimation
CN104772773A (zh) * 2015-05-08 2015-07-15 首都师范大学 一种机械臂运动学形式化分析方法
CN105760576A (zh) * 2016-01-27 2016-07-13 首都师范大学 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统
CN106777486A (zh) * 2016-01-27 2017-05-31 首都师范大学 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统
CN106651953A (zh) * 2016-12-30 2017-05-10 山东大学 一种基于交通指示牌的车辆位姿估计方法
CN108109169A (zh) * 2017-12-12 2018-06-01 深圳市神州云海智能科技有限公司 一种基于矩形标识的位姿估计方法、装置及机器人
CN108994832A (zh) * 2018-07-20 2018-12-14 上海节卡机器人科技有限公司 一种基于rgb-d相机的机器人手眼系统及其自标定方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YONG LIU 等: "Robust and Accurate Multiple-Camera Pose Estimation toward Robotic Applications", 《INTERNATIONAL JOURNAL OF ADVANCED ROBOTIC SYSTEMS》 *
杜国平: "经典命题逻辑公理系统定理证明算法设计", 《逻辑与认知》 *
蔡伟柯: "基于模型的单相机位姿参数估计方法研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 *
赵哲: "机场调运系统避碰辅助设施中的摄像测量技术研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *

Also Published As

Publication number Publication date
CN110276803B (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
Perwass et al. Geometric algebra with applications in engineering
Tapp Matrix groups for undergraduates
Gray Mastering Mathematica®: Programming Methods and Applications
Terzakis et al. Modified Rodrigues parameters: An efficient representation of orientation in 3D vision and graphics
Dorst et al. Geometric algebra for computer science (revised edition): An object-oriented approach to geometry
Ford Numerical linear algebra with applications: Using MATLAB
Young Robustness with parametric and dynamic uncertainty
Kukelova et al. A clever elimination strategy for efficient minimal solvers
Haner et al. Absolute pose for cameras under flat refractive interfaces
CN109615664A (zh) 一种用于光学透视增强现实显示器的标定方法与设备
Michoski et al. Foundations of the blended isogeometric discontinuous Galerkin (BIDG) method
Hefetz et al. A subspace method for fast locally injective harmonic mapping
Pascual-Escudero et al. Complete singularity analysis for the perspective-four-point problem
Meusburger et al. Gauge fixing in (2+ 1)-gravity: Dirac bracket and spacetime geometry
CN110276803A (zh) 摄像机位姿估计形式化方法、装置、电子设备及存储介质
US20020154115A1 (en) Computer graphics system and computer-implemented method for generating smooth feature lines for subdivision surfaces
Voronin et al. A regularization algorithm for registration of deformable surfaces
Özgür Uygur et al. Solution of nine-parameter affine transformation based on quaternions
JPH03138784A (ja) 3次元モデルの再構成方法および表示方法
Gross et al. Manifolds, vector fields, and differential forms: an introduction to differential geometry
Bombrun et al. A conjugate gradient algorithm for the astrometric core solution of Gaia
Mullineux Modeling spatial displacements using Clifford algebra
Gould Complete Maya Programming Volume II: An In-depth Guide to 3D Fundamentals, Geometry, and Modeling
Behandish et al. Haptic assembly using skeletal densities and Fourier transforms
Henry et al. Fully numerical computation of heteroclinic connection families in the spatial three-body problem

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