c++ - 包括用于对象检测的暗网 Yolov3

标签 c++ visual-studio solution yolo

不幸的是,我对 C++ 和 Visual Studio 的处理不是很有经验。我必须实现一个C++应用程序,其中我可以将yolo或darknet集成为一个库并灵活地使用它。我正在使用 Windows 和 Visual Studio 2015。

我看过 following repo . 到目前为止我尝试了什么:

  • 我已经安装了 CUDA(虽然我想在 CPU 上运行模型以进行测试)、Cudnn 和 Opencv
  • 我使用 Visual Studio 从 AlexeyAb 存储库的 build\darknet\darknet_no_gpu.sln 打开了 vs 解决方案。在 repo 中有很多头文件和 C 文件:

enter image description here

  • 我还将我的 opencv\build\include 路径添加到 Additional Include Directoriesopencv\x64\vc14\lib 添加到 Additonal Library Directories 并将 opencv_world320.dll 文件添加到链接器 Input 字段。

  • 我还设置了x64Release

现在,我不知道如何进行。只是创建一个 source.cpp 并执行一个 #include "darknet.h" 似乎不起作用。我收到很多错误,例如:darknet_no_gpu.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'。无法找到或打开 PDB 文件。。在 repo 协议(protocol)中,在几个地方提到您必须构建解决方案,但这到底是什么意思,或者我之后究竟得到什么并用它做什么?

有谁知道如何解决我的问题?我很高兴收到任何建议!

最佳答案

要在 C++ 应用程序中使用 Yolo v3,您可以使用 Alexey AB darknet repo .
只需构建 yolo_cpp_dll.slnyolo_cpp_dll_no_gpu.slnbuild/darknet文件夹,具体取决于您是否需要 GPU 支持。
存储库中还提供了一个示例控制台应用程序,它已经集成了 yolo dll 及其功能(参见 build/darknet/yolo_console_dll.sln)。
您可以找到有关如何使这些解决方案起作用以及如何将 darknet 用作 dll 库的更多信息 here .
yolo dll的C++ API可以找到here .

要将 Yolo DLL 添加到 VS 项目中,您必须...

... 将 Build 设置为 Release x64
...在 Release x64 的“配置属性”选项卡中配置以下属性:

  • Project->Configuration Properties->C/C++->General->Additional Include Directories下添加头文件(yolo_v2_class.hpp)的文件夹路径

  • Project->Configuration Properties->Linker->General->Additional Library Directories下添加lib文件(yolo_cpp_dll.lib)的文件夹路径

  • 添加 yolo_cpp_dll.lib 项目->配置属性->链接器->输入->附加依赖项

...放pthreadVC2.dllyolo_cpp_dll.dll靠近您的 .exe 文件(如果您已经构建了 build/darknet/x64yolo_cpp_dll.sln,您可以在 yolo_cpp_dll_no_gpu.sln 中找到这些 dll)

感谢@glm_java用于修复我在使用 yolo dll 时的运行时问题!

如果您有更多关于如何构建或编译这些解决方案的问题,请随时问我!

关于c++ - 包括用于对象检测的暗网 Yolov3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61286151/

相关文章:

c++ - cmake - Visual Studio 过滤器的支持

c++ - Visual Studio 'non-standard syntax; use ' &' to create a pointer to member'

c# - 使用 MSBuild.exe 在 Release模式下构建 C# 解决方案

visual-studio-2010 - Visual Studio "resource"项目类型?

通过别名进行 C++ 模板特化

c++ - 将 QListView 添加到 QComboBox 以正确显示滚动条

c++ - Visual Studio 2015 不构建解决方案

c++ - 查找数字数组中出现的特定数字的数量 (C++)

c# - 如何让我的代码执行随机函数

c# - 如何构建 WCF Web 服务解决方案,以便轻松以不同方式进行开发和托管?