OrangePi AIpro上手初体验:

OrangePi AIpro上手初体验:

  • 1.基本外观及功能接口简介
  • 2.点亮OrangePi AIpro开发板
  • 3.OrangePi AIpro功能体验
    • 3.1.目标检测
    • 3.2.OCR文字识别
    • 3.3.图像的曝光增强
    • 3.4.系统的整体性能(运行ROS)
  • 4.OrangePi AIpro体验总结
    • 4.1.硬件及软件生态:
    • 4.2.使用体验及性能表现:
    • 4.3.扩展能力:
    • 4.4.可改进的地方:

1.基本外观及功能接口简介

OrangePi AIpro整体重量适中,结构小巧,其包装盒物品主要是如下图所示:
●OrangePi AIpro主板
●电源适配器(C to C)
●SD卡(预装Ubuntu系统)

img

此外,主板上包含丰富的外设接口,如USB-Type C,HDMI,以太网,耳机口,摄像头接口,USB 3.0接口,WIFI,蓝牙等,同时对比与之前使用的树莓派4B来说,OrangePi AIpro还拥有eMMC和M.2 NVME SSD的外部接口,这使得这款开发板拥有强大的存储能力,具备更高的可玩性。详细的接口及功能模块介绍如下图所示:

img

img

2.点亮OrangePi AIpro开发板

OrangePi AIpro开发板上手的第一件事那肯定是迫不及待地上电进入系统看看,该开发板预装了Ubuntu系统,同时可通过拨码开关选择不同的系统启动方式。此次选择默认的SD卡启动。

img

个人还是更喜欢命令行形式,其效果如下:

img

同时可以连接串口查看相关的信息输出,如下图:

img

3.OrangePi AIpro功能体验

官方镜像提供了一系列的应用体验例程,这里选取了部分进行了测试。同时基于个人的开发经验进行了相关的体验测试。

3.1.目标检测

首先,既然是主打AI应用的开发板,那自然少不了经典的目标检测,这里采用的是YOLOv5s目标检测器算法,它是YOLOv5 系列中较为轻量的网络模型,适合在边缘设备部署,进行实时目标检测,其官方demo效果如下图,可以看到有效识别了不同数量的car。

img

此外测试了其他情况下的目标检测,比如在下图中有静止的自行车以及运动的行人,其都做到了有效的检测。在进行此测试时,由于视频非常大,处理过程中OrangePi AIpro的风扇高速运转,散热性能还有较高的提升空间,但得益于高性能的处理器,其代码整体的执行速度还是非常快的。
(由于gif上传的大小限制,此处检测效果做了裁剪)
静态效果如下:
img
动态效果如下:

imgimg

3.2.OCR文字识别

第二部分测试了OCR文字识别部分,OCR 两阶段方法一般包含两个模型,检测模型负责找出图像或视频中的文字位置,识别模型负责将图像信息转换为文本信息。基于官方demo我们增加了一定难度,加入字母以及大小不同,颜色深浅差异的文字,其效果如下图所示,可以明显看到检测模型没能有效的找出所有文字位置,识别模型将字母”I”识别成“L”,此处误识别的主要原因在于两者高度的相似性。其他文字及字母的识别基本正确,后续可采用不同的模型进一步测试其效果.

img

3.3.图像的曝光增强

第三部分测试主要测试了图像的曝光增强,其效果如下图所示,可以看到增强后的图像更加明亮清晰,浅色文字也变得更加明亮,效果符合预期。

img

img

3.4.系统的整体性能(运行ROS)

第四部分测试了系统的整体性能,这里采用了之前经常跑的机器人ROS,因为之前跑的ROS是通过树莓派4B实现的,所以还是很期待在OrangePi AIpro上的具体使用效果。
首先安装对应的ROS版本进行简单的功能测试,安装过程网上就很多了就不介绍了,此次采用编译的方式安装,安装过程中的资源占用情况较高,如果开的命令行窗口过多则会略有卡顿,这里可能是我开的界面过多导致的,但整体安装速度比之前在树莓派上安装时快速不少。通过rosversion -d可查看ROS版本,如下图所示,当前使用的是Humble版本。

通过ROS自带的demo可测试ROS系统是否正常安装运行。
测试命令如下,

ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener

测试效果如下所示:相应的发布者与订阅者都有对应的输出.

img

当打开RVIZ后查看当前的资源使用情况如下,整体符合预期。

