你不得不了解的目标检测发展史

【Transformer】基于Transformer的目标检测算法综述 基于Transformer的目标检测算法的研究综述 阅读详情

计算机视觉

计算机视觉中的三大类任务:

  • 分类 Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标
  • 定位 Location:解决“在哪里”的问题,即定位出这个目标的位置
  • 检测 Detection:解决“是什么?在哪里”的问题,即定位出这个目标的位置并且知道目标物是什么
  • 分割 Segmentation:分为实例分割和场景分割,解决“每一个像素属于哪个目标物或场景”的问题。

一、目标检测

目标检测可以理解为是物体识别和物体定位的综合,不仅仅要识别物体属于哪个分类,更重要的是得到物体在图片中的具体位置。

为了完成这两个任务,目标检测模型分为两类。一类是two-stage算法;一类是one-stage算法。对于two-stage检测方法来说,它先生成了可能包含物体的候选区域Region Proposal,然后对这个候选区域做进一步的分类和校准,得到最终的检测结果,代表方法有R-CNN系列方法。而对于one-stage检测算法直接给出最终的检测结果,没有经过生成候选区域的步骤,典型代表为YOLO和SSD。

目标检测算法的3个模块:第一个是检测窗口的选择;第二个是图像特征的提取;第三个是分类器的设计。

补充基础知识之检测窗口的选择

1.滑动窗口法

首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non-Maximum Suppression, NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。

2.选择性搜索(Selective Search)

为了在滑动窗口检测器的基础上提高搜索速度,可以采用候选区域方法(region proposal method)创建目标检测的感兴趣区域(ROI)。
图像中物体可能存在的区域应该是有某些相似性或者连续性区域的。因此,选择搜索基于上面这一想法采用子区域合并的方法进行提取bounding boxes候选边界框。首先,对输入图像进行分割算法产生许多小的子区域。其次,根据这些子区域之间相似性(相似性标准主要有颜色、纹理、大小等等)进行区域合并,不断的进行区域迭代合并。每次迭代过程中对这些合并的子区域做bounding boxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。

3.区域候选网络(Region Proposal Network RPN)

anchor是固定尺寸的bbox。具体作法是:把feature map每个点映射回原图的感受野的中心点当成一个基准点,然后围绕这个基准点选取k个不同的尺寸和比例的anchor。对于W×H大小的卷积feature map(通常为2400),总共有W×H×k个锚点。默认使用3个尺度和3个纵横比,在每个滑动位置上产生k=9个anchor。在feature map上的每个特征点预测多个region proposals。例如对于像素点个数为 51×39 的一幅feature map上就会产生 51×39×9 个候选框。虽然anchors是基于卷积特征图定义的,但最终的 anchors是相对于原始图片的。

二、Two-Stage算法

1.R-CNN(Selective Search +CNN +SVM)

Region CNN由Ross Girshick提出,是利用深度学习进行目标检测的里程碑之作,奠定了这个子领域的基础。

步骤:

  • 1.候选区域生成:一张图像采用 Selective Search生成1k~2k个候选区域Region Proposal
  • 2.特征提取:对每个候选区域,使用深度卷积网络提取CNN特征
  • 3.类别判断:特征送入每一类的SVM分类器,判别是否属于该类
  • 4.位置精修:使用回归器细修候选框位置

缺点:

  • 1.重复计算。R-CNN虽然不在是穷举,但通过Proposal(Selective Search)的方案依然有两千个左右的候选框,这些候选框都需要单独经过backbone网络提取特征,计算量依然很大,候选框之间会有重叠,因此有不少重复计算。
  • 2.训练测试不简洁。候选区域提取、特征提取、分类、回归都是分开操作,中间数据还需要单独保存。

2.SPP-NET(ROI Pooing)

SPP:Spatial Pyrmid Pooling(空间金字塔池化)。

CNN一般都含有卷积部分和全连接部分。其中,卷积层不需要固定尺寸的图像,而全连接层是需要固定大小的输入。
所以当全连接层面对各种尺寸的输入数据时,就需要对输入数据进行crop(crop就是从一个大图中扣出网络输入大小的patch,比如227×227),或warp(把一个边界框bounding box的内容resize成227×227)等一系列操作以统一图片的尺寸大小。

