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

Include darknet Yolov3 for object detection

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

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

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

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

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

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

...将 Build 设置为 Release x64
...在 "Configuration Properties" 选项卡中为 Release x64 配置以下属性:

  • Project->Configuration Properties->C/C++->General下添加头文件(yolo_v2_class.hpp)的文件夹路径->其他包含目录

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

  • Project->Configuration Properties->Linker->Input->Additional Dependencies下添加yolo_cpp_dll.lib

... 将 pthreadVC2.dllyolo_cpp_dll.dll 放在您的 .exe 文件附近(如果您已经构建了 yolo_cpp_dll.slnyolo_cpp_dll_no_gpu.sln)

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

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

@LRK 我遇到了相同的 bad_alloc 异常,我已经通过将 visual studio 从调试模式更改为发布模式来解决了。希望有用。