当前位置:首页 > AI > 正文内容

玩客云安装Armbian基于PaddleLite实现图片分类和目标检查 Cortex-A5等其他可参考

chanra1n3年前 (2021-08-07)AI5066

本教程为本站原创,转载请注明本网站链接,否则视为侵权!

如果朋友还没有安装Armbian,或者怎么折腾也折腾不好,请直接翻到文章最后下载img文件!

教程中碰到出错的地方,可以重复运行代码尝试!其他的ArmV7 32位的也可以参考本文,

图片分类速度:1.1帧/秒,每张图片耗时约900ms,生产用途应该是顶不住了,,,卡的王炸,折腾几天快给我整疯掉了

目前人脸识别的功能还没有实现,因为还在不停的补bug,,,没有验证的解决方式(安装opencv):

sudo apt-get install libcv-dev

另外我发现报错提示的opencv2/highgui.hpp,其实在opencv2/highgui/highgui.hpp,另外还有n个相关错误,等我一一修复了直接压缩整个项目发布出来。。。

下一期更新S805安装Armbian使用orange神经计算棒。


截至2021年8月16日,错误已经解决了。当你能够实现图片分类,但是目标检测出错的时候,可以运行本代码(在object_detection_demo目录下),至此基于玩客云的人工智能开发已经全部实现,下一步将更换模型进行人脸识别,目前作者懒得整,你可以自己更换模型进行编译。作者正在研究用php联动实现相关功能中。。。

mv object_detection_demo.cc object_detection_demo.cc.bak && wget  && mv  202108161629114351104669.cc object_detection_demo.cc && sudo ./run.sh armv7hf

object_detection_demo.cc

image.png

成功实现目标检测图

真的是非常的不错,目标检测只花了2秒,,,,,,,,,,,,,,,,


让我们开始吧!

禁用自带的休眠,解决断网和断联的问题

apt-get remove --purge network-manager -y

关闭LED灯

wget https://gitee.com/yinjiangbi_admin/wankeyunled/raw/master/led/blue_off && chmod 777 blue_off && ./blue_off && echo "/root/blue_off" >> /etc/rc.local


首先根据官网配置环境 https://paddle-lite.readthedocs.io/zh/latest/source_compile/compile_env.html

本文仅为研究用途,测试发现S805性能并不是很出色,光环境搭建就需要至少一个小时。

首先安装armbian,教程网上有很多,这边仅提供玩客云容易断网的问题解决方案:

apt-get remove --purge network-manager -y

接下来更新apt缓存

apt-get update

下载PaddleLite

wget https://github.com/PaddlePaddle/Paddle-Lite-Demo/archive/refs/heads/master.zip

Paddle-Lite-Demo-master.zip

当然,github下载速度并不是很快,你可以选择使用本站备份的文件

wget  && mv 202108071628351708634617.zip master.zip

接下来解压文件

unzip master.zip

进入目录

cd Paddle-Lite-Demo-master/

进入arm的lite目录

cd PaddleLite-armlinux-demo/

接下来下载依赖

sh download_models_and_libs.sh

但是!这个我运行识别,我更换为如下指令后运行成功:

sudo bash download_models_and_libs.sh

下载完成后输入

cd object_detection_demo && ./run.sh armv7hf

会报错:

run.sh: 15: run.sh: cmake: not found
make: *** No targets specified and no makefile found.  Stop.
run.sh: 19: run.sh: ./object_detection_demo: not found

这是因为没有按照c编译环境,直接apt-get(顺便更新了下软件,大概要十分钟)

apt-get install cmake -y && sudo apt-get upgrade -y

然后会发现cmake版本低,踩坑

cd /root && apt-get remove cmake -y && wget https://github.com/Kitware/CMake/releases/download/v3.21.0-rc2/cmake-3.21.0-rc2.tar.gz && tar -zxvf cmake-3.21.0-rc2.tar.gz

安装提示操作后进入目录

cd cmake-3.21.0-rc2 && ./bootstrap

配置后make并链接即可,再返回运行sh run.sh即可查看结果

make && make install && ln -s 你的路径

最后,你可以选择安装宝塔,方便搭建web环境联动图片处理,但是可能会让本就卡顿的系统雪上加霜:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

结果示例:

image.png

此时,你可以进入build目录,然后直接运行

./image_classification_demo ../models/mobilenet_v1_for_cpu/model.nb ../labels/synset_words.txt ../images/tabby_cat.jpg ./result.jpg


本站Cmake10.3镜像文件下载

wget http://myfpga.cn/download/cmake-3.10.3.tar.gz