SPP Net的作者何凯明考虑到,既然由于全连接FC层的存在,普通的CNN需要通过固定输入图片的大小来使得全连接层的输入固定。那借鉴卷积层可以适应任何尺寸,为何不能在卷积层的最后加入某种结构,使得后面全连接层得到的输入变成固定的呢?

这个“化腐朽为神奇”的结构就是spatial pyramid pooling layer。下图便是R-CNN和SPP Net检测流程的比较:

Spatial Pyramid Pooling层,对卷积特征图像进行空间金字塔采样获得固定长度的输出,可对特征层任意长宽比和尺度区域进行特征提取。具体做法是对特征图像区域进行固定数量的网格划分,对不同宽高的图像,每个网格的高度和宽度是不规定的,但对划分的每个网格进行池化,这样就可以得到固定长度的输出。SPP操作示意图:

步骤:

  • 1.首先通过选择性搜索,对待检测的图片进行搜索出2000个候选窗口。这一步和R-CNN一样。
  • 2.特征提取阶段。这一步就是和R-CNN最大的区别了,同样是用卷积神经网络进行特征提取,但是SPP-Net用的是金字塔池化。这一步骤的具体操作如下:把整张待检测的图片,输入CNN中,进行一次性特征提取,得到feature maps,然后在feature maps中找到各个候选框的区域,再对各个候选框采用金字塔空间池化,提取出固定长度的特征向量。而R-CNN输入的是每个候选框,然后在进入CNN,因为SPP-Net只需要一次对整张图片进行特征提取,速度是大大地快啊。江湖传说可一个提高100倍的速度,因为R-CNN就相当于遍历一个CNN两千次,而SPP-Net只需要遍历1次。
  • 3.最后一步也是和R-CNN一样,采用SVM算法进行特征向量分类识别。

3.Fast R-CNN(Selective Search +CNN + ROI)

Fast R-CNN主要优化了两个问题:

  • 1.提出ROI Pooling池化层结果,解决了候选框子图必须将图像裁剪缩放到相同尺寸大小的问题。由于CNN网络的输入图像尺寸必须是固定的某一个固定大小(否则全连接没法计算),故R-CNN中对大小形状不同的候选框,进行了裁剪和缩放,使得他们达到相同的尺寸。这个操作既浪费时间,又容易导致图像信息丢失和形变。fast R-CNN在全连接层之前插入了ROI pooling层,从而不需要对图像进行裁剪,很好的解决了这个问题。

    • ROI Pooling的具体操作如下:

      • a.将region proposal划分成h * w大小的网格;
      • b.对每一个网格做MaxPooling(即每一个网格对应一个输出值);
      • c.将所有输出值组合起来便形成固定大小为h * w的feature map。

      这样我们就可以从不同大小的方框得到固定大小的相应 的feature maps。值得一提的是,输出的feature maps的大小不取决于ROI和卷积feature maps大小。ROI pooling 最大的好处就在于极大地提高了处理速度。

  • 2.提出多任务损失函数思想,将分类损失和边框定位回归损失结合在一起统一训练,最终输出对应分类和边框坐标。

步骤:

  • 1.首先以整张图片为输入,利用CNN得到图片的特征层。
  • 2.然后,利用selective search算法得到原始图像空间中的候选框,并将这些候选框投影到特征层。
  • 3.针对特征层上的每个不同大小的候选框,使用RoI池化操作,得到固定维度的特征表示。
  • 4.最后通过两个全连接层,分别用softmax分类以及回归模型进行检测。

4.Faster R-CNN(RPN +CNN + ROI)


R-CNN和fast R-CNN均存在一个问题,那就是由选择性搜索来生成候选框,这个算法很慢。Faster R-CNN针对这个问题,提出了RPN网络来进行候选框的获取,从而摆脱了选择性搜索算法,也只需要一次卷积层操作,从而大大提高了识别速度。
主要步骤:

  • 1.卷积层。原始图片先经过conv-relu-pooling的多层卷积神经网络,提取出特征图。供后续的RPN网络和全连接层使用。Faster R-CNN不像R-CNN需要对每个子图进行卷积层特征提取,它只需要对全图进行一次提取就可以了,从而大大减少了计算时间。
  • 2.RPN层,Region Proposal Networks。RPN层用于生成候选框,并利用softmax判断候选框是前景还是背景,从中提取前景候选框,并利用bounding box regression调整候选框的位置,从而得到特征子图,称为proposals。
  • 3.ROI层。它将大小尺寸不同的proposal池化成相同的大小,然后送入后续的全连接层进行后续的全连接层进行物体分类和位置调整回归。
  • 4.分类层。利用ROI层输出的特征图proposal的类别,同时再次对bounding box进行regression从而得到精准的形状和位置。

