[IT技术] 现在做计算机视觉的人全都在做深度学习吗?还有做传统算法的吗?

[复制链接]
zhenghuifu 发表于 2023-10-4 20:04:49|来自:北京 | 显示全部楼层 |阅读模式
现在做计算机视觉的人全都在做深度学习吗?还有做传统算法的吗?
全部回复5 显示全部楼层
a2973 发表于 2023-10-4 20:05:27|来自:北京 | 显示全部楼层
近日,来自麻省理工学院、加州大学伯克利分校、伊利诺伊大学香槟分校、华盛顿大学、帝国理工学院的六名顶级人工智能科学家、计算机视觉科学家在 ICCV 大会期间进行了题为「A discussion about deep learning vs classical methods and their roles in computer vision」的学术讨论。

讨论会上,Richard Szeliski 博士发表了题为「Deep vs Classical Methods」的演讲。演讲中,Richard 提到,在设置人工智能专业课程时,一个广为讨论的话题是:我们是否应该讲授深度学习之前的传统方法?还是直接通过深度学习解决所有问题?


在 Richard 博士看来,从事 CV 研究的学生和工程师不仅仅要会使用深度学习方法,也要学习传统的 CV 算法。尤其是当我们拥有的数据十分有限时,使用基于深度学习的方法就要特别小心,此外,对可解释性要求较高的场景中,深度学习的方法往往并不能满足需求(例如:医疗场景)
传统方法和深度学习方法应当是相辅相成的关系。经典的CV方法可以让我们更加深刻地理解任务本身,因为在经典的CV方法中,每一个参数都具有物理意义;当我们掌握了经典CV方法之后,再去学习深度学习方法,对于问题的理解才会更加深刻。
比如:熟悉图像滤波会更容易理解卷积神经网络为什么有效;残差收缩网络将传统方法中的软阈值思想融入进残差网络ResNet;PWC-Net将光流法和用于提取特征的神经网络结合。
将经典方法与深度学习方法结合,是近期各大CV顶级会议的一大趋势。每一位致力于长期在CV领域发展的工程师,都不可能摒弃对CV传统方法的研究和学习!
那么我们到底该如何系统地学习CV传统方法,并打下扎实和牢固的基础呢?
很多小伙伴们都已经发现,就算平时收藏了再多干货合集,知识体系的搭建依然零散杂乱,难以抓住CV研究的主要脉路。为了解决这一难题,帮助小白更快更稳入门CV领域,深蓝学院特地邀请到重磅嘉宾汪凌峰老师(中科院自动化所识别国家重点实验室博士)为大家系统讲解计算机视觉基础相关知识!
https://xg.zhihu.com/plugin/584fe0faa34db0f4bc649ba985fa41a1?BIZ=ECOMMERCE嘉宾老师不但会围绕图像分割、目标跟踪、检测识别方法这些经典任务,对传统方法展开详细讲解,并且配套基于C++以及Python的两个版本的代码实践!


以下附上实践内容(部分)

01 Graph Cuts

掌握图的建立和图割过程,并完成代码实现。学习图论的基本知识,BFS,DFS图搜算法,以及求解Max flow问题的Ermond Karp算法。学习Graph- Cut算法的改进方法,以及求解思路。
02 基于GMM的运动分割

掌握用EM算法进行时序数据的参数估计。掌握GMM算法的核心思想和处理思路,并且完成代码实现。
03 基于光流的目标跟踪

理解光流概念,光流计算的核心:光流约束方程。光流计算的问题和相应的解决思路。掌握光流目标跟踪的处理流程,并完成代码实现。
04 基于粒子滤波的目标跟踪

学习用递归贝叶斯后验估计求解自顶向下跟踪问题。理解 Monte Carlo的核心思路:将问题转换为某事件出现的概率,解决方法。完成求解常数π,高斯分布的p阶距的代码实现。掌握粒子滤波目标跟踪算法的整体流程,并且完成代码实现。
只有结合实践项目,即学即练,才能帮助学员更加透彻掌握所学知识。
如果你对计算机视觉算法工程师岗位还有什么疑惑,或者是想成为优秀计算机视觉算法工程师,欢迎咨询我们哦!

https://xg.zhihu.com/plugin/584fe0faa34db0f4bc649ba985fa41a1?BIZ=ECOMMERCE往期内容
深蓝学院:特征提取:传统算法 vs 深度学习
dyanother 发表于 2023-10-4 20:05:44|来自:北京 | 显示全部楼层
我就是正在用传统算法做计算机视觉的人。
告诉你,因为市场上大多数招聘者都有这些毛病:

  • 过度关注当红的深度学习/类神经网路/某种热门模型
  • 高估企业内部或甲方手上数据的信息含量
  • 决策者缺乏基础数学理解
