YOLOv4
愿望是当打工人
安卓 高通 bsp ,同行欢迎交流
展开
-
记录:对理解YOLOv4有帮助的issue
写在前面建议仔细阅读这个教程~https://github.com/AlexeyAB/darknet#how-to-improve-object-detection2021-6-24:最新的mAP对比包括v4和v5。https://github.com/AlexeyAB/darknet/issues/7828之前的:可以叫做V4的诞生!https://github.com/AlexeyAB/darknet/issues/4346可以检测到多少个物体:https://github.com/原创 2021-06-24 17:19:44 · 69 阅读 · 0 评论 -
COCO数据集及txt格式Label文件~
coco数据集及对应的label:train2017:http://images.cocodataset.org/zips/train2017.ziphttp://images.cocodataset.org/zips/val2017.ziphttp://images.cocodataset.org/zips/test2017.ziplabel地址:YOLOv5作者提供的,感谢。https://github.com/ultralytics/yolov5/releases/download/v1.原创 2021-04-27 20:55:42 · 3310 阅读 · 1 评论 -
YOLOv4编译报错,cuda not found。
如果你尝试了各种方法解决不了的话,尝试一下切换本地gcc版本。因为cuda和gcc版本必须匹配。cuda低版本不支持高版本的gcc。所以会提示找不到cuda.突然想起来,在这记录一下。更详细的操作。看我的github回答。https://github.com/AlexeyAB/darknet/issues/7628https://github.com/AlexeyAB/darknet/issues/7582...原创 2021-04-27 20:43:52 · 1305 阅读 · 0 评论 -
YOLOv4与Repulsion Loss的实现。
写在前面效果很差,贴张完整截图。原因是因为Repulsion Loss并不适用一阶段检测器。更多分析请参考这篇我对论文的解读。https://blog.csdn.net/weixin_40557160/article/details/116174316github地址:https://github.com/SpongeBab/darknet...原创 2021-04-27 08:43:25 · 1237 阅读 · 0 评论 -
Repulsion Loss:为解决密集人群检测中遮挡设计的损失函数
最近终于实现了darknet(yolov4)与repulsion的结合。但是结果奇差无比。仔细阅读论文,发现repulsionloss基本上是为了提升数据集的指标而设计的。实际中很那应用,并且局限于两阶段检测器(个人猜想。)Markdown将文本转换为 HTML。题目:Repulsion Loss: Detecting Pedestrians in a Crowd原文章地址:Repulsion Loss: Detecting Pedestrians in a Crowd引言我们来分析一下论.原创 2021-04-26 22:13:53 · 3267 阅读 · 34 评论 -
YOLOv4训练脚本
训练脚本每次开机都得找路径,然后终端输入命令。用个简单的方式,自动化操作。#! /usr/bin/bashcd darknetcd build./darknet detector train data/obj.data cfg/yolov4.cfg backup/yolov4_last.weights保存为train.sh.放在文件夹下。但是发现并不能双击运行。还是得终端。sh train.sh双击运行的方法:随便打开一个窗口,并在菜单中点击首选项。选择每次打开时询问,在新版ubu原创 2021-04-24 15:33:58 · 355 阅读 · 0 评论 -
YOLOv4(AlexeyAB版darknet)和YOLOv5训练coco数据集,训练其中的某一类
前言最近在用YOLOv4做大规模检测,原创 2021-04-22 10:46:36 · 3001 阅读 · 7 评论 -
yoloV4只检测人
很简单:与检测图片不同的是,测试图片用的是image.c。检测视频用的是image_opencv.c.因为用的opencv的库去读取视频。不知道是v4新写的文件还是修改的。extern "C" void draw_detections_cv_v3(mat_cv* mat, detection *dets, int num, float thresh, char **names, image **alphabet, int classes, int ext_output){ try { .原创 2021-03-16 21:23:46 · 682 阅读 · 1 评论 -
YOLOv4保存检测视频结果
命令;这是使用摄像头darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 -ext_output test.mp4 -out_filename xxx.mp4 检测视频:-out_filename 是保存检测视频的命令 xxx是你自己保存视频的名字darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights原创 2021-03-05 17:36:36 · 1833 阅读 · 6 评论 -
YOLOv4对检测到的目标进行计数
主要修改的image.c文件,在darknet目录下直接ctrl+f搜即可,然后打开,找到draw_detections_v3函数,加入用来计数的变量。(我的改法其实有点问题,如果置信度位数过多的话左上角第二行会重复。我懒的研究,直接把置信度位数改小,让第二行盖过它。)void draw_detections_v3(.....).....qsort(selected_detections, selected_detections_num, sizeof(*selected_detections),.原创 2021-03-05 15:52:02 · 2640 阅读 · 4 评论 -
Yolov4源代码分析(知识点等
一些资源。比较老,好在能给我们抛砖引玉。Yolov4源码详解https://www.cnblogs.com/lh2n18/p/12986898.htmldarknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析https://github.com/hgpvision/darknetYOLO源码详解https://blog.csdn.net/u014540717/category_6513159.html主函数参数以及char argv[]...原创 2021-02-02 11:23:38 · 1279 阅读 · 0 评论 -
python将一个文件夹下的文件复制到另一个文件或是指定格式的文件
话不多说上代码:将所有文件复制:import shutilimport osdef remove_file(old_path, new_path): print(old_path) print(new_path) filelist = os.listdir(old_path) #列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。 print(filelist) for file in filelist: src = o原创 2021-01-18 19:32:10 · 2750 阅读 · 0 评论 -
PIL.UnidentifiedImageError: cannot identify image file ‘E:\\数据集\\total\\0101003-14_20201018082000_2.
读取图片时候出现问题:PIL.UnidentifiedImageError: cannot identify image file ‘E:\数据集\total\0101003-14_20201018082000_2.jpg’以为是我的PIL库问题,结果找到图片发现0kb,吐了。把这张图片删了就好。原创 2021-01-18 17:53:54 · 2342 阅读 · 4 评论 -
Ubuntu20.04 配置Yolov4(gpu版,安装OpenCV,配置环境)
我的Ubuntu版本 20.04。1.下载OpenCV。选择Sources。https://opencv.org/releases/解压。1.安装c-make.sudo apt-get install cmake2.安装依赖。sudo apt-get install build-essential pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-de..原创 2020-12-24 19:16:50 · 3920 阅读 · 4 评论 -
yoloV4论文研读笔记
receptive field可以看到在Conv1中的每一个单元所能看到的原始图像范围是33,而由于Conv2的每个单元都是由 22范围的Conv1构成,因此回溯到原始图像,其实是能够看到5*5的原始图像范围的。因此我们说Conv1的感受野是3,Conv2的感受野是5. 输入图像的每个单元的感受野被定义为1,这应该很好理解,因为每个像素只能看到自己。...原创 2020-12-16 08:55:17 · 101 阅读 · 1 评论 -
CSPDarknet53-pytorch实现
import torchimport torch.nn as nnfrom torch.nn import functional as Ffrom torch import Tensorimport mathfrom torchsummary import summaryBN_MOMENTUM = 0.1# Resnet中对Conv2d进行封装,定义3*3的卷积核模板,我觉得没必要,反而会使得代码更混乱,不过熟悉了这种方法应该会觉得也不错def conv3x3(in_planes,原创 2020-11-16 16:38:12 · 1621 阅读 · 2 评论 -
YOLOv4训练提示 Out of memory!
YOLOv4训练提示 Out of memory!网上的办法如果都解决不了,试试我的这个。训练时候修改你自己的cfg文件中height和weight,往小改,官方为416,我改成960报以上错误。height=960weight=960根本原因是,输入网络的图片尺寸越大,卷积核计算出最后的tensor的维度会过高,可以理解为参数爆炸,所以YOLO也不能处理过高分辨率的图片。Think:想一个办法改进?...原创 2020-10-08 11:36:08 · 1152 阅读 · 0 评论 -
简单概念-BaseLine,PipeLine
BaseLine你训练一个模型,获得了80%的准确率,你觉得很高吗?不能这么说,因为你没有与别人的东西作对比。只有与当前的state of the art的算法比较才能有意义,这个被比较的算法就是baseline。你使用已经存在的流行的算法作为baseline,baseline的选择取决于你的目的,我们的最终目标是超越baseline,如果你的算法模型训出来比baseline的accuracy要高,或者其他的指标如训练的时间,预测的时间,内存使用率等等要更好,那么就可以说你超越了baseline,换句原创 2020-10-08 11:30:03 · 528 阅读 · 0 评论 -
Yolov4论文翻译与解析!
百度网盘,欢迎自取,记得点赞链接:https://pan.baidu.com/s/1Dq7tmVHLq7hJngv0r5oG3g提取码:6res原创 2020-09-12 17:03:16 · 164 阅读 · 0 评论 -
yolov4+vs2019的配置(gpu+opencv)(一些错误的解决video stream stooped!)+创建自己的数据集并训练,测试
创建上面格式的VOC数据集其中,annotation下的xml文件Main中的train.txt文件JPEGImages中的图片文件这三个都是自己的JPEGimgaes中是原图片。运行voc——label.py如果提示gbk错误,在这里修改编码格式def convert_annotation(year, image_id): in_file = open('mydata/VOCdevkit/VOC%s/Annotations/%s.xml' % (year, image_id), .原创 2020-09-08 17:27:38 · 804 阅读 · 0 评论 -
YOLOv4-VS2019+openCV3.4.10+无gpu快速实现(包括video stream stopped解决
只需要把网上的各种教程中的原创 2020-09-07 14:55:59 · 1743 阅读 · 6 评论