资源经验分享win10 下的YOLO v3 的编译与使用

win10 下的YOLO v3 的编译与使用

2019-11-30 | |  64 |   0

原标题:win10 下的YOLO v3 的编译与使用

原文来自:博客园      原文链接:https://www.cnblogs.com/Assist/p/11002517.html


部署环境: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  如下图所示

  01.png

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  ,平台工具集选择 无升级    

                02.png

  (2)设置 程序 release X64

    03.png

  (3)右击 darknet ——属性

     a) 确定平台工具集是 V140

      04.png

      b)设置VC++目录(包含目录和库目录),分别设置为 OpenCV 的 安装目录  中的

        C:opencvopencvbuildinclude

        C:opencvopencvbuildincludeopencv

        C:opencvopencvbuildincludeopencv2

        和 C:opencvopencvbuildx64vc14

        05.png

      c) 设置链接器 

        链接器——输入——附加依赖项 点开后  直接添加  C:opencvopencvbuildx64vc14 目录中的 lib 文件的名称 (这里是 opencv_world340.lib )

      06.png

      d)分别点击应用和确定

4、开始编译

  (1)darknet项目右击 生成 

  (2)将 C:opencvopencvbuildx64vc14 目录下的 opencv_ffmpeg340_64.dll  和  opencv_world340.dll 复制到  darknet-masterbuilddarknetx64  目录下

  (3)几种编译报错的 解决方法

    a )MSB8036 The Windows SDK version 8.1 was not found. 

     解决方法: 这是由于目标版本问题,右击项目 —— 常规——将目标版本选中有的那个(这里是10.0.17763.0)

                        07.png

    b ) MSB4019 未找到导入的项目“***Microsoft.Cppv4.0V140BuildCustomizationsCUDA 10.0.targets”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。 darknet darknet-masterbuilddarknetdarknet.vcxproj 301

      解决方法:将 NVIDIA GPU Computing ToolkitCUDAv10.0extrasvisual_studio_integrationMSBuildExtensions  文件夹 中的所有文件 复制到 C:Program Files (x86)MSBuildMicrosoft.Cppv4.0v140BuildCustomizations 中重新编译即可

    c ) opencv2/core/core.hpp : No such file or directory 

      解决方法:右击项目 —— 将配置改成 release  平台改成 x64 

         08.png

 

5 使用测试

     在源码页面下载yolov3的 yolov3.weights 也可以自己下载其他权重测试

    09.png

    进入 darknet-masterbuilddarknetx64  目录 打开命令行 输入  ./darknet.exe detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25

    然后输入图片路径即可检测图片      ( -thresh 0.25  代表检测阈值,概率高于0.25的画框

    10.png

 

      其他 检测命令  

    检测视频 ./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 网址

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:OpenCV:图像的合并和切分

下一篇:OpenCV:图像的按位运算

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...