计算机视觉
文章平均质量分 86
Aliert
我要写的不是那种搬运网上被讲解很多遍的东西,而是真心思考经过自己反思总结的知识,希望通过这个博客能给大家带来知识,也给自己留下足迹。
展开
-
LPRNet
前段时间做了一个车牌检测识别的项目, 在识别阶段用了LPRNet。今天写一篇文章来记录一下自己对LPRNet的浅显认知吧,毕竟自己也不是这个方向的,仅做大体了解。LPRNet可以说是一个端到端的车牌识别算法,并没有预先进行字符分割,这就使得车牌识别的算法实时性强,并且准确性高、支持可变长字符车牌识别。早期的车牌识别算法主要是先进行字符分割然后在进行字符分类,但是字符分割很容易受到图像噪声以及分辨率的影响,但是在LPRNet上面,使用整张图片作为输入,输出最终的字符序列。具体而言,采用的是全连接层+CTC损失原创 2022-07-12 17:07:17 · 2379 阅读 · 0 评论 -
【目标检测】YOLOV5详解
YOLOV5和YOLOV4有很多相同的地方,最大的改变还是基础架构的变化。Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型。首先先看一下YOLOV5s的网络架构。上图即Yolov5的网络结构图,可以看出,还是分为输入端、Backbone、Neck、Prediction四个部分。(1)输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放(2)Backbone:Focus结构,CSP结构(3)Neck:FPN+P原创 2022-06-30 16:09:42 · 16851 阅读 · 0 评论 -
【目标检测】YOLOV4详解
前面讲完了V1、V2、V3,其中YOLOV4 和V3的网络区别就是多了CSP和PAN结构,以及一个SSP。贴一下网络结构图。 首先介绍一下网络结构中出现的各种组件。CBM:是由Conv+BN+Mish激活函数组成,和V3不同的是这里的激活函数由Leaky_relu换成了Mish。CBL:这个组件就是YOLOV3中的最小组件,但是在这里V4 将CBL放在了Neck模块里,并没有放在Backbone。Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。CSPX:借鉴CSPNet网络结构,由原创 2022-06-30 14:11:33 · 4010 阅读 · 0 评论 -
【目标检测】YOLOV3详解
前面的V1、V2已经讲完了,再讲解一下YOLOV3了。v3除了网络结构,其余变动不多,主要是将当今一些较好的检测思想融入到了YOLO中,在保持速度优势的前提下,进一步提升了检测精度,尤其是对小物体的检测能力。具体来说,YOLOv3主要改进了网络结构、网络特征及后续计算三个部分。YOLOv3继续吸收了当前优秀的检测框架的思想,如残差网络和特征融合等,提出了如图下图所示的网络结构,称之为DarkNet-53。作者在ImageNet上实验发现darknet-53相对于ResNet-152和ResNet101,不仅原创 2022-06-28 17:37:28 · 16862 阅读 · 6 评论 -
【目标检测】YOLOV2详解
前面我们已经讲解过了YOLOV1,因此在这里我会接着前几天的讲解,进一步写一下YOLOV2的基本思想和改进。YOLOv2的论文全名为YOLO9000: Better, Faster, Stronger,它斩获了CVPR 2017 Best Paper Honorable Mention。在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集和ImageNet分类数据集上训练出了YOLO9000模型,其可以检测超过9原创 2022-06-28 15:58:09 · 7659 阅读 · 1 评论 -
【目标检测】YOLOV1详解
最近在公司实习,看到其实很多落地的模型都是基于yolo来改进的。在闲暇之余又重新温故了一下yolo系列,并想着将它们进行一个总结。今天就从V1下手,接下来的几个系列也会分别进行详解。相比起Faster R-CNN的两阶段算法,2015年诞生的YOLOv1创造性地使用端到端(end to end)结构完成了物体检测任务。直接预测物体的类别和位置,没有RPN网络,也没有Anchor的预选框,因此速度很快。YOLOv1是YOLO系列的基准,虽然后面在工程上面大家都是直接使用YOLOV5的开源代码,但是还得需要直原创 2022-06-24 17:55:10 · 9087 阅读 · 1 评论 -
目标检测指标mAP详解
相信刚刚接触目标检测的小伙伴也是有点疑惑吧,目标检测的知识点和模型属实有点多,想要工作找CV的话,目标检测是必须掌握的方向了。我记得在找实习的时候,面试官就问到了我目标检测的指标是什么,答:mAP!问:mAP是什么?我:.......!☺所以在本文中我也是详细说一下mAP 的含义,有什么不对的或者不全的欢迎大家指正!mAP是mean of Average Precision的缩写,意思是平均精确度(average precision)的平均(mean),是object detection中模型性能的衡量标准原创 2022-06-21 16:16:44 · 21789 阅读 · 2 评论 -
NMS及IOU原理讲解和代码解析
NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测、目标检测等。这里主要以人脸检测中的应用为例,来说明NMS,并给出Matlab和C++示例程序。以下图为例,由于滑动窗口,同一个人可能有好几个框(每一个框都带有一个分类器得分)。而我们的目标是一个人只保留一个最优的框:于是我们就要用到非极大值抑制,来抑制那些冗余的框: 抑制的过程是一个迭代-遍历-消除的过程。主要分为以下三步:(1)将所有框的得分排序,选中最高分及其对应的框:(2)遍原创 2022-06-20 15:41:53 · 1315 阅读 · 0 评论 -
A ConvNet for the 2020s 详解
前面个讲过了MobileNet系列,从V1到V3做了很多改进,效果也是越来越好。但是这些改进很多都是基于block来进行改进的,而这一问题就可以让我们直接将这个block用于其他backbone上面,并有着优秀的性能。在今年年初读到的这篇文章,当时就觉得很不错,也是仔细刨析了一下现在卷积和transformer的较量,给了我们坚定卷积的决心。在这篇文章中也是涉及到了前面中block中的一些改变。不过这些改变不是为了轻量型而做出的,在这里也是总结一下。感兴趣的小伙伴也可以看一下我前面这篇文章:MobileNe原创 2022-06-09 11:19:34 · 2895 阅读 · 0 评论 -
MobileNet系列(万文长字详细讲解,一篇足以)
本篇讲一下CV相关的东西,MobileNet,想必大家已经很熟悉了,包括里面的一些模块,一些轻量型思想也是经常用到的。在这里我也是想着做一下总结,整理一下,也讲一讲自己的理解和看法。卷积神经网络CNN已经普遍应用在计算机视觉领域,并且已经取得了不错的效果。近年来CNN模型深度越来越深,模型复杂度也越来越高,如深度残差网络(ResNet)其层数已经多达152层。然而,在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型时难以被应用的。首先是模型过于庞大,面临着内存不足的问题,其次这些场景要求低延迟,或原创 2022-06-07 21:39:10 · 11079 阅读 · 4 评论