视频目标检测研究现状

简介: 目标检测算法从视频/图像信息中检测并定位特定目标,融合特征提取、图像处理、深度学习等技术。

     目标检测是一项计算机视觉任务,旨在让计算机识别物体的位置和类别,在本文中,目标检测的主要任务是通过监控视频图像识别车辆及其所在位置,是后续轨迹跟踪任务的基础。

     目标检测任务以 2014 年左右为分界线,随着深度学习概念的提出和快速发展,基于深度学习的目标检测相比传统的手工设计特征工程的目标检测算法有了极大的提升。Viola 和 Jones利用滑动窗口、特征筛选、检测级联首次实现了人脸的实时检测,保持同等检测精度的情况下其运算速度是其他算法的数十倍;2005 年,Dalal 和 Triggs提出方向梯度直方图描述器,即 HOG 检测器,对当时的尺度不变特征变换和形状语境作出重要改进,该检测器主要目标是解决行人检测;之后由Felzenszwalb提出的可变形部件模型 DPM 把传统目标检测算法推向了巅峰。      

     2012 年开始,卷积神经网络 CNN 开始作为图像特征提取的重要手段。2014年 Girshick 等人提出具有 CNN 深度特征的区域用于目标检测算法,即 RCNN 算法,为两阶段目标检测算法,它首先用在 ImageNet 预训练的 CNN 模型提取特征,再利用 SVM 分类器对区域内目标进行分类,该算法在 VOC2007 数据集精度相比当时性能最好的传统检测算法提高了 25 个百分点,但其运算效率非常低,检测速度极慢。      

    2014 年,何凯明等人提出空间金字塔池化网络(Spatial Pyramid Pooling Net,SPPNet),该网络能使 CNN 生成固定形状的表示,而不需要固定输入大小,并且只对图像进行一次卷积运算,在不损失任何精度的情况下,速度相比 RCNN 提高了 20倍。    

     2015 年,RCNN 原作者基于 SPPNet 进行了改进,提出 Fast RCNN 算法,同时训练检测和边界框回归,平均精度由 RCNN 的 58.5%提高到了 70%,检测速度也是 SPPNet 的 10 倍。之后不久,Ren 等人提出了 Faster RCNN 检测器,这是第一个接近实时且训练时端到端的检测框架。之前的检测算法均是利用 CNN 的深层特征,虽然有利于分类,但是却不利于边界框的回归。2017 年,Lin 等人基于 Faster RCNN 提出了特征金字塔(Feature Pyramid Networks,FPN),利用 CNN 金字塔的各层特征,使得检测网络在各种尺度目标的检测中显示出巨大提升,该结构之后也被广泛应用到各种新型检测器中。      

     2015 年,Joseph提出了首个单阶段检测器,YOLO(You Only Look Once),在超越 RCNN 的精度下,速度达到了 45fps,其快速版本更是达到了 155fps,开启了单阶段检测算法的时代,也为目标检测在工业届的部署应用提供了技术支撑。YOLO 算法提出了一个全新的设计思路,即将 CNN 应用在整个图像,用输出特征直接回归预测目标分类和边界框。后来原作者在 YOLO 基础上做了一系列改进,陆续提出了 YOLO9000、YOLOv3算法,加入 FPN 等结构,改进损失函数。2020 年 AlexAB发布 YOLOv4,集合了计算机视觉领域多种数据增强手段,尝试各种新的主干网络组合方式、应用 Mish 激活函数、Dropblock 防止过拟合策略、FPN 与 PAN 网络的结合、边界框损失函数 CIOU_Loss 的改进,在 COCO 数据集达相比 YOLOv3 平均精度提升了 10 个百分点。同年,Jocher  Glenn发布 YOLO第 5 版本,虽然命名未得到官方承认,但其实际性能得到了进一步提升。从近几年的 YOLO 系列算法的高速发展可以看出无论是学术界还是工业界都对该算法有着极大的兴趣和期待。      

     2016 年,Liu 等人提出 SSD(Single Shot MultiBox Detecter),这是与 YOLO争雄的第二款单阶段检测器,速度精度都有优势。该算法在网络的不同层检测不同尺度的对象,其他算法仅在网络顶层运行检测部分,之后也有 SSD 算法的诸多改进版本。      单阶段检测速度块,结构简单,但精度与两阶段检测器还是有一定差距,Lin等人探究其背后原因,于 2017 年提出 RetinaNet,他们认为单阶段精度落后两阶段的一个主要原因是模型训练过程出现极度的前景-背景类别不均衡现象,并提出一种新型损失函数,Focal Loss,该损失函数使得模型在分类过程中更加关注难分类的样本,该模型使得单阶段检测器达到与双阶段检测器相当的精度。但是类别不均衡问题并不会得到完美解决,该领域仍需大量的实验和研究。      

     吕石磊等人使用轻量级骨干网络 MobileNet-v2 对 YOLOv3 进行改进,提高模型在 CPU 端推理速度,在特定目标识别任务中,达到了较高的精度;李继辉将 CBAM 注意力机制引入 YOLOv3 网络中,同时使用剪枝量化手段使算法在嵌入式开发板 NVIDIA  TX2 上达到了 24FPS 接近实时的处理速度;周方禹将 SE 注意力机制和双向金字塔特征融合机制引入目标检测网络,在 PASCAL  VOC 2007/2012 等公开数据集和安全帽私有数据集验证了改进模型的有效性。      

     目标检测算法作为计算机视觉的基础任务,近几年发展飞快,精度不断提升,但在应用时需要根据实际场景对速度和精度做权衡。本文研究对象为高速公路监控视频流,对算法的实时性有更高的要求,同时不同类别车辆数量差距巨大对检测效果也有较大影响。


