OrangePi AIpro上手初体验:

news2024/9/23 11:16:52

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 FindPackageShare

def 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'
        ),

        # 启动 RViz
        Node(
            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.coloradmin.cn/o/1701819.html

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

相关文章

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

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

Android Studio 中gradle的bin和all区别

1.在android studio中设置安装gradle时,真各种版本看到眼花缭乱,还有疑惑gradle-*.*-all.zip与gradle-*.*-bin.zip的区别是什么。下面解压如下: bin: all: 其实,用bin就可以了,all文件就是多了docs(文档)和src(源码)两…

007、字符串_命令

字符串类型是Redis最基础的数据结构。首先键都是字符串类型,而且 其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其 他四种数据结构的学习奠定基础。 设置值 set key value [ex seconds] [px milliseconds] [nx|xx] 下面操作设置键…

使用二维数组和字典去重,VBA对应转换Excel工作表行、列数据

使用二维数组和字典去重,VBA对应转换Excel工作表行、列数据(VX公众号:Excel潘谆白说VBA) 文章目录 前言一、效果如图:二、操作思路:三、代码如下:1.创建二维数组并赋值2.字典去重3.新工作表创建及赋值前言 工作或学习中,是否遇到过这样的事,手上的Excel工作表设计不…

104-1389-006马达单价1041389006可议价

104-1389-006 产品 M 马达 系列 02 2000 系列 排量 149 244.3 CM3/R [14.91 IN3/R] 安装类型 AH 标准,4 螺栓;先导直径为 82.6 [3.25] 13.59 直径为 [0.535] 直径为 106.4 [4.19] 的孔螺栓圆周 输出轴 16 直径为 32.00 [1…

【面试】PWM(脉冲宽度调制)相关问题 ——长期更新

1、PWM调节原理 答:通过改变信号的高电平和低电平的持续时间比例来控制输出信号的平均功率或电压。 2、PWM占空比定义 答:在一个脉冲周期内,高电平的时间占整个周期时间的比例。 3、PWM波形的周期和调节精度由谁决定 答:当计数…

2024年【山东省安全员C证】考试及山东省安全员C证报名考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年【山东省安全员C证】考试及山东省安全员C证报名考试,包含山东省安全员C证考试答案和解析及山东省安全员C证报名考试练习。安全生产模拟考试一点通结合国家山东省安全员C证考试最新大纲及山东省安全员…

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

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

12.可视化实现

时间过的很快,不知不觉已到第十二章。经过前面教程的讲解和实践,数据接入服务的功能已初步完成。 此章节将通过可视化的实现,对设备接入进行监控,实时监听设备的接入情况及设备的在线时长。 并且可以通过订阅按钮、取消订阅按钮、查看数据按钮,对上报数据进行实时的跟踪…

掌控安全CTF-2024年5月擂台赛-WP(部分)

MISC ez_Misc 题目给了一个加密的压缩包和一个文本文档,首先我们先来看文本的内容,如下: 很容易看出,0宽隐写,用PuzzleSolver梭哈一下,发现了:Thi3 is n0t 2 hint 又在文本中发现一个特征&…

【设计模式】JAVA Design Patterns——Combinator(功能模式)

🔍目的 功能模式代表了一种以组合功能为中心的图书馆组织风格。 简单地说,有一些类型 T,一些用于构造类型 T 的“原始”值的函数,以及一些可以以各种方式组合类型 T 的值以构建更复杂的类型 T 值的“组合器” 🔍解释 真…

vue中封装组件实例

本篇是一篇组件封装。因为要经常使用,特此封装并且记录下来,以供参考。 封装组件:封装组件是指将一段具有特定功能的Vue代码(包括模板、脚本和样式)封装成一个可复用的组件。这个组件可以作为一个独立的单元&#xff…

国内信创数据库生态

国内信创数据库生态 国内信创数据库主要包括但不限于以下几种: 数据库类型与厂商: 达梦 (武汉达梦) 官网 https://www.dameng.com/DM8.html 人大金仓 (北京) 官网 https://www.kingbase.com.cn/tyxsjk/i…

VS2022编译CMake的工程

开源项目大都是用Make文件组织项目代码编译。对熟悉Window体系,一直用VS套件工作的人,还是有不小的隔阂。 好在有大神们帮助我们解决此类问题,使用CMake工具,可以自动转换工程类型。 1、解压缩代码,找到CMakeList.tx…

OrangePi AIpro初体验之图片视频检测案例真实测评

OrangePi AIpro简介 OrangePi AIpro官网 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭载了昇腾AI 处理器,可提供8TOPS INT8 的计算能力,内存提供了8GB 和16GB两种版本。可以实现图像、视频等多种数据分析与推理…

漫谈企业信息化安全 - 零信任架构

一、引言 《万物简史》的作者比尔布来森说,当他小的时候学科学的时候,好像这些科学家们都是有一种本领,把科学总是以一种让人看不懂的方式说得神乎其神,好像有藏着什么不可告人的秘密。因此,想要写一本让大家都能看得…

IT项目管理 第四、六、七章复习记录

网络图是项目活动之间逻辑关系或顺序的示意图,有两种主要格式: 箭头图(AOA)前导图/优先图(PDM) 箭头图 活动用箭头表示。节点或圆圈是活动的起点和终点。只能显示从完成到开始依赖。 前导图 活动由方框…

UE_地编教程_创建地形洞材质

个人学习笔记,不喜勿喷。侵权立删! 使用地形洞材质来遮罩地形上特定位置的可视性和碰撞。如要在山脉侧面创建进入洞穴的入口,此操作将非常有用。可使用地形材质和地形洞材质的相同材质,但注意:对比不使用不透明蒙版的…

icloud照片怎么恢复到相册?2个方法,轻松解决烦恼

在现代生活中,照片承载着我们的回忆和珍贵的时刻,而iCloud提供了便捷的云存储服务,让用户可以方便地备份和同步手机上的照片、视频等文件。 然而,有时候我们可能会不小心删除了在iCloud上的照片,或者想要将iCloud照片…

数据挖掘案例-航空公司客户价值分析

文章目录 1. 案例背景2. 分析方法与过程2.1 分析流程步骤2.2 分析过程1. 数据探索分析2. 描述性统计分析3. 分布分析1.客户基本信息分布分析2. 客户乘机信息分布分析3. 客户积分信息分布分析 4. 相关性分析 3. 数据预处理3.1 数据清洗3.2 属性约束3. 3 数据转换 4. 模型构建4. …