Paddle Lite——树莓派端部署实现实时视频流目标检测demo

参考:Paddle Lite官方文档

Paddle Lite环境准备

硬件准备

  • 树莓派4B
  • usb摄像头
  • 装好Buster的镜像源的SD卡

基本软件环境准备

摄像头准备

参考文章:树莓派摄像头的安装、配置与验证

编译库准备

完成gcc、g++、opencv、cmake的安装:

sudo apt-get update
sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config
#下载cmake
wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz

在这一步如果下载很慢,这里我也提供了cmake-3.10.3.tar.gz的包,需要的可以自行下载。

#解压
tar -zxvf cmake-3.10.3.tar.gz
#进入文件夹
cd cmake-3.10.3
#环境配置
sudo ./configure
#make
sudo make

在这里插入图片描述

sudo make install

在这里插入图片描述
到这里就完成了所有的环境准备。

Paddle Lite(demo)的安装

Paddle Lite安装和demo相同

#下载Paddle Lite
git clone https://github.com/PaddlePaddle/Paddle-Lite-Demo

模型和预测库下载

cd Paddle-Lite-Demo/PaddleLite-armlinux-demo
./download_models_and_libs.sh # 下载模型和预测库

模型的编译(根据你需要实现的功能进行选择)

  • 图像分类模型的编译(单图片预测分类)
  • 目标检测模型的编译(单图片检测)
  • 目标检测模型的编译(视频流检测)

读者需根据自己的需求进行特定的编译。

(1)图像分类模型的编译(单图片预测分类)
进入image_classification_demo文件夹
cd Paddle-Lite-Demo/PaddleLite-armlinux-demo/image_classification_demo
Paddle Lite的配置和预测的输入和输出的图片路径的设置(可选操作)
  • 注释掉第四行的TARGET_ARCH_ABI=armv8,打开第五行的,取消第5行TARGET_ARCH_ABI=armv7hf
    的注释。
  • 需要对run.sh文件进行修改:
sudo nano run.sh

在#run代码段找到参数../images/2001.jpg./result.jpg,进行自定义设置即可,此处建议设置为:

#!/bin/bash

# configure
#TARGET_ARCH_ABI=armv8 # for RK3399, set to default arch abi
TARGET_ARCH_ABI=armv7hf # for Raspberry Pi 3B
PADDLE_LITE_DIR=../Paddle-Lite
if [ "x$1" != "x" ]; then
    TARGET_ARCH_ABI=$1
fi

# build
rm -rf build
mkdir build
cd build
cmake -DPADDLE_LITE_DIR=${PADDLE_LITE_DIR} -DTARGET_ARCH_ABI=${TARGET_ARCH_ABI} ..
make

#注意,这里为run代码段!!!!!!
#run
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/model.nb ../labels/pascalvoc_label_list ../images/2001.jpg ./result.jpg

执行预测命令
sudo ./run.sh 

在终端即可看到打印出的预测结果和性能数据,在build目录中可以看到生成的result.jpg。

(2)目标检测模型的编译(单图片检测)
cd Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo
Paddle Lite的配置和预测的输入和输出的图片路径的设置(与图片分类模型配置完全相同)
  • 注释掉第四行的TARGET_ARCH_ABI=armv8,打开第五行的,取消第5行TARGET_ARCH_ABI=armv7hf
    的注释。
  • 需要对run.sh文件进行修改:
sudo nano run.sh

在#run代码段找到参数../images/2001.jpg./result.jpg,进行自定义设置即可,此处建议设置为:

#!/bin/bash

# configure
#TARGET_ARCH_ABI=armv8 # for RK3399, set to default arch abi
TARGET_ARCH_ABI=armv7hf # for Raspberry Pi 3B
PADDLE_LITE_DIR=../Paddle-Lite
if [ "x$1" != "x" ]; then
    TARGET_ARCH_ABI=$1
fi

# build
rm -rf build
mkdir build
cd build
cmake -DPADDLE_LITE_DIR=${PADDLE_LITE_DIR} -DTARGET_ARCH_ABI=${TARGET_ARCH_ABI} ..
make

#注意,这里为run代码段!!!!!!
#run
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/ssd_mobilenet_v1_pascalvoc_for_cpu/model.nb ../labels/pascalvoc_label_list ../images/2001.jpg ./result.jpg

(3)目标检测模型的编译(视频流检测)
cd Paddle-Lite-Demo/PaddleLite-armlinux-demo/object_detection_demo
Paddle Lite的配置和视频流监测的设置
  • 注释掉第四行的TARGET_ARCH_ABI=armv8,打开第五行的,取消第5行TARGET_ARCH_ABI=armv7hf
    的注释。
  • 需要对run.sh文件进行修改,设置为视频流检测:
sudo nano run.sh

将run.sh中的#run修改参数,即该文件的最后一行参数,去掉../images/2001.jpg./result.jpg后缀,取消图片预测模式,即可完成对run.sh的视频流配置。

#!/bin/bash

# configure
#TARGET_ARCH_ABI=armv8 # for RK3399, set to default arch abi
TARGET_ARCH_ABI=armv7hf # for Raspberry Pi 3B
PADDLE_LITE_DIR=../Paddle-Lite
if [ "x$1" != "x" ]; then
    TARGET_ARCH_ABI=$1
fi

# build
rm -rf build
mkdir build
cd build
cmake -DPADDLE_LITE_DIR=${PADDLE_LITE_DIR} -DTARGET_ARCH_ABI=${TARGET_ARCH_ABI} ..
make

