利用边缘计算打造便携式人工智能解决方案,面向开发者的视觉识别项目!
自制视觉识别系统
我们将深入探究一套堪称绝妙的软硬件组合,以助力开发者轻松构建便携式、高效的视觉识别装置。需要哪些部件呢?那就是 Khadas VIM4 开发板、IMX415 摄像头以及 TS050 触摸屏。
可以把它想象成人工智能开发领域的瑞士军刀 —— 非常适合那些需要灵活性、便携性以及高性能的项目。无论是在固定的实验室环境中测试,还是在动态环境里进行测试,该系统都能提供从快速迭代到移动监控等全方位的功能支持。
面向开发者的视觉识别
随着人工智能和计算机视觉飞速发展,视觉识别作为一项核心应用已迅速闯入主流行业。从分析图像和视频流到实时识别物体或事件,这项技术在安防、交通、自动化以及医疗保健等领域都有着强大影响力。自动化检测、智能监控以及自动驾驶车辆不过是冰山一角,对强大的视觉识别系统的需求正急剧增长。
如今,开发者利用视觉识别技术来执行人脸识别、车牌识别以及物体检测等任务。这些应用已经突破传统行业的范畴,延伸到了智能零售和智能家居领域,这证明了这项技术将会持续存在。然而,对于开发者来说,最大的挑战在于高效且可扩展地构建这些系统。
边缘计算平台应运而生 —— 它是实现超快速、低延迟视觉识别的秘诀所在。通过在本地处理数据,边缘计算大幅削减了传输延迟,实现了实时响应,并提高了计算效率。对于那些分秒必争的应用场景而言,边缘计算是一项变革性的技术。
边缘计算助力视觉识别的原因:
实时响应
数据在本地处理,消除了与云服务相关的延迟问题。
减少带宽使用
仅传输已处理的数据,降低了带宽开销。
高可靠性
本地处理意味着无需依赖外部服务器,从而打造出更稳定的系统。
这些优势使得边缘计算平台对于视觉识别项目来说不可或缺。开发者能够获得一个紧凑且功能强大的硬件系统,可用于图像采集、人工智能算法执行以及结果输出。
需要准备的物品
硬件
- Khadas VIM4 单板计算机 :配备具备 3.2 万亿次每秒(TOPS)算力的神经网络处理器(NPU),为人工智能运算提供强大动力。
- Khadas IMX415 摄像头 :像素为 800 万,具备自动对焦功能,配有 800 万像素的广角镜头、自动对焦功能,且搭载索尼传感器。
- Khadas TS050 触摸屏 :屏幕尺寸为 5 英寸,分辨率为 1920×1080,支持多点触控。
- 3D 打印外壳 :一个紧凑的框架,能够稳固地容纳所有组件。
软件
- RetinaFace :一款开源的高精度人脸识别应用程序。
其他配件
- 新型 VIM 散热片(推荐使用) :用于在 VIM4 运行时散发其产生的热量。
- 3705 散热风扇(推荐使用) :超静音风扇,用于对散热片进行强制对流散热。
- 被动式 VIM 散热片(可选) :用于实现整个装置的无噪音运行。
- USB 键盘(可选) :用于向 VIM4 输入终端命令。
步骤 1:开始组装!
得益于模块化的设计方式,搭建你的视觉识别系统易如反掌。
为了方便地将硬件组件组合成一个紧凑的整体,我们设计了一款特殊的3D 打印外壳,它能够完美地整合 VIM4、IMX415 摄像头、TS050显示屏以及其他组件。通过这种方式,用户不仅可以在不同地点快速部署该系统,还能确保组件连接稳定以及良好的散热效果。更为重要的是,这样的设计确保了系统的便携性,使其适用于包括移动监控等各类应用场景。
下载 3D CAD 文件
提示:你可以根据自己的需求选择其他摄像头或屏幕;不过,你需要相应地修改 3D 打印的 CAD 文件。
获取我们提供的 CAD 文件来进行 3D 打印,打造出一个造型美观的外壳,然后按照我们的教程来组装各个组件。
设备连接教程
1、将屏幕装入外壳(你可以撕开胶带以便实现永久固定)。
2、用两颗 M2×5 的螺丝将摄像头固定到外壳上。
3、通过柔性扁平电缆(FPC)将屏幕和摄像头连接到 VIM4 上。
4、用四颗 M2×5 的螺丝将 VIM4 固定到外壳内。5、使用三颗 M2×8 的自攻螺丝将后盖安装到外壳上,实现牢固固定。
最终成果如何呢?你将得到一个紧凑、便于携带且能在任何地方轻松部署的装置。
步骤 2:软件的神奇作用
硬件已经安装完毕,现在是时候利用软件让整个系统 “活” 起来了。Khadas VIM4 可在本地运行人工智能算法,绕过云端,以此确保实现闪电般快速的性能表现。
操作系统安装
启动进入 OOWOW(Khadas 开发板的启动引导程序),并在 VIM4 的嵌入式多媒体卡(eMMC)上安装 Ubuntu 操作系统,以获得稳定的操作系统环境。
启用摄像头
IMX415 摄像头默认处于禁用状态。你需要通过配置 overlay.env 文件来启用它,具体操作如下:
1、编辑文件 /boot/dtb/amlogic/kvim4n.dtb.overlay.env,并将 “vim4n-imx415” 添加到 “fdt_overlays” 节点:
$ cat /boot/dtb/amlogic/kvim4n.dtb.overlay.env
fdt_overlays=vim4n-imx415
$
注意:你需要有超级用户(sudo)权限才能编辑 /boot/dtb/amlogic/kvim4n.dtb.overlay.env 这个文件。
2、添加该节点后,保存更改内容,然后重启系统。
$ sync
$ sudo reboot
步骤 3:优化设置
将显示屏设置为横向显示
由于 3D 打印外壳是按照横向使用来设计的,你需要将 Ubuntu 系统设置为以横向模式输出桌面:
-
登录系统,账号和密码如下:
用户名:khadas(全小写)
密码:khadas(全小写)
-
将显示屏设置为横向模式:打开 “设置”>“显示器”> 选择 “缩放比例 100%”> 选择 “方向” 为 “纵向(右)”> 选择 “应用”。
再次将显示屏设置为横向模式:打开 “设置”>“显示器”> 选择 “缩放比例 100%”> 选择 “方向” 为 “纵向(右)”> 选择 “应用”。
-
点击 “保留更改”。
设置屏幕常亮
打开 “设置”>“电源”>“屏幕空白” 选项,然后选择 “从不”。
将屏幕设置为始终开启状态
打开 “设置”>“电源”>“屏幕关闭” 选项,然后选择 “从不”。
步骤 4:运行 RetinaFace
操作说明
使用 RetinaFace 人脸检测应用程序,我们将从 IMX415 摄像头收集数据,然后利用神经网络处理器(NPU)来执行人脸检测。该应用程序会识别面部的关键点,随后将它们实时显示在 TS050 触摸屏上。
下载源代码
按以下方式将神经网络处理器(NPU)应用程序代码(RetinaFace)下载到指定目录(比如~/code 目录):
$ mkdir ~/code
$ cd ~/code
$ wget https://dl.khadas.com/development/retinaface_cap.tgz
$ tar xvzf retinaface_cap.tgz
编译源代码
在编译之前,你需要按以下方式安装必要的软件包:
$ sudo apt update
$ sudo apt install -y libopencv-dev python3-opencv cmake
在安装完依赖包后,进入应用程序的源代码目录,并使用以下命令进行编译:
$ cd retinaface_cap
$ mkdir build && cd build
$ cmake../
$ make -j4
$ ls retinaface
retinaface
运行应用程序
进入构建目录(即~/code/retinaface_cap/build),并按如下方式运行演示程序:
$ cd ~/code/retinaface_cap/build
$./retinaface -m../data/retinaface_int8.adla -t mipi -h 1080 -w 1920
成功执行该应用程序后,你就能看到人脸检测的画面,如下所示:
退出应用程序
长按应用程序图标,然后选择 “退出” 选项来关闭应用程序。
提示:本教程仅以 RetinaFace 应用程序为例,展示众多神经网络处理器(NPU)应用中的一种。如需了解更多关于神经网络处理器(NPU)使用的思路,请参考 Khadas 官方文档。
- VIM3 神经网络处理器(NPU)使用方法
- VIM4 神经网络处理器(NPU)使用方法
- Edge2 神经网络处理器(NPU)使用方法
总结
恭喜!你刚刚构建了一个便携式的、基于边缘计算的视觉识别系统,它可比传统的设置先进了许多。借助像 VIM4 及其模块化组件这样的工具,开发者可以重新构想安防、医疗保健等诸多领域的实时应用。
边缘计算是视觉识别的未来发展方向,它能实现超快速的处理以及可靠的性能表现。无论是移动监控、人工智能测试还是智能产业部署,这个装置都是你打造下一个重大项目的入门之选。
文章来源:https://www.hackster.io/Khadas_Team/using-edge-computing-to-create-portable-ai-solutions-d2fb6c