目标检测
文章平均质量分 70
Fighting_1997
唯有勤奋不会辜负于你。
展开
-
Pytorch中目标检测内容学习
pytorch目标检测内容学习原创 2022-12-05 09:48:53 · 236 阅读 · 0 评论 -
卷积层和池化层总结
卷积层和池化层卷积层通常是用作对输入层输入数据进行特征提取。池化层负责对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出尺度,进而减少模型所需要的参数量卷积层次特征类型浅层卷积边缘特征中层卷积局部特征深层卷积全局特征卷积的类型标准卷积扩张卷积/空洞卷积转置卷积可分离卷积池化类型一般池化重叠池化空间金字塔池化(多尺度目标训练)区别卷积层池化层结构零填充时输出维度不变,而通道数改变通常特征原创 2022-04-21 22:07:41 · 2683 阅读 · 0 评论 -
Python 自动生成环境依赖包 requirements
一、生成当前 python 环境 安装的所有依赖包1、命令# cd 到项目路径下,执行以下命令pip freeze > requirements.txt # 或者使用如下命令pip list --format=freeze > requirements.txt2、常见问题1、中使用 pip freeze > requirements.txt 命令导出已安装的模块,其中部分模块显示了 @ file:///…,而不是具体的版本号,如下图:此时,如果我们直接在其他机器上边使原创 2022-04-19 17:59:21 · 1723 阅读 · 0 评论 -
解决物体检测中的小目标问题
为了提高模型在小物体上的性能,我们建议使用以下技术:提高图像捕获分辨率提高模型的输入分辨率平铺图像通过扩充生成更多数据自动学习模型锚过滤掉多余的类1. 提高图像捕获分辨率非常小的物体在边界框中可能只包含几个像素——这意味着提高图像的分辨率以增加检测器可以从该小框中形成的特征的丰富度非常重要。因此,如果可能,我们建议尽可能捕获高分辨率的图像。2. 提高模型的输入分辨率一旦我们拥有更高分辨率的图像,我们就可以扩大模型的输入分辨率。警告:这将导致大型模型需要更长的训原创 2022-04-18 19:42:57 · 3356 阅读 · 0 评论 -
大气散射模型解释
大气散射模型的推导大气中粒子的散射作用是产生雾霾的主要原因。无论是用人的肉眼观察,还是从拍摄获取的图像中观察,雾天的景象总是存在对比度和视野降低的问题。1925年,Keim & Nemnich[1]等人提出雾天图像能见度较低是大气中的悬浮粒子对光的吸收和散射造成的。1976年,John Wiley & Sons[2]等人提出粒子的散射作用造成目标和相机之间光在传输过程的衰减,并且增加了一层大气散射光(Airlight)。1999年,针对雾天能见度低的问题,Srinivasa G. Nara原创 2022-03-28 23:13:18 · 8652 阅读 · 0 评论 -
CenterPoint(Object as Point)
扔掉anchor!真正的CenterNet——Objects as Points论文解读简单讲一下,目标检测中,存在两种anchor机制哦,一种是anchor-base,典型就是Faster RCNN中先验框以及YOLO2-5系列,另一种是anchor-free,典型的是YOLOv1,YOLOX以及本博客所讲的CenterNet,但是论文原名不是CenterNet,原因是被别人使用了,所以作者起名叫Object as Point。anchor-base和anchor-free最大的区别是区别是否有先验框原创 2022-03-23 19:18:42 · 4658 阅读 · 0 评论 -
yolov4和yolov5详解
YOLOv4YOLOv4的三大贡献:设计了强大而高效的检测模型,任何人都可以用 1080Ti 和 2080Ti训练这个超快而精准的模型。验证了很多近几年 SOTA 的深度学习目标检测训练技巧。修改了很多 SOTA 的方法, 让它们对单GPU训练更加高效,例如 CmBN,PAN,SAM等。作者总结了近几年的单阶段和双阶段的目标检测算法以及技巧,并用一个图概括了单阶段和双阶段目标检测网络的差别,two-stage的检测网络,相当于在one-stage的密集检测上增加了一个稀疏的预测器作者也对多原创 2022-03-14 17:38:14 · 14620 阅读 · 0 评论 -
yolov3
YOLOv3YOLOv3的总体网络架构图可根据官方代码中的yolov3.cfg进行一一对应,标号000是第一个[convolutional]Darknet-53和DarkNet-19一样,同样下采样32倍。但是darknet-19是通过最大池化来进行,一共有5次。而darknet-53是通过尺寸2,步长为2的卷积核来进行的,也是5次。darknet-19是不存在残差结构(resblock,从resnet上借鉴过来)的,和VGG是同类型的backbone(属于上一代CNN结构),而darknet-5原创 2022-03-13 22:32:08 · 3207 阅读 · 0 评论 -
yolov2
YOLOv2Add BN使用BN层提高准确度(Accuracy improvements)神经网络学习过程本质就是为了学习数据分布,一旦训练数据与测试数据的分布不同, 那么网络的泛化能力也大大降低; 另外一方面,一旦每批训练数据的分布各不相同, 那么网络的 Batch 梯度下降算法就要在每次迭代都去学习适应不同的分布, 这样将会大大降低网络的训练速度。解决办法是对数据都要做一个归一化预处理。YOLOv2网络通过在每一个卷积层后添加 批归一化 (batch normalization) ,极大的改善原创 2022-03-13 21:10:10 · 2790 阅读 · 0 评论 -
add_with_concat
特征融合目前有两种常用的方式,一种是addaddadd操作,这种操作广泛运用于ResNetResNetResNet与FPNFPNFPN中。一种是ConcatConcatConcat操作,这种操作最广泛的运用就是UNetUNetUNet,DenseNetDenseNetDenseNet等网络中。如下图所示:也有如HRNetHRNetHRNet这样的,多分辨率之间使用addaddadd形式的特征融合。代码演示>>> import torch>>> img1 =原创 2022-03-09 19:26:41 · 211 阅读 · 0 评论 -
目标检测:IoU(交并比)和 NMS(非极大值抑制)、Soft_NMS方法Python实现
交并比(Intersection over Union)和非极大值抑制是(Non-Maximum Suppression)是目标检测任务中非常重要的两个概念。例如在用训练好的模型进行测试时,网络会预测出一系列的候选框。这时候我们会用NMS来移除一些多余的候选框。即移除一些IOU值大于某个阈值的框。然后在剩下的候选框中,分别计算与ground truth的IOU值,通常会规定当候选框和ground truth的IOU值大于0.5时,认为检测正确。下面我们分别用python实现IOU和NMS。交并比IOU如原创 2022-03-05 15:39:03 · 545 阅读 · 0 评论 -
VOC数据集在YOLO系列训练xml转txt
将Annotations中的xml文件和代码放置同一文件夹下即可# -*- coding: utf-8 -*-import xml.etree.ElementTree as ETimport osfrom os import listdirfrom os.path import joinclasses = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'dining原创 2021-12-22 10:17:05 · 196 阅读 · 0 评论 -
Yolov5训练FLIR红外线数据集
训练Yolov5的博客很多了,只要放好数据集位置即可本博客使用的yolov5-5.0版本最近确实事情较多,博客写的比较简练,如果有问题,直接评论即可,我会短时间内回复!主要就是下图的文件放置创建flir.yaml文件,这个是yolov5中voc.yaml文件,我直接复制一下修改后:(建议在ubuntu系统中训练)修改train.py参数训练过程中如果出现关于channel错误信息的,直接点进去,修改通道数为1即可。训练结果...原创 2021-12-12 18:58:15 · 6587 阅读 · 60 评论 -
GAN手写mnist数据集Pytorch实现
GAN网络手写数据集Pytorch实现import argparseimport osimport numpy as npimport torchvision.transforms as transformsfrom torchvision.utils import save_imagefrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torch.autograd import Vari原创 2021-12-10 22:24:33 · 1508 阅读 · 4 评论 -
目标检测学习笔记(One-stage和Two-stage)
注:本博客作为学习内容汇总,如有问题,请联系作者修改!目标检测1. 基本概念1.1 什么是目标检测?目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。计算机视觉中关于图像识别有四大类任务:分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么原创 2021-11-18 15:21:02 · 1786 阅读 · 0 评论 -
FPN(特征金字塔)论文详解
FPN(特征金字塔)论文:Feature Pyramid Networks for Object Detection下载链接:https://arxiv.org/abs/1612.03144解决问题:《Feature Pyramid Networks for Object Detection》这篇论文主要解决的问题是目标检测在处理多尺度变化问题是的不足,现在的很多网络都使用了利用单个高层特征(比如说Faster R-CNN利用下采样四倍的卷积层——Conv4,进行后续的物体的分类和bounding原创 2021-11-16 21:52:08 · 5798 阅读 · 0 评论 -
VGG-传统神经网络之巅峰
1. VGG简介VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和25.32%的错误率夺得定位任务(Localization)的第一名(GoogLeNet错误率为26.44%),网络名称VGGNet取自该小组名缩写。VGGNet是首批把图像分类的错误率降低到10%以内模型,同时该网络所采用的3×33\times33×3原创 2021-11-14 23:28:34 · 6046 阅读 · 0 评论 -
ResNet详解+PyTorch实现
1.Resnet简介深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,由于其在公开数据上展现的优势,作者何凯明也因此摘得CVPR2016最佳论文奖。Resnet是残差网络(Residual Network)的缩写,该系列网络广泛用于目标分类等领域以及作为计算机视觉任务主干经典神经网络的一部分,典型的网络有resnet50, resnet101等。Resnet网络证明网络能够向更深(包含更多隐藏层)的方向发展。解决问题:网络退化从经验来看原创 2021-11-14 21:48:49 · 20095 阅读 · 0 评论 -
Faster RCNN训练FLIR红外线数据集
1. Fater RCNN检测网络下载网络学习视频[源码地址]https://github.com/bubbliiiing/faster-rcnn-pytorch2. FLIR 数据集准备数据集的具体格式和内容请看FLIR数据集介绍在该数据集中提供的annotations文件为json,需要将其转换为xml,由于我之前使用yolov5网络训练,所以目前我使用的转换方法是从json转换到txt,目前我从txt进一步转换为xmljson转换为txttxt转换xml3. 网络调整1.准备数据原创 2021-11-14 13:28:42 · 6496 阅读 · 19 评论 -
txt转换xml
注:文章中的代码是针对FLIR数据集转换为txt后,进一步转换xml使用的,当然可以根据自己的实际更改使用文件位置(该文件夹与代码py文件放置于同一文件夹下)cocoimages # 存放图像labels #存放txt标签代码如下:#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Fri Aug 17 22:10:01 2018@author: Caroline Pacheco d原创 2021-11-14 13:13:56 · 2359 阅读 · 0 评论 -
Json转换为txt
注:代码是以FLIR数据集为目的进行的编写,但是也可以使用其它进行编写from __future__ import print_functionimport argparseimport globimport osimport jsonif __name__ == '__main__': # 命令行打印参数 parser = argparse.ArgumentParser() parser.add_argument( "path", help='Dire原创 2021-11-14 13:06:34 · 6666 阅读 · 1 评论 -
R-CNN、Fast R-CNN、Faster R-CNN
行人检测 概述:行人检测主要有两种:传统检测算法和基于深度学习检测算法。传统检测算法的典型代表有Haar算法+Adaboost算法,Hog特征+SVM算法,DPM算法。而基于深度学习的行人检测典型代表有RCNN系列,SDD系列,YOLO系列。上图是单目标检测和多目标检测的例子,单目标相对容易实现一些,但是多目标很容易出现遗漏,现在比较新的mask rcnn可以实现目标检测和语义分割,相比FCN来说取得了更好的进步。RCNN原理论文:Rich feature hierarchies for accu原创 2021-11-10 15:27:46 · 1893 阅读 · 0 评论 -
FLIR数据集详细解释
适用于算法训练的免费FLIR热数据集前言FLIR热数据集于2018年7月发行,帮助开发人员开发并训练卷积神经网络,使汽车行业能够使用FLIR的高性价比热像仪,开发新一代更安全、更高效的ADAS和无人驾驶汽车系统。为何ADAS要使用FLIR热传感技术?在ADAS环境中,感知热红外辐射或热量的能力为可见光相机、激光雷达和雷达系统等现有传感器技术提供了独特的互补优势:凭借在汽车领域15年以上的服务经验,FLIR打造了唯一一款与汽车完美匹配的热传感器,目前已在超过50万辆汽车的驾驶员预警系统中部署。原创 2021-11-07 22:42:23 · 18567 阅读 · 42 评论 -
mAP@0.5与mAP@0.5:0.95的含义
mAP@0.5: mean Average Precision(IoU=0.5)即将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均,即mAP。mAP@.5:.95(mAP@[.5:.95])表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。那AP是什么呢,Average Precision,是单个类别平均精确度,而mAP是所有类别的平均精确度AP是Precision原创 2021-11-07 21:56:56 · 40680 阅读 · 11 评论