5.R-FCN

R-FCN是Faster-RCNN的改进型,其速度提升了2.5倍以上,并略微提高了准确度。其主要贡献是提出Position-sentive score maps来解决目标检测的位置敏感性问题。

位置敏感性

分类网络的位置不敏感性

对于分类任务而言,我希望我的网络有一个很好的分类性能,随着目标在图片中不断的移动,但我的忘了仍然可以准确的将你区分为对应的类别。如上图左边所示,不管你这个鸟在图片中如何移动,我的分类网络都能准确的将你分类为鸟。即我的网络有很好的区分能力。

检测网络的位置敏感性

对于检测任务而言,我希望我的网络有一个很好的检测性能,可以准确的输出目标所在的位置值。随着某个目标的移动,我的网络希望能够和它一起移动,仍然能够准确的检测到它,即我对目标位置的移动很敏感。我需要计算对应的偏差值,我需要计算我的预测和GT的重合率等。但是,深的全卷积网络不具备这样的一个特征。

总之分类网络的位置不敏感性和检测网络的位置敏感性的一个矛盾问题,而我们的目标检测中不仅要分类也要定位,那么如何解决这个问题呢,R-FCN提出了Position-sensitive score maps来解决这个问题。

步骤:

  • 1.图片首先进图特征提取网络主干网络;
  • 2.然后进行分支操作;
    • a.RPN网络没什么改变,输出两个损失函数判断anchor是否是前景,然后筛选出特定个数的候选框;
    • b.下面支路进行卷积输出即为position-sensitive score map,本层不改变大小,输出维度是重点:K * K * (C+1)
    • c.还需一个卷积支路输出 K * K * 4通道的特征。称作位置敏感得分映射,用于回归位置修正。

骨干架构(backbone architecture)

R-FCN使用的是残差网络的ResNet-101结构,ResNet-101采用的是100层卷积+Global Averaging Pooling(GAP)+ FC分类器的结构,ResNet101卷积的最后一层的Feature Map的个数是2048。在R-FCN中,去掉了ResNet的GAP层和fc层,并在最后一个卷积层之后使用1024个1×1×2048卷积降维到1024-d,然后再使用k2*(C+1)个1×1×1024-d的卷积生成k2*(C+1)-d的位置敏感卷积层。其中ResNet部分使用在ImageNet上训练好的模型作为初始化参数。

位置敏感网络

该层的大小和ResNet-101最后一层的大小相同,维度是k^2×(C+1)。C+1C+1为类别数,表示CC类物体加上1类背景。k是一个超参数,表示把ROI划分grid的单位,一般情况下,k=3。在R-FCN中,一个ROI区域会被等比例划分成一个k×k的grid,每个位置为一个bin,分别表示该grid对应的物体的敏感位置(左上,正上,右上,正左,正中,正右,左下,正下,右下)编码。

三、One-Stage算法

1.YoLoV1

步骤:

  • 1.给定一个输入图像,YoLoV1会把图像看成一个s * s 的栅格,这的的s等于7。即首先将图像划分成7 * 7 的网格;
  • 2.对于上述每个栅格,每个栅格预测两个bounding boxe以及栅格含有对象的置信度,同时每个栅格还会预测栅格所属对象类别。
  • 3.根据上一步可以预测出的目标窗口,然后根据阈值去除可能性比较低的目标窗口,然后根据NMS去除冗余窗口。

架构:

YOLOv1由24层卷积层,4个最大池化层和2个全连接层组成。我们关注最后的输出是7x7x30,这里是7x7代表输入图像的7x7栅格,一一对应,30的前十个代表2个bounding boxes的坐标以及对象的置信度,后20个代表VOC数据集的20个类别。

标签定义:

YOLOv1是一个监督式的网络,有监督那就有标签,来看看标签是怎样定义,首先看狗,它被一个框框起来了,这个框就是真实的标签,框对应的中心在哪个栅格,就代表当前栅格是狗所在的栅格,这个栅格里就会记录狗的标签信息,自行车和小车和狗类似。

2.SSD(Single Shot MultiBox Detector)

