为什么现在不看好 CV 方向了呢?

明明现在目标检测中,COCO数据集最好准确率才0.52,还有很大进步空间啊。
关注者
4,018
被浏览
3,385,719

134 个回答

按照规矩,先问是不是,再问为什么。

叫衰CV的声音已经持续很长时间了。在我刚入行(2009年)的时候,整个领域处于深度学习爆发的前夜,手中只有局部特征作为武器的研究者们,痛苦地挣扎在PASCAL-VOC检测准确率(AP50)30%-40%的基线上,而MS-COCO还有好几年才会出现。深度学习全面占领CV以后,这些数值都有了很大的增长。目前PASCAL-VOC的SOTA是85%+,而MS-COCO的SOTA已经被刷到了55%+(多模型融合能接近60%:Common Objects in Context)。

同时,我们相信资本是不会说慌的。从近年CV方向的就业情况看,至少资本对这个方向的短期未来还是有信心的。目前(2020年)的情况很像十年以前,一个相对成熟的pipeline已经被发挥到了极致,而新的爆发尚未出现。每当这个时候,总会出现不少叫衰的声音。然而我认为,这些声音中的绝大多数,不过是随波逐流罢了,他们的逻辑很容易被打破。就拿多数人喜欢强调的卷积神经网络(CNN)来说。质疑者们总是强调CNN只是单纯地堆砌算力、不具有可解释性——然而反过来说,仅仅是这样一个非常简单的计算模型,就让CV发展到了一个受到跨学科广泛关注的高度(CV算法已经渗透到各个领域),这难道不令人惊讶吗?我实在是很难相信在未来的10-20年,人类的智慧仅限于CNN及其变种,无法开发出更精巧的计算模型,进一步推动这个领域的发展。

当然我们也要冷静地看到,现在的CV算法离真正的AI还差得远。要想解决落地困难的问题,从局部特征到深度学习这个级别的技术跳跃,至少还要发生两次。虽然它一定会发生,但没人知道下一次跳跃会在什么时间出现在什么方向。所以有的时候我会想:如果不是科研工作者,那么休眠20年再醒过来,直接享受AI发展的红利,一定是美事一桩。正是对改变未来的渴望,赋予了我们无限的想象力,当然还有无尽的烦恼。

最后说一个小趣事。2015年我刚开始做博后的时候,我曾经跟我的老板Alan Yuille闲聊。我说CV太难了,但是我想到两个可能的解决方案。一是人类彻底研究清楚了大脑的工作机制,仿照人脑设计出计算机,直接解决CV问题;二是人类搞定了量子计算,从而将所有可能出现的图像都学习一遍,强行记住所有答案。Alan表示,这两件事都不会发生,但是他的想法(compositional models)是可能实现的,于是就顺势跟我讨论了一个小时。不论是Alan还是我,都对CV的未来抱有切实的期望,也都试图以各自的努力,为这个领域做出一点点的改变。但愿这一天会到来吧。

我从技术角度回答一下,顺便欢迎大家评论区一起讨论。

背景:TOP2硕士,BAT大厂(纯reserach和AI工程部门都待过),做过CV,做过模型压缩,做过底层工作(嵌入式)。

看了一下各位大佬的回答,有些回答我很认同,有些回答就很不认同了。

说一下不认同的观点:

①CV工程师都是调参工程师,当然对CV方向悲观了。能力大多不怎么样XXXX,得自己写OP,反向传播XXX什么的才行?

(我都写过,这有什么用?为了面试?没写过的就是菜鸡?不配当CV工程师?这是什么论调?这和以前AI没火之前,没写过编译器操作系统XX的都是辣鸡的观点有什么区别?难道写过这些东西,就可以对CV乐观了?抱歉,我都写过,还是挺悲观的)

②不能光调参,还要注意工程落地能力(模型剪枝蒸馏量化,c++硬件部署之类)。

工程落地能力我不否认,是很重要,并且在当下,可以说是一个很有竞争力的能力。但是,有这个能力就能乐观了?看看现在各个大厂在做什么?

(a)软件类公司:微软NNI(AI自动化平台,包含模型压缩,automl等),百度paddle(从模型训练到模型压缩到模型的终端部署和服务器部署等等)。此外,腾讯NCNN,阿里MNN,等等太多啦。这才只是软件公司,硬件公司更可怕。

(b)硬件公司:

做AI芯片,AI芯片上的工具链(AI编译器,部署加速等),我和国内一家很大的养猪公司聊过,直接买的寒武纪的板子,工程师直接写好模型,用寒武纪板子配套的工具链直接压缩加部署。看看地平线,看看英特尔,不想举例了)

仔细想想,这些公司在干什么?就是在解决目前AI模型的部署难题,现在只是初具规模,再发展个一年半载,后续部署上花的时间一定会大大减少,因为工具太方便了。即使说工具还不够智能,请问,还能挤出来多少岗位给模型压缩,模型优化,模型部署的人做?

我目前的观点就是,单从技术上去判断CV方向有没有技术含量,有没有前途,结论大概率都是没有。当然,极其极其优秀的人(注意,是极其极其),当然是有前途的了。

一种是研究导向的(能持续产出论文,当然,如果钱不够烧,还必须是有实用价值的研究)

另一种就是业务导向的(就是下面这段话,忘了是哪位答主写的,我放在这了):

1)业务到算法的建模能力,很多业务问题没有直接对应的paper和模型,需要自己针对业务场景建模寻找合适的模型构建技术方案,比如我们最近做了个项目,需要识别竖版视频中内嵌播放横版视频的播放区域(上下填充图片模板,抖音上很多),这个就没有可以直接搞定的模型,如何解决多种填充类型(纯色,模糊,图片,模板),如何识别填充区域动态发生变化的视频? 这些都是在工业界落地需要创造性地去解决的问题
2)基于业务场景的训练数据构建能力,很多模型在工业界落地必须基于实际的业务数据进行调整,比如视频摘要算法,学界常用的Cosum TVsum都是非常非常小的训练集,只能用于发paper的benchmark,但是在工业界实现视频摘要算法,如何构建大规模的视频摘要有监督训练集呢?
3)模型产品化落地能力,很多模型在世界业务场景落地的时候需要解决性能问题,极端badcase问题,体感问题等等,这些需要很强的工程能力以及基于业务数据分析发现badcase的能力

不可否认的是,CV确实是能解决很多问题的,这个方向本身没有任何问题,但主要是泡沫太大。一旦泡沫破了之后,能否容纳下目前这么多人?(想想几年前的IOS和安卓开发有多火,现在呢。)


总结一下我的观点:

不要一对方向悲观,就拿技术说事,说别人没写过这个,没写过那个,所以技术菜,所以很悲观。时代的浪潮,恐怕不是学个c++,学个XXX就能解决的。普通人大概率还是要紧跟浪潮,吃完这波浪潮,吃下一波。吃不到那就没办法了。

与其嘴硬,不如想想我们吃完这波之后,去哪里吃下一波。

(欢迎评论区讨论:CV方向如何自我拯救?)