首页 > 系统相关 >Ubuntu下darknet yolo4的编译

Ubuntu下darknet yolo4的编译

时间:2024-05-18 12:51:34浏览次数:26  
标签:yolov4 lopencv 编译 cfg darknet opencv Ubuntu yolo4

Ubuntu下darknet yolo4的编译

首次编辑:24/5/17/23:16
最后编辑:24/5/18/12:47

参考链接

  1. YOLOv4-darknet installation and usage on your system (Windows & Linux)
  2. Installing and Building Darknet
  3. 官网

0 说明

此博客只记录darknet yolo4 + opencv的编译安装,不涉及cuda和cuDNN。

1 编译的源文件

darknet的github地址为https://github.com/AlexeyAB/darknet

首先要明确darknet这个darknet的版本,建议点开仓库中的cfg文件夹,看看里面有没有以yolov4开头的文件,有的话才是yolo4版本。
之前第一次编译的时候很神奇地编译了yolo3版本,但明明github链接地址看起来是一样的,还是谨慎为妙。

1.1 克隆仓库

git clone https://github.com/AlexeyAB/darknet.git

建议后面这个仓库链接还是直接去GitHub上复制。

1.2 修改Makefile

克隆完仓库之后,进入darknet文件夹。里面有个叫Makefile的文件,用代码/文本编辑器打开它。
在Makefile文件的前几行中:

GPU=0  # gpu加速,应该就是配合cuda toolkit的
CUDNN=0  # 这个应该也是cuda加速的 
CUDNN_HALF=0  # 同上
OPENCV=0  
AVX=0  # x86架构处理器指令集的一个扩展,用于提高并行计算的速度
OPENMP=0  # Open Multi-Processing,cpu加速
LIBSO=0  # 是否将darknet编译成静态库
ZED_CAMERA=0  # to enable ZED SDK 3.0 and above
ZED_CAMERA_v2_8=0  # to enable ZED SDK 2.X

如果没有这么多选项那么应该是克隆错版本了。

OPENCV = 0改为OPENCV = 1,如果有cuda和cudnn的话就把前三行的值都改为1。其它的几个选项可以根据自己的电脑情况和需求自行更改。

一般操作到这里就改完了,但由于我的opencv是通过源码编译安装的,还需要改一点东西。


如果opencv是源码编译的
在Makefile文件中找到下面片段:

ifeq ($(OPENCV), 1)
COMMON+= -DOPENCV
CFLAGS+= -DOPENCV
LDFLAGS+= `pkg-config --libs opencv4 2> /dev/null || pkg-config --libs opencv`
COMMON+= `pkg-config --cflags opencv4 2> /dev/null || pkg-config --cflags opencv`
endif

LDFLAGS+=后面的值改为

-L/path/to/opencv/lib -lopencv_gapi -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_dnn -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core

其中path/to/opencv/是opencv的路径。

然后将COMMON+=后面的值改为

-I/path/to/opencv/include/opencv4

1.3 执行Make

打开终端,进入darknet文件夹,执行make。等待编译完成。

2 测试darknet

2.1 测试可执行文件

打开终端,在darknet文件夹下,执行./darknet,若输出usage: ./darknet <function>,则表示编译成功。

2.2 测试物体识别功能

首先为了测试,我们要先下载一下别人训练好的权重文件。打开终端,在darknet文件夹下,执行:

wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights

检测图片

接着检测一下cv小狗的图片

./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg

正常情况下,将会弹出一个窗口,正是那张经典的cv小狗加自行车的检测图像。
cv小狗

检测视频

没有装cuda的情况下,检测视频可能会非常慢,展示检测结果的窗口可能会很久才弹出。

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights <video file>

<video file>替换成你的视频文件名。

或者也可以将检测的结果保存成一个视频:

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights <video file> -out_filename <output_video file>

电脑相机实时检测

没有装cuda的情况下,实时检测可能会非常慢,展示检测结果的窗口可能会很久才弹出,甚至根本就没法弹出这个窗口,只会显示进程失去响应。

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights

