点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:计算机视觉life

首先基础的机器学习知识必不可少,因为传统的一些方法就是手工特征+机器学习方法等,在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,同时兼具解释性等特点。入门计算机视觉,或者其他任何一个学科/领域,脚踏实地比较好,切不可建空中楼阁。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

在计算机视觉方向如何快速提升自己?相关推荐

  1. 模板匹配算法_计算机视觉方向简介 | 多目标跟踪算法(附源码)

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 || 前言 目标跟踪是计算机视觉领域中研究的热点之一,分为单目标跟踪与多目标跟踪.前者跟踪视频画 ...

  2. 计算机视觉方向博士科研学习总结 拜读

    转载来源:https://blog.csdn.net/gdengden/article/details/80365518 入门一年多来的心路历程 2016.11~2017.3 时间倒回到大二上,那会就 ...

  3. 招聘|字节跳动招计算机视觉方向算法实习生

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 计算机视觉方向算法实习生 职位描述: 1.研究和开发图像.视频.文字识别领域的算法,并将算法落地应用: ...

  4. 工作5年左右的程序员如何在职业瓶颈期内快速提升自己的身价?提升后如何有效变现自己的高质量技能?...

    当一般的程序员工作5年左右后,往往会遇到事业上的一个瓶颈期:能力上已经达到高级开发,工资比上不足比下有余,而且至少能在所在城市站稳脚跟. 不过根据行业现状,这类程序员再要向上提升,难度就不小了,具体表 ...

  5. 在校生如何快速提升竞争力

    一个从事技术岗位的毕业生,要想在短期内提升竞争力,获得周边同事,直属leader的认可和赞扬,我觉得需要关注以下的一些方面. 一 代码能力 无论你用什么语言,做什么项目.代码能力就是基础中的基础.说实 ...

  6. 岗位推荐 | 腾讯AI Lab招聘计算机视觉方向实习生

    PaperWeekly 致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.  如果你需要我们来帮助你推广实习机会或全职岗位,请添加微信号「pwbot02」. 腾讯 A ...

  7. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

    原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...

  8. 三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 作者: Moonsmile https://zhuanlan.zhihu.com/p/79628 ...

  9. 计算机视觉方向就业怎么样?可以做什么?

    计算机视觉是一个快速发展的领域,在各个行业中都有广泛的应用.由于计算机视觉技术的广泛应用,因此该领域的就业前景非常好.以下是一些计算机视觉方向的就业前景: 计算机视觉方向就业怎么样?可以做什么? 人工 ...

最新文章

  1. 关于不能成为专业软件测试人员的10大理由的一些阐述
  2. 升级在即,BU发布新版本并将Mempool未确认交易限制增加到500
  3. 第二百九十二节,RabbitMQ多设备消息队列-Python开发
  4. Boost.Python Tutorial
  5. php中的session机制
  6. 没有活动混音器设备可用的解决方法
  7. 数学--图论--莫比乌斯线性筛模板
  8. Exchange中的数据库文件
  9. Intent.ACTION_MAIN
  10. freecodecamp_1000天的freeCodeCamp
  11. 电子路考容易犯错的五大细节
  12. 机器学习笔记(二)——多变量最小二乘法
  13. opencv2.4.7.2画圆,画十字,画矩形
  14. Spring cloud Gateway介绍
  15. 二叉树遍历,求叶结点,重构
  16. mac移动硬盘安装linux系统安装教程,移动硬盘上安装ubuntu系统
  17. Filter过滤器的作用
  18. 千锋android 开发视频教程,千锋教育Android开发视频
  19. CentOS 6.5安装Nvidia显卡驱动
  20. 【深度首发】死磕“2D转3D”的聚力维度,能否成为影视人工智能行业的独角兽?丨Xtecher 封面

热门文章

  1. 倒计时2天 | 专属技术人的盛会,为你而来!
  2. 重磅!全球首个可视化联邦学习产品与联邦pipeline生产服务上线
  3. 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019
  4. 算力超英伟达?华为推出两款“昇腾”芯片;五大AI战略正式公布
  5. AI聚变:寻找2018最佳人工智能应用案例
  6. AI一分钟 | 贾跃亭这次真的没钱了,法拉第只够发到年底工资;自动驾驶风云:Uber竟被爆料收购窃取Waymo机密的公司
  7. 对话 | 不能与人类直接对话的智能硬件都是“伪”智能
  8. 图解:电商支付架构设计
  9. ​有多少小伙伴用着 JDK8 却写着 JDK6 的代码
  10. 面试官问我 StringBuilder 线程不安全的点在哪儿.....