赞
踩
计算机视觉是一门对理论基础要求比较高的计算机科学。
实验室中计算机视觉的工作分为图像处理和基于深度学习的图像识别
《数字图像处理》一书中对图像处理的解释为:将数字图像处理定为其输入和输出都是图像的处理。
比如在车道线检测任务中,我们需要对图像进行车道线二值化处理得到只包含车道线像素的二值化图像。
作为非科班的学习者来说,借鉴科班的学习方法很有必要。实验室倡导实践和理论相结合的方式进行学习。然而如何处理好理论学习和实践学习的先后顺序问题是个至关重要的问题。以个人的学习经历来看,在学习新的知识点的时候需要先对理论知识概览一遍;接着使用代码去实现相关功能,遇到障碍的时候可以借鉴开源的代码,但一定要做到理解;接着,这时候肯定有很多疑惑的地方,如果第一遍概览比较细腻的话可以只看稍有疑惑的地方,如果感觉很多地方不清不楚则需要对理论知识再做细致的学习;然后尽量再次独立完成代码的实现。
以直方图均衡化为例,
Step1:
首先:我们要理解:
Step2:
接着我们就可以尝试用代码去实现它,当然,可能会遇到困难,也许是出现了BUG、也许甚至是不知道如何用代码去描述算法,我们可以查阅别人优秀的代码实现,学习别人的算法实现思路。
Step3:
之后我们重新过一遍Step1记录的学习笔记,相信会有了新的理解和体会。
Step4:
整理好思路,动手独立完成代码。
Step5:
做到复习很重要,也许当时确实弄懂了,但复杂的知识点和算法实现过程很容易被遗忘,需要我们时常巩固才能做到心中不虚。
推荐阅读《数字图像处理冈萨雷斯》
推荐使用C++,其次Python
又可分为:图像的分类、图像中的物体检测、图像的语义分割
深度学习属于机器学习的一个分支,因其构建深度神经网络而得其名。可以将神经网络想象成一个复合函数,每一层神经网络即是一个函数层,通过函数(网络层)的复合实现了由输入到输出的某种映射关系(自我理解,需考证)。
实际上传统机器学习在图像处理中的应用并不是特别的出彩,但是对传统机器学习是深度学习的入门,很多深度学习的教程也是以传统机器学习作为入门,比如:感知机、K近邻法、决策树、SVM等,都属于传统的机器学习范畴,并不属于深度学习,但其中的很多概念,比如损失函数、梯度下降、先验概率、特征空间等概念都来自于机器学习。
如上述图像处理的学习方法,也是理论和实践相结合且不停相互巩固的学习过程。
机器学习推荐阅读《统计学习方法李航》。
深度学习则推荐斯坦福大学的深度学习课程,并陆续学习主流的深度学习模型框架,理解其设计思路,如:Yolo系列、VGGNet、ICNet等。并且,kaggle竞赛平台开放了一些数据集,提供了一些项目供大家学习交流,在kaggle上的有价值的项目的leaderboard有好的名次对CV研究者来说是个很棒的履历。
推荐使用Python、keras、tensorflow
数学应该是很多人的心魔,包括我。但作为算法工程师,和应用开发程序员的最大区别就在于算法工程师对数学和算法基础的掌握上。没有良好的数学功底,在图像处理和深度学习领域只能是隔靴搔痒。
有些晦涩的推理公式可以暂时不去正面刚,初期学习的重点放在对专业词汇的理解以及数学与CV、ML&DL的连接上。
比如:数学中的导数和机器视觉中的梯度的关系,数学中的卷积和图像处理中卷积的应用及关系,数学中的卷积和ML&DL中卷积的应用及关系等。
在学习的过程中,会慢慢发现CV和ML&DL中的莫名其妙的名词和公式推导可以读懂一些,这个时候相比已经总结、培养出了属于自己的学习习惯和思路。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。