自学内容网 自学内容网

【人工智能】基于yolov5使用OrangePi玩转AI图片识别

前言

机缘巧合之下有幸得到了一块OrangePi AIpro边缘计算开发板,非常感谢香橙派官方推出的OrangePi AIpro边缘计算开发板。Orange Pi AI Pro 开发板是由香橙派和华为合作开发的高性能AI开发板,搭载了昇腾AI处理器,提供了8TOPS INT8的计算能力,并提供了8GB和16GB两种版本的内存。它可以用于图像、视频等多种数据分析和推理计算,广泛应用于教育、机器人、无人机等领域。这篇博客主要是介绍一个板子的开箱使用和系统的录入过程。另外,还提到了对AI功能的一个实现处理,预计会涉及到AI技术在该板子上的应用和实现方法。

硬件介绍

Orange Pi AIpro采用昇腾AI技术路线,具备4核64位处理器+AI处理器,支持8-12TOPS AI算力,拥有丰富的接口和预留电池接口,可广泛适用于AI边缘计算、深度视觉学习、视频流AI分析、自然语言处理等领域,支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。
073182277375ce101ef2b80cdb292e0.jpg

硬件参数

详细的可以看官网配置,详细列举了开发板子的详细参数。
image.png
image.png

开发板图片

image.png
image.png

启动开关

最重要的就是启动开关,BOOT1 和 BOOT2 两个拨码开关都支持左右两种设置状态, 所以总共有 4 种
设置状态, 开发板目前只使用了其中的三种。 不同的设置状态对应的启动设备如下表所示:
image.png
image.png
cddca74f1b4e64263ae1f8f314663f5.jpg

写入系统

任何一块开发板都有它的使用说明书,当拿到一块开发板子的时候,首先第一件事去它的官网看一下。对应的产品说明书,然后以及一些安装包,还有使用工具等等,这是开启开发版的第一步也是最重要的一步,任何一块板子都有它的启动方式,一定要先看文档,看文档,看文档,重要的事情说三遍。当然你是一个科技发烧友除外,因为你已经对开发板子熟练运用了,如果拿到的一块新板子,建议还是先阅读官方文档,可以摆脱不少的坑。

下载介绍文档

进入OrangeAI官网,选择你使用的硬件版本。
image.png

系统概述

进去之后就能看到系统概述,从这里来看非常清晰的一个系统架构图片。
image.png

资料文档

官网的资料都提供的很全,有一些工具手册,还有一些原理讲解。另外还有一些Linux源码让你去阅读,对于发烧友来说资料文档还是蛮全的。
image.png

用户手册

第一步下载用户手册
image.png

操作工具

第二步下载操作工具,这里我们看到了一些常用的工具,录入工具和操作系统工具
image.png

下载系统

这块开发板默认它是支持乌班图系统的
image.png
点击官网镜像链接,跳转到百度云盘。
image.png

下载烧录工具

基于 Windows PC 将 Linux 镜像烧写到 TF 卡的方法:
  1. 首先准备一张 32GB 或更大容量的 TF 卡( 推荐使用 **64GB **或以上容量的 **TF
    **卡) , TF 卡的传输速度必须为 **class10 **级或 **class10 **级以上, 建议使用闪迪等品牌
    的 TF 卡。
  2. 然后把 TF 卡插入读卡器, 再把读卡器插入电脑。
  3. 从开发板的资料下载页面下载想要烧录的 Linux 镜像压缩包。
  4. 然后下载用于烧录 Linux 镜像的软件——balenaEtcher, 下载地址为:
    **https://www.balena.io/etcher/
    **5) 进入 balenaEtcher 下载页面后, 点击绿色的下载按钮会跳到软件下载的地方
    image.png
    下载需要的版本就好,官方也提供了对应的版本包供你选择。

烧录系统

使用 balenaEtcher-Portable-1.18.4.exe 工具来完成烧录。这个过程还是非常的漫长的。你需要先下好系统,然后写入到开发板子里面去。就跟我们去装Windows系统一样的,只是工具不一样。
image.png

调试连接

通过 Micro USB 接口来使用调试串口

  1. 首先需要准备一根 Micro USB 接口的数据线
    image.png
  2. 然后将 Micro USB 接口一端插入开发板的 Micro USB 接口中。
    image.png
  3. 再将数据线的另一端插入电脑的 USB 接口中即可
    e2a97792f9ada05cee8e891c79bd1ec.jpg

打开电脑设备管理

查看连接设备看一下连接是否成功看起来接入没有任何问题。Come
image.png

Windows 平台调试串口的使用方法