SSD的全称是Single Shot MultiBox Detector,Single Shot表示SSD是像YOLO一样的单次检测算法,MultiBox指SSD每次可以检测多个物体,Detector表示SSD是用来进行物体检测的。
SSD做出的改进如下:

  • 使用了类似Faster R-CNN中RPN网络提出的锚点(Anchor)机制,增加了bounding box的多样性;
  • 使用全卷积的网络结构,提升了SSD的速度;
  • 使用网络中多个阶段的Feature Map,提升了特征多样性。

SSD的网络结构

  • 1.卷积层

SSD论文采用了VGG16的基础网络,其实这也是几乎所有目标检测神经网络的惯用方法。先用一个CNN网络来提取特征,然后再进行后续的目标定位和目标分类识别。

  • 2.目标检测层

这一层由5个卷积层和一个平均池化层组成。去掉了最后的全连接层。SSD认为目标检测中的物体,只与周围信息相关,它的感受野不是全局的,故没必要也不应该做全连接。SSD的特点如下

  • a.多尺寸feature map上进行目标检测
    每一个卷积层,都会输出不同大小感受野的feature map。在这些不同尺度的feature map上,进行目标位置和类别的训练和预测,从而达到多尺度检测的目的,可以克服yolo对于宽高比不常见的物体,识别准确率较低的问题。而yolo中,只在最后一个卷积层上做目标位置和类别的训练和预测。这是SSD相对于yolo能提高准确率的一个关键所在。
    在每个卷积层上都会进行目标检测和分类,最后由NMS进行筛选,输出最终的结果。多尺度feature map上做目标检测,就相当于多了很多宽高比例的bounding box,可以大大提高泛化能力。
  • b.多个anchors,每个anchor对应4个位置参数和21个类别参数

和faster R-CNN相似,SSD也提出了anchor的概念。卷积输出的feature map,每个点对应为原图的一个区域的中心点。以这个点为中心,构造出6个宽高比例不同,大小不同的anchor(SSD中称为default box)。每个anchor对应4个位置参数(x,y,w,h)和21个类别概率(voc训练集为20分类问题,在加上anchor是否为背景,共21分类)。如下图所示

  • 3.筛选层

和yolo的筛选层基本一致,同样先过滤掉类别概率低于阈值的default box,再采用NMS非极大值抑制,筛掉重叠度较高的。只不过SSD综合了各个不同feature map上的目标检测输出的default box。

SSD基本已经可以满足我们手机端上实时物体检测需求了,TensorFlow在Android上的目标检测官方模型ssd_mobilenet_v1_android_export.pb,就是通过SSD算法实现的。它的基础卷积网络采用的是mobileNet,适合在终端上部署和运行。

