目标检测发展方向(1)

2023-05-16

从目标检测发展到目标追踪

** 目标检测(监督学习)
FasterRCNN、CascadeRCNN
YOLOX、Complex-YOLO
SSD、RetinaNet,FOCS、ATSS
CornerNet、CenterNet
BOXInst

** 目标检测(无监督学习)
SimCLR
MoCov1
MoCov2

目标跟踪

1、MOT
FairMOT
FastMOT
DeepMOT
2、DeepSORT
在这里插入图片描述

目标检测发展历史

模型综述

该部分内容是我阅读知乎时候发现很好自己稍微整理一下:
从近几年CVPR、ICCV、ECCV三大会议及NIPS上看深度学习已经成为研究计算机视觉的一种标准。主流的应用方向:人脸识别、图像识别、视频识别、行人检测、大规模场景识别等。
个人理解国内这些技术起源于亚研院,例如曹旭东、孙剑、何凯明。其中有人在亚研已经从事13年之久的技术与研究,这从实际线上看刚好接上了郑南宁老师曾经研究的模式识别在数字图像处理。刚好西交大和亚研院有个实习和研发的合作,暂时个人理解为国内图像的学派鼻祖。
深度学习中的物体检测与特点:
首先很多深度学习平台的算法或多或少的模型来自于opencv的数字图像处理基础,对于物体检测深度学习与传统方法的优缺点根据知乎总结如下:
一种基于滑动窗口的搜索框架,把一张图分成若干不同位置不同尺度的子图针对每一个子图使用分类器判别是非包含物体部分。传统方法对不同的物体需要设计不同的特征提取方法和分类算法。
人脸检测:Harr特征+Adaboosting的分类器
行人检测:HOG(histogram of gradients)+support Vector machine
普通物体:HOG+DPM(deformable part model)

深度学习方法:
图像识别比图像分类多一个回归的任务
RCNN、fastRCNN(Ross Girshick)、faster RCNN(任少卿、何凯明、孙剑、Ross)。使用CNN判别候选区域的类别(分类工作),使用预计算技术sharing feature map加速模型训练和物体检测速度,同时共享特征图提高计算ROI的速度(使用了RPN),其次采用全卷积海量滑动窗口分类检测物体。
RCNN系列算法检测步骤:第一步实现分类第二步实现回归,由于改进现在也很多端到端一步方法yolo,Unified,Real-Time Object Detection,Single Shot MultiBox Detector,特点物体检测样本正负极端不均衡,two-stage-cascade更好对应非均衡。所以端到端需要更多研究研究,不过最近很多方法,上海交大等研究模型进步很快。
法国Inria研究所的研究人员Nikos paragios描述原因及特点。
第一深度学习可以做的传统方法无法达到的高精度准确,工业上非常实用。
第二深度学习的算法通用性强fasterRCNN都可以用在检测人脸、行人、一般物体。
第三深度学习获取特征有很强的迁移能力,知识表示能力很强。例如ImageNet训练完很多场景都能用。
第四工程维护成本低,主要是矩阵乘和卷积通过现有的层可以开发复杂网络结构实现功能的融合,可以对比维护Boosting、Random Forest。

深度学习与机器学习的区别:
深度学习是学习输入到输出的多层的复合映射,二而机器学习只是一种映射。学习目标和学习方法可以通过调节层之间卷积或全连接的关系或其他映射得到不同的知识表示。亚研院用RF做过一个新映射关系研究等。
商汤CVPR2016年发布的论文是目前工业级主要的应用,四篇论文分别是《物体分割》、《服饰识别搜索术》、《行为识别与定位》、《人脸检测中级联卷积神经网络联合训练》,基础技术Alexnet、VGGnet、GoogleNet、ResNet、DensNet完成任务:检测、识别、分割、特征定位、序列学习。
第一篇主要解决的学术问题:Instance segmentation(Simultaneous Detection and Segementation)
主要解决了object Detection检测和语义分割Semantic Segmentation需要得到物体精确的边界信息和区分不同物体。
从语义分割上升到场景理解,解决joint cascade face detection and alignment,facial landmark detection by deep mulit -task learning。有多个标注的任务并列Multi-Task Learning。
所以多感知学习是非监督学习的方向主要是借助动态规划和图解决学习局限,实现迁移学习基础上的增强学习
Deep Residual learing for image Recognition和Structural—RNN:deep learning Spatio-Temporal Graphs值得阅读。
论文太对了,可以阅读最近几年CVPR、ECCV、ICCV的最近论文和最佳学术论文。
孙剑和何凯明等主要解决了超过20层的训练和测试不再下降,随着层数增加loss会逐渐增加。通过跨层反传skip-layer把loss反传到中间的很多层,解决梯度传播问题,同时提出一种思路:resNet通过skip-layer可以做到多模型融合。

