从功能上来说,你这个应用非常适合采用深度学习,事实上,深度学习本质上就是用来做分类识别的,尤其是针对零件与零件之间,图像上差异比较小的时候(比如你需要自动分拣A,B,C三种零件,但其形状差别很小),更加适合用深度学习。

不过深度学习也存在它的问题:

训练的样本要足够大,具体多大合适,要看你对图像区分度的要求。如果样本不是很充分的情况下,比如数千张或更少,其实也可以考虑用传统方式,比如SVM。我用传统方式做过宝马车标,安全帽等的识别,准确度相当高了,尤其是车标识别,接近100%准确,而我只用了不到100张做训练,而且无论算法还是模型库都不大,很适合做嵌入式,而且可以做到实时。

对深度学习而言,速度/性能是个很大的问题,不知道题主的机器性能如何,以及对应的图片分辨率,是否要实时处理?我估计题主应该是那种实时高清识别,而且有可能是嵌入式设备,我们姑且认为视频是直接从本机采集,不需要做解码,即便如此,基于深度学习的运算量也是很高的,尤其是resnet这种,一般而言,层数越多越精准,运算量也会越高。高清情况下(机器视觉应用一般会1080P或更高),我个人认为单张图片的识别时间会超过1秒,很难做实时。有朋友在256核的TX1上测试过标清的FAST RCNN,单张处理时间为0.6秒左右,我本人测试过googlenet,在一台阿里云E5的机器上(无GPU),识别一张720p的图片,估计约0.3 - 0.5秒左右(我的应用需要考虑网络传输的时间,没打log,只是通过返回结果大致估计)。无论哪种情况,离每秒25帧的实时要求都差得太远。

结论:

嵌入式设备,个人不建议用深度学习,除非你能将密集运算部分移植到FPGA上,否则性能会是个很大的问题。

高清和实时的应用,一般而言也不建议用深度学习,理由同上。

对于区分度要求很高(种类很多,很相近),非实时的应用,基于后端或云端的业务,有足够的运算资源。特别适合用深度学习。

能解决问题才是王道,传统方式未必不可以。

强烈建议题主关注一下,深度学习领域芯片相关技术的进展,比如谷歌的TPU,国内的寒武纪,以及轻量级框架mxnet等。

举一个具体的实例:

深度学习应用于工业机械臂的控制,这也是 Industry 4.0 的发展方向。

将深度学习算法应用到工业机器人上,拿来做商品或者零件分拣,大概可以分为「分类」和「捡起」两步:

(1) 对商品或者零件进行「分类」

这个步骤非常适合使用深度学习,因为深度学习本质上就是用来做分类识别的。

(2) 将商品或者零件「成功捡起」

对于单个商品或者零件,要想将其成功捡起,关键是选择合适的把持位置,通俗的将,就是机器人夹零件的哪个地方,可以使零件不下滑,从而成功地被捡起来。比较典型的算法,一个是採用两阶段的深度学习算法,第一阶段通过小型的Neural Network,检测出数个可以把持的位置,第二阶段採用大型的Neural Network,对第一阶段得到的各个把持位置候选进行评估,选择最终的一个把持位置。这种算法的成功率大概能达到65%。

(上图显示了第一个阶段得到多个候选把持位置,第二阶段得到最终把持位置)

另一个是结合了深度学习和Heterogeneous Learning,将把持位置的信息(width, height, x, y, θ)以及把持该位置时成功捡起零件的成功率“Graspability”用来训练模型,模型如下:

下图表示的是把持位置的信息(width, height, x, y, θ)的定义,以及各把持位置对应的Graspability Label。

下图是Positive和Negetive教师信号的例子。

下图是得到的最终把持位置,可以达到85%左右的成功率。

对于多个商品和零件堆积在一起的情形,除了把持位置的选择,还需要选择合适的抓取顺序,即先抓取哪一个零件,后抓取哪一个零件,这时可以採用Reinforcement Learning算法,最终可以达到约90%的成功率,和熟练工人的水平相当。当然,要将这些成果大规模应用到工业流水线上,还需要考虑到正确率要求更高(一般是99.9%),以及速度要求更快等,目前许多改进就是围绕满足这两点指标来进行的。