Windows 下可以使用的串口调试软件有很多, 如 SecureCRT、 MobaXterm 等,下面演示MobaXterm 的使用方法, 这款软件有免费版本, 无需购买序列号即可使用。

  1. 首先下载 MobaXterm。
    a. 下载 MobaXterm 网址如下:
    https://mobaxterm.mobatek.net/
    b. 进入 MobaXterm 下载。

官网自带

官网默认有提供对应的工具进行连接。当然你也可以使用一些ssh的工具进行一个连接。首先当然我们用使用官方的工具连接,建立连接之后获取它对应的IP。有了IP,我们就可以使用其他的工具进行连接了。

创建示例

image.png

建立连接

image.png
image.png
当看到登录界面时, 就可以使用下面的账号和密码来登录 Linux 系统了。

账号密码
**root **Mind@123
**HwHiAiUser **Mind@123

**扫描无线热点:**使用以下命令扫描

nmcli dev wifi

image.png

**连接无线热点:**使用以下命令连接指定的热点,注意【ap-name】【ap-passwprd】要替换成你自己的无线热点名称和对应的密码。

sudo nmcli dev WiFi Connect Password: ap-passwprd

image.png
显示连接无线热点成功后,可以查看OrangePi板子的IP地址,如下图所示:
查看IP的命令是:

ifconfig

image.png

SSH登录

设置完Wi-Fi后,系统启动后会自动连接Wi-Fi热点,使板子具备网络能力。OrangePi默认开启了SSH服务,因此我们可以通过SSH协议从PC电脑登录系统。我使用的是xshell工具,通过填入开发板的IP和端口号22,以及用户名和密码,就可以方便地连接上去。
image.png

文件管理工具

配置samba服务

注意:smb.conf 文件配置homes字段时,记得加上 writeable = yes 否则会出现,windows登录samba共享,但是只能查看不能新增或修改文件。

sudo apt-get update
sudo apt-get install samba openssh-server
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ba
sudo vi /etc/samba/smb.conf
sudo service smbd restart && service nmbd restart
sudo smbpasswd -a fire
# 在网页输入测试
\\ip\fire

image.png

文件管理工具lrzsz

下载工具包

apt-get install lrzsz

上传文件命令:

rz

载文件命令:

sz 文件路径

image.png

香橙板AI实现yolov5 AI算法进行图像识别

yolov5介绍

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的约瑟夫-雷德蒙(Joseph Redmon)和阿里-法哈迪(Ali Farhadi)开发。YOLO 于 2015 年推出,因其高速度和高精确度而迅速受到欢迎。yolov5算法是目前被广泛应用的目标检测算法之一,它利用深度学习技术,在卷积神经网络的基础上增加了特征金字塔网络和SPP结构等模块,以实现高精度和快速检测速度的平衡。
YOLOv8 🚀 NEW项目github地址在:
https://github.com/ultralytics/yolov5?tab=readme-ov-file

环境搭建

首先安装git

apt-get install git

然后下载代码

git clone https://github.com/ultralytics/yolov5

image.png
安装python环境

apt-get install pip

下载完成之后进入yolov5目录安装项目依赖包

cd yolov5
pip install -r requirements.txt

等待依赖包下载完成,这里需要点时间

测试识别

,现在来开始测试一下识别的成功率如何,验证一下项目跑起来它的执行效率是如何的。嗯,嗯。

测试人员图片

先放一个张测试图片试试效果
image.png
执行官方检测命令:

python detect.py --source ./data/images/road.jpg

image.png
检测结果:

448x640 8 persons, 4 bicycles, 1 bus, 2 backpacks, 588.9ms

看到结果太6了,执行完检测,去看下对应的识别图片输出,在 runs/detect/exp5目录下,每次检测exp目录就会加1,这是执行之后的结果图片:
road (2).jpg

测试动物园

测试下动物园的情况:

检测结果:

 384x640 3 zebras, 2 giraffes, 463.8ms

image.png
发现一个漏网之鱼,那头麋鹿没有检测进去。二次测试发现结果一样,看来人的识别率高于动物,还是数据量的问题。
zoo.jpg

总结

从整个测试体验流程来看,这个板子的可玩性很高。你只要录入一个系统你可以做很多事情,从AI的目搭建和运行情况来看,完全可以做一个人脸识别相关的工具。而且还是移动的,这就相当于一个小型的Linux系统。可玩性非常的高,你只需要配置一些外部插件,就像这里现在是一种上传图片的形式。当你接入摄像头之后,你就可以进行一个实时的动态识别。而且呢它的检测速度也非常的快,才几百毫秒。可能只是数据量导致它的检测结果会有一些误差。整体而言还是非常具有可玩性,可操作性的。

引用

http://www.orangepi.cn/html/aboutUs/index.html


原文地址:https://blog.csdn.net/2301_76403635/article/details/140579502

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!