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

eng八戒 2024-07-30 16:01:02 阅读 71

前言

机缘巧合之下有幸得到了一块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 卡的方法:

首先准备一张 32GB 或更大容量的 TF 卡( 推荐使用 **64GB **或以上容量的 **TF

**卡) , TF 卡的传输速度必须为 **class10 **级或 **class10 **级以上, 建议使用闪迪等品牌

的 TF 卡。然后把 TF 卡插入读卡器, 再把读卡器插入电脑。从开发板的资料下载页面下载想要烧录的 Linux 镜像压缩包。然后下载用于烧录 Linux 镜像的软件——balenaEtcher, 下载地址为:

**https://www.balena.io/etcher/

**5) 进入 balenaEtcher 下载页面后, 点击绿色的下载按钮会跳到软件下载的地方

image.png

下载需要的版本就好,官方也提供了对应的版本包供你选择。

烧录系统

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

image.png

调试连接

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

首先需要准备一根 Micro USB 接口的数据线

image.png

然后将 Micro USB 接口一端插入开发板的 Micro USB 接口中。

image.png

再将数据线的另一端插入电脑的 USB 接口中即可

e2a97792f9ada05cee8e891c79bd1ec.jpg

打开电脑设备管理

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

image.png

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

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

首先下载 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

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

<code>nmcli dev wifi

image.png

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

<code>sudo nmcli dev WiFi Connect Password: ap-passwprd

image.png

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

查看IP的命令是:

<code>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共享,但是只能查看不能新增或修改文件。

<code>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

下载工具包

<code>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

<code>apt-get install git

然后下载代码

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

image.png

安装python环境

<code>apt-get install pip

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

cd yolov5

pip install -r requirements.txt

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

测试识别

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

测试人员图片

先放一个张测试图片试试效果

image.png

执行官方检测命令:

<code>python detect.py --source ./data/images/road.jpg

image.png

检测结果:

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

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

road (2).jpg

测试动物园

测试下动物园的情况:

检测结果:

<code> 384x640 3 zebras, 2 giraffes, 463.8ms

image.png

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

zoo.jpg

总结

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

引用

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。