img

此外,对于机器人来说,URDF是建模仿真的经典方式,此处使用了之前项目中的一个巡检机器人模型,其Urdf文件的结构如图,

img

由于之前的工程是在ROS1上实现的,很多地方需要修改,主要是此处的Launch文件,简单修改后如下,

from launch import LaunchDescription
from launch_ros.actions import Node
from launch.substitutions import Command, FindExecutable, PathJoinSubstitution
from launch_ros.substitutions import FindPackageSharedef generate_launch_description():# 获取 URDF 文件的路径urdf_path = PathJoinSubstitution([FindPackageShare('wyf_description'),'urdf','wyf.urdf'])# 获取 RViz 配置文件的路径rviz_config_path = PathJoinSubstitution([FindPackageShare('wyf_description'),'config','wyf_urdf.rviz'])return LaunchDescription([# 设置 robot_description 参数Node(package='robot_state_publisher',executable='robot_state_publisher',name='robot_state_publisher',output='screen',parameters=[{'robot_description': Command([FindExecutable(name='xacro'),' ',urdf_path])}]),# 启动 joint_state_publisher_gui 节点Node(package='joint_state_publisher_gui',executable='joint_state_publisher_gui',name='joint_state_publisher_gui',output='screen'),# 启动 RVizNode(package='rviz2',executable='rviz2',name='rviz2',output='screen',arguments=['-d', rviz_config_path])
])

通过ros启动launch文件后,这里可以得到一个简单的Urdf模型,可以流畅的显示运行。
img

本来想在GAZEBO下先仿真测试下小车的SLAM定位导航的能力,由于该版本及架构下还没发布新的Gazebo,所以只能后续换成Ununtu20.04进行测试了。此外之前通过树莓派测试的视觉SLAM方案也将后续进行上板测试,进一步开发其AI特性。
至此,本次OrangePi AIpro初次上手体验完美结束。

4.OrangePi AIpro体验总结

4.1.硬件及软件生态:

OrangePi AIpro配备了高性能的处理器和丰富的接口,搭载了昇腾AI 处理器,可提供8TOPS INT8 的计算能力,支持多种操作系统。开发者可以根据需求选择合适的系统,并通过丰富的软件资源库和社区支持,可以快速上手并进行开发。

4.2.使用体验及性能表现:

开箱即用。首次启动时,系统加载迅速,图形界面友好。得益于高性能处理器,OrangePi AIpro在运行常见的 AI 和机器学习任务时表现出色。无论是图像识别、语音处理还是其他计算密集型任务,或者是运行机器人系统都能流畅运行。

4.3.扩展能力:

丰富的接口使得连接传感器、摄像头、显示器等变得方便。GPIO 引脚的存在使其在机器人开发中具备很大的灵活性,这也是我最喜欢的地方,更高的扩展性意味着更多的可能性。

4.4.可改进的地方:

可增加更优秀的散热,增加更丰富的文档。同时,对于资源占用较高的应用场景可换成16G的更高性能的OrangePi AIpro的版本。

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

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

相关文章

数据结构(三)循环链表

