Darknet
Parallax_2019
初极狭,才通人。复行数十步,豁然开朗。----T
展开
-
darknet分类源码解析
void validate_classifier_multi(char *datacfg, char *filename, char *weightfile){ int i, j; network net = parse_network_cfg(filename); set_batch_network(&net, 1); if(weightfile){...原创 2020-01-05 23:16:08 · 365 阅读 · 0 评论 -
c++宏定义、调用及编译过程等
/*//c++编译器,对源文件的编译实质就是对每个cpp都分别生成.obj,包括main.cpp.但是main.cpp和其他的.cpp文件是有区别的。其他的.cpp可以直接include到各自的头文件进行编译。而main.cpp即便包含了所有的其他头文件,依然缺少main.cpp中函数及全局变量的定义,因为只能include头文件并不能include .cpp文件!因此main.cpp在...原创 2019-12-29 21:52:32 · 1400 阅读 · 0 评论 -
darknet源码的组织结构
可以看到其中有两个exe类型的项目:darknet.exe和uselib.exe。其中daknet.sln是原生的网络源码,可以通过main()函数传参,原生地实现检测功能。 2、还有一个动态库项目dark.dll:这个dark.sln是包括yolo_v2_class.cpp这个顶层设计的检测类的。dark.sln在darknet.sln源码基础上,封装了检测类Detecto...原创 2019-12-29 21:02:14 · 225 阅读 · 0 评论 -
利用darknet框架做项目并交付
利用框架训练得到权重 将框架的推理功能yolo_dll.sln打包成库。(.lib,.h.dll) 新建项目project调用yolo动态链接库及opencv等其他dll库,实现推理。 将project再打成库dll,与.lib和.h一起交付前端。每一步打库的过程都需要用到的dll库对应的.lib和.h文件。...原创 2019-12-26 18:02:09 · 397 阅读 · 1 评论 -
[转]nms的confience阈值,iou阈值,计算map的confience阈值和iou阈值
nms去除冗余框下面是知乎上画的一组图,非常好理解。检测得到四个坐标相关值和每一个bb所对应的类别的置信度,首先选定一个confidence阈值,将低于confidence的置信度给过滤掉,其次选定每一类最高的confience所对应的的检测框,计算同类其余剩下检测框的iou,iou阈值以上的删除(nms去冗余,相近的框删掉),一轮之后,在选定剩下未被删掉的iou中置信度最高的,继续和剩下...原创 2019-12-18 17:48:17 · 1101 阅读 · 0 评论 -
darknet训练自身数据集的小问题
1.首先看数据集是否有非jpg格式图片2.sub_batch = batch/subdivision, 实际在每个sub_batch后先不迭代,等整个batch计算完之后迭代一次。降低显存要求3.起初测试集的置信度阈值设置太低0.25,导致最后有些低置信度阈值的box(比如0.25,0.37)没有被抑制掉。一般设置到0.5左右。4.控制台命令行训练代码理解(控制台命令行调用darkne...原创 2019-11-18 16:17:56 · 747 阅读 · 0 评论