2683|16

400

帖子

9

TA的资源

纯净的硅(初级)

楼主
 

嘉楠K510开发板的AI应用 [复制链接]

 
  本帖最后由 tobot 于 2022-12-2 01:00 编辑

现在AI已经非常普及了,所谓AI板卡也挺多的,仅就我的理解说一下:

一、AI的实现载体

       说起AI的实现,挺有意思的,今年软考高级就有这么一道题目,AI可以用____实现,选项呢,有ASIC、FPGA、GPU、SoC,大家也知道软考这玩意是从来不公布标准答案的,一般辅导机构都说是排除SoC,我个人觉得这个题目不太严谨,树莓派不就是典型的SoC么,难道说树莓派上不能跑AI了?无独有偶,罗姆微网站上公布的设备端AI芯片为GPU/FPGA/MCU,把ASIC(专用芯片)排除在外了,这个好像也不太对,寒武纪、地平线不都是说投入巨资来做ASIC么?

二、AI能做什么

       AI说起来很玄幻,但真的已经深入到生活的方方面面了,大家手机上一般都有语音拨号、智能导航等等,实际上就是AI的基本应用了。当然某些过于浮躁的业余开发者(比如我)比较倾向于开发图像相关的应用,比如物体分类或者物体识别。

比如我现在测评的嘉楠K510提供了最近比较流行的AI画图功能,把人物用动画效果呈现出来(只有视频的应用演示——没有提供Demo,甚憾)。

 

当然,这个技术也可以用来搞笑,比如我在网上看到的:

 

 

 

这是虚拟超级赛亚人吧?(感觉不难实现,花点时间应该也能搞出来)。

 

 

三、AI的实现

       言归正传,AI这玩意说简单也挺简单,说穿了就是根据规则做判断,比如我们都知道“扁担长,板凳宽”,只需要识别一个长方形的长宽比,就可以判断它是扁担是板凳了,但具体多长多宽是扁担,多宽多长是板凳呢?这就需要经验了。

事实上,AI也是这么干的:“训练”和“推理”。

       训练就是将大量数据喂给AI,使其分析和记录下其中的特点,要是问我怎么分析和记录,除了几个专业一点的词语“卷积”、“残差”,可能还有点印象,其它的我大概都还给老师了。先不管原理吧,我在稍后一点会讲讲怎么操作的。

       推理就是AI的具体应用了,大多数专用芯片都是只有推理而不具有训练功能的,这也是我们在使用开发板上一般做AI应用常做的事情。比如我们开发一个智能摄像头,可能并不会用大量图片去喂给它,让它去“学习”,而是直接让它调用现成的模型,实现比如“报迎客词”、“自动开锁”等功能。

四、为什么选择python

       基本上提到AI,必然会说使用python实现。事实上,python作为一个解释性的语言,效率并不高(甚至可以说低的发指),但门槛也低,大部分的轮子都有人已经造好了,借助现有的库,基本上不需要自己去写底层的复杂代码,我尝试过,大概只需要半天时间就可以教会中高年级的小学生用python做一个不算太复杂的程序出来(包括简单网站、爬虫、海龟画图等等)。

       介绍一下我常用的和AI相关的常用库吧:

       Opencv:不管是摄像头采集还是视频调用,opencv肯定是首选的。

       NumPy、SciPy、Pandas:数学计算库,看哪个顺眼就用哪个,感觉比自带math好用。

Matplotlib、Pygraphviz、Pillow:画图工具,Matplotlib用来将矩阵转成图形,Pygraphviz用来画流程图,Pillow做图形缩放等等。

Pillow:图像处理库

Keras:为python提供了高层神经网络的API接口,基于keras可以调用很多现成的模型,比如调用TensorFlow。

PyTorch:深度学习框架。

NLTK:自然语言库。

Pytesseract:文字识别。

四、实操——用TensorFlow识别图片(分类)

1)训练

链接在https://bbs.eeworld.com.cn/thread-1227155-1-1.html

2)推理

五、将推理移植到开发板

1)SDK介绍

2)模型转换

3)模型调用

六、借助开发板的推理再进行二次开发

1)

       首先介绍一些我已经做好的一个例子吧——追逐苹果的大鸟,用浏览器打开,里面有一只鸟和一个苹果,把K510的摄像头对准屏幕,鸟就开始向苹果飞行,可以用鼠标拖动苹果,鸟的飞行方向也会随之发生改变。

 

通过python读取板卡上object_detect_demo的结果,分析两个物体的相对位置,提供给程序,GUI接口使用的是python的flask库,提前做好网页模板,预留鸟飞行方向的接口,实现起来挺简单的,稍晚一点我录一下和代码传过来。

2)

       Face-3D,这个是嘉楠给了视频演示,但没有真的给demo的一个应用,我正在研究。在开发板中,分别调用人物脸部关键点、头部的方向等参数,再通过贴图生成一张动画人脸。勉强刚做了一个可以调整方位角的功能,表情什么的还没成功。

具体如何通过3DMM生成人脸,可以参考《Regressing Robust and Discriminative 3D Morphable Models with a very Deep Neural Network》这篇论文,有现成库可以利用的。。。

 

最新回复

非常好,内容很详细,图文并茂,学习了。!!!!!!!  详情 回复 发表于 2023-11-29 20:58
点赞(1) 关注
 
 

回复
举报

400

帖子

