基于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案例

AM5728工业PC工业平板运动控制解决方案

am5728评估板_支持双核Cortex-A15_主频最高1.5GHz/核

基于AM5728的高性能高稳定医疗测试分析仪系统

基于yacto构建am5728 SDK

基于AM5728的PROFIBUS 通信测试