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 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的版本。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医学图像分割--U-net变种

参考:医学图像分割综述:U-Net系列_医学图像 实例分割-CSDN博客 2D Unet 收缩路径:每个块包含两个连续的3 3卷积,后面是一个ReLU激活函数和最大池化层(下采样)扩展路径:该路径包括一个2 2转置卷积层(上采…

苹果手机突然白屏无反应怎么办?白屏修复办法分享!

苹果手机突然白屏无反应怎么办?下面小编就来给大家分享苹果手机突然白屏的原因和修复办法。 一般造成苹果手机出现白屏的原因如下: 系统问题:iOS系统的故障是导致苹果设备白屏无反应最常见的原因之一。例如,系统更新失败、应用冲…

OpenHarmony如何切换横竖屏?

前言 在日常开发中,大多APP可能根据实际情况直接将APP的界面方向固定,或竖屏或横屏。但在使用过程中,我们还是会遇到横竖屏切换的功能需求,可能是通过物理重力感应触发,也有可能是用户手动触发。所以本文主要带大家了…

ESP32入门:1、VSCode+PlatformIO环境搭建

文章目录 背景安装vscode安装配置中文 安装Platform IO安装PIO 新建ESP32工程参考 背景 对于刚接触单片机的同学,使用vscodeplatformIO来学习ESP32是最方便快捷的,比IDF框架简单,且比arduino文件管理性能更好。但是platformIO安装较为麻烦&a…

小苯的九宫格,小苯的好数组(排序),小苯的数字合并(字典树,前缀和)

小苯的九宫格 题目描述 运行代码 #include<iostream> using namespace std; int main(){int a[10];for(int i1;i<9;i){cin>>a[i];} string b;cin>>b;for(int i0;i<b.size();i){int pb[i]-0;cout<<a[p];} } 代码思路 定义数组&#xff1a;首先…

关于栈的简单讲解

哈喽&#xff0c;小伙伴们大家好呀&#xff0c;今天给大家带来栈、队列的那些知识点。 栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。 总结 一种线性…

多线程编程(12)之HashMap1.8源码分析

之前已经分析过了一版1.7版本的HashMap&#xff0c;这里主要是来分析一下1.8HashMap源码。 一、HashMap数据结构 HashMap 是一个利用散列表&#xff08;哈希表&#xff09;原理来存储元素的集合&#xff0c;是根据Key value而直接进行访问的数 据结构。 在 JDK1.7 中&#xff…

MongoDB数据库清理策略: 自动化过期数据删除实战

1、引言 随着应用程序和业务数据的持续增长&#xff0c;有效地管理数据库存储空间成为维护系统性能的关键。在MongoDB这类NoSQL数据库中&#xff0c;定期清理过期数据变得尤为重要&#xff0c;这不仅能释放宝贵的存储资源&#xff0c;还能优化查询性能&#xff0c;确保数据库运…

[算法] 优先算法(三):滑动窗口(上)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

Web安全技术期末考查-vulhub靶场搭建及漏洞复现

一、实验目的与要求 能根据报告找到难度适中的漏洞&#xff0c;搭建弱点环境&#xff0c;并验证该漏洞&#xff1b; 2.能给出该漏洞的修复建议。 二、实验原理与内容 漏洞原理 漏洞原理通常指的是计算机系统、软件、网络或其他技术系统中存在的安全缺陷&#xff0c;这些缺陷…

Ubuntu18 配置FFmpeg开发环境 (Vscode+CMake)

关于Vscode插件安装不再赘述&#xff0c;本文主要讲解如何配置FFmpeg的开发环境以及CMake文件写法&#xff0c;如果不知道该安装什么插件请看本文&#xff1a; Ubuntu配置Vscode 文章目录 1.安装FFmpeg开发包2.配置Vscode项目3.使用C语言验证FFmpeg版本 1.安装FFmpeg开发包 更新…

粉丝问,有没有UI的统计页面,安排!

移动应用的数据统计页面具有以下几个重要作用&#xff1a; 监控业务指标&#xff1a;数据统计页面可以帮助用户监控关键业务指标和数据&#xff0c;例如用户活跃度、销售额、转化率等。通过实时更新和可视化呈现数据&#xff0c;用户可以及时了解业务的整体状况和趋势。分析用…

深入剖析—【服务器硬件】与【Nginx配置】:从基础到实战

服务器硬件部分&#xff1a; Processor (CPU)&#xff1a;服务器的计算核心&#xff0c;负责处理数据和执行程序。Memory (RAM)&#xff1a;用于暂时存储和快速访问数据&#xff0c;决定了系统的运行速度和并发处理能力。Storage (HDD/SSD)&#xff1a;长期存储数据的设备&…

基于JT/T808、JT/T1078、苏标、粤标视频主动安全监控

1.概述 如下图是以实时视频点播与部标机产生了主动安全报警&#xff0c;各个服务之间的交互流程说明。 整个系统有以下几个核心组件组成&#xff1a; 1&#xff1a;系统业务端&#xff1a;车载监控业务系统&#xff0c;给用户提供车载监控整套业务流程与界面呈现&#xff1b;…

Docker安装Oracle11g数据库

操作系统&#xff1a;centOS9使用此方法检查是否安装Docker&#xff1a;docker --help&#xff0c;如果有帮助文件则证明安装成功使用此语句检查Docker是否正在运行&#xff1a;docker images&#xff0c;实际上是查看本地镜像如果发现未运行则开启Docker&#xff1a;systemctl…

rapidssl泛域名https600元一年

泛域名https证书也可以称之为通配符https证书&#xff0c;指的是可以用一张https证书为多个网站(主域名以及主域名下的所有子域名网站)传输数据加密&#xff0c;并且提供身份认证服务的数字证书产品。RapidSSL旗下的泛域名https证书性价比高&#xff0c;申请速度快&#xff0c;…

使用 FileZilla 在 Windows 和 Ubuntu 之间传文件

网线一端插在板子的WAN口上&#xff0c;另一段插在电脑上&#xff0c;然后要配一下板子的IP。 板侧&#xff1a; 使用串口链接板子与PC端&#xff1b; 输入指令 ifconfig eth0&#xff08;具体看wan口对应哪一个&#xff09; 192.168.1.99 PC端配置&#xff1a; 打开网络设…

操作系统实验:进程和线程同步和互斥(生产者消费者问题,睡觉的理发师问题)

1.生产者消费者问题&#xff08;信号量&#xff09; 参考教材中的生产者消费者算法&#xff0c;创建5个进程&#xff0c;其中两个进程为生产者进程&#xff0c;3个进程为消费者进程。一个生产者进程试图不断地在一个缓冲中写入大写字母&#xff0c;另一个生产者进程试图不断地…

sqlserver——查询(四)——连接查询

目录 一.连接查询 分类&#xff1a; 内连接&#xff1a; 1. select ... from A&#xff0c;B &#xff1b; 2. select ..from A&#xff0c;B where ..&#xff1b; 3.select ...,... from A join B on... 4. where 与 join...on 的区别 5. where位置的先后 导语&#xff1…

开发心电疾病分类的深度学习模型并部署运行于ARM虚拟硬件平台(AVH)

目录 一、ARM虚拟硬件平台介绍 二、心电疾病分类模型介绍 三、部署流程 3.1 基于百度云平台订阅虚拟硬件镜像 3.2 安装编译相关组件 3.3 数据加载 3.4 模型转换 方式一&#xff1a; tensorflow模型转换为onnx模型&#xff0c;onnx模型转换为TVM模型 方式二&#xff1…