前言
前段时间申请了CSK6视觉AI开发套件,心想MCU算力有限不太可能搞定视觉任务,经过简单的试用发现效果很不错,不得不感叹现在芯片发展太快啦。
下面请诸位跟着我的步伐一块儿体验一下吧!
环境搭建
嵌入式的环境配置一直是个“玄学”问题,官方开发了lisa 环境十分友好,一键安装十分省心。
官方推荐Ubuntu,使用Arch Linux需要使用离线包,并自行安装snap 、小小配置一下环境:
sudo pacman -S snapd
sudo ln -s /var/lib/snapd/snap /snap
就可以正常安装官方的snap 包了。
AI视觉功能试用
将官方提供的视觉Demo编译烧写不多赘述,不得不说使用lisa体验十分丝滑,给官方点一个大大的赞。
要提醒各位的是使用webusb 功能记得将usb连接到CSK6 USB ,而不是烧写口,我在这里卡了一会儿才发现是自己疏忽了~
通过webusb 功能连接后,打开提供的工具就可以在浏览器中看到摄像头实时画面了,很意外,帧数能到15fps左右,完全可用呀!
接着翻翻看代码,虽然我没有系统搞过嵌入式,但C语言还是略知一二的,可以看到代码十分清晰:
做业务自然关心识别结果好不好拿,这点完全不必担心了。
简单开发久坐提醒
逻辑很简单,当画面中识别到头肩持续t 秒后,点灯提醒,人走清空计时器同时灯灭。
官方提供的代码已经完成大部分基础功能,我们只需要在里面写业务就行了。
首先我们看看核心逻辑:
为了简单起见没有使用定时器或线程实现,给各位献丑了~
同时因为开发板速度太快了(肯定是好事),我希望降低识别频率,所以在./.sdk/modules/lib/licak/modules/hsd/hsd.c 中事件队列里让开发板多休息一会儿,1秒干一次活儿就够了:
最终效果就不多赘述了,本人从开箱到实现功能外加一点点调试只花了一个小时,作为开发者这个体验是十分舒适且愉快的!
建议
相信各位与我一样,很好奇CSK是如何处理模型能够性能如此优秀的?我能不能把自己的模型也落地一下呢?
目前官方还没有开源他们使用的Tinker 推理框架与Linker 量化框架,期待后续官方能提供更加完整的支持,方便开发者能够从模型设计开始低成本体验一把“从实验室到工业节”的完整开发流程。
原作者:Yves Wong
|