3.YoLov2

  • 1.Better:批归一化,高分辨分类器,锚盒,维度聚类,细粒度特征以及多尺度训练。
    • a.批归一化的效果则是将数据分布映射到相对紧凑的分布,让网络可以更快以及更好地学习,避免过拟合,使用批归一化这一操作提升了2%mAP。
    • b.高分辨率的分类器,在YOLOv1中,将在imagenet预训练好的网络迁移到目标检测网络中,而训练imagenet数据集的输入的大小和目标检测网络的输入尺寸是不一致的,这意味目标检测网络需要同时取学习目标检测而且还要去适应新的分辨率输入,所以YOLOv2使用目标检测输入的分辨率微调了分类网络,然后迁移到目标检测网络中去,这样,目标检测网络就可以专攻学习目标检测了,通过这一技巧,使mAP上升了4%。
    • c.锚盒:在YOLOv1中,最后是使用全连接层来生成bounding box的坐标,然而使用全连接的缺点在于丢失了特征图的空间信息,造成定位不准,作者借鉴了Faster Rcnn中锚框的思想,利用锚框直接在卷积特征图滑窗采样,因为卷积不需要Reshape,所以很好的保留的空间信息,最终使特征图的每个特征点和原图的每个栅格一一对应。另外,与YOLOv1不同的是,YOLOv2是预测的是坐标相对于栅格左顶点的偏移量,通过变换公式得到最后的预测坐标。既然锚框是手动精选的先验框,设想能否一开始就选择了更好的、更有代表性的先验Boxes维度,那么网络就应该更容易学到准确的预测位置。所以作者通过K-means聚类算法将数据集中的ground truth进行了聚类。最后对模型复杂度和召回率的平衡,选择5个聚类中心,挑选了5个最具代表性的bounding box。一起提升了5%mAP。
    • d.细粒度特征对于检测小物体是有很大的影响,随着图像尺寸的一步步缩小,图片中的某些小物体的特征是会由于特征图的不断缩小而发生信息丢失,作者通过引入了一个Passthrough Layer,把浅层特征图连接到深层特征图,也就是图中这个26x26x512的特征图通过隔行隔列采样,变换成13x13x2048的特征图,然后和13x13x1024的特征图进行按通道concat,通过这一操作,可以使mAP提升一个百分点。
    • e.让YOLOv2对不同尺寸图片的具有鲁棒性,引入了多尺寸的训练,每10batch,选择新的图像尺寸对网络进行训练,最后使精度提升了2个百分点。
  • 2.Faster:YOLOv2简化了网络,只使用了19卷积层和5个池化层(Darknet-19),不仅通过一系列的改进使精度高了,速度方面依然比YOLOv1还要快。
  • 3.Stronger:强大之处体现在YOLO9000,YOLO9000是在YOLOv2的基础上提出的一种可以检测超过9000个类别的模型,其主要贡献点在于提出了一种分类和检测的联合训练策略。对于检测数据集,可以用来学习预测物体的边界框、置信度以及为物体分类,而对于分类数据集可以仅用来学习分类,但是其可以大大扩充模型所能检测的物体种类。但是遇到的一个问题是两个数据集的类别不是完全互斥的,比如ImageNet光狗的品种就有100多种,它们与COCO数据集中狗的类别产生冲突,两者是包含关系,针对这一问题,作者提出了一种层级分类方法,主要思路是根据各个类别之间的从属关系建立一种树结构,也就是WordTree。

4.YoLov3

在保持实时性的基础上,对YOLOv2进行了几点改进,主要有三点:采用逻辑回归预测置信度和进行分类,从三个尺度上预测b-box的坐标以及特征提取器发生变化。

  • 1.逻辑回归的使用:在YOLOv2中,每个cell是直接通过网络回归预测b-box坐标和置信度的,YOLOv3则将置信度和坐标分开预测,坐标预测还是通过网络进行预测,而置信度则是单独通过逻辑回归进行预测。在分类上,没有使用softmax多分类,作者也指出softmax最终对性能也没有提升,而且softmax假设是每个box只有一个类,这对迁移到更大有多种类别标签的数据集是没有好处的,所以作者使用多个逻辑回归来预测分类,使用二元交叉熵计算分类损失。
  • 2.特征提取器:YOLOv3重新训练了一个新的特征提取器——DarkNet-53,使用了残差网络,相比最先进的特征提取器,性能相当,但浮点数运算更少,速度更快,下采样没有使用池化操作,而是通过卷积步长来实现。图18是DarkNet-53的结构图。
  • 3.多尺度预测坐标:作者借由FPN的思想,引用中间层的输出与后层输出进行融合,进行三个尺度预测,每个尺度的每个cell预测3个坐标.
基于matlab的目标检测的基本思路 图像处理之目标检测目标检测的基本思路遇到的问题鹿人鹰花狗总结附录 目标检测的基本思路 对于轮廓清晰的图片,可以先检测出他的轮廓,此时会有背景的轮廓也被添加进来,可以通过先填洞,再腐蚀和膨胀来消除多余的边缘来找到目标的轮廓。对于轮廓不清晰或者背景很复杂的图片,可以通过图像二值化,用特定的阈值将需要的目标筛选出来,或是将图像分块处理,再进行形态学操作使轮廓更为具体。 遇到的问题 鹿 对于彩色图像想要提取某一特定颜色阈值比较难选取,图像中目标的颜色不是唯一的,有彩色和黑色和白色,可以通过将rgb空间转换为ycbc 阅读详情

相关推荐

基于Transformer的目标检测DETR

论文链接:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123460205.pdf Transformer之前在NLP领域大放异彩,但是在CV界平平无奇。自从ECCV20这篇基于transformer的目标检测模型DETR发表以后,transformer在CV中应用的探索越来越广泛,今天先粗浅的解读一下这篇论文,剩下的慢慢学习。 在目标检测领域,Faster RCNN无疑是最经典的模型之一。但他需要很多anchor,proposal,以及非

jackzhang11的博客 5981

