在2020年,你觉得计算机视觉有哪些值得研究的领域?
2020年那个春天,我差点在检测竞赛里把自己练吐了
你猜怎么着?
2020年那年春天,我干了一件特别“蠢”的事——连续刷了半年的mAP,刷到后来看到COCO数据集都想吐。
不是吹牛,那段时间我闭着眼睛都能把YOLOv3的anchor参数背出来。可是越刷越心慌:“把框画得再准,然后呢?这行到底还能干点啥?”
说实话,那种感觉就像你花了一年时间学会了把菜切得特别好看,但从来没想过——我到底该做一道什么菜?
后来呢?一个三维重建的项目找上门,我一脚踩进去,才发现自己之前的认知,真的太“平面”了。
3D方向:2020年你错过最可惜的坑,就是这个
说到3D,2020年之前我还是有点怂的。
你想想,标注成本高得离谱、数据难搞到想骂人、效果还经常翻车——谁愿意碰啊?
但那年有几件事,让我觉得:时候到了。
第一件事,叫PointConv。
这东西2019年底就放出来了,但真正让我激动起来,是在2020年。以前那些PointNet++虽然能用,说白了还是把点云投射到一个连续空间再采样——就像你吃葡萄,非要把皮剥了再挤成汁,营养早跑了。
但PointConv不一样。它在点云上直接做卷积核,用权重函数拟合局部点分布。
这才是真正的点卷积!
我拿它在室内场景分割上试了一把,效果好是真的好,但显存吃得也是真的恐怖——一块V100才撑住16个点云块。当时我盯着那个显存占用,心里只有一句:兄弟,你能不能吃饱了别这么挑食?
第二件事,是立体匹配和深度估计的无监督化。
那几年GAN在域迁移正火,SharinGAN、StereoGAN这些工作让我看到了希望——有没有可能用合成数据训练,然后直接扔到真实场景去跑?
我踩过这个坑,而且踩得很深。
当时我把SharinGAN的代码扒下来,想做室内深度估计。检测指标确实提了不少,但边界处还是一团模糊。后来才发现,关键根本不在于GAN本身,而在于多视图几何约束的loss设计。光靠GAN对着生成器使劲训,那是蛮力。真正聪明的做法,是加自洽性约束。
说到这儿,我特别想告诉你一个反直觉的事实:
这个方向到现在,还有巨大的空间。尤其适合那些——你猜——没钱标3D数据的团队。
我自己踩过的坑是这样的:如果你2020年刚入门,选3D检测或三维重建,千万别碰点云分割。 为什么?计算资源门槛太高了,而且当时大多数数据集都是室内小场景,你训出来只能发论文,落不了地。
反而单目深度估计,虽然精度不如激光雷达,但胜在——
便宜。
普适。
真的太适合工业巡检这种场景了。
视频方向:光流这玩意儿,拆出来用是真香
2020年的视频理解,也冒出了些让人眼前一亮的东西。
目标跟踪在Siam系列刷爽了之后,大家开始搞运动语义分割——一边分割物体,一边判断它动不动。
我当时印象最深的,是Google的Looking Fast and Slow。
这名字起得太妙了。slow path抽关键帧做精细特征,fast path每秒跑十几帧拿运动线索,最后融合在一起。
我当时特别激动,立刻动手复现。结果发现一个大坑:fast path太吃光流了。
你猜官方案例里光流占了多少算力?
快赶上主干网络了。部署的时候根本扛不住。
所以我后来换了个思路——把光流当插件用。
你看,光流这玩意儿最妙的地方在哪?它可以不跟网络绑死,单独拆出来预处理。比如先在外部用FlowNet2算好光流,再把warp后的feature map喂给网络。
缺点呢?不能端到端调优。
但胜在——快。改哪里都方便。
当然,如果你追求精度,还是得端到端光流。那计算量就大了。我当时在视频语义分割上试过把LiteFlowNet塞进SlowFast里,batchsize降到2,还是炸显存。
炸得我心态都快炸了。
不过,还有一件事让我觉得2020年值得。
Temporal Shift Module。
说白了,就是利用时间维度上相邻帧的特征图移位,避开3D卷积的大计算量。这篇论文2019年底就出来了,但到2020年才有真开源版本。
我拿它替换了之前视频分类网络里的3D卷积——
猜猜结果?
参数量直接减半,FPS提升60%!
当时我就确定了:时序建模用移位置,比堆卷积聪明太多了。
所以你要问我明确建议,我会说:如果你做视频任务,2020年优先搞光流辅助或时序移位这类轻量方案,别急着上3D卷积。除非你有分布式集群,否则那玩意儿烧钱烧到你心疼。
生成式模型:在3D上,终于不再是瞎画了
2020年GAN虽然让人有点审美疲劳,但跟3D结合的方向,是真的香。
举个栗子,SynSin。
只用单张RGB就能生成新视角图像,还支持连续效果。我当时拿它做数据增广——渲染一些目标不存在的视角去训练检测器,确实能提升泛化性。
不过坑也很明显:生成质量受原图纹理限制,边缘物体容易糊。
这种体验,就像你画了半天的画,结果手一抖把边缘蹭花了。
另一个值得看的是VIBE。它在视频人体姿态估计里用时序GAN解决抖动问题。我尝试过把它集成到动作识别流程里,效果好是好,但推理速度太慢——VIBE里光流、时序编码器、判别器三个模块串行,一帧接近80ms。
一帧80ms,你能忍?
那些看着热闹,但我不建议你投入的坑
人脸、OCR、分类这些方向,2020年已经卷成红海了。
你刷到SOTA可能一周后就被别人反超。而且应用市场早被大厂把持了。
发论文?可以。
做差异化?难。
工业缺陷检测呢?虽然刚起步,但当时数据集太少,重新标注一个缺陷样本比调网络还费劲。
这么说吧,你花三个月调一个缺陷检测模型,不如去客户现场蹲三天。因为你会发现,他们的问题根本不在算法上。
我的2020年推荐清单(按优先级)
说到这儿,我把当时觉得最值得砸时间的六个方向给你列出来:
第一梯队(赶紧入):
- 无监督深度估计:用SharinGAN、ManyDepth跑通baseline,再给网络加几何loss
- 点云处理:PointConv、KPConv,善用稀疏卷积,别从全连接点云网络开始
第二梯队(稳扎稳打):
- 运动语义分割:Looking Fast and Slow,从慢速分支入手,快速分支用轻量光流
- 时序建模:Temporal Shift Module,替换3D卷积的第一选择,复现还简单
第三梯队(有资源再碰):
- 新视角合成:SynSin、NeRF,推荐NeRF变体但训练要花1-2天
- 3D人体姿态:VIBE,先拆解成姿态估计+时序平滑两个模块单独调
回到现在看2020
如果让我带着现在的认知回到2020年重新选方向,我会选——
3D重建+视频时间维度的结合。
那会儿这个交叉点几乎没人碰。后来BEV感知、占用网络这些火起来,其实都能看到当年那些无监督深度估计和时序信息融合的影子。
你看,方向这种东西,早半年入坑和晚半年入坑,差别太大了。
2020年我踩过最大的坑是什么?就是在语义分割上花太多时间追人脸SOTA。
结果转头发现,工业场景根本没人关心你分辨率好不好——人家要的是极端光照下也能跑。
所以听我一句劝:别光看论文官网放啥。多去客户现场看看他们要啥。
技术这条路,最怕的不是走得太慢,而是走了一条大家都走、却没人能真正落地的路。
2020年那年,我明白了:真正的方向,不在排行榜上,而在你看不见的生活里。
读者评论 4