本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。
B站配套视频:https://www.bilibili.com/video/BV1or421T74f
背景
专栏已经写了十几篇文章,有很多朋友私信我获取源码。
今天和大家说一下,如果你获取源码怎么快速测试源码的可用性。
以及我们在开发完成之后了,怎么能快速将程序部署到别的板子上,我们总不能每一块板子上都进行编译。
下载源码
添加我的朋友我会给大家一个gitee的开源项目地址,这里面的代码都是我自己上传的,大家放心使用。
首先我们使用git clone 或者zip下载获取源码。
编译代码
# 打开yolov5目录
cd yolov5
# 编译项目
cmake . -B build && cmake --build build
# 如果cmake不存在可以直接使用apt安装一下
apt install cmake
# 编译完成的项目在build目录下
./build/yolov5_img ./weights/yolov5s.rknn ./img/bus.jpg
如果执行成功,代表项目可以正常运行。
打包源码
我这边演示的源码打包是使用cmake打包成deb。
1、修改配置文件
我们需要修改CMakeLists.txt文件。
##---------------- 以下为用CPack打包成deb包的内容 ----------------##
set(_VERSION_MAJOR 1)
set(_VERSION_MINOR 0)
set(_VERSION_PATCH 0)
set(CPACK_PACKAGE_VERSION_MAJOR "${_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${_VERSION_PATCH}")
# 指定CPack生成的是deb包(还可以是其他包如 <.7z> <.zip> 等)
SET(CPACK_GENERATOR "DEB")
# 指定包名
set(CPACK_PACKAGE_NAME "yunyan_simple")
# 指定程序名,就是程序安装后的名字
set(CPACK_DEBIAN_PACKAGE_NAME "yunyan_simple")
# 指定运行的计算机架构
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64")
# 设置维护人
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "tangerine")
# 指定需要安装的文件
INSTALL(TARGETS yunyan_v1.0_simple
draw_lib
yolov5_lib
rknn_engine
nn_process
RUNTIME DESTINATION /usr/local/yunyan_simple
LIBRARY DESTINATION /usr/local/yunyan_simple/lib # 通常,编译器只会在 </usr/lib> 和 </lib> 中找头文件,如果
ARCHIVE DESTINATION /usr/local/yunyan_simple/lib # 将库文件放在其他目录,可能会引起找不到库文件错误
)
INSTALL(FILES
3rdparty/rga/RK3588/lib/Linux/aarch64/librga.so
librknn_api/aarch64/librknnrt.so
DESTINATION /usr/local/yunyan_simple/lib
)
include(CPack)
2、执行打包
cmake -S . -B release -DCMAKE_BUILD_TYPE=release
cd release
cmake --build .
cpack
打包完成后我们可以在release目录里面获得xxxxxxxxx.deb
3、包文件安装
# 卸载
dpkg -P yunyan
# 安装
dpkg -i yunyan-1.0.0-Linux.deb