【目标检测】目标检测究竟发展到了什么程度?聊聊这22年!

【目标检测】目标检测究竟发展到了什么程度?聊聊这22年!

wzk4869的博客 1万+

TensorFlow 训练自己的目标检测器

TensorFlow 训练自己的目标检测器         本文主要描述如何使用 Google 开源的目标检测 API 来训练目标检测器,内容包括:安装 TensorFlow/Object Detection API 和使用 TensorFlow/Object Detection API 训练自己的目标检测器。 ...

公输睚信 3319

目标检测的发展史及关键技术概述

目标检测是计算机视觉领域中的一个基础问题,它旨在识别出图像中所有感兴趣的目标,并给出它们的位置和类别。从早期的模板匹配到现代的深度学习方法,目标检测技术经历了多个发展阶段。本文将透过时间的迷雾,回顾目标检测技术的发展历程,并介绍其关键技术点与代表性成果。

是我的博客 4395

基于深度学习的目标检测新作

写在前面 研究DPM大半年了,实验也做过,工程项目也应用过,发现针对复杂背景的对象检测的效果不是很好,而且由于HOG特征提取和多 个部件滤波器的特征提取,造成检测速度很慢,难以用在视频的对象检测上。最近看到了CVPR的一些对象检测的新进展,感觉很有 领悟,趋向于基于深度学习的路线,收集了一些资料,在研究中。     上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还

彼岸花 6580

10分钟内基于gpu的目标检测

10分钟内基于gpu的目标检测 Object Detection on GPUs in 10 Minutes 目标检测仍然是自动驾驶和智能视频分析等应用的主要驱动力。目标检测应用程序需要使用大量数据集进行大量训练,以实现高精度。NVIDIA gpu在训练大型网络以生成用于对象检测推断的数据集所需的并行计算性能方面表现优异。本文介绍了使用NVIDIA gpu快速高效地运行高性能目标检测管道所需的技术。 我们的python应用程序从实时视频流中获取帧,并在gpu上执行对象检测。我们使用带有Inception V

吴建明wujianming_110117 984

一文搞懂目标检测技术的发展历程: 从R-CNN到YOLO、DETR、DINO

目标检测技术在过去的十几年中,从传统的方法逐步转变成基于深度学习驱动的方法。2012年,AlexNet在ImageNet竞赛中胜利,促进了目标检测技术的发展。目标检测领域的技术发展经历了从基于卷积神经网络(CNN)的架构到基于Transformer架构的重要转变。最初的突破来自于基于CNN的模型,如R-CNN系列(包括R-CNN、Fast R-CNN和Faster R-CNN),这些模型通过引入区域提议网络(RPNs)和端到端的训练方式,大幅提升了目标检测的准确性。

SQingL的博客 8758

目标检测算法发展史

目标检测无非做两个事情,一是检测出该目标在图片或者视频里面所处的位置以及该目标的类别。二是对于有多个目标的图片,检测出所有目标所处的位置及其类别。那么对于第一个要解决的问题,我们可以来了解具体需要干什么事情。

master_hunter的博客 5739

基于视频的目标检测

一. 提出背景       目标检测在图像处理领域有着非常大的占比,过去两年,深度学习在Detection的持续发力,为这个领域带来了变革式的发展:一方面,从 RCNN 到 Fast RCNN,再到 Faster RCNN,不断刷新 mAP;另一方面,SSD、YOLO 则是将性能提高到一个非常高的帧率。       对于视频来讲,相邻帧目标之间存在 明显的上下文关系,这种关系在技术上的表现就是 T

跟随技术的脚步-linolzhang的专栏 3万+

目标检测发展历程

1. Object Detection Milestones 目标检测的里程碑,一个比较大的分野是在2012, 2012年以前是传统目标检测方法,也称为冷兵器时代。2012年以后随着深度学习的发展,尤其是基于深度学习的检测方法,可以使用GPU作为我们的强悍的武器。 目标检测分为One-stage-detector 和 two-stage-detector,两阶段目标检测器和一阶段目标检测器的区别主要是两阶段检测器提出了proposal(候选框)阶段,在候选框的基础上最终得到物体的预测框。one-sta

@bangbang的博客 7134

论文理解【LLM-OR】—— 【PaMOP】Guiding Large Language Models in Modeling Optimization Problem

