
计算机视觉
文章平均质量分 69
MiltonY
这个作者很懒,什么都没留下…
展开
-
yolov4中带groups的route理解
1. yolov4-tiny配置文件示意图其中yolov4-tiny.cfg文件[route]中多出了groups与group_id原创 2021-06-29 16:37:10 · 785 阅读 · 1 评论 -
Batch Normalization的Darknet代码解析
Batch_Norm公式推导与Darknet代码理解论文:《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》URL:https://arxiv.org/pdf/1502.03167.pdf1. Batch_Norm的正向推导2. Batch_Norm反向推导其中对均值与xi的求导会用到复合函数的求导计算:3. darknet代码3.原创 2021-05-19 09:46:55 · 345 阅读 · 0 评论 -
yolov4与yolov5的区别
不同点:1. yolov4采用了较多的数据增强方法(图像增强方法(Data Augmentation)_YMilton的专栏-优快云博客,博客中方法都使用),而yolov5进行了3中数据增强:缩放、色彩空间调整与Mosaic数据增强。2. yolov5锚点框是基于训练数据集自动学习的,而yolov4没有自适应锚点框。3. yolov5采用的激活函数包括leakyReLU和Sigmoid,yolov5的中间隐藏层使用的是leakyReLU激活函数,最后的检测层使用的是Sigmoid激活函数。而y原创 2021-09-02 09:54:32 · 19650 阅读 · 0 评论 -
BBox边界框损失函数演进
边界框损失计算的演进边界框回归损失近些年的发展过程:1. MSE Loss2. IoU Loss计算IoU交并比示意图如图,蓝色为真实目标框,橘红色为预测目标框。IoU Loss存在的问题,存在检测框大小相同,重叠区域面积相等的情况(IoU相等),无法区分不同相交情况。3. GIoU Loss为了改进IoU Loss存在的问题,提出了GIoU方法。GIoU Loss的计算公式其中 表示真实框与预测框的最小闭包区域面积,即外接矩形面积。...原创 2021-09-02 18:58:42 · 1794 阅读 · 0 评论 -
YOLOX训练代码分析2-trainer.py
1. yolox网络构建(1) 网络加载通过tools/train.py中main函数get_exp构建网络,其中get_exp可以通过名称与文件获取网络模型与参数。if exp_file is not None: return get_exp_by_file(exp_file) # 通过文件获取模型参数else: return get_exp_by_name(exp_name) # 通过名称获取模型参数get_exp_by_name最终是调用get_exp_by_fil原创 2021-10-08 15:30:31 · 3433 阅读 · 6 评论 -
YOLOv6、YOLOv7、YOLOv8、YOLOv11网络结构图(清晰版)
YOLO系列网络结构图原创 2024-02-26 23:51:18 · 15825 阅读 · 41 评论 -
YOLOX训练代码分析3-损失函数
yolox构建模型时,是通过yolox_base.py中的get_model函数获取,其中分成两部分YOLOXPAFPN与YOLOXHead两个类,由YOLOX加载封装整个网络。if getattr(self, "model", None) is None: # 该对象中是否存在model属性,默认值为None,设置成模型 in_channels = [256, 512, 1024] backbone = YOLOPAFPN(self.depth, self.width, in_cha原创 2021-10-11 12:01:41 · 17534 阅读 · 22 评论 -
YOLOX训练代码分析1-COCO与VOC训练
1. YOLOX的网络结构图与代码YOLOv3、YOLOv4、YOLOv5、YOLOx的网络结构图(清晰版)_YMilton的专栏-优快云博客((1) 网络结构图(2) yolox代码URL:https://github.com/Megvii-BaseDetection/YOLOX.git2. yolox如何训练coco数据(1) 第一步:yolox...原创 2021-09-30 17:35:30 · 3375 阅读 · 5 评论 -
YOLOv3、YOLOv4、YOLOv5、YOLOx的网络结构图(清晰版)
YOLO系列网络结构图2. Yolov4网络结构图3. Yolov5网络结构图4. Yolox网络结构图原创 2021-09-13 16:03:52 · 50274 阅读 · 88 评论 -
目标检测图像增强方法(Data Augmentation)
1. 图像遮挡1.1 Random Erase用随机值或训练集的平均像素替换图像区域。Paper: Random Erasing Data Augmentation URL: https://arxiv.org/pdf/1708.04896.pdf1.2 Cutout仅对CNN第一层的输入图像使用随机剪切框Mask。Paper:Improved Regularization of Convolutional Neural Networks with Cutout...原创 2021-09-01 16:05:21 · 6346 阅读 · 1 评论 -
YOLOX环境搭建与运行效果
通过git clone git@github.com:Megvii-BaseDetection/YOLOX.git或者下载方式获得旷世在github上共享的工程文件。1. 虚拟环境创建通过如下命令在conda下创建用于工程YOLOX的虚拟环境,假设虚拟环境为yoloxconda create -n yolox python=3.8然后通过命令conda activate yolox进入yolox虚拟环境,接着下面的安装。2. pycocotools的安装在Linux环境下安装原创 2021-08-16 23:47:47 · 3813 阅读 · 1 评论 -
YOLOX采用的最新技术
YOLOX检测器的锚框:采用anchor-free的方式,以及使用例如网络头解耦(decoupled head),与以标签分配策略为主导(leading label assignment strategy SimOTA)的技术生成网络模型。YOLOX使用的相关技术论文1.anchor-free detectors: (1) Hei Law and Jia Deng. Cornernet: Detecting objects as paired keypoints. In ECCV, 2...原创 2021-08-06 14:49:22 · 580 阅读 · 0 评论 -
yolov2中的reorg网络层数据理解
yolov2的reorg数据理解 以上是yolov2的reorg层在整个yolov2网络的示意图。yolov2的reorg层的输入是38x38x64=92416,通过reorg重组得到输出19x19x256。本文需要理解的是reorg是如何重组的。1.reorg的darknet代码2. 根据程序理解矩阵重组本文只考虑长、宽、通道维度上的变化过程。(1) 根据yolov2中的参数,可以得到reorg层:stride=2, in_c=64, [out_w, out_h...原创 2021-05-26 11:37:18 · 1601 阅读 · 2 评论 -
darknet的batch_norm是如何融合到卷积层conv的
前向传播中,batch_norm与conv的融合1. batch_norm层的前向传播其中mean(X)表示训练过程中得到的滑动平均值,var(X)表示训练过程中得到的滑动方差。具有泛化整个训练过程所有的图片的像素值。表示缩放因子,表示为平移因子,为学习过程中学习到的值。2. conv层的前向传播其中W表示为卷积核,b表示为偏置,卷积层一般为0。3. 合并batch_norm与conv4. darknet中的函数fuse_conv_batchnorm...原创 2021-05-07 16:41:16 · 756 阅读 · 0 评论 -
图像缩放后单应性还原(Image Stitching 4)
图像缩放后的单应性还原1. 公式推导假设待拼接的两幅图像分别为与,两幅的单应性矩阵为。再假设图像的坐标点与图像的坐标点单应性对应。则有等式(1-1): (1-1) 再假设按照尺度缩放的图像为与,缩放的两幅图像间的单应性矩阵为,同理有等式(1-2): (1-2) 由于图像与是通过尺度缩放后,得到的两幅图像分别为与,因此图像、的坐标点与图像、的关系表为等式(1-3): (1-3) 令 (1-4) 根据公式(1-2)(1-3)(1-4),则有以下推导原创 2021-03-11 14:02:41 · 1289 阅读 · 2 评论 -
动态规划最佳缝合线查找(Image Stitching 3)
相关链接:https://github.com/xitu/gold-miner/blob/master/TODO1/real-world-dynamic-programming-seam-carving.md原创 2020-10-29 15:27:17 · 8508 阅读 · 8 评论 -
python最佳缝合线(Image Stitching 2)
最佳缝合线能够有效的去除拼接中运动物体移动出现的鬼影,如何寻找最佳缝合线对于图像拼接去除鬼影比较的重要。寻找最佳缝合线涉及到比较重要的一个思想是动态规划,寻找强度值最优的路径。 关于强度值的计算,具体情况如下:以上公式是重叠像素点的颜色值之差,是结构值之差。这里的结构值计算采用Sobel算子,也可以考虑其他的边缘检测算子,其中x,y方向的算子如下: ...原创 2019-12-20 17:02:14 · 10573 阅读 · 23 评论 -
python加权平均融合矩阵运算(Image Stitching 1)
考虑到python通过for循环实现加权平均融合效率比较低,本文采用矩阵运算的形式实现加权平均融合。其中加权平均融合的公式如下:是融合图像,是需要拼接的两幅图像,是渐入渐出法中的权重,权重的计算公式如下:也就是上面的两个公式,挺简单的,相对于C++而言,用python实现加权平均融合的矩阵运算更加容易理解。直接上结果图,以下是加权平均融合之前与融合之后的对比。加...原创 2019-12-20 16:00:56 · 6256 阅读 · 27 评论