一种室内定位方法、装置、计算机设备和存储介质
技术领域
本发明属于移动通信领域,尤其涉及一种室内定位方法、装置、计算机设备和存储介质。
背景技术
随着移动通信技术的发展,室内定位技术也被广泛地应用于商业活动中。在商业场所使用室内定位技术来了解客户在这个场所内的行动轨迹,从而可以了解到热点商品以及场所内的热点区域,具有极大的商业价值。
对于目标的室内定位,目前的方法通常是基于用户终端设备的WLAN(WirelessLocal Area Network,无线局域网)中终端的RSSI(Received Signal StrengthIndicator,无线接收信号强度)的定位方法,即基于终端设备的无线接收信号强度来定位目标,通过多个无线接入点探测到的用户终端设备的信号强度来计算用户终端到无线接入点的距离,从而综合用户终端到多个无线接入点的距离计算用户终端设备的平面坐标。
但是,基于终端设备无线接收信号强度的定位方法需要用户携带含有WLAN硬件的设备并保持开启和使用状态,同时定位成功率和精度都不高。
发明内容
本发明实施例的目的在于提供一种室内定位方法、装置、计算机设备和存储介质,旨在解决现有基于终端设备无线接收信号强度的定位方法存在定位成功率和精度都不高的技术问题。
本发明实施例是这样实现的:一种室内定位方法,所述方法包括:
获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张;
将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度;
将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
本发明实施例的另一目的在于提供一种室内定位装置,所述室内定位装置包括:
获取模块,用于获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张;
计算模块,用于将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度;
坐标转换模块,用于将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
本发明实施例的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述室内定位方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述室内定位方法的步骤。
本发明实施例提供的室内定位方法包括获取至少包含目标监控区域内的待定位目标的第一图像,并基于目标检测算法训练生成的目标检测模型确定所述待定位目标的特征数据,以根据所述特征数据进行坐标转换来计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,通过获取实时位置来实现所述待定位目标在所述目标监控区域中的定位,相比于基于终端设备无线接收信号强度的定位方法,在保证检测范围和保护客户隐私的同时提高了待定位目标检测的准确性,解决了现有的基于终端设备无线接收信号强度的定位方法存在定位成功率和精度都不高的问题。
附图说明
图1为本发明实施例提供的室内定位方法的应用环境图;
图2为本发明实施例提供的室内定位方法的流程图;
图3为本发明实施例提供的室内定位装置的结构框图;
图4为本发明实施例提供的室内定位方法中的摄像机画面中行人图像示例图;
图5为本发明实施例提供的室内定位方法中的摄像机画面区域划分示例图;
图6为本发明一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
图1为本发明实施例提供的室内定位方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及服务器120。
服务器120可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN(Content Delivery Network,内容分发网络)等基础云计算服务的云服务器,但并不局限于此,可用于数据的传输和数据的处理。
终端110可以是具有图像输入功能的智能终端,如摄像机、照相机、摄像头、扫描仪、数字照相机、传真机等图像输入设备,也可以是台式计算机、笔记本电脑等计算机设备,还可以是便于携带的智能终端,如平板电脑、智能手机、掌上电脑、智能眼镜、智能手环等,但并不局限于此,可用于获取待定位目标的图像,所述终端110的数量不加限制。
终端110以及服务器120可以通过有线网络或者无线网络进行连接,本发明在此不做限制。
作为本发明一种实施例提供的应用场景,在商场中有多个客户,为了获得某一客户或者某一类型客户在这个商场内的行动轨迹,从而了解热点商品以及商场内的热点区域,需要进行准确可靠的室内定位,即将某一客户或者某一类型客户作为待定位目标进行室内定位和追踪,基于客户携带的终端110的WLAN中RSSI的定位方法,是通过多个无线接入点探测到终端110的信号强度,计算客户的终端110到无线接入点的距离,综合终端110到多个无线接入点的距离计算客户的终端110的平面坐标。而在本发明实施例中,终端110为商场室内顶部垂直安装的多个智能摄像机,通过多个智能摄像机采集目标监控区域的第一图像,所述第一图像至少包含目标监控区域内的待定位目标,并将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定待定位目标的特征数据,再将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置来实现待定位目标的定位,并关联不同摄像机中同一待定位目标的轨迹数据,进而生成待定位目标在室内摄像机覆盖的区域的完整轨迹,以跟踪位于摄像机视野中的客户,方便快捷。
需要说明的是,在商业场所中使用的定位技术必须不能依赖用户需要装备特定的硬件设备,也不能要求用户主动配合完成定位和追踪,否则实用性就不足,例如,基于WLAN中RSSI的定位方法需要用户携带含有WLAN硬件的设备并保持开启和使用状态,实用性不高,另外由于RSSI容易收到很多因素干扰,导致定位成功率和精度都不高。
如图2所示,在一个实施例中,提出了一种室内定位方法,本实施例主要以该方法应用于上述图1中的服务器120来举例说明。
本发明实施例提供了一种室内定位方法,具体可以包括以下步骤,如图2所示:
在步骤S202中,获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张。
在本发明实施例中,所述目标监控区域顶部的摄像机是在室内平面上,根据需要在室内顶部安装垂直指向地面的智能摄像机,智能摄像机的安装的位置根据需要来安装,对于没有商品,或者不关心的区域,可以不安装摄像头,摄像头视野之间可以有部分重叠,或者完全没有重叠。所述目标监控区域可以是商场、车站、码头、影剧院、游乐场、音乐茶座、歌舞厅、公园、体育场、集贸市场等公共场所,所述待定位目标是在所述目标监控区域中的行人,可以是某一行人或者某一类型行人。所述获取第一图像是通过服务器实现,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,当然,根据实际需求情况,也可以是通过智能摄像机进行获取。
作为本发明一种实施例,所述目标监控区域是商场中有商品的区域,在所述目标监控区域中有多个行人,通过设置在所述目标监控区域顶部的摄像机采集所有行人的图像,且采集的图像有多个,根据所有的图像来获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标。
作为本发明又一种实施例,请参阅图4,所述设置在所述目标监控区域顶部的摄像机是在设置在室内环境高度4米以下,为了覆盖尽可能大的地面区域,本发明实施例使用的是短焦摄像机,由于目标和摄像机距离太短,摄像机画面中人体在不同位置会呈现不同的图像变形特征,如目标位于摄像机视野中心的时候,摄像头画面是目标行人的顶视图,只能看到头部和肩膀,当目标行人偏离摄像机视野中心时,摄像机画面中可以看到人体的头部和面向摄像机视野中心的一个面,行人在摄像机视野中的位置,以及面向的角度,都会对行人在摄像机画面呈现的图像产生影响,而且对于不同的角度,显示图形有较大的差异,位于四周的可以看到整个身体,面向中心的部分(头部,上身)面积较大,脚的距离较远,图形较小。根据行人面向的方向,摄像机看到的可能是行人的正面,或者背面。因此,对应不同的位置和行人朝向,在画面中呈现差异较大,重合率低。
本发明实施例通过获取至少包含目标监控区域内的待定位目标的第一图像,从而可以根据需要设置所述目标监控区域的待定位目标,进而对目标监控区域内需要定位的不同目标进行定位,相比于基于单个摄像机的定位技术,具有更大的覆盖面积,避免因超出摄像头视野覆盖范围而无法定位和跟踪。
在步骤S204中,将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度。
在本发明实施例中,所述目标检测算法可以是SSD(Single Shot MultiboxDetector)算法,或者是CNN(Convolutional Neural Networks,卷积神经网络)算法,还可以是MobileNet SSD(MobileNet Single Shot Multibox Detector)算法,所述目标检测模型可以是储存在服务器中,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。
作为本发明一种实施例,所述目标检测算法是MobileNet SSD算法,所述目标检测模型的训练是,根据摄像机画面区域形变相似度,将摄像机画面按照附图4中的不同情况分为5个区域,参见图5所示,即位于摄像机视野中心区域为A区域,位于摄像机视野中心区域左侧的区域为B区域,位于摄像机视野中心区域上端的区域为C区域,位于摄像机视野中心区域右侧的区域为D区域,位于摄像机视野中心区域下端的区域为E区域,对于A-E区域中出现的行人目标,按照行人行人朝向分为0度,90度,180度,270度共四类,其中行人面向摄像头画面12点钟方向为0度分类,3点钟方向为90度分类,以此类推,对于行人朝向位于2个分类角度之间的,取更接近的角度。所以总共有20种行人类别:A区域0度,A区域90度,A区域180度,A区域270度,B区域0度,B区域90度,B区域180度,B区域270度,C区域0度,C区域90度,C区域180度,C区域270度,D区域0度,D区域90度,D区域180度,D区域270度,E区域0度,E区域90度,E区域180度,E区域270度。采集足够多的摄像机画面,按照上述步骤对画面中的行人进行标注,根据行人所处于的区域和朝向选择合适的分类,即根据所述待定位目标在所述第一图像中的位置以及所述待定位目标在所述第一图像中的面向角度,选择目标检测模型MobileNet SSD来进行模型训练,训练模型完成模型可以识别摄像机画面中的行人,并正确推倒出行人的区域和朝向,训练完成后将模型导入到智能摄像机中。
作为本发明又一种实施例,所述目标检测模型是基于目标检测算法训练生成的,通过将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,即通过所述目标检测模型检测所述第一图像中对应的所述待定位目标,将所述待定位目标进行编号,根据所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度来确定所述待定位目标的特征数据。
本发明实施例通过目标检测模型来对所述第一图像进行检测,从而确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,通过所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度可以确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,在保证隐私的同时提高了待定位目标检测的准确性,无需基于多个摄像头和人脸信息的定位技术来使用多个摄像头抓取人脸信息。因为摄像头画面无法在抓取人脸的同时合理的覆盖场所整个平面,即无法在保证检测范围的同时保证精确性,另外受限人脸角度、光照的影响,人脸抓取成功率低,人脸比对错误率高,而且人脸的抓取会有隐私问题。
在步骤S206中,将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
在本发明实施例中,所述预设的规则可以是采用坐标转换参数,用坐标转换参数表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系,所述实时位置的计算可以采用服务器,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,当然,根据实际需求情况,也可以是直接使用摄像机中集成的计算机设备实现计算。
作为本发明一种实施例,通过所述特征数据确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,将所述特征数据根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置。
作为本发明又一种实施例,每个智能摄像机对画面进行抓取时,先将画面进行目标检测推算,检测画面中的行人并进行分类,对行人检测结果进行初步筛选,去掉低于最小可接受置信度的结果,对检测结果和分类对比其边界框中心所处于的区域,如果边界中心和区域分类不匹配,则去掉该检测结果。根据不同的分类,获取对应的双脚中心在所述第一图像中的像素位置,将双脚中心在图像中的坐标进行坐标转换,推算出所述待定位目标的双脚中心在所述目标监控区域中的实时位置,根据实时位置计算行人的行进速度,同时对检测的行人边框中的图像缩放到32像素乘以32像素。对于每个行人在图5的A-E区域中第一次出现的图像,将所述待定位目标在所述第一图像中的位置坐标、行进速度、方向、缩放后的图像存入到智能摄像机,以使智能摄像机计算其特征向量,智能摄像机发送特征向量更新消息到服务器。该消息包含待定位目标的编号信息、在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,以及对应的特征向量。
本发明实施例通过所述特征数据确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,将所述特征数据根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,从而实现所述待定位目标在所述目标监控区域中的定位,在保证检测范围和客户隐私的同时提高了待定位目标检测的准确性,无需基于终端设备无线接收信号强度的定位方法,解决了基于终端设备无线接收信号强度的定位方法需要用户携带含有WLAN硬件的设备并保持开启和使用状态,同时定位成功率和精度都不高的问题,也无需基于多个摄像头和人脸信息的定位技术来使用多个摄像头抓取人脸信息。
本发明实施例通过获取至少包含目标监控区域内的待定位目标的第一图像,并基于目标检测算法训练生成的目标检测模型确定所述待定位目标的特征数据,以根据所述特征数据进行坐标转换来计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,从而实现所述待定位目标在所述目标监控区域中的定位,所述计算是根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系实现的,相比于基于终端设备无线接收信号强度的定位方法,在保证检测范围和客户隐私的同时提高了待定位目标检测的准确性,解决了现有的基于终端设备无线接收信号强度的定位方法存在定位成功率和精度都不高的问题,有效提高了目标用户检测的成功率,以及目标用户实时坐标以及轨迹的准确性。
本发明实施例提供的室内定位方法中,所述获取第一图像包括:
获取监控图像,所述监控图像是所述摄像机采集的所有的图像;
将所述监控图像输入至基于行人重识别算法训练生成的目标识别模型中,以确定所述监控图像中的所述待定位目标的相似度;
根据所述监控图像中的所述待定位目标的相似度筛选所述监控图像,以确定与所述待定位目标对应的所述第一图像。
在本发明实施例中,所述行人重识别算法可以是Re-ID(Person re-identification,行人重识别)算法,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,通过给定一个监控行人图像,检索跨设备下的该行人图像,即一个区域有多个摄像头拍摄视频序列,对一个摄像头下感兴趣的行人,检索到该行人在其他摄像头下出现的所有图片,所述根据所述监控图像中的所述待定位目标的相似度筛选所述监控图像可以通过服务器实现,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。
作为本发明一种实施例,所述目标识别模型的训练生成是,采集足够多的摄像机画面,按照不同的行人进行标柱,即同一个行人的所有图像标注为一类,使用行人重识别模型进行训练,这里使用基于RMNet模型,通过RMNet模型对输入的行人图片计算嵌入向量(Embedding vector),通过计算2个嵌入向量的Cosine距离来获取2张行人的相似度,训练完成之后将模型导入到智能摄像机中,从而根据所述监控图像中的所述待定位目标的相似度筛选所述监控图像,以确定与所述待定位目标对应的所述第一图像。
本发明实施例通过将所述摄像机采集的所有的图像使用基于行人重识别算法训练生成的目标识别模型进行筛选所述监控图像,以确定与所述待定位目标对应的所述第一图像,通过获取至少包含目标监控区域内的待定位目标的第一图像,从而可以根据需要设置所述目标监控区域的待定位目标,进而对目标监控区域内需要定位的不同目标进行定位,相比于基于单个摄像机的定位技术,具有更大的覆盖面积,避免因超出摄像头视野覆盖范围而无法定位和跟踪。
本发明实施例提供的室内定位方法中,所述坐标转换包括:
按照相机标定函数计算所述摄像机对应的畸变参数;
根据所述畸变参数修正所述第一图像的图像畸变,以生成去畸变图像;
将所述去畸变图像按照位姿估计算法计算世界坐标的坐标变换参数,所述世界坐标用于表示所述摄像机在所述目标监控区域对应位置的坐标;
根据所述坐标变换参数将所述待定位目标在所述第一图像中的图像坐标进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置。
在本发明实施例中,所述畸变是光学透镜固有的透视失真的总称,也就是因为透视原因造成的失真,所述畸变可以是枕形畸变,它是由镜头引起的画面向中间收缩的现象,或者是桶形畸变,它是由镜头中透镜物理性能以及镜片组结构引起的成像画面呈桶形膨胀状的失真现象,还可以是线性畸变,它是当试图近距离拍摄高大的直线结构时导致的失真。所述坐标转换可以通过服务器实现,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,当然,所述服务器也可以是直接和终端110组合构成一个整体系统,具体的服务器类型可以根据用户的实际需求进行选择。
作为本发明一种实施例,对所有摄像机进行内参校准,即画面畸变修正,确保摄像机画面可以通过校准获取无畸变的图像,通过使用摄像机拍摄校准棋盘格,使用OpenCV(Open Source Computer Vision Library,是一个跨平台的计算机视觉库)摄像机校准函数(calibrateCamera)计算出所述摄像机对应的畸变参数,所述畸变参数包含摄像机矩阵,以及畸变向量,将畸变参数导入到摄像机的图像矫正及坐标转换模块。
作为本发明又一种实施例,对所有摄像机的世界坐标系进行校准,确保可以根据校准参数计算出摄像机画面中物体在平面图中的正确坐标,在地面铺设棋盘格,使用摄像机拍摄棋盘格画面,对拍摄棋盘格画面使用上述步骤的畸变参数去除图像畸变,即根据所述畸变参数修正所述第一图像的图像畸变,以生成去畸变图像,然后输入所有棋盘格在地面平面图中的真实坐标,以及在去畸变的摄像机画面中对应的图像坐标,使用OpenCV摄像机方位推算函数(solvePnPRansac位姿估计算法)来计算摄像机的世界坐标变换参数,参数包含摄像机旋转矩阵和迁移变换矩阵。根据所述坐标变换参数将所述待定位目标在所述第一图像中的图像坐标进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,所述世界坐标用于表示所述摄像机在所述目标监控区域对应位置的坐标。以上参数导入到摄像机的图像矫正及坐标转换模块。
作为本发明又一种实施例,所述位姿估计算法是根据参考点在世界坐标系下的点集、参考点在相机像平面的坐标、相机内参、相机畸变系数、旋转矩阵、平移向量,进行求解PnP,使用迭代算法,初始值可以使用猜测的初始值,也可以使用解析求解的结果作为初始值,根据Ransac(Random Sample Consensus)算法的迭代次数估计外点的概率,可以进一步缩小迭代次数;通过Ransac算法筛选内点和外点的距离阈值,根据估计内点的概率和每个点的均方差可以计算出此阈值,此阈值代表从n个样本中取s个点,N次采样可以使s个点全为内点的概率,返回内点的序列为矩阵形式最小子集的计算模型。
本发明实施例通过相机标定函数生成去畸变图像,进而按照位姿估计算法计算世界坐标的坐标变换参数,根据所述坐标变换参数将所述待定位目标在所述第一图像中的图像坐标进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,由于考虑了图像畸变,计算得到实时位置更加精确,无需基于多个摄像头和人脸信息的定位技术来使用多个摄像头抓取人脸信息,在保证隐私的同时提高了待定位目标检测的准确性。
本发明实施例提供的室内定位方法中,所述方法还包括:
获取跟踪目标的所述实时位置,以生成行进数据,所述跟踪目标至少包含所述待定位目标,所述行进数据至少包含所述跟踪目标的编号信息、行进轨迹、行进速度以及行进方向;
根据所述行进数据计算所述跟踪目标在任意时刻的估算位置坐标,以计算所述估算位置坐标与真实位置坐标的位移差异,所述真实位置坐标是所述待定位目标在所述任意时刻对应的所述实时位置的坐标;
根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,并输出所述行进数据至数据库。
在本发明实施例中,所述实时位置是通过获取第一图像,将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,所述跟踪目标至少包含所述待定位目标,即所述跟踪目标可以是所述目标监控区域中所有行人对应的目标,而且可以根据目标定位和跟踪需要来确定所述待定位目标。所述行进轨迹是目标在所述目标监控区域内的行走轨迹,所述行进速度可以根据行走轨迹和对应的时间计算得到,根据对应时刻的行进方向可以得到带有向量的所述行进数据。
作为本发明一种实施例,智能摄像机根据每一帧所述第一图像进行获取跟踪目标的所述实时位置,以生成行进数据,所述跟踪目标至少包含所述待定位目标,所述行进数据至少包含所述跟踪目标的编号信息、行进轨迹、行进速度以及行进方向,对当前检测到的行人,根据所述跟踪目标行进方向和速度,以及缩略图来推算检测到的行人和已经跟踪的行人的相似度,即通过方向和速度推算目标时刻对应行人的预测坐标,该坐标和检测到的目标坐标的差异记为位移差异;通过在检测的目标缩略图中对待定位目标行人的对应的所述第一图像执行归一化模版匹配,查找相似图案的坐标,该坐标记为图像相似度差异。使用以上2个差异之和生成检测所述待定位目标和所述跟踪目标的差异矩阵;通过KM(Kuhn-Munkres)算法计算出最优解,即所有的所述根据目标的轨迹和所述待定位目标的轨迹的差异之和最小;对所有匹配轨迹和检测结果中匹配相似度低于阈值的检测值发送到行人嵌入矢量管理模块,计算检测目标和该活跃的行人跟踪的特征向量之间的距离,所述特征向量即所述行进数据。对于要比较的检测值,如果所述跟踪目标存在和所述待定位目标相同区域的特征向量,那么使用该特征向量来计算距离,如果不存在对应区域的特征向量,选择时间最新的特征向量来计算距离。
作为本发明又一种实施例,如果行人重识别的特征向量相似度满足对应阈值,那么该检测结果和已经跟踪的行人是匹配的,继续跟踪该行人并更新所述特征向量至少包括目标的行进轨迹、行进速度、行进方向,并发送更新消息到行人轨迹管理模块,该消息包含时间、行人编号、平面图坐标、行进方向、速度、边界框。对所有的摄像机配置网络时间协议服务器,网络时间协议服务器可以选择同一个服务器,所述行人轨迹管理模块也是用该网络时间协议服务器,保证系统中所有的模块时间一致。
本发明实施例通过获取跟踪目标的所述实时位置以生成行进数据,根据所述行进数据计算所述跟踪目标在任意时刻的估算位置坐标,以计算所述估算位置坐标与真实位置坐标的位移差异,根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,从而实现了对所述待定位目标的跟踪,由于使用智能摄像机完成摄像机视野内部的行人的检测和跟踪,行人轨迹管理模块计算容量要求低,可以通过添加智能摄像机来增大覆盖面积,摄像机的部署不需要覆盖整个场所,可以只部署在关心行人轨迹的区域。
本发明实施例提供的室内定位方法中,所述根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,包括:
当所述位移差异小于预设的阈值时,则确认所述跟踪目标与所述待定位目标相同,并使用所述跟踪目标在所述任意时刻对应的行进数据替换原始行进数据,以更新所述行进数据;所述原始行进数据是所述待定位目标的所述实时位置对应的行进数据,所述预设的阈值根据所述跟踪目标与所述行进轨迹之间的距离确定;
当所述位移差异大于所述预设的阈值时,则重新获取所述第一图像,以重新确定所述待定位目标的特征数据,并根据重新确定的特征数据计算所述待定位目标的实时位置,以更新所述行进数据。
在本发明实施例中,所述跟踪目标至少包含所述待定位目标,即所述跟踪目标可以是所述目标监控区域中所有行人对应的目标,而且可以根据目标定位和跟踪需要来确定所述待定位目标。所述更新所述行进数据是更新至服务器,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,所述行进数据可以是所有类型的文件。
作为本发明一种实施例,智能摄像机根据每一帧所述第一图像进行获取跟踪目标的所述实时位置,以生成行进数据,所述跟踪目标至少包含所述待定位目标,所述行进数据至少包含所述跟踪目标的编号信息、行进轨迹、行进速度以及行进方向,对当前检测到的行人,根据所述跟踪目标行进方向和速度,以及缩略图来推算检测到的行人和已经跟踪的行人的相似度,即通过方向和速度推算目标时刻对应行人的预测坐标,该坐标和检测到的目标坐标的差异记为位移差异;通过在检测的目标缩略图中对待定位目标行人的对应的所述第一图像执行归一化模版匹配,查找相似图案的坐标,该坐标记为图像相似度差异。使用以上2个差异之和生成检测所述待定位目标和所述跟踪目标的差异矩阵;通过KM(Kuhn-Munkres)算法计算出最优解,即所有的所述根据目标的轨迹和所述待定位目标的轨迹的差异之和最小,当所述位移差异小于预设的阈值时,则确认所述跟踪目标与所述待定位目标相同,并使用所述跟踪目标在所述任意时刻对应的行进数据替换原始行进数据,以更新所述行进数据;所述原始行进数据是所述待定位目标的所述实时位置对应的行进数据,所述预设的阈值根据所述跟踪目标与所述行进轨迹之间的距离确定。
作为本发明又一种实施例,当所述位移差异大于所述预设的阈值时,则重新获取所述第一图像,以重新确定所述待定位目标的特征数据,并根据重新确定的特征数据计算所述待定位目标的实时位置,以更新所述行进数据。
作为本发明又一种实施例,如果新的检测无法和已有的跟踪行人相匹配。则认为是新出现的该摄像头画面的行人,智能摄像机计算该检测行人当前的重识别向量。智能摄像机发送新检测目标消息到行人轨迹管理模块。新检测目标消息包含目标行人检测到时间、检测到的行人的坐标、行人重识别向量、行人位于的区域、新的行人目标的编号信息。
作为本发明又一种实施例,如果已经跟踪的行人从智能摄像机画面丢失,如显示的跨越摄像头视野边界,或者超过设定时间没有被重新检测到或者匹配到。智能摄像机发送所跟踪行人的轨迹更新消息到行人轨迹管理模块,轨迹更新消息包含完整轨迹以及最后的坐标、最后的时间,以及多个区域到对应行人重识别向量。
作为本发明又一种实施例,行人轨迹管理模块在接收到特征向量更新时,尝试在非活跃轨迹列表中匹配行人重识别特征向量。对于每一个非活跃轨迹记录,如果存在和该特征向量同区域的特征向量,那么就使用该特征向量和待定位目标的行进数据计算距离。如果没有该区域对应的行人重识别特征向量,则使用最新的行人重识别特征向量计算距离。如果结果距离满足相似度阈值,该非活跃轨迹状态变更为活跃轨迹,加入活动轨迹列表中,同时记录该轨迹的ID(Identity document)为消息对应ID的父ID。
作为本发明又一种实施例,行人轨迹管理模块接收到新检测目标消息时,优先尝试匹配活跃轨迹列表。对所有非该摄像机内到活跃轨迹计算新检测目标消息对应时刻的平面图坐标,按照计算坐标和新目标检测消息中包含的坐标的差距排列,优先计算坐标差异小的活跃轨迹和新检测目标的行人重识别特征向量距离。当行人重识别特征向量的距离满足重识别的阈值,那么设置新的检测目标ID的父ID为匹配的活跃轨迹的ID。如果新的检测目标消息不能和活跃轨迹匹配,那么尝试匹配非活跃轨迹。对每一条非活跃轨迹根据最后轨迹的时间、速度以及方向计算新检测目标对应时间的预测坐标。根据预测坐标和新检测目标坐标的坐标差距排列,优先计算坐标差异小的非活跃轨迹和新检测目标的行人重识别特征向量距离。对于非活跃轨迹,优选和新检测目标相同区域的行人重识别特征向量,如果不存在相同区域的特征向量,则选择最新的行人重识别特征向量。
本发明实施例通过根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,进而可以得到所述待定位目标的所有的实时位置,实现了对所述待定位目标的跟踪,而且,使用安装在头顶的垂直指向地面的摄像机,保证了摄像机视野内行人之间不会有遮挡,提高了行人追踪的成功率;行人轨迹坐标基于室内平面图,便于计算行人和地面其他目标的关系,便于分析行人行为,具有可覆盖场所面积的可扩展性,以及计算能力的可扩展性,避免了抓取人脸造成的隐私问题,实现了大面积覆盖的高精度的室内定位。
本发明实施例提供的室内定位方法中,所述方法还包括:
周期性扫描所有的所述行进轨迹,以确定非活跃轨迹对应的所述行进数据,所述非活跃轨迹用于表示当所述位移差异大于所述预设的阈值时对应的所述行进轨迹;
删除所述数据库中所述非活跃轨迹对应的所述行进数据。
在本发明实施例中,所述周期性扫描所有的所述行进轨迹是通过服务器实现的,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。
作为本发明一种实施例,通过周期性扫描非活跃轨迹,当非活跃轨迹超时的时候,查找轨迹父ID列表,查找到父ID之后,查找该父ID的父ID,直到没有父ID为止。记录该ID为这些轨迹的ID,依次将该非活跃轨迹的所有父ID的轨迹记录到数据库中,从内存中删除所有对应轨迹记录。
本发明实施例通过周期性扫描所有的所述行进轨迹,以确定非活跃轨迹对应的所述行进数据,通过删除所述数据库中所述非活跃轨迹对应的所述行进数据来减少数据量,进而可以使计算容量要求低,有利于提高计算效率。
如图3所示,在一个实施例中,提供了一种室内定位装置,所述室内定位装置可以集成于上述的服务器120中,具体可以包括:获取模块310、计算模块320和坐标转换模块330。
获取模块310,用于获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张。
计算模块320,用于将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度。
坐标转换模块330,用于将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
在本发明实施例中,所述室内定位装置可以是数据电路端接设备,如调制解调器、集线器、桥接器或交换机;也可以是一个数据终端设备,如数字手机,打印机或主机,所述主机可以是路由器、工作站、服务器或无线传感器;还可以是智能终端,如笔记本电脑等计算机设备,也可以是便于携带的智能终端,如平板电脑、掌上电脑、智能眼镜、智能手表、智能手环、智能音箱等,但并不局限于此,可用于数据的转换、管理、处理和传输,所述获取模块310、计算模块320和坐标转换模块330均存储有操作系统,用于处理各种基本系统服务和用于执行硬件相关任务的程序;还存储有应用软件,用于实现本发明实施例中的室内定位方法的步骤。
所述室内定位装置可执行如上述任一实施例中提供的室内定位方法的步骤,其中,本发明实施例提供了一种室内定位方法,所述方法包括如下步骤,如图2所示:
在步骤S202中,获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张。
在本发明实施例中,所述目标监控区域顶部的摄像机是在室内平面上,根据需要在室内顶部安装垂直指向地面的智能摄像机,智能摄像机的安装的位置根据需要来安装,对于没有商品,或者不关心的区域,可以不安装摄像头,摄像头视野之间可以有部分重叠,或者完全没有重叠。所述目标监控区域可以是商场、车站、码头、影剧院、游乐场、音乐茶座、歌舞厅、公园、体育场、集贸市场等公共场所,所述待定位目标是在所述目标监控区域中的行人,可以是某一行人或者某一类型行人。所述获取第一图像是通过服务器实现,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,当然,根据实际需求情况,也可以是通过智能摄像机进行获取。
作为本发明一种实施例,所述目标监控区域是商场中有商品的区域,在所述目标监控区域中有多个行人,通过设置在所述目标监控区域顶部的摄像机采集所有行人的图像,且采集的图像有多个,根据所有的图像来获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标。
作为本发明又一种实施例,请参阅图4,所述设置在所述目标监控区域顶部的摄像机是在设置在室内环境高度4米以下,为了覆盖尽可能大的地面区域,本发明实施例使用的是短焦摄像机,由于目标和摄像机距离太短,摄像机画面中人体在不同位置会呈现不同的图像变形特征,如目标位于摄像机视野中心的时候,摄像头画面是目标行人的顶视图,只能看到头部和肩膀,当目标行人偏离摄像机视野中心时,摄像机画面中可以看到人体的头部和面向摄像机视野中心的一个面,行人在摄像机视野中的位置,以及面向的角度,都会对行人在摄像机画面呈现的图像产生影响,而且对于不同的角度,显示图形有较大的差异,位于四周的可以看到整个身体,面向中心的部分(头部,上身)面积较大,脚的距离较远,图形较小。根据行人面向的方向,摄像机看到的可能是行人的正面,或者背面。因此,对应不同的位置和行人朝向,在画面中呈现差异较大,重合率低。
本发明实施例通过获取至少包含目标监控区域内的待定位目标的第一图像,从而可以根据需要设置所述目标监控区域的待定位目标,进而对目标监控区域内需要定位的不同目标进行定位,相比于基于单个摄像机的定位技术,具有更大的覆盖面积,避免因超出摄像头视野覆盖范围而无法定位和跟踪。
在步骤S204中,将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度。
在本发明实施例中,所述目标检测算法可以是SSD算法,或者是CNN算法,还可以是MobileNet SSD算法,所述目标检测模型可以是储存在服务器中,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。
作为本发明一种实施例,所述目标检测算法是MobileNet SSD算法,所述目标检测模型的训练是,根据摄像机画面区域形变相似度,将摄像机画面按照附图4中的不同情况分为5个区域,参见图5所示,即位于摄像机视野中心区域为A区域,位于摄像机视野中心区域左侧的区域为B区域,位于摄像机视野中心区域上端的区域为C区域,位于摄像机视野中心区域右侧的区域为D区域,位于摄像机视野中心区域下端的区域为E区域,对于A-E区域中出现的行人目标,按照行人行人朝向分为0度,90度,180度,270度共四类,其中行人面向摄像头画面12点钟方向为0度分类,3点钟方向为90度分类,以此类推,对于行人朝向位于2个分类角度之间的,取更接近的角度。所以总共有20种行人类别:A区域0度,A区域90度,A区域180度,A区域270度,B区域0度,B区域90度,B区域180度,B区域270度,C区域0度,C区域90度,C区域180度,C区域270度,D区域0度,D区域90度,D区域180度,D区域270度,E区域0度,E区域90度,E区域180度,E区域270度。采集足够多的摄像机画面,按照上述步骤对画面中的行人进行标注,根据行人所处于的区域和朝向选择合适的分类,即根据所述待定位目标在所述第一图像中的位置以及所述待定位目标在所述第一图像中的面向角度,选择目标检测模型MobileNet SSD来进行模型训练,训练模型完成模型可以识别摄像机画面中的行人,并正确推倒出行人的区域和朝向,训练完成后将模型导入到智能摄像机中。
作为本发明又一种实施例,所述目标检测模型是基于目标检测算法训练生成的,通过将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,即通过所述目标检测模型检测所述第一图像中对应的所述待定位目标,将所述待定位目标进行编号,根据所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度来确定所述待定位目标的特征数据。
本发明实施例通过目标检测模型来对所述第一图像进行检测,从而确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,通过所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度可以确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,在保证隐私的同时提高了待定位目标检测的准确性,无需基于多个摄像头和人脸信息的定位技术来使用多个摄像头抓取人脸信息。因为摄像头画面无法在抓取人脸的同时合理的覆盖场所整个平面,即无法在保证检测范围的同时保证精确性,另外受限人脸角度、光照的影响,人脸抓取成功率低,人脸比对错误率高,而且人脸的抓取会有隐私问题。
在步骤S206中,将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
在本发明实施例中,所述预设的规则可以是采用坐标转换参数,用坐标转换参数表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系,所述实时位置的计算可以采用服务器,所述服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器,当然,根据实际需求情况,也可以是直接使用摄像机中集成的计算机设备实现计算。
作为本发明一种实施例,通过所述特征数据确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,将所述特征数据根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置。
作为本发明又一种实施例,每个智能摄像机对画面进行抓取时,先将画面进行目标检测推算,检测画面中的行人并进行分类,对行人检测结果进行初步筛选,去掉低于最小可接受置信度的结果,对检测结果和分类对比其边界框中心所处于的区域,如果边界中心和区域分类不匹配,则去掉该检测结果。根据不同的分类,获取对应的双脚中心在所述第一图像中的像素位置,将双脚中心在图像中的坐标进行坐标转换,推算出所述待定位目标的双脚中心在所述目标监控区域中的实时位置,根据实时位置计算行人的行进速度,同时对检测的行人边框中的图像缩放到32像素乘以32像素。对于每个行人在图5的A-E区域中第一次出现的图像,将所述待定位目标在所述第一图像中的位置坐标、行进速度、方向、缩放后的图像存入到智能摄像机,以使智能摄像机计算其特征向量,智能摄像机发送特征向量更新消息到服务器。该消息包含待定位目标的编号信息、在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度,以及对应的特征向量。
本发明实施例通过所述特征数据确定所述待定位目标在所述第一图像的位置坐标,从而实现所述待定位目标在所述第一图像中的定位,将所述特征数据根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,从而实现所述待定位目标在所述目标监控区域中的定位,在保证检测范围和客户隐私的同时提高了待定位目标检测的准确性,无需基于终端设备无线接收信号强度的定位方法,解决了基于终端设备无线接收信号强度的定位方法需要用户携带含有WLAN硬件的设备并保持开启和使用状态,同时定位成功率和精度都不高的问题,也无需基于多个摄像头和人脸信息的定位技术来使用多个摄像头抓取人脸信息。
本发明实施例通过获取至少包含目标监控区域内的待定位目标的第一图像,并基于目标检测算法训练生成的目标检测模型确定所述待定位目标的特征数据,以根据所述特征数据进行坐标转换来计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,从而实现所述待定位目标在所述目标监控区域中的定位,所述计算是根据所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系实现的,相比于基于终端设备无线接收信号强度的定位方法,在保证检测范围和客户隐私的同时提高了待定位目标检测的准确性,解决了现有的基于终端设备无线接收信号强度的定位方法存在定位成功率和精度都不高的问题,有效提高了目标用户检测的成功率,以及目标用户实时坐标以及轨迹的准确性。
在一个实施例中,提供了一种室内定位装置,其与图3所示的装置的区别在于,还包括跟踪模块,所述跟踪模块用于:
获取跟踪目标的所述实时位置,以生成行进数据,所述跟踪目标至少包含所述待定位目标,所述行进数据至少包含所述跟踪目标的编号信息、行进轨迹、行进速度以及行进方向;
根据所述行进数据计算所述跟踪目标在任意时刻的估算位置坐标,以计算所述估算位置坐标与真实位置坐标的位移差异,所述真实位置坐标是所述待定位目标在所述任意时刻对应的所述实时位置的坐标;
根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,并输出所述行进数据至数据库。
在本发明实施例中,所述实时位置是通过获取第一图像,将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,所述跟踪目标至少包含所述待定位目标,即所述跟踪目标可以是所述目标监控区域中所有行人对应的目标,而且可以根据目标定位和跟踪需要来确定所述待定位目标。所述行进轨迹是目标在所述目标监控区域内的行走轨迹,所述行进速度可以根据行走轨迹和对应的时间计算得到,根据对应时刻的行进方向可以得到带有向量的所述行进数据。
作为本发明一种实施例,智能摄像机根据每一帧所述第一图像进行获取跟踪目标的所述实时位置,以生成行进数据,所述跟踪目标至少包含所述待定位目标,所述行进数据至少包含所述跟踪目标的编号信息、行进轨迹、行进速度以及行进方向,对当前检测到的行人,根据所述跟踪目标行进方向和速度,以及缩略图来推算检测到的行人和已经跟踪的行人的相似度,即通过方向和速度推算目标时刻对应行人的预测坐标,该坐标和检测到的目标坐标的差异记为位移差异;通过在检测的目标缩略图中对待定位目标行人的对应的所述第一图像执行归一化模版匹配,查找相似图案的坐标,该坐标记为图像相似度差异。使用以上2个差异之和生成检测所述待定位目标和所述跟踪目标的差异矩阵;通过KM算法计算出最优解,即所有的所述根据目标的轨迹和所述待定位目标的轨迹的差异之和最小;对所有匹配轨迹和检测结果中匹配相似度低于阈值的检测值发送到行人嵌入矢量管理模块,计算检测目标和该活跃的行人跟踪的特征向量之间的距离,所述特征向量即所述行进数据。对于要比较的检测值,如果所述跟踪目标存在和所述待定位目标相同区域的特征向量,那么使用该特征向量来计算距离,如果不存在对应区域的特征向量,选择时间最新的特征向量来计算距离。
作为本发明又一种实施例,如果行人重识别的特征向量相似度满足对应阈值,那么该检测结果和已经跟踪的行人是匹配的,继续跟踪该行人并更新所述特征向量至少包括目标的行进轨迹、行进速度、行进方向,并发送更新消息到行人轨迹管理模块,该消息包含时间、行人编号、平面图坐标、行进方向、速度、边界框。对所有的摄像机配置网络时间协议服务器,网络时间协议服务器可以选择同一个服务器,所述行人轨迹管理模块也是用该网络时间协议服务器,保证系统中所有的模块时间一致。
本发明实施例通过获取跟踪目标的所述实时位置以生成行进数据,根据所述行进数据计算所述跟踪目标在任意时刻的估算位置坐标,以计算所述估算位置坐标与真实位置坐标的位移差异,根据所述位移差异判断所述跟踪目标与所述待定位目标是否匹配,以更新所述行进数据,从而实现了对所述待定位目标的跟踪,由于使用智能摄像机完成摄像机视野内部的行人的检测和跟踪,行人轨迹管理模块计算容量要求低,可以通过添加智能摄像机来增大覆盖面积,摄像机的部署不需要覆盖整个场所,可以只部署在关心行人轨迹的区域。
在一个实施例中,提供了一种室内定位装置,其包含智能摄像机、轨迹管理模块、轨迹数据库。智能摄像机包含基于神经网络的行人检测模块、摄像机画面内行人跟踪模块,以及行人重识别嵌入矢量管理模块。轨迹管理模块包含轨迹预测和匹配模块、行人重识别嵌入矢量管理模块、活跃轨迹列表和非活跃轨迹列表。
作为本发明一种实施例,对所有摄像机进行内参校准,即画面畸变修正,确保摄像机画面可以通过校准获取无畸变的图像。通过使用摄像机拍摄校准棋盘格,使用OpenCV摄像机校准函数(calibrateCamera)计算出摄像机的畸变参数,参数包含摄像机矩阵,以及畸变向量,将参数导入到摄像机的图像矫正及坐标转换模块。
作为本发明又一种实施例,对所有摄像机世界坐标系进行校准,确保可以根据校准参数计算出摄像机画面中物体在平面图中的正确坐标。在地面铺设棋盘格,使用摄像机拍摄棋盘格画面。对拍摄棋盘格画面使用上述步骤的畸变校准参数去除图像畸变,然后输入所有棋盘格在地面平面图中的真实坐标,以及在去畸变的摄像机画面中对应的图像坐标,使用OpenCV摄像机方位推算函数(solvePnPRansac)来计算摄像机的世界坐标变换参数,参数包含摄像机旋转矩阵和迁移变换矩阵。以上参数导入到摄像机的图像矫正及坐标转换模块。
作为本发明又一种实施例,根据摄像机画面区域形变相似度,将摄像机画面按照附图4中的不同情况分为5个区域,参见图5所示,即位于摄像机视野中心区域为A区域,位于摄像机视野中心区域左侧的区域为B区域,位于摄像机视野中心区域上端的区域为C区域,位于摄像机视野中心区域右侧的区域为D区域,位于摄像机视野中心区域下端的区域为E区域,对于A-E区域中出现的行人目标,按照行人行人朝向分为0度,90度,180度,270度共四类,其中行人面向摄像头画面12点钟方向为0度分类,3点钟方向为90度分类,以此类推,对于行人朝向位于2个分类角度之间的,取更接近的角度。采集足够多的摄像机画面,按照上述步骤对画面中的行人进行标注,根据行人所处于的区域和朝向选择合适的分类,选择目标检测模型MobileNet SSD来进行模型训练。训练模型完成模型可以识别摄像机画面中的行人,并正确推倒出行人的区域和朝向。训练完成后将模型导入到智能摄像机中的行人识别模块中。采集足够多的摄像机画面,按照不同的行人进行标柱,即同一个行人的所有图像标注为一类。使用行人重识别模型进行训练,对输入的行人图片计算嵌入向量(Embeddingvector),通过计算2个嵌入向量的Cosine距离来获取2张行人的相似度。训练完成之后将模型导入到智能摄像机中的行人嵌入矢量管理模块中。
作为本发明又一种实施例,每个智能摄像机对画面进行抓取,先将画面送如行人检测模块进行目标检测推算,检测画面中的行人并进行分类,对行人检测结果进行初步筛选,去掉低于最小可接受置信度的结果。对检测结果和分类对比其边界框中心所处于的区域,如果边界中心和区域分类不匹配,则去掉该检测结果。根据不同的分类,获取对应的双脚中心在图片中的像素位置。将双脚中心在图像中的坐标输入到图像校准模块,计算出去畸变的图像坐标,然后进行坐标转换,推算出双脚中心在平面图中的位置。智能摄像机发送目标区域行人重识别特征向量更新消息到行人轨迹管理模块。智能摄像机对每一帧图像重复上述处理,对当前检测到的行人,摄像机画面内行人跟踪模块根据行进方向和速度,缩略图来推算检测到的行人和已经跟踪的行人的相似度。即通过方向和速度推算目标时刻行人预测坐标,该坐标和检测到的目标坐标的差异记为位移差异。通过在检测的目标缩略图中对活跃跟踪的行人缩略图执行归一化模版匹配,查找相似图案的坐标,该坐标记为图像相似度差异。使用以上2个差异之和生成检测行人和以个跟踪行人的差异矩阵。通过KM算法计算出最优解,即所有活跃轨迹和检测目标的差异之和最小。对所有匹配轨迹和检测结果中匹配相似度的低于阈值的检测值发送到行人嵌入矢量管理模块,计算检测目标和该活跃的行人跟踪的嵌入特征向量之间的距离。对于要比较的检测值,如果该活跃跟踪行人存在和其相同区域的特征向量,那么使用该向量来计算距离,如果不存在对应区域的特征向量,择选择时间最新的特征向量来计算距离。如果行人重识别的特征向量相似度满足对应阈值。那么该检测结果和已经跟踪的行人是匹配的。
作为本发明又一种实施例,如果新的检测无法和已有的跟踪行人相匹配。则认为是新出现的该摄像头画面的行人,智能摄像机计算该检测行人当前的重识别向量。智能摄像机发送新检测目标消息到行人轨迹管理模块。新检测目标消息包含目标行人检测到时间,检测到的行人的坐标,行人重识别向量,行人位于的区域,新的行人目标的ID。行人轨迹管理模块在接收到特征向量更新时,将特征轨迹向量发送到行人嵌入矢量管理模块,嵌入矢量管理模块尝试匹配在非活跃轨迹列表中匹配行人重识别特征向量。对于每一个非活跃轨迹记录,如果存在和该特征向量同区域到特征向量,那么就使用该特征向量和消息中的特征向量计算距离。如果没有该区域对应的行人重识别特征向量,则使用最新的行人重识别特征向量计算距离。如果结果距离满足相似度阈值,该非活跃轨迹状态变更为活跃轨迹。加入活动轨迹列表中。同时记录该轨迹的ID为消息对应ID的父ID。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例中的室内定位方法的步骤。
图6示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的存储器存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现所述室内定位方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在本发明实施例中,存储器可以是高速随机存取存储器,诸如DRAM、SRAM、DDR、RAM、或者其他随机存取固态存储设备,或者非易失性存储器,诸如一个或多个硬盘存储设备、光盘存储设备、内存设备等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的室内定位装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该室内定位装置的各个程序模块,比如,图3所示的获取模块310、计算模块320和坐标转换模块330。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的室内定位方法中的步骤。
例如,图6所示的计算机设备可以通过如图3所示的室内定位装置中的获取模块310执行步骤S202,获取第一图像,所述第一图像至少包含目标监控区域内的待定位目标,所述第一图像由设置在所述目标监控区域顶部的摄像机采集;所述第一图像有多张。计算机设备可通过计算模块320执行步骤S204,将所述第一图像导入至基于目标检测算法训练生成的目标检测模型中,以确定所述待定位目标的特征数据,所述特征数据至少包含所述待定位目标的编号信息、所述待定位目标在所述第一图像中的位置,以及所述待定位目标在所述第一图像中的面向角度。计算机设备可通过坐标转换模块330执行步骤S206,将所述特征数据按照预设的规则进行坐标转换,以计算所述待定位目标的双脚中心在所述目标监控区域中的实时位置,并输出所述实时位置,所述预设的规则用于表示所述摄像机视野中心位置与所述待定位目标在所述目标监控区域位置的对应关系。
另外,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述室内定位方法的步骤。
在本发明所提供的几个实施例中,应该理解到,所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到一起,或一些模块可以忽略,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。