内容介绍
视频
市场情况
自从1956年的达特茅斯会议上提出了人工智能,经过半个多世纪,人工智能的发展进入了加速阶段。从虚拟助手到自动驾驶车辆,到自动化工厂设备,以及消费电子设备中的语音识别。最平常的衣食住行、临床医疗、社会治理都有人工智能辅助工作。
相比于大厂推出的高性能高算力的大型人工智能模型,边缘人工智能(Edge AI)开始成为人工智能发展一个令人瞩目的方向。以往大多数尖端的人工智能流程都是在云上执行的,因为它们需要大量的计算能力。但随着数据的增长,对本地数据进行智能计算和处理的需求变得更加迫切,也就是边缘人工智能,它指的是边缘计算与人工智能的结合。
边缘计算的特点就是系统并不连接到云计算平台,而是在内部部署设备上运行,这些设备可能是专用边缘计算服务器或物联网(IoT)设备。边缘计算的一个优势就是它贴近用户和具体的使用场景,无需考虑网络质量和带宽等因素,特别适合物联网或智能家居应用。
想象一下,下班回家时安全系统开启识别功能,电子门锁自动开门,走进厨房询问冰箱晚餐的安排,冰箱会根据这几天菜品的消耗情况结合以往你饮食的偏好自动做出推荐。
当你在镜子前整理形象的时候,通过分析皮肤颜色变化结合脚下体重秤的数值变化分析健康状况,提醒你少熬夜合理饮食,并提出膳食计划。
上面两个都是典型的嵌入式场景,以往这样的嵌入式芯片基本不具备智能计算和分析能力,而ADI推出的针对人工智能处理器芯片MAX78000,是针对人工智能算法做了特殊加速设计的芯片。MAX78000的核心:神经网络加速器,具有强大的图像识别能力,可以在几毫秒之内识别面部特征。它拥有超低功耗和高性能的特点,极高的算力功耗比,即使是电池供电的场景也可执行AI推理,适用于各种嵌入式AI应用场景,例如语音和图像识别、运动检测等等。极低的功耗配上高性能的计算能够延长设备的电池寿命,会有更高的实用性。
产品特点
MAX78000是一颗具有超低功耗卷积神经网络加速器的人工智能微控制器,集成了加速器,对于神经网络运算具有超高的性能和能效比。在边缘设备上可以实现深度学习推理加速。同时具有超低功耗技术,可以在极低的功耗下实现高性能的AI计算,从而延长嵌入式设备的电池寿命。并且搭载了多种接口,包括摄像头、I2C、SPI、GPIO等,方便开发者与外部设备进行连接和交互。
本次评测的是MAX78000FTHR开发板,集成了 MAX78000、微型 VGA 摄像头、数字麦克风、立体声音频 ,I/O,SD卡槽等功能的一款适合用于深度学习AI芯片开发的评估板。
MAX78000FTHR提供了完整的软件开发工具链,包括集成开发环境、深度学习模型转换工具等,方便开发者进行软件开发和测试。综上所述,MAX78000FTHR具有高性能、低功耗、多种接口、硬件加速器以及丰富的软件支持等特点,适用于各种嵌入式AI应用场景,如智能家居、智能穿戴、智能监控等。
硬件框图:
主要特征:
设计体验
硬禾与ADI联合举办了《基于MAX78000的智能边缘应用设计大赛》,在本次比赛中产生了大量优秀的作品,可以点击链接查看项目详情,并获取相关开源资料。
在本次评测中,很荣幸邀请到大赛一等奖获奖者——氢化脱氯次氯酸同学,来分享他所设计的AI宝可梦图鉴,以下内容节选自《MAX78000-AI宝可梦图鉴》。
项目设计思路:
“宝可梦图鉴”有两大功能:宝可梦识别和浏览,灵感分别来源于动画和游戏中的宝可梦图鉴。宝可梦识别为主要功能,它的工作流程包含宝可梦图像采集、宝可梦识别和识别结果展示三大部分。图像采集方面,由于MAX78000开发板带有一个摄像头,因此可以将摄像头拍摄到的图片作为输入,传给识别模块。识别模块利用预训练的神经网络对输入图像进行处理,生成分类结果。最后的识别结果将展示在LCD屏幕上,同时还会显示SD卡中储存的宝可梦相关信息,以模拟图鉴的功能。宝可梦浏览为图鉴的次要功能,即从SD卡中读取所有宝可梦的信息并依次展示。
此外为了提升项目的可复现性,SD卡和LCD屏幕均为可选模块,只使用MAX78000开发板的板载摄像头也可以完成宝可梦的识别,识别结果将通过串口发送至电脑。
图:作品实物展示
效果展示:
开发板通电后,首先显示开机界面,按下SW1进入识别模式,按下SW2进入浏览模式,浏览模式必须插入SD卡。
图:开机界面
1.识别模式:
开始识别前,屏幕会持续显示摄像头拍摄的内容,按下SW1拍照。
图:显示摄像头实时画面
拍照后,MAX78000将照片送入卷积网络,得到分类结果,并读取SD卡的宝可梦信息和缩略图并显示在屏幕上。
如下图所示,左上显示摄像头拍摄的照片,坐下显示识别结果宝可梦的缩略图,右侧为宝可梦的信息,从上至下依次为宝可梦名称、图鉴编号、第一属性、第二属性、身高、体重、网络识别结果Top5宝可梦名称及概率。
图:识别结果显示(显示屏)
同时串口也会输出识别结果和相关信息,如下图所示。
图:识别结果显示(显示屏)
如果没有插入SD卡,仍然可以进行识别,不过不会显示宝可梦的缩略图和身高、体重、属性信息,如下图所示。
图:识别结果显示(未插入SD卡)
按下SW1即可继续进行拍摄,按下SW2则以下一个编号的宝可梦进入浏览模式。
2.浏览模式:
在开机或识别完成后按下SW2且插入SD卡即可进入浏览模式。当开机后按下SW2时,则从图鉴编号#001开始浏览;当从识别模式进入浏览模式时,从被识别宝可梦下一个图鉴编号的宝可梦开始浏览。每按下一次SW2即可让图鉴编号+1,一共有152只宝可梦可以浏览(#001妙蛙种子-#151梦幻+阿罗拉穿山王)。注:识别模式只能识别150种宝可梦,数据集未收录尼多兰(Nidoran♀)和尼多朗(Nidoran♂)的图片,可能是因为它们的英文名是一样的,只差了一个性别符号。
图:浏览模式显示
项目实现过程:
图:宝可梦图鉴项目开发流程
训练素材收集:
本部分涵盖素材来源以及数据集生成,以及模型训练等,具体内容可参考氢化脱氯次氯酸同学的原项目《MAX78000-AI宝可梦图鉴》,项目页面涵盖演示视频,以及训练代码等,感兴趣的同学们可以下载相关资源进行练习。
优势&局限
经过MAX78000的智能边缘应用设计大赛的小伙伴们验证,MAX78000FTHR开发板的优缺点如下,希望给大家一个参考。
优点:
- 是一个功能齐全的嵌入式AI开发板,是嵌入式和AI爱好者福音
- 官方SDK接近底层,更好地理解底层运作的原理,满足定制化需求
- 官方资源、例程丰富,开发上手较为容易
局限:
- 计算资源略微紧张,不能支持较大的模型