具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简要介绍。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在本申请实施例中,将人工智能软件技术应用于智慧交通中,通过计算机视觉技术实现对行驶车辆的速度信息的获取,既能满足速度信息的精度要求,又能降低智慧交通系统中测速功能的实现成本,满足智慧交通中测速系统大规模的落地要求。
其次,对本申请提供的速度信息的获取方法的应用场景进行举例说明。本申请提供的速度信息的获取方法可以应用于包括但不限于以下场景之一。
第一,该速度信息的获取方法可以应用于智慧交通系统中的监控交通测速功能中。
通过设置于道路上的摄像头获取车辆的至少两帧运动图像,对至少两帧运动图像中的目标车辆进行检测,获取对应的车辆显示区域,并确定其中一帧运动图像中车辆显示区域的对应的代表像素,在该应用场景中,代表像素以目标车辆的接地点为例,接地点确定之后,确定该帧运动图像所指示的目标车辆的第一位置信息,通过自监督深度学习光流估计确定至少两帧运动图像对应的光流信息,根据已确定的第一位置信息和上述光流信息确定出另一帧运动图像对应的第二位置信息,根据第一位置信息、第二位置信息以及两帧运动图像之间的时间间隔共同确定出目标车辆的速度信息,以实现通过摄像机车辆测速,降低了智慧交通系统中测速功能的资金投入,同时还能保证速度数据的精准度。
第二,该速度信息的获取方法可以应用于工厂传送带中物品传送的测速中。
通过设置于传送履带上方的摄像头获取正在传送物体的运动图像,并通过本申请提供速度信息的获取方法确定出传送物体的速度信息,工作人员可以根据得到的速度信息结合传送履带功率、机器工作效率、人工工作效率等信息进行合理调配,实现资源合理配置,提高工作效率。
第三,该速度信息的获取方法可以应用于车载安全系统中。
该速度信息的获取方法还可以应用于自动驾驶系统中的车载安全系统中,设置于车辆中的摄像头能够拍摄周围其他车辆的运动图像,通过至少两帧运动图像确定其他车辆与当前目标车辆之间的相对位置变化信息,根据该相对位置变化信息能够确定出当前车辆与其他车辆之间的相对速度,根据该相对速度能够实现其他车辆行驶状态与当前车辆之间的安全预警。即,自动驾驶系统可以通过车载安全系统中的测速功能,确定车辆自身与周围其他车辆之间的相对速度,以实现对当前车辆的速度的合理控制,为自动驾驶的车辆提供安全保障。
请参考图1,其示出了本申请一个示例性实施例提供的实施环境示意图。该实施环境包括:终端110、服务器120和通信网络130。
终端110包括获取运动图像的第一设备和显示物体速度信息的第二设备。示意性的,第一设备和第二设备可以是同一设备,也可以是不同设备。第一设备包括监控摄像机、智能交通相机、手机、平板电脑、台式电脑、便携式笔记本电脑等多种形式的具备图像采集功能的终端设备,第二设备包括手机、平板电脑、台式电脑、便携式笔记本电脑等多种形式的终端设备。
服务器120用于向终端110提供速度信息的计算功能。终端110向服务器120发送运动图像,并向服务器120请求获取上述运动图像中目标物体的速度信息,服务器120根据获取到的运动图像进行光流信息的计算,并根据光流信息确定运动图像中目标物体在运动图像中的位置变化信息,根据位置变化信息计算得到目标物体的速度信息,并将该速度信息发送至终端110。
值得注意的是,上述服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器120还可以实现为区块链系统中的节点。区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出。
示意性的,终端110和服务器120之间通过通信网络130连接。
请参考图2,其示出了本申请一个实施例示出的速度信息的获取方法,在本申请实施例中,以该方法应用于如图1所示的服务器中为例进行说明,该方法也可以作为本地功能集成于终端中,本申请不对具体的实现硬件进行限定,所述方法包括如下步骤。
步骤201,获取目标物体的至少两帧运动图像和至少两帧运动图像之间的时间间隔。
示意性的,服务器可以从终端获取上述运动图像,也可以从数据库中获取上述运动图像。以从终端获取为例,终端将拍摄得到的运动图像和各帧运动图像之间的时间间隔发送至服务器。
在一些实施例中,终端向服务器发送拍摄得到的运动视频,服务器对上述运动视频进行视频帧抽取,获取至少两帧运动图像,并根据视频帧的抽取过程确定各帧运动图像之间的时间间隔。
在一些实施例中,当服务器从运动视频中获取运动图像时,服务器进行视频帧抽取的抽取方式可以是终端指定的,如,终端指示服务器对运动视频中第一时刻和第二时刻的视频帧进行抽取;也可以是服务器对运动视频中的目标物体进行识别,确定运动视频中包含目标物体的视频帧集合,对上述视频帧集合进行筛选,得到用于速度信息计算的至少两帧运动图像,例如,根据视频帧中目标物体的显示完整度/清晰度等信息对视频帧进行筛选。
步骤202,对至少两帧运动图像中的目标物体进行识别,得到目标物体在运动图像中的目标显示区域。
在一些实施例中,将至少两帧运动图像输入至预设识别网络中,该预设识别网络提供目标物体的识别功能。可选的,该预设识别网络可以是卷积神经网络(ConvolutionalNeural Networks,CNN)、VGG(Visual Geometry Group,牛津大学计算机视觉组)网络、支持向量机(Support Vector Machine,SVM)分类器等网络模型,在此不进行限定。示意性的,将运动图像输入至上述预设识别网络中,预设网络输出目标物体在运动图像中的位置,在一个示例中,以检测框形式在运动图像中对目标物体进行标注。
在一些实施例中,目标显示区域可以包括目标物体对应的所有像素,也可以包括目标物体预设部位的像素,以目标物体为车辆为例,该目标显示区域可以是整个车辆的显示区域,也可以是车辆前车轮或后车轮对应的显示区域。
在本申请实施例中,从至少两帧运动图像中获取预设数量的运动图像进行目标物体的识别,其中,该预设数量少于运动图像的总数量。
以运动图像包括第一图像帧和第二图像帧为例,从上述第一图像帧和第二图像帧中选取目标图像帧作为用于目标物体识别的图像帧。可选的,以随机选取方式从第一图像帧和第二图像帧确定目标图像帧;或,根据第一图像帧和第二图像帧之间的时序关系进行目标图像帧的确定,在一个示例中,第一图像帧的时序早于第二图像帧,则选取第一图像帧作为目标图像帧。
步骤203,基于至少两帧运动图像确定代表像素的光流信息。
其中,光流信息用于指示代表像素在至少两帧运动图像之间的运动情况,代表像素为目标显示区域中用于代表目标物体运动情况的图像像素。
在一些实施例中,代表像素可以根据标注得到的检测框确定,示意性的,将检测框中满足选取要求的目标点作为代表像素,例如,将检测框下边缘的中心点作为代表像素。以对道路中车辆速度的检测为例,该代表像素可以是目标车辆接地点对应的像素。
示意性的,在至少两帧运动图像中,每两帧运动图像对应的像素运动可以通过光流场(Optical Flow Field)表示,即,在运动图像中,目标物体的运动是通过运动图像序列中不同图像灰度分布的不同体现的。
可选的,以至少两帧运动图像中包括第一图像帧和第二图像帧为例,第一图像帧和第二图像帧中图像像素对应的光流值的估计方法包括但不限于:基于梯度的光流估计方法,即利用时变图像灰度(或其滤波形式)的时空微分(即时空梯度函数)来计算像素的速度矢量,例如,Horn-Schunck算法与Lucas-Kanade(LK)算法;基于特征的光流估计方法,即通过不断地对目标物体的主要特征进行定位和跟踪,以实现光流估计;基于区域的光流估计方法,即先对图像中类似的区域进行定位,然后通过相似区域的位移来计算光流;基于相位的光流估计方法,即利用相位信息获得图像对应的光流场。
可选的,对运动图像中所有图像像素的光流值进行估计,以用于确定代表像素的光流信息;或,对运动图像中目标显示区域中的图像像素的光流值进行估计,以用于确定代表像素的光流信息。
可选的,当对运动图像中所有图像像素的光流值进行估计时,可以将运动图像中代表像素对应的光流值确定为上述代表像素的光流信息;或,从所有图像像素的光流值中确定出目标显示区域的图像像素对应的光流值,将目标显示区域中的图像像素根据预设权重进行加权平均计算,将得到的平均光流值作为上述代表像素的光流信息。当对运动图像中目标显示区域中的图像像素的光流值进行估计时,可以将目标显示区域中代表像素对应的光流值确定为上述代表像素的光流信息;或,将目标显示区域中的图像像素根据预设权重进行加权平均计算,将得到的平均光流值作为上述代表像素的光流信息。
上述预设权重可以是终端指示的,也可以是系统预设的,在此不进行限定。示意性的,可以根据图像像素与代表像素之间的距离来确定对应的权重,在一个示例中,图像像素与代表像素之间的距离与图像像素光流值对应的权重呈负相关关系。
在本申请实施例中,以基于特征的光流估计方法为例,通过自监督深度学习方法实现光流估计。示意性的,对至少两帧运动图像分别进行特征提取,获取目标数量的特征层,特征层对应的特征通道数量与层数呈负相关关系;对目标数量的特征层进行光流估计处理,得到至少两帧运动图像之间的总光流信息,总光流信息用于指示至少两帧运动图像中每个图像像素的运动情况;基于总光流信息和目标显示区域,确定代表像素的光流信息。
步骤204,基于代表像素的光流信息确定目标物体在至少两帧运动图像中的位置变化信息。
在一些实施例中,通过代表像素的光流信息确定目标物体在至少两帧运动图像之间的位置变化量,即,将代表像素的光流信息转化为位置变化信息。示意性的,可以根据预设转化公式或预设映射表,将代表像素的光流信息转化为位置变化信息,以用于确定速度信息。
示意性的,当运动图像的数量大于2,且按时间顺序排列的运动图像之间的时间间隔相等时,可以将相邻两帧运动图像作为一个图像组,分别确定每一组运动图像之间代表像素对应的光流信息,然后将所有组运动图像对应的光流信息取均值,以得到用于计算位置变化信息的光流信息。例如,至少两帧运动图像包括按时间顺序排列的图像帧A、图像帧B和图像帧C,进行分组得到图像帧A和图像帧B、图像帧B和图像帧C两组图像帧,分别计算图像帧A和图像帧B之间代表像素对应的光流信息1,以及图像帧B和图像帧C之间代表像素对应的光流信息2,对光流信息1和光流信息2取均值,得到用于确定位置变化信息的平均光流信息。
在一些实施例中,将至少两帧运动图像按时序进行两两分组后,每组运动图像中包括图像帧A和图像帧B,根据相机内外参估计法确定图像帧A中代表像素的位置信息1,然后根据图像帧A和图像帧B之间代表像素对应的光流信息以及位置信息1共同确定图像帧B对应的位置信息2,根据位置信息1和位置信息2确定代表像素对应的位置变化量,该位置变化量作为目标物体在图像帧A和图像帧B之间的位置变化信息。若每组图像帧之间的时间间隔相同,可对代表像素在每组图像帧中的位置变化量求均值,以作为用于计算速度信息的位置变化信息;若每组图像帧之间的时间间隔不同,则可对每组图像帧对应的位置变化量及时间间隔分别求对应的速度信息,对每组对应的速度信息求均值,以得到目标物体在所有运动图像对应的时间间隔内的平均速度信息。
步骤205,基于位置变化信息和时间间隔,确定目标物体在时间间隔内的速度信息。
当确定代表像素对应的位置变化信息后,根据运动图像对应的时间间隔,能够计算得到目标物体在时间间隔内的速度信息。在一个示例中,代表像素对应的速度信息V通过公式一计算得到,其中,ΔL表示位置变化信息,Δt表示时间间隔:
公式一:V=ΔL/Δt。
综上所述,本申请实施例提供的速度信息的获取方法,为实现对目标物体速度信息的获取过程,通过对包括目标物体的至少两帧运动图像进行识别,确定目标物体对应的目标显示区域,根据至少两帧运动图像确定出目标显示区域中的代表像素对应的光流信息,其中,该代表像素能够代表目标物体的运动情况,根据代表像素的光流信息对至少两帧图像中代表像素对应的位置变化信息进行确定,以通过位置变化信息确定目标物体在时间间隔内的速度信息。即,通过光流信息指导图像帧之间物体的位置变化情况,以求取图像帧中目标物体对应的速度信息,在保证获取的速度信息的精度下,降低了速度信息获取的资源消耗,满足智慧交通中测速系统大规模的落地要求。
请参考图3,其示出了本申请一个实施例示出的速度信息的获取方法,在本申请实施例中,以至少两帧运动图像中包括第一图像帧和第二图像帧为例进行说明,其中,第一图像帧的时序早于第二图像帧的时序。所述方法包括如下步骤。
步骤301,获取目标物体的第一图像帧、第二图像帧以及第一图像帧和第二图像帧之间的时间间隔。
示意性的,在获取到第一图像帧和第二图像帧后,对第一图像帧和第二图像帧进行预处理,该预处理包括但不限于图像平滑处理、图像增强处理、图像灰度化、直方图均衡化、边缘检测等处理操作。
步骤302,对第一图像帧中的目标物体进行识别,得到目标物体在第一图像帧中的目标显示区域。
示意性的,通过预设识别网络对第一图像帧中目标物体的位置进行识别,该CNN网络、VGG网络、SVM分类器等网络模型,在此不进行限定。示意性的,将第一图像帧输入至上述预设识别网络中,预设网络输出目标物体在运动图像中的位置,在一个示例中,以检测框形式在运动图像中对目标物体进行标注,检测框对应的区域即目标显示区域。
步骤303,基于第一图像帧中的目标显示区域,通过单目相机测距确定代表像素对应的第一位置信息。
在本申请实施例中,通过单目相机测距方法确定代表像素在第一图像帧中的第一位置信息。示意性的,获取相机的高度信息、焦距信息,相机用于拍摄第一图像帧和第二图像帧;基于第一图像帧确定目标物体的运动方向上的消失点信息、目标显示区域的中心点信息;基于高度信息、焦距信息、消失点信息和中心点信息确定所述第一位置信息。
请参考图4,其示出了一个单目相机测距原理的示意图,以目标物体为车辆为例,目标显示区域的中心点即指示车辆的接地点,其中,第一图像帧平面400对应有车辆的接地点y410、车辆运动方向的消失点Cy420,将图像中的消失点映射至世界坐标系中,能够确定三个互相正交的向量,如图中的车辆方向向量421、垂直地面方向向量431、平行地面且垂直车辆方向向量411,然后根据已知的相机高度H430、相机焦距f440,通过三角形相似判定定理,得到第一位置信息450。
示意性的,第一位置信息Pl可以通过公式二计算得到,其中,H表示相机的高度信息,f表示相机的焦距信息,Cy表示目标物体运动方向上的消失点信息,y表示目标显示区域的中心点信息:
公式二:Pl=H*f/(y-Cy)。
步骤304,基于第一图像帧和第二图像帧确定代表像素的光流信息。
其中,光流信息用于指示代表像素在第一图像帧和第二图像帧之间的运动情况,代表像素为目标显示区域中用于代表目标物体运动情况的图像像素。
在一些实施例中,代表像素可以根据标注得到的检测框确定,示意性的,将检测框中满足选取要求的目标点作为代表像素,例如,将检测框下边缘的中心点作为代表像素。以对道路中车辆速度的检测为例,该代表像素可以是目标车辆接地点对应的像素。
在本申请实施例中,对第一图像帧和第二图像帧中所有图像像素进行光流值的确定,从所有图像像素的光流值中确定出目标显示区域的图像像素对应的光流值,将目标显示区域中的图像像素根据预设权重进行加权平均计算,将得到的平均光流值作为上述代表像素的光流信息。示意性的,预设权重可以是终端指示的,也可以是系统预设的,在此不进行限定。示意性的,可以根据图像像素与代表像素之间的距离来确定对应的权重,在一个示例中,图像像素与代表像素之间的距离与图像像素光流值对应的权重呈负相关关系。
步骤305,基于代表像素对应的第一位置信息和代表像素的光流信息,确定代表像素在第二图像帧中的第二位置信息。
在本申请实施例中,通过代表像素对应的第一位置信息和代表像素的光流信息共同确定代表像素在第二图像帧中的第二位置信息。示意性的,通过公式三对第二位置信息Pc进行计算,其中,表示相机的高度信息,f表示相机的焦距信息,Cy表示目标物体运动方向上的消失点信息,y表示第一图像帧中目标显示区域的中心点信息,fp表示代表像素的光流信息:
公式三:Pc=H*f/(y+fp-Cy)。
步骤306,基于第一位置信息和第二位置信息确定位置变化信息。
对第二位置信息和第一位置信息作差,得到位置变化信息。示意性的,根据第一图像帧和第二图像帧之间的时序关系将上述Pc和Pl做差,得到位置变化信息ΔL。
步骤307,基于位置变化信息和时间间隔,确定目标物体在时间间隔内的速度信息。
当确定代表像素对应的位置变化信息后,根据第一图像帧和第二图像帧之间的时间间隔,能够计算得到目标物体在时间间隔内的速度信息。示意性的,将位置变化信息和时间间隔作商,得到目标物体的速度信息。
示意性的,请参考图5,其示出了一个本申请实施例提供的速度检测模块500的结构图。以该速度检测模块500用于智慧交通系统中对道路车辆速度进行检测为例,速度检测模块500中包括车辆目标检测单元510、车辆接地点确定单元520、光流估计单元530、速度预测单元540。第一图像帧501输入至车辆目标检测单元510对目标车辆进行检测,在第一图像帧501中对目标车辆进行标注,然后将标注有检测框的第一图像帧501输入至车辆接地点确定单元520,车辆接地点确定单元520通过相机内外参估计目标车辆接地点的位置,即确定接地点对应的第一位置信息。将第一图像帧501和第二图像帧502输入至光流估计单元530,得到接地点对应的光流信息,将光流信息、第一位置信息输入至速度预测单元540,速度预测单元540根据第一位置信息和光流信息确定第二位置信息,然后根据第一位置信息、第二位置信息以及时间间隔确定对应的速度信息。
综上所述,本申请实施例提供的速度信息的获取方法,为实现对目标物体速度信息的获取过程,通过对包括目标物体的至少两帧运动图像进行识别,确定目标物体对应的目标显示区域,根据至少两帧运动图像确定出目标显示区域中的代表像素对应的光流信息,其中,该代表像素能够代表目标物体的运动情况,根据代表像素的光流信息对至少两帧图像中代表像素对应的位置变化信息进行确定,以通过位置变化信息确定目标物体在时间间隔内的速度信息。即,通过光流信息指导图像帧之间物体的位置变化情况,以求取图像帧中目标物体对应的速度信息,在保证获取的速度信息的精度下,降低了速度信息获取的资源消耗,满足智慧交通中测速系统大规模的落地要求。
请参考图6,其示出了本申请一个实施例示出的光流信息的确定方法,在本申请实施例中,对代表像素在第一图像帧和第二图像帧之间的光流信息的确定过程进行说明。所述方法包括如下步骤。
步骤601,获取目标物体的第一图像帧、第二图像帧。
其中,第一图像帧的时序早于第二图像帧的时序。
示意性的,在获取到第一图像帧和第二图像帧后,对第一图像帧和第二图像帧进行预处理,该预处理包括但不限于图像平滑处理、图像增强处理、图像灰度化、直方图均衡化、边缘检测等处理操作。
步骤602,对第一图像帧进行特征提取,获取目标数量的第一特征层。
示意性的,将第一图像帧输入至卷积神经网络,提取得到目标数量的第一特征层,其中,第一特征层对应的特征通道数量与层数呈负相关关系。示意性的,卷积神经网络的数量可以根据速度检测的精度要求确定,当速度检测的精度要求越高,对应的卷积神经网络的数量可以越多。
步骤603,对第二图像帧进行特征提取,获取目标数量的第二特征层。
示意性的,将第二图像帧输入至卷积神经网络,提取得到目标数量的第二特征层,其中,第二特征层对应的特征通道数量与层数呈负相关关系。其中,第一特征层的数量与第二特征层的数量相等。示意性的,通过特征提取得到的特征层包括n层第一特征层和n层第二特征层,n≥2且n为整数。
示意性的,用于对第一图像帧和第二图像帧进行特征提取的卷积神经网络的网络参数相同,即,第一图像帧和第二图像帧在特征提取过程中共享权重。
在一个示例中,第一图像帧和第二图像帧通过卷积神经网络形成6层特征金字塔,其中,每一层的通道数从高到低分别为16、32、64、96、128和196。
步骤604,对第一特征层和第二特征层进行光流估计处理,得到第一图像帧和第二图像帧之间的总光流信息。
在本申请实施例中,对每一层特征层均进行光流估计处理,得到当前层对应的光流子信息,将当前层的光流子信息用于对下一层的光流子信息进行调整,即,自下而上每一层的光流值都是基于上一层光流值的微调结果,最终得到第一图像帧和第二图像帧之间的光流信息。示意性的,基于第i层的第一特征层和第i层的第二特征层,确定第i层光流子信息,第i层光流子信息用于调整第i-1层的光流子信息,1≤i≤n且i为整数;将最底层的光流子信息确定为总光流信息。
每一层的光流子信息的确定过程包括视图变换(Warping)操作、预设卷积操作。其中,视图变换操作用于根据上一层的光流子信息对当前层的第二特征层中像素特征进行移动,即根据第i+1层的光流子信息将第i层的第二特征层中的像素特征映射至新的位置。视图变换即仿射变换,通常用单应性(Homography)建模,将图像上每一个像素点按照一定的规律映射到新的位置上,在本申请实施例中,上述指导像素映射的规律即上一层的光流子信息。
示意性的,基于第i+1层的光流子信息对第i层的第二特征层进行视图变换操作,确定第i层的第二变换特征;对第i层的第一特征层和第i层的第二变换特征进行预设卷积操作,得到第i层光流子信息。即,将第二图像帧对应的第二特征层根据上一层的光流子信息进行一个视图变化操作。
在一个示例中,以第i层特征层的视图变换操作,其变换公式如公式四所示,其中,
用于表示变换后的变换特征矩阵,
表示变换前的特征矩阵,
用于指示利用i+1层的光流插值,即,利用插值后的光流做视图变化,其中,最顶层的光流值设为0:
在视图变换之后,还需要对变换后的特征执行预设卷积操作。示意性的,对第i层的第一特征层和第i层的第二变换特征进行体卷积(Cost Volume)操作,确定第i层的相似特征数据,第i层的相似特征数据用于指示第i层的第一特征层和第i层的第二变换特征之间的相似度情况;将第i层的相似特征数据输入至预设网络,输出第i层光流子信息,预设网络用于对第i层的相似特征数据对应的光流值进行计算。
在一个示例中,以上述预设网络为DenseNet为例,经过视图变换操作之后,对第一特征层和第二变换特征进行体卷积操作,该操作的目的是计算第一特征层和第二变换特征的相似性,对应的计算公式如公式五所示,其中,T表示矩阵的转置操作,N用于指示
向量的长度,
是指第i层的第一特征层,
是指第i层的第二变换特征。在体卷积操作过程中,分别增大
层特征宽和高各8个像素,然后以
特征等大小的长和宽做滑窗形式的公式五操作,每一次操作作为一个新的特征通道层,总有81个这样的通道层数,即操作后的特征层大小为(b,81,w,h):
在体卷积操作之后,把第i层特征和第i+1层的插值的光流层合并到一起,经过4层DenseNet卷积后,最后输出第i层的光流子信息。即,在本申请实施例中,自下而上每一层的光流值都是基于上一层光流值的微调结果,以保证检测得到的光流信息的精度。
步骤605,基于总光流信息确定目标显示区域中各个像素对应的光流值。
根据确定的第一图像帧和第二图像帧之间所有像素对应的光流值后,根据第一图像帧中对应的目标显示区域,确定出目标显示区域中各个像素对应的光流值。
步骤606,对目标显示区域中各个像素对应的光流值进行加权平均处理,将得到的像素光流均值作为代表像素的光流信息。
示意性的,根据预设权重对目标显示区域中的图像像素的光流值进行加权平均,将计算得到的像素光流均值作为代表像素的光流信息。其中,上述预设权重可以是终端指示的,也可以是系统预设的,在此不进行限定。示意性的,可以根据图像像素与代表像素之间的距离来确定对应的权重,在一个示例中,图像像素与代表像素之间的距离与图像像素光流值对应的权重呈负相关关系。
示意性的,请参考图7,其示出了一个本申请实施例提供的自监督光流深度学习网络架构示意图。第一图像帧701和第二图像帧702输入至卷积神经网络710进行特征提取,分别得到6层特征层703,将每一层的特征分别输入至光流估计模块720得到对应的光流子信息704,将该光流子信息704输入至前一层的光流估计模块720中,通过多层光流子信息的递进调整,得到第一图像帧701和第二图像帧702对应的总光流信息705。
综上所述,本申请实施例提供的光流信息的确定方法,通过对第一图像帧和第二图像帧输入至卷积神经网络进行特征提取,基于每层特征进行光流估计得到光流子信息,其中,光流估计过程中根据上一层的光流子信息对第二图像帧的特征层进行视图变化,将视图变换后的特征与第一图像帧的特征层进行体卷积操作,以确定两个特征之间的相似性,然后通过多层DenseNet卷积求取得到当前层对应的光流子信息,即,自下而上每一层的光流值都是基于上一层光流值的微调结果,以使最后得到的总光流信息对应的精度更高,提高了通过光流信息确定目标物体的速度信息时的准确度。
请参考图8,其示出了本申请一个示例性的实施例提供的速度信息的获取装置结构框图,该装置包括如下模块:
获取模块810,用于获取目标物体的至少两帧运动图像和所述至少两帧运动图像之间的时间间隔;
识别模块820,用于对所述至少两帧运动图像中的所述目标物体进行识别,得到所述目标物体在运动图像中的目标显示区域;
确定模块830,用于基于所述至少两帧运动图像确定代表像素的光流信息,所述光流信息用于指示所述代表像素在至少两帧运动图像之间的运动情况,所述代表像素为所述目标显示区域中用于代表所述目标物体运动情况的图像像素;
所述确定模块830,还用于基于所述代表像素的光流信息确定所述目标物体在所述至少两帧运动图像中的位置变化信息;
所述确定模块830,还用于基于所述位置变化信息和所述时间间隔,确定所述目标物体在所述时间间隔内的速度信息。
在一个可选的实施例中,如图9所示,所述确定模块830还包括:
特征提取单元831,用于对所述至少两帧运动图像分别进行特征提取,获取目标数量的特征层,所述特征层对应的特征通道数量与层数呈负相关关系;
光流估计单元832,用于对所述目标数量的特征层进行光流估计处理,得到所述至少两帧运动图像之间的总光流信息,所述总光流信息用于指示所述至少两帧运动图像中每个图像像素的运动情况;
确定单元833,用于基于所述总光流信息和所述目标显示区域,确定所述代表像素的光流信息。
在一个可选的实施例中,所述至少两帧运动图像中包括第一图像帧和第二图像帧,所述第一图像帧的时序早于所述第二图像帧的时序,所述特征层包括与所述第一图像帧对应的第一特征层和与所述第二图像帧对应的第二特征层;
所述特征提取单元831,还用于对所述第一图像帧进行特征提取,获取所述目标数量的所述第一特征层,所述第一特征层对应的特征通道数量与层数呈负相关关系;
所述特征提取单元831,还用于对所述第二图像帧进行特征提取,获取所述目标数量的所述第二特征层,所述第二特征层对应的特征通道数量与层数呈负相关关系,所述第一特征层的数量与所述第二特征层的数量相等。
在一个可选的实施例中,所述特征层包括n层所述第一特征层和n层所述第二特征层,n≥2且n为整数;
所述光流估计单元832,还用于基于第i层的第一特征层和第i层的第二特征层,确定第i层光流子信息,所述第i层光流子信息用于调整第i-1层的光流子信息,1≤i≤n且i为整数;
所述光流估计单元832,还用于将最底层的光流子信息确定为所述总光流信息。
在一个可选的实施例中,所述光流估计单元832,还用于基于第i+1层的光流子信息对所述第i层的第二特征层进行视图变换操作,确定第i层的第二变换特征,所述视图变换用于根据所述第i+1层的光流子信息将所述第i层的第二特征层中的像素特征映射至新的位置;
所述光流估计单元832,还用于对所述第i层的第一特征层和所述第i层的第二变换特征进行预设卷积操作,得到所述第i层光流子信息。
在一个可选的实施例中,所述光流估计单元832,还用于对所述第i层的第一特征层和所述第i层的第二变换特征进行体卷积操作,确定第i层的相似特征数据,所述第i层的相似特征数据用于指示所述第i层的第一特征层和所述第i层的第二变换特征之间的相似度情况;
所述光流估计单元832,还用于将所述第i层的相似特征数据输入至预设网络,输出所述第i层光流子信息,所述预设网络用于对所述第i层的相似特征数据对应的光流值进行计算。
在一个可选的实施例中,所述确定单元833,还用于基于所述总光流信息确定所述目标显示区域中各个像素对应的光流值;
所述确定单元833,还用于对所述目标显示区域中各个像素对应的光流值进行加权平均处理,将得到的像素光流均值作为所述代表像素的光流信息。
在一个可选的实施例中,所述至少两帧运动图像中包括第一图像帧和第二图像帧,所述第一图像帧的时序早于所述第二图像帧的时序;
所述确定单元833,还用于基于所述第一图像帧中的所述目标显示区域,通过单目相机测距确定所述代表像素对应的第一位置信息;
所述确定单元833,还用于基于所述代表像素对应的所述第一位置信息和所述代表像素的光流信息,确定所述代表像素在所述第二图像帧中的第二位置信息;
所述确定单元833,还用于基于所述第一位置信息和所述第二位置信息确定所述位置变化信息。
在一个可选的实施例中,所述确定单元833,还用于获取相机的高度信息、焦距信息,所述相机用于拍摄所述第一图像帧和所述第二图像帧;
所述确定单元833,还用于基于所述第一图像帧确定所述目标物体的运动方向上的消失点信息、所述目标显示区域的中心点信息;
所述确定单元833,还用于基于所述高度信息、所述焦距信息、所述消失点信息和所述中心点信息确定所述第一位置信息。
在一个可选的实施例中,所述确定单元833,还用于对所述第二位置信息和所述第一位置信息作差,得到所述位置变化信息;
所述确定单元833,还用于所述基于所述位置变化信息和所述时间间隔,确定所述目标物体在所述时间间隔内的速度信息,包括:
所述确定单元833,还用于将所述位置变化信息和所述时间间隔作商,得到所述目标物体的所述速度信息。
综上所述,本申请实施例提供的速度信息的获取装置,为实现对目标物体速度信息的获取过程,通过对包括目标物体的至少两帧运动图像进行识别,确定目标物体对应的目标显示区域,根据至少两帧运动图像确定出目标显示区域中的代表像素对应的光流信息,其中,该代表像素能够代表目标物体的运动情况,根据代表像素的光流信息对至少两帧图像中代表像素对应的位置变化信息进行确定,以通过位置变化信息确定目标物体在时间间隔内的速度信息。即,通过光流信息指导图像帧之间物体的位置变化情况,以求取图像帧中目标物体对应的速度信息,在保证获取的速度信息的精度下,降低了速度信息获取的资源消耗,满足智慧交通中测速系统大规模的落地要求。
需要说明的是:上述实施例提供的速度信息的获取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的速度信息的获取装置与速度信息的获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲包括如下结构。
服务器1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器(Random Access Memory,RAM)1002和只读存储器(Read Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。服务器1000还包括用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1006。
大容量存储设备1006通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1006及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,大容量存储设备1006可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1006可以统称为存储器。
根据本申请的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的生物识别方法。可选地,该计算机设备可以是终端,也可以是服务器。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的生物识别方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的生物识别方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。