文章主题:智能词汇, 视频智能分析, 生活生产, 刷脸支付
一、什么是AI视频智能分析?
视频智能分析已经深入到了我们生活的各个方面和工业生产的各个领域。从我们日常生活中的刷脸支付、停车场车辆识别、工厂园区的安全火警识别,到建筑工地的工装安全帽识别以及车间零部件的智能检测,视频智能分析的技术都无处不在。简而言之,AI视频智能分析是一种利用人工智能技术来处理和分析视频数据的方法。
图1. AI视频智能分析示意图
如图1所示,监控视频与媒体视频经AI视频分析引擎分析处理,输出对象、属性、行为以及事件。
对象分析是视频分析的核心任务之一,其目的是识别具有结构化的目标,涵盖了人、车辆以及物品的位置和类别信息。这些信息能够被整合到业务系统中,从而产生实际的价值应用。例如,我们可以通过这些信息设置电子围栏来监控特定目标,或者对车流量进行统计,从而为企业提供有价值的决策依据。
属性分析是一种重要的数据分析方法,它主要针对被测目标的颜色、大小、长宽以及位置等描述性信息进行深入研究。这些属性信息经过可靠的稳定分析之后,能够产生出极具价值的业务应用。例如,在钢厂中,通过精确测量板材的长宽以及追踪板材的位置,可以大大提高生产效率和产品质量,从而为企业带来显著的经济效益。因此,属性分析在许多行业中都发挥着至关重要的作用,是实现数据驱动决策的重要基础。
行为分析是一种测量和描述被测目标在某一时间段内所产生行为及其表现的技术。相较于属性分析,它具有更为鲜明的时序特性,因此在实施过程中 technical implementation 较为复杂。行为分析可以运用于检测异常行为动作或动作流程,例如在打斗行为检测、摔跤事件检测以及操作规范执行情况的监测等方面。
事件分析作为一项综合性的工作,涵盖了对象、属性和行为等多个方面。在这个领域中,我们专注于强业务导向的分析,并利用AI视频分析引擎来实现端到端的事件智能分析。例如,我们可以通过输入对象、属性和行为等文字性描述,来检索目标视频,实现跨模态视频检索。
二、AI视频智能分析有那些技术?
图2. 视频内容分析技术
1、目标检测技术
目标检测任务是识别目标类别并定位目标在图像中位置。因此,其解决的问题为是什么?在哪?
在过去十年的时间里,深度学习在目标检测领域取得了显著的成果,各种代表性方法层出不穷。在这其中,基于anchor的one stage与two stage方法尤为值得关注。接下来,我们将详细介绍这两款经典的模型:Faster-RCNN和Yolov5,从而进一步了解其在该领域的应用及影响。
图3 目标检测示意图
在深入探讨一阶段和两阶段模型的差异之前,我们需要明确它们各自所涉及的步骤。一阶段模型侧重于利用anchor机制来预测目标类别和目标坐标,而两阶段模型则在RPN网络的基础上,进一步对生成的Proposal box进行分类和精确回归。具体来说,一阶段模型的主要优势在于其简洁的架构设计,这使得它能够快速地输出预测结果。在预测过程中,一阶段模型会使用anchor机制来预先定位潜在的目标,然后直接输出目标类别和坐标信息。相比之下,两阶段模型则需要在RPN网络的基础上,对生成的Proposal box进行进一步的处理,包括分类和精确回归。这一额外的步骤虽然增加了模型的复杂性,但却能带来更准确的预测结果。从图4中可以看出,一阶段和两阶段模型的主要区别在于Proposal box的生成方式。一阶段模型通过anchor机制直接预测目标类别和坐标,而两阶段模型则会在RPN网络的基础上生成无类别的Proposal box,然后再对其进行分类和回归。这两种不同的方法各有优缺点,选择哪一种取决于具体的应用场景和需求。
图4. 两阶段与一阶段方法架构
(1)Faster-RCNN
Faster-RCNN网络结构如图5所示,主要由两个阶段组成:stage1和stage2。在stage1中,该网络主要依赖rpn(Region Proposal Network)来生成proposal boxes。而在stage2中,其主要任务则是对已生成的proposal boxes进行分类和精确定位。下面将详细介绍这两个阶段的运作流程。
图5. Faster RCNN网络示意图
第一阶段:原始图像经backbone提取特征并输出feature map。backbone为vgg16,经16倍下采样并后接512个3*3*512的filters输出feature map。feature map的每个点作为anchor point并以此产生3种比例与3种大小的anchor box,因此,每个feature map上的每个点处负责预测9种anchor的类别与偏移量。为此,在feature map后接18个1*1*512的filters,提取18种特征,预测9个anchor为前景或背景的概率;在feature map后接36个1*1*512的filters,提取36种特征,预测9个anchor的4个坐标。我们在feature map的每个点上分配了9个anchor boxes。为训练RPN网络中的分类(二分类)与回归,需要对每个anchor进行标注,即标注每个anchor box为1(前景)或0(背景)以及每个anchor box的ground truth的坐标。对于一个60*40的feature map来说产生的anchor box为60*40*9=21.6k个,去除边界处越界的框,并经过nms处理剩余6k左右。最后通过每个anchor box的score得分排序筛选出128个前景与128个背景anchor box,利用这256个anchor box进行RPN训练。正样本的选取条件为:a) 与groundtruth具有最大IOU的anchor box;b)与任意的groudtruth的IOU大于0.7的anchor box。满足a)或b)任意一个条件则可被选为正样本。负样本的选取条件为:与所有的groundtruth的IOU均小于0.3。 IOU在0.3-0.7之间的anchor box忽略不参与训练。经过RPN网络训练,原始图像经RPN网络会输出256个proposal。
图6. RPN网络结构图
图7. Faster RCNN网络结构图第二阶段:原始图像经RPN网络产生一系列proposal boxes。这些proposal boxes会在backbone所产生的feature map上提取相应特征,由于每个proposal box的大小不同,后续网络连接了全连接层因此要求每个proposal box的输出大小恒定,为此对于每个proposal box后接ROI Pooling模块将每个proposal box的输出转换为7*7*512后接全连接层用于proposal box的分类与坐标回归。
其训练过程分为四步:
第一步:单独训练RPN网络,使用ImageNet分类任务的权重对Backbone CNN网络进行初始化。并且端到端微调用于生成region proposal(整个RPN网络权重均更新)。
第二步:单独训练Fast RCNN网络,使用ImageNet分类任务的权重对Backbone CNN网络进行初始化,使用RPN生成的proposal作为输入训练Fast RCNN网络(整个Fast RCNN网络权重均更新)。
第三步:微调RPN网络,利用Fast RCNN网络对RPN网络与Fast RCNN网络的共享卷积层进行初始化,同时固定共享卷积层,只微调RPN网络独有的部分,完成训练得到最终的RPN网络(只更新RPN网络独有的部分)。
第四步:微调Fast RCNN网络,利用第三步模型对Fast RCNN的共享卷积层进行初始化,同时固定共享卷积层,只微调Fast RCNN网络独有的部分,完成Fast RCNN网络训练(至更新Fast RCNN网络独有部分)。
经过以上四步,RPN与Fast RCNN共享卷积层保持一致,并独自享有各自的网络部分,完成region proposal生成与Fast RCNN目标检测。
总的来说Faster RCNN的核心为RPN网络,解决了传统selective search在候选框生成上的速度问题。并成为两阶段目标检测模型的典范。
(2)Yolov5
图8. yolov5结构示意图
图9. yolov5训练与推理
yolov5的网络结构示意图如图8所示,分为输入层、特征提取层、特征融合层、检测层以及输出层。
特征提取层:采用CSP-Darknet53作为Backbone。提取1/8,1/16以及1/32图像特征。其核心主要由CBS算子、C3算子以及SPPF算子构成。
特征融合层:采用FPN以及PAN作为特征融合层。YOLO系列将Faster-RCNN网络结构中的RPN层进行了改造使其能够直接预测目标类别而不是预测是否为前景。Faster-RCNN是在下采样16倍之后的特征图上做Region Proposal的预测。假如统一采用下采样16倍的特征图直接预测目标会导致小目标类别难以预测,原因是16倍下采样率网络层数较浅,用于分类的语义特征不够丰富。而如果为提高小目标语义特征继续下采样特征图,会导致小目标类别与位置预测精度下降,原因是小目标在原图中占的像素少,下采样倍数过大导致在最终的特征图中占的像素非常少,甚至小于1*1(比如20*20下采样32倍为0.625*0.625),因此特征图中用于预测的像素点可能包含其他物体或背景的特征导致类别与坐标预测精度下降。同时对于大目标的预测,深层特征能够提取丰富的语义特征用于其类别判定,但随着网络层数的加深,网络提取的特征感受野大、整体性强,但是局部细节信息不准确,而这些局部的细节特定包含着物体的位置信息,因此,网络层数的加深对于大目标的检测位置信息不够准确。为此,YOLO系列引入了多尺度检测层FPN,下采样率大的检测层感受野大,用于检测大目标;下采样率小的检测层感受野小,用于检测小目标。下采样率小的浅层特征细节与位置信息丰富;下采样率大的深层特征整体与语义信息丰富。在检测小目标时,将深层特征进行上采样并与浅层特征在通道方向上进行叠加;在检测大目标时,将融合后的浅层特征直接下采样并与深层特征在通道方向上进行叠加。特征融合层充分利用深层网络语义特征用于识别;充分利用浅层网络位置特征用于定位。
检测层:YOLO在检测层上采用了三种尺度,用于检测大、中、小三种不同尺寸的目标。在三个检测层中,每个检测层特征图上的每个点分配三个不同形状尺寸的anchor,并由检测层在每个点处预测物体类别、物体相对于每个anchor的偏移量,物体相对于anchor的宽与高。对于每个点预测3*(80 4 1)=255种元素。因此,对于20*20,40*40以及80*80的三种检测头,预测输出为8400*3*(80 4 1)=25200*85。其中,80表示80类目标,4为目标相对于anchor中心点的偏移量x,y、目标宽与anchor宽的比例因子w,目标高相对于anchor高的比例因子h,1表示目标置信度。
图10. yolov5s-6.0网络结构图
yolov5的训练与推理过程如下:
训练:
a. 定义网络结构yolov5s,m,l,x并获取每张图片的groundtruth;
b. 根据anchor与groundtruth确定正负样本并扩充正样本;
c. 根据正负样本、网络预测值pred以及groundtruth计算loss;
d. 反向传播更新网络参数,设定训练轮数与超参数,完成网络训练,保存网络参数。
推理:
a. 加载网络模型与权重,输入预测图片;
b. 网络前向传播,获取预测结果25200*85;
c. 根据置信度阈值0.45过滤部分结果,根据nms对预测结果再次过滤;
d. 输出目标检测结果x,y,w,h,c,p。
有关正负样本的确定方法如下:
yolov5的正负样本确定方法不同于Faster-RCNN中的RPN网络以及yolov3中的基于IOU划分方法。其依据的规则为groundtruth与anchor的宽高比,同时一个groundtruth可由多个anchor预测,一方面增加了目标召回的几率,另一方面增加了正样本数量缓解了正负样本不均衡问题。
图11. yolov5跨分支预测
图12. yolov5跨grid以及跨anchor预测
跨分支预测:
不同于yolov3,一个groundtruth只能由一个anchor预测,即也只能通过一个分支预测。yolov5可以通过三个分支同时对目标预测,优势如上述。如图11所示,一个groundtruth最多可由三个分支的anchor同时预测,只要其满足正样本的条件。
跨grid预测:
yolov5为扩增正样本,以负责预测目标的grid为中心,从其上、下、左、右四个方向选择两个距离groundtruth中最近的两个grid也负责预测该目标。这样预测groundtruth的grid由1个变为3个。
跨anchor预测:
yolov5采用基于宽高比的匹配策略。记groundtruth宽高与anchor的宽高比为r1, anchor的宽高与groundtruth宽高记为r2。在r1与r2中选择大值记为r。若r
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!