深度学习机器臂控制_人工智能深度学习算法在工业机械臂上的应用相关推荐

  1. 深度学习机器臂控制_基于深度强化学习的机器人手臂控制

    基于深度强化学习的机器人手臂控制 杨淑珍 ; 韩建宇 ; 梁盼 ; 古彭 ; 杨发展 ; 吕萍丽 [期刊名称] <福建电脑> [年 ( 卷 ), 期] 2019(035)001 [摘要] ...

  2. 判断深度学习模型的稳定性_人工智能干货|一线工程师带你学习深度学习模型量化理论+实践...

    2019年的最后一天,送给自己一份特殊的礼物. 模型量化作为一种能够有效减少模型大小,加速深度学习推理的优化技术,已经得到了学术界和工业界的广泛研究和应用.模型量化有 8/4/2/1 bit等,本文主 ...

  3. 深度学习模型建立过程_所有深度学习都是统计模型的建立

    深度学习模型建立过程 Deep learning is often used to make predictions for data driven analysis. But what are th ...

  4. 跑深度模型的显卡_2020年人工智能深度学习 GPU 解决方案推荐

    纵观人类几百年来的科技发展史,几乎所有的新兴学科的发展背后都有两个字--"烧钱"! 作为近年来最火热的行业--人工智能,在烧钱方面同样不遑多让.众所周知,人工智能的训练和推理都需要 ...

  5. ai生成图片是什么技术_人工智能如何学习生成猫的图片

    ai生成图片是什么技术 by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 人工智能如何学习生成猫的图片 (How AI can learn to genera ...

  6. 人工智能ai 学习_人工智能中学习代理的要素

    人工智能ai 学习 As already discussed, the Learning agents have the capability to improve their knowledge b ...

  7. 人工智能python编程具体做什么_人工智能主要学习什么编程?

    展开全部 人工智能主要学习Python相关的编程.Python是一种解释型脚本语言,可以应用于人工智能.32313133353236313431303231363533e59b9ee7ad943133 ...

  8. python 机械臂控制_从零开始的ROS四轴机械臂控制-gazebo仿真控制

    这是一个四轴器械臂练手项目,定为arm0.1版本,使用MG90s舵机来搭建一个四轴机械臂.arm0.1版本的目标是对带颜色的方块进行识别并在Gazebo中模拟出来. 以下是这个ROS四轴机械臂控制的目 ...

  9. 人工智能算法_人工智能的灵魂——算法

    人工智能有三驾马车:数据.算法.算力.本文重点介绍算法相关的知识. 本文将介绍算法在人工智能里的概念,算法的4个特征.6个通用方法.以及在选择算法时需要注意的3个点. 什么是算法? 简单的说,算法就是 ...

最新文章

  1. 技术12期:如何设计rowkey使hbase更快更好用【大数据-全解析】
  2. Cesium 中两种添加 model 方法的区别
  3. 跟我一起写 Makefile(一)【转】
  4. 使用SAP C4C的OData服务的deep insert操作创建Lead
  5. 云小课 | 到底什么是区块链?
  6. 从0开始学golang--1--部署本地服务器
  7. 从mysql数据库读取Blob_读取数据库Blob类型的文本数据
  8. Oracle转义符处理
  9. Access中的SELECT @@IDENTITY
  10. extjs实现组织架构图_如何画好一张架构图?(内含知识图谱)
  11. Vue模板 script部分
  12. classNotFound异常的一个原因
  13. 用于转化的XML样式表语言
  14. kuangbin 简单搜索 A 棋盘问题
  15. chromecast 协议_如何更改您的Chromecast的设备名称
  16. 好程序员大数据培训之Hadoop常见问题
  17. mysql 内置函数大全 mysql内置函数大全
  18. 微信小程序毕业设计 基于微信校园二手交易信息小程序系统开题报告
  19. 写字楼如何实现无线wifi短信验证登录?
  20. 《读九章算术学Python》如何用Python编程实现盈不足术?附图解分析、代码实现和习题解答

热门文章

  1. 奥特曼系列ol光元在哪个服务器,奥特曼系列OL无限光元版
  2. 轻松实现手机APP的PLC远程监控
  3. IDEA包的显示格式
  4. 五子棋的实现“慕课网五子连珠的笔记”
  5. 嵩天《Python数据分析与展示》实例4:引力波的绘制
  6. 中国医用全脸面膜行业市场供需与战略研究报告
  7. 关于无限级理解,及其树形结构
  8. 基于Php健身房会员系统
  9. 【Spring】bean 相关配置
  10. 悟空帮你理解https