发明名称 基于双目视觉节点的动态三维多媒体传感网络自定位方法
摘要 本发明涉及一种基于双目视觉节点的动态三维多媒体传感网络自定位方法。目前的方法通常都是基于单目视觉节点。本发明方法各节点独立提取基于SIFT特征描述符的三维点云;并根据两两节点间匹配信息,采用基于单位四元数的运动估计方法获得相对位姿;最后分布式定位策略实现所有节点的自定位。其最主要优势在于:在三维网络部署下,仅在两节点间即可完成其相对位姿估计,进而可有效避免不必要的“洪泛”风险和能量损失。该优势在大规模动态多媒体传感网络中尤为重要。
申请公布号 CN102510512A 申请公布日期 2012.06.20
申请号 CN201110364395.X 申请日期 2011.11.17
申请人 杭州电子科技大学 发明人 周文晖;江进;戴国骏;任浩然;张桦;孙志海;韦学辉
分类号 H04N13/00(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.基于双目视觉节点的动态三维多媒体传感网络自定位方法,其特征在于该方法包括如下步骤:步骤(1)网络中各视觉节点独立地提取该节点视野范围内的视觉特征;所述的视觉特征提取具体方法为:每个视觉节点采用一个已标定的双目立体像机,包含了左、右两个像机,可实时获取左、右立体图像;然后采用PCA-SIFT方法,分别提取左、右图像的SIFT特征描述符,每个特征描述符为36维矢量,每一维矢量用8位来表示; 采用KD-Tree方法实现左、右图像间的SIFT特征匹配,并记录每对SIFT特征匹配的匹配代价;采用外极线约束滤除误匹配点;对于已标定的双目立体像机,外极线约束要求正确匹配点对在左、右图像中的垂直坐标差小于1;以左图像为视觉特征提取的基准图像,将左图像划分为20×20个大小相等的区域,在每个区域中只选取一个具有最大匹配代价的SIFT特征作为该区域的视觉特征,即从左图像中最多可提取出400个视觉特征,并将这些视觉特征作为节点当前帧的视觉特征;因此每一个视觉节点从每一帧立体图像对中提取视觉特征的描述符最大数据量为400×36×8/1024=112.5kb;步骤(2)网络中各视觉节点独立计算步骤(1)中所提取视觉特征的三维坐标;所述的视觉特征三维坐标计算方法具体为:步骤(1)中所提取视觉特征在左、右图像中的垂直坐标差小于1,而水平坐标差称为视差<i>d</i>,根据双目立体视觉三维重建公式,可得视觉特征<i>i</i>在左像机坐标系下的三维坐标<img file="201110364395X100001DEST_PATH_IMAGE002.GIF" wi="77" he="30" />:<img file="201110364395X100001DEST_PATH_IMAGE004.GIF" wi="133" he="86" />(1)其中<i>b</i>,<i>f</i>,(<i>u</i><sub>0</sub>, <i>v</i><sub>0</sub>)分别为双目立体像机标定中获得的基线、焦距和左图像光心坐标;(<i>u</i><sub><i>i</i></sub>, <i>v</i><sub><i>i</i></sub>)为视觉特征<i>i</i>在左图像中的坐标,<i>d</i><sub><i>i</i></sub>为视觉特征<i>i</i>的视差;步骤(3)网络中各视觉节点的网络定位数据包生成,具体为:将步骤(1)和步骤(2)中提取的视觉特征描述符及其三维坐标打包作为视觉节点的网络定位数据包,并根据各视觉节点内的邻域关系表传递给邻域节点;初始时各视觉节点内的邻域关系表为空,即各视觉节点间邻域关系未知,此时各视觉节点将其网络定位数据包通过“洪泛”传递给网络中所有视觉节点;各视觉节点在接收到其他视觉节点的网络定位数据包后,更新其内部邻域关系表;随着各视觉节点内的邻域关系表逐步完善,即可通过邻域关系表估计出可能相邻的节点或仍未知关系的节点,则网络定位数据包将会有目的性地传递给这些相邻或仍未知关系的节点;最终待各节点内的邻域关系表完善后,每次网络定位数据包发送都将具有明确的目的节点,从而有效避免不必要的“洪泛”风险和能量损失;步骤(4)网络中两个视觉节点间视觉特征匹配,具体为:当一个视觉节点接收到其他视觉节点的网络定位数据包后,首先进行两视觉节点间的视觉特征匹配;采用与步骤(1)中相同的SIFT特征匹配方法;由于步骤(1)中视觉特征提取都是基于左图像的,因此类似于实现两视觉节点左图像间的SIFT特征匹配;步骤(5)根据步骤(4)中得到的两个视觉节点间视觉特征匹配关系,估计两个视觉节点间的相对位姿,即获取两个视觉节点间的旋转矩阵和平移矩阵;所述的两个视觉节点间相对位姿估计具体方法为:令两个视觉节点<i>m</i>和<i>n</i>的视觉特征匹配点对的三维坐标分别表示为<img file="201110364395X100001DEST_PATH_IMAGE006.GIF" wi="162" he="38" />和<img file="201110364395X100001DEST_PATH_IMAGE008.GIF" wi="154" he="38" />,根据视觉成像关系,有:<img file="201110364395X100001DEST_PATH_IMAGE010.GIF" wi="117" he="25" />(2)其中矩阵<img file="201110364395X100001DEST_PATH_IMAGE012.GIF" wi="32" he="25" />和<img file="201110364395X100001DEST_PATH_IMAGE014.GIF" wi="28" he="25" />分别代表两个视觉节点相对位姿中的旋转矩阵和平移矩阵;相对位姿估计可转换为采用最小二乘法求解下式最小:<img file="201110364395X100001DEST_PATH_IMAGE016.GIF" wi="142" he="30" />(3)采用单位四元数<img file="201110364395X100001DEST_PATH_IMAGE018.GIF" wi="120" he="30" />表示旋转矩阵<img file="715846DEST_PATH_IMAGE012.GIF" wi="32" he="25" />,用四元数加法和乘法代替旋转矩阵中的三角计算,可简化计算,并提高求解精度,有:<img file="201110364395X100001DEST_PATH_IMAGE020.GIF" wi="404" he="78" />(4)从而相对位姿估计中包含了7个自由度,理论上只需3对匹配点即可实现估计;为确保估计结果的鲁棒性,通常要求匹配点数大于某个阈值<i>N</i>,构建四元数的共生对称矩阵<img file="201110364395X100001DEST_PATH_IMAGE022.GIF" wi="18" he="21" />:<img file="201110364395X100001DEST_PATH_IMAGE024.GIF" wi="553" he="95" />(5)其中<img file="201110364395X100001DEST_PATH_IMAGE026.GIF" wi="168" he="38" />和<img file="201110364395X100001DEST_PATH_IMAGE028.GIF" wi="160" he="38" />为<img file="201110364395X100001DEST_PATH_IMAGE030.GIF" wi="22" he="25" />和<img file="201110364395X100001DEST_PATH_IMAGE032.GIF" wi="20" he="25" />经数值解归一化,减去质心后的三维坐标;<i>i</i>为参与相对位姿估计的匹配点标号;共生对称矩阵<img file="537303DEST_PATH_IMAGE022.GIF" wi="18" he="21" />经SVD分解,其最大特征根所对应的特征向量即为单位四元数的最优解;根据公式(4)恢复旋转矩阵<img file="653026DEST_PATH_IMAGE012.GIF" wi="32" he="25" />,并代入公式(2),可获得平移矩阵<img file="492806DEST_PATH_IMAGE014.GIF" wi="28" he="25" />;为提高估计精度和鲁棒性,滤除偏离较大的野值,采用归一化RANSAC算法,从两个视觉节点间所有视觉特征匹配点对中估计出<img file="786516DEST_PATH_IMAGE012.GIF" wi="32" he="25" />和<img file="78957DEST_PATH_IMAGE014.GIF" wi="28" he="25" />;最后采用非线性最小二乘LM算法同时优化<img file="998371DEST_PATH_IMAGE012.GIF" wi="32" he="25" />和<img file="692658DEST_PATH_IMAGE014.GIF" wi="28" he="25" />的估计值;步骤(6)根据步骤(5)中获得的两个视觉节点间相对位姿,更新视觉节点内邻域关系表;所述的节点内邻域关系表更新具体方法为:每个节点内都建有一张二维的邻域关系表<img file="201110364395X100001DEST_PATH_IMAGE034.GIF" wi="25" he="21" />,令<img file="201110364395X100001DEST_PATH_IMAGE036.GIF" wi="38" he="26" />表示视觉节点<i>m</i>和<i>n</i>间的邻域关系,<img file="201110364395X100001DEST_PATH_IMAGE038.GIF" wi="33" he="26" />和<img file="201110364395X100001DEST_PATH_IMAGE040.GIF" wi="32" he="26" />为步骤(5)中估计结果,有<img file="201110364395X100001DEST_PATH_IMAGE042.GIF" wi="122" he="26" />;则<img file="905071DEST_PATH_IMAGE036.GIF" wi="38" he="26" />更新为:<img file="201110364395X100001DEST_PATH_IMAGE044.GIF" wi="138" he="30" />(6)搜索整个邻域关系表,若邻域关系表中已知<img file="201110364395X100001DEST_PATH_IMAGE046.GIF" wi="134" he="30" />,则可通过矩阵推导,同时更新<img file="201110364395X100001DEST_PATH_IMAGE048.GIF" wi="38" he="26" />:<img file="201110364395X100001DEST_PATH_IMAGE050.GIF" wi="252" he="30" />(7)步骤(7)当某个视觉节点<i>m</i>发生运动,则该视觉节点进行自运动估计,确定视觉节点<i>m</i>运动后的新邻域节点,并根据新的邻域关系发送该视觉节点的网络定位数据包,更新邻域关系表;所述的视觉节点自运动估计具体方法为:视觉节点<i>m</i>根据步骤(1)到步骤(3)提取当前帧的网络定位数据包;在视觉节点<i>m</i>中,采用与步骤(1)中相同的SIFT特征匹配方法,实现视觉节点<i>m</i>当前帧视觉特征和视觉节点<i>m</i>前一帧视觉特征的SIFT特征匹配;采用与步骤(5)中相同的相对位姿估计方法,估计视觉节点<i>m</i>当前帧和前一帧间的相对位姿,即估计出视觉节点<i>m</i>在当前帧和前一帧间自运动的旋转矩阵<img file="201110364395X100001DEST_PATH_IMAGE052.GIF" wi="32" he="26" />和平移矩阵<img file="201110364395X100001DEST_PATH_IMAGE054.GIF" wi="28" he="26" />,有<img file="201110364395X100001DEST_PATH_IMAGE056.GIF" wi="118" he="26" />,其中<img file="201110364395X100001DEST_PATH_IMAGE058.GIF" wi="22" he="25" />为视觉节点<i>m</i>当前帧视觉特征的三维坐标,<img file="783944DEST_PATH_IMAGE030.GIF" wi="22" he="25" />为视觉节点<i>m</i>前一帧视觉特征的三维坐标;所述的视觉节点自运动后邻域关系表更新具体方法为:在视觉节点<i>m</i>自运动估计后,搜索整个邻域关系表,若邻域关系表中视觉节点<i>m</i>和<i>n</i>在视觉节点<i>m</i>运动前的邻域关系<img file="179154DEST_PATH_IMAGE044.GIF" wi="138" he="30" />已知,则视觉节点<i>m</i>运动后的<img file="201110364395X100001DEST_PATH_IMAGE060.GIF" wi="38" he="26" />为:<img file="201110364395X100001DEST_PATH_IMAGE062.GIF" wi="250" he="30" />根据<img file="603313DEST_PATH_IMAGE060.GIF" wi="38" he="26" />判断视觉节点<i>m</i>和<i>n</i>是否为视觉相邻,即视觉节点<i>m</i>和<i>n</i>在视野上存在较大范围重叠;判断依据为视觉节点<i>m</i>和<i>n</i>相对位姿中旋转角度不能超过<img file="201110364395X100001DEST_PATH_IMAGE064.GIF" wi="14" he="18" />弧度,平移距离不能超过<img file="201110364395X100001DEST_PATH_IMAGE066.GIF" wi="14" he="14" />米;在确定视觉节点<i>m</i>与其他节点的邻域关系后,视觉节点<i>m</i>将当前帧的网络定位数据包发送给所有可能与视觉节点<i>m</i>存在视觉相邻的节点,并采用步骤(4)到步骤(6)的过程,更新邻域关系表。
地址 310018 浙江省杭州市下沙高教园区2号大街