#注意,这里为run代码段!!!!!!
#run
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/ssd_mobilenet_v1_pascalvoc_for_cpu/model.nb ../labels/pascalvoc_label_list ../images/2001.jpg ./result.jpg

修改后的#run代码段:

#run
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${PADDLE_LITE_DIR}/libs/${TARGET_ARCH_ABI} ./object_detection_demo ../models/model.nb ../labels/pascalvoc_label_list 
执行预测命令
./run.sh armv7hf 

在终端即可看到打印出来的预测结果和性能数据,并且执行后会自动弹出实时视频预测画面。

效果展示

为了避免尴尬,博主机智的戴上了(帅气的)口罩(:
在这里插入图片描述好啦,到这里就结束了,如果你也跟着博主做出了项目,记得点个小赞赞哦~ ^ _ ^

Paddle Lite——报错解决

基于Paddle Lite Demo运行run.sh编译报错无法运行

  • 21
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
### 回答1: 安装PaddleLite树莓派上是一个相对简单的过程,以下为详细的步骤: 1. 首先,为了在树莓派上安装PaddleLite,需要保证树莓派的操作系统是最新的版本。可以使用以下命令来更新操作系统: ``` sudo apt-get update sudo apt-get upgrade ``` 2. 接下来,需要安装相关的依赖库。PaddleLite树莓派上使用的是ARM架构,因此需要使用ARM架构的依赖库。运行以下命令来安装运行PaddleLite所需的依赖: ``` sudo apt-get install -y build-essential cmake sudo apt-get install -y git wget cmake-curses-gui sudo apt-get install -y libopenblas-dev libblas-dev sudo apt-get install -y libopenmpi-dev openmpi-bin sudo apt-get install -y libprotobuf-dev protobuf-compiler ``` 3. 当所有的依赖库安装完成后,可以开始下载PaddleLite源码。可以通过Git命令将源码克隆到本地: ``` git clone https://github.com/PaddlePaddle/Paddle-Lite.git ``` 4. 进入Paddle-Lite目录,并创建一个构建目录: ``` cd Paddle-Lite mkdir build ``` 5. 进入构建目录,并使用CMake命令进行配置: ``` cd build cmake .. ``` 6. 配置完成后,可以使用make命令来编译PaddleLite: ``` make -j4 ``` 7. 编译完成后,可以使用make install命令来安装PaddleLite: ``` make install ``` 8. 安装完成后,可以使用PaddleLite提供的API来进行模型推理或应用开发。 总结:安装PaddleLite树莓派上只需几个简单的步骤,首先更新操作系统,安装依赖库,然后下载源码,并进行配置、编译和安装。安装完成后,就可以使用PaddleLite进行模型推理或应用开发了。 ### 回答2: 使用PaddleLite树莓派上安装和配置起来非常简单。下面是一个简单的步骤: 1. 首先,在树莓派上安装Python3。打开终,运行以下命令进行安装: ``` sudo apt-get install python3 ``` 2. 接下来,安装git工具: ``` sudo apt-get install git ``` 3. 然后,使用以下命令克隆PaddleLite仓库: ``` git clone https://github.com/PaddlePaddle/Paddle-Lite.git ``` 4. 进入Paddle-Lite目录: ``` cd Paddle-Lite ``` 5. 安装所需的Python依赖: ``` sudo pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 6. 接下来,运行以下命令编译PaddleLite: ``` bash lite/tools/build.sh \ --arm_os=android \ --arm_abi=armv7 \ --arm_lang=gcc \ --arm_float_abi=softfp ``` 这个命令将会编译PaddleLite框架,并在树莓派上生成相应的软件包。 7. 最后,运行以下命令将PaddleLite安装到树莓派: ``` sudo pip3 install python/dist/lite_python.whl ``` 安装完成后,你就可以在树莓派上使用PaddleLite进行深度学习推理了。 这是在树莓派上安装PaddleLite的简单步骤。希望对你有所帮助! ### 回答3: PaddleLite是百度开源的轻量级深度学习推理框架,用于在移动设备和嵌入式系统上进行推理部署树莓派是一款低成本、高性能的单板计算机,广泛应用于物联网和嵌入式开发领域。 要在树莓派上安装PaddleLite,可以按照以下步骤进行操作: 1. 确保树莓派已连接到互联网,并使用SSH或VNC等方式远程连接到树莓派的终界面。 2. 在终窗口中,首先需要安装PaddlePaddle的依赖库。运行以下命令来安装需要的依赖库: ``` sudo apt-get update sudo apt-get install -y libopenblas-dev libopencv-dev ``` 3. 下载PaddleLite的源代码,可以从百度AI开源官网上获取最新的源代码压缩包,并将其解压到树莓派的某个路径下。 4. 进入解压后的PaddleLite目录,运行以下命令来编译PaddleLite: ``` cd PaddleLite mkdir build cd build cmake .. make -j4 ``` 5. 编译完成后,在build目录下会生成一个paddle_lite_lib.so文件,这就是PaddleLite的库文件。 6. 将paddle_lite_lib.so库文件安装到系统库中,使用以下命令将其复制到/usr/local/lib目录下: ``` sudo cp paddle_lite_lib.so /usr/local/lib ``` 7. 至此,PaddleLite已成功安装到树莓派上。可以运行一个简单的PaddleLite示例程序来验证安装是否成功。 以上是在树莓派上安装PaddleLite的基本步骤。根据树莓派的硬件配置和操作系统版本,可能需要进行一些额外的配置和调整。因此,在进行安装之前,建议查阅PaddleLite树莓派官方文档,以获取更详细的指导和注意事项。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值