
计算机视觉
Gallant Hu
计算机视觉 机器学习 深度学习
展开
-
COCO-style 数据集的准备与训练
COCO-style 标注格式json 标注文件的格式{ "info": info, "licenses": [license], "images": [image], "annotations": [annotation], "categories": [category]}annotationsannotation{ "id": int, # 对象ID,因为每一个图像有不止一个对象,所以要对每一个对象编号(每个对象的ID是唯一的)原创 2021-01-24 20:53:40 · 632 阅读 · 1 评论 -
目标检测Leaderboard
原创 2021-01-09 16:07:56 · 201 阅读 · 0 评论 -
梯度下降对比图解与优化器的选择
从上图可以看出,在鞍点(saddle points)处(即某些维度上梯度为零,某些维度上梯度不为零),SGD、Momentum与NAG一直在鞍点梯度为零的方向上振荡,很难打破鞍点位置的对称性;Adagrad、RMSprop与Adadelta能够很快地向梯度不为零的方向上转移。从上面两幅图可以看出,自适应学习速率方法(Adagrad、Adadelta、RMSprop与Adam)在这些场景下具有更好的收敛速度与收敛性。如果你的数据特征是稀疏的,那么你最好使用自适应学习速率SGD优化方法(Adagrad、A.原创 2020-12-18 21:46:39 · 351 阅读 · 1 评论 -
深度学习模型经验值的设定
可视化Baseline的结果降低mAP 的原因:高分的FP 和 漏检的真实框给错误分门别类调研paper问题–>方案原创 2020-12-18 16:25:23 · 213 阅读 · 0 评论 -
cv2图像的基本操作
jupyter lab 中的实验import numpy as npimport cv2from matplotlib import pyplot as pltimg = cv2.imread("model01.jpg") #当前目录im2=img[:,:,::-1] #load image as bgrplt.imshow(im2)#显示原图im4=np.clip(img, 0, 255)#限制图像的范围plt.imshow(im4)im3=img[:, ::-1]#图像翻转原创 2020-12-11 20:28:18 · 321 阅读 · 0 评论 -
小模型的产出
原创 2020-12-31 22:10:33 · 234 阅读 · 1 评论 -
YOLOv3模型的优化
PP-YOLOv3模型结构Backbone的优化ResNet-D 优化信息丢失问题可变性卷积对检测性能的提升,特别是对检测速度的提升。其他优化策略卡间同步batch normDrop Block 减少过拟合指数滑动平均,把梯度的上下抖动平滑掉。用IoU来表征定位精度乘到score里,通过定位精度调整score让定位精度高的检测框排在前边。结合Sigmoid函数理解...原创 2020-12-18 16:22:28 · 1369 阅读 · 0 评论 -
主干网络的半监督知识蒸馏在检测中的应用
半监督知识蒸馏原创 2020-11-27 16:43:15 · 360 阅读 · 0 评论 -
两阶段目标检测算法优化策略
服务器端优化策略移动端优化检测基准微调FPN结构:去掉P5 和 P6会使模型结构变得简单,但会导致mAP下降,主要是大的目标检测不到。加入由P4直接生成的P5 和 P6 既能减少计算量,又能提高对大物体的召回率。...原创 2020-11-27 16:29:29 · 1197 阅读 · 0 评论 -
Libra R-CNN 两阶段检测模型进阶
问题增强FPN采样策略Smooth L1 Loss 困难样本和容易样本梯度差距大,导致不同样本学习能力不同,因此作者提出了Balanced L1 loss 梯度变得更加平滑,困难样本和容易样本的学习能力变得更平衡。...原创 2020-11-27 15:57:31 · 420 阅读 · 1 评论 -
级联R-CNN 思路
IoU阈值的选择:横轴:RPN生成的RoI和真值框的IoU;纵轴:经过第二阶段BBox head得到的新的box和真值框的IoU;线条:使用不同IoU阈值筛选候选框训练出来的模型。不同能力的球员用不同能力的教练教。...原创 2020-11-27 12:50:31 · 734 阅读 · 0 评论 -
基于torchvision 的模型修改
有两种常见情况可能需要修改torchvision modelzoo中的一个可用模型。第一个是我们想要从预先训练的模型开始,然后微调最后一层。 另一种是当我们想要用不同的模型替换模型的主干时(例如,用于更快的预测)。微调已经预训练的模型 让我们假设你想从一个在COCO上已预先训练过的模型开始,并希望为你的特定类进行微调。import torchvisionfrom torchvision.models.detection.faster_rcnn import FastRCNNPredictor#原创 2020-11-10 19:28:20 · 1196 阅读 · 0 评论 -
训练中的学习率调整
# 学习率调度程序 lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=3, gamma=0.1) # 训练10个epochs num_epochs = 10 for epoch i...原创 2020-11-10 19:06:28 · 722 阅读 · 0 评论 -
理解 center-ness 的作用
Moreover, we also show together with our proposed center-ness branch, the much simpler detector can achieve even better detection performance than its anchorbased counterparts.原创 2020-11-08 11:23:15 · 2723 阅读 · 0 评论 -
R-CNN系列目标检测算法--Region proposal based methods
R-CNN uses selective search to first generate potential object regions in an image and then perform classificaton on the proposed regions. R-CNN requires high computational costs since each region is processed by the CNN network separately.Fast R-CNN and原创 2020-11-02 11:23:55 · 780 阅读 · 0 评论 -
NMS从原理到实现与检测网络的后处理
对预测图像的缩放处理冗余框 (NMS)NMS 算法流程输入:box list (每个box包含自身坐标和对应score), 域值T输出:keep list(1)选取当前最高分的框A,将box list所有与A的IoU大于域值T的框删除掉(2)将A放入keep list 中,重复步骤(1), 直到box list 为空(3)返回 keep listList item...原创 2020-10-26 20:58:55 · 398 阅读 · 0 评论 -
动手实现简单的卷积神经网络
hands-on simplified CNNimport matplotlib.pyplot as pltimport pylabimport numpy as npdef conv(img,conv_kernel): blue=_conv(img[:,:,0],conv_kernel) green=_conv(img[:,:,1],conv_kernel) red=_conv(img[:,:,2],conv_kernel) return np.dstack([b原创 2020-10-26 15:41:36 · 293 阅读 · 0 评论 -
ResNet从原理到实现--Bottleneck堆叠
import mathimport megengine.functional as Fimport megengine.hub as hubimport megengine.module as Mfrom megengine.random import normalclass Bottleneck(M.Module): expansion=4 def __init__{ self, in_channels, channels,.原创 2020-10-27 14:17:23 · 1565 阅读 · 1 评论 -
SSD损失函数与训练分析
匹配策略Matching strategy During training we need to determine which default boxes correspond to a ground truth detection and train the network accordingly. For each ground truth box we are selecting from default boxes that vary over location, aspect ratio, a原创 2020-10-25 19:34:27 · 1255 阅读 · 0 评论 -
SSD中的多尺度分析
Choosing scales and aspect ratios for default boxesTo handle different object scales, some methods [4,9] suggest processing the image at different sizes and combining the results afterwards. However, by utilizing feature maps from several different layers原创 2020-10-25 11:23:54 · 419 阅读 · 0 评论 -
SSD 网络结构分析与默认框设计
图1 SSD300 模型结构图SSD以VGG16为特征提取网络,替换VGG16的两个全连接层FC6,FC7为卷积层,同时在后面添加了4个卷积层,选取网络结构中6层不同尺度的特征图( conv4_3,conv7,conv8_2,conv9_2,conv10_2,conv11_2),在这6层特征图上设置不同尺度和不同宽高比的默认框 (defaultbox),然后通过非极大值抑制(NMS)和置信度过滤等方法输出最终检测的目标框和类别。假如使用m个特征图进行预测,则第k个特征图上default box的尺寸.原创 2020-10-25 11:06:02 · 444 阅读 · 0 评论 -
目标检测发展方向--系统化模块化检测器
Detectron2 is Facebook AI Research’s next generation software system that implements state-of-the-art object detection algorithms. It is a ground-up rewrite of the previous version, Detectron, and it originates from maskrcnn-benchmark.原创 2020-10-22 20:07:14 · 216 阅读 · 0 评论 -
倒置残差与线性瓶颈层从原理到实现
对比 MobileNet V1 和 V2 的网络结构和计算量MobileNet V1 网络结构和计算量 MobileNet V2 的网络结构和计算量总结对比原创 2019-11-17 21:16:54 · 5992 阅读 · 0 评论 -
padding和stride如何影响卷积计算的效果和计算量
让卷积核“出界”:padding一般情况下,卷积核的移动范围没有超出图片边缘,因此图片的边缘部分只进行了一次乘加运算,卷积的叠加并不充分。为了让每个像素都进行足够充分的卷积运算,引入一种常见技巧–padding。padding 的操作就是在图片周围进行补0操作,同时让卷积核越出边界。由于补的数字都是0,所以并不会影响原图核卷积后的数据。对padding后的图片再进行卷积,就可以使每个卷积的叠加足够充分。让卷积核“跳跃”:stride如果卷积核一次移动两格,就会减少运算量,也能调整输出尺寸。为了控制卷原创 2020-10-21 16:20:25 · 1163 阅读 · 0 评论 -
Online Hard Example Mining (OHEM)简介
[1] proposed to improve training of two-stage detectors by constructing minibatches using high-loss examples. Specifically, in OHEM each example is scored by its loss, non-maximum suppression (nms) is then applied, and a minibatch is constructed with the h原创 2020-09-03 09:11:43 · 289 阅读 · 0 评论 -
从卷积神经网络回顾传统数字图像处理中的目标检测算法
OverFeat :Integrated Recognition, Localization and Detection using Convolutional Networks用不同大小的窗口滑动浏览整张图片,然后尝试用 CNN 对它们进行分类。OverFeat adopted a strategy similar to early neural network face detectors by applying a ConvNet as a sliding window detector on a原创 2020-08-31 17:02:28 · 325 阅读 · 0 评论 -
特征图上的单位点--feature cell
图像上的单位点叫像素(pixel)特征图上单位点叫什么–feature cell原创 2020-08-30 21:14:15 · 612 阅读 · 0 评论 -
RPN输入的是卷积特征 Selective Search 输入的是原图
Selective Search 具体算法原创 2020-08-30 12:06:07 · 238 阅读 · 0 评论 -
RetinaNet 采用Focal loss解决样本不均衡问题
我们认识到了训练阶段的(正负)类不均衡是单阶段检测器实现不了最先进准确度的主要干扰。To achieve this result, we identify class imbalance during training as the main obstacle impeding one-stage detector from achieving state-of-the-art accuracy and propose a new loss function that eliminates this ba原创 2020-08-28 10:56:20 · 315 阅读 · 0 评论 -
Faster R-CNN详解--区域候选网络
在Fast R-CNN中并没有对(R-CNN中使用的)Selective Search 进行候选区域的选择进行改进,仍然不能实现真正意义上的edge-to-edge的训练和测试。Faster R-CNN使用了RPN(Region Proposal )解决了原创 2020-08-27 10:50:24 · 947 阅读 · 0 评论 -
从R-CNN 和 SPP-Net 到 Fast R-CNN
Fast R-CNN 在SPP-Net 上更进一步,它更好地实现了对R-CNN的加速工作,R-CNN的基础上Fast R-CNN主要有以下几个方面的改进。1)借鉴了 SPP-Net 的思路,提出了简化版的ROI Pooling(没有使用Spatial Pyramid Pooling),同时加入了候选框映射的功能,使得网络能够进行反向传播,解决了SPP的整体网络训练的问题。2)多任务Loss层:一方面使用了Softmax代替SVM进行多分类,另一方面我们使用SmoothL1Loss...原创 2020-08-25 17:08:20 · 205 阅读 · 0 评论 -
Faster R-CNN详解----RPN和Fast R-CNN特征共享
Sharing Features for RPN and Fast R-CNN4-step Alternating Training. In this paper, we adopt a pragmatic 4-step training algorithm to learn shared features via alternating optimization.原创 2020-08-25 11:46:12 · 409 阅读 · 0 评论 -
Bounding Box回归与SmoothL1 Loss
R-CNN利用Bounding Box 回归得到最后的检测框,提高了检测的精度。Fast R-CNN 使用SmoothL1 Loss取代了Bounding Box 回归。原创 2020-08-25 10:41:21 · 256 阅读 · 0 评论 -
ZFNet网络结构与可视化理解卷积神经网络
ZFNet网络结构ZFNet is the ILSVRC 2013 winner, which is basically AlexNet with a minor modification: use 7x7 kernel instead of 11x11 kernel in the first Conv layer to retain more information.CNN可视化原创 2020-08-21 09:53:43 · 216 阅读 · 0 评论 -
FPN (Feature Pyramid Networks) 多尺度特征从认识到实践
Our proposed Feature Pyramid Network (FPN) is fast like (b) and ©, but more accurate. In this figure, feature maps are indicate by blue outlines and thickeroutlines denote semantically stronger features.The principle advantage of featurizing each level .原创 2020-08-19 10:55:15 · 1062 阅读 · 0 评论 -
蒸馏个人理解学习
DistillationIn the simplest form of distillation, knowledge is transferred to the distilled model by training it on a transfer set and using a soft target distribution for each case in the transfer s...原创 2019-12-24 14:54:44 · 315 阅读 · 0 评论 -
图解ROI Pooling层
图解ROI Pooling层 从上图可以看出,ROI Pooling层在整个Fast R-CNN中的位置Fast R-CNN的流程是,以整张图片为输入,利用CNN得到图片的特征层(Feature Map);然后利用Selective search算法得到原始图像空间中的候选框(Proposal),并将这些候选框映射到特征层(Feature Map),这些映射区域就叫ROI(Region of ...原创 2019-11-28 21:01:31 · 1681 阅读 · 0 评论 -
目标检测中的多尺度分析--SPP-Net图解
空间金字塔池化层这个层放在最后的卷积层和全连接层之间在conv5层得到的特征图是256层,每层都做一次spatial pyramid pooling。先把每个特征图分割成多个不同尺寸的网格,比如网格分别为4∗4、2∗2、1∗14*4、2*2、1*14∗4、2∗2、1∗1,然后每个网格做max pooling,这样256层特征图就形成了16∗256,4∗256,1∗25616*256,4*2...原创 2019-11-28 17:17:51 · 794 阅读 · 1 评论 -
浅析Gabor滤波
浅析Gabor滤波Gabor 变换是一种加窗短时 Fourier 变换,是短时 Fourier 变换中当窗函数取为高斯函数时的一种特殊情况。因此,Gabor 滤波器可以在频域不同尺度、不同方向上提取相关的特征。另外 Gabor 函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。Gabor核在频域加窗,而在原本的空间域中,一个 Gabor 核实际上就是一个高斯核与正弦波调制的...原创 2019-11-13 22:06:40 · 585 阅读 · 0 评论 -
浅析HOG
方向梯度直方图(Histogram Oriented Gradient)方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。什么是特征描述子?特征描述子是指通过提取有用的信息并抛弃无关的信息来表示这一张图片或者一张图片的一部分。...原创 2019-11-13 21:38:13 · 316 阅读 · 0 评论