相关文章
|
运维 Linux 网络安全
推荐几款SSH客户端
对于经常使用Linux服务器的,应该都对SSH比较熟悉吧!特别是做运维的,而对于做Linux或Android系统开发的,一般会在公司搭建一台性能强劲的服务器,然后大家一起在上面做开发。大家一般都是通过SSH客户端登录到服务器上进行开发。那接下来给大家推荐几款平时常用的SSH客户端。
|
算法框架/工具
成功解决INFO: pip is looking at multiple versions of keras-preprocessing to determine which version is c
成功解决INFO: pip is looking at multiple versions of keras-preprocessing to determine which version is c
|
7月前
|
人工智能 缓存 自然语言处理
AI 编程如何在团队中真正落地?
如果你是技术负责人、团队推动者或希望在团队中引入 AI 编程工具的工程师,这篇文章将为你提供一条可借鉴、可落地、可优化的路径。
1214 24
AI 编程如何在团队中真正落地?
|
机器学习/深度学习 数据采集 运维
数据分布检验利器:通过Q-Q图进行可视化分布诊断、异常检测与预处理优化
Q-Q图(Quantile-Quantile Plot)是一种强大的可视化工具,用于验证数据是否符合特定分布(如正态分布)。通过比较数据和理论分布的分位数,Q-Q图能直观展示两者之间的差异,帮助选择合适的统计方法和机器学习模型。本文介绍了Q-Q图的工作原理、基础代码实现及其在数据预处理、模型验证和金融数据分析中的应用。
1946 11
数据分布检验利器:通过Q-Q图进行可视化分布诊断、异常检测与预处理优化
|
缓存 网络协议 开发者
HTTP1.0、HTTP1.1 、HTTP2.0和HTTP3.0 的区别【面试题】
HTTP1.0、HTTP1.1 、HTTP2.0和HTTP3.0 的区别【面试题】
2153 0
HTTP1.0、HTTP1.1 、HTTP2.0和HTTP3.0 的区别【面试题】
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2融合YOLO-MS的MSBlock : 分层特征融合策略,轻量化网络结构
【YOLO11改进 - C3k2融合】C3k2融合YOLO-MS的MSBlock : 分层特征融合策略,轻量化网络结构
|
机器学习/深度学习 自然语言处理 机器人
基于深度学习的智能语音机器人交互系统设计方案
**摘要** 本项目旨在设计和实现一套基于深度学习的智能语音机器人交互系统,该系统能够准确识别和理解用户的语音指令,提供快速响应,并注重安全性和用户友好性。系统采用分层架构,包括用户层、应用层、服务层和数据层,涉及语音识别、自然语言处理和语音合成等关键技术。深度学习模型,如RNN和LSTM,用于提升识别准确率,微服务架构和云计算技术确保系统的高效性和可扩展性。系统流程涵盖用户注册、语音数据采集、识别、处理和反馈。预期效果是高识别准确率、高效处理和良好的用户体验。未来计划包括系统性能优化和更多应用场景的探索,目标是打造一个适用于智能家居、医疗健康、教育培训等多个领域的智能语音交互解决方案。
|
存储 人工智能 OLAP
深度|大模型时代下,基于湖仓一体的数据智能新范式
本次文根据峰会演讲内容整理:分享在大模型时代基于湖仓一体的数据产品演进,以及我们观察到的一些智能开发相关的新范式。
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记十四:YOLOV5环境搭建及测试全过程
本文详细记录了在Windows 10环境下从零开始搭建yolov5环境并进行测试的全过程,涵盖环境配置、依赖安装及模型测试等关键步骤。文章首先介绍了所需环境(Python 3.8、yolov5-5.0),接着详细说明了如何使用Miniconda3创建与激活虚拟环境,并通过具体命令演示了如何下载安装yolov5及相关依赖库。最后,通过一系列命令展示了如何下载预训练模型并对示例图像进行目标检测,同时解决了一些常见错误。适合初学者跟随实践。如需转载,请注明原文出处。
1426 0
|
消息中间件 存储 Kafka
MetaQ/RocketMQ 原理问题之RocketMQ DLedger融合模式的问题如何解决
MetaQ/RocketMQ 原理问题之RocketMQ DLedger融合模式的问题如何解决
229 2