关注微信公众号“xiaolvyuantech”或微信搜索“效率源科技”加关注,
了解更多技术知识!
一、认识视侦检索
1、视侦检索定义
视频侦查检索技术(简称视侦检索)是指利用高性能计算机对视频数据进行快速处理,对视频数据帧进行检测、分类、识别、跟踪,遍历所有数据帧后即可得到所有运动目标的轨迹、特征信息,办案民警可根据时间、位置、行进方向、嫌疑人衣着等信息对视频进行过滤,找出符合特征的视频片段,快速从中获取更多信息,提升效率,节省人力成本。
2、视侦检索的意义
视频监控具有客观详实性、反复使用性、信息拓展性等特点,这些特点使其在侦查破案、打击犯罪中发挥着不可替代的作用。目前,监控摄像头已遍布中国大地的每个街头,昼夜不停地监视和录像。
视频监控在改善社会治安的同时,也产生了海量视频信息。在海量的视频中查找我们需要的信息,无疑是大海捞针,给视频监控带来巨大的挑战。传统的人海战术,因效率低下以及容易错过关键目标,容易使视频监控处于“监而不控”的状态。如何化解这一危机,是现代安防的热点和难点。视频检索和视频浓缩是解决这一问题的关键,其中视频检索技术已经逐渐成熟并开始走向市场。
3、视频数据来源
视频数据来源非常广泛,常见的有天网视频、路口卡口、小区监控、门店监控等各种固定监控探头,其中视频数据的格式和图像制式也是多种多样,监控设备硬件出自不同厂商,暂时还没有统一的标准。
二、视频解码是视侦检索的前提
视频解码是视侦检索的前置条件,其解码速度直接对检索速度产生影响。检索是非常耗时的一种操作,经测试,对高清(1920x1080、1280x720)视频直接检索时,通常只能达到实时的速度,这显然对检索的意义不大。怎样尽可能快,尽可能少漏检目的是检索算法改进的方向。目前,在暂时没有更好方法的情况下,对视频进行快速解码和对图像帧进行缩放,以减少检索算法的数据输入,是一种非常有效的方法。
三、视频解码具体解决方案
针对视频解码,数据恢复四川省重点实验室科研人员提供的具体解决方案是:使用统一API的方式实现视频解码框架,对输入输出参数和数据类型进行统一。具体来说,又分为通用格式解码和专用格式解码:
1、通用格式解码
FFmpeg是一套可以用来记录、转换数字音频、视频一套开源软件,它包含了非常先进的音频、视频编解码库,并具体高可移植性,多款视频播放软件中使用了其技术。
这里,我们仅需要使用它的视频解码功能,经测试,FFmpeg目前版本已经支持常用的计算机视频格式asf/avi/rm/flv/mkv/mov/mp4/3gp等,所以与其兼容的监控视频都可以采用FFmpeg来进行解码处理,并将解码输出图像进行缩放处理。
经测试1080p视频图像缩放0.4倍时处理时间与漏检率之比是最好的,速度约12倍左右;视频图像缩放0.25倍时,速度约为正常播放时的20倍左右,1小时视频可以在3分钟内检索完毕。720p视频0.25倍时可达48倍检索速度,640x480的视频可达80倍检索速度。
关键C++代码:
//在上下文是指定输出高宽*倍数
swScaleCtx = sws_getContext(
videoCodecCtx->width, videoCodecCtx->height, //视频帧高宽
videoCodecCtx->pix_fmt, //视频帧数据格式
videoCodecCtx->width * outZoom, videoCodecCtx->height * outZoom, //输出高宽
dstFormat, //输出帧格式,使用PIX_FMT_YUV420P
SWS_POINT, NULL, NULL, NULL);
2、专用格式解码
对于那些与计算机视频不兼容的监控厂商专用视频格式,只能使用厂商提供的SDK进行解码,使用统一的解码框架,统一输入输出参数和数据类型,其中图像缩放部分可以使用FFmpeg提供的转换方法,因为其针对CPU多媒体指令集进行了优化,效率非常高。
四、总结:
视侦检索能够快速、有效地从海量监控视频中搜索关键信息,提升侦查办案的效率。而要进行视侦检索,前置条件是要进行视频解码。目前,市场上主要采用FFmpeg解决方案进行视频解码,而数据恢复四川省重点实验室科研人员提供的方案,使用统一API的方式实现视频解码框架,输入输出参数和数据类型是统一的,方便扩展新的第三方监控厂家专用视频格式,而且方案对解码图像做了缩放处理,使解码过程变得更高效。目前,此项方案已经成功应用在了效率源VIE视频全能提取系统、VICP视频侦查应用平台等产品中,取得了很好的效果。关于视侦检索技术的其它方面知识,将在以后文章中继续呈现,敬请期待!