diff --git a/.gitignore b/.gitignore index cbfe024e..7b190259 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ temp .qiniu_pythonsdk_hostscache.json *.temp *.mo +.venv \ No newline at end of file diff --git a/docs/hardware/zh/maixIV/assets/aibox_example32ch.png b/docs/hardware/zh/maixIV/assets/aibox_example32ch.png new file mode 100644 index 00000000..27d396cd Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/aibox_example32ch.png differ diff --git a/docs/hardware/zh/maixIV/assets/aibox_pipeline.png b/docs/hardware/zh/maixIV/assets/aibox_pipeline.png new file mode 100644 index 00000000..422ad815 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/aibox_pipeline.png differ diff --git a/docs/hardware/zh/maixIV/assets/balenaetcher_flashing.png b/docs/hardware/zh/maixIV/assets/balenaetcher_flashing.png new file mode 100644 index 00000000..e40f970e Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/balenaetcher_flashing.png differ diff --git a/docs/hardware/zh/maixIV/assets/desktop.jpg b/docs/hardware/zh/maixIV/assets/desktop.jpg new file mode 100644 index 00000000..2e7a85a6 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/desktop.jpg differ diff --git a/docs/hardware/zh/maixIV/assets/dinov2-1.png b/docs/hardware/zh/maixIV/assets/dinov2-1.png new file mode 100644 index 00000000..d269e2e1 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/dinov2-1.png differ diff --git a/docs/hardware/zh/maixIV/assets/dinov2-2.png b/docs/hardware/zh/maixIV/assets/dinov2-2.png new file mode 100644 index 00000000..4652285a Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/dinov2-2.png differ diff --git a/docs/hardware/zh/maixIV/assets/dinov2-3.png b/docs/hardware/zh/maixIV/assets/dinov2-3.png new file mode 100644 index 00000000..456a1d57 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/dinov2-3.png differ diff --git a/docs/hardware/zh/maixIV/assets/pipeline_bin.png b/docs/hardware/zh/maixIV/assets/pipeline_bin.png new file mode 100644 index 00000000..3427bb74 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/pipeline_bin.png differ diff --git a/docs/hardware/zh/maixIV/assets/sam_example_after.png b/docs/hardware/zh/maixIV/assets/sam_example_after.png new file mode 100644 index 00000000..5d387efe Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/sam_example_after.png differ diff --git a/docs/hardware/zh/maixIV/assets/sam_example_before.png b/docs/hardware/zh/maixIV/assets/sam_example_before.png new file mode 100644 index 00000000..41cccf5e Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/sam_example_before.png differ diff --git a/docs/hardware/zh/maixIV/assets/sam_inpaint.jpg b/docs/hardware/zh/maixIV/assets/sam_inpaint.jpg new file mode 100644 index 00000000..0580f155 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/sam_inpaint.jpg differ diff --git a/docs/hardware/zh/maixIV/assets/sam_raw.jpg b/docs/hardware/zh/maixIV/assets/sam_raw.jpg new file mode 100644 index 00000000..e3684cf4 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/sam_raw.jpg differ diff --git a/docs/hardware/zh/maixIV/assets/sam_sam.jpg b/docs/hardware/zh/maixIV/assets/sam_sam.jpg new file mode 100644 index 00000000..675c67ae Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/sam_sam.jpg differ diff --git a/docs/hardware/zh/maixIV/assets/samqt.jpg b/docs/hardware/zh/maixIV/assets/samqt.jpg new file mode 100644 index 00000000..41abd55b Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/samqt.jpg differ diff --git a/docs/hardware/zh/maixIV/assets/top.png b/docs/hardware/zh/maixIV/assets/top.png new file mode 100644 index 00000000..0a398d8b Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/top.png differ diff --git a/docs/hardware/zh/maixIV/assets/uboot_loss.png b/docs/hardware/zh/maixIV/assets/uboot_loss.png new file mode 100644 index 00000000..b060f106 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/uboot_loss.png differ diff --git a/docs/hardware/zh/maixIV/assets/uboot_normal.png b/docs/hardware/zh/maixIV/assets/uboot_normal.png new file mode 100644 index 00000000..f4dcb1ed Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/uboot_normal.png differ diff --git a/docs/hardware/zh/maixIV/assets/uboot_tfcard.png b/docs/hardware/zh/maixIV/assets/uboot_tfcard.png new file mode 100644 index 00000000..59dc3185 Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/uboot_tfcard.png differ diff --git a/docs/hardware/zh/maixIV/assets/yolov5_seg.png b/docs/hardware/zh/maixIV/assets/yolov5_seg.png new file mode 100644 index 00000000..1f67825b Binary files /dev/null and b/docs/hardware/zh/maixIV/assets/yolov5_seg.png differ diff --git a/docs/hardware/zh/maixIV/m4ndock/FAQ.md b/docs/hardware/zh/maixIV/m4ndock/FAQ.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/hardware/zh/maixIV/m4ndock/axmodel-deploy.md b/docs/hardware/zh/maixIV/m4ndock/axmodel-deploy.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/hardware/zh/maixIV/m4ndock/m4ndock.md b/docs/hardware/zh/maixIV/m4ndock/m4ndock.md new file mode 100644 index 00000000..4efdee3c --- /dev/null +++ b/docs/hardware/zh/maixIV/m4ndock/m4ndock.md @@ -0,0 +1,54 @@ +## 产品概述 +M4N-Dock 是 Sipeed 公司推出的端侧混合精度高算力边缘计算盒子,搭载爱芯元智第三代高能效比智能视觉芯片 AX650N,内置 AI 算力 43.2TOPS@INT4 或 10.8TOPS@INT8,可运行当前热门大模型。 + +内置ISP支持 8K@30fps,另有爱芯独家 AI ISP,可实现微光夜视。同时含有 H.264 和 H.265 编解码器,支持单路最大 8K@60fps 解码,8K@30ps 编码,实测可稳定 32 路 1080P@30fps 解码,16 路 1080P@30fps 编码。 + +接口方面,AX650N 支持 64bit LPDDR4x,多路MIPI 输入,千兆 Ethernet、USB3.0 以及 HDMI 2.0b 输出。解码内置高算力和超强编解码能力,满足行业对高性能边缘智能计算的需求。 + +本款NPU性能强大,在仅使用 1/3 算力即 3.6TOPS 时,常用开源 AI 模型表现如下:yolov5s 在 640x640 分辨率图片输入下可达130帧(7.66ms)。mobilenetv2 在 224x224 分辨率图片输入下超达1798帧(0.556ms)。 + +通过内置多种深度学习算法,实现视觉结构化、行为分析、状态检测等应用,高效率支持 Transformer 模型和视觉大模型。提供丰富的开发文档,方便用户进行二次开发。 + +## 功能参数 + +| 设备 | 详细描述 | +| ------- | ----------------------------------------------------------------------------- | +| CPU | 8x A55@1.7Ghz,集成 FPU,支持 NEON 加速 | +| NPU | 43.2 TOPS@INT4 或 10.8TOPS@INT8,支持 INT4/INT8/INT16/FP16/FP32 输入,支持 TopN(N<=32) | +| ISP | 最大支持 8192x4320@30fps,最大分辨率: 16384x16384, 支持 AI ISP(微光夜视) | +| CODEC | 支持 H.264/H.265 编解码,单路最大 8K@60fps 解码和 8K@30ps 编码 | +| DSP | 双核800Mhz | +| RAM | 8G 64bit LPDDR4x,系统内核和 AI CMM 使用占比可调 | +| ROM | 32G eMMC 5.1,系统盘 | +| SSD/HDD | 3x SATA 3.0 6Gb/s,可接 SSD/HDD,一路位于 M.2 接口,两路标准 SATA 接口 | +| 视频输出 | 2x HDMI 2.0a,最大分辨率:4K@60fps | +| 摄像头输入 | 2x 4Lane MIPI-CSI 摄像头,最大支持 3.5Gbps | +| 网络 | 2x 1Gbps 千兆以太网,实测达944Mbps | +| PCIE扩展 | 1x 1Lane PCIE2.0 5Gbps,位于 MINI-PCIE 接口 | +| USB扩展 | 1x USB3.2 Gen1 SS 5Gbps + 3x USB2.0 HS 480Mbps(蓝色远离网口的一个为OTG烧录端口) | +| 外部连接 | 1x RS485 + 1x RS232 | + +## 资源汇总 + +### 硬件相关资料汇总 + +AX650N 芯片规格书:<下载站> + +### 软件开发资料汇总 +软件开发文档:<下载站> +软件开发SDK:https://github.com/AXERA-TECH/ax650n_bsp_sdk + +### AI 开发资料汇总 +AI工具链 +Pulsar2 由爱芯元智自主研发的 ALL-IN-ONE 新一代神经网络编译器 +使用文档:https://pulsar2-docs.readthedocs.io/zh_CN/latest/pulsar2/introduction.html +下载地址:https://pan.baidu.com/s/1Vt73y-2mlGI3daeLbsZxuQ?pwd=dtuh + +模型算子支持列表:https://pulsar2-docs.readthedocs.io/zh_CN/latest/appendix/op_support_list.html + +爱芯 Pipeline 例程:https://github.com/AXERA-TECH/ax-pipeline +已转换模型:<我们放下载站> + + +## 技术支持 +若有特定业务开发需求需要应用层开发文档,或在系统层对内核和根文件系统有特定需求或需要定制开发,请发邮件到support@sipeed.com尝试获取支持。 \ No newline at end of file diff --git a/docs/hardware/zh/maixIV/m4ndock/quick-start.md b/docs/hardware/zh/maixIV/m4ndock/quick-start.md new file mode 100644 index 00000000..c534996b --- /dev/null +++ b/docs/hardware/zh/maixIV/m4ndock/quick-start.md @@ -0,0 +1,113 @@ +## 系统开机与登录 +注意:要求必须通过 12V DC 进行供电,否则仅通过 USB 会出现供电不足进而导致系统不稳定 + +### 开机前准备 +开机前硬件准备: +1. 12V DC 供电电源 +2. HDMI 线缆和显示器 +3. Type-C 线缆(可选:串口调试和登录) +4. RJ45 网络线缆(可选:连接网络及 SSH 登录) + +首次使用请根据您手上版本确认以下状态符合,否则系统无法正常使用 +- 外壳上开关处于已打开状态(有外壳版本) +- Button 丝印处保持跳线帽短接(裸板版本) + +![top](../assets/top.png) + +### 正常开机 +通过 HDMI1 连接显示器并接入 12V DC 供电,等待片刻约 20 多秒后显示器屏幕将会如下显示 LightDM 登录界面,表示系统启动成功。 + +![desktop](../assets/desktop.jpg) + +板载 USB-A 口连接鼠标、键盘,方便后续系统操作和输入。登录界面等待输入用户名和密码,默认都为 root,确认登录即可进入 Debian 桌面系统。 + +### 串口和SSH登录(进阶) +板载 USB Type-C 接口为默认调试串口,波特率相关配置为 **115200 8n1**。 + +用户可通过串口工具打开该串口,以查看内核调试信息,也可在此处通过用户名和密码直接登录系统终端进行命令操作。 + +注意:本系统仅内置 root 超级用户,且考虑到安全性并未开启超级用户 SSH 密码登录。 + +若用户需要使用 SSH 登录 root 用户,推荐使用密钥登录,可以免输密码不仅方便快捷且安全。 + +所需操作如下:通过串口或桌面登录系统后,手动粘贴个人公钥保存到`/root/.ssh/authorized_keys`文件内,该文件不存在可手动创建。更详细过程可搜索 SSH 密钥登录或直接查看该[教程](https://www.runoob.com/w3cnote/set-ssh-login-key.html)。 + + +## 交互式图像分割和修复(Segment and Inpaint Anything) + +交互式图像分割和修复,基于QT的GUI交互界面,实现了交互式点选、框选的实时分割和进一步可选修复,具体效果预览和操作流程如下。 + +![samqt](../assets/samqt.jpg) + +代码由爱芯官方开源于 GITHUB:https://github.com/ZHEQIUSHUI/SAM-ONNX-AX650-CPP 可下载官方预编译版本或按仓库内文档自行编译进行体验,下图是移除照片某球员的效果展示。 + +
+ + +
sam_example_beforesam_example_after
+ +以下是实机操作画面。 + +
+ + + + + + + +
sam_rawsam_samsam_inpaint
RAWSAMInpaint
+ + + +## 32路AI BOX(人车检测) +BoxDemo 是本机搭载的 BOX 产品类的演示应用程序,包括从 ××H264/H.265×× 视频解码,经 AI 全结构化检测,最后经 HDMI 显示的 PIPE 流程。 +`/opt/bin/BoxDemo/run.sh`为启动脚本。需要连接 HDMI0 到显示器,默认数据流是视频文件输入 经AI运算和视频处理后输出到 HDMI0 单显 32 路(6x6 布局,最后4路为无信号窗口)。支持双屏 HDMI (支持同显和异显),此时实际测量整机功耗为不到 7W。 +该应用原理为输入 32 路视频复制为共 64 通道,其中32通道为 472 x 264 分辨率输出 HDMI 缩放拼接供显示,剩余32通道为 1024 x 576 分辨率同步输入加载所选模型的 NPU 进行 AI 分析并将结果按需反馈到前 32 路对应视频流。目前仅使用了 3.6T(三分之一性能)算力轻松覆盖使用, 帧率15到20,瓶颈在于 CPU 的前后处理任务。另可额外再开启编码功能用于本地存储或网络推流。 +如需要修改输入为 RTSP 流,请手动修改`/opt/bin/BoxDemo/box.conf`文件中`streamxx`行为有效 RTSP 地址。 +如需要双屏显示,请手动修改`/opt/bin/BoxDemo/box.conf`文件中DISP1值为1,代表额外输出到 HDMI1。 +视频流示意图如下: + +![aibox_pipeline](../assets/aibox_pipeline.png) + +![aibox_example32ch](../assets/aibox_example32ch.png) + + +## DINO v2 单目深度估计(Depth Estimation) +DINO v2 单目深度估计,仅使用单颗彩色摄像头,使用 Facebook 的 DINO v2 大模型提取多维度视觉特征,并搭配下游模型进行估算场景相对深度 + + +![pipeline_bin](../assets/pipeline_bin.png) + +```bash +cd ~/ax-pipeline/bin + +./sample_multi_demux_ivps_npu_multi_rtsp_hdmi_vo \ + -p ./config/dinov2_depth.json \ + -f ~/boxvideos/13.mp4 +``` +注:可指定其它 H.264 编码的视频文件或者 RTSP 流。 + +基于 Facebook 开源大模型 DINOv2 的深度估计移植效果预览。 + + +
+ + +
dinov2-1dinov2-2
+ +![dinov2-3](../assets/dinov2-3.png) + + + +## YOLOv5 行人检测追踪(Pedestrian Detection,Person re-identification) + +```bash +cd ~/ax-pipeline/bin + +./sample_multi_demux_ivps_npu_multi_rtsp_hdmi_vo \ + -p ./config/yolov5_seg.json \ + -f ~/boxvideos/25.mp4 +``` + +![yolov5_seg](../assets/yolov5_seg.png) diff --git a/docs/hardware/zh/maixIV/m4ndock/system-update.md b/docs/hardware/zh/maixIV/m4ndock/system-update.md new file mode 100644 index 00000000..698cdc32 --- /dev/null +++ b/docs/hardware/zh/maixIV/m4ndock/system-update.md @@ -0,0 +1,47 @@ +M4N-Dock 的板载 eMMC 为默认启动介质,上电和手动复位以及系统内reboot命令都将使其尝试从 eMMC 启动。正常启动打印如下。 +![uboot_normal](../assets/uboot_normal.png) +若 eMMC 内无系统镜像或系统受损则会启动失败,同时串口会有打印如下 VECFCFECFCF,复位则会重复打印该内容。 +![uboot_loss](../assets/uboot_loss.png) +此时从 eMMC 将无法启动,只有在重新烧录后方可正常启动。您可选择通过 TF 卡启动测试再烧录或通过 AXDL 直接烧录。具体操作过程如下。 + +## 通过TF卡启动 +可选启动介质有 USB 和 TF 卡,启动方法是在连接好 USB 线缆或 TF 卡后,保持按下 BOOT 按键时点按一下 RST 按键,即可自动从 USB 或 TF 卡等合法介质进行启动。 + +### 流程简介 +1. 我们会发布标明版本的 TF 卡镜像,选择所需版本下载后,再使用 Win32DiskImager 或 BalenaEtcher 等烧录工具烧录到容量不小于 8G 的 TF 卡内。 +2. 将 TF 卡插入卡槽,并提供 12V 电源。观察 Type-C 口旁边有两按键,请保持按下 BOOT 不放,此时点按 RST 一次后稍等片刻再松开 BOOT。 +3. 此时可见串口打印系统正常启动信息,约 20 多秒后即可进入该 TF 卡系统。 + +### 详细操作 + +Linux 用户可使用如下命令烧录到 TF 卡内 +```bash +xzcat ax650n_231009.img.xz | sudo dd of=/dev/sdx status=progress oflag=direct bs=1G +``` +Windows 用户可使用 BalenaEtcher 烧录 +![balenaetcher_flashing](../assets/balenaetcher_flashing.png) +获得烧录好的 TF 卡后,插入并上电,特定手法按键以从 TF 卡启动,正常应输出如下,稍后即启动完成正常进入系统。 +![uboot_tfcard](../assets/uboot_tfcard.png) + + + +## TF卡系统分区扩容 + +TF 卡第二分区为根文件系统分区,格式为 ext4,默认大小 6GB 左右,除去系统、桌面、内置软件可能剩余不到 3GB。而用户有时需要在 TF 卡系统上进行大文件的处理或者大型软件的测试,此时剩余空间就有些捉襟见肘。这时就需要进行 TF 卡系统分区的无损扩容,前提当然是所使用的 TF 卡实际物理容量空间足够用于扩容所需。 + +扩容不能在已挂载的分区上进行,因此通过 TF 卡启动后,该分区被挂载到根目录,无法本地扩容。因此需要第三方系统进行操作,可从 eMMC 启动系统,再插入 TF 卡进行操作。 + + +## 通过TF卡烧录 +TF 卡内系统即为待更新目标系统,在/root目录下有一脚本文件update.sh,手动执行并等待其完成即可将 TF 卡内系统烧录进 eMMC 内。此方法会格式化 eMMC ,先前的变动将会丢失,仅适用于全盘恢复系统。 + +```bash +/root/update.sh +``` +完成后,HDMI 旁边的两个灯会一直闪烁,用以指示更新完成。 + +建议您将个人数据存于特定分区,或使用外置存储设备如 SSD 进行持久化存储而仅将 eMMC 作为系统盘。请避免使用`/opt`和`/soc`路径,如若不然,请自行确认所有个人数据并备份保存以避免丢失。 + + +## 通过AXDL烧录 +我们后续会提供同版本的 AXP 文件,以供 AXDL 使用。具体操作方法见首页资源汇总软件开发文档压缩包内`AXDL 工具使用指南.pdf`。 \ No newline at end of file diff --git a/docs/hardware/zh/sidebar.yaml b/docs/hardware/zh/sidebar.yaml index e8333077..fcd4a8dc 100644 --- a/docs/hardware/zh/sidebar.yaml +++ b/docs/hardware/zh/sidebar.yaml @@ -109,6 +109,21 @@ items: url: /ai/zh/deploy/ax-pi.html - label: 常见问题(FAQ) file: maixIII/ax-pi/faq_axpi.md +- label: Maix-IV + items: + # - label: Maix M4N + # file: maixIV/m4n/m4n.md + - label: Maix M4N-DOCK + file: maixIV/m4ndock/m4ndock.md + items: + - label: 产品上手指南 + file: maixIV/m4ndock/quick-start.md + - label: 系统烧录指南 + file: maixIV/m4ndock/system-update.md + - label: AI 模型部署 + file: maixIV/m4ndock/axmodel-deploy.md + - label: FAQ + file: maixIV/m4ndock/FAQ.md - label: LicheePi items: - label: LicheePI 4A