随笔分类 - 深度学习 专栏
摘要:上次bbuf分享了亚马逊团队的用于分类模型的bag of tricks, 详见: "链接" , 本文继续梳理一下目标检测trick, 解读这篇19年同样由亚马逊团队发表的《Bag of Freebies for Training Object Detection Neural Networks》。先
阅读全文
摘要:在计算机视觉中,卷积是最重要的概念之一。同时研究人员也提出了各种新的卷积或者卷积组合来进行改进,其中有的改进是针对速度、有的是为了加深模型、有的是为了对速度和准确率的trade off。本文将简单梳理一下 卷积神经网络中用到的各种卷积核以及改进版本 。文章主要是进行一个梳理,着重讲其思路以及作用。
阅读全文
摘要:池化操作(Pooling)是CNN中非常常见的一种操作,Pooling层是模仿人的视觉系统对数据进行降维,池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的特征维度,有效减少网络参数的同时还可
阅读全文
摘要:前言:之前几篇讲了cfg文件的理解、数据集的构建、数据加载机制和超参数进化机制,本文将讲解YOLOv3如何从cfg文件构造模型。本文涉及到一个比较有用的部分就是bias的设置,可以提升mAP、F1、P、R等指标,还能让训练过程更加平滑。 1. cfg文件 在YOLOv3中,修改网络结构很容易,只需要
阅读全文
摘要:前言:YOLOv3代码中也提供了参数搜索,可以为对应的数据集进化一套合适的超参数。本文建档分析一下有关这部分的操作方法以及其参数的具体进化方法。 1. 超参数 YOLOv3中的 超参数在train.py中提供,其中包含了一些数据增强参数设置,具体内容如下: 2. 使用方法 在训练的时候,train.
阅读全文
摘要:前言:本文主要讲YOLOv3中数据加载部分,主要解析的代码在utils/datasets.py文件中。通过对数据组织、加载、处理部分代码进行解读,能帮助我们更快地理解YOLOv3所要求的数据输出要求,也将有利于对之后训练部分代码进行理解。 1. 标注格式 在上一篇 "【从零开始学习YOLOv3】2.
阅读全文
摘要:ThunderNet是旷视和国防科技大学合作提出的目标检测模型,目标是在计算力受限的平台进行实时目标检测。需要关注的地方主要就是提出的两个特征增强模块CEM和SAM,其设计理念和应用的方法都非常值得借鉴。 1. 介绍 在移动端的实时目标检测是一个极为重要并且有挑战性的视觉问题。很多基于CNN的检测器
阅读全文
摘要:在深度学习模型的训练过程中,难免引入随机因素,这就会对模型的可复现性产生不好的影响。但是对于研究人员来讲,模型的可复现性是很重要的。这篇文章收集并总结了可能导致模型难以复现的原因,虽然 不可能完全避免随机因素 ,但是可以通过一些设置尽可能降低模型的随机性。 1. 常规操作 PyTorch官方提供了一
阅读全文
摘要:最近要做一个有关多目标跟踪的项目,刚刚接触MOT,所以先来了解一下MOT16这个比较经典的数据集以及比较经典的评价标准。 1. 多目标跟踪 多目标跟踪处理的对象是视频,从视频的第一帧到最后一帧,里边有多个目标在不断运动。多目标跟踪的目的就是将每个目标和其他目标进行区分开来,具体方法是给每个目标分配一
阅读全文
摘要:1. 概念 经典的目标检测如Faster R-CNN, YOLOv3等都用到了Anchor, 怎么设计Anchor每个目标检测方法各不相同。Faster R-CNN中的Anchor有三种形状,三种长宽比,比如形状有[128, 256, 512]三个,长宽比有[1:1, 1:2, 2:1]三种,这样组
阅读全文
摘要:前言:之前介绍过一个语义分割中的注意力机制模块 scSE模块,效果很不错。今天讲的也是语义分割中使用到注意力机制的网络BiSeNet,这个网络有两个模块,分别是FFM模块和ARM模块。其实现也很简单,不过作者对注意力机制模块理解比较深入,提出的FFM模块进行的特征融合方式也很新颖。 1. 简介 语义
阅读全文
摘要:前言:【从零开始学习YOLOv3】系列越写越多,本来安排的内容比较少,但是在阅读代码的过程中慢慢发掘了一些新的亮点,所以不断加入到这个系列中。之前都在读YOLOv3中的代码,已经学习了cfg文件、模型构建等内容。本文在之前的基础上,对模型的代码进行修改,将之前Attention系列中的SE模块和CB
阅读全文
摘要:前言:上次讲了YOLOv3中的模型构建,从头到尾理了一遍从cfg读取到模型整个构建的过程。其中模型构建中最重要的YOLOLayer还没有梳理,本文将从代码的角度理解YOLOLayer的构建与实现。 1. Grid创建 YOLOv3是一个单阶段的目标检测器,将目标划分为不同的grid,每个grid分配
阅读全文
摘要:前言: 本文介绍了一个用于语义分割领域的attention模块scSE。scSE模块与之前介绍的BAM模块很类似,不过在这里scSE模块只在语义分割中进行应用和测试,对语义分割准确率带来的提升比较大。 提出scSE模块论文的全称是:《 Concurrent Spatial and Channel ‘
阅读全文
摘要:前言: 之前已经介绍过SENet和Non Local Neural Network(NLNet),两者都是有效的注意力模块。作者发现NLNet中attention maps在不同位置的响应几乎一致,并结合SENet后,提出了Global Context block,用于全局上下文建模,在主流的ben
阅读全文
摘要:1. Non local Non Local是王小龙在CVPR2018年提出的一个自注意力模型。Non Local Neural Network和Non Local Means非局部均值去燥滤波有点相似的感觉。普通的滤波都是3×3的卷积核,然后在整个图片上进行移动,处理的是3×3局部的信息。Non
阅读全文
摘要:前言: 与其他框架不同,Darknet构建网络架构不是通过代码直接堆叠,而是通过解析cfg文件进行生成的。cfg文件格式是有一定规则,虽然比较简单,但是有些地方需要对yolov3有一定程度的熟悉,才能正确设置。 下边以 yolov3.cfg 为例进行讲解。 作者:pprp 首发:GiantPanda
阅读全文
摘要:1. Non local Non Local是王小龙在CVPR2018年提出的一个自注意力模型。Non Local NN和Non Local Means非局部均值去燥滤波有点相似的感觉。普通的滤波都是3×3的卷积核,然后在整个图片上进行移动,处理的是3×3局部的信息。Non Local Means操
阅读全文
摘要:前言:让我惊艳的几个库: 1. ultralytics的yolov3,在一众yolov3的pytorch版本实现算法中脱颖而出,收到开发人员的欢迎,比别的库明显好的点在于,与darknet相似度达到极高的水平,支持自定义cfg文件的加载,简直完美。 2. michuanhaohao的reid str
阅读全文
摘要:接触python有一段时间了,从开始的看菜鸟的python教程,看了一些视频,一些书。很多人感觉python很简单,确实相比其他语言,python可能稍微简单一点,但是不能说只学了python基础语法就说自己python水平可以了。最近在阅读YOLOv3的pytorch版本源码,就遇到很多瓶颈,很多是与python相关的。所以这篇进行总结一下,收集一下所有的问题,更深入理解python高阶用法,并且尽量每个都附上例子,做一个认真的coder,bloger。
阅读全文