MAIX-III AXera-Pi 是什么?
截止 2022 年市面上的各类视觉国产 Linux AI 开发板陆续面世!
在千元内的产品有晶晨 A311D 、地平线 X3 、瑞芯微 RV1126、堪智 K510、全志 V85X 等芯片供选择。
但它们要么资料太少、能效比差、价格太贵、没有生态、开发困难、摄像效果太差啦!
真的很难有一款板子可以满足所有要求。
但现在,想要支持国产芯片的 AI 开发工程师们!总算是有更好的选择了!!
练习时长两年半,一颗 3.6TOPs@INT8 大算力低功耗超强夜景的芯片来到了 MAIX-III Linux AI 系列!
它就是来自「爱芯元智」的 AX620A,这是一款高算力,高能效比,低功耗的 AI SoC 芯片,芯片集成了四核 Cortex A7 @ 1Ghz CPU,拥有 3.6TOPs@INT8 的高算力 NPU,支持 4K@30fps 的 ISP,以及支持 H.264、H.265 编码的 VPU,拥有大算力和优异画质处理能力的 AX620A 可以实现更多的 AI 功能,带来最优的 AI 体验!(来自官方)
产品介绍
它其实早在九月初就参展了 2022 年世界人工智能大会了~(当时它长这样)
最后总算是在 20221001 的时候推出了这款搭载 AX620A 的开发板,正式名为:MAIX-III AXera-Pi,以下内容中简称 m3axpi 喔!
那么,它都带来了哪些内容呢?
- 资料太少?文档教你从开箱到开发,从嵌入式 Linux 开发到 AI 模型开发指南一应俱全!
- 能效比差?四核 A7 靠一根 USB3.0 就可以带起来!和你的外接电源、散热器说拜拜吧!!
- 开发困难?支持 debian11 系统内置 sdk 直接板上编译!白嫖在线 AI 模型训练直到部署!!!
- 没有生态? WIKI 拥有许多 LINUX、RISCV、AIOT、FPGA、MCU 等嵌入式领域的内容!!!!
- 摄像效果太差?芯片主打 AI ISP 夜视增强!由原厂亲手为你调试白天到夜间的超强影像!!!!!
- 价格太贵?从核心+底板+屏幕+摄像头+外壳支架全套总共人民币 5X9 !!!!!!(咆哮!!!!)
产品特色
说这么多没用的,还是赶紧把东西掏出来,让大家瞧瞧都有些什么吧!
影像效果
夜景增强效果
展会暗室现场
AI 应用实拍
AI 生态
大算力超多算子!
点此 >>> 「查看 AX620A 算子支持列表」 <<< 喔!
下表统计一下目前千元内在售的 AI 主板(仅单主板,全套太贵)的 NPU 算力性能排行(20221012)
芯片 | 产品 | 价格 | CPU | RAM | NPU |
---|---|---|---|---|---|
晶晨 A311D | Khadas VIM3 | ¥850.00 | 四核 ARM Cortex-A73@2.2GHz 双核 ARM Cortex-A53@1.8GHz |
2GB | 5TOPs |
地平线 X3 | 旭日派 | ¥499.00 | 四核 ARM Cortex-A53@1.2GHz | 2GB | 5TOPs |
爱芯元智 AX620A | MAIX-III AXera-Pi | ¥399.00 | 四核 ARM Cortex-A7@1.0GHz | 2GB | 3.6TOPs |
瑞芯微 RV1126 | EASY EAI Nano | ¥328.00 | 四核 ARM Cortex-A7@1.5GHz | 1GB | 2TOPs |
堪智 K510 | K510 CRB-KIT Lite | ¥699.00 | 双核 RISCV 64 位 800Mhz | 512MB | 3TOPs |
全志 V85X | 全志 V853 开发板(仅主板) | ¥973.00 | 单核 ARM Cortex-A7@1.2GHz | 512MB | 1TOPs |
大量现成的模型!
没有拿到板子之前,你可以到 MaixHub 模型库 找到你需要的模型,可以在过滤选项中选择 AX-Pi
来查找能在 AXera-Pi
上运行的模型。
还可以在 AXERA-TECH/ax-samples 仓库也可以找到模型,板子系统里也预置了模型资源,后续模型更新会在这里「ax-models」,而 AX-Samples 将不断更新最流行的、实用的、有趣的示例代码,目前有如下模型支持列表:
- 物体分类
- MobileNetv1
- MobileNetv2
- MobileOne-s0
- ResNet18
- ResNet50
- Others......
- 物体检测
- PP-YOLOv3
- YOLOv3
- YOLOv3-Tiny
- YOLOv4
- YOLOv4-Tiny
- YOLOv4-Tiny-3l
- YOLOv5s
- YOLOv7-Tiny
- YOLOX-S
- YOLO-Fastest-XL
- NanoDet
- 人型检测
- YOLO-Fastest-Body
- 人脸检测
- scrfd
- 障碍物检测 (扫地机场景)
- Robot-Obstacle-Detect
- 3D单目车辆检测
- Monodlex
- 人体关键点
- HRNet
- 人体分割
- 语义分割
想要在板子上运行模型请看「部署模型到 Maix-III AXera-Pi 开发板」
在线训练模型吧!
如今 新版 MaixHub 正式上线啦!下为 maixhub 在线训练模型流程示意。
以下为上一代 m2dock 产品的演示效果,目前 m3axpi 还在开发中...
分享有趣的模型!
在你部署成功后会有一份模型文件,以及能运行模型的代码或程序,你可以将这些文件分享到 MaixHub 模型库 ,大家一起交流学习成长!(请开始你的表演吧)
嵌入式
超高性价比与能效比
别搞那些虚的。来点实际点的,以下是目前(20221014)市场上销量排行的典型 AI 开发产品。(已除去低成本低摄像头 38 板和芯片原厂超昂贵开发板)
AI 开发板 | 全家桶套餐的主要内容 | 大致价格(20221013) |
---|---|---|
英伟达JETSON NANO开发板 | 4GB 主板、铝合金外壳(带风扇)、5V4A 电源、双频无线网卡、64G U盘、IMX279 摄像头、HDMI 线 + 网线、7 寸触摸屏+支架、 | ¥2129.00 (未来可能降价) |
Raspberry Pi 树莓派4B | 4GB 主板、七寸触摸屏+支架、64G U盘、散热片、HDMI 线 + 网线、5V3A 电源、亚克力外壳(带风扇)、500w USB 摄像头、入门指导手册 | ¥1439.00 |
Khadas vim3物联网a311d(目前线上销量不高,但很典型) | VIM3(4GB+32G)开发板、外壳、散热器、风扇、30W 电源、HDMI 线 | ¥1399.00 |
迅为RK3568开发板瑞芯微 | 商业级2G+16G、7寸MIPI屏、OV5695摄像头 | ¥1380.00 |
EASY EAI Nano AI开发板 瑞芯微RV1126 | 1GB 单主板、200w双目摄像头(gc2xxx)、5寸ips屏、天线、喇叭、铜柱、电源 | ¥799.00 |
亚博智能 旭日X3派开发板 | 2GB 主板、古月居课程、WIFI 天线、铝合金外壳、gc4663 摄像头、32G U盘、5V3A 开关电源、HDMI 线 | ¥769.00 |
Sipeed MAIX-III AX-Pi AI微光夜视 爱芯派 | 2GB 单主板、400w gc4653 摄像头、5寸ips屏、外壳、数据线、白嫖在线模型训练服务、超级热闹的开源硬件社区 | ¥549.00 (未来可能涨价) |
想想某些产品为什么卖这么贵,销量还这么好?凭什么?
这些产品除了本身的质量要过硬,功能要够强,还要凭借自身的社区生态、软件支持、丰富资料、开源代码、用户口碑等等特色,来支撑产品高性价比的形象。
笔者在这里认为所谓的性价比不是一昧地追求产品的最低价,而是在同类产品市场的主流价格区间内,选出社区用户群体可以接受的价格,然后在这个定位里去尽力做出效果最好的产品。
从这些典型的产品中可以看出 m3axpi 套餐是没有配「散热片和风扇还有外接电源」的,这也是它的另一个特色「高能效比」。
是的,这个产品不需要散热器/风扇,也不需要外接 2A 电源就可以启动系统,更不需要找 hdmi 线和显示器,并且产品测试时是类似如下接线图示意进行产品发货前测试的(这些实拍图虽然有点简陋但都是真情流露呀)。
来一个实际测量的温度和功耗,注意要使用 USB3.0 的口来供电喔。
从实测结果上来看,这个功耗和温度控制得挺好,用 USB3.0 5V@1A 承载了底板、核心板、WIFI、以太网、摄像头、5寸屏的工作。
基于 debian 系统开发
提供 debian11 Linux 系统,支持 SD 卡启动 DD 烧录系统,方便用户开箱上手。
烧录方法:WIKI AXera-Pi 烧录系统
BSP SDK 源码开放
提供各类开发源码,提供 API 开发文档,SDK 开发方法等说明,细节可以从SDK 开发指南 得知。
ax-sample
由爱芯提供典型 AI 模型的开发与评估验证,提供给有经验的 AI 开发者使用或只想蹭模型的同学,不涉及任何硬件外设有关的内容。
libmaix
由 SIPEED 提供在嵌入式平台统一的嵌入式开发环境,主要有摄像头、屏幕、视觉、图像处理、NPU Pipiline 相关的实机部署例程,适合刚入门嵌入式 linux 开发的同学使用。
axpi_bsp_sdk
芯片商用时所用的 bsp 开发包,这里主要提供的是芯片的原始开发资料,如 uboot 、 linux 、 msp 、msp 等工程代码,这个部分是逐步开源的,你可以从这里得到商业评估用的代码,例如 ipcdemo 这样的程序,但这些代码会很复杂且高耦合,适合有经验的同行出于商业落地的目的使用。
由社区开发者贡献的内容
以下是来自社区一些同学的相关博文精选,欢迎你也来投稿喔!!!你直接丢群里都可以喔!
- 爱芯派-AI微光全彩夜视-开箱体验
- 爱芯 AX620A NPU 初体验
- 爱芯元智AX620A部署yolov5 6.0模型实录
- ubuntu22.04搭建AX620A官方例程开发环境
- AX620A运行yolov5s自训练模型全过程记录(windows)
其他相关的新闻内容有:
即将联动的 AI 社区有:
上手流程
为了让你轻松、快速、平稳地把产品用起来,下面为您准备了新手初学者上手流程:
烧录系统启动
已买烧录卡的同学可以跳过这一步,直接把 TF 卡插上即可启动 Linux Debian 系统。
板子默认是没有 emmc 介质可以启动的,需要从 TF 卡启动 Linux 系统,请从以下「烧录系统镜像」了解。
通过跨平台烧卡烧录工具 Etcher 烧录镜像成功后,要把卡插入板子里,接上 USB-UART 和 USB-OTG 口,此时给板子上电就行。
20221013 后开机后会从耳机播放音乐和点亮出厂的 5 寸屏幕,并在串口输出如下的 debian11 系统启动日志,有些同学会遇到 Ubuntu22.04 CH340系列串口驱动(没有ttyUSB)问题,点此查看解决方案。
Vddr init success!
The system boot form EMMC
enter boot normal mode
U-Boot 2020.04 (Jun 16 2022 - 00:16:34 +0800)
Model: AXERA AX620_demo Board
DRAM: 1 GiB
NAND: unknown raw ID 77ee0178
uclass_get_device: Invalid bus 0 (err=-524)
0 MiB
initr_pinmux: delay pinmux_init for env board id
MMC: enter sdhci_cdns_get_cd call mmc_getcd
enter sdhci_cdns_get_cd call mmc_getcd
mmc@10000000: 0, mmc@4950000: 1
Loading Environment from MMC... OK
In: serial
Out: serial
Err: serial
MMC: no card present
sd card is not present
enter normal boot mode
Net:
reset EMAC0: ethernet@0x4970000 ...
Warning: ethernet@0x4970000 (eth0) using random MAC address - 6a:e4:fd:58:97:ea
eth0: ethernet@0x4970000
Hit any key to stop autoboot: 0
reading DTB and BOOT image ...
reading bootimg header...
MAGIC: AXERA!
img size: 4841536
kernel_size: 4841472
kernel_addr: 64
id:bc 19 bb a7 2d 27 74 de 7c 91 4b 70 ea c9 ab 96 50 61 bd e0 2b 02 8b e5 c8 ee 22 ce df b1 cf ea
load kernel image addr = 0x40008000,load dtb image addr = 0x48008000
boot cmd is :bootm 0x40008000 - 0x48008000
## Booting kernel from Legacy Image at 40008000 ...
Image Name: Linux-4.19.125
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4839952 Bytes = 4.6 MiB
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 48008000
Booting using the fdt blob at 0x48008000
Loading Kernel Image
Using Device Tree in place at 48008000, end 480103d6
Starting kernel ...
Welcome to Debian GNU/Linux 11 (bullseye)!
[ OK ] Created slice system-getty.slice.
[ OK ] Created slice system-modprobe.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice User and Session Slice.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ OK ] Reached target Local Encrypted Volumes.
[ OK ] Reached target Network is Online.
......
登录到板子里
如果已经确定开机成功了,这时候把板子当做一台 linux 服务器来对待,还需要通过「系统使用手册」来了解如何登录到板子里的 Linux 系统,同时它还会告诉你,板上所有验证过的系统调频、外设、驱动、应用等资源的用法,像一些 Linux 操作基础、如何控制 I2C / UART / SPI 这些硬件设备的操作,或是直接运行板子内置的 AI 应用等等内容。
这里以 USB-OTG 口的 usb0 网卡(192.168.233.1)作为 ssh 登录的 ip 进入板子为例。
juwan@juwan-n85-dls:~/sipeed_wiki$ sshpass -p root ssh root@192.168.233.1
Linux AXERA 4.19.125 #53 SMP PREEMPT Tue Sep 13 13:16:27 HKT 2022 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Oct 12 16:43:43 2022 from 192.168.233.10
root@AXERA:~# screenfetch
_,met$$$$$gg. root@AXERA
,g$$$$$$$$$$$$$$$P. OS: Debian
,g$$P"" """Y$$.". Kernel: armv7l Linux 4.19.125
,$$P' `$$$. Uptime: 2d 3h 5m
',$$P ,ggs. `$$b: Packages: 785
`d$$' ,$P"' . $$$ Shell: bash 5.1.4
$$P d$' , $$P Disk: 2.6G / 3.6G (77%)
$$: $$. - ,d$$' CPU: ARMv7 rev 5 (v7l) @ 4x 1.248GHz
$$\; Y$b._ _,d$P' RAM: 88MiB / 744MiB
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
root@AXERA:~# ax_clk
AX620A:
DDR: 3733 MHz
CPU: 800 MHz
BUS of VPU: 624 MHz
BUS of NPU: 624 MHz
BUS of ISP: 624 MHz
BUS of CPU: 624 MHz
NPU OTHER: 800 MHz
NPU GLB: 24 MHz
NPU FAB: 800 MHz
NPU CORE1: 800 MHz
NPU CORE0: 800 MHz
ISP: 533 MHz
MM: 594 MHz
VPU: 624 MHz
root@AXERA:~#
可以看到板子的基础信息,目前默认是用 800Mhz 来跑,并且内存分配比较保守,留给用户空间的内存只有不到 1GB,不用担心,板子贴得内存最小都得是 2G 的,所以之后会通过更新内核开放更多内存给用户空间。
编译代码运行
能走到这里就说明板子已经用起来了,那就来开发吧!在这之前需要「准备开发环境」了解如何拷贝文件到板子里,如何搭建本地编译或交叉编译,然后通过「SDK 开发指南」学习到如何基于现有的代码进行开发。
了解现在提供了哪些开源代码仓库的用法,这些开源仓库会持续更新和开放的。
在这里「大佬鼠」推荐自己常用的开发流程和方法,最开始就是先在板子上本地编译测试现有的代码和功能,然后根据 [maixpy3 axpi] 编辑发布 debian 镜像与在 PC 上交叉编译程序 来安装 docker arm 虚拟机。
接着,将之前烧录到板子里的根文件系统(.img)通过 losetup + mount + chroot 挂载(.img)出来,这时候你就会得到和板子一样的 arm 虚拟机环境,就可以直接本地编译啦!不过,这个方法需要学习 docker 的安装喔,包括后面的模型开发也上会用到 docker 的。
如果你不嫌麻烦的话,可以选择配置交叉编译链、板子依赖的头文件、第三方链接库后才能进行程序的编译,但这个 docker arm 虚拟机的方法是最省事的,甚至还可以通过读卡器(或网络)挂载板子里的根文件系统进行编译。
训练模型部署
初学者训练模型可以从 AI 开发指南 学习如何训练一个最简单的模型到量化转换部署测试。
更专业更深入的调优需要了解 Pulsar ,这是由 爱芯元智 自主研发 的 all-in-one 神经网络编译器,充分发挥片上异构计算单元(CPU+NPU)算力, Pulsar 工具链核心功能是将 .onnx 模型编译成芯片能解析并运行的 .joint 模型。
目前有两种部署方式(Pipeline)推荐:
libmaix:并不在意程序的性能和效率,用最快的方式把摄像头图像输入 AI 模型后输出识别结果绘制到显示到屏幕上验证一下识别效果。
IPCDemo:以效果最好、性能最好、占用最少、稳定可靠、功能最多、确保最终能部署到用户的现场不出问题的框架代码来开发 AI 程序。
libmaix 部署
在板子上编译这个示例代码 axpi_classification_cam,然后放入模型运行即可看到效果,截止 20221013 前代码还没有优化所以性能不高,只够看个结果。
即可验证效果,详细可从 maixhub 上获取。
IPCDemo 部署
这是一个典型的 IPC 演示程序,源码在这里 axpi_bsp_sdk IPCDemo ,其中 IPCDemo 的功能模块有:
- ISP:负责从 Sensor 获取图像 RAW 数据并转为 YUV,最终分 3 路通道输出以上信息。
- IVPS:图像视频处理模块。实现对视频图形进行一分多、Resize、Crop、旋转等功能。
- VENC / JENC:视频/JPEG 编码输出。
- Detect:支持人脸或结构化检测。
- Web 显示:实现 H264 流的 Web 传输和提供 Web 方式查看实时视频。
- RTSP 推流:实现 H264 流的 RTSP 封装以及传输。
- 录像 TF 卡存储:封装 H264 流为 MP4 格式文件并保存至 TF 卡或者 FLASH 空间。
以下视频中的 IPCDemo 软件使用方法请看内置开箱应用。
现公开了源码但还没修改说明,这里就介绍一下软件,细节可看 01 - AX IPCDemo 用户指南.pdf。
产品参数
硬件标注图
核心板参数
项目 | 参数 |
---|---|
CPU | Quad-A7 @ 1.0 Ghz(四核A7) |
NPU | 14.4Tops@int4,3.6Tops@int8 |
ISP | 4K@30fps |
编解码格式 | H.264, H.265 |
视频编码 | 4K@30fps |
视频解码 | 1080P@60fps |
Ethernet | 支持双路RGMII / RMII 接口模式的以太网 |
显示输出 | MIPI DSI 4 Lane,最高支持4K@30FPS |
DRAM | 2GB LPDDR4X 3733Mhz |
存储 | 可选16GB EMMC(默认是 TF 卡启动) |
IO 引出 | DDR4 SODIMM 260P 金手指全 IO 引出 |
底板参数
项目 | 参数 |
---|---|
摄像头输入 | (默认单摄)最高支持 3 摄:1个MIPI4-LANE+2个MIPI2-LANE |
屏幕输出 | 支持最高 4-LANE MIPI DSI 屏幕 |
SD 插槽 | 默认从 SD 卡启动 |
录音输入 | 板载两个 MEMS MIC 支持双麦降噪 |
音频输出 | 3.5MM耳机接口 支持立体声输入和 MIC 输入 |
网络接口 | 支持 千兆以太网(ETH) 和 2.4GHZ WI-FI 板载天线 |
USB 接口 | 1xUSB2.0HS 支持 OTG 或 HOST 功能,1xUSB-UART 系统串口 |
其他资源 | 1x用户按键,3x系统按键,1xRTC时钟,2xLED |
对外接口 | 引出CJTAG,可自行连接相应调试器,引出2x12排针,4个M2.5螺丝定位孔 |
摄像头一览
- 低配 gc4653 400w 基础体验版本。
- 高配 os04a10 400w 夜景增强版本。
其他资源
如果你想分享给更多人,请使用这个资料入口(http://wiki.sipeed.com/m3axpi%EF%BC%89%E5%96%94%E3%80%82
产品社区资源
- AI 服务 http://maixhub.com
- 文档资料 http://wiki.sipeed.com
- 交流社区 http://bbs.sipeed.com
- 开源组织 http://github.com/sipeed
产品售后支持
- AXERA 技术交流群:( 139953715 )专供 AI ISP 技术交流
- 荔枝 MaixPy3 AI 交流群:( 756313869 )给产品开箱小白答疑
一些常见问题(FAQ) Q & A 请到 Maix-III 系列 AXera-Pi 常见问题(FAQ) 了解喔。