- 博客(93)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 目标检测---CIOU原理及代码实现
目标检测—CIOU原理及代码实现最近刚写完一篇YOLO V4-tiny的blog,其中Tensorflow2.0—YOLO V4-tiny网络原理及代码解析(三)- 损失函数的构建涉及到了CIOU。所以特地单独领出来写一篇blog记录一下。在YOLO V3中,对于位置的损失函数,使用的还是普通的smooth-l1损失函数,但是到了YOLO V4中,关于位置的损失函数已经变成CIOU了。一、原理,公式关于它的原理,在YOLOV4与YOLOV3的区别中已经有了大致的介绍。二、优点相比于IOU的优点
2021-03-03 14:23:53
17275
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 YOLOV4与YOLOV3的区别
YOLOV4与YOLOV3的区别20年的11月份的时候,正式开始接触v4。时间过去了小半年了,最近突然忘记了v4里面的所谓那些tricks,所以特地做一篇blog(怕过段时间又忘记了~)。首先,先大概的说下二者之间的差别:1.特征提取网络的不同2.激活函数的不同3.loss的不同4.数据处理的不同5.学习率的不同参考:https://blog.csdn.net/weixin_44791964/article/details/106533581https://blog.csdn.net/
2021-01-29 11:02:28
13965
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Tensorflow---训练过程中学习率(learning_rate)的设定
Tensorflow—训练过程中学习率(learning_rate)的设定在深度学习中,如果训练想要训练,那么必须就要有学习率~它决定着学习参数更新的快慢。如下:上图是w参数的更新公式,其中α就是学习率,α过大或过小,都会导致参数更新的不够好,模型可能会陷入局部最优解或者是无法收敛等情况。一、学习率的类型上图列举了我们常用的5种学习率设置的方法~1.固定学习率optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.0001)
2020-12-18 16:20:35
12273
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 目标检测---批归一化(BN)原理与细节详解
目标检测—Batch Normalization Layer(BN)批归一化问:为什么会出现BN这种操作?答:假设我们现在有四个样本,每个样本有四个特征,每一个神经元可以代表一个特征(这句话我是在网上找到的,感觉有点道理,但是我又找不出来哪有道理~~),这些数据作为输入传进BP网络(假设就是为简单的感知器模型)中,可以得到一下损失函数,通过这个损失函数可以很明显的看到,如果随着w的更新,当w4的取值大小发生一点点的改变,那么整个loss就会发生相应的很大的变换,这是因为第四个特征对于该模型来说权重太大
2020-12-10 17:16:10
3624
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 目标检测---IoU计算公式
目标检测之IoU计算在研究目标检测中,IOU的计算是肯定必不可少的。就比如说在R-CNN网络中,正负样本就是按照候选框与真实框之间的IOU值大小进行区分的,可见该细节还是值得单独拎出来写一篇blog的~~下面的思路与代码是本人的理解结合百度飞浆的使用教程文档整理出来的(下面附上了飞浆的url,大家可以自主去研究~~~)百度飞浆–IOU计算废话不多说,直接上干货~思路分析例如,在R-CNN网络中,我们通过SS(selective search)算法可以实现在每张图片上获得2k左右的候选框,那么如何
2020-12-02 11:42:05
22699
8
原创 PyTorch简易安装方法(100%成功)
一般我们习惯用,同时使用清华源用来加速,这种方法安装99%的库都没啥大问题,但是有时候安装pytorch的时候就会发现问题。笔者反正每次用该方法安装torch总会遇到刚开始下载速度很快,但是下载到快一半的时候下载速度就会极具下降,所以笔者推荐一个简易安装的方法,就是直接用wheel文件来安装。
2023-01-07 11:36:19
2466
1
原创 解决在pycharm中opencv-python(cv2)没有自动补全的问题
解决在pycharm中opencv-python(cv2)没有自动补全的问题
2022-11-16 10:19:31
1506
原创 YOLO系列 --- YOLOV7算法(四):YOLO V7算法网络结构解析
YOLO系列 --- YOLOV7算法(四):YOLO V7算法网络结构解析
2022-08-03 11:58:22
12427
5
原创 YOLO系列 --- YOLOV7算法(六):YOLO V7算法onnx模型部署
YOLO系列 --- YOLOV7算法(六):YOLO V7算法onnx模型部署
2022-08-01 15:16:22
16357
29
原创 YOLO系列 --- YOLOV7算法(三):YOLO V7算法train.py代码解析
YOLO系列 --- YOLOV7算法(三):YOLO V7算法train.py代码解析
2022-07-28 14:16:41
13885
14
原创 YOLO系列 --- YOLOV7算法(二):YOLO V7算法detect.py代码解析
YOLO V7算法detect.py代码解析
2022-07-27 10:23:21
21128
20
原创 YOLO系列 --- YOLOV7算法(一):使用自定义数据集跑通YOLOV7算法
YOLO系列 --- YOLOV7算法(一):使用自定义数据集跑通YOLOV7算法
2022-07-23 15:31:16
13108
18
原创 目标检测 -- 基于训练好的YOLO深度学习网络模型实现自动辅助标注
在实际工程中,我们一般会先用少量的数据集进行人工标注,然后训练一个简单的深度学习网络模型,然后基于该网络模型进行预测,对剩余大量测试图片进行初步标注,然后基于机器标注之后的结果进行人工微调标注框,这样即省时又省力。这篇blog主要就讲讲基于训练好的YOLO v5模型实现自动辅助标注。...
2022-07-08 10:56:01
2349
原创 YOLO V6系列(三) -- 损失函数的计算
在上篇blogYOLO V6系列(二) – 网络结构解析里面大概介绍了美团视觉出的YOLO V6算法的网络结构,这篇主要解析下YOLO V6算法的损失函数的计算过程以及实现代码
2022-07-07 17:45:14
1580
1
原创 YOLO V6系列(二) -- 网络结构解析
在YOLO V6系列(一) – 跑通YOLO V6算法这篇blog中简单的介绍了YOLO V6算法的训练及测试过程。那么后面,尽可能地对源码进行解析。首先,先对YOLO V6算法的网络架构进行解析吧~
2022-07-06 16:30:44
2592
2
原创 YOLO V6系列(一) -- 跑通YOLO V6算法
近期,看到美团视觉发布了YOLO V6算法,从名字看,感觉上是YOLO系列的一个新的里程碑吧,所以好好研究研究~
2022-07-05 16:02:47
2481
原创 YOLO系列 --- xml2txt脚本
YOLO算法的数据格式基本上都是VOC格式的,我在网上看了很多xml2txt的脚本,发现很多还是有一些问题的,并不能直接运行得到正确的txt文件。所以特地写一篇blog
2022-06-29 14:32:00
1942
1
原创 Tensorflow2.0---DeepLab v3+分割网络原理及代码解析(一)
Tensorflow2.0—DeepLab v3+分割网络原理及代码解析(一)在好久好久之前,研究过一段时间的语义分割模型,但是一直没有用过。最近,因为工作需要,又要重新拾起图像分割了~依旧找到了大佬的代码和讲解blog,再加上自己的一些理解,希望在大佬的基础之上增加一些自己的见解。大佬的blog:https://blog.csdn.net/weixin_44791964/article/details/122655063大佬的代码git地址:https://github.com/bubbliiii
2022-04-08 11:33:46
849
原创 HRNet代码及原理分析(一)-- 网络结构
HRNet代码及原理分析(一)-- 网络结构通常来说,目前市场上主流物体关键点的方法一般分两类:基于坐标回归,热力图。而后者主要是由高到低分辨率网络然后由低分辨率网络再转到高分辨率网络中(high-to-low resolution—>low-to-high resolution)。但是微软提出的一种新型的网络结构–HRNet。上图是high-to-low resolution—>low-to-high resolution的一般的网络结构,下图就是HRNet的大概的网络结构。可以清楚的
2022-04-08 11:33:00
7425
原创 上采样、反卷积、上池化的区别
上采样、反卷积、上池化的区别最近,工作中遇到了一个小问题,就是pytorch转onnx转caffe转wk(海思相机NNIE支持的深度学习权重文件格式)的时候,最终输出的Tensor的值有些许差别,后来找到了原因:pytorch项目中使用的upsample中mode选择的是"bilinear",但是onnx2caffemodel的时候默认使用是的"nearest",最终就会导致二者输入Tensor的余弦相似度并不是99.9999%。所以,特地把上采样这一块最容易忽略的知识点领出来单独说说,以下内容要是有说的
2022-03-28 16:14:15
2937
1
原创 Tensorflow2.0---DeepLab v3+分割网络原理及代码解析(四)- 训练过程
Tensorflow2.0—DeepLab v3+分割网络原理及代码解析(四)- 训练过程在Tensorflow2.0—DeepLab v3+分割网络原理及代码解析(三)- 特征提取网络实现中,输入图片已经经过主干网络进行了特征提取,最终得到的fearture map的shape为(512,512,2)。这篇主要讲讲训练过程吧~~一、datasettrain_dataloader = DeeplabDataset(train_lines, input_shape, batch_size, num_c
2022-03-03 18:48:43
1075
原创 浅谈Dataset类中的__getitem__和 __len__方法
浅谈Dataset类中的__getitem__和 __len__方法torch.utils.data.Dataset是PyTorch中用来表示数据集的抽象类,Dataset是一个包装类,用来将数据包装为Dataset类,然后传入DataLoader中从而使DataLoader类更加快捷的对数据进行操作。当处理自定义的数据集的时候必须继承Dataset,然后重写 len()和__getitem__()函数。1)len(): 使得len(dataset)返回数据集的大小;2)getitem():使得支持d
2022-03-03 17:10:44
5801
2
原创 Tensorflow2.0---DeepLab v3+分割网络原理及代码解析(三)- 特征提取网络实现
Tensorflow2.0—DeepLab v3+分割网络原理及代码解析(三)- 特征提取网络实现一、backboneDeepLab v3+分割网络默认使用Xception或mobilenetV2作为其的主干网络,用于特征提取。其中mobilenetV2的结构,大佬已经解释的很清楚(https://blog.csdn.net/weixin_44791964/article/details/122655063),这里由于我的电脑还能跑的动大模型,所以我这里我选择的是Xception作为网络的backbon
2022-03-03 13:46:42
1376
原创 Tensorflow2.0---DeepLab v3+分割网络原理及代码解析(二)
Tensorflow2.0—DeepLab v3+分割网络原理及代码解析(二)-数据生成这篇blog主要介绍下数据的生成~一、原始图片的标注首先,第一步就是要收集你训练的图片,这个毋庸置疑哈,然后用labelme去标注。这里选择labelme而不是选择labelimg标注工具的原因是labelme支持分割网络的标注。标注之后,应该是这样的~一张图片对应一个标注好的json文件~~~~二、转换png格式标注文件然后,将图片和标注文件一起放到datasets/before里面,然后运行json_t
2022-03-02 14:56:10
1144
原创 NVIDIA-SMI详解
NVIDIA-SMI详解最重要的就是Volatile GPU-Util,表示的是你GPU的利用情况(已经用绿框标注)ps:如果想实时查看GPU的使用情况(每1s刷新一次):watch -n 1 nvidia-smi
2022-02-23 15:38:08
2772
原创 Tensorflow与cuda版本关系(附加多个cuda版本安装)
Tensorflow与cuda版本关系(附加多个cuda版本安装)多说一句如果,在网上down的代码用的tf的版本与你本机cuda不一致的话,可以在本机安装多个cuda版本,到时候再根据你自己的项目来选择使用哪个版本的cuda(就我本机win10为栗子)1.安装cuda,这一步在网上太多教程,随便找个就行(cuda安装教程(windows))2.一般来说,如果cuda默认安装,路径应该与我上面贴出来的图中的路径一致:C:\Program Files\NVIDIA GPU Computing To
2022-02-18 11:05:53
14177
原创 darknet编译中关联opencv操作
darknet编译中关联opencv操作最近在使用darknet-yolov4的项目,但是如果想使用mosic的数据前处理就必须要darknet关联到opencv。在darknet编译中,如果想要设置打开opencv的关联,那么就得稍微折腾一下了~一、修改Makefile打开darknet项目文件夹,进行修改GPU=1CUDNN=1CUDNN_HALF=0OPENCV=1 #就是这个地方需要进行修改,如果想要关联到opencv,就将该栏设置为1AVX=0OPENMP=0LIBSO=0
2021-12-20 10:42:43
2817
原创 目标检测 --- Depthwise Convolution(深度可分离卷积)原理与思考
目标检测 — Depthwise Convolution(深度可分离卷积)原理与思考最近在研究mobilenet,其中有一层网络结构–Depthwise Convolution(深度可分离卷积),然后就拎出来仔细研究下~参考:https://cloud.tencent.com/developer/article/1453992https://www.zhihu.com/question/265434464一、算法原理1、先说一下常规的卷积操作假设输入的feature map的shape为(
2021-11-29 16:44:18
9562
3
原创 Tensorflow2.0—FaceNet网络原理及代码解析(二)--- Triplet loss函数
# Tensorflow2.0—FaceNet网络原理及代码解析(二)— Triplet loss函数Facenet使用的是Triplet loss~一、原理Triplet Loss的输入是三个相同长度的向量(这里为128):a:anchor,基准图片获得的128维人脸特征向量p:positive,与基准图片属于同一张人脸的图片获得的128维人脸特征向量n:negative,与基准图片不属于同一张人脸的图片获得的128维人脸特征向量根据公式,可以看出来,为了让loss越低,那么就得让a与p
2021-10-28 17:03:04
791
原创 Tensorflow2.0—FaceNet网络原理及代码解析(一)--- 模型原理及骨干网络
Tensorflow2.0—FaceNet网络原理及代码解析(一)— 模型原理及骨干网络FaceNet其实就是一个前言所诉的通用人脸识别系统:采用深度卷积神经网络(CNN)学习将图像映射到欧式空间。空间距离直接和图片相似度相关:同一个人的不同图像在空间距离很小,不同人的图像在空间中有较大的距离,可以用于人脸验证、识别和聚类。在800万人,2亿多张样本集训练后,FaceNet在LFW数据集上测试的准确率达到了99.63%,在YouTube Faces DB数据集上,准确率为95.12%。代码:FaceNe
2021-10-27 12:04:14
1784
原创 YOLOV4 -- SE注意力机制
YOLOV4 – SE注意力机制在YOLOV4与YOLOV3的区别主要介绍了V3和V4之间的区别,但是仔细研究代码Tensorflow2.0—YOLO V4-tiny网络原理及代码解析(一)- 特征提取网络会发现其实在V4中还多出一个trick,那就是注意力机制!一、概念YOLOv4中引入注意力机制,就是希望网络能够自动学出来图片需要注意的地方。比如人眼在看一幅画的时候,不会将注意力平等地分配给画中的所有像素,而是将更多注意力分配给人们关注的地方。从实现的角度来讲,注意力机制就是通过神经网络的操作生成
2021-10-13 10:44:42
5334
9
原创 SSD针对小物体检测效果不好的现象的思考
SSD针对小物体检测效果不好的现象的思考最近在用ssd-caffe进行物体检测,但是在使用的过程中,发现ssd对小物体的检测效果很不好。阅读了为什么SSD(Single Shot MultiBox Detector)对小目标的检测效果不好?这篇blog,感觉还是体会很深,所以就该blog进行以下探讨~~~~一、 问题的出现首先,为什么会出现SSD针对小物体检测效果不好的现象?答:SSD-CAFFE网络框架采用的是VGG16作为backbone,而ssd采样了conv4_3,fc7…conv9_2
2021-10-09 16:57:49
852
转载 darknet模型转化为caffe模型
darknet模型转化为caffe模型基于基于Darknet框架利用YOLOV3/V4跑通自己数据,可以得到基于darknet框架所得到的weights权重文件,同时还有一个cfg训练文件。但是,如果想将训练好的yolov3模型迁移到海思相机端,那么就必须要转成caffemodel和prototxt格式,那么就有了darknet模型转化为caffe模型的需求~参考链接:https://blog.csdn.net/qq_40421682/article/details/106855155...
2021-09-22 15:28:55
780
原创 基于Darknet框架利用YOLOV3/V4跑通自己数据
基于Darknet框架利用YOLOV3/V4跑通自己数据一、Darknet框架安装YOLOV3:https://github.com/pjreddie/darknetYOLOV4:https://github.com/AlexeyAB/darknet注:由于V3和V4内部有一些区别,具体的不同可看我之前写的一篇blogYOLOV4与YOLOV3的区别,所以要根据你的需求下载不同版本的框架源码(我用v4为例子)。其中,打开Makefile文件:GPU=0 #是否打开GPU,1-打开,0-关闭C
2021-09-17 16:09:24
943
原创 caffe中的iteration,batch_size, epochs
caffe中的iteration,batch_size, epochs理解举个例子吧~比如现在训练集一共是60000张图片1.batch_size:该值是一个超参数,意味着用户希望模型一次能训练多少张图片2.iteration:该值也是一个超参数,一般在caffe中的solver.prototxt设置,表示用户要进行多少次的训练,假设batch_size设置为100张,iteration设置为1w轮,那么就表示模型一共要将10w*100张图片进行训练,由于超过总图片数量,那么就会进行多次循环训练。
2021-09-09 13:55:59
193
1
原创 跑通caffe-ssd demo代码(训练、测试自己数据集)
跑通caffe-ssd demo代码(训练、测试自己数据集)ssd网络我就不多介绍了,CSDN上面一搜一大把。这篇主要讲讲如何跑通caffe代码~github:caffe-ssd一、代码结构在caffe-ssd中能用到的文件我全部在上述图片中标出来了,到时候具体的再细说~caffe-ssd的环境自己百度吧,网上很多安装教程~二、数据集准备训练模型,首先第一个事情就是准备数据集。在利用caffe训练分类模型的时候,通常使用lmdb或者hdf5格式的数据,但是在该项目中使用的是lmdb格式的(其
2021-08-14 10:39:56
1299
原创 SimpleHumanPose代码及原理分析(四)-- 算法原理总结
SimpleHumanPose代码及原理分析(四)-- 算法原理总结在之前,对SimpleHumanPose算法的代码进行了解析:SimpleHumanPose代码及原理分析(一)-- coco keypoints数据集SimpleHumanPose代码及原理分析(二)-- data与label前处理SimpleHumanPose代码及原理分析(三)-- loss损失函数这篇blog对SimpleHumanPose算法进行一个总结和归纳~~一、backbone网络结构...
2021-07-21 11:00:53
316
人员跌倒VOC格式数据集(YOLO系列算法通用)
2022-10-13
使用yolov5算法实现火焰识别检测(包含4000张火焰数据集)
2022-07-05
变电站鸟巢,输电线路鸟巢目标检测数据集
2022-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人