CN105474033A - 智能机姿态测定、全景影像生成及目标识别方法 - Google Patents
智能机姿态测定、全景影像生成及目标识别方法 Download PDFInfo
- Publication number
- CN105474033A CN105474033A CN201480044865.6A CN201480044865A CN105474033A CN 105474033 A CN105474033 A CN 105474033A CN 201480044865 A CN201480044865 A CN 201480044865A CN 105474033 A CN105474033 A CN 105474033A
- Authority
- CN
- China
- Prior art keywords
- image
- intelligent machine
- camera
- matrix
- coordinate system
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1654—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with electromagnetic compass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/04—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
- G01C21/08—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
Abstract
本发明公开了一种智能机姿态测定、全景影像生成及目标识别方法,其中智能机姿态测定方法包括以下步骤:定义局部坐标系;测定智能机姿态矩阵Rg,Rg是一个相对于局部坐标系的3x3单位正交矩阵,其根据智能机内部的不同传感器可以通过多种方法得到。根据智能机的姿态测定可实现多种应用,包括智能机的虚拟现实漫游方法、智能机的多目视觉定位、智能机的单目单点定位、智能机的全景影像生成、智能机中的目标方向选择、视频影像实时纠正、智能机单像定位以及多个相机间的相对定位等。
Description
本发明涉及信息技术领域,尤其涉及一种智能机姿态测定、全景影像生成及目标识别方法。
地理信息位置服务一直只强调空间定位和空间距离,却忽视了一个非常重要的数据和概念——姿态,实际上用户更关心目的地或目标相对于自身的方向,没有姿态的位置服务是不完整的位置服务。比如一款的士打车软件,司机在抢单的时候如果只考虑距离,就可能选择位于自身后方的乘客,由于车道不能逆行,导致司机无法接到乘客,乘客也无法乘坐的士。作战的时候如果只知道敌人在接近而不知道敌人从哪个方向接近,这必然会导致混乱和恐慌。因此智能机姿态的测定能实现一种真正意义上的位置服务,使得基于智能机姿态的位置服务成为可能,具有非常重要的意义,并且必将形成一种新的数据新标准而被广泛应用。
姿态传感器的应用涉及方方面面,在很多领域都需要用到智能机自身姿态的信息,如影像、视频纠正、单目定位,3D遥控、室内导航、导弹制导。传统的姿态测量非常笨重和昂贵,一般安装在大型飞机,车船上,主要用于航天军事领域。近年来随着传感器技术的提高,各种廉价、轻小型号的用于姿态测定的传感器得以安装在小型智能机上,这为智能机姿态传感数据新标准的建立和广泛应用创造了硬件条件。
一旦这些传感器数据通过数据融合处理得到智能机姿态数据之后就能实现各种重要的应用。表示姿态的传感数据用得最多、最传统的是航位角、俯仰角和翻滚角,主要用于无人机姿态表述和地面移动测量系统MMS,但是这样表示缺点很多:
首先需要用大量三角函数重构姿态矩阵,导致计算速度慢;
三个角度相对于坐标系的转角不统一;
三个角度的转换顺序没有一个统一的标准,不同导航设备上的三个角的顺序定义是不一样的,没有统一的标准,导致针对不同导航设备的姿态数据软件不能统一接口和通用共
享,因此缺少统一的姿态数据标准极大地阻碍了导航技术的发展。
有些软件内部采用的定位算法不是基于图像的,在无GPS和wifi环境下软件是不能正常定位的,软件中的摄像头扫描界面效果给人一种图像识别定位的感觉。传统的图像定位方法是不知道姿态数据的,这样就要求至少需要三对以上的物像同名点对应关系才能进行定位计算,事实上三对同名点除了进行定位还要计算姿态,因此得到的结果很不稳定,很不准确,特别是在三点位一条直线或者三点之间距离很小都会出现很不稳定,不精确的问题,原因就是这三点除了进行定位计算以外还要负担姿态运算。
发明内容
本发明的目的在于,根据智能机的姿态测定实现多种应用,包括智能显示屏的姿态测定、智能机的虚拟现实漫游方法、智能机的多目视觉定位、智能机的单目单点定位、智能机的全景影像生成、智能机中的目标方向选择、视频影像实时纠正、智能机单像定位以及多个智能机的相机间的相对定位等。
本发明解决其技术问题所采用的技术方案是:
提供一种智能机姿态测定方法,其特征在于,包括以下步骤:
1)定义局部坐标系:局部坐标系是指原点在智能机,Z轴指向地球表面法方向,Y轴或X轴与纬线相平行的坐标系;或局部坐标系原点位于地球上任意一点,Z轴与重力方向一致,北代表局部坐标系X轴,西代表局部坐标系Y轴;
2)测定智能机姿态矩阵Rg,Rg是一个相对于局部坐标系的3x3单位正交矩阵,
Rg由下述方法之一获得:
方法(1)采用加速度传感器与磁力计传感器或方向传感器
如果智能机有加速度传感器,且有磁力计传感器或方向传感器,用以下公式(1)计算Rg
其中
vax,vay,vaz是智能机加速度传感器测出的x,y,z三个方向的值,或是这三个值经滤波的结果;Ra是加速度传感器相对于智能机的姿态转换矩阵;
当az≤0时,s=-1,az>0时,s=1;
若采用方向传感器:通过方向传感器获取方位角将其带入公式(1)计算Rg;
若采用磁力计传感器:计算
其中Rm是磁力传感器相对于智能机的姿态转换矩阵;{vmx,vmy,vmz}是磁力传感器检测到的三个值或这三个值经滤波的结果;
再计算
利用磁力传感器计算方位角的三角函数为:
带入公式(1)计算Rg;
方法(2)采用旋转矢量传感器
如果智能机配置有旋转矢量传感器,若检测到旋转矢量传感器只有3个数据values[0],values[1],values[2],
则采用以下公式得到
q1=values[0],q2=values[1],q3=values[2],
若检测到旋转矢量传感器有4个数据values[0],values[1],values[2],values[3]
则采用以下公式得到
q1=values[0],q2=values[1],q3=values[2],q0=values[3]
则Rg0矩阵为:
根据智能机旋转矢量传感器坐标系定义的不同,得到Rg=Rg0RL T,其中RL T是局部坐标系与旋转矢量传感器坐标系之间的变换矩阵;
方法(3)采用陀螺仪、加速度传感器与磁力传感器迭代
第1步选用方法(1)或方法(2)计算Rg的初值,将Rg转换成4元数q0,q1,q2,q3作为以下第2-7步迭代的初值;
第2步设定exInt,eyInt,ezInt原始值为0,即exInt=0,eyInt=0,ezInt=0;
第3步根据接收到的磁力计矢量{mx,my,mz},得到正确磁场矢量{wx,wy,wz},
先将矢量{mx,my,mz}替换成将其单位化以后的矢量
得到局部坐标系下磁场的正确的磁场方向矢量{bx,0,bz},bz=hz;其中:hx=2×mx×(0.5-q2×q2-q3×q3)+2×my×(q1×q2-q0×q3)+2×mz×(q1×q3+q0×q2);
hy=2×mx×(q1×q2+q0×q3)+2×my×(0.5-q1×q1-q3×q3)+2×mz×(q2×q3-q0×q1);
hz=2×mx×(q1×q3-q0×q2)+2×my×(q2×q3+q0×q1)+2×mz×(0.5-q1×q1-q2×q2);
再转换到正确磁场矢量{wx,wy,wz},其中
wx=2×bx×(0.5-q2×q2-q3×q3)+2×bz×(q1×q3-q0×q2);
wy=2×bx×(q1×q2-q0×q3)+2×bz×(q0×q1+q2×q3);
wz=2×bx×(q0×q2+q1×q3)+2×bz×(0.5-q1×q1-q2×q2);
第4步根据接收到的加速度传感器数据ax,ay,az,和{wx,wy,wz}得到误差矢量{ex,ey,ez},并计算其累计值exInt,eyInt,ezInt;
具体为:先将矢量{ax,ay,az}替换成将其单位化以后的矢量计算vx=2*(q1*q3-q0*q2);vy=2*(q0*q1+q2*q3);vz=q0*q0-q1*q1-q2*q2+q3*q3;
ex=(ay×vz-az×vy)+(my×wz-mz×wy);
ey=(az×vx-ax×vz)+(mz×wx-mx×wz);
ez=(ax×vy-ay×vx)+(mx×wy-my×wx);
计算误差累计值:将exInt替换为exInt+ex×Ki;eyInt替换为eyInt+ey×Ki;ezInt替换为ezInt+ez×Ki;其中Ki为一可调节的正系数,Ki在0.00001至0.5中任意选取;
若没有磁力计,则第3步不执行,同时将该第4步中的
ex=(ay×vz-az×vy)+(my×wz-mz×wy);
ey=(az×vx-ax×vz)+(mz×wx-mx×wz);
ez=(ax×vy-ay×vx)+(mx×wy-my×wx);
改为
ex=ay×vz-az×vy;
ey=az×vx-ax×vz;
ez=ax×vy-ay×vx;
第5步根据误差矢量{ex,ey,ez}及其累计值纠正陀螺仪数据{gx0,gy0,gz0}
假设智能机读出当前的一组陀螺仪数据为{gx0,gy0,gz0},gx=gx0+Kp×ex+exInt;gy=gy0+Kp×ey+eyInt;gz=gz0+Kp×ez+ezInt;其中Kp为一可调节的正系数,Kp在0.000001至20.0中任意选取;
第6步根据陀螺仪数据gx,gy,gz修正四元数
随着不断接收到陀螺仪数据gx,gy,gz,对4元数按如下方式修正:
q0替换为q0+(-q1×gx-q2×gy–q3×gz)×halfT;q1替换为q1+(q0×gx-q3×gy+q2×gz)×halfT;q2替换为q2+(q3×gx+q0×gy-q1×gz)×halfT;q3替换为q3+(-q2×gx+q1×gy+q0×gz)×halfT;其中halfT为修正周期,halfT=0.00001~-10.0;
第7步输出Rg矩阵和四元数
将四元数{q0,q1,q2,q3}单位化成输出;
4元数转Rg矩阵公式如下
第8步回到第3步继续接收陀螺仪运动数据更新姿态4元数q0~q3,在循环的过程中每次到第7步都能输出当前的Rg矩阵和四元数。
本发明还提供了一种智能机显示屏的姿态测定方法,包括以下步骤:
智能机显示屏的姿态矩阵为
rx是智能机显示屏像素阵列x轴方向在局部坐标系中的分量;
ry是智能机显示屏像素阵列y轴方向在局部坐标系中的分量;
rz是垂直于智能机显示屏表面方向向智能机显示屏内部朝前看的视线方向在局部坐标系中的分量;
1)按上述方法测定智能机姿态,并得到智能机的姿态矩阵Rg;
2)计算R=ΔR×Rg,ΔR为智能机显示屏姿态矩阵R相对于智能机姿态矩阵Rg的一个固定的方向的转换,智能机自身Z轴定义为智能机加速度传感器的z轴方向,
当显示屏观察方向和智能机自身Z轴方向刚好相反时
当显示屏观察方向和智能机自身Z轴方向完全一致时
否则采用摄影测量方法标定ΔR=RARg -1,RA是摄影测量后方交汇法算得的摄像头姿态矩阵,Rg是上述方法测得此时智能机的姿态矩阵。
本发明还提供了一种基于智能机姿态的虚拟现实漫游方法,包括以下步骤:
1)采用上述方法得到智能机显示屏的姿态矩阵R;
2)根据姿态矩阵R移动控制漫游观察者在局部坐标系中的位置:
定义漫游观察者是在局部坐标系中的一个具备自身位置、姿态且用于观察周边场景的对象;智能机显示屏所渲染的场景就是漫游观察者在局部坐标系中所应看到的场景图像;定义漫游观察者在局部坐标系中的坐标为(Xd,Yd,Zd),
采用以下方法控制漫游观察者在虚拟场景中移动:
a)获取智能机漫游者手指在屏幕本体上的滑动数据;
b)在滑动数据是漫游者单指相对于智能机屏幕本体滑动矢量△X,△Y的情况下,如果|r33|>|r13|且|r33|>|r23|,其中rij是R矩阵的i行j列元素值,则单指滑动后,在局部坐标系中的定位坐标(Xd,Yd)的改正数(vx,vy),vx=ΔXr11+ΔYr21vy=ΔXr12+ΔYr22;否则:
c)在滑动数据是漫游者双指做拉开或合拢操作所获得的情况下,则得到拉开和合拢之前双指之间的屏幕距离,以及拉开和合拢之后双指之间的屏幕距离;通过前后两次距离的差异修正Zd;
3)设置漫游观察者在局部坐标系里的位置和方向:
根据漫游观察者的局部坐标系坐标(Xd,Yd,Zd),以及步骤1)测定得到的姿态矩阵R,利用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库中用于设定相机位姿的图形库函数,设置漫游观察者在局部坐标系里的位置和方向:
需要设定以下几个量:
(1)漫游观察者自身观察的垂直视场角θ,就是智能机显示屏上边缘中点的视线方向与下边缘中点的视线方向的夹角;
(2)漫游观察者所在的位置(Xd,Yd,Zd),并根据步骤2)的漫游方法进行修正;
(3)漫游者观察方向{r31,r32r33}或者用户注视点坐标(Xd+r31,Yd+r32,Zd+r33)
(4)漫游者自身向上方向的矢量{-r21,-r22,-r23}
其中步骤(3)和(4)中的rij是智能机显示屏姿态R矩阵中的第i行j列,i=2或3,j=1、2或3;
4)在局部坐标系下渲染绘制三维场景
预先在智能机的显示屏内设置一个3维渲染图层进行三维场景渲染;
被绘制的三维场景中的点、线、面和物体模型的几何坐标都要转换成局部坐标系下的坐标[Xi Yi Zi]T,即与漫游者的坐标(Xd,Yd,Zd)在同一个局部坐标系下;用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库实现局部坐标系下的三维绘图;
智能机摄像头的拍摄方向与屏幕观察方向一致时,可以智能机摄像头拍摄的视频图像为底图,叠加绘制三维场景中的点线面。
本发明还提供了一种基于智能机姿态数据的多目视觉定位方法,包括以下步骤:
步骤1:
在N个地理位置点拍摄同一个物体X,其中N≥2,测第i个观察点的以下几个量,其中i∈(1,2,…,N):
(1)在视频帧图像中显示的位置(ui,vi);
(2)拍摄点的地理位置分别是第i个拍摄点的经度,纬度,高度;
(3)按上述方法测得第i个拍摄点的摄像头姿态矩阵Ri;
(4)第i个拍摄点的内部参数焦距长fi,像主点坐标(cxi,cyi);
步骤2:
计算相对于地心的N个姿态矩阵,i=1~N,R0i=RiRvi
其中
步骤3:
利用公式得到N个拍摄点摄像头光心的地心坐标系坐标T0i={Txi,Tyi,Tzi}T i=1~N;其中{ΔTxi,ΔTxi,ΔTzi}T=Rvi TΔTi;ΔTi是摄像头光心相对于GPS接收天线的偏移矢量;是将经度,纬度,高度转换成地心坐标系的X坐标的函数;是将经度,纬度,高度转换成地心坐标系的Y坐标的函数;是将经度,纬度,高度转换成地心坐标系的Z坐标的函数;
步骤4
根据拍摄点N的姿态矩阵R0N,位置[TxN TyN TzN],在图像中显示的位置坐标(uN,vN),摄像头焦距像素长fN,像主点坐标(cxN,cyN)都满足以下方程
其中r0iab表示姿态矩阵R0i的第a行第b列的元素值;i=1~N一共列2N个方程,解(Xx,Xy,Xz)三个未知数;或采用摄影测量前方交汇方法计算出物体X得到地心坐标系坐标(Xx,Xy,Xz);最后由大地测量学公式得到地心坐标(Xx,Xy,Xz)对应的经纬度。
本发明还提供了一种基于智能机姿态数据的单目单点定位方法,包括步骤:
假设智能机上的相机内部参数矩阵为:
被观察物体是一个直径=D大小的物体,
在智能机上成像的宽度是Δu,高度是Δv,
成像中心点像坐标(u,v),
采用上述方法测得智能机姿态矩阵Rg,并测得智能机上的摄像头姿态矩阵R=△RRg包括以下两种情况:
(3)若已知智能机摄像头光心局部坐标系坐标是T,
可单目估算出物体的局部坐标系下三维坐标:
其中
(4)若已知物体的局部坐标系下三维坐标X,可以求相机坐标T
该情况实现了相机的单目定位。
本发明还提供了一种基于智能机姿态数据的全景影像生成方法,包括以下步骤:
步骤1、智能机在某一固定点用不同姿态拍摄n张图像,根据上述方法计算智能相机的姿态矩阵,根据智能相机的姿态矩阵再计算智能机摄像头姿态矩阵,分别为R0i,i为0~n‐1之间的整数,n为大于等于1的整数;
步骤2、根据影像重叠区域迭代求解进行精确纠正
(2)提取图像间重合区域的同名点对
定义Hij=KjRjRi TKi -1
对N张图像之间任意两张i,j进行匹配寻找图像上的同名点对,可以将第i张图像Ii经过透视Hij变换后得到图像Ii’再与第j张图像Ij作细致匹配,最后将图像Ii上的匹配点坐标经过Hij ‐1逆变换还原成Ii图原始的坐标;
(2)根据上一步得到的同名点对匹配关系建立误差e相对于参数集
φ=[... fi qi0 qi1 qi2 qi3 ... fj qj0 qj1 qj2 qj3 ...]T
的数学模型e(φ),
前面得到的智能机摄像头姿态矩阵R0i转换成4元数qi00,qi01,qi02,qi03,i=0,…,n‐1
以φ=φ0=[... f0i qi00 qi01 qi02 qi03 ... f0j qj00 qj01 qj02 qj03 ...]T作为初值,
采用LM法通过减小误差e,逐步得到精确化相机姿态qi0,qi1,qi2,qi3和焦距参数fi;
最后将精确化的φ中的四元数qi0,qi1,qi2,qi3转化成姿态矩阵Ri,i=0,…,n-1;
步骤3、开辟一张宽w高h大小的全景影像,扫描全景影像上每一个像素,针对全景图的每一个像素(x,y)进行如下(1)(2)处理:
(1)横坐标x转换成纵坐标y转换成θ;
其中w,h是全景图像的宽,高;
(2)依据小孔成像公式
其中fi为相机i焦距像素长度,(cix,ciy)是相机i的像主点;
利用Ri将转换成映射到每个相机i的像坐标(ui,vi),若(ui,vi)在图像范围内,则将相机i像坐标(ui,vi)处颜色取出,加权渲染到全景图(x,y)处;权重与(ui,vi)到该图像边缘最短距离有关,距离越短权重越小;若无一个相机的(ui,vi)在其图像范围内,渲染透明色或背景色到(x,y)处;扫描完全景图像上所有点填充相应的颜色,完成全景图像的渲染;
或者,在步骤2中先将全景图像颜色值全部清0,在步骤3中针对n张图像将全景图像上的相应区每个像素扫描n轮,分n轮依次将加权颜色值累加在全景图的像素上;
步骤4全景图像的三维浏览和检索定位
(B)智能机姿态控制浏览三维全景图像
在虚拟场景中以球心为观察点,球体内壁以全景图作为纹理渲染一个球;设定智能机摄像头观察方向{r31,r32r33},自身向上方向{-r21,-r22,-r23};rij是姿态矩阵R中第i行第j列元素;
(B)全景图建库、检索和定位
为有效利用存储空间,除采用步骤3(1)中的公式外还可用墨卡托转换公式,
转换成全景图像,保持建库和检索的转换方式一致;
建库
提取全景图像的特征点集合,建立与全景图像关联的特征点数据库,库中每个特征点指向其所在的全景图像;
检索
同一地点c≥1张图像合成待检索全景图像并提取渲染区特征点,对每个特征点,查询库中与其最相似特征点所指向的全景图像,按特征点相似程度对库中指向的全景图像进行加权投票,按投票总和大小排序;
将待检索全景图中已渲染区和投票得到的库中全景图对应区域的像素集进行相关匹配计算,相关系数越大越相似;输出投票排序靠前且相关系数大于预设值的结果;如果c=1,也可根据单张拍摄姿态矩阵R,将库中全景图像映射到单张拍摄图像域与单张拍摄图像进行相关匹配;
定位
在已知GPS情况下,检索GPS附近区域的全景图像组成的子集特征库;
服务器数据库将全景图像与其地理位置坐标绑定在一起存储,检索结果是编号为i*的图像,即可在数据库中查找出i*所对应的地理位置。
本发明还提供了一种基于智能机姿态数据的目标方向选择方法,包括以下步骤:
1.定义智能机主方向或载体主方向相对于智能机自身的矢量单位p;
2.采用上述方法获取智能机当前姿态矩阵Rg;
3.计算p┴=Rg Tp为智能机主方向或载体主方向相对于指北坐标系的矢量;
4.计算局部坐标系中的目标矢量vo=O-P,假设局部坐标系中智能机自身坐标为P,目标的坐标为O,则目标矢量vo=O-P;
5.计算矢量p┴与目标矢量vo之间夹角的余弦,或计算两个矢量之间的夹角;
如果夹角的余弦>0.9,或者夹角偏差的绝对值|dφ|很小则触发智能机与该目标O之间的某一关联事件;
通过两矢量的点积除以|vo|得到夹角dφ的余弦,
cos(dφ)=(p┴点积vo)/|vo|
如果该余弦cos(dφ)>cos(φa),φa为预设值,则该目标方向选择事件可触发;
6.在需要与用户的可视化交互情况下,在指北坐标系中实时绘制目标、智能机和矢量p┴;
计算局部坐标系中智能机主方向矢量与目标矢量之间夹角的方向余弦,根据余弦值大小判定夹角,并且在三维空间或二维空间中绘制出智能机主方向矢量与目标矢量之间的方向关系,便于人机交互。
本发明还提供了一种基于智能机姿态数据的视频影像实时纠正方法,包括以下步骤:
1.采用上述方法计算智能机拍摄视频的每一帧图像对应的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R,△R是摄像头相对于智能机的转换矩阵;
2.将摄像头的姿态矩阵R分解为R=RτR_从而得到矩阵Rτ,相机的拍摄姿态R不规则,期待得到用虚拟姿态R_作为拍摄姿态矩阵得到的标准图像;
3.对智能机拍摄视频的每一帧图像I经过H=K2Rτ TK-1的Homograph变换得到I’;
其中是拍摄相机的内部参数矩阵,f是焦距的像素长度,(cx,cy)是相机主点坐标;对于理想相机(cx,cy)是图像的中心点,cx=w/2,cy=h/2,w,h是原始图像I的宽和
高;
是纠正以后虚拟相机的内部参数矩阵,f2是纠正以后虚拟相机的焦距的像素长度,(cx2,cy2)是纠正以后虚拟相机主点坐标。
本发明还提供了一种基于姿态数据的智能机单像定位方法,包括以下步骤:
假设相机或摄像机内参数据f和(cx,cy)已知,f是焦距的像素长度,(cx,cy)是相机主点坐标,
内参矩阵
单像目标定位整体实施步骤如下:
1.搜集采集物方点,转化成局部坐标系坐标;
2.采用上述方法获取智能机的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R,△R是摄像头相对于智能机的转换矩阵;
3.拍摄一张图像,自动提取其中的多个特征点,通过匹配算法得到与物点对应的n对物像同名点;n个物方点的坐标是Xi=[Xix,Xiy,Xiz]T i=1,…,n,对应n个像点坐标是[ui vi]T i=1,…,n;
4.分无错和容错2种情况计算相机在局部坐标系下的坐标T:
(1)若确认多个特征点无错误,则
采用数学模型解方程得到自身在局部坐标系下坐标Tx,Ty,Tz
其中
进而得到相机位置T,最大集ζ为n个点对组成的全集;
(2)若不确认多个特征点是否全部正确,采用Ransac容错算法,通过共线方程模型随机选取两对点n=2,根据模型式(HH2)计算相机位置T,并通过共线方程zi[u’i v’i 1]T=KR(Xi-T)验证T,
通过KR(Xi-T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程,选取符合共线方程点数最大集ζ并计算最大集ζ对应的T*,单目多点Ransac容错算法流程如下:
2.从n个像点中随机挑选出2个距离足够大的像点,至少大于容忍误差error的2倍;
3.挑选出来的2个像点与物点对应形成2对物象同名点,按式(HH2)计算智能机位置T;
4.用T验证所有n对物象同名点的共线方程对应关系,共线方程KR(Xi‐T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程,统计符合共线方程的个数i_in,如果i_in数量超过前期的数量nmax则记录本组满足共线方程容忍误差数量最大的点集ζmax,并刷新nmax=i_in;
5.更新迭代次数k+1→k
6.回到第1步,直到满足Ransac概率收敛条件(1‐(nmax/n)2)k<pe,pe是Ransac容忍错误概率,为10‐2~10‐20之间的一个数值;
7.将前面搜索得到的最大的点集ζmax搜集起来进行最后一次多点最小2乘计算,按公式(HH2)计算得到Tbest得到最终结果;
本发明还提供了一种基于智能机姿态数据的相对定位算法,包括以下步骤:
a)两相机之间相对定位
假设相机1,2之间有i=1..n≥2对同名点u1i,v1i~u2i,v2i;
其中R1,R2是智能机相机在拍摄的1,2两个地点测出来的姿态矩阵数据;
已知相机1的内参矩阵相机2的内参矩阵其中(cxi,cyi)是相机i的像素主点坐标,fi是相机i的焦距像素长;
已知两相机之间的距离是L;
计算相机2相对于相机1的位移矢量T包括以下步骤:
2.用上述方法计算智能机上相机的姿态Rg1,Rg2
计算R1=△RRg1 R2=△RRg2
进一步得到R=R2R1 T
3.构建矩阵A
其中
uji*=Ki -1ui=[uji*x uji*y uji*z]T,
ujiR*=Ruji*=[ujiR*x ujiR*y ujiR*z]T,i=1,2,j=1..n;
3.如果确认n对点都是正确的,则
求约束||t3x1||=1下Anx3t3x1=0的解
或采用数学SVD分解得到Anx3=UnxnWnx3VT 3x3,
SVD分解出来的V矩阵的最后1列的矢量,即对应于最小奇异值的特征矢量为t,
T=-LRTt得到结果,结束
否则继续进行以下步骤;
4.设置迭代初值nmax=0,k=1;
5.随机挑选A矩阵中的2行,构建A2x3
就是求约束||t2||=1下A2x3t2=0的解
或采用SVD分解得到A2x3=U2x2W2x3VT 3x3,
分解出来的V的最后1列的矢量即为t2;
6.将t2=[ttx tty ttz]T代入第j=1..n个点,采用式(AB)验证点j是否是内点,
(uj2*zuj1R*y-uj2*yuj1R*z)ttx+(uj2*xuj1R*z-uj2*zuj1R*x)tty+(uj2*yuj1R*x-uj2*xuj1R*y)ttz<ε
(AB)
其中ε表示最大容忍误差物方长度,相对于两相机之间的距离=1而言;
满足式(AB)则点j是内点,如果满足内点的数量nt超过最佳值nmax则ζt-->ζ nt-->nmax
7.如果(1-(nmax/n)2)k<0.00001错误率足够小,退出迭代进入步骤9;
8迭代次数k增加1,回到步骤5反复迭代;
9.最后采用最小二乘法针对最大内点集ζ重新计算一次最优t,
求约束||t3x1||=1下An’x3t3x1=0的解,其中n’=nmax
或采用SVD分解得到An’x3=Un’xn’Wn’x3VT 3x3,
分解出来的V的最后1列矢量,即对应于最小奇异值的特征矢量,即为t最终得到T=-LRTt;
b)多个相机间的相对定位
构建矩阵
U(ij)k=[U(ij)k1 U(ij)k2 U(ij)k3]k=1,2
rc(ij)ab是指第i个点对应的第j个图像的相机的姿态矩阵的a行b列,uc(ij)是第i个点对应的第j个图像上的像点坐标,(cx,cy)是相机主点坐标,f是相机的焦距;
对矩阵A进行SVD分解得到A=UWVT,V中最后一个非零矢量
X=[T1x T1y T1z ... Tcx Tcy Tcz X1 Y1 Z1 ... XN YN ZN]T的每一个分量对应C个相机的位置T1x,T1y,T1z,…,Tcx,Tcy,Tcz和N个点的坐标X1,Y1,Z1,…,XN,YN,ZN。
本发明还提供了基于智能机姿态的目标识别算法,包括以下步骤:
根据上述方法,通过H=K2Rτ TK-1对智能机拍摄视频的图像I进行纠正得到I';
对纠正后的图像I'进行目标检测、识别处理,得到I'图像上目标的外接多边形点坐标集xi,yi,i=1,...,N;
通过反纠正H-1的方法得到坐标集在原图上映射的坐标xi',yi',即
传感器纠正目标识别算法的具体实施方式:
首先根据传感器得到的R矩阵对原始图I进行H=K2Rτ TK-1标准化纠正得到标准纠正图I’,然后对I’图像进行目标检测、跟踪,得到它对应的目标框r,目标框r相对于标准模板的平移是rx,ry,
目标框r首先经过平移变换Ht映射到标准图上,然后再经过H-1变换映射到原始图上,因此目标框r相对于原始图像I的H变换为
r*=H-1Htr。
本发明产生的有益效果是:本发明的方法能实时得到手机在局部地理坐标系中的姿态矩阵的方法,姿态矩阵准确描述了智能机在客观三维场景中的姿态数据对于导航,方向选择,便携式控制都有及其广泛的应用;可实现3D漫游控制,游戏场景漫游,虚拟现实,增强现实,3D仿真等领域;实现多张图像对某一物体空间3维定位,或者物体3维坐标与相机3维坐标之间的相互定位。
另外本发明还可以实现便携式智能机拍摄合成全景图像,以及根据全景图像进行空间
定位以及空间目标方向选择、控制、人机交互操作;还可实现基于姿态矩阵的智能机的视频图像实时纠正,能保持生成纠正的图像中的水平线始终对应客观场景的地平线,可用于颠簸的路面,海面场景视频图像的纠正。对于接近垂直于地面拍摄的情况,生成纠正的图像中的水平朝右方向始终对应客观场景中的局部坐标系的x轴(北),可用于无人机地面图像拼接。
本发明还可根据姿态矩阵和图像上2个点的像坐标对相机自身进行定位以及基于姿态矩阵的双目图像或多目图像之间相对定位,解决了任意姿态拍摄视频仍能准确识别目标的难题,不必考虑目标大角度旋转,仍能实现高效准确的目标检测。
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例位置服务中同时符合位置和方向的目标位示意图;
图2是本发明实施例的单像双点定位示意图;
图3是本发明实施例传感器纠正目标识别算法原理示意图。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例智能机姿态测定方法,包括以下步骤:
1)定义局部坐标系:局部坐标系是指原点在智能机,Z轴指向地球表面法方向,Y轴或X轴与纬线相平行的坐标系;或局部坐标系原点位于地球上任意一点,Z轴与重力方向一致,北代表局部坐标系X轴,西代表局部坐标系Y轴;
2)测定智能机姿态矩阵Rg。Rg是一个相对于局部坐标系的3x3单位正交矩阵,Rg由下法之一获得:
方法(1)采用加速度传感器与磁力计或方向传感器
如果智能机有加速度传感器,且有磁力计或方向传感器,用以下公式(1)计算Rg
其中
vax,vay,vaz是智能机测出来的智能机加速度传感器的x,y,z三个方向的值,或是这三个值经滤波的结果;
Ra是加速度传感器芯片相对于智能机的姿态转换矩阵;
当az≤0时,s=-1,az>0时,s=1;
若采用方向传感器:带入公式(1)计算Rg;
若采用磁力计传感器:计算
其中Rm是磁力传感器芯片相对于智能机的姿态转换矩阵;{vmx,vmy,vmz}是智能机上磁力传感器检测到的三个值或这三个值经滤波的结果;
再计算
利用磁力计计算方位角的三角函数为:
带入公式(1)即可算出Rg;
方法(2)用旋转矢量传感器
如果智能机配置有旋转矢量传感器检测到智能机上的旋转矢量传感器只有3个数据values[0],values[1],values[2],
采用以下公式得到
q1=values[0],q2=values[1],q3=values[2],
若检测到旋转矢量传感器有4个数据values[0],values[1],values[2],values[3]
则采用以下公式得到
q1=values[0],q2=values[1],q3=values[2],q0=values[3]
则Rg0矩阵为:
根据智能机旋转矢量传感器坐标系定义的不同,得到Rg=Rg0RL T,其中RL T是局部坐标系与旋转矢量传感器坐标系之间的变换矩阵;
根据智能机旋转矢量传感器坐标系定义的不同,采取以下几种情况之一得到Rg:
若旋转矢量传感器的X轴指向东,Y轴指向北,则
若旋转矢量传感器的X轴指向北,Y轴指向西,则
Rg=Rg0; (3)
若旋转矢量传感器的X轴指向南,Y轴指向东,则
方法(3)采用陀螺仪、加速度计与磁力计迭代
第1步选用方法(1)或方法(2)计算Rg的初值,将Rg转换成4元数q0,q1,q2,q3作为以下第2-7步迭代的初值
第2步设定exInt,eyInt,ezInt原始值为0
exInt=0,eyInt=0,ezInt=0
第3步根据接收到的磁力计矢量{mx,my,mz},得到正确磁场矢量{wx,wy,wz}
先将矢量{mx,my,mz}替换成将其单位化以后的矢量
得到局部坐标系下磁场的正确的磁场方向矢量{bx,0,bz}
hx=2×mx×(0.5-q2×q2-q3×q3)+2×my×(q1×q2-q0×q3)+2×mz×(q1×q3+q0×q2);
hy=2×mx×(q1×q2+q0×q3)+2×my×(0.5-q1×q1-q3×q3)+2×mz×(q2×q3-q0×q1);
hz=2×mx×(q1×q3-q0×q2)+2×my×(q2×q3+q0×q1)+2×mz×(0.5-q1×q1-q2×q2);
bz=hz
再转换到正确磁场矢量{wx,wy,wz}
wx=2×bx×(0.5-q2×q2-q3×q3)+2×bz×(q1×q3-q0×q2);
wy=2×bx×(q1×q2-q0×q3)+2×bz×(q0×q1+q2×q3);
wz=2×bx×(q0×q2+q1×q3)+2×bz×(0.5-q1×q1-q2×q2);
第4步根据接收到的加速度传感器数据ax,ay,az,和{wx,wy,wz}
得到误差矢量{ex,ey,ez}并计算其累计值exInt,eyInt,ezInt
先将矢量{ax,ay,az}替换成将其单位化以后的矢量
vx=2*(q1*q3-q0*q2);vy=2*(q0*q1+q2*q3);vz=q0*q0-q1*q1-q2*q2+q3*q3;
ex=(ay×vz-az×vy)+(my×wz-mz×wy);
ey=(az×vx-ax×vz)+(mz×wx-mx×wz);
ez=(ax×vy-ay×vx)+(mx×wy-my×wx);
计算误差累计值
exInt替换为exInt+ex×Ki;eyInt替换为eyInt+ey×Ki;ezInt替换为ezInt+ez×Ki;
其中Ki为一可调节的正系数,Ki在0.00001至0.5中任意选取;
第5步根据误差矢量{ex,ey,ez}及其累计值纠正陀螺仪数据{gx0,gy0,gz0}
假设智能机读出当前的一组陀螺仪数据为{gx0,gy0,gz0}gx=gx0+Kp×ex+exInt;gy=gy0+Kp×ey+eyInt;gz=gz0+Kp×ez+ezInt;
其中Kp为一可调节的正系数
Kp在0.000001至20.0中任意选取;
第6步根据陀螺仪数据gx,gy,gz修正四元数
随着不断接收到陀螺仪数据gx,gy,gz,对4元数按如下方式修正,halfT为修正周期,
halfT=0.00001~-10.0,
q0替换为q0+(-q1×gx-q2×gy–q3×gz)×halfT;q1替换为q1+(q0×gx-q3×gy+q2×gz)×halfT;q2替换为q2+(q3×gx+q0×gy-q1×gz)×halfT;q3替换为q3+(-q2×gx+q1×gy+q0×gz)×halfT;
第7步输出Rg矩阵和四元数
将四元数{q0,q1,q2,q3}单位化成输出
4元数转Rg矩阵公式如下
第8步回到第3步继续接收陀螺仪运动数据更新姿态4元数q0~q3,在循环的过程中每次到第7步都能输出当前的Rg矩阵和四元数。
注:在没有磁力计的时候,可去掉第3步,同时第4步中的
ex=(ay×vz-az×vy)+(my×wz-mz×wy);
ey=(az×vx-ax×vz)+(mz×wx-mx×wz);
ez=(ax×vy-ay×vx)+(mx×wy-my×wx);
改为
ex=ay×vz-az×vy;
ey=az×vx-ax×vz;
ez=ax×vy-ay×vx;
本发明实施例的智能机显示屏的姿态测定方法,可实现各种可视化增强现实应用,包括以下步骤:
智能机显示屏的姿态矩阵为
rx是智能机显示屏像素阵列x轴方向在局部坐标系中的分量;
ry是智能机显示屏像素阵列y轴方向在局部坐标系中的分量;
rz是垂直于智能机显示屏表面方向向智能机显示屏内部朝前看的视线方向在局部坐标系中的分量;
1)按上述方法测定智能机姿态,并得到智能机的姿态矩阵Rg;
2)计算R=ΔR×Rg;得到智能机显示屏的姿态矩阵;
ΔR为智能机显示屏姿态矩阵R相对于智能机姿态矩阵Rg的一个固定的方向的转换,智能机自身Z轴定义为智能机加速度计的z轴方向,
当显示屏观察方向和智能机自身Z轴方向刚好相反时
当显示屏观察方向和智能机自身Z轴方向完全一致时
否则采用摄影测量方法标定ΔR=RARg -1,RA是摄影测量后方交汇法算得的摄像头姿态矩阵,Rg是根据上述方法测得此时智能机的姿态矩阵。
本发明实施例基于智能机姿态的虚拟现实漫游方法,可实现3D漫游控制,游戏场景漫游,虚拟现实,增强现实,3D仿真等领域,包括以下步骤:
1)采用上述方法得到智能机显示屏的姿态矩阵R
2)移动控制漫游观察者在局部坐标系中的位置
定义漫游观察者是在局部坐标系中的一个具备自身位置、姿态且用于观察周边场景的对象;智能机显示屏所渲染的场景就是漫游观察者在局部坐标系中所应看到的场景图像;定义漫游观察者在局部坐标系中的坐标为Xd,Yd,Zd
用以下三种模式之一控制漫游观察者在虚拟场景中的移动:
(1)模式1:普通二维移动
当手指按{ΔX,ΔY}方向滑过智能机显示屏平面的时候,相当于局部坐标系下,
Xd增加Vx=ΔXr11+ΔYr21;Yd增加Vy=ΔXr12+ΔYr22;Zd不变;
(2)模式2:智能二维移动
当手指按{ΔX,ΔY}方向滑过智能机显示屏平面的时候,采用如下方法:
首先选择R矩阵右侧一列中的r13,r23,r33中哪一个分量的绝对值最大,
如果|r33|最大,Xd增加Vx=ΔXr11+ΔYr21Yd增加Vy=ΔXr12+ΔYr22
如果|r23|最大,Xd增加Vx=ΔXr11±ΔYr31Yd增加Vy=ΔXr12±ΔYr32
r23≥0时,±取+;r23<0时±取-或者r23≥0时,±取-;r23<0时±取+
如果|r13|最大,Xd增加Vx=±ΔXr31+ΔYr21Yd增加Vy=±ΔXr32+ΔYr22
r13≥0时,±取+;r13<0时±取-或者r13≥0时,±取-;r13<0时±取+;
(3)模式3:三维漫游移动
因为智能机显示屏只有二维,单个手指滑动只能进行二维操作,单指划过手机显示屏时ΔX和ΔY与滑动位移成正比;此时操作智能机的用户双指滑动触碰智能机操作实现3维操作:采用双指合拢相当于ΔZ<0,双指拉开相当于ΔZ>0,或者双指合拢相当于ΔZ>0,双指拉开相当于ΔZ<0;当智能机接收到手指控制信息{ΔX,ΔY,ΔZ}的时候,Xd增加Vx=ΔXr11+ΔYr21+ΔZr31 Yd增加Vy=ΔXr12+ΔYr22+ΔZr32 Zd增加Vz=ΔXr13+ΔYr23+ΔZr33;
3)设置漫游观察者在局部坐标系里的位置和方向:
根据漫游观察者的局部坐标系坐标Xd,Yd,Zd,以及步骤1)测定得到的姿态矩阵R,
利用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库中用于设定相机位姿的图形库函数,设置漫游观察者在局部坐标系里的位置和方向:
需要设定以下几个量:
(1)漫游观察者自身观察的垂直视场角θ,就是智能机显示屏上边缘中点的视线方向与下边缘中点的视线方向的夹角;
(2)漫游观察者所在的位置Xd,Yd,Zd,由步骤2)漫游方法修改;
(3)漫游者观察方向{r31,r32r33}或者用户注视点坐标(Xd+r31,Yd+r32,Zd+r33)
(4)漫游者自身向上方向的矢量{-r21,-r22,-r23}
其中步骤(3)和(4)中的rij是智能机显示屏姿态R矩阵中的第i行j列,i=2或3,j=1、2或3;
4)在局部坐标系下渲染绘制三维场景
预先在智能机的显示屏内设置一个3维渲染图层进行三维场景渲染;
这里被绘制的三维场景中的点、线、面和物体模型的几何坐标都要转换成局部坐标系下的坐标[Xi Yi Zi]T,即与漫游者的坐标Xd,Yd,Zd在同一个局部坐标系下;用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库实现局部坐标系下的三维绘图。
智能机摄像头的拍摄方向与屏幕观察方向一致时,可以智能机摄像头拍摄的视频图像为底图,叠加绘制三维场景中的点线面。
在本发明的一个实施例中,在上述实施例的基础上虚拟场景赋予真实的地理坐标,可用于地理信息浏览,地图漫游,虚拟旅游,3D真图游戏场景漫游控制,增强现实,数字城市,智慧城市漫游,房地产漫游等领域。
在所述步骤3)和步骤4)之间可增加如下操作:
(a)获取智能机的高度hs,纬度θs和经度
θs是智能机的纬度,是智能机的经度,由智能机上自带的GPS接收模块获取;
(b)计算智能机所在经纬度的Rv
(c)计算智能机所在纬度θs经度高度hs的地心坐标系坐标Ts
利用大地测量学中经典的转换公式
得到Ts;
其中
hs是智能机离地面高度
Ns是随纬度变化的卯酉圈曲率半径;
a,b是地球椭球的长短轴,是大地测量学中的已知常量;
e是偏心率,是定值;
(d)根据地球上任何一个点的经度纬度θi和高程hi得到该点地心坐标系坐标T0i=[X0i Y0i Z0i]T
利用大地测量学中经典的转换公式
得到T0i;
其中
hi是点离地面高度
Ni是随纬度变化的卯酉圈曲率半径;
a,b是地球椭球的长短轴,是大地测量学中的已知常量;
e是偏心率,是定值;
如果已知一个物体所在经纬度φi和θi,通过本步骤计算出它的地心坐标系坐标T0i;
(e)地心坐标系坐标T0i转换为局部坐标系中的坐标(Xi Yi Zi)T
ΔT是局部坐标系中智能机显示屏的几何中心相对于智能机GPS接收天线的局部坐标系偏移。
在本发明的另一实施例中,可实现便携式智能机任意倾斜摆放条件下显示屏所显示的文字始终是按重力方向水平显示,这将会给用户极好的体验。具体实现为:
在步骤3)和步骤4)之间或在步骤4)之后,将智能机的显示屏设定为二维绘图模式并设置若干个二维标签,针对每一个二维标签,按如下步骤显示:
1)首先确定二维标签的中心位置u,v;
如果标签用于标注三维场景中局部坐标系坐标为(X,Y,Z)的目标,则根据以下公式确定目标显示的中心位置u,v
ZO=r31(X-Xd)+r32(Y-Yd)+r33(Z-Zd)
式中:
cx,cy是智能机显示屏中心点的坐标,若显示屏是矩形,cx=屏宽/2,cy=屏高/2;
r11~r33是R矩阵对应行列的元素;
h是显示屏上下边缘垂直像素长,θ是漫游观察者自身观察的垂直视场角Xd,Yd,Zd是漫游观察者在局部坐标系中的坐标;
如果满足ZO>0且u,v在显示屏范围内,则u,v保持不变,
否则需要按下法修正u,v
若ZO=0则将[u v]替换为从点(cx,cy)出发
按矢量{r11(X-Xd)+r12(Y-Yd)+r13(Z-Zd),r21(X-Xd)+r22(Y-Yd)+r23(Z-Zd)}
方向的射线与显示屏边缘相交的2维点;
若ZO>0则将u,v替换成从点(cx,cy)到点(u,v)的连线与显示屏边缘相交的2维点;
若ZO<0则将u,v替换成从点(u,v)到点(cx,cy)延长线与显示屏边缘相交的2维点;
如果二维标签不是用于标注目标,u,v为显示屏范围内的一个由界面设计者设定的像素坐标,或是用户手指触摸或鼠标点击的显示屏像素坐标;
2)按下述方法(1)或(2)计算矢量{Qx,Qy}
方法(1)Qx=-r23/La Qy=r13/La
其中r23,r13是上述方法中的R矩阵对应行列的元素,
方法(2)利用上述智能机姿态测定方法(1)所述加速度计的前两个输出值ax,ay得到
Qx=-ay/La Qy=ax/La,
3)在二维平面上经过以下矩阵旋转变换以后再绘制二维标签:
二维标签上每一点X,经过上式变换到坐标X’显示出来;
式中r取+是正放显示,取-是倒放显示,标签的水平轴始终平行于地面。
实际上就是以u,v为中心经过旋转变换显示标签。
叠加的内容可以是静止的目标如:商铺、地图上的地名,及线条围成的区域。
也可以是动态的目标如:好友,车船等交通工具。
4)得到局部坐标系坐标(Xi,Yi,Zi)的目标i的标签像坐标ui,vi之后,在智能机屏幕坐标
ui,vi区域附近设置感应区,等待接收用户触摸该区域的事件。当用户在智能机上点击ui,vi附近区域的时候,将执行与目标i相关联的操作。
包括以下操作之一:
1.弹出目标i更详细的广告信息,资费信息,需求信息,人气值;
2.向目标i发端信或者聊天或者打电话;
3.弹出与目标i关联的菜单或对话框;
4.向目标i发送请求;
5.获取目标i的数据;
6.向服务器发请求,使得目标i的人气值增加;
7.向服务器发请求,记录本次操作。
本发明实施例中,三维场景为一个空心的三维形体,三维形体为空心球,空心立方体、空心柱体、空心正多面体或空心锥体,三维形体的内壁以全景图作为纹理进行渲染;所述漫游观察者在虚拟场景中位于三维形体内部的某一点,从三维形体内部观察三维形体的内壁,实现利用智能机显示屏姿态控制全景浏览。该实施例实现了任意姿态拿放智能机时,浏览渲染全景始终保持正确的渲染效果。
本发明实施例标定智能机上的摄像头姿态矩阵的方法,包括以下步骤:
对姿态矩阵Rg进行校正,校正姿态矩阵
其中R=ΔR×Rg;
ΔR为智能机的摄像头姿态矩阵R和智能机姿态矩阵Rg之间的一个固定的方向转换,当摄像头方向和智能机屏幕方向刚好相反时摄像头方向和智能机屏幕方向完全一致时否则采用摄影测量后方交汇法标定ΔR=RARg -1。RA是摄影测量后方交汇法算得的相机姿态矩阵,Rg是根据上述方法测得此时智能机的姿态矩阵。
本发明实施例基于智能机姿态数据的多目视觉定位方法,可实现多张图像对某一物体空间3维定位。具体包括以下步骤:
步骤1:
在N个地理位置点拍摄同一个物体X,其中N≥2,测第i个观察点的以下几个量,其中i∈(1,2,…,N):
(1)在视频帧图像中显示的位置(ui,vi);
(2)拍摄点的地理位置(φi,θi,hi),分别是第i个拍摄点的经度,纬度,高度;
(3)按上述方法测得第i个拍摄点的姿态矩阵Ri;
(4)第i个拍摄点的内部参数焦距长fi,像主点坐标(cxi,cyi);
步骤2:
计算相对于地心的N个姿态矩阵,i=1~N,R0i=RiRvi
其中
步骤3:
利用公式得到N个拍摄点摄像头光心的地心坐标系坐标T0i={Txi,Tyi,Tzi}T i=1~N;其中{ΔTxi,ΔTxi,ΔTzi}T=Rvi TΔTi;ΔTi是摄像头光心相对于GPS接收天线的偏移矢量;是将经度,纬度,高度转换成地心坐标系的X坐标的函数;是将经度,纬度,高度转换成地心坐标系的Y坐标的函数;是将经度,纬度,高度转换成地心坐标系的Z坐标的函数;
步骤4
根据拍摄点N的姿态矩阵R0N,位置[TxN TyN TzN],在图像(单张图像或者视频都可以)中显示的位置坐标(uN,vN),摄像头焦距像素长fN,像主点坐标(cxN,cyN)都满足以下方程
其中r0iab表示姿态矩阵R0i的第a行第b列的元素值;i=1~N一共列2N个方程,解(Xx,Xy,Xz)三个未知数;或采用摄影测量前方交汇方法计算出物体X得到地心坐标系坐标(Xx,Xy,Xz);
最后由大地测量学公式得到地心坐标(Xx,Xy,Xz)对应的经纬度。
本发明基于智能机姿态数据的单目单点定位方法,利用姿态矩阵和物体像坐标实现物体3维坐标与相机3维坐标之间的相互定位,包括步骤:
假设智能机上的相机内部参数矩阵为:
被观察物体是一个直径=D大小的物体,
在智能机上成像的宽度是Δu,高度是Δv,
成像中心点像坐标u,v,
采用上述方法测得智能机姿态矩阵Rg,进一步采用上述方法测得智能机上的相机姿态R=△RRg
以下分两种情况讨论:
(5)若已知智能机摄像头光心局部坐标系坐标是T,
可单目估算出物体的局部坐标系下三维坐标:
其中
(6)反过来若已知物体的局部坐标系下三维坐标X,可以求相机坐标T
这种情况实现了相机的单目定位。
本发明一种基于智能机姿态数据的全景影像生成方法,基于姿态矩阵实现便携式智能机拍摄合成全景图像,以及根据全景图像进行空间定位的方法,具体包括以下步骤:
步骤1、智能机在某一固定点用不同姿态拍摄n张图像,根据上述方法得到智能机摄像头的姿态矩阵分别为R0i,i为0~n‐1之间的整数,n为大于等于1的整数;
步骤2、根据影像重叠区域迭代求解进行精确纠正
(3)提取图像间重合区域的同名点对。
定义Hij=KjRjRi TKi -1
对N张图像之间任意两张i,j进行匹配寻找图像上的同名点对,可以将第i张图像Ii经过透视变换Hij后得到图像Ii’再与第j张图像Ij作细致匹配,这样同名点对没有考虑旋转和平移的干扰,不仅找得多而且找得准。最后将图像Ii上的匹配点坐标经过Hij ‐1逆变换还原成Ii图原始的坐标即可。
(2)根据上一步得到的同名点对匹配关系建立误差e相对于参数集
φ=[... fi qi0 qi1 qi2 qi3 ... fj qj0 qj1 qj2 qj3 ...]T
的数学模型e(φ),
前面得到的R0i转换成4元数qi00,qi01,qi02,qi03,i=0,…,n‐1
以φ=φ0=[... f0i qi00 qi01 qi02 qi03 ... f0j qj00 qj01 qj02 qj03 ...]T作为初值,
采用LM法通过减小误差e,逐步得到精确化相机姿态qi0,qi1,qi2,qi3和焦距参数fi。
最后将精确化的φ中的四元数qi0,qi1,qi2,qi3转化成姿态矩阵Ri,i=0,…,n-1即可。
步骤3、开辟一张宽w高h大小的全景影像;
步骤4、扫描全景影像上每一个像素,针对全景图的每一个像素(x,y)进行如下(1)(2)处理(1)横坐标x转换成纵坐标y转换成θ;
其中w,h是全景图像的宽,高;
(2)依据小孔成像公式
其中fi为相机i焦距像素长度,(cix,ciy)是相机i的像主点,利用Ri将转换成映射到每个相机i的像坐标(ui,vi),若(ui,vi)在图像范围内,则将相机i像坐标(ui,vi)处颜色取出,加权渲染到全景图(x,y)处;权重与(ui,vi)到该图像边缘最短距离有关,距离越短权重越小;若无一个相机的(ui,vi)在其图像范围内,渲染透明色或背景色到(x,y)处;
扫描完全景图像上所有点填充相应的颜色,即完成全景图像的渲染;
或者在步骤2中先将全景图像颜色值全部清0,在步骤3中针对n张图像将全景图像上的相应区每个像素扫描n轮,分n轮依次将加权颜色值累加在全景图的像素上;
步骤4全景图像的三维浏览和检索定位
(C)智能机姿态控制浏览三维全景图像
在虚拟场景中以球心为观察点,球体内壁以全景图作为纹理渲染一个球;设定智能机摄像头观察方向{r31,r32r33},自身向上方向{-r21,-r22,-r23};rij是姿态R矩阵中第i行第j列元素;方法见上文。
(B)全景图建库、检索和定位
为有效利用存储空间,除采用步骤3(1)中的公式外还可用墨卡托转换公式,
转换成全景图像,保持建库和检索的转换方式一致;
建库
提取全景图像的特征点集合,建立与全景图像关联的特征点数据库,库中每个特征点指向其所在的全景图像;
检索
同一地点c≥1张图像合成待检索全景图像并提取渲染区特征点,对每个特征点,查询库中与其最相似特征点所指向的全景图像,按特征点相似程度对库中指向的全景图像进行加权投票,按投票总和大小排序;
将待检索全景图中已渲染区和投票得到的库中全景图对应区域的像素集进行相关匹配计算,相关系数越大越相似;输出投票排序靠前且相关系数大于预设值的结果;如果c=1,
也可根据单张拍摄姿态R,将库中全景图像映射到单张拍摄图像域与单张拍摄图像进行相关匹配;
定位
在已知GPS情况下,检索GPS附近区域的全景图像组成的子集特征库;
服务器数据库将全景图像与其地理位置坐标绑定在一起存储,检索结果是编号为i*的图像,即可在数据库中查找出i*所对应的地理位置。
基于智能机姿态数据的目标方向选择方法,可实现便携式智能机空间目标方向选择、控制、人机交互操作,具体包括以下步骤:
1.定义智能机主方向或载体主方向相对于智能机自身的矢量单位p;
2.采用上述方法获取智能机当前姿态矩阵Rg;
3.计算p┴=Rg Tp为智能机主方向或载体主方向相对于指北坐标系的矢量;
4.计算局部坐标系中的目标矢量vo=O-P
假设局部坐标系中智能机自身坐标为P,目标的坐标为O,则目标矢量vo=O-P;
5.计算矢量p┴与目标矢量vo之间夹角的余弦,或计算两个矢量之间的夹角。
如果夹角的余弦很大,余弦>0.9,接近1,或者夹角偏差的绝对值|dφ|很小则触发智能机与该目标O之间的某一关联事件。如选中该目标,击中该目标、通知该目标、联络该目标等。
可通过两矢量的点积除以|vo|得到夹角dφ的余弦,
cos(dφ)=(p┴点积vo)/|vo|
如果该余弦cos(dφ)>cos(φa)则该目标方向选择事件可触发。
6.在需要与用户的可视化交互情况下,在指北坐标系中实时绘制目标,智能机,和矢量p┴。
计算局部坐标系中智能机主方向矢量与目标矢量之间夹角的方向余弦。根据余弦值大小判定夹角。并且在三维空间或2维空间中绘制出智能机主方向矢量与目标矢量之间方向关系便于人机交互。
具体应用方式有以下几种类型:
方法1姿态指向
用户通过操作智能机所指主方向所形成的矢量与目标矢量之间的夹角保持较小角度,或夹角的余弦>cos(φa),则将触发某一事件。
用户用智能机主方向指向某一目标,如果目标矢量与主方向矢量之间的夹角的余弦>cos(φa)可执行与该目标相关联的事件,如选中该目标,击中该目标、通知该目标、联络该目标等。Φa为最大容忍偏差角。
在三维空间中实时绘制智能机姿态矢量rz与目标矢量vo之间的关系示意图,以便于实现用户的交互控制。
实施方式:
假设智能机头部定义为主方向,头部相对于智能机自身坐标系的矢量是p={0,1,0}T
那么p┴=RTp={r21r22r23}T其中rij是R矩阵第i行j列的元素。
假设智能机右侧定义为主方向,右侧相对于智能机自身坐标系的矢量是p={1,0,0}T那么p┴=RTp={r11r12r13}T
方法2导航服务
将智能机与某一载体,如车船,固定起来,定义载体主方向相对于智能机自身的矢量p。
在地图中实时绘制载体主方向矢量p┴=RTp与目标矢量vo之间的关系示意图。
计算夹角的余弦cos(dφ)>cos(φa)说明方向吻合,再结合距离约束可触发某一事件。
导航位置服务中同时符合位置和方向的目标位于图1中的阴影区。
本方法也可以与运动方向形成的轨迹矢量结合智能机主方向进行融合,进而计算与目标矢量之间的夹角。
实施方式:
摄像头拍摄方向朝前固定安装在车船上,摄像头拍摄方向相对于智能机自身坐标系的矢量是p={0,0,-1}T
那么p┴=RTp={-r31-r32-r33}T其中rij是R矩阵第i行j列的元素。
p┴与vo之间的夹角的余弦=(p┴点积vo)/|vo|
方法3 2D导航服务
上述方法可简化到2维情况,在2维地图上实现2D导航。
这种方法要求智能机水平放置,利用方向传感器的第一个值value[0]得出主方向角矢量与智能机到目标矢量之间的夹角。或两者之间的点积。
在地图中实时绘制智能机主矢量{cosφ,sinφ}与目标矢量vo=O‐P示意图。
其中φ=value[0]+△φvalue[0]是方向传感器的第一个值,value[0]=0表示智能机头部指北,value[0]=90表示智能机头部指东,△φ是在地图平面上,用户定义的主方向相对于智能机主方向之间夹角。
O是局部坐标系中X,Y平面上目标的2维坐标,P是局部坐标系中X,Y平面上的智能机2维坐标。或者建立一个以北x轴,西y轴的2维地图坐标系,O是目标在2维地图上的坐标,P是智能机在2维地图上的坐标。
{cosφ,sinφ}与目标矢量vo之间的夹角<φa说明方向吻合。
或者{cosφ,sinφ}与目标矢量vo点积除以|vo|的结果>cosφa则说明方向吻合。
实施方式:
应用:导航,顺路方向的的士叫车抢单,司机将智能机固定在车上,智能机软件只可选择cos(dφ)>cos(φa)的乘客,选出来的都是顺路乘客。
2D导航的具体实施方式:
要求智能机水平放置,利用方向传感器的第一个值value[0]得出主方向角矢量与智能机到目标矢量之间的夹角,或两者之间的点积。
计算2维地图上的目标矢量vo={vox,voy}的方位角φvo可调用反三角函数atan2(voy,vox)实现,计算φ角与φvo角形成的矢量在平面上的夹角
实施方法,采用但不局限于以下方法:
φ角与φvo之间的夹角可以按以下方式计算:
一般采用2维点积的方式计算φ角与φvo之间的夹角余弦=({cosφ,sinφ}点积vo)/|vo|,若该余弦值>cos(φa)认定为方向一致。
本发明实施例基于智能机姿态数据的视频影像实时纠正方法,实现了基于姿态矩阵的智能机的视频图像实时纠正,能保持生成纠正的图像中的水平线始终对应客观场景的地平线,可用于颠簸的路面,海面场景视频图像的纠正。对于接近垂直于地面拍摄的情况,生成纠正的图像中的水平朝右方向始终对应客观场景中的局部坐标系的x轴(北),可用于无人机地面图像拼接。该方法主要包括以下步骤:
1.采用上述方法获取智能机拍摄视频的每一帧对应的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R。△R是摄像头相对于智能机的转换矩阵。
2.根据实际应用需求R矩阵分解为R=RτR_从而得到矩阵Rτ,相机的拍摄姿态R不规则,期待得到用虚拟姿态R_作为拍摄姿态矩阵得到的标准图像。计算矩阵Rτ的方法有三类
(a)根据实际应用中R_的特性直接得到,再通过Rτ=R R_T得出Rτ
详见下文:标准对地坐标系下的影像正射纠正
(b)根据实际应用中Rτ和R_的特性列方程Rτ=R R_T或R=RτR_求解得到Rτ中的几个重要元素的值,从而构建Rτ。
详见下文:任意R矩阵的Z轴旋转分解出水平矩阵
(c)根据Rτ和R_的性质列方程Rτ=R R_T或R=RτR_求解得到R_中的几个重要元素的值,从而构建R_,最后通过Rτ=R R_T得出Rτ
详见下文:对地坐标系下的影像正射纠正
3.对图像I经过H=K2Rτ TK-1的Homograph变换得到I’
其中是拍摄相机的内部参数矩阵,f是焦距的像素长度,cx,cy是相机主点坐标。对于理想相机cx,cy是图像的中心点,cx=w/2,cy=h/2,w,h是原始图像I的宽和高。
是纠正以后虚拟相机的内部参数矩阵,f2是纠正以后虚拟相机的焦距的像素长度,cx2,cy2是纠正以后虚拟相机主点坐标。
注:
-对于理想相机cx2,cy2是纠正以后虚拟相机图像的中心点,cx2=H/2,cy2=H/2,W,H是图像纠正以后虚拟相机的宽高。
-通常f2选取与f相等,而W,H的大小根据实际应用需求选取,有时为避免纠正后图像出界而选取W>w H>h
-如果H=K2Rτ TK-1中的第三行元素是[001],那么Homograph透视变换可简化成仿射变换从而提高图像变换速度。
下面具体给出前述三类计算矩阵Rτ的应用案例和方法
(a)标准对地坐标系下的影像正射纠正
视频摄像机往下拍地面上的场景,但由于各种原因,视线不可能完全垂直于地面。为得到垂直于地面的图像,先通过以下方法计算Rτ
R=RτR_中的
最后根据公式H=K2Rτ TK-1实时将原始视频帧影像纠正成垂直于地面拍摄的效果,这个变换效果是图像I┴始终是垂直于地面往下拍的效果,若姿态矩阵R是相对于局部指北坐标系的,图像I┴的右侧始终指向北,下侧始终指东。垂直于地面的图像实际上可直接映射到地理信息系统地图平面上,因此本技术实现了从视频图像到地理信息系统地图平面上的实时映射。
(b)任意R矩阵的Z轴旋转分解出水平矩阵
对于红外末制导导引头图像获取,或者在颠簸的车、船、飞机上安装有摄像头的视频捕获到视频帧图像的同时,将该帧对应的姿态数据保留并加以处理,保证载体获取的图像始终是保持水平正方的,这样目标识别程序就不用考虑目标的旋转了,这会极大提高目标识别的效率和准确性,也能使得用户获取的视频更稳定更准确。本方法涉及第(b)类计算R的方法如下:
首先设
由R_=Rτ TR列方程得到
针对矩阵第1行第3列元素等于0列方程
r13cosτ+r23sinτ=0
再考虑到{cosτ,sinτ}是2维单位向量,解得
或
有两个解是正常的,因为旋转两个角度(还有一个相机底朝天,两者刚好相差180度)都能保证本体x轴保持水平于地面。因此必须保证本体y轴朝下,也就是R_的第2行第3列元素值<0,即列约束不等式:
-r13sinτ+r23cosτ<0
解得代入上式得到
另一个解不满足条件舍去。
最后根据公式H=K2Rτ TK-1实时将原始视频帧影像纠正成水平于地平面拍摄的效果。
(c)对地坐标系下的影像正射纠正
方法(a)得到的垂直纠正图像不会跟随摄像头绕垂直于地面方向轴的旋转而旋转,为了实现这个效果采用如下方法:
假设摄像头旋转了τ角,
R=RτR_中的
列方程
解得:或
(d)最终得到:
(e)
最后根据公式H=K2Rτ TK‐1实时将原始视频帧影像纠正成垂直于地面拍摄的效果,这
个变换效果是图像I┴会跟随摄像头绕垂直于地面方向轴的旋转而旋转。
本发明实施例基于姿态数据的智能机单像定位方法,实现了根据姿态矩阵和图像上2个点的像坐标对相机自身进行定位,具体包括以下步骤:
假设相机或摄像机内参数据f和cx,cy已知,f是焦距的像素长度,cx,cy是相机主点坐标。内参矩阵
单像目标定位整体实施步骤如下:
1.搜集采集物方点,转化成局部坐标系坐标,如指北为x轴,指西为y轴;
2.采用上述方法获取智能机的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R。△R是摄像头相对于智能机的转换矩阵;
3.拍摄一张图像,自动提取其中的多个特征点,通过匹配算法得到与物点对应的n对物像同名点。
n个物方点的坐标是Xi=[Xix,Xiy,Xiz]T i=1,…,n
对应n个像点坐标是[ui vi]T i=1,…,n
4.分无错和容错2种情况计算相机在局部坐标系下的坐标T:
(1)若确认多个特征点无错误,则
采用数学模型解方程得到自身在局部坐标系下坐标Tx,Ty,Tz
其中
进而得到相机位置T,最大集ζ为n个点对组成的全集。
(2)若不确认多个特征点是否全部正确,采用Ransac容错算法,通过共线方程模型随机选取两对点n=2,根据模型式(HH2)计算相机位置T,并通过共线方程zi[u’i v’i 1]T=KR(Xi-T)验证T,
通过KR(Xi-T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程。选取符合共线方程点数最大集ζ并计算最大集ζ对应的T*。单目多点容错RANSAC算法流程如下:
8.从n个像点中随机挑选出2个距离足够大的像点,一般至少要大于容忍误差error的2倍;
9.挑选出来的2个像点与物点对应形成2对物象同名点,按式(HH2)计算智能机位置T;
10.用T验证所有n对物象同名点的共线方程对应关系,共线方程KR(Xi‐T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程,统计符合共线方程的个数i_in,如果i_in数量超过前期的数量nmax则记录本组满足共线方程容忍误差数量最大的点集ζmax,并刷新nmax=i_in;
11.更新迭代次数k+1→k
12.回到第1步,直到满足ransac概率收敛条件(1‐(nmax/n)2)k<pe pe是RANSAC容忍错误概率,一般设为10‐2~10‐20之间的一个数值。
13.将前面搜索得到的最优内点集合ζmax搜集起来进行最后一次多点最小2乘计算,按公式(HH2)计算得到Tbest得到最终结果。
5.如需进一步提高精度,可基于数学模型式(HH2)对ζ集中多点进行LM优化。以期望得到更精确的解。
LM优化中一般是固定所有物点坐标Xix,Xiy,Xiz,i=1,…,n优化相机的位置T和姿态R
6.如需要得出目标的经纬度,可根据局部坐标系原点的经纬度将相机在局部坐标系下的坐标Tx,Ty,Tz转换成大地经纬度。
单像双点定位如图2所示。
说明:
真正实现了基于场景图像的室内定位,用于商场室内定位,导航,基于位姿的电子商务商铺广告发布。
本发明基于智能机姿态数据的相对定位算法,实现了基于姿态矩阵的双目图像或多目图像之间相对定位,传统的方法缺少相机姿态信息需要给初值,而本方法不需要给初值直接SVD解方程得到结果。包括以下步骤:
假设相机1,2之间有i=1..n≥2对同名点u1i,v1i~u2i,v2i。
其中R1,R2是智能机相机在拍摄的1,2两个地点测出来的姿态矩阵数据。
已知相机1的内参矩阵相机2的内参矩阵其中cxi,cyi是相机i的像素主点坐标,fi是相机i的焦距像素长。
已知两相机之间的距离是L;
可以计算相机2相对于相机1的位移矢量T。
方法步骤如下:
4.用上述方法计算智能机上相机的姿态Rg1,Rg2
计算R1=△RRg1R2=△RRg2
进一步得到R=R2R1 T
5.构建矩阵A
其中
uji*=Ki -1ui=[uji*x uji*y uji*z]T i=1,2 j=1..n
ujiR*=Ruji*=[ujiR*x ujiR*y ujiR*z]T
3.如果确认n对点都是正确的,则
求约束||t3x1||=1下Anx3t3x1=0的解
或采用SVD分解得到Anx3=UnxnWnx3VT 3x3,
分解出来的V的最后1列的矢量,即对应于最小奇异值的特征矢量,即为t
T=-LRTt得到结果,结束
否则继续进行以下步骤
4.设置迭代初值nmax=0 k=1
5.随机挑选A矩阵中的2行,构建A2x3
就是求约束||t2||=1下A2x3t2=0的解
或采用SVD分解得到A2x3=U2x2W2x3VT 3x3,
分解出来的V的最后1列的矢量即为t2
6.将t2=[ttx tty ttz]T代入第j=1..n个点,采用式(AB)验证点j是否是内点,
(uj2*zuj1R*y-uj2*yuj1R*z)ttx+(uj2*xuj1R*z-uj2*zuj1R*x)tty+(uj2*yuj1R*x-uj2*xuj1R*y)ttz<ε
(AB)
其中ε表示最大容忍误差物方长度,暂且相对于两相机之间的距离=1而言。
满足式(AB)则点j是内点,如果满足内点的数量nt超过最佳值nmax则ζt-->ζ nt-->nmax
7.如果(1-(nmax/n)2)k<0.00001错误率足够小,退出迭代进入步骤9.
8迭代次数k增加1,回到步骤5反复迭代;
9.最后采用最小二乘法针对最大内点集ζ重新计算一次最优t,
求约束||t3x1||=1下An’x3t3x1=0的解其中n’=nmax
或采用SVD分解得到An’x3=Un’xn’Wn’x3VT 3x3,
分解出来的V的最后1列矢量,即对应于最小奇异值的特征矢量,即为t
最终得到T=-LRTt。
本方法推广到C个相机,N个点的情况,构建矩阵
U(ij)k=[U(ij)k1 U(ij)k2 U(ij)k3]k=1,2
Rc(ij)ab是指第i个点对应的第j个像片的相机的姿态矩阵的a行b列uc(ij)是第i个点对应的第j个像片上的像点坐标。cx,cy是相机主点坐标,f是相机的焦距。
对矩阵A进行SVD分解得到A=UWVT,V中最后一个非零矢量
X=[T1x T1y T1z...Tcx Tcy Tcz X1 Y1 Z1 ...XN YN ZN]T的每一个分量对应C个相机的位置T1x,T1y,T1z,…,Tcx,Tcy,Tcz和N个点的坐标X1,Y1,Z1,…,XN,YN,ZN。
说明,或研究背景
以前在未知相机姿态数据的情况下,两相机之间相对定向计算是需要至少5对点的,而本发明中在已知相机姿态的前提下,只需要至少2对即可计算相对位置了,可应用于,序列图像三维重建,基于图像的室内外定位等领域。
具体实施方式
本算法在得到相对姿态T以后可进一步虚拟出物方点,然后通过多相机LM算法优化R,T数据,使得精度进一步提高。
本发明基于智能机姿态的目标识别算法,可解决任意姿态拍摄视频仍能准确识别目标的难题,而不必考虑目标大角度旋转,仍能实现高效准确的目标检测。
该方法包括以下步骤:
通过H=K2Rτ TK-1对原图像I进行纠正得到I'然后对纠正图像I'进行处理,处理得到I'图像上的坐标集xi,yi,i=1,...,N再通过反纠正H-1的方法得到坐标集在原图上映射的坐标xi',yi,'
I'图像处理的方式一般是目标识别,摄影测量,坐标检测。
具体实施方式:
1.传感器纠正目标识别算法
首先根据传感器得到的R矩阵对原始图I进行H=K2Rτ TK-1标准化纠正得到标准纠正图I’,然后对I’图像进行目标检测、跟踪(如采用行扫描box方法)得到它对应的目标框r,目标框r相对于标准模板的平移是rx,ry,
矩形块r首先经过平移变换Ht映射到标准图上,然后再经过H-1变换映射到原始图上。
因此目标框r相对于原始图像I的H变换为
r*=H-1Htr
算法原理示意图如图3所示,由此定义H=H-1Ht实现了从标准目标矩形框r(计量单位像素)到原始图像4边形r*。
学习的时候扣选目标一定要从纠正标准图里选择矩形框。这样就能保证匹配识别都是在纠正标准图域进行的,这不需要考虑大角度旋转,大大减轻了图像目标检测的计算负荷。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (14)
- 一种智能机姿态测定方法,其特征在于,包括以下步骤:1)定义局部坐标系:局部坐标系是指原点在智能机,Z轴指向地球表面法方向,Y轴或X轴与纬线相平行的坐标系;或局部坐标系原点位于地球上任意一点,Z轴与重力方向一致,北代表局部坐标系X轴,西代表局部坐标系Y轴;2)测定智能机姿态矩阵Rg,Rg是一个相对于局部坐标系的3x3单位正交矩阵,Rg由下述方法之一获得:方法(1)采用加速度传感器与磁力计传感器或方向传感器如果智能机有加速度传感器,且有磁力计传感器或方向传感器,用以下公式(1)计算Rg其中vax,vay,vaz是智能机加速度传感器测出的x,y,z三个方向的值,或是这三个值经滤波的结果;Ra是加速度传感器相对于智能机的姿态转换矩阵;当az≤0时,s=-1,az>0时,s=1;若采用方向传感器:通过方向传感器获取方位角将其带入公式(1)计算Rg;若采用磁力计传感器:计算其中Rm是磁力传感器相对于智能机的姿态转换矩阵;{vmx,vmy,vmz}是磁力传感器检测到 的三个值或这三个值经滤波的结果;再计算利用磁力传感器计算方位角的三角函数为:带入公式(1)计算Rg;方法(2)采用旋转矢量传感器如果智能机配置有旋转矢量传感器,若检测到旋转矢量传感器只有3个数据values[0],values[1],values[2],则采用以下公式得到q1=values[0],q2=values[1],q3=values[2],若检测到旋转矢量传感器有4个数据values[0],values[1],values[2],values[3]则采用以下公式得到q1=values[0],q2=values[1],q3=values[2],q0=values[3]则Rg0矩阵为:根据智能机旋转矢量传感器坐标系定义的不同,得到Rg=Rg0RL T,其中RL T是局部坐标系与旋转矢量传感器坐标系之间的变换矩阵;方法(3)采用陀螺仪、加速度传感器与磁力传感器迭代第1步选用方法(1)或方法(2)计算Rg的初值,将Rg转换成4元数q0,q1,q2,q3作为以下第2-7步迭代的初值;第2步设定exInt,eyInt,ezInt原始值为0,即exInt=0,eyInt=0,ezInt=0;第3步根据接收到的磁力计矢量{mx,my,mz},得到正确磁场矢量{wx,wy,wz},先将矢量{mx,my,mz}替换成将其单位化以后的矢量得到局部坐标系下磁场的正确的磁场方向矢量{bx,0,bz},bz=hz;其中:hx=2×mx×(0.5-q2×q2-q3×q3)+2×my×(q1×q2-q0×q3)+2×mz×(q1×q3+q0×q2);hy=2×mx×(q1×q2+q0×q3)+2×my×(0.5-q1×q1-q3×q3)+2×mz×(q2×q3-q0×q1);hz=2×mx×(q1×q3-q0×q2)+2×my×(q2×q3+q0×q1)+2×mz×(0.5-q1×q1-q2×q2);再转换到正确磁场矢量{wx,wy,wz},其中wx=2×bx×(0.5-q2×q2-q3×q3)+2×bz×(q1×q3-q0×q2);wy=2×bx×(q1×q2-q0×q3)+2×bz×(q0×q1+q2×q3);wz=2×bx×(q0×q2+q1×q3)+2×bz×(0.5-q1×q1-q2×q2);第4步根据接收到的加速度传感器数据ax,ay,az,和{wx,wy,wz}得到误差矢量{ex,ey,ez},并计算其累计值exInt,eyInt,ezInt;具体为:先将矢量{ax,ay,az}替换成将其单位化以后的矢量计算vx=2*(q1*q3-q0*q2);vy=2*(q0*q1+q2*q3);vz=q0*q0-q1*q1-q2*q2+q3*q3;ex=(ay×vz-az×vy)+(my×wz-mz×wy);ey=(az×vx-ax×vz)+(mz×wx-mx×wz);ez=(ax×vy-ay×vx)+(mx×wy-my×wx);计算误差累计值:将exInt替换为exInt+ex×Ki;eyInt替换为eyInt+ey×Ki;ezInt替换为ezInt+ez×Ki;其中Ki为一可调节的正系数,Ki在0.00001至0.5中任意选取;若没有磁力计,则第3步不执行,同时将该第4步中的ex=(ay×vz-az×vy)+(my×wz-mz×wy);ey=(az×vx-ax×vz)+(mz×wx-mx×wz);ez=(ax×vy-ay×vx)+(mx×wy-my×wx);改为ex=ay×vz-az×vy;ey=az×vx-ax×vz;ez=ax×vy-ay×vx;第5步根据误差矢量{ex,ey,ez}及其累计值纠正陀螺仪数据{gx0,gy0,gz0}假设智能机读出当前的一组陀螺仪数据为{gx0,gy0,gz0},gx=gx0+Kp×ex+exInt;gy=gy0+Kp×ey+eyInt;gz=gz0+Kp×ez+ezInt;其中Kp为一可调节的正系数,Kp在0.000001至20.0中任意选取;第6步根据陀螺仪数据gx,gy,gz修正四元数随着不断接收到陀螺仪数据gx,gy,gz,对4元数按如下方式修正:q0替换为q0+(-q1×gx-q2×gy–q3×gz)×halfT;q1替换为q1+(q0×gx-q3×gy+q2×gz)×halfT;q2替换为q2+(q3×gx+q0×gy-q1×gz)×halfT;q3替换为q3+(-q2×gx+q1×gy+q0×gz)×halfT;其中halfT为修正周期,halfT=0.00001~-10.0;第7步输出Rg矩阵和四元数将四元数{q0,q1,q2,q3}单位化成输出;4元数转Rg矩阵公式如下第8步回到第3步继续接收陀螺仪运动数据更新姿态4元数q0~q3,在循环的过程中每次到第7步都能输出当前的Rg矩阵和四元数。
- 一种智能机显示屏的姿态测定方法,其特征在于,包括以下步骤:智能机显示屏的姿态矩阵为rx是智能机显示屏像素阵列x轴方向在局部坐标系中的分量;ry是智能机显示屏像素阵列y轴方向在局部坐标系中的分量;rz是垂直于智能机显示屏表面方向向智能机显示屏内部朝前看的视线方向在局部坐标系中的分量;1)按权利要求1的方法测定智能机姿态,并得到智能机的姿态矩阵Rg;2)计算R=ΔR×Rg,ΔR为智能机显示屏姿态矩阵R相对于智能机姿态矩阵Rg的一个固定的方向的转换,智能机自身Z轴定义为智能机加速度传感器的z轴方向,当显示屏观察方向和智能机自身Z轴方向刚好相反时当显示屏观察方向和智能机自身Z轴方向完全一致时否则采用摄影测量方法标定ΔR=RARg -1,RA是摄影测量后方交汇法算得的摄像头姿态矩阵,Rg是权利要求1方法测得此时智能机的姿态矩阵。
- 一种基于智能机姿态的虚拟现实漫游方法,其特征在于,包括以下步骤:1)采用权利要求2所述的方法得到智能机显示屏的姿态矩阵R;2)根据姿态矩阵R移动控制漫游观察者在局部坐标系中的位置:定义漫游观察者是在局部坐标系中的一个具备自身位置、姿态且用于观察周边场景的对象;智能机显示屏所渲染的场景就是漫游观察者在局部坐标系中所应看到的场景图像;定义漫游观察者在局部坐标系中的坐标为(Xd,Yd,Zd),采用以下方法控制漫游观察者在虚拟场景中移动:a)获取智能机漫游者手指在屏幕本体上的滑动数据;b)在滑动数据是漫游者单指相对于智能机屏幕本体滑动矢量△X,△Y的情况下,如果|r33|>|r13|且|r33|>|r23|,其中rij是R矩阵的i行j列元素值,则单指滑动后,在局部坐标系中的定位坐标(Xd,Yd)的改正数(vx,vy),vx=ΔXr11+ΔYr21vy=ΔXr12+ΔYr22;否则:c)在滑动数据是漫游者双指做拉开或合拢操作所获得的情况下,则得到拉开和合拢之前双指之间的屏幕距离,以及拉开和合拢之后双指之间的屏幕距离;通过前后两次距离的差异修正Zd;3)设置漫游观察者在局部坐标系里的位置和方向:根据漫游观察者的局部坐标系坐标(Xd,Yd,Zd),以及步骤1)测定得到的姿态矩阵R,利用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库中用于设定相机位姿的图形库函数,设置漫游观察者在局部坐标系里的位置和方向:需要设定以下几个量:(1)漫游观察者自身观察的垂直视场角θ,就是智能机显示屏上边缘中点的视线方向与下边缘中点的视线方向的夹角;(2)漫游观察者所在的位置(Xd,Yd,Zd),并根据步骤2)的漫游方法进行修正;(3)漫游者观察方向{r31,r32r33}或者用户注视点坐标(Xd+r31,Yd+r32,Zd+r33)(4)漫游者自身向上方向的矢量{-r21,-r22,-r23}其中步骤(3)和(4)中的rij是智能机显示屏姿态R矩阵中的第i行j列,i=2或3,j=1、2或3;4)在局部坐标系下渲染绘制三维场景预先在智能机的显示屏内设置一个3维渲染图层进行三维场景渲染;被绘制的三维场景中的点、线、面和物体模型的几何坐标都要转换成局部坐标系下的坐标[Xi Yi Zi]T,即与漫游者的坐标(Xd,Yd,Zd)在同一个局部坐标系下;用OpenGL,OpenES,OS X OpenGL,Direct3D或osg绘图软件库实现局部坐标系下的三维绘图;智能机摄像头的拍摄方向与屏幕观察方向一致时,可以智能机摄像头拍摄的视频图像为底图,叠加绘制三维场景中的点线面。
- 根据权利要求3所述的方法,其特征在于:在所述步骤3)和步骤4)之间还包括步骤:(a)获取智能机的高度hs,纬度θs和经度其中θs是智能机的纬度,是智能机的经度,由智能机上自带的GPS接收模块获取;(b)计算智能机所在经纬度的Rv(c)计算智能机所在纬度θs经度高度hs的地心坐标系坐标Ts,利用大地测量学中经典的转换公式得到Ts,其中hs是智能机离地面高度;Ns是随纬度变化的卯酉圈曲率半径;a,b是地球椭球的长短轴,是大地测量学中的已知常量;e是偏心率,是定值;(d)根据地球上任何一个点的经度纬度θi和高程hi得到该点地心坐标系坐标T0i=[X0i Y0iZ0i]T利用大地测量学中经典的转换公式得到T0i;其中hi是点离地面高度;Ni是随纬度变化的卯酉圈曲率半径;a,b是地球椭球的长短轴,是大地测量学中的已知常量;e是偏心率,是定值;如果已知一个物体所在经纬度和θi,通过本步骤计算出它的地心坐标系坐标T0i;(e)地心坐标系坐标T0i转换为局部坐标系中的坐标(Xi Yi Zi)T其中ΔT是局部坐标系中智能机显示屏的几何中心相对于智能机GPS接收天线的局部坐标系偏移。
- 根据权利要求3所述的方法,其特征在于:在步骤3)和步骤4)之间或在步骤4)之后,还包括步骤:将智能机的显示屏设定为二维绘图模式并设置若干个二维标签,针对每一个二维标签,按如下步骤显示:1)首先确定二维标签的中心位置(u,v);如果标签用于标注三维场景中局部坐标系坐标为(X,Y,Z)的目标,则根据以下公式确定目标显示的中心位置(u,v)ZO=r31(X Xd)r32(Y Yd)r33(Z Zd)式中:(cx,cy)是智能机显示屏中心点的坐标,若显示屏是矩形,cx=屏宽/2,cy=屏高/2;r11~r33是R矩阵对应行列的元素;h是显示屏上下边缘垂直像素长,θ是漫游观察者自身观察的垂直视场角;(Xd,Yd,Zd)是漫游观察者在局部坐标系中的坐标;如果满足ZO>0且中心位置(u,v)在显示屏范围内,则中心位置(u,v)保持不变,否则需要按下法修正(u,v);若ZO=0则将中心位置(u,v)替换为从点(cx,cy)出发按矢量{r11(X-Xd)+r12(Y-Yd)+r13(Z-Zd),r21(X-Xd)+r22(Y-Yd)+r23(Z-Zd)}方向的射线与显示屏边缘相交的2维点;若ZO>0则将中心位置(u,v)替换成从点(cx,cy)到点(u,v)的连线与显示屏边缘相交的2维点;若ZO<0则将中心位置(u,v)替换成从点(u,v)到点(cx,cy)延长线与显示屏边缘相交的2维点;如果二维标签不是用于标注目标,中心位置(u,v)为显示屏范围内的一个由界面设计者设定的像素坐标,或是用户手指触摸或鼠标点击的显示屏像素坐标;2)按下述方法(1)或(2)计算矢量{Qx,Qy}方法(1)Qx=-r23/La Qy=r13/La其中r23,r13是权利要求2所述的方法中的R矩阵对应行列的元素,方法(2)利用权利要求1方法(1)加速度传感器的前两个输出值ax,ay得到Qx=-ay/La Qy=ax/La,3)在二维平面上经过以下矩阵旋转变换以后再绘制二维标签:二维标签上每一点X,经过上式变换到坐标X’显示出来;式中±取+是正放显示,取-是倒放显示,标签的水平轴始终平行于地面。即以二维标签的中心位置(u,v)为中心经过旋转变换显示标签;叠加的内容为静止的目标或者动态的目标。4)得到局部坐标系坐标(Xi,Yi,Zi)的目标i的标签像坐标(ui,vi)之后,在智能机屏幕坐标(ui,vi)区域附近设置感应区,等待接收用户触摸该区域的事件,当用户在智能机上点击(ui,vi)附近区域的时候,将执行与目标i相关联的操作。
- 根据权利要求3所述的方法,其特征在于:所述三维场景为一个空心的三维形体,三维形体为空心球,空心立方体、空心柱体、空心正多面体或空心锥体,三维形体的内壁以全景图作为纹理进行渲染;所述漫游观察者在虚拟场景中位于三维形体内部的某一点,从三维形体内部观察三维形体的内壁,实现利用智能机显示屏姿态控制全景浏览。
- 一种基于智能机姿态数据的多目视觉定位方法,其特征在于,包括以下步骤:步骤1:在N个地理位置点拍摄同一个物体X,其中N≥2,测第i个观察点的以下几个量,其中i∈(1,2,…,N):(1)在视频帧图像中显示的位置(ui,vi);(2)拍摄点的地理位置分别是第i个拍摄点的经度,纬度,高度;(3)按权利要求1的方法测得第i个拍摄点的摄像头姿态矩阵Ri(4)第i个拍摄点的内部参数焦距长fi,像主点坐标(cxi,cyi);步骤2:计算相对于地心的N个姿态矩阵,i=1~N,R0i=RiRvi其中步骤3:利用公式得到N个拍摄点摄像头光心的地心坐标系坐标T0i={Txi,Tyi,Tzi}T i=1~N;其中{ΔTxi,ΔTxi,ΔTzi}T=Rvi TΔTi;ΔTi是摄像头光心相对于GPS接收天线的偏移矢量;是将经度,纬度,高度转换成地心坐标系的X坐标的函数;是将经度,纬度,高度转换成地心坐标系的Y坐标的函数;是将经度,纬度,高度转换成地心坐标系的Z坐标的函数;步骤4根据拍摄点N的姿态矩阵R0N,位置[TxN TyN TzN],在图像中显示的位置坐标(uN,vN),摄像头焦距像素长fN,像主点坐标(cxN,cyN)都满足以下方程其中r0iab表示姿态矩阵R0i的第a行第b列的元素值;i=1~N一共列2N个方程,解(Xx,Xy,Xz)三个未知数;或采用摄影测量前方交汇方法计算出物体X得到地心坐标系坐标(Xx,Xy,Xz);最后由大地测量学公式得到地心坐标(Xx,Xy,Xz)对应的经纬度。
- 基于智能机姿态数据的单目单点定位方法,其特征在于,包括步骤:假设智能机上的相机内部参数矩阵为:被观察物体是一个直径=D大小的物体,在智能机上成像的宽度是Δu,高度是Δv,成像中心点像坐标(u,v),采用权利要求1所述的方法测得智能机姿态矩阵Rg,并测得智能机上的摄像头姿态矩阵R=△RRg包括以下两种情况:(1)若已知智能机摄像头光心局部坐标系坐标是T,可单目估算出物体的局部坐标系下三维坐标:其中(2)若已知物体的局部坐标系下三维坐标X,可以求相机坐标T该情况实现了相机的单目定位。
- 一种基于智能机姿态数据的全景影像生成方法,其特征在于,包括以下步骤:步骤1、智能机在某一固定点用不同姿态拍摄n张图像,根据权利要求1计算智能相机的姿态矩阵,根据智能相机的姿态矩阵再计算智能机摄像头姿态矩阵,分别为R0i,i为0~n‐1之间的整数,n为大于等于1的整数;步骤2、根据影像重叠区域迭代求解进行精确纠正(1)提取图像间重合区域的同名点对定义Hij=KjRjRi TKi -1对N张图像之间任意两张i,j进行匹配寻找图像上的同名点对,可以将第i张图像Ii经过透视Hij变换后得到图像Ii’再与第j张图像Ij作细致匹配,最后将图像Ii上的匹配点坐标经过Hij ‐1逆变换还原成Ii图原始的坐标;(2)根据上一步得到的同名点对匹配关系建立误差e相对于参数集φ=[...fiqi0qi1qi2qi3...fj qj0qj1qj2qj3...]T的数学模型e(φ),前面得到的智能机摄像头姿态矩阵R0i转换成4元数qi00,qi01,qi02,qi03,i=0,…,n‐1以φ=φ0=[...f0i qi00qi01qi02qi03...f0j qj00qj01qj02qj03...]T作为初值,采用LM法通过减小误差e,逐步得到精确化相机姿态qi0,qi1,qi2,qi3和焦距参数fi;最后将精确化的φ中的四元数qi0,qi1,qi2,qi3转化成姿态矩阵Ri,i=0,…,n-1;步骤3、开辟一张宽w高h大小的全景影像,扫描全景影像上每一个像素,针对全景图的每一个像素(x,y)进行如下(1)(2)处理:(1)横坐标x转换成,纵坐标y转换成θ;其中w,h是全景图像的宽,高;(2)依据小孔成像公式其中fi为相机i焦距像素长度,(cix,ciy)是相机i的像主点;利用Ri将转换成映射到每个相机i的像坐标(ui,vi),若(ui,vi)在图像范围内,则将相机i像坐标(ui,vi)处颜色取出,加权渲染到全景图(x,y)处;权重与(ui,vi)到该图像边缘最短距离有关,距离越短权重越小;若无一个相机的(ui,vi)在其图像范围内,渲染透明色或背景色到(x,y)处;扫描完全景图像上所有点填充相应的颜色,完成全景图像的渲染;或者,在步骤2中先将全景图像颜色值全部清0,在步骤3中针对n张图像将全景图像上的相应区每个像素扫描n轮,分n轮依次将加权颜色值累加在全景图的像素上;步骤4全景图像的三维浏览和检索定位(A)智能机姿态控制浏览三维全景图像在虚拟场景中以球心为观察点,球体内壁以全景图作为纹理渲染一个球;设定智能机摄像头观察方向{r31,r32r33},自身向上方向{-r21,-r22,-r23};rij是姿态矩阵R中第i行第j列元素;(B)全景图建库、检索和定位为有效利用存储空间,除采用步骤3(1)中的公式外还可用墨卡托转换公式,转换成全景图像,保持建库和检索的转换方式一致;建库提取全景图像的特征点集合,建立与全景图像关联的特征点数据库,库中每个特征点指向其所在的全景图像;检索同一地点c≥1张图像合成待检索全景图像并提取渲染区特征点,对每个特征点,查询库中与其最相似特征点所指向的全景图像,按特征点相似程度对库中指向的全景图像进行加权投票,按投票总和大小排序;将待检索全景图中已渲染区和投票得到的库中全景图对应区域的像素集进行相关匹配计算,相关系数越大越相似;输出投票排序靠前且相关系数大于预设值的结果;如果c=1,也可根据单张拍摄姿态矩阵R,将库中全景图像映射到单张拍摄图像域与单张拍摄图像进行相关匹配;定位在已知GPS情况下,检索GPS附近区域的全景图像组成的子集特征库;服务器数据库将全景图像与其地理位置坐标绑定在一起存储,检索结果是编号为i*的图像,即可在数据库中查找出i*所对应的地理位置。
- 一种基于智能机姿态数据的目标方向选择方法,其特征在于,包括以下步骤:1.定义智能机主方向或载体主方向相对于智能机自身的矢量单位p;2.采用权利要求1所述的方法获取智能机当前姿态矩阵Rg;3.计算p┴=Rg Tp为智能机主方向或载体主方向相对于指北坐标系的矢量;4.计算局部坐标系中的目标矢量vo=O-P,假设局部坐标系中智能机自身坐标为P,目标的 坐标为O,则目标矢量vo=O-P;5.计算矢量p┴与目标矢量vo之间夹角的余弦,或计算两个矢量之间的夹角;如果夹角的余弦>0.9,或者夹角偏差的绝对值|dφ|很小则触发智能机与该目标O之间的某一关联事件;通过两矢量的点积除以|vo|得到夹角dφ的余弦,cos(dφ)=(p┴点积vo)/|vo|如果该余弦cos(dφ)>cos(φa),φa为预设值,则该目标方向选择事件可触发;6.在需要与用户的可视化交互情况下,在指北坐标系中实时绘制目标、智能机和矢量p┴;计算局部坐标系中智能机主方向矢量与目标矢量之间夹角的方向余弦,根据余弦值大小判定夹角,并且在三维空间或二维空间中绘制出智能机主方向矢量与目标矢量之间的方向关系,便于人机交互。
- 一种基于智能机姿态数据的视频影像实时纠正方法,其特征在于,包括以下步骤:1.采用权利要求1的方法计算智能机拍摄视频的每一帧图像对应的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R,△R是摄像头相对于智能机的转换矩阵;2.将摄像头的姿态矩阵R分解为R=RτR_从而得到矩阵Rτ,相机的拍摄姿态R不规则,期待得到用虚拟姿态R_作为拍摄姿态矩阵得到的标准图像;3.对智能机拍摄视频的每一帧图像I经过H=K2Rτ TK-1的Homograph变换得到I’;其中是拍摄相机的内部参数矩阵,f是焦距的像素长度,(cx,cy)是相机主点坐标;对于理想相机(cx,cy)是图像的中心点,cx=w/2,cy=h/2,w,h是原始图像I的宽和高;是纠正以后虚拟相机的内部参数矩阵,f2是纠正以后虚拟相机的焦距的像素长度,(cx2,cy2)是纠正以后虚拟相机主点坐标。
- 一种基于姿态数据的智能机单像定位方法,其特征在于,包括以下步骤:假设相机或摄像机内参数据f和(cx,cy)已知,f是焦距的像素长度,(cx,cy)是相机主点坐标,内参矩阵单像目标定位整体实施步骤如下:1.搜集采集物方点,转化成局部坐标系坐标;2.采用权利要求1的方法获取智能机的姿态矩阵Rg,R=△RRg得到智能机上摄像头的姿态矩阵R,△R是摄像头相对于智能机的转换矩阵;3.拍摄一张图像,自动提取其中的多个特征点,通过匹配算法得到与物点对应的n对物像同名点;n个物方点的坐标是Xi=[Xix,Xiy,Xiz]T i=1,…,n,对应n个像点坐标是[ui vi]Ti=1,…,n;4.分无错和容错2种情况计算相机在局部坐标系下的坐标T:(1)若确认多个特征点无错误,则采用数学模型解方程得到自身在局部坐标系下坐标Tx,Ty,Tz其中进而得到相机位置T,最大集ζ为n个点对组成的全集;(2)若不确认多个特征点是否全部正确,采用Ransac容错算法,通过共线方程模型随机选取两对点n=2,根据模型式(HH2)计算相机位置T,并通过共线方程zi[u’i v’i 1]T=KR(Xi-T)验证T,通过KR(Xi-T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程,选取符合共线方程点数最大集ζ并计算最大集ζ对应的T*,单目多点Ransac容错算法流程如下:1)从n个像点中随机挑选出2个距离足够大的像点,至少大于容忍误差error的2倍;2)挑选出来的2个像点与物点对应形成2对物象同名点,按式(HH2)计算智能机位置T;3)用T验证所有n对物象同名点的共线方程对应关系,共线方程KR(Xi‐T)算出的u’i,v’I与ui,vi之间的误差距离小于error像素认为是符合共线方程,统计符合共线方程的个数i_in,如果i_in数量超过前期的数量nmax则记录本组满足共线方程容忍误差数量最大的点集ζmax,并刷新nmax=i_in;4)更新迭代次数k+1→k5)回到第1步,直到满足Ransac概率收敛条件(1‐(nmax/n)2)k<pe,pe是Ransac容忍错误概率,为10‐2~10‐20之间的一个数值;6)将前面搜索得到的最大的点集ζmax搜集起来进行最后一次多点最小2乘计算,按公式 (HH2)计算得到Tbest得到最终结果;
- 一种基于智能机姿态数据的相对定位算法,其特征在于,包括以下步骤:a)两相机之间相对定位假设相机1,2之间有i=1..n≥2对同名点u1i,v1i~u2i,v2i;其中R1,R2是智能机相机在拍摄的1,2两个地点测出来的姿态矩阵数据;已知相机1的内参矩阵相机2的内参矩阵其中(cxi,cyi)是相机i的像素主点坐标,fi是相机i的焦距像素长;已知两相机之间的距离是L;计算相机2相对于相机1的位移矢量T包括以下步骤:1.用权利要求1所述的方法计算智能机上相机的姿态Rg1,Rg2计算R1=△RRg1R2=△RRg2进一步得到R=R2R1 T2.构建矩阵A其中uji*=Ki -1ui=[uji*x uji*y uji*z]T,ujiR*=Ruji*=[ujiR*x ujiR*y ujiR*z]T,i=1,2,j=1..n;3.如果确认n对点都是正确的,则求约束||t3x1||=1下Anx3t3x1=0的解或采用数学SVD分解得到Anx3=UnxnWnx3VT 3x3,SVD分解出来的V矩阵的最后1列的矢量,即对应于最小奇异值的特征矢量为t,T=-LRTt得到结果,结束否则继续进行以下步骤;4.设置迭代初值nmax=0,k=1;5.随机挑选A矩阵中的2行,构建A2x3就是求约束||t2||=1下A2x3t2=0的解或采用SVD分解得到A2x3=U2x2W2x3VT 3x3,分解出来的V的最后1列的矢量即为t2;6.将t2=[ttx tty ttz]T代入第j=1..n个点,采用式(AB)验证点j是否是内点,(uj2*zuj1R*y uj2*yuj1R*z)ttx(uj2*xuj1R*z uj2*zuj1R*x)tty(uj2*yuj1R*x uj2*xuj1R*y)ttz<ε(AB)其中ε表示最大容忍误差物方长度,相对于两相机之间的距离=1而言;满足式(AB)则点j是内点,如果满足内点的数量nt超过最佳值nmax则ζt-->ζnt-->nmax7.如果(1-(nmax/n)2)k<0.00001错误率足够小,退出迭代进入步骤9;8迭代次数k增加1,回到步骤5反复迭代;9.最后采用最小二乘法针对最大内点集ζ重新计算一次最优t,求约束||t3x1||=1下An’x3t3x1=0的解,其中n’=nmax或采用SVD分解得到An’x3=Un’xn’Wn’x3VT 3x3,分解出来的V的最后1列矢量,即对应于最小奇异值的特征矢量,即为t最终得到T=-LRTt;b)多个相机间的相对定位构建矩阵U(ij)k=[U(ij)k1U(ij)k2U(ij)k3]k=1,2rc(ij)ab是指第i个点对应的第j个图像的相机的姿态矩阵的a行b列,uc(ij)是第i个点对应的第j个图像上的像点坐标,(cx,cy)是相机主点坐标,f是相机的焦距;对矩阵A进行SVD分解得到A=UWVT,V中最后一个非零矢量X=[T1x T1y T1z...Tcx Tcy Tcz X1Y1Z1...XN YN ZN]T的每一个分量对应C个相机的位置T1x,T1y,T1z,…,Tcx,Tcy,Tcz和N个点的坐标X1,Y1,Z1,…,XN,YN,ZN。
- 基于智能机姿态的目标识别算法,其特征在于,包括以下步骤:根据权利要求11的方法,通过H=K2Rτ TK-1对智能机拍摄视频的图像I进行纠正得到I';对纠正后的图像I'进行目标检测、识别处理,得到I'图像上目标的外接多边形点坐标集xi,yi,i=1,...,N;通过反纠正H-1的方法得到坐标集在原图上映射的坐标xi',yi',即传感器纠正目标识别算法的具体实施方式:首先根据传感器得到的R矩阵对原始图I进行H=K2Rτ TK-1标准化纠正得到标准纠正图I’,然后对I’图像进行目标检测、跟踪,得到它对应的目标框r,目标框r相对于标准模板的平移是rx,ry,目标框r首先经过平移变换Ht映射到标准图上,然后再经过H-1变换映射到原始图上,因此目标框r相对于原始图像I的H变换为r*=H-1Htr。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480044865.6A CN105474033B (zh) | 2013-12-29 | 2014-12-26 | 智能机姿态测定、全景影像生成及目标识别方法 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310736170 | 2013-12-29 | ||
CN2013107361792 | 2013-12-29 | ||
CN2013107361701 | 2013-12-29 | ||
CN201310736179 | 2013-12-29 | ||
PCT/CN2014/095129 WO2015096806A1 (zh) | 2013-12-29 | 2014-12-26 | 智能机姿态测定、全景影像生成及目标识别方法 |
CN201480044865.6A CN105474033B (zh) | 2013-12-29 | 2014-12-26 | 智能机姿态测定、全景影像生成及目标识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105474033A true CN105474033A (zh) | 2016-04-06 |
CN105474033B CN105474033B (zh) | 2017-06-06 |
Family
ID=53477589
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410163542.0A Active CN104748746B (zh) | 2013-12-29 | 2014-04-23 | 智能机姿态测定及虚拟现实漫游方法 |
CN201410466348.XA Active CN104748751B (zh) | 2013-12-29 | 2014-09-12 | 姿态矩阵的计算方法及基于姿态矩阵的定位导航方法 |
CN201480044865.6A Active CN105474033B (zh) | 2013-12-29 | 2014-12-26 | 智能机姿态测定、全景影像生成及目标识别方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410163542.0A Active CN104748746B (zh) | 2013-12-29 | 2014-04-23 | 智能机姿态测定及虚拟现实漫游方法 |
CN201410466348.XA Active CN104748751B (zh) | 2013-12-29 | 2014-09-12 | 姿态矩阵的计算方法及基于姿态矩阵的定位导航方法 |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN104748746B (zh) |
WO (1) | WO2015096806A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530218A (zh) * | 2016-10-28 | 2017-03-22 | 浙江宇视科技有限公司 | 一种坐标转换方法及装置 |
CN107976692A (zh) * | 2016-10-24 | 2018-05-01 | 财团法人工业技术研究院 | 定位方法与其影像撷取装置 |
CN108319875A (zh) * | 2017-01-16 | 2018-07-24 | 欧姆龙株式会社 | 传感器支援系统、终端、传感器以及传感器支援方法 |
CN109460077A (zh) * | 2018-11-19 | 2019-03-12 | 深圳博为教育科技有限公司 | 一种自动跟踪方法、自动跟踪设备及自动跟踪系统 |
CN109900238A (zh) * | 2017-12-08 | 2019-06-18 | 中国电信股份有限公司 | 基站天线角的测量方法、装置和计算机可读存储介质 |
CN109959392A (zh) * | 2019-04-04 | 2019-07-02 | 上海扩博智能技术有限公司 | 用于智能冰箱的运动传感器校准方法、系统、设备及介质 |
CN110719532A (zh) * | 2018-02-23 | 2020-01-21 | 索尼互动娱乐欧洲有限公司 | 映射虚拟环境的装置和方法 |
CN111091117A (zh) * | 2019-12-31 | 2020-05-01 | 北京城市网邻信息技术有限公司 | 用于二维全景图像的目标检测方法、装置、设备、介质 |
CN111145248A (zh) * | 2018-11-06 | 2020-05-12 | 北京地平线机器人技术研发有限公司 | 位姿信息确定方法、确定装置和电子设备 |
CN112182774A (zh) * | 2020-10-16 | 2021-01-05 | 西安应用光学研究所 | 一种直升机载环境下的三维场景实时更新方法 |
CN113012032A (zh) * | 2021-03-03 | 2021-06-22 | 中国人民解放军战略支援部队信息工程大学 | 一种自动标注地名的空中全景图像显示方法 |
CN113379822A (zh) * | 2020-03-16 | 2021-09-10 | 天目爱视(北京)科技有限公司 | 一种基于采集设备位姿信息获取目标物3d信息的方法 |
Families Citing this family (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105004342A (zh) * | 2015-07-15 | 2015-10-28 | 成都万维图新信息技术有限公司 | 一种基于互联网的旅游数据处理方法 |
CN105395252A (zh) * | 2015-12-10 | 2016-03-16 | 哈尔滨工业大学 | 具有人机交互的可穿戴式血管介入手术三维立体图像导航装置 |
JP6362634B2 (ja) * | 2016-02-05 | 2018-07-25 | 株式会社バンダイナムコエンターテインメント | 画像生成システム、ゲーム装置及びプログラム |
CN105911576B (zh) * | 2016-04-08 | 2018-09-07 | 北京无线电计量测试研究所 | 确定分布式协同系统中副分系统的位置信息的方法及装置 |
CN107295393B (zh) * | 2016-04-11 | 2019-12-13 | 腾讯科技(北京)有限公司 | 媒体播放中的附加媒体展示方法及装置以及计算设备和计算机可读存储介质 |
CN107644395B (zh) * | 2016-07-21 | 2021-08-10 | 荣耀终端有限公司 | 图像处理方法以及移动设备 |
TWI614640B (zh) * | 2016-08-11 | 2018-02-11 | 拓景科技股份有限公司 | 實境資訊影片之播放管理方法及系統,及其相關電腦程式產品 |
US10169914B2 (en) * | 2016-08-26 | 2019-01-01 | Osense Technology Co., Ltd. | Method and system for indoor positioning and device for creating indoor maps thereof |
CN106352897B (zh) * | 2016-08-26 | 2018-06-15 | 杨百川 | 一种基于单目视觉传感器的硅mems陀螺误差估计与校正方法 |
CN107037403B (zh) * | 2016-09-26 | 2020-07-24 | 蔚来汽车有限公司 | 基于增强现实的物体相对定位方法 |
CN106444809B (zh) * | 2016-10-12 | 2024-04-16 | 湖南绿野航空科技有限公司 | 一种无人机飞行控制器 |
CN106507086B (zh) * | 2016-10-28 | 2018-08-31 | 北京灵境世界科技有限公司 | 一种漫游实景vr的3d呈现方法 |
CN106598229B (zh) * | 2016-11-11 | 2020-02-18 | 歌尔科技有限公司 | 一种虚拟现实场景的生成方法、设备及虚拟现实系统 |
CN106403959A (zh) * | 2016-11-22 | 2017-02-15 | 天津海运职业学院 | 一种应用多传感器阵列的电磁定位系统 |
CN106610721A (zh) * | 2016-12-16 | 2017-05-03 | 飞狐信息技术(天津)有限公司 | 实现同时响应陀螺仪与手势拖拽交互的方法和装置及手机 |
CN107145706B (zh) * | 2017-03-30 | 2020-09-18 | 重庆爱奇艺智能科技有限公司 | 虚拟现实vr设备融合算法性能参数的评估方法及装置 |
CN107462244A (zh) * | 2017-04-24 | 2017-12-12 | 北京航空航天大学 | 一种基于gps定位和航摄图像匹配的航空遥感平台姿态角高精度测量方法 |
CN107402004B (zh) * | 2017-07-28 | 2021-03-09 | 歌尔光学科技有限公司 | 传感器的姿态信息获取方法及装置 |
CN107545040B (zh) * | 2017-08-04 | 2020-09-08 | 深圳航天智慧城市系统技术研究院有限公司 | 一种在计算机三维地理信息场景中标注方向的方法及系统 |
CN107493531B (zh) * | 2017-08-04 | 2019-11-08 | 歌尔科技有限公司 | 一种头部姿态检测方法、装置和耳机 |
CN109389638B (zh) * | 2017-08-08 | 2020-11-06 | 重庆虚拟实境科技有限公司 | 摄影机位置确定方法及系统 |
CN107516327B (zh) * | 2017-08-21 | 2023-05-16 | 腾讯科技(上海)有限公司 | 基于多层滤波确定相机姿态矩阵的方法及装置、设备 |
WO2019061513A1 (zh) | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 一种姿态矩阵的计算方法及设备 |
TWI649721B (zh) * | 2017-12-06 | 2019-02-01 | 凌通科技股份有限公司 | 無人飛行機之全景拍照方法與使用其之無人飛行機 |
CN108492123B (zh) * | 2018-01-17 | 2022-02-15 | 上海大兮软件科技有限公司 | 一种基于虚拟现实技术的广告发布系统及其发布方法 |
CN110148205B (zh) * | 2018-02-11 | 2023-04-25 | 北京四维图新科技股份有限公司 | 一种基于众包影像的三维重建的方法和装置 |
CN108444452B (zh) * | 2018-02-11 | 2020-11-17 | 武汉雄楚高晶科技有限公司 | 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置 |
CN108801274B (zh) * | 2018-04-16 | 2021-08-13 | 电子科技大学 | 一种融合双目视觉和差分卫星定位的地标地图生成方法 |
CN110417489B (zh) * | 2018-04-26 | 2021-09-17 | 杭州海康机器人技术有限公司 | 一种无人机定向天线的校准方法及装置 |
CN108682036B (zh) * | 2018-04-27 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN108994820A (zh) * | 2018-07-27 | 2018-12-14 | 国网江苏省电力有限公司徐州供电分公司 | 用于带电作业的机器人系统及作业场景构建方法 |
CN109407935A (zh) * | 2018-09-14 | 2019-03-01 | 歌尔科技有限公司 | 一种虚拟现实显示控制方法、装置和系统 |
CN109490926B (zh) * | 2018-09-28 | 2021-01-26 | 浙江大学 | 一种基于双目相机和gnss的路径规划方法 |
CN111220156B (zh) * | 2018-11-25 | 2023-06-23 | 星际空间(天津)科技发展有限公司 | 一种基于城市实景的导航方法 |
CN109871739B (zh) * | 2018-12-27 | 2023-06-23 | 南京国图信息产业有限公司 | 基于yolo-sioctl的机动站自动目标检测与空间定位方法 |
CN109785373B (zh) * | 2019-01-22 | 2022-12-23 | 东北大学 | 一种基于散斑的六自由度位姿估计系统及方法 |
CN109636077B (zh) * | 2019-02-19 | 2022-11-25 | 浙江大学 | 基于双重局部位姿变换的变节点装配路径规划方法 |
CN110036411B (zh) * | 2019-02-27 | 2023-07-28 | 香港应用科技研究院有限公司 | 生成电子三维漫游环境的装置和方法 |
CN109920064A (zh) * | 2019-03-14 | 2019-06-21 | 烟台九田自动化科技有限公司 | 一种基于增强现实技术的模型空间位姿的精确调整方法 |
CN110276471B (zh) * | 2019-03-25 | 2023-06-16 | 东北大学 | 优化维修排队系统的方法 |
CN109827547B (zh) * | 2019-03-27 | 2021-05-04 | 中国人民解放军战略支援部队航天工程大学 | 一种分布式多传感器空间目标同步关联方法 |
CN110033447B (zh) * | 2019-04-12 | 2022-11-08 | 东北大学 | 一种基于点云方法的高铁重轨表面缺陷检测方法 |
CN110766738B (zh) * | 2019-05-08 | 2024-03-26 | 叠境数字科技(上海)有限公司 | 基于多视角深度传感器的虚拟试鞋方法 |
CN110189315B (zh) * | 2019-05-28 | 2022-09-16 | 李峥嵘 | 一种风电机组叶片无人机自动定位方法 |
CN112149467A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 飞机集群执行任务的方法和长机 |
CN110427106B (zh) * | 2019-07-19 | 2022-07-12 | 武汉恒新动力科技有限公司 | 体感动作数据处理方法、设备及计算机可读存储介质 |
CN110490155B (zh) * | 2019-08-23 | 2022-05-17 | 电子科技大学 | 一种禁飞空域无人机检测方法 |
CN110533647B (zh) * | 2019-08-28 | 2023-02-03 | 东北大学 | 一种基于线特征匹配的液晶屏Mark点定位方法 |
CN110580720B (zh) * | 2019-08-29 | 2023-05-12 | 天津大学 | 一种基于全景图的相机位姿估计方法 |
CN110609569B (zh) * | 2019-09-26 | 2022-07-15 | 温岭市非普电气有限公司 | 一种应用于电力杆塔的自主控制无人机精准巡检系统和方法 |
CN112166340B (zh) * | 2019-10-17 | 2024-04-05 | 深圳市大疆创新科技有限公司 | 获取雷达位置的方法、雷达以及可移动平台 |
CN110908510B (zh) * | 2019-11-08 | 2022-09-02 | 四川大学 | 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法 |
CN110930508B (zh) * | 2019-11-27 | 2023-03-24 | 西安应用光学研究所 | 二维光电视频与三维场景融合方法 |
CN110954055A (zh) * | 2019-12-17 | 2020-04-03 | 中国人民解放军海军航空大学 | 一种球面两站测向交叉定位计算方法 |
CN111198576A (zh) * | 2020-01-09 | 2020-05-26 | 哈尔滨工程大学 | 人工智能大数据下粒子化无人机组控制方法、介质及机组 |
CN111273777A (zh) * | 2020-02-11 | 2020-06-12 | Oppo广东移动通信有限公司 | 虚拟内容的控制方法、装置、电子设备及存储介质 |
CN111383205B (zh) * | 2020-03-11 | 2023-03-24 | 西安应用光学研究所 | 一种基于特征点和三维模型的图像融合定位方法 |
CN113327291B (zh) * | 2020-03-16 | 2024-03-22 | 天目爱视(北京)科技有限公司 | 一种基于连续拍摄对远距离目标物3d建模的标定方法 |
CN111402428B (zh) * | 2020-03-23 | 2023-04-07 | 青岛大学 | 一种基于argis的地下管线探查方法 |
CN111445453B (zh) * | 2020-03-25 | 2023-04-25 | 森兰信息科技(上海)有限公司 | 摄像机获取的琴键图像的偏移判断方法、系统、介质及装置 |
CN111368577B (zh) * | 2020-03-28 | 2023-04-07 | 吉林农业科技学院 | 一种图像处理系统 |
CN111768490B (zh) * | 2020-05-14 | 2023-06-27 | 华南农业大学 | 基于迭代最近点与人工干预的植物三维建模方法及系统 |
CN111681315B (zh) * | 2020-06-10 | 2022-10-04 | 中国电子科技集团公司第二十八研究所 | 一种基于三维gis地图的高空与剖面标绘定位方法 |
CN111596693B (zh) * | 2020-06-17 | 2023-05-26 | 中国人民解放军国防科技大学 | 基于云台相机的无人机对地面目标跟踪控制方法及系统 |
CN112070885A (zh) * | 2020-08-31 | 2020-12-11 | 中国科学院空天信息创新研究院 | 一种基于摄影测量光度立体模型的三维重建方法和系统 |
CN112068703B (zh) * | 2020-09-07 | 2021-11-16 | 北京字节跳动网络技术有限公司 | 目标物体的控制方法、装置、电子设备及存储介质 |
CN112085770A (zh) * | 2020-09-10 | 2020-12-15 | 上海庞勃特科技有限公司 | 一种用于乒乓球轨迹捕捉的双目多目标匹配与筛选方法 |
CN112066977B (zh) * | 2020-09-15 | 2024-02-27 | 中国人民解放军63660部队 | 一种光电测量网络多目标匹配与编目方法 |
CN112288824B (zh) * | 2020-10-27 | 2024-04-12 | 中国科学院上海微系统与信息技术研究所 | 一种基于现实场景的长焦相机标定装置及标定方法 |
CN112468716B (zh) * | 2020-11-02 | 2022-07-19 | 航天信息股份有限公司 | 摄像头视角矫正方法、装置、存储介质及电子设备 |
CN112492292B (zh) * | 2020-11-27 | 2023-04-11 | 天目爱视(北京)科技有限公司 | 一种自由姿态的智能视觉3d信息采集设备 |
CN112541932B (zh) * | 2020-11-30 | 2024-03-26 | 西安电子科技大学昆山创新研究院 | 基于双光相机不同焦距变换参数的多源图像配准方法 |
CN112711024B (zh) * | 2020-12-04 | 2024-02-09 | 中国科学技术大学 | 基于视距空间最大化的音频室内定位系统节点布设方法 |
CN112506351A (zh) * | 2020-12-23 | 2021-03-16 | 武汉小绿人动力技术股份有限公司 | 一种室外赛车场内沉浸式赛车系统及控制方法 |
CN112762955B (zh) * | 2020-12-25 | 2022-07-19 | 灵鹿科技(嘉兴)股份有限公司 | 一种导航系统定位纠偏方法 |
CN113050692B (zh) * | 2021-03-26 | 2023-01-13 | 极研(福建)信息科技有限公司 | 一种具有社交功能的智能陪伴设备 |
CN113112545B (zh) * | 2021-04-15 | 2023-03-21 | 西安电子科技大学 | 基于计算机视觉的手持移动打印装置定位方法 |
CN113034571B (zh) * | 2021-04-16 | 2023-01-20 | 广东工业大学 | 一种基于视觉—惯性的物体三维尺寸测量方法 |
CN113407027B (zh) * | 2021-06-04 | 2023-03-03 | 浙江商汤科技开发有限公司 | 位姿获取方法及装置和电子设备、存储介质 |
CN113487677B (zh) * | 2021-06-07 | 2024-04-12 | 电子科技大学长三角研究院(衢州) | 一种基于任意分布式配置的多ptz相机的室外中远距场景标定方法 |
CN113310505B (zh) * | 2021-06-15 | 2024-04-09 | 苏州挚途科技有限公司 | 传感器系统的外参标定方法、装置及电子设备 |
CN113658263B (zh) * | 2021-06-17 | 2023-10-31 | 石家庄铁道大学 | 基于视觉场景的电磁干扰源可视化标注方法 |
CN113724326B (zh) * | 2021-08-17 | 2022-12-20 | 南京航空航天大学 | 一种自主空中加油场景下锥套目标的单目视觉位姿解算方法 |
CN113739765B (zh) * | 2021-08-23 | 2024-03-26 | 中国人民解放军63660部队 | 一种无额外控制点的双目协同落点测量方法 |
CN113483669B (zh) * | 2021-08-24 | 2023-02-17 | 凌云光技术股份有限公司 | 一种基于立体靶标的多传感器位姿标定方法及装置 |
CN113680059A (zh) * | 2021-08-31 | 2021-11-23 | 中科锐新(北京)科技有限公司 | 一种户外场景ar游戏定位装置和方法 |
CN113795053B (zh) * | 2021-09-16 | 2023-07-07 | 四川智动木牛智能科技有限公司 | 一种智能农机自动出入机库方法 |
CN115937722A (zh) * | 2021-09-30 | 2023-04-07 | 华为技术有限公司 | 一种设备定位方法、设备及系统 |
CN116021506A (zh) * | 2021-10-26 | 2023-04-28 | 美智纵横科技有限责任公司 | 机器人控制方法、装置和存储介质 |
CN114234811B (zh) * | 2021-12-21 | 2024-04-02 | 长三角哈特机器人产业技术研究院 | 基于视觉和激光测距的管路粗定位方法及系统 |
CN114234876B (zh) * | 2021-12-23 | 2023-06-23 | 中国人民解放军空军军医大学 | 一种测量远方位目标宽度的方法 |
CN114565714B (zh) * | 2022-02-11 | 2023-05-23 | 山西支点科技有限公司 | 一种单目视觉传感器混合式高精度三维结构恢复方法 |
CN114543840B (zh) * | 2022-02-25 | 2023-07-25 | 四川大学 | 环境因素对空三摄影影响实验装置和测评方法 |
CN114570658A (zh) * | 2022-03-04 | 2022-06-03 | 赛那德科技有限公司 | 一种基于动态视觉的物流包裹分拣方法、系统及电子设备 |
CN114820485B (zh) * | 2022-04-15 | 2024-03-26 | 华南理工大学 | 一种基于机载图像测量波浪爬高的方法 |
CN114742980B (zh) * | 2022-04-15 | 2022-12-16 | 北京航空航天大学云南创新研究院 | 结合关系图谱的三维展馆浏览方法 |
CN114842173B (zh) * | 2022-04-15 | 2023-08-29 | 北华航天工业学院 | 一种增强现实系统及其控制方法 |
CN114820504B (zh) * | 2022-04-22 | 2023-03-21 | 江苏泽景汽车电子股份有限公司 | 图像融合偏差的检测方法、装置、电子设备及存储介质 |
CN114546141B (zh) * | 2022-04-25 | 2022-07-12 | 成都柔水科技有限公司 | 一种基于ue5的适用于gis应用的相机控制方法 |
CN114904844A (zh) * | 2022-04-26 | 2022-08-16 | 中南大学 | 一种针对精密复杂零件的机器人激光清洗路径规划与控制的方法 |
CN114963029B (zh) * | 2022-06-20 | 2024-04-02 | 天津精仪精测科技有限公司 | 一种基于负压波监测的多径管网泄漏检测方法 |
CN114897965B (zh) * | 2022-07-12 | 2022-09-13 | 北京飞渡科技有限公司 | 一种三维场景开敞度分析的方法及系统 |
CN115082560B (zh) * | 2022-07-22 | 2022-11-18 | 季华实验室 | 一种物料位姿识别方法、装置、电子设备及上料系统 |
CN115512083B (zh) * | 2022-09-20 | 2023-04-11 | 广西壮族自治区地图院 | 一种多倾斜角度数控沙盘自适应投影方法 |
CN115497087B (zh) * | 2022-11-18 | 2024-04-19 | 广州煌牌自动设备有限公司 | 一种餐具姿态的识别系统及其方法 |
CN115855117B (zh) * | 2023-02-16 | 2023-06-02 | 深圳佑驾创新科技有限公司 | 相机和惯性测量单元相对车体安装姿态的联合标定方法 |
CN116309686A (zh) * | 2023-05-19 | 2023-06-23 | 北京航天时代光电科技有限公司 | 游泳运动员视频定位测速方法、装置、设备及存储介质 |
CN116787443B (zh) * | 2023-07-26 | 2023-11-21 | 中国科学院宁波材料技术与工程研究所 | 基于单位对偶四元数的并联机构运动学标定方法和系统 |
CN117058209B (zh) * | 2023-10-11 | 2024-01-23 | 山东欧龙电子科技有限公司 | 一种基于三维地图的飞行汽车视觉图像深度信息计算方法 |
CN117392571B (zh) * | 2023-12-08 | 2024-02-13 | 中国电力科学研究院有限公司 | 一种基于无人机图像的架空输配电线路验收方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601448A (zh) * | 2004-09-30 | 2005-03-30 | 清华大学 | 手机游戏的互动信息感知方法及嵌入手机的智能游戏平台 |
CN101178615A (zh) * | 2007-12-12 | 2008-05-14 | 美新半导体(无锡)有限公司 | 姿态及运动感应系统及使用该系统的便携式电子设备 |
CN101290229A (zh) * | 2008-06-13 | 2008-10-22 | 哈尔滨工程大学 | 硅微航姿系统惯性/地磁组合方法 |
US20120229624A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Real-time image analysis for providing health related information |
CN103369135A (zh) * | 2013-06-20 | 2013-10-23 | 清华大学 | 移动设备位置识别的方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049076A (ja) * | 2008-08-22 | 2010-03-04 | Yamaha Corp | 方位追従表示装置、方位追従表示方法および方位追従表示プログラム |
CN102297693B (zh) * | 2010-06-24 | 2013-03-27 | 鼎亿数码科技(上海)有限公司 | 测量物体位置和方位的方法 |
CN101917661B (zh) * | 2010-08-20 | 2013-01-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端通讯方法及移动终端 |
CN102121827B (zh) * | 2010-11-29 | 2013-12-18 | 浙江亚特电器有限公司 | 一种移动机器人定位系统及其定位方法 |
CN201917661U (zh) * | 2010-11-29 | 2011-08-03 | 浙江亚特电器有限公司 | 一种移动机器人定位系统 |
CN102538820B (zh) * | 2011-12-13 | 2015-05-20 | 中国测绘科学研究院 | 一种航空遥感集成系统检校方法 |
CN103363988B (zh) * | 2013-07-24 | 2016-02-03 | 武汉诚迈科技有限公司 | 一种利用智能手机传感器实现地磁室内定位导航的方法 |
-
2014
- 2014-04-23 CN CN201410163542.0A patent/CN104748746B/zh active Active
- 2014-09-12 CN CN201410466348.XA patent/CN104748751B/zh active Active
- 2014-12-26 WO PCT/CN2014/095129 patent/WO2015096806A1/zh active Application Filing
- 2014-12-26 CN CN201480044865.6A patent/CN105474033B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601448A (zh) * | 2004-09-30 | 2005-03-30 | 清华大学 | 手机游戏的互动信息感知方法及嵌入手机的智能游戏平台 |
CN101178615A (zh) * | 2007-12-12 | 2008-05-14 | 美新半导体(无锡)有限公司 | 姿态及运动感应系统及使用该系统的便携式电子设备 |
CN101290229A (zh) * | 2008-06-13 | 2008-10-22 | 哈尔滨工程大学 | 硅微航姿系统惯性/地磁组合方法 |
US20120229624A1 (en) * | 2011-03-08 | 2012-09-13 | Bank Of America Corporation | Real-time image analysis for providing health related information |
CN103369135A (zh) * | 2013-06-20 | 2013-10-23 | 清华大学 | 移动设备位置识别的方法和系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107976692A (zh) * | 2016-10-24 | 2018-05-01 | 财团法人工业技术研究院 | 定位方法与其影像撷取装置 |
CN106530218B (zh) * | 2016-10-28 | 2020-04-10 | 浙江宇视科技有限公司 | 一种坐标转换方法及装置 |
CN106530218A (zh) * | 2016-10-28 | 2017-03-22 | 浙江宇视科技有限公司 | 一种坐标转换方法及装置 |
CN108319875A (zh) * | 2017-01-16 | 2018-07-24 | 欧姆龙株式会社 | 传感器支援系统、终端、传感器以及传感器支援方法 |
CN109900238A (zh) * | 2017-12-08 | 2019-06-18 | 中国电信股份有限公司 | 基站天线角的测量方法、装置和计算机可读存储介质 |
CN110719532B (zh) * | 2018-02-23 | 2023-10-31 | 索尼互动娱乐欧洲有限公司 | 映射虚拟环境的装置和方法 |
CN110719532A (zh) * | 2018-02-23 | 2020-01-21 | 索尼互动娱乐欧洲有限公司 | 映射虚拟环境的装置和方法 |
CN111145248A (zh) * | 2018-11-06 | 2020-05-12 | 北京地平线机器人技术研发有限公司 | 位姿信息确定方法、确定装置和电子设备 |
CN111145248B (zh) * | 2018-11-06 | 2023-06-27 | 北京地平线机器人技术研发有限公司 | 位姿信息确定方法、确定装置和电子设备 |
CN109460077B (zh) * | 2018-11-19 | 2022-05-17 | 深圳博为教育科技有限公司 | 一种自动跟踪方法、自动跟踪设备及自动跟踪系统 |
CN109460077A (zh) * | 2018-11-19 | 2019-03-12 | 深圳博为教育科技有限公司 | 一种自动跟踪方法、自动跟踪设备及自动跟踪系统 |
CN109959392A (zh) * | 2019-04-04 | 2019-07-02 | 上海扩博智能技术有限公司 | 用于智能冰箱的运动传感器校准方法、系统、设备及介质 |
CN109959392B (zh) * | 2019-04-04 | 2021-05-04 | 上海扩博智能技术有限公司 | 用于智能冰箱的运动传感器校准方法、系统、设备及介质 |
CN111091117A (zh) * | 2019-12-31 | 2020-05-01 | 北京城市网邻信息技术有限公司 | 用于二维全景图像的目标检测方法、装置、设备、介质 |
CN113379822A (zh) * | 2020-03-16 | 2021-09-10 | 天目爱视(北京)科技有限公司 | 一种基于采集设备位姿信息获取目标物3d信息的方法 |
CN113379822B (zh) * | 2020-03-16 | 2024-03-22 | 天目爱视(北京)科技有限公司 | 一种基于采集设备位姿信息获取目标物3d信息的方法 |
CN112182774A (zh) * | 2020-10-16 | 2021-01-05 | 西安应用光学研究所 | 一种直升机载环境下的三维场景实时更新方法 |
CN112182774B (zh) * | 2020-10-16 | 2024-03-26 | 西安应用光学研究所 | 一种直升机载环境下的三维场景实时更新方法 |
CN113012032A (zh) * | 2021-03-03 | 2021-06-22 | 中国人民解放军战略支援部队信息工程大学 | 一种自动标注地名的空中全景图像显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104748746B (zh) | 2017-11-03 |
CN104748751B (zh) | 2019-02-22 |
CN104748746A (zh) | 2015-07-01 |
CN105474033B (zh) | 2017-06-06 |
CN104748751A (zh) | 2015-07-01 |
WO2015096806A1 (zh) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105474033A (zh) | 智能机姿态测定、全景影像生成及目标识别方法 | |
CN110582798B (zh) | 用于虚拟增强视觉同时定位和地图构建的系统和方法 | |
CN104748728B (zh) | 智能机姿态矩阵计算方法及其应用于摄影测量的方法 | |
CN111156998B (zh) | 一种基于rgb-d相机与imu信息融合的移动机器人定位方法 | |
CN110377015A (zh) | 机器人定位方法和机器人定位装置 | |
EP2510379B1 (en) | System and method for determining geo-location(s) in images | |
CN106525074B (zh) | 一种云台漂移的补偿方法、装置、云台和无人机 | |
CN110274588A (zh) | 基于无人机集群信息的双层嵌套因子图多源融合导航方法 | |
CN106204443A (zh) | 一种基于多目复用的全景无人机系统 | |
CN112184786B (zh) | 一种基于合成视觉的目标定位方法 | |
CN105352509A (zh) | 地理信息时空约束下的无人机运动目标跟踪与定位方法 | |
CN112750203B (zh) | 模型重建方法、装置、设备及存储介质 | |
CN108364304A (zh) | 一种用于单目机载目标检测的系统和方法 | |
CN110533719A (zh) | 基于环境视觉特征点识别技术的增强现实定位方法及装置 | |
Ramezani et al. | Pose estimation by omnidirectional visual-inertial odometry | |
CN108253942B (zh) | 一种提高倾斜摄影测量空三质量的方法 | |
Zhang et al. | Online ground multitarget geolocation based on 3-D map construction using a UAV platform | |
Coors et al. | Matching buildings: Pose estimation in an urban environment | |
KR102249381B1 (ko) | 3차원 영상 정보를 이용한 모바일 디바이스의 공간 정보 생성 시스템 및 방법 | |
Javed et al. | PanoVILD: a challenging panoramic vision, inertial and LiDAR dataset for simultaneous localization and mapping | |
CN115830116A (zh) | 一种鲁棒视觉里程计方法 | |
CN114964249A (zh) | 一种三维数字地图与实时光电视频同步关联方法 | |
CN113469495A (zh) | 一种视觉定位系统的自动化评估方法及其系统 | |
Yu et al. | Feedback-control-aided image stitching using multi-UAV platform | |
CN115574816B (zh) | 仿生视觉多源信息智能感知无人平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191021 Address after: 430050 Building 2, Shilipu Wuke dormitory, Hanyang District, Wuhan City, Hubei Province Patentee after: Wuhan Xiong Chu Gao Jing Technology Co., Ltd. Address before: 430070 Hubei Province, Wuhan city Hongshan District hung Chu Road Chenjiawan Luo GUI District 6 Building 801 Patentee before: Liu Jin |