一种基于计算机视觉的定位系统及其定位方法与流程

文档序号:11130682阅读:1329来源:国知局
一种基于计算机视觉的定位系统及其定位方法与制造工艺

本发明涉及定位技术领域,尤其涉及一种基于计算机视觉的定位系统及其定位方法。



背景技术:

计算机视觉定位的优点是定位精度高及稳定性好。目前,基于计算机视觉技术的室内定位系统,通常是利用摄像头对物体或人进行拍照,再从照片中成像的位置计算物体或人相对于摄像头的相对位置。

基于计算机视觉的室内定位技术,主要分为单目定位技术和双目定位技术。对于单目视觉定位是指仅利用一台摄像机完成定位工作。由于单目视觉定位无需解决双目视觉定位中的摄像机的最优距离和特征点的匹配问题,因此,具有简单和适用性广泛等优点。然而,目前流行的单目定位技术,一般需要进行较为复杂的摄像头标定工作,且需要依赖特征点或者特征直线来进行计算,计算量也比较复杂。另外,目前的单目定位技术还需要布置高速网络进行视频数据传输。

因此,需要一种新型的基于计算机视觉的定位系统及其定位方法。



技术实现要素:

本发明的一个目的为,利用中低速的无线网路提供室内环境中行走的人或者车辆的高精度实时定位的功能。

为了实现上述目的,根据本发明的一个方面,提供了一种基于计算机视觉的定位系统。定位系统包括图像采集模块和计算模块。图像采集模块用于采集与静态场景对应的样本图像,和场景中出现动态人和/或物体后的目标图像。计算模块用于接收样本图像和目标图像,并对样本图像和目标图像进行压缩、特征提取和比对,以得到目标图像对应的人和/或物体在静态场景中的实际位置信息。

优选地,计算模块包括图像处理单元,用于采用感知哈希算法将图像压缩到2nx2n像素,并计算出压缩后的图像的哈希特征值作为用于标识图像信息的唯一指纹。

优选地,图像处理单元采用感知哈希算法将图像压缩到2nx2n像素,其中,n的取值范围为5-7。

优选地,计算模块还包括判断单元,用于将经过图像处理单元处理后的实时采集到的图像所对应的指纹,与样本图像所对应的指纹进行比对,以判断实时采集的图像是否为目标图像。

优选地,计算模块还包括位置计算单元,用于在判断单元进行指纹比对判断指纹不同时,对目标图像对应的人和/或物体在静态场景中的实际位置进行计算。

优选地,位置计算单元用于将目标图像和标本图像的指纹对应的2nx2n像素图像转化为灰度图片,并将两张灰度图片做减法得到差值图像,计算出目标物占据的多个单元格(像素)中离图像中心最近的单元格,此单元格对应目标物的相对位置。

优选地,相对位置(x,y)计算公式为:

其中N=2n为压缩后图片单边的像素量,(i,j)为目标物对应的单元格(像素)的编号,X,Y为图像采集模块标定中图像实际对应的区域的二维长度。

优选地,定位系统还包括转换单元,用于将根据所述图像采集模块的位置将相对位置转化为绝对位置。

优选地,图像采集模块包括可见光或红外摄像机,样本图像和目标图像为所述摄像机拍摄的照片。

优选地,定位系统还包括连接单元,用于能够利用中低速的无线物联网将图像采集模块和计算模块连接。

优选地,中低速的无线物联网包括Zigbee或蓝牙。

根据本发明的另一个方面,提供了一种采用了上述定位系统的定位方法。定位方法包括如下步骤:

(1)采集样本图像并计算出所述样本图像的指纹信息;

(2)采集目标图像,采用与样本图像相同的算法计算出目标图像的指纹信息;

(3)将样本图像的指纹信息与目标图像的指纹信息进行比对,计算出目标物的相对位置(x,y)。

优选地,计算图像的指纹信息,为采用感知哈希算法将图像压缩到2nx2n像素,再计算出压缩后的图像的哈希特征值。

优选地,定位方法还包括步骤(4),根据图像采集模块的标定数据将相对位置转化为绝对位置。将相对位置(x,y)转化为绝对位置(x1+x,y1+y),其中,(x1,y1)为图像采集模块在样本图像中的坐标。