标签:yolov4,lopencv,编译,cfg,darknet,opencv,Ubuntu,yolo4
From: https://www.cnblogs.com/code-pigeon/p/18199236

相关文章

  • ubuntu 环境变量
    引用:/etc/profile为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效。当被修改时,必须重启才会生效。/etc/environment系统的环境变量,/etc/profile是所有用户的环境变量,前者与登录用户无关,后者与登录用户有关,当同一变量在两个......
  • ubuntu20.04安装ros2 Galactic
    注意:ros2galactic(2021.5~2022.11)和ros2foxy(2020.5~2023-5)对于基础系统库的版本需求几乎没有变化,主要是最低c++版本由c++14升级为c++17。同时autoware.universe官方教程中,在20.04上推荐的也是ros2galactic,因为autoware.universe用到了c++17的语法。上图为foxy,下图为galac......
  • Ubuntu虚拟机安装docker
    更新现有的软件包:bash复制代码sudoapt-getupdate安装必要的依赖包:bash复制代码sudoapt-getinstallapt-transport-httpsca-certificatescurlsoftware-properties-common添加Docker的官方GPG密钥:bash复制代码curl-fsSLhttps://download.docker.com/linux/ubunt......
  • Ubuntu虚拟机换源
    在Ubuntu虚拟机上更换软件源可以提高软件包下载和更新的速度。以下是更换软件源的步骤:备份现有的软件源列表:bash复制代码sudocp/etc/apt/sources.list/etc/apt/sources.list.bak编辑软件源列表:bash复制代码sudonano/etc/apt/sources.list替换默认的软件源为国内镜像......
  • ubuntu安装搜狗输入法
    1下载所需文件搜狗输入法2.3以后的版本,不能自定义皮肤及不能登录用户账号,这里提供2.3.1版本的安装包及后面要用的字体链接:https://pan.baidu.com/s/163gwUPOWl8KLHO3cOsvD6g?pwd=a09r提取码:a09r2安装输入法安装过程参考搜狗输入法官网:https://shurufa.sogou.com/linux/guid......
  • 【rust】《Rust整合OpenCV ( Ubuntu.22.04系统 ) 》
    前言Ubuntu22.04的环境搭建、rust安装配置、VSCode安装等参照另一篇博文:https://www.cnblogs.com/-CO-/p/18197715环境搭建对应项##虚拟机版本VMware17##系统版本Ubuntu22.04.4##Rust版本Rust1.78.0##Rust依赖Opencv版本Opencv-rust0.7......
  • 【ubuntu】安装Maven
    1、官方下载https://maven.apache.org/download.cgi2、安装方法sudoaptinstallmaven 3、配置本地仓库默认~/.m2/repository, 可以自己修改全局配置:${maven.home}/conf/settings.xml用户级别:${user.home}/.m2/settings.xml <settings>...<localReposi......
  • 【Linux】《VMware17搭建Ubuntu.22.04-Rust开发环境》
    下载VMware17安装包下载链接:创建虚拟机之后都默认就可以了。进入系统设置登录账号和密码以及修改下语言,剩余都默认即可。设置中文界面设置中文输入法接下来开始设置输入法切换快捷键设置使用Ctrl+Alt+T打开终端,输入ibus-setup重启,看一下是......
  • Linux基础知识(Ubuntu)
    文件权限意义权限类型1.r可读2.w可写3.x可执行/切换陌路4.-无权限通配符*匹配0个或多个字符串?匹配1个字符[abcd]匹配abcd中间任意一个字符[a-Z]匹配a-Z范围里的任意一个字符[!abc]不匹配方括号里的任何一个字符;与[^abc]一致帮助命令man语法man[m......
  • 【ubuntu】安装nvidia-docker
    一、安装#步骤1:更新软件包列表sudoaptupdate#步骤2:安装Dockersudoaptinstalldocker.io#步骤3:安装NVIDIADockerruntimedistribution=$(./etc/os-release;echo$ID$VERSION_ID)\&&curl-s-Lhttps://nvidia.github.io/nvidia-docker/gpgkey|sudo......