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

news2024/11/24 22:35:53

前言

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用html做python教程01

用html做python教程01 前言开肝构思实操额外修饰更换字体自适应 最后 前言 今天打开csdn的时候,看见csdn给我推荐了一个python技能书。 说实话,做得真不错。再看看我自己,有亿点差距😟。 开肝 先创建一个文件,后缀…

【大数据面试题】37 Doris 是怎么保证性能的?

一步一个脚印,一天一道大数据面试题 博主希望能够得到大家的点赞收藏支持!非常感谢 点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心! Doris 是当下大热的 MPP 数据库,下面来聊聊它如何保证…

力扣每日一题1186. 删除一次得到子数组最大和【动态规划】

本题的核心在于对于每个元素,我们分别考虑保留和删除两种状态,并根据前面的状态转移来更新当前状态。最后,遍历所有元素,找到最大和即可。 状态定义 dp[i][0] 表示以第 i 个元素结尾且未删除元素的子数组的最大和。dp[i][1] 表示…

ClamAV:Linux病毒查杀软件安装使用

简介:ClamAV是一个开源防病毒工具包,专为邮件网关上的电子邮件扫描而设计。它提供了许多实用程序,包括一个灵活且可扩展的多线程守护进程、一个命令行扫描程序和用于自动数据库更新的高级工具。该软件包的核心是以共享库的形式提供的防病毒引…

大豆叶部病害soybean-目标检测数据集(包括VOC格式、YOLO格式)

大豆叶部病害soybean-目标检测数据集(包括VOC格式、YOLO格式) 数据集: 链接:https://pan.baidu.com/s/1DIq2vp-z_fM7Xj_nsBAGBQ?pwdk373 提取码:k373 数据集信息介绍: 共有 1232 张图像和一一对应的标注…

python 打包

#导出依赖文件列表 pip freeze > requirements.txt #安装对应文件 pip install -r requirements.txt #将依赖打成对应whl文件 pip wheel --wheel-dir ./dist -r ./requirements.txt #安装whl文件 pip install …whl

消费金融系统开发回忆录

架构设计图 整个支付链路上的功能 支付系统应该有:账户管理、渠道管理、支付管理、对账管理、清算管理、结算管理 一笔支付订单,在支付系统侧就是要记录清楚,谁发起的、对哪个商品进行支付、通过哪个渠道支付、支付时间、支付结果等…

【Linux知识点汇总】07 Linux系统防火墙相关命令,关闭和开启防火墙、开放端口号

​完整系列文章目录 【Linux知识点汇总】 心血来潮突然想起之前写过的系列文章【Linux知识点汇总】还未完结,那么今天就继续吧 说明:这个系列的内容,在系列【Linux服务器Java环境搭建】中会经常用到,大家可以自行查找相关命令 一、…

SMU Summer 2024 div2 2nd

文章目录 The Second Week一、前言二、算法1.二分图匹配/匈牙利算法<1>&#xff08;[ZJOI2007]矩阵游戏&#xff09;<2>&#xff08;有大家喜欢的零食吗&#xff09; 2.优先队列<1>&#xff08;Running Median&#xff09;<2>&#xff08;旅途的终点&a…

运维团队如何高效监控容器化环境中的PID及其他关键指标

随着云计算和容器化技术的快速发展&#xff0c;越来越多的企业开始采用容器化技术来部署和管理应用程序。然而&#xff0c;容器化环境的复杂性和动态性给运维团队带来了前所未有的挑战。本文将从PID&#xff08;进程标识符&#xff09;监控入手&#xff0c;探讨运维团队如何高效…

下载最新版Anaconda、安装、更换源、配置虚拟环境并在vscode中使用

文章目录 进入官网进入下载页安装更换源配置虚拟环境env安装包requests在vscode中使用虚拟环境 进入官网 https://repo.anaconda.com/ 或进入清华大学下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 进入下载页 安装 更换源 查看已经存在的镜像源 bash cond…

windows实现端口转发

最近在做界面开发时&#xff0c;想要直接在手机上看看实际效果&#xff0c;由于我的服务器是放在虚拟机上的&#xff0c;所以需要在window上面做个端口转发&#xff0c;这就需要用到netsh命令。 添加端口转发 netsh interface portproxy add v4tov4 listenport8080 listenadd…

广州机房搬迁网络部署方案

新机房网络部署应包括核心模块、业务模块、光传输模块、安全模块、流量采集模块、路由模块、带外管理模块等&#xff0c;每个模块都根据业务需求规划成多个POD&#xff08;Point Of Delivery&#xff0c;基本物理设计单元&#xff09;。 核心模块部署主要实现各业务模块的高速互…

语义分割——为什么单通道8bit灰度图像能显示多种色块???

目录 一、问题二、解答2.1 标签图的实际存储格式2.2 标签图的显示颜色2.3 颜色映射示例 三、应用颜色映射3.1 OpenCV显示标签图3.2 Matplotlib显示标签图 四、总结 一、问题 大家在做语义分割时不知道有没有这样的疑惑&#xff0c;使用打标签工具后&#xff0c;标签图是单通道…

大气热力学(15)——热力学图的应用之三(逆温)

文章目录 15.1 逆温的概念15.2 辐射逆温15.2.1 辐射逆温的形成原因15.2.2 辐射逆温的生消过程15.2.3 辐射逆温在探空图的特征15.2.4 辐射雾的形成与特征 15.3 平流逆温15.3.1 平流逆温的形成原因15.3.2 平流雾的形成与特征 15.4 湍流逆温15.4.1 湍流逆温的形成原因15.4.2 湍流逆…

Unity XR Interaction Toolkit(VR、AR交互工具包)记录安装到开发的流程,以及遇到的常见问题(一)!

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、XR Interaction Toolkit是什么&#xff1f;二、跨平台交互三、 AR 功能四、XR Interaction Toolkit的特点五、XR Interaction Toolkit 示例总结 前言 随着VR行业的发展&#…

移动设备安全革命:应对威胁与解决方案

移动设备已成为我们日常工作和家庭生活中不可或缺的工具&#xff0c;然而&#xff0c;对于它们安全性的关注和投资仍然远远不够。本文深入分析了移动设备安全的发展轨迹、目前面临的威胁态势&#xff0c;以及业界对于这些安全漏洞响应迟缓的深层原因。文中还探讨了人们在心理层…

Python酷库之旅-第三方库Pandas(030)

目录 一、用法精讲 79、pandas.Series.dtype属性 79-1、语法 79-2、参数 79-3、功能 79-4、返回值 79-5、说明 79-6、用法 79-6-1、数据准备 79-6-2、代码示例 79-6-3、结果输出 80、pandas.Series.shape属性 80-1、语法 80-2、参数 80-3、功能 80-4、返回值 …

2024杭电多校1——1008位运算

Problem Description 小丁最近对位运算很感兴趣&#xff0c;通过学习&#xff0c;他知道了按位与 ⊗&#xff0c;按位异或 ⊕&#xff0c;以及按位或 ⊖ 三种常见位运算。 按位与 ⊗&#xff1a;二进制下每一位做与&#xff0c;即 0⊗00,0⊗10,1⊗00,1⊗11。 按位异或 ⊕&am…

【MySQL】:想学好数据库,不知道这些还想咋学

客户端—服务器 客户端是一个“客户端—服务器”结构的程序 C&#xff08;client&#xff09;—S&#xff08;server&#xff09; 客户端和服务器是两个独立的程序&#xff0c;这两个程序之间通过“网络”进行通信&#xff08;相当于是两种角色&#xff09; 客户端 主动发起网…