本发明的优点在于:(1)由于对图像进行了压缩处理,因此,定位过程计算简单,可以在摄像头相连的本地图像处理芯片进行计算,不需要中央集中图像处理设备,定位实时性和定位精度高且稳定。(2)不需要将摄像图片上传,可以不采用网线或者WIFI方案,只需较低速的无线网络就可实现数据传输。(3)可以快速计算多个目标的位置。

附图说明

在下文中将基于实施例并参考附图来对本发明进行更详细的描述。其中:

图1为本发明实施方式中的基于计算机视觉的定位系统的原理图;

图2为本发明另一实施方式的定位系统的原理图;

图3为本发明实施方式中的定位系统的定位方法的流程图;

图4为本发明实施方式中的定位系统的硬件示意图;

图5为本发明一种实施方式中的定位系统的位置计算流程图;

图6为本发明实施方式中的定位系统的成像几何关系示意图;

图7为本发明实施方式中的定位方法的图像处理过程中的差值图像示意图;

图8为本发明实施方式中的定位系统的工作过程示意图。

在附图中,相同的部件使用相同的附图标记。附图并未按照实际的比例。

具体实施方式

下面将结合附图对本发明作进一步说明。

本发明提供了一种基于计算机视觉的定位系统,包括:图像采集模块10和计算模块20。如图1所示,图像采集模块10用于采集与静态场景对应的样本图像,和场景中出现动态人和/或物体后的目标图像。计算模块20用于样本图像和所述目标图像,并对样本图像和目标图像进行压缩、特征提取和比对,以得到目标图像对应的人和/或物体在静态场景中的实际位置信息。在这种情况下,由于计算模块20对图像进行了压缩处理,因此降低了图象处理过程中的计算量。例如,当图像采集模块10为摄像头时,可以在与摄像头相连的本地图像处理芯片上进行计算,不需要中央图像处理设备。由此,定位的实时性、精度和稳定性得以改善。

在本发明的一个具体的实施例中,如图2所示,计算模块20包括图像处理单元21,用于采用感知哈希算法将图像压缩到2nx2n像素,并计算出压缩后的图像的哈希特征值作为用于标识图像信息的唯一指纹。优选地,图像处理单元(21)采用感知哈希算法将图像压缩到2nx2n像素,其中,n的取值范围为5-7。将图像压缩至2nx2n像素,可以方便进行图像DCT处理(离散余弦变换)及hash值(哈希值)计算。Hash值为一个64位的数值。压缩后,图像处理的计算能力要求降低,这样,无需将图象高速传输至中央处理器,而在本地的芯片上既可以完成计算。优选地,n一般取值为5至7之间(对应图像像素为32*32,64*64,128*128),由此,能够兼顾计算量与定位精度的平衡。

在本发明的一个具体的实施例中,如图2所示,计算模块20还包括:判断单元22用于将经过图像处理单元21处理后的实时采集到的图像所对应的指纹,与样本图像所对应的指纹进行比对,以判断实时采集的图像是否为目标图像。进一步地,计算模块20还包括位置计算单元23,用于在判断单元22进行指纹比对判断指纹不同时,对目标图像对应的人和/或物体在静态场景中的实际位置进行计算。在这种情况下,判断单元20通过对比摄像头拍摄的照片的哈希特征值,判断摄像头采集区域是否出现人和/或物体。例如,当对比实时拍摄照片与样本照片的指纹一致时,则表示摄像头采集场景中没有出现目标物,进而不启动位置计算单元23;而当对比实时拍摄照片与样本照片的指纹不一致时,则表示摄像头采集场景中出现了目标物,这时启动位置计算单元23,对出现的人和/或物体进行位置计算以提供位置信息。

此外,位置计算单元23用于将目标图像和标本图像的指纹对应的2nx2n像素图像转化为灰度图片,并将两张灰度图片做减法得到差值图像,计算出目标物占据的多个单元格中距离图像中心最近的单元格,作为目标物的相对位置。具体地,相对位置(x,y)计算公式为:

其中N=2n为压缩后图片单边的像素量,(i,j)为目标物对应的单元格的编号,X,Y为图像采集设备标定中图像实际对应的区域的二维长度。在这里需要说明的是,如图7所示,每个单元格对应一个像素,差值图像就是2个图像对应像素的灰度值相减。为了便于理解上述的计算过程,下面进行举例说明:假定n=5,则N=25=32;i=5,j=7;X=5米,Y=4米;则通过上述公式可以计算得出相对位置x=5*5/32=0.78m,y=7*4/32=0.875m。

