摘要:
ThunderNet是旷视和国防科技大学合作提出的目标检测模型,目标是在计算力受限的平台进行实时目标检测。需要关注的地方主要就是提出的两个特征增强模块CEM和SAM,其设计理念和应用的方法都非常值得借鉴。 1. 介绍 在移动端的实时目标检测是一个极为重要并且有挑战性的视觉问题。很多基于CNN的检测器 阅读全文
摘要:
FPN全称是Feature Pyramid Network, 也就是特征金字塔网络,主要是针对图像中目标的多尺度的这个特点提出的,多尺度在目标检测中非常常见,而且对应不同的问题应该设计不同的FPN。FPN是Facebook于2017年提出的用于目标检测的模块化结构,但FPN在很多计算机视觉任务中都有 阅读全文
摘要:
在深度学习模型的训练过程中,难免引入随机因素,这就会对模型的可复现性产生不好的影响。但是对于研究人员来讲,模型的可复现性是很重要的。这篇文章收集并总结了可能导致模型难以复现的原因,虽然 不可能完全避免随机因素 ,但是可以通过一些设置尽可能降低模型的随机性。 1. 常规操作 PyTorch官方提供了一 阅读全文
摘要:
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. BAM BAM全程是bottlenect attention module,与CBAM很相似的起名,还是CBAM的团队完成的作品。 CBAM被ECCV18接受,BAM被BMVC18接收。 CBAM可以看做是通道注意力机制和空间注意力机制的串联(先通道后空间),BAM可以看做两者的并联。 这 阅读全文
摘要:
1. SKNet SKNet是SENet的加强版,结合了SE opetator, Merge and Run Mappings以及attention on inception block的产物。其最终提出的也是与SE类似的一个模块,名为SK, 可以自适应调节自身的感受野。据作者说,该模块在超分辨率任 阅读全文
摘要:
Squeeze and Excitation Networks SENet是Squeeze and Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要 阅读全文
摘要:
前言: 这是CV中的Attention机制专栏的第一篇博客,并没有挑选实现起来最简单的SENet作为例子,而是使用了CBAM作为第一个讲解的模块,这是由于其使用的广泛性以及易于集成。目前cv领域借鉴了nlp领域的attention机制以后生产出了很多有用的基于attention机制的论文,atten 阅读全文
摘要:
前言:这个库是为验证码识别竞赛而开发的一个基于pytorch实现的端到端的验证码识别系统。前后开发大概有2个月,其中大部分时间都在调参,后期参考kaggle大神经验,加入了一些trick,但是由于第一个榜截止了,所以没有得到测试集结果,只有验证集的参考结果。该库比较简单,适合入门竞赛,不过调参难度比 阅读全文
摘要:
前言:让我惊艳的几个库: 1. ultralytics的yolov3,在一众yolov3的pytorch版本实现算法中脱颖而出,收到开发人员的欢迎,比别的库明显好的点在于,与darknet相似度达到极高的水平,支持自定义cfg文件的加载,简直完美。 2. michuanhaohao的reid str 阅读全文
摘要:
接触python有一段时间了,从开始的看菜鸟的python教程,看了一些视频,一些书。很多人感觉python很简单,确实相比其他语言,python可能稍微简单一点,但是不能说只学了python基础语法就说自己python水平可以了。最近在阅读YOLOv3的pytorch版本源码,就遇到很多瓶颈,很多是与python相关的。所以这篇进行总结一下,收集一下所有的问题,更深入理解python高阶用法,并且尽量每个都附上例子,做一个认真的coder,bloger。 阅读全文
摘要:
[TOC] 1. ResNet理论 论文: 残差学习基本单元: 在ImageNet上的结果: 效果会随着模型层数的提升而下降,当更深的网络能够开始收敛时,就会出现降级问题:随着网络深度的增加,准确度变得饱和(这可能不足为奇),然后迅速降级。 ResNet模型: 2. pytorch实现 2.1 基础 阅读全文
摘要:
遇到的问题 数据是png图像的时候,如果用PIL读取图像,获得的是单通道的,不是多通道的。虽然使用opencv读取图片可以获得三通道图像数据,如下: 但是会出现报错: TypeError: img should be PIL Image. Got 最终解决方案: pytorch transform 阅读全文
摘要:
1. 基础知识 1.1 条件概率 一个事件概率依赖于另外一个事件(已发生)的度量。 $P(B|A)$的意义是在A发生的情况下B事件发生的概率。这就是条件概率。 $P(AB) = P(A) \times P(B|A)$ 代表的意义是,AB事件同时发生的概率等于事件A发生的概率乘以在A发生条件下B事件 阅读全文
摘要:
1. 四种情况 Precision精确率, Recall召回率,是二分类问题常用的评价指标。混淆矩阵如下: T和F代表True和False,是形容词,代表预测是否正确。 P和N代表Positive和Negative,是预测结果。 | | 预测结果为阳性 Positive | 预测结果为假阳性 Neg 阅读全文
摘要:
如何访问tensorflow官方网站 tensorflow官方网站变为: 安装深度学习框架 0. ubuntu查看CUDA和cuDNN版本 CUDA: cuDNN: 1. keras | 版本 | Python 版本 | 编译器 | 编译工具 | cuDNN | CUDA | | | | | | | 阅读全文
摘要:
classify.fastai Classifier based on fastai 欢迎访问: 字符识别分类器 基于fastai进行构造 以往的fastai教程都是很简单的几行进行一个模型的训练,对初学者来说看起来很简单。但是仅仅训练一个分类的网络是远远不够的,我们还需要各种指标对分类的效果进行评 阅读全文
摘要:
前言 久闻keras大名,最近正好实训,借着这个机会好好学一下。 首先推荐一个API,可能稍微有点旧,但是写的是真的好 "https://keras cn.readthedocs.io/en/latest/" 还有一个tensorflow的API "https://www.w3cschool.cn/ 阅读全文
摘要:
1. 基于python实现随机梯度下降 python import matplotlib.pyplot as plt import numpy as np def f(x): """构造函数""" print("calculating f(x) {}".format(x)) return 0.19 阅读全文
摘要:
1.1 离散型随机变量 (伯努利分布): 1.2 离散型随机变量 (二项分布): 1.3 离散型随机变量 (泊松分布): 1.4 连续型随机变量 (正态分布): 1.5 连续型随机变量 (指数分布): 1.6 连续型随机变量 (拉普拉斯分布): 阅读全文
摘要:
要求 编写代码完成以下任务: ① 将地址"http://www.cbooo.cn/year?year=2019"源代码使用任意方法保存到指定文件中(文件类型不限)。 ② 使用文件流读取该页面内容到程序中 ③ 使用Python以任意方法提取出页面中的电影排名与电影名,并以如下形式打印输出 输出格式为: 阅读全文
摘要:
要求 制作一个Python的矩阵计算器: ① 程序提供任意两矩阵的加、乘法运算;方阵的行列式计算、逆矩阵计算、特征分解;任意矩阵的转置等计算功能,可自行添加功能 ② 从控制台通过键盘获取数据并完成以上的计算,不强制要求异常检测 ③ 使用8组以上的非典型数据(如对角矩阵,单位矩阵等)进行测试并完成计算 阅读全文