所以他们看传统算法,什么感觉?

  • 「这跟计算机视觉有毛关系?你是来乱投简历的吧!这种人我看多了!」
  • 「跟AI毫无关系吧?你想拿自己会的东西滥竽充数?」
  • 「你不要说这些数学,我听不懂,我也不敢承认我不懂。」
  • 「你告诉我怎么落地就好?什么?还要分析数据、做叙述统计才知道用什么算法?你功力太差了吧」
BATM 用深度学习做的风生水起,那是因为人家有大数据可以炼丹啊!

你一个小公司有什么大数据?不好好做特征工程+传统算法,也去跟风深度学习。

由于上述原因,使用传统算法求职非常困难,搞得原本不想炼丹、不想做调包侠的人,也被迫去做这些事了。

深度学习不是万能的、甚至也不是模式识别工作应该优先采用的手段。
但是各种营销号、想要卖算力的显卡与云服务厂商,掌握了话语权,把行业认知都带歪了(大家都用传统算法,算力就卖不动了!)
<hr/>我做硕士论文[1]训练模型用的公开数据集[2],有4.8万张照片。工作多年至今,没有一家公司能提供比我做论文用的更多的数据,连 1/10 都不到,大部分问题都用更传统的算法解决了。
建议追更,想到再写。
lkmtxjt 发表于 2023-10-4 20:06:38|来自:北京 | 显示全部楼层
恰恰相反,正因为大家都跑去做深度学习了,导致传统视觉找不到人,反而很紧俏。
之前我也认为深度学习是万能的,直到工作做工业检测场景,发现深度学习的局限性也很大,首先缺陷如何定义,数据量如何满足、推理速度限制等等问题。
而据我所知,至少在前处理和测量等任务上,都优先选择传统视觉算法。前处理,比如找点、找线、找圆等简单的操作都优先选择传统视觉算法(工业场景,那么多样品过流水线,找个点线圆还用深度学习,花都谢了);测量,比如样品尺寸,缺陷和样品的相对距离关系。
现在越来越意识到,不管是深度学习、还是传统视觉,还是其他的不同技术,都是工具,并无优劣之分,只有适不适合的区别。先打磨好一个技术点,做到极致,然后再拓展技术栈,从更宏观的角度去拆解问题,利用已有的技术栈打组合拳解决问题,这才是更为重要的事情。

欢迎加入Smarter交流群,添加微信「cjy094617」,备注「学校-方向」即可
chuangkou5 发表于 2023-10-4 20:07:09|来自:北京 | 显示全部楼层
图像传统算法很必要,很重要,很需要。但是目前很多人都只是在做端到端深度学习忽略了了传统算法,我觉得这是不合理的。
cnn+反向传播+大数据集已经成为完成分类,检测任务效果最好的强大工具。但是深度学习是黑盒并且实际落地鲁棒性的不足需要我们借助传统算法来控制训练过程,完善落地的系统设计。比如图像金字塔提高不用尺度的表现,双线性差值做特征图的上采样实现特征融合,使用特定的滤波器改善下采样产生的的图像平移效果降低的问题等,还有改善模型实际线上的表现,传统算法都很有用,而且现在很多应用级别的算法还是传统算法因为很快,鲁棒性更好。
zhangdongsheng 发表于 2023-10-4 20:07:48|来自:北京 | 显示全部楼层
深度学习和传统算法并不是割裂的。。谨记这点。
你可以在深度学习里面融合传统算法,比如某网络某一层受到传统算法启发,比如crfasrnn
这是学术上的,工程上的话,很多算法依然会优先考虑传统的,比如跟踪,图像配准,光流,立体匹配等,在工程上,深度学习太吃数据,如果没有足够数据(足够数据是在背景覆盖各种场景,前景覆盖各种光照,角度)很不稳定,而一个cv类的产品,通常是一连串cv算法的组和,比如我们通常说的人脸识别,就包括了人脸框的检测,人脸的跟踪,人脸的认证等等,这里面还要用到各种传统cv算法来处理,比如裁切,色彩空间变换。不可能每一个环节都用深度学习,除非你在非常大的公司,以cv产品为核心,可以允许你去试错。另外,深度学习真的很慢,一般而言,完成同样的功能,深度学习通常要慢几倍,这很可能还是在使用gpu的情况下。

快速回帖

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

本版积分规则