基于AM5728 Caffe 机器学习案例-darknet物体分类与人脸识别
Posted 专注DSP+ARM+FPGA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AM5728 Caffe 机器学习案例-darknet物体分类与人脸识别相关的知识,希望对你有一定的参考价值。
1 YOLO Darknet 移植与应用开发
YOLO 是基于深度学习方法的端到端实时目标检测系统,Darknet 是 YOLO 的实现,但Darknet 不仅包含 YOLO 的实现,还包括其它内容。
本实验主要介绍将 YOLO Darknet 机器学习框架移植到 AM5728 平台的方法,并且演示一个图片信息识别的 darknet-maste 案例。为便于测试,信迈科技XM5728-IDK-V3开发板提供经验证的测试文件,位于光盘“Demo\\app\\Yolo_Darknet\\bin”目 录下。bin 文件夹含有:所需下载的 yolo.weights 文件,编译生成的 darknet 可执行文件,测试所需 cfg 文件夹(配置文件)以及 data 文件夹(图像数据)。以下提供 darknet-maste工程的具体编译方法。
1.1 编译 darknet-master 工程
打开 Ubuntu,执行如下指令新建“home/tronlong/AM57xx/Yolo_Darknet”工作目录。
Host# mkdir -p /home/xmtech/AM57xx/Yolo_Darknet
将光盘“Demo\\app\\Yolo_Darknet\\src\\darknet-master.zip”工程源码压缩文件拷贝到
“home/xmtech/AM57xx/Yolo_Darknet”目录,并将其解压到当前目录。
Host# unzip darknet-master.zip
进入 darknet-master 源码安装目录,修改 Makefile 文件,如下图所示:
Host# cd darknet-master/
Host# vi Makefile
修改内容如下:
CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-ar
修改完 Makefile 文件保存,执行如下命令,使用对应平台的 Linux Processor-SDK 加载
环境变量。Linux Processor-SDK 路径请根据实际情况修改。
Host# source /home/xmtech/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/linuxdevkit/environment-setup
执行 make 指令,编译 darknet-master 工程,编译完成后在当前目录下生成 darknet
可执行文件和其他文件。
Host# make
1.2 下载 YOLO 训练模型文件
在 darknet-master 目录下执行以下指令,下载 YOLO 训练模型文件到当前目录,文件
名为 yolo.weights,如下图所示。
Host# wget https://pjreddie.com/media/files/yolo.weights
下载完成后,将编译过的整个 darknet-master 文件夹拷贝到开发板文件系统
“/home/root”目录下。
1.3 开发板运行程序
开发板上电进入文件系统 darknet-master 目录,执行以下指令,运行程序,如下图所
示:
Target# cd darknet-master/
Target# ./darknet detect cfg/yolov2.cfg yolo.weights data/dog.jpg
程序运行完毕后,会在 darknet-master 目录下生成 predictions.png 文件,将
predictions.png 文件拷贝到 PC 端查看,图片效果如下所示。
3 基于 Caffe 框架的人脸检测案例
本实验基于 Caffe 框架,实现人脸检测案例,进行本实验测试前,请参照前面步骤
移植 Caffe 框架到信迈XM5728-IDK-V3开发板。
由于例程源码中的 tmp.jpg 试验文件分辨率较大,使用开发板配套的 4.3 寸或者 7 寸 LCD 显示屏会导致图片显示不全,影响显示效果,因此使用 HDMI 显示屏配合本次实验效果更佳。
3.1 编译 face_detection
将光盘“Demo\\app\\caffe_transplant\\caf_face_detection.zip”例程压缩源文件拷贝到开
发板文件系统“/home/root”目录。执行以下指令,解压“caf_face_detection.zip”文件到当前目录。
Target# unzip caf_face_detection.zip
执行以下指令,进入 caf_face_detection 源码目录,修改 Makefile 文件,如下图所示:
Target# cd caf_face_detection/caf_face_detection/integrated_caffe/
Target# vi Makefile
在打开的 Makefile 文件中,根据 Caffe 框架的实际移植安装目录,按照如下方法修改
Makefile 文件相关参数路径。
LIBS := -L/usr/lib/ -L/home/root/caffe-master/build/lib
INCLUDE := -I. -I/home/root/caffe-master/include
执行 make 指令,编译完成后在当前目录生成 face_detection 可执行文件。
3.2 人脸检测案例
确认将 HDMI 显示屏连接到开发板,执行如下指令运行 face_detection 可执行文件,
face_detection 程序将检测该目录下的 tmp.jpg 文件,完成 tmp.jpg 文件的人脸检测。串口终端打印信息,HDMI 显示屏显示内容如下图所示:
Target# ./face_detection
以上是关于基于AM5728 Caffe 机器学习案例-darknet物体分类与人脸识别的主要内容,如果未能解决你的问题,请参考以下文章
基于ZYNQAM5728AM5708AM437xAM335xSTM32+FPGA等平台提供了开源EtherCAT主站IgH案例