打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在计算机视觉方向如何快速提升自己?

首先基础的机器学习知识必不可少,因为传统的一些方法就是手工特征+机器学习方法等,在2012年以前的ImageNet视觉挑战赛上获胜,这里安利一些资料,不过都是老生常谈了。

如周志华老师的《机器学习》、李航老师的《统计学习方法》、《机器学习实践》、吴恩达老师的cs229、李宏毅老师的机器学习视频(B站就有),除此以外,基础的图像处理知识也是必不可少的,比如冈萨雷斯的《数字图像处理》。

其次的话,就是深度学习了,2012年以后深度学习方法在计算机视觉领域一骑绝尘,经典网络必须要知道,LeNet、AlexNet、VGG、GoogLeNet、ResNet、DenseNet、SENet等,还有一些轻量级的网络,比如ShuffleNet、MobileNet系列,后续我也会在专栏更新相关论文的解读。

在更详细的任务中,有一些经典任务,上述的一些网络主要是分类网络,用于分类的,比如给一张图,输出图片是猫还是狗,但是会有很多更复杂的问题,比如图像既有猫又有狗,这时候网络应该输出什么呢?这样就衍生出了经典任务中的检测任务、分割任务等。

检测任务实际是输出目标的位置和概率,位置就是用bounding box圈出目标物体。目标检测大概的发展是这样(本人水平有限,难免会有错误,欢迎批评指正),在一张图中密集生成候选框,然后提取特征+机器学习分类器,这里就有一个问题如何生成候选框,滑窗法、随机搜索法等,不断发展。

2014年出现了一个很出名的文章——RCNN,将深度学习用到目标检测中,但是仅仅是将CNN作为特征提取器。在此就不再赘述,RCNN系列(RCNN、Fast RCNN、Faster RCNN、Mask RCNN)、YOLO系列(YOLO v1、YOLO v2、YOLO v3)以及SSD,从去年开始涌现了一些anchor-free的工作,在ECCV 2018上出现了一个工作——CornerNet,提出了一个想法——把目标检测问题转换成关键点检测问题,之后涌现了CenterNet、ExtremeNet等一系列基于关键点的目标检测工作。

最近谷歌有一些NAS和目标检测的工作,以及用强化学习的方式选择数据增广策略(近期我会复现该论文的数据增广策略)。

像分割任务,是像素级的分类问题,同样也有传统方法和深度学习方法,深度学习比较经典的方法是FCN,输出大小和输入大小应该是一致的(这里大小是长宽)。

目标追踪任务和检测任务有一些相似,但有一些不同之处,对每一帧进行检测的效果和追踪十分类似,但是目标检测通常检测的是已知类别,追踪可以追踪给定的第一帧里的内容,有一些传统方法、相关滤波方法以及深度学习方法,比如孪生网络系列的文章。再衍生出来的话,还有Re-ID。

除此以外,还有很多很多计算机视觉任务,比如超分辨率、三维重建(还涉及计算机图形学等),由于篇幅有限就不一一介绍这些任务的基本发展了,可以找一些论文自己研读,注意不仅仅是最近的文章,还有上个世纪的文章,最好写个综述,看个几十上百篇文章,读读代码。

有一些计算机视觉、深度学习方向的课和书籍,比如李沐老师的《动手学深度学习》,有课有jupyter notebook,非常好,相见恨晚,还有花书《深度学习》、《计算机视觉:算法与应用》、《计算机视觉——一种现代方法》、《计算机视觉:模型、学习和推理》等。

课的话,可以看cs231n,非常经典的计算机视觉课程,cs224d,虽然这门课是nlp的课,但是RNN这些东西对时间序列建模有非常大的帮助,可以也关注一下。

最近需要的关注的还有GNN paper list,用图的思想去处理一些计算机视觉问题,以及CV和NLP结合还有一些任务,比如很早之前就有的VQA、caption等,这里有一篇论文可以参考一下,Trends in Integration of Vision and Language Research: A Survey of Tasks, Datasets, and Methods。

除此以外,代码能力也非常有必要。

无论是传统的数字图像处理还是图形学,最近我就在看一些图形学的算法并打算逐一实现,还是深度学习方法,都需要有一定的代码能力,平时多看看别人写的代码,学习一下,最近我就复现了一篇ECCV 2018的文章HairNet,相对我之前的代码就非常工程化,也便于在其他设备上进行使用。

传统数字图像处理使用matlab比较多一点,图形学使用C++多一点,深度学习的一些代码主要基于python,还有一些深度学习框架,例如pytorch、mxnet、tensorflow、caffe、darknet等,目前这几种都或多或少地使用多,安利前面两种,pytorch目前也是比较主流的框架了,mxnet可以基于李沐大大那本书就学习,对理解底层的代码比较有帮助,我就是通过那个代码理解dataloader具体是怎么实现的。

“快速”二字,我不知道该如何体现,这个因人而异吧,笨鸟先飞,勤能补拙,好好学习是会有收获的,提升是不知不觉之中的,就像我不知不觉之中就从NLP、KG圈就跑去搞CV、CG了(滑稽脸.jpg)。

最近一些经历给我一些感触,传统的一些数字图像处理方法还是必不可少的,数学上很fancy,实际上可能也比较work,同时兼具解释性等特点。入门计算机视觉,或者其他任何一个学科/领域,脚踏实地比较好,切不可建空中楼阁。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
商汤科技曹旭东:为何深度学习几乎成了计算机视觉研究的标配?| 硬创公开课
目标检测二十年 | 干货(20180319更新)
【重磅】Facebook 开源计算机视觉系统,从像素水平理解图像(附论文及代码)
全解:目标检测,图像分类、分割、生成……
【重磅】Facebook开源机器视觉工具,从像素点中发现规律
反思深度学习与传统计算机视觉的关系
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服