9

TA的资源

纯净的硅(初级)

沙发
 

四和五太长了,还没写,稍晚一点单开帖子写,写好以后,会把链接补进来。

 
 
 

回复

7175

帖子

2

TA的资源

版主

板凳
 

哈哈,你这个游戏不错。【K510的摄像头对准屏幕,鸟就开始向苹果飞行,可以用鼠标拖动苹果,鸟的飞行方向也会随之发生改变】等于就是识别苹果和鸟的相对位置,等于识别苹果和鸟呗~

 
 
 

回复

7175

帖子

2

TA的资源

版主

4
 

那个3D人脸是通过什么画出来的?3DMM?在K510上可以调用3DMM?

点评

理论上应该可以吧,我是在k510上取数据,电脑上画3D的。  详情 回复 发表于 2022-12-2 00:07
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

5
 
wangerxian 发表于 2022-11-29 17:41 那个3D人脸是通过什么画出来的?3DMM?在K510上可以调用3DMM?

理论上应该可以吧,我是在k510上取数据,电脑上画3D的。

 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

6
 
K510比K210高级多少啊?手里有一块K210一直没玩。

点评

算力大幅度提升,我手边的k210是已经烧好的二哈识图,没舍得重新改写,所以也不好比较。我只能说k210识图的效果真的很渣。。。  详情 回复 发表于 2022-12-2 00:57
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

7
 
Honghuzaitian 发表于 2022-12-2 00:34 K510比K210高级多少啊?手里有一块K210一直没玩。

算力大幅度提升,我手边的k210是已经烧好的二哈识图,没舍得重新改写,所以也不好比较。我只能说k210识图的效果真的很渣。。。

点评

这个板子能不能用来采人脸数据啊?人脸识别效果怎么样?  详情 回复 发表于 2022-12-3 18:15
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

8
 

4.1总算写完了,链接是

https://bbs.eeworld.com.cn/thread-1227155-1-1.html

 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

9
 
tobot 发表于 2022-12-2 00:57 算力大幅度提升,我手边的k210是已经烧好的二哈识图,没舍得重新改写,所以也不好比较。我只能说k210识图 ...

这个板子能不能用来采人脸数据啊?人脸识别效果怎么样?

点评

采集肯定可以,用已经训练好的模型做分类或者识别肯定也可以。但是否能用来训练就不一定了,另外我在k510板子上使用python,但opencv一直不能在python里面调用,所以暂时也不确定实时训练(人脸录入)是否可行。  详情 回复 发表于 2022-12-3 18:34
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

10
 
Honghuzaitian 发表于 2022-12-3 18:15 这个板子能不能用来采人脸数据啊?人脸识别效果怎么样?

采集肯定可以,用已经训练好的模型做分类或者识别肯定也可以。但是否能用来训练就不一定了,另外我在k510板子上使用python,但opencv一直不能在python里面调用,所以暂时也不确定实时训练(人脸录入)是否可行。

点评

所以现在做的识别都是分类是吗?比如识别是某种物体,但是不能精确到同类物体的区分  详情 回复 发表于 2022-12-4 12:00
 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

11
 

所以现在做的识别都是分类是吗?比如识别是某种物体,但是不能精确到同类物体的区分

点评

是的,如果同类物体的区分(比如狗和狼)需要更大的数据量支撑,我不认为用笔记本训练的精度能有那么高,现在能区分橙子和香蕉已经不错了。。。  详情 回复 发表于 2022-12-4 19:45
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

12
 
Honghuzaitian 发表于 2022-12-4 12:00 所以现在做的识别都是分类是吗?比如识别是某种物体,但是不能精确到同类物体的区分

是的,如果同类物体的区分(比如狗和狼)需要更大的数据量支撑,我不认为用笔记本训练的精度能有那么高,现在能区分橙子和香蕉已经不错了。。。

点评

那这个板子是不是没办法做那种人脸签到的方案了,只能说大场景下识别一个大概物体  详情 回复 发表于 2022-12-5 09:26
 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

13
 
tobot 发表于 2022-12-4 19:45 是的,如果同类物体的区分(比如狗和狼)需要更大的数据量支撑,我不认为用笔记本训练的精度能有那么高, ...

那这个板子是不是没办法做那种人脸签到的方案了,只能说大场景下识别一个大概物体

点评

期待你有更多的作品发出来,这样可以跟着学习一下  详情 回复 发表于 2022-12-6 10:41
应该是可以的,看视频有个专门人脸识别的例子,但是我还没跑通  详情 回复 发表于 2022-12-5 22:12
 
 
 

回复

400

帖子

9

TA的资源

纯净的硅(初级)

14
 
Honghuzaitian 发表于 2022-12-5 09:26 那这个板子是不是没办法做那种人脸签到的方案了,只能说大场景下识别一个大概物体

应该是可以的,看视频有个专门人脸识别的例子,但是我还没跑通

 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

15
 
Honghuzaitian 发表于 2022-12-5 09:26 那这个板子是不是没办法做那种人脸签到的方案了,只能说大场景下识别一个大概物体

期待你有更多的作品发出来,这样可以跟着学习一下

 
 
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

16
 

这个可以玩AI还是挺利害的

 
 
 

回复

419

帖子

0

TA的资源

纯净的硅(中级)

17
 
非常好,内容很详细,图文并茂,学习了。!!!!!!!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表