yhwang-hub
还是什么也不写吧
展开
-
YOLO-NAS讲解
这些 YOLO-NAS 模型是使用 Deci 的 AutoNAC™ NAS 技术构建的,性能优于 YOLOv7 和 YOLOv8 等模型,包括最近推出的 YOLOv6-v3.0。准确的比较将在 YOLO-NAS 系列的下一篇文章中进行,我们将在自定义任务上训练这些模型,并记录与当前巨头相比训练的难易程度和质量。在计算机视觉和深度学习领域不懈的研究和创新的推动下,最先进的对象检测 (SOTA) 模型的前景在不断发展。在本文中,我们探索了最新的 YOLO 模型,即 YOLO-NAS。原创 2023-05-10 13:55:33 · 2542 阅读 · 1 评论 -
模型量化的原理与实践 —基于YOLOv5实践目标检测的PTQ与QAT量化
大家都知道,数字既包括整数,又包括小数,如果想在计算机中,既能表示整数,也能表示小数,关键就在于这个小数点如何表示?于是计算机科学家们想出一种方法,即约定计算机中小数点的位置,且这个位置固定不变,小数点前、后的数字,分别用二进制表示,然后组合起来就可以把这个数字在计算机中存储起来,这种表示方式叫做定点表示法,用这种方法表示的数字叫做定点数。也就是说「定」是指固定的意思,「点」是指小数点,所以小数点位置固定的数即为定点数。原创 2023-04-17 23:31:51 · 1047 阅读 · 0 评论 -
YOLO综述:从YOLOV1到YOLOV8
YOLO 已成为机器人、无人驾驶汽车和视频监控应用的中央实时目标检测系统。我们对 YOLO 的演变进行了全面分析,检查了从原始 YOLO 到 YOLOv8 的每次迭代中的创新和贡献。我们首先描述标准指标和后处理;然后,我们讨论了每个模型的网络架构和训练技巧的主要变化。最后,我们总结了 YOLO 发展的重要经验教训,并展望了其未来,强调了增强实时目标检测系统的潜在研究方向。原创 2023-04-08 22:57:42 · 2323 阅读 · 0 评论 -
NVIDIA 量化感知训练pytorch-quantization说明文档
量化工具提供的几个量化模块如下:要量化模块,我们需要量化输入和权重(如果存在)。为只有输入的模块创建量化包装器为具有输入和权重的模块创建量化包装器。直接将 TensorQuantizer 模块添加到模型图中操作的输入。如果需要用量化版本自动替换原始模块(图中的节点),前两种方法非常有用。当需要在非常特定的地方手动将量化添加到模型图中时,第三种方法可能很有用(更多手动,更多控制)。让我们通过下面的示例查看每个用例。原创 2023-04-01 10:30:15 · 599 阅读 · 0 评论 -
A ConvNet for the 2020s(论文翻译)
A ConvNet for the 2020sAddressAbstract1. IntroductionAddresshttps://github.com/facebookresearch/ConvNeXthttps://arxiv.org/pdf/2201.03545.pdfAbstractViT伴随着视觉的“20年代”咆哮而来,它迅速取代了 ConvNets,成为最先进的图像分类模型。另一方面,常规的 ViT 在应用于目标检测和语义分割等一般计算机视觉任务时面临困难。正是分层 Transfo原创 2022-01-22 20:57:30 · 3282 阅读 · 0 评论 -
基于深度学习的图像增强综述
这篇博客主要介绍之前看过的一些图像增强的论文,针对普通的图像,比如手机拍摄的那种,比低光照图像增强任务更简单。介绍图像增强的定义非常广泛,一般来说,图像增强是有目的地强调图像的整体或局部特性,例如改善图像的颜色、亮度和对比度等,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,提高图像的视觉效果。传统的图像增强已经被研究了很长时间,现有的方法可大致分为三类,空域方法是直接对像素值进行处理,如直方图均衡,伽马变换;频域方法是在某种变换域内操作,如小波变转载 2021-08-22 23:03:25 · 801 阅读 · 0 评论 -
深度学习中的backbone、head、neck释义
backbone翻译为主干网络的意思,既然说是主干网络,就代表其是网络的一部分,那么是哪部分呢?这个主干网络大多时候指的是提取特征的网络,其作用就是提取图片中的信息,共后面的网络使用。这些网络经常使用的是resnet、VGG等,而不是我们自己设计的网络,因为这些网络已经证明了在分类等问题上的特征提取能力是很强的。在用这些网络作为backbone的时候,都是直接加载官方已经训练好的模型参数,后面接着我们自己的网络。让网络的这两个部分同时进行训练,因为加载的backbone模型已经具有提取特征的能力了,在我们原创 2021-08-07 16:40:32 · 1580 阅读 · 0 评论 -
TF、TLT、TRT、DS....等深度学习概念
在讲这些概念之前,我们先扫盲一下啥叫深度学习(Deep Learning)吧,前言深度学习是机器学习的一个分支,其特点是使用几个,有时上百个功能层。深度学习已经从能够进行线性分类的感知器发展到添加多层来近似更复杂的函数。加上卷积层使得小图像的处理性能有了提升,可以识别一些手写数字。现在,随着大型图像数据集的可用性和高性能并行计算卷积网络正在大规模图像上得到应用,从而实现了以前不实用的广泛应用。在这里,我们看到一些实际应用的深度学习是如何被使用的。深度学习擅长的一个领域是图像分类和目标检测,可以用于转载 2021-03-20 15:47:33 · 1400 阅读 · 0 评论 -
YOLOv3训练过程中出现过拟合现象的解决方法
遇到问题:用YOLO训练自己的数据集,在训练集图片上,测试效果很好,换成测试集图片或者其他图片,测试效果极差。而且10000次就开始收敛了,然后又继续训练到50000次,这个过程Loss值一直稳定0.1左右,不再下降——经过查阅资料,最大可能性就是过拟合了。(一)过拟合现象有时我们发现,模型在训练集上效果很好,但是在测试集上效果不好,这种现象称为过拟合(二)解决办法1.增加样本数据量2.数据增强,人为扩展数据量3.正则化: 正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实转载 2020-10-21 23:19:15 · 5709 阅读 · 0 评论 -
目标跟踪概念、多目标跟踪算法SORT和deep SORT原理
目录目标跟踪、单目标跟踪、多目标跟踪的概念欧氏距离、马氏距离、余弦距离欧氏距离马氏距离余弦距离SORT算法原理SORT算法中的匈牙利匹配算法指派问题中的匈牙利算法目标跟踪、单目标跟踪、多目标跟踪的概念目标跟踪分为静态背景下的目标跟踪和动态背景下的目标跟踪。静态背景下的目标跟踪:静态背景下的目标跟踪指摄像头是固定的,其采集的视野中背景是静止的,如在十字路口的固定摄像头。动态背景下的目标跟踪:摄像头采集的视野中背景和目标都是在变化的。目标跟踪又分为单目标跟踪和多目标跟踪。单目标跟踪:在视频的初原创 2020-10-17 23:17:54 · 1873 阅读 · 0 评论 -
DeepSORT算法中的卡尔曼滤波的应用
卡尔曼滤波(kalman filter)可以基于目标前一时刻的位置,来预测当前时刻的位置,并且可以比传感器(在目标跟踪中即目标检测器,比如yolo等)更准确的估计目标的位置。卡尔曼滤波被广泛应用于无人机,自动驾驶,卫星导航等领域,简单来说,其作用就是基于传感器的测量值来更新预测值,以达到更精确的估计。假设我们要跟踪小车的位置变化,如下图所示,蓝色的分布是卡尔曼滤波预测值,棕色的分布是传感器的测量值,灰色的分布就是预测值基于测量值更新后的最优估计。代码解析:1.卡尔曼滤波器的启动目标跟在初始化跟原创 2020-10-16 22:16:21 · 2060 阅读 · 3 评论 -
激活函数及其各自的优缺点
目录1.什么是激活函数?2.为什么要用激活函数?3.激活函数为什么是非线性的?4.常用的激活函数:sigmoid,Tanh,ReLU,Leaky ReLU,PReLU,ELU,Maxout5.神经网络的输入为什么要0均值化6.常见激活函数对比1.什么是激活函数?所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数对于人工神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网原创 2020-10-08 22:03:31 · 522 阅读 · 0 评论 -
目标检测|SSD原理与实现
目录前言设计理念网络结构训练过程预测过程性能评估小结参考文献前言目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考RefineDet):(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)one-stage方法,如Yolo和SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺原创 2020-10-08 15:15:10 · 302 阅读 · 0 评论 -
YOLOV3中k-means聚类获得anchor boxes过程详解
我们都知道yolov3对训练数据使用了k-means聚类的算法来获得anchor boxes大小,但是具体其计算过程是怎样的呢?下面我们来详细的分析其具体计算过程:第一步:首先我们要知道我们需要聚类的是bounding box,所以我们无需考虑其所属类别,第一步我们需要将所有的bounding box坐标提取出来,也许一张图有一个矩形框,也许有多个,但是我们需要无区别的将所有图片的所有矩形框提取出来,放在一起。第二步:数据处理获得所有训练数据bounding boxes的宽高数据。给的训练数据往往是其b转载 2020-10-07 20:36:09 · 1556 阅读 · 0 评论 -
Faster-RCNN原理及相应概念解释
R-CNN --> FAST-RCNN --> FASTER-RCNNR-CNN:(1)输入测试图像;(2)利用selective search 算法在图像中从上到下提取2000个左右的Region Proposal;(3)将每个Region Proposal缩放(warp)成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征;(4)将每个Region Proposal提取的CNN特征输入到SVM进行分类;(5)对于SVM分好类的Region Proposal做边框原创 2020-10-04 22:19:11 · 348 阅读 · 0 评论 -
FasterRCNN理解
RCNN系列的内容已经有非常多同学分享出来了,大多也非常详细。为了避免在长文中迷失方向,这里做个精简版的总结,记录个人的理解。主要是概括算法流程以及特点,方便回顾。先简单介绍下RCNN和Fast RCNN,在详细记录faster rcnn的RPN网络的理解。RCNN:流程(1). 采用传统方法Selective Search产生目标候选框(2). 对每个候选框,用深度卷积神经网络提取特征得到feature map(3). 每个框得到的feature map喂给SVM分类器,并通过线性回归调整bo原创 2020-10-04 22:03:12 · 1208 阅读 · 0 评论 -
大话目标检测经典模型(RCNN、Fast RCNN、Faster RCNN)
目标检测是深度学习的一个重要应用,就是在图片中要将里面的物体识别出来,并标出物体的位置,一般需要经过两个步骤:1、分类,识别物体是什么2、定位,找出物体在哪里除了对单个物体进行检测,还要能支持对多个物体进行检测,如下图所示:这个问题并不是那么容易解决,由于物体的尺寸变化范围很大、摆放角度多变、姿态不定,而且物体有很多种类别,可以在图片中出现多种物体、出现在任意位置。因此,目标检测是一个比较复杂的问题。最直接的方法便是构建一个深度神经网络,将图像和标注位置作为样本输入,然后经过CNN网络,再.原创 2020-10-04 21:30:12 · 1166 阅读 · 0 评论 -
大话深度残差网络(DRN)ResNet网络原理
一说起“深度学习”,自然就联想到它非常显著的特点“深、深、深”(重要的事说三遍),通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此,我们自然很容易就想到:深的网络一般会比浅的网络效果好,如果要进一步地提升模型的准确率,最直接的方法就是把网络设计得越深越好,这样模型的准确率也就会越来越准确。那现实是这样吗?先看几个经典的图像识别深度学习模型:这几个模型都是在世界顶级比赛中获奖的著名模型,然而,一看这些模型的网络层次数量,似乎让人很失望,少则5层,多的也就22层而已,这些世界级模型的.原创 2020-10-04 21:01:47 · 2034 阅读 · 0 评论 -
大话CNN经典模型:GoogLeNet(从Inception v1到v4的演进)
2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名、VGG获得了第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构(详见 大话CNN经典模型:VGGNet),而GoogLeNet则做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多,GoogleNet参数为500万个,AlexNet参数个数是GoogleNet的12倍,VGGNet参数又是Alex.原创 2020-10-04 20:14:29 · 881 阅读 · 0 评论 -
大话CNN经典模型:VGGNet
2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名。VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的泛化性也非常.原创 2020-10-04 18:50:01 · 299 阅读 · 0 评论 -
大话CNN经典模型:AlexNet
2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构,在此之前,深度学习已经沉寂了很长时间,自2012年AlexNet诞生之后,后面的ImageNet冠军都是用卷积神经网络(CNN)来做的,并且层次越来越深,使得.原创 2020-10-04 17:16:56 · 289 阅读 · 0 评论 -
大话CNN经典模型:LeNet
近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:LeNet、Alexnet、Googlenet、VGG、DRL等,接下来将分期进行逐一介绍。在之前的文章中,已经介绍了卷积神经网络(CNN)的技术原理,细节部分就不再重复了,有兴趣的同学再打开链接看看(大话卷积神经网络),在此简单回顾一下CNN的几个特点:.原创 2020-10-04 16:29:25 · 141 阅读 · 0 评论 -
大话卷积神经网络(CNN)
这里的神经网络,也指人工神经网络(Artificial Neural Networks,简称ANNs),是一种模仿生物神经网络行为特征的算法数学模型,由神经元、节点与节点之间的连接(突触)所构成,如下图:每个神经网络单元抽象出来的数学模型如下,也叫感知器,它接收多个输入(x1,x2,x3…),产生一个输出,这就好比是神经末梢感受各种外部环境的变化(外部刺激),然后产生电信号,以便于转导到神经细胞(又叫神经元)。单个的感知器就构成了一个简单的模型,但在现实世界中,实际的决策模型则要复杂得多,往往是由.原创 2020-10-04 15:48:20 · 5375 阅读 · 0 评论 -
鱼眼相机的相关知识
鱼眼镜头鱼眼镜头是具有超广视角的镜头。与一般的广角镜头、超广角镜头相比,在设计规格上,鱼眼镜头的焦距更短、视角更广。相同画幅和像素尺寸下,鱼眼镜头能容纳更多景物信息。根据鱼眼投影圆与成像面的几何关系分类:圆形鱼眼图鼓型鱼眼图全帧鱼眼图鱼眼镜头模型分类其中r是在成像平面上,对象到光轴的距离f是镜头的焦距a是入射光线与光轴的夹角鱼眼镜头模型优缺点比较:径向畸变公式:薄透镜畸变公式:离心畸变公式:其中δxr表示在二维平面坐标系中x轴上的径向畸变距离,δxr表示在y原创 2020-10-02 23:28:51 · 541 阅读 · 0 评论 -
Deep sort算法代码解读
转载 2020-09-21 13:11:51 · 324 阅读 · 1 评论 -
马氏距离(Mahalanobis Distance)
马氏距离(Mahalanobis Distance)是度量学习中一种常用的距离指标,同欧氏距离、曼哈顿距离、汉明距离等一样被用作评定数据之间的相似度指标。但却可以应对高维线性分布的数据中各维度间非独立同分布的问题。什么是马氏距离马氏距离(Mahalanobis Distance)是一种距离的度量,可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。单个数据点的马氏距离数据点x, y之间的马氏距离其中Σ是多维随机变量的协方差矩阵,μ为样本均值,如果协方差矩阵是单位向量,原创 2020-09-20 14:23:25 · 2150 阅读 · 0 评论 -
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲解
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲解1.论文汇总2.YoloV3核心基础内容2.1 网络结构可视化2.2 网络结构图2.3核心基础内容3.YoloV3相关代码3.1 python代码3.2 C++代码3.3 python版本的Tensorrt代码3.4 C++版本的Tensorrt代码4.YoloV4核心基础内容4.1 网络结构可视化4.2 网络结构图4.3 核心基础内容4.3.1 输入端创新4.3.2 BackBone创新4.3.3 Neck创原创 2020-08-11 18:05:26 · 1894 阅读 · 0 评论 -
目标跟踪算法-综述
传统方式主要是一些特征提取+滤波类搜索算法。其中特征提取主要有:局部、全局特征、模板、直方图、binary pattern、PCA、sparse PCA、SR(sparse representation)、 discriminative model、generative model。对于搜索机制:CSK、KCF/DCF、CN、粒子滤波、马尔可夫链蒙特卡罗法、局部最优搜索、密集抽样搜索。深度学习方式1、tracking-by-detection方式主要针对目标检测算法和滤波类算法(多目标跟踪),原创 2020-07-16 23:53:02 · 1660 阅读 · 1 评论 -
Pytorch搭建SSD目标检测平台
什么是SSD目标检测算法SSD是一种非常优秀的one-stage目标检测方法,one-stage算法就是目标检测和分类是同时完成的,其主要思路是利用CNN提取特征后,均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,物体分类与预测框的回归同时进行,整个过程只需要一步,所以其优势是速度快。但是均匀的密集采样的一个重要缺点是训练比较困难,这主要是因为正样本与负样本(背景)极其不均衡(参见Focal Loss),导致模型准确度稍低。SSD的英文全名是Single Shot MultiBox转载 2020-07-16 00:06:32 · 787 阅读 · 0 评论 -
yolov4(darknet官方)用于检测垃圾和分类
前段时间做了华为云的垃圾检测分类比赛(垃圾分类检测),当时的方案是SSD+efficientdet+CiouLoss,很遗憾最终未能进入复赛(如果大家感兴趣,也可以去比赛官方页面下载来玩一玩)。这几天闲来无事玩了下darknet官方版的yolov4和ultralytics的yolov5。嗯,初步测试yolov4-tiny确实很不错,而且速度是真的快。本篇文章主要记录如何正确食用yolov4,下一次记录下yolov5的使用。主要分为darknet编译,数据准备,训练,验证…。其实官方文档写的是真的详细,这里.转载 2020-07-15 13:01:25 · 5365 阅读 · 6 评论 -
uNetXST:将多个车载摄像头转换为鸟瞰图语义分割图像
项目地址:https://github.com/ika-rwth-aachen/Cam2BEV论文地址:https://arxiv.org/pdf/2005.04078.pdf概述准确的环境感知对于自动驾驶来说是非常重要的,当用单目摄像头时,环境中的距离估计是一个很大的挑战。当摄像机视角转换为**鸟瞰视角(BEV)**时,距离能够更加容易的建立。对于扁平表面,逆透视映射能够准确的转换图像到BEV。但是对于三维物体来说,会被这种转换所扭曲,使得很难估计他们相对于传感器的位置。这篇文章描述了一种获取36转载 2020-07-13 11:21:30 · 713 阅读 · 1 评论 -
基于深度学习的语义分割综述
Image Segmentation Using Deep Learning: A SurveyPaper链接:https://arxiv.org/abs/2001.05566摘要图像分割是图像处理和计算机视觉领域的一个重要课题,在场景理解、医学图像分析、机器人感知、视频监控、增强现实、图像压缩等领域有着广泛的应用。近年来,由于深度学习模型在视觉应用中的成功,已有大量的工作致力于利用深度学习模型开发图像分割方法。本文全面回顾了撰写本文时的文献,涵盖了语义和实例级分割的大量开创性工作,包括完全卷积像素标转载 2020-07-13 09:38:06 · 892 阅读 · 0 评论 -
RTFNet:基于可见光/红外图像的城市自动驾驶道路场景语义分割
论文下载:https://yuxiangsun.github.io/pub/RAL2019_rtfnet.pdf代码下载:https://github.com/yuxiangsun/RT简介:语义分割是自动驾驶车辆的一项基本功能。随着深度学习技术的发展,近年来出现了许多有效的语义分割网络。然而,大多数相机用来获取可见光的RGB图像。在不满足的光照条件下,RGB图像的质量容易降低;例如,光线的暗度和亮度,这对仅使用RGB图像的网络是严峻的挑战。不同于可见光相机,**热成像相机是利用热辐射产生产生热图像.转载 2020-07-13 08:47:16 · 2347 阅读 · 2 评论 -
Pytorch搭建Efficientdet目标检测平台
什么是Efficientdet目标检测算法最近,谷歌大脑 Mingxing Tan、Ruoming Pang 和 Quoc V. Le 提出新架构 EfficientDet,结合 EfficientNet(同样来自该团队)和新提出的 BiFPN,实现新的 SOTA 结果。源码下载https://github.com/bubbliiiing/efficientdet-pytorchEfficientdet实现思路一、预测部分1、主干网络介绍Efficientdet采用Efficientnet作为转载 2020-07-09 17:44:58 · 1804 阅读 · 1 评论 -
Pytorch搭建Faster R-CNN目标检测平台
什么是FasterRCNN目标检测算法Faster-RCNN是一个非常有效的目标检测算法,虽然是一个比较早的论文, 但它至今仍是许多目标检测算法的基础。Faster-RCNN作为一种two-stage的算法,与one-stage的算法相比,two-stage的算法更加复杂且速度较慢,但是检测精度会更高。事实上也确实是这样,Faster-RCNN的检测效果非常不错,但是检测速度与训练速度有待提高。源码下载https://github.com/bubbliiiing/faster-rcnn-pytor转载 2020-07-08 21:41:28 · 688 阅读 · 0 评论 -
tf常见的损失函数(LOSS)汇总
一般常用的损失函数是均方差函数和交叉熵函数。运算公式1 均方差函数均方差函数主要用于评估回归模型的使用效果,其概念相对简单,就是真实值与预测值差值的平方的均值,具体运算公式可以表达如下:其中f(xi)是预测值,yi是真实值。在二维图像中,该函数代表每个散点到拟合曲线y轴距离的总和,非常直观。2 交叉熵函数出自信息论中的一个概念,原来的含义是用来估算平均编码长度的。在机器学习领域中,其常常作为分类问题的损失函数。其中f(xi)是预测值,yi是真实值。交叉熵函数是怎么工作的呢?假设在分转载 2020-07-06 23:13:02 · 781 阅读 · 0 评论 -
Tensorflow函数详解
Tensorflow笔记链接: Tensorflow.keras.layers.Conv2D tf.keras.layers.Dense Tensorflow.keras.layers.Flatten tf.name_scope(‘scope_name’) tf.variable_scope(‘scope_name’)name_scope和variable_scope slim.arg_scope tf.cond() tf.shape(x)、x.shape和x.get_shape() A原创 2020-07-06 22:57:28 · 370 阅读 · 0 评论 -
非极大抑制NMS与Soft-NMS
什么是非极大抑制NMS非极大抑制的概念只需要看这两幅图就知道了:下图是经过非极大抑制的。下图是未经过非极大抑制的。可以很明显的看出来,未经过非极大抑制的图片有许多重复的框,这些框都指向了同一个物体!可以用一句话概括非极大抑制的功能就是:筛选出一定区域内属于同一种类得分最大的框。1、非极大抑制NMS的实现过程本博文实现的是多分类的非极大抑制,该非极大抑制使用在我的pytorch-yolov3例子中:输入shape为[ batch_size, all_anchors, 5+num_class转载 2020-07-06 19:55:22 · 411 阅读 · 0 评论 -
利用mAP计算目标检测精确度
GITHUB代码下载这个是用来绘制mAP曲线的。https://github.com/Cartucho/mAP这个是用来获取绘制mAP曲线所需的txt的https://github.com/bubbliiiing/count-mAP-txt知识储备1、IOU的概念IOU的概念应该比较简单,就是衡量预测框和真实框的重合程度。下图是一个示例:图中绿色框为实际框(好像不是很绿……),红色框为预测框,当我们需要判断两个框之间的关系时,主要就是判断两个框的重合程度。计算IOU的公式为:可以看到转载 2020-07-06 18:22:36 · 1699 阅读 · 0 评论 -
Focal loss详解及其实现
什么是Focal lossFocal loss是何恺明大神提出的一种新的loss计算方案。其具有两个重要的特点。1、控制正负样本的权重2、控制容易分类和难分类样本的权重正负样本的概念如下:一张图像可能生成成千上万的候选框,但是其中只有很少一部分是包含目标的的,有目标的就是正样本,没有目标的就是负样本。容易分类和难分类样本的概念如下:假设存在一个二分类,样本1属于类别1的pt=0.9,样本2属于类别1的pt=0.6,显然前者更可能是类别1,其就是容易分类的样本;后者有可能是类别1,所以其为难分转载 2020-07-06 18:01:29 · 1967 阅读 · 0 评论