模型优化有本书《解析卷积神经网络》第四章有压缩方案
前端压缩和后端压缩,分别是剪枝、低秩近似和参数量化。
前端方法:
剪枝,思想来自决策树解决冗余参数。流程
1、衡量神经元的重要程度,L1和L2范数来衡量channel维滤波器的重要程度
2、按照重要程度降序删除影响小神经元
3、网络微调
4、循环操作
一种基于滤波器权重的剪枝一种基于数据驱动根据某一个channel输出的稀疏程度,也可能反应出了滤波器权重的稀疏程度。另外计算滤波器对于损失函数的影响程度减去小滤波器。所以适用于前端压缩技术,对网络破坏性小。
低秩近似(后端)
卷积的基本操作矩阵的相乘和相加,权重矩阵的特征比较巨大和稠密,计算开销和存储很大,所以进行矩阵的若干个小规模矩阵近似重构。奇异值分解SVD分解全链接层的权重。
但是由于这种方法的本质是重构近似矩阵,大型神经网络秩很高不一定能用,所以适合小网络。

参数量化
权重聚类,通过类别索引代替原权重矩阵。步骤如下:
1、归纳权重代表,代表某一类权重的具体数值。
2、将代表数存在码本中
3、将原矩阵中的权重替换成索引标量表示