针对 LLM 求解运筹优化任务,PaMOP 通过约束划分树分离子问题,实现复杂优化问题的分块建模,并结合求解器反馈与反向翻译一致性检查迭代纠错,降低子任务复杂度,提升可执行率与建模准确性。

佚失的诗篇 1008

睿智的目标检测23——Pytorch搭建SSD目标检测平台

睿智的目标检测23——Pytorch搭建SSD目标检测平台学习前言什么是SSD目标检测算法源码下载SSD实现思路一、预测部分1、主干网络介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分1、真实框的处理2、利用处理完的真实框与对应图片的预测结果计算loss训练自己的ssd模型 学习前言 一起来看看SSD的Pytorch实现吧,顺便训练一下自己的数据。 什么是SSD目标检...

Bubbliiiing的学习小课堂 8万+

Potplayer + LAVFilters + madVR 配置教程

文章目录Potplayer + LAVFilters + madVR 配置教程工具安装篇设置调教1.potplayer播放器设置加载LAVFilters和madVR1.选择“源滤镜/分离器”选项,选择“滤镜/解码器管理”2.“添加外部滤镜”3.浏览到刚才LAVFilters解压的文件夹,分别添加图示项。4.添加后回到管理界面设置,点击左边的”LAV AudioDecoder”,将右边”音频解码器”...

re 16万+

基于推理的目标检测 DetGPT

flyfish

二分掌柜的 1809

智驾系统分层架构:从传感器到执行器的全链路解析

本文深入解析了智能驾驶系统的分层架构,从传感器数据采集融合、应用层决策到车辆管理层执行,完整呈现了从感知到控制的全链路工作流程。文章重点阐述了架构设计的核心优势在于接口标准化与模块解耦,以ACC和LKA协同场景为例,说明了各层级如何通过清晰分工与高效协作,实现复杂系统的可靠、灵活与易于升级。

weixin_29219189的博客 400

大疆M3508电机使用CAN通信进行速度PID闭环控制详解

目录一. 简介二. 电机通信协议三. 电机PID控制原理四. 官方代码移植-中断接收五. 官方代码移植-查询接收 一. 简介 之前写过一篇文章STM32实现四驱小车(五)电机控制任务——电机速度PID控制算法,其中是以大疆的M3508电机为例进行讲解的(没错,就是RoboMaster机器人同款电机,不过Robomaster上的电机好像是小一号的M2006)。不少小伙伴私信问我要代码,我都回复说不是有官方demo么。后来问的人多了我大概明白了,看来官方的Demo还是有点门槛。可能是带FreeRTOS操作系统看

qq_30267617的博客 7万+

制作自己的目标检测数据集

文章目录制作自己的目标检测数据集一、下载Voc数据集二、安装标注工具labelimg三、制作图像标签1.创建一个文件夹2.在当前文件夹下打开命令提示符3.打开标注软件 制作自己的目标检测数据集 一、下载Voc数据集 在官网下载Voc2012数据集: http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html#devkit 找到–>Development Kit–>Download the training/validation data .

dongcjava的博客 5347

UE4项目迁移指南:如何无缝导入外部.uasset文件并保持材质关联

本文详细解析了将外部.uasset文件无缝导入UE4项目的专业方法。针对手动复制文件时常见的材质关联丢失问题,提供了使用引用查看器进行诊断和修复的实用技巧,并推荐使用引擎内置的“迁移”功能确保资源依赖关系的完整性,帮助开发者高效整合项目资源。

t8u9v0的博客 1047

深入了解PyTorch的目标检测和物体检测

1.背景介绍 1. 背景介绍 目标检测和物体检测是计算机视觉领域的重要研究方向,它们的目标是识别图像中的物体和目标,并对其进行定位和识别。随着深度学习技术的发展,目标检测和物体检测的研究取得了显著的进展。PyTorch是一个流行的深度学习框架,它提供了丰富的API和工具来实现目标检测和物体检测任务。 在本文中,我们将深入了解PyTorch的目标检测和物体检测,涵盖了以下内容: 核心概念与...

AI天才研究院 928

振镜控制卡硬件接口揭秘:XY2-100/SL2-100协议对比