为了将相对位置转化为绝对位置,计算模块20还包括转换单元24。

图像采集模块10包括可见光或红外摄像机,样本图像和目标图像为摄像机拍摄的照片。定位系统还包括连接单元30,用于将图像采集模块10和计算模块20连接。在一个具体的实施例中,如图4和图8所示,定位系统的本地端主要由摄像头(图像采集模块10)及处理图像的芯片计算单元(计算模块20)组成,中间由连接线(连接单元30)连接。目标物为需要做位置计算的人或者车辆。摄像头连续拍照,将照片流(图像或视频)通过连接线(连接单元30)发送至芯片计算单元进行图像处理及位置计算。

进一步地,如图8所示,当人在摄像头交汇处时,两个摄像头的矩阵网格是重叠的,因此两个摄像头分别上传矩阵坐标,在服务器端合并数据即可。

本发明还提供了一种基于上述定位系统的定位方法,如图3所示,包括如下步骤:

101,采集样本图像并计算出样本图像的指纹信息;

102,采集目标图像,采用与样本图像相同的算法计算出目标图像的指纹信息;

103,将样本图像的指纹信息与目标图像的指纹信息进行比对,计算出目标物的相对位置。

优选地,计算图像的指纹信息,为采用感知哈希算法将图像压缩到2nx2n像素,再计算出压缩后的图像的哈希特征值。

进一步地,定位方法还包括步骤104,根据图像采集模块10的标定数据将相对位置转化为绝对位置。将相对位置(x,y)转化为绝对位置(x1+x,y1+y),其中,(x1,y1)为图像采集模块在样本图像中的坐标。绝对位置是判断人在实际地图方位上的坐标。

在本发明的一个具体的实施例中,定位方法的流程图如图2所示,详细步骤如下:

步骤一:摄像头标定:将摄像头固定安装后,拍摄照片,测量照片对应的区域大小及位置。

步骤二:静态图像(样本图像)的指纹计算:在确保没有人或者车辆时拍摄照片,将图像压缩到2nx2n像素,采用感知哈希算法计算出压缩后图像的Hash特征值。

步骤三:启动定位,从摄像头读取图片:摄像头连续拍摄照片,将照片流发送至计算芯片(计算模块20)。

步骤四:指纹比对:计算芯片接受到一张图像后,采用与静态图像压缩时相同的感知哈希算法,将图像压缩到同样的2nx2n像素,并计算hash值。将上述的哈希值与静态图像指纹的哈希值比对,如相同,则认为图像中没有人或者车辆,停止计算;如不同,则可认为图像中有人或者车辆,进行下一步位置计算。

步骤五:位置计算:首先,摄像头成像原理如图6所示,假定摄像头位置为A点,摄像头主轴和地面的交点为B点,人1(C-E)成像为C-D区域,人2(F-H)成像为F-G区域。因为摄像头成像几何关系,人站在地面上脚的部位离照片较近而头离照片较远。

然后,将步骤四中,指纹计算中产生的灰度图像,和步骤二中的样本图像的灰度图像中的像素灰度做减法得到差值图像,并将差值转为黑白图像。只需要计算出人像占据的多个单元格中离图像中心最近的单元格,此单元格即对应人脚站立的位置。实际位置可由单元格划分及步骤一中摄像头图像标定的长度比例来计算。实际位置(x,y)计算公式为:

其中N=2n为压缩后图片单边宝行的像素量,(i,j)为人脚对应的单元格(像素)的编号,X,Y为摄像头标定中照片实际对应的区域的二维长度。

步骤六:计算完毕后,将相对位置信息输出。系统根据摄像头的位置将相对位置转化为绝对位置。

综上所述,由于传统摄像头不参与数据处理,仅采集图像,因此全靠服务器端进行数据处理,定位响应速度较慢。而本发明的定位系统通过采用了一种便于图片压缩和判断的算法,使得定位系统的数据处理工作,可以在与摄像头一体集成的处理芯片上进行处理,处理芯片分担一部分数据处理工作,以减轻/简化了服务器的处理数据量,最终起到了加快实时定位响应速度的目的。

虽然已经参考优选实施例对本发明进行了描述,但在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本发明并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1