注意:编译库时请务必修改对应的.sh文件,指定arm版本为

armv7hf

否则将编译失败!请务必注意!如果你问我为什么是armv7hf而不是hf,因为s805没有FPU,我只能告诉你:

我也不知道,如果不这样就会报错,我也在找原因ing...


如果你并不希望局限于上述内容,请尝试依次运行以下一键部署代码:

编译环境一键安装(大约半个小时)

apt update -y && apt-get install -y --no-install-recommends gcc g++ make wget python unzip patchelf python-dev && wget http://myfpga.cn/download/cmake-3.10.3.tar.gz && tar -zxvf cmake-3.10.3.tar.gz && cd cmake-3.10.3 && ./configure && make && sudo make install && cmake --version

如果输出cmake的版本号,则代表成功,否则查询运行上面代码。


源码编译飞桨lite库(大约n个小时)

git clone  https://github.com/PaddlePaddle/Paddle-Lite.git && rm -rf cmake-3.10.3.tar.gz && cd Paddle-Lite && git checkout 2.8-rc && cd ./lite/tools/ && rm -rf build_linux.sh && wget http://myfpga.cn/download/paddlelite_build_armbian.sh && sudo ./paddlelite_build_armbian.sh  --arch=armv7hf --with_python=ON

此时,如果出现类似下属的界面则代表正在编译,等待大约n个小时即可。(我踩了n次坑,,,)

image.png

image.png

其间,如果遇到Pip相关问题,运行以下命令

wget  && sudo python  get-pip.py

出错了就重复运行,直到显示安装成功


如果报错提示没OPENCV库,安装依赖即可

sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config


最后,如果还是有朋友弄不好,或者出现错误,这里提供我弄好的环境,压缩成img!

下载地址:

                无压缩直接可用版:https://cloud.189.cn/web/share?code=ZNjaIjYZrMZz (访问码:o8ye)

                需解压版本:https://cloud.189.cn/web/share?code=q6fqymvQJvQn(访问码:mqe6)

用户名:root

密码:myfpga

宝塔用户名:myfpga

宝塔密码:myfpga.cn

默认的网页内有图片分类和目标检测的示例,可以参考修改!

官方的模型转换工具我测试了n个model,都提示不支持,可谓是非常鸡肋。

不过转念一想,百度想搞好自己的paddle,就要把别的赶出去,也是正常的。


如果不想烧录整个固件,附上修改后的Demo目录压缩文件:

PaddleLite-armlinux-demo_fTEJPH.tar.gz

image.png

当然,你也可以直接运行armbian-config,在software里面安装OMV,或者Plex去实现你希望实现的功能,别忘了插个U盘或者移动硬盘哦~


fps_map.png


扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://www.myfpga.cn/index.php/post/209.html

分享给朋友:

“玩客云安装Armbian基于PaddleLite实现图片分类和目标检查 Cortex-A5等其他可参考” 的相关文章

python基础三层深度学习网络

python基础三层深度学习网络

#coding:utf-8 #neural network class definition import numpy import scipy.spatial class neuralNetwork:   &...

解决tfClassifier训练报错的问题 修正后python 适用于tensorflow2.x python3.x

解决tfClassifier训练报错的问题 修正后python 适用于tensorflow2.x python3.x

# -*- coding: utf-8 -*-"""Created on Sun Dec 29 19:21:08 2019@原作者: xiuzhang Eastmount CSDN@修改作者:ChanRa1n修正问题:TensorFlow版本低,学习速率过高,修正为0....

简单OpenCV人脸识别

简单OpenCV人脸识别

# -*- coding: utf-8 -*- """ Created on Sat Dec  5 22:39:13 2020 @author:&nb...

PHP使用SOCKET调用TensorFlow服务器实现图片鉴黄

PHP使用SOCKET调用TensorFlow服务器实现图片鉴黄

PHP代码<?php define("UNIX_DOMAIN","/socks/tfserver.sock"); $socket = socket_create(AF_UNIX, SOCK_STREAM, 0)...

基于M5Stack的UnitV2实现的口罩检测系统(边缘计算+上位机+网站前后端)

基于M5Stack的UnitV2实现的口罩检测系统(边缘计算+上位机+网站前后端)

硬件介绍及实现的功能    本项目实现了一个口罩检测的系统,采用M5Stack提供的M5Stack UnitV2设备,并以该设备为核心。UnitV2设备以Sigmstar SSD202D为核心,通过GC2145摄像头采集图像信息,使用OpenCV和腾讯的开源N...