本文对比分析了工业振镜控制领域两种主流数字通信协议XY2-100和SL2-100的硬件接口差异与应用场景。XY2-100作为开放式协议兼容性强,采用LVDS差分信号传输,适用于激光打标等中高精度场景;SL2-100为半封闭协议,采用RS485差分信号,专为高速响应场景设计。文章详细解析了两种协议的引脚定义、通信机制和性能参数,指出XY2-100适配多品牌振镜且调试简单,SL2-100则更适合Nutfield专用设备的高速高精度需求。最后提供了接口调试的实操建议和选型逻辑,强调应根据具体应用场景的精度、速度和

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 652

【拼多多笔试题汇总】2024-03-24-拼多多春招笔试题

A 小镇上有个奇特的游戏。游戏开始时,A 先生准备了一排 nnn 个物品。K 小姐和卢小姐则轮流进行操作。首先,K 小姐可以选择移除至多 xxx 个物品。接着,卢小姐也可以选择移除剩余物品中的至多 yyy 个。游戏的目标是,K 小姐想尽量让剩余物品的价值之和最大化,而卢小姐则想将剩余物品的价值之和最小化。假设两人都采取最优策略,请问最后剩余物品的价值之和是多少?第一行包含五个正整数 n,m,k,x,yn, m, k, x, yn,m,k,x,y,分别表示物品的总数、K 小姐最多可移除的物品数、卢小姐最多可移

春秋招笔试突围 1万+

基于Anchor的目标检测算法

我们把全部的ground truth映射到特征图上,对于每一个anchor,我们遍历所有ground truth,计算iou,选取一定的iou阈值,如0.5.对于一个anchor,若存在和一个ground truth的iou>0.5,则类别被标记为ground truth对应的类别,confidence标为1,并标注相应与ground truth的偏移量,如果所有的iou都<阈值0.5,则认为该anchor对应背景,confidence标记为1,类别向量全为0,不需要标记偏移量。但其实并无太多必要。

2301_77073150的博客 1355

计算机视觉 | 面试题:01、过拟合和欠拟合的表现与解决方法

问题 过拟合和欠拟合的表现和解决方法。 其实除了欠拟合和过拟合,还有一种是适度拟合,适度拟合就是我们模型训练想要达到的状态,不过适度拟合这个词平时真的好少见,在做酷狗音乐的笔试题时还懵逼了一会,居然还真的有这样的说法。 这应该是基础中的基础了,笔试题都做烂了。那就当做今天周末,继续放个假吧…… 过拟合 过拟合的表现 模型在训练集上的表现非常好,但是在测试集、验证集以及新数据上的表现很差,损失曲线呈现一种高方差状态。(高方差指的是训练集误差较低,而测试集误差比训练集大较多) 过拟合的原因 从两个角度去分析

Mrrunsen的博客 869

基于YOLOv11的目标检测系统

这款软件是一种基于最新YOLOv11算法的目标检测工具,旨在为用户提供高效、准确的目标识别和分析功能。它支持多种数据输入方式,包括单张图片、批量图片、视频文件以及实时摄像头输入,满足不同场景的需求。检测结果以直观的标注图和详细的数据列表形式呈现,并支持结果导出,方便用户进行后续分析和处理。这款基于YOLOv11的目标检测系统,通过先进的算法和友好的用户界面,为各行业用户提供了高效、准确的目标检测工具。其多样化的功能和广泛的适用性,使其成为安防监控、智能交通和科研学习等领域的理想选择。

weixin_64338148的博客 2399

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

综述 | 基于深度学习的目标检测算法

Mask R-CNN 是基于 Faster R-CNN 的基础上演进改良而来,不同于 Faster R-CNN,Mask R-CNN 可以精确到像素级输出,完成分割任务。此外他们的输出也有所不同。Faster R-CNN 输出为种类标签和 box 坐标,而 Mask R-CNN 则会增加一个输出,即物体掩膜 (object mask)。Mask R-CNN 结构如下图:图 11。

分享前沿AI技术 1461

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

基于anchor-free的目标检测算法CenterNet研究

2020.04.18 小记 近期一直在MOT算法研究,目前SOTA算法核心还是基于CenterTrack网络,而CenterTrack又是基于anchor-free式的CenterNet网络,CenterNet是继YOLO目标检测算法以来新创的目标检测派系,yolo系列都是anchor-based算法,因此着重研究了下CenterNet,其在相同速度下,CenterNet的精度比YOLOv3提高...

Gavinmiaoc的博客 2296
上一篇: 你不得不了解的卷积神经网络发展史
下一篇: 小样本条件下工业无损检测X光图像
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值