win10 下的YOLO v3 的编译与使用
部署环境:win10 +CUDA 10.0 + vs2017 + opencv 3.4.0
代码版本是 https://github.com/AlexeyAB/darknet
1、初始准备
(1)下载代码
(2)确保 VS2017 安装了 VC++ v140工具集,如果没有安装,打开 Visual Studio Installer ——修改——选中 c++ 在右侧找到 vc++ v140 如下图所示
2、修改项目文件
(1)如果环境不是 CUDA10.0 (安装了CUDA9.0等),文本编辑器打开 darknet.vcxproj 搜索 CUDA 10.0 字样 ,一共两处 (CUDA 和 10.0 中间有个空格)将 CUDA 10.0 换成你安装的 CUDA 版本 例如( CUDA 9.0 )
(2)如果是 CUDA 9.0 ,还需要把 ;compute_75,sm_75 换成 ;compute_70,sm_70
3、项目配置
(1)打开 darknet.sln (没有 GPU 的 打开 darknet_no_gpu.sln 前面修改也是修改对应无 GPU 的 vcxproj 项目文件 ) ,第一次打开会提示 重新定向项目 这里 windows sdk 选择 10.0 ,平台工具集选择 无升级
(2)设置 程序 release X64
(3)右击 darknet ——属性
a) 确定平台工具集是 V140
b)设置VC++目录(包含目录和库目录),分别设置为 OpenCV 的 安装目录 中的
C:\opencv\opencv\build\include
C:\opencv\opencv\build\include\opencv
C:\opencv\opencv\build\include\opencv2
和 C:\opencv\opencv\build\x64\vc14
c) 设置链接器
链接器——输入——附加依赖项 点开后 直接添加 C:\opencv\opencv\build\x64\vc14 目录中的 lib 文件的名称 (这里是 opencv_world340.lib )
d)分别点击应用和确定
4、开始编译
(1)darknet项目右击 生成
(2)将 C:\opencv\opencv\build\x64\vc14 目录下的 opencv_ffmpeg340_64.dll 和 opencv_world340.dll 复制到 darknet-master\build\darknet\x64 目录下
(3)几种编译报错的 解决方法
a )MSB8036 The Windows SDK version 8.1 was not found.
解决方法: 这是由于目标版本问题,右击项目 —— 常规——将目标版本选中有的那个(这里是10.0.17763.0)
b ) MSB4019 未找到导入的项目“***Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.targets”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。 darknet \darknet-master\build\darknet\darknet.vcxproj 301
解决方法:将 NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\visual_studio_integration\MSBuildExtensions 文件夹 中的所有文件 复制到 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations 中重新编译即可
c ) opencv2/core/core.hpp : No such file or directory
解决方法:右击项目 —— 将配置改成 release 平台改成 x64
5 使用测试
在源码页面下载yolov3的 yolov3.weights 也可以自己下载其他权重测试
进入 darknet-master\build\darknet\x64 目录 打开命令行 输入 ./darknet.exe detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25
然后输入图片路径即可检测图片 ( -thresh 0.25 代表检测阈值,概率高于0.25的画框)
其他 检测命令
检测视频 ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 test.MP4
检测网络像头: ./darknet.exe detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25 相机网络地址
其他检测可参照 github 网址
win10 下的YOLO v3 的编译与使用的更多相关文章
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)
环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...
- win10下安装Cygwin配置gcc编译环境
首先要说明的是,我个人安装cygwin的用途是为了使用kenlm工具训练通及语言模型. 注:统计语言模型工具有比较多的选择,目前比较好的有srilm以及kenlm,其中kenlm比srilm晚出来,训 ...
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件
win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件 1.去git上下载react-devtools文件到本地,https://github.com/fac ...
- Win10下编译OpenJDK8
导航目录 Win10下编译OpenJDK8 相关参考文章 编译环境 编译前准备 1.安装 Visual Studio 2010 Professional 2. 准备OpenJDK8 3. 编译JDK环 ...
- win10下使用nodejs安装及webstorm创建express项目的指导
title: win10下使用nodejs安装 win10下使用nodejs安装及webstorm创建express项目的指导 windows下nvm的安装 熟悉linux下nodejs开发的朋友应该 ...
- win10 下的YOLOv3 训练 wider_face 数据集检测人脸
1.数据集下载 (1)wider_face 数据集网址为 http://shuoyang1213.me/WIDERFACE/index.html 下载以上几项文件(这里推荐 google Drive ...
- YOLO---Darknet下使用YOLO的常用命令
Darknet下使用YOLO的常用命令 整理了一下,随手记一下. 在终端里,直接运行时Yolo的Darknet的各项命令,/home/wp/darknet/cfg/coco.data文件,使用原件:= ...
随机推荐
- 算法习题---5-7打印队列(UVa12100)
一:题目 有一个打印机,有一些任务在排着队打印,每个任务都有优先级.打印时,每次取出队列第一个任务,如果它的优先级不是当前队列中最高的,就会被放到队尾,否则就打印出来.输出初始队列的第m个任务的打印时 ...
- Cheng MeiChun团队的技术支持
本网页为Cheng MeiChun团队的技术支持网址,如果在我们开发的游戏中遇到任何问题,欢迎联系我们! QQ:1505478990 邮箱:1505478990@qq.com
- LeetCode_342. Power of Four
342. Power of Four Easy Given an integer (signed 32 bits), write a function to check whether it is a ...
- [ kvm ] 学习笔记 8:Ovirt 基础及使用
目录- 1. oVirt 功能介绍- 2. oVirt 安装部署 - 2.1 基础准备 - 2.2 安装 ovirt-engine - 2.3 配置 kvm 主机 - 2.4 ...
- 机器学习中的数学-线性判别分析(LDA)
前言在之前的一篇博客机器学习中的数学(7)——PCA的数学原理中深入讲解了,PCA的数学原理.谈到PCA就不得不谈LDA,他们就像是一对孪生兄弟,总是被人们放在一起学习,比较.这这篇博客中我们就来谈谈 ...
- beego框架(golang)学习过滤器(实现restful请求)
过滤器 在用beego做restful路由的时候,遇到了除了GTE.POST之外的HTTP请求,比如 PUT.PATCH.delete请求无法通过路由认证,报错误:405 METHOD NOT ALL ...
- setInterval【计时器】
~function(){ const nextPushTime = $('#nextPushTime_promotion_push'); const prevTime = new Date('2017 ...
- SQL优化————Insert
1.如果是非生产环境,可以先将索引和约束删掉,等数据插入完之后,再建立索引和约束. 2.如果一次性插入数据较大,可以使用游标,每次小批量的插入数据. 3.如果数据表太大,可以构建历史表,老数据通常不会 ...
- R镜像源的切换
如果是默认的R安装一般会很慢 install.packages(pkgs, lib, repos = getOption("repos"), contriburl = contri ...
- ROS初探--意义、基本模块
顾虑就使我们都变成了懦夫,使得那果断的本色蒙上了一层思虑的惨白的容颜,本来可以做出伟大的事业,由于思虑就化为乌有了,丧失了行动的能力.-----哈姆雷特 ROS: Robot Operating Sy ...