文章目录 一、循环链表(一)概念(二)示意图(三)操作1. 创建循环链表(1)函数声明(2)注意点(3)代码实现 2. 插入(头插&#x…

【LeetCode刷题】滑动窗口解决问题:水果成篮、找到字符串中所有字母异位词

【LeetCode刷题】Day 9 题目1:904. 水果成篮思路分析:思路1:暴力枚举哈希表思路2:窗口滑动哈希表 题目2:438. 找到字符串中所有字母异位词思路分析:思路1:暴力枚举哈希表思路2:滑动窗…

极简编程:一行JS代码获取全球各城市当前时间!

之前在一些国际化网站看到过,他们展示了当前北京、纽约和伦敦的时钟,在一次住店的时候,我也看到了类似的3个时钟,甚至更多,有的会展示东京时间。 让我觉得获取一些全球重点城市的当前时间,会是一个很常用的…

【NumPy】关于numpy.add()函数,看这一篇文章就够了

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

5.4 Go 匿名函数与闭包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

网站笔记:huggingface——can you run it?

Can You Run It? LLM version - a Hugging Face Space by Vokturz 1 配置设置部分 Model Name就是需要测量的模型名称 GPU Vendor ——GPU供应商 Filter by RAM (按RAM过滤) 筛选出所有内存容量在选择范围之间的GPU GPU 下拉菜单选择具体的GPU型号 LoRa % trainable param…

靠AI创意,变现20w!

文章首发于公众号:X小鹿AI副业 大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 之前X小鹿一直在各…

记录一次安装k8s初始化失败

实例化 kubeadm init --configkubeadm.yaml --ignore-preflight-errorsSystemVerification报错 [init] Using Kubernetes version: v1.25.0 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred:[ERROR CRI]: co…

海外仓erp系统是什么?和海外仓管理系统一样吗?

为了满足海外仓全球化发展的大趋势,同时提升海外仓运转的效率,一套好用,性价比高的海外仓管理系统还是非常重要的。 不过很多海外仓企业其实不太分得清erp系统和海外仓管理系统的差异,今天我们就来系统的聊一下,方便大…

K8S有了Service,为什么还要Ingress?

1、有了Service为什么还要Ingress? NodePort对外暴露端口存在的不足: 一个端口只能一个服务使用, 端口需要提前规划。 随着业务扩展, 端口的管理将是一个头疼的问题 只支持4层的负载均衡 LoadBalancer存在的不足: 贵、贵、贵。 要上云(俗话说上云…

需求跟踪矩阵是什么?怎么创建?一文详解

一、什么是需求跟踪矩阵 对项目经理或产品经理来说,需求清单肯定不陌生,那什么是需求跟踪矩阵呢? 需求跟踪矩阵(Requirement Track Matrix,简称RTM ),是把产品需求从其来源连接到能满足需求的…

无人机助力光伏项目测绘建模

随着全球对可再生能源需求的不断增长,光伏项目作为其中的重要一环,其建设规模和速度都在不断提高。在这一背景下,如何高效、准确地完成光伏项目的测绘与建模工作,成为了行业发展的重要课题。近年来,无人机技术的快速发…

哪个品种能够叫板白银现货t+d?

白银TD是在上海黄金交易所挂牌的白银投资品种,它可以说是国内版的现货白银交易,大家也可以把它理解成为白银交易的“快速通道”。通过它,投资者可以更加灵活地买卖白银,实现对内地白银价格的跟踪,并获得一定的杠杆化收…

git工作流程

以财务开发为例子: 1. 新建分支 1.1. upstream新建分支:finance-feature 1.2. origin新建对应分支:finance-feature 1.3 新建本地分支 git branch finance-feature 注: 同步远程分支:git fetch upstream feature…

CSDN智能总结助手

github项目地址: https://github.com/anjude/little-demo/tree/master 获取CSDN的user name和user token 打开csdn,打开控制台 - Application - Cookies,找到domain为blog.csdn.net的cookie,复制user_name和user_token的值 把上…

最详细Linux提权总结(建议收藏)

1、内核漏洞脏牛提权 查看内核版本信息 uname -a 具体提权 1、信息收集配合kali提权 uname -a #查看内核版本信息 内核版本为3.2.78,那我们可以搜索该版本漏洞 searchsploit linux 3.2.78 找到几个可以使用的脏牛提权脚本,这里我使用的是40839.c脚…

独立乙游井喷成新趋势,真来抢市场还是只画大饼?

国产乙游市场又迎来了新变化。 进入5月份,独立乙女游戏如雨后春笋般冒了出来,两、三个人组成的制作组,没有任何程序协助和资金支持,全靠为爱发电来打造一款乙女游戏,成为了今夏乙游市场的新趋势。 目前已经有独立乙游…

SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼

概览 在之前 SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App 这篇博文里,我们已经初步介绍过了 TipKit 的基本知识。 现在,让我们来看看如何进一步利用 SwiftUI 对 TipKit 提供的细粒度外观定制技巧,让 Tip 更加“明眸…

蓝桥杯第十四届国赛B组刷题笔记

A-0子2023: 题目: 小蓝在黑板上连续写下从 11 到 20232023 之间所有的整数,得到了一个数字序列: 𝑆12345678910111213...20222023S12345678910111213...20222023。 小蓝想知道 𝑆S 中有多少种子序列恰好等…

用Python爬取百度搜索结果并保存

项目目标 爬取百度上关键字为“粮食”的搜索结果,并保存,提交给客户,用于进一步分析我国粮食政策。 项目准备 软件:PyCharm 需要的库:json, requests,etree 项目分析 1)如何进行…