采用思想:二值网络、知识蒸馏、紧凑网络结构技术。
相关机构:云从研究院、《ICLR2016Bestpaper》song Han、ISCA2018、
发展方向:Non-fine-tuning or Unsupervised Compression
self-adaptive Compression
Network Acceleration for other tasks
Hardware-Software Co-design
Binarized Neural Networks 等VALSE2018深度神经网络加速与压缩

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测发展方向(1) 的相关文章

  • 库实现之分配内存对齐的程序aligned_malloc和aligned_free函数

    分配内存管理对齐的程序 void aligned malloc int size int alignment void ptr 61 void malloc size 43 alignment if ptr void aligned 61
  • 解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file

    一 问题 运行hello程序时 xff0c 用到了自己编写的动态库 在目录 usr local lib目录下 xff0c 运行时出现 error while loading shared libraries libhello so 1 ca
  • 解决warning: incompatible implicit declaration of built-in function 'malloc'

    由于代码中使用了malloc函数和字符串函数 xff0c 编译时出现错误 warning incompatible implicit declaration of built in function malloc warning incom
  • 解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题

    在Intel i5 4460的主机上安装Ubuntu 14 04 xff08 64位 xff09 xff0c 虚拟机使用的是Vmware 10 0 0 build 1295980 在新建好虚拟机 xff0c 运行时候就出现了VMware W
  • 【CentOS7】yum安装时出现错误Errno 14 Couldn't resolve host的解决办法

    在安装python sphinx时出现Errno 14 Couldn 39 t resolve host xff0c 什么东东 xff1f root 64 localhost jansson 1 2 yum install python s
  • SAS (Serial Attached SCSI) 技术详解

    xff08 一 xff09 什么是SAS SAS xff08 Serial Attached SCSI xff09 即串行SCSI技术 xff0c 是一种磁盘连接技术 xff0c 它综合了并行SCSI和串行连接技术 xff08 如FC SS
  • mdadm命令解析

    mdadm命令解析 一 在linux系统中目前以MD Multiple Devices 虚拟块设备的方式实现软件RAID 利用多个底层的块设备虚拟出一个新的虚拟设备 并且利用条带化 stripping 技术将数据块均匀分布到多个磁盘上来提高
  • fio使用指南

    这个文档是对fio 2 0 9 HOWTO文档的翻译 xff0c fio的参数太多了 xff0c 翻译这个文档时并没有测试每一个参数的功能和使用方法 xff0c 只有少量参数做了试验 xff0c 大部分的参数采用的是根据字面翻译或是个人理解
  • CentOS系统安装VNC详细步骤

    下面是总结的详细配置步骤 xff0c 分享给大家 一 VNC 远程控制 CentOS 系统 1 查看 CentOS 系统中是否有安装 vnc xff08 默认安装 xff09 输入命令 xff1a rpm q vnc vnc server
  • 怎么看电脑CPU是几核?

    对硬件的东西知之甚少 xff0c 保存在此 xff0c 以便以后查阅 方法一 鼠标右键桌面最下方的任务栏 任务管理器 性能 查看cpu使用记录 xff0c 有几个窗口就是几核心cpu xff1b 方法二 右键 我的电脑 属性 硬件 设备管理
  • linux批量远程控制

    前提 xff1a 勉ssh秘钥登陆 使用pdssh 1 配置主机列表 web list root 64 192 168 1 2 22 root 64 192 168 1 3 182 22 root 64 192 168 1 4 181 22
  • DataBinding详解

    一 开启DataBinding 在build gradle文件添加 android dataBinding enabled true 二 生成DataBinding布局 1 光标在布局文件的根布局 gt 点击Alt 43 Enter gt
  • python批量删除txt文件中指定行

    应用场景 xff1a 在深度学习项目中 xff0c 常常会处理各种数据集 比如已经标注好的数据标签有三类 xff1a 人形 汽车 猫 xff0c 有一个新项目 xff0c 只需要识别人形 xff0c 那就需要把这个数据集进行处理 xff0c
  • Python.循环

    一 循环结构 xff1a 是程序控制流程的三大结构之一 xff08 三大手段 方法之一 xff09 通过指定的条件将循环体进行有限次或无限次 xff08 死循环 xff09 地重复运行 在Python中主要用到while和for函数实现 二
  • bind详细学习

    DNS DNS xff1a Domain Name Service 应用层协议 xff08 C S 53 udp 53 tcp xff09 域名 分类 xff1a 最多可以有127级域名 根域一级域名 xff1a Top Level Dom
  • C++ 指针常量、常量指针和常指针常量

    1 指针常量 如果在定义指针变量时候 xff0c 指针变量前用const修饰 xff0c 被定义的指针变量就变成了一个指针类型的常变量 xff0c 指针类型的常变量简称为指针常量 格式如下 数据类型 const 指针变量 61 变量名 xf
  • Jetpack初尝试 NavController,LiveData,DataBing,ViewModel,Paging

    文章目录 插件配置NavController 使用1 创建xml2 创建Activity3 res 创建navigation nav garden和说明流程 ViewModel 负责页面的数据LiveData onChangedObserv
  • 移动固态硬盘删除分区(包括EFI分区)

    新换电脑原始的固态硬盘大小是500G xff0c 担心不够用 xff0c 但电脑只有一个放置固态硬盘的位置 xff0c 所以打算将原装的500G固态换成1T固态 xff0c 原始500G固态改成移动固态硬盘 原始500G固态一共有4个分区
  • Linux-OneNote的安装和使用

    P3X OneNote是Linux的非官方应用程序 xff0c 允许用户直接从Linux平台创建和共享笔记 安装 第一种方法 xff1a Snap安装 此部分转载自链接 在Linux操作系统上使用非官方版OneNote最快捷 最简单的方法是
  • Visual Studio运行控制台程序一闪而退的解决方法!

    初学者在使用Visual Studio各个版本时 xff0c 在进行调试运行时 xff0c 会发现控制台总是一闪即退 xff0c 输出结果的窗口无法保持打开状态 xff01 其实问题是你执行时按的是F5还是Ctrl 43 F5 xff0c

随机推荐