基于深度学习的图像重照明实践学习笔记_3
项目预备知识
小白如何进入AI大门?
经过前面两场讲座,我们已经对图像充照明项目有了一定的了解,并且对于一些优秀的模型有了一个大体的认识。那么从这一讲开始,我们也将真正步入AI学习的大门,了解必要的预备知识。
一般来讲,小白入门AI可以分为以下几个步骤:
- 第一步:找到一个好的老师
- 第二步:坚定自己的信心
- 第三步:一步一步,脚踏实地
- 第四步:边学边实践
- 第五步:变成一个极客
对于英语基础不好的同学,这里附带一个新概念英语3的电子版:链接: https://pan.baidu.com/s/1nTBNuFwajIJhbjI3IjiKGw 提取码: 7t5y
同时还推荐一些权威的AI入门课程:
AI入门课程:【cs231n】(http://cs231n.stanford.edu/)
数学入门课程推荐:
MIT:https://ocw.mit.edu/courses/mathematics/
丘成桐报告会:https://v.youku.com/v_show/id_XODU3ODE1Njg=.html
从0开始:https://www.bilibili.com/video/av54658485/
优化课程入门推荐:
Boyd斯坦福公开课:https://www.bilibili.com/video/BV1Pg4y187Ed?p=5
python入门课程推荐:
Python Numpy Tutorial :https://cs231n.github.io/python-numpy-tutorial/
另外,编程过程中有着良好的编程规范(程序洁癖)也是十分重要的,在这里也推荐几个连接:
C++:链接: https://pan.baidu.com/s/1czSI6AabrGFT4hlYLTXDAg 提取码: dafs
Python:https://www.runoob.com/w3cnote/google-python-styleguide.html
当我们已经有了一定的基础,想对自己的能力进行测试时,我们又该怎么办呢?
一般我们会采用参与一些项目、竞赛并利用这些项目、竞赛内容撰写论文的方式对自己的学习成果进行检验
初谈计算机视觉
在我们开始介绍计算机视觉之前,我们应该现对于各种名词之间的关系有一定的认识。
首先,我们常说的AI是一个大类,他包含众多方面与领域,而我们常说的Machine Learning(机器学习)也是其所包含的重要一类。近些年来火爆的深度学习则是机器学习的一个分支,而在其所涵盖的众多方法中,CNN(卷积神经网络)又是其十分基础且经典的一个。
计算机视觉作为一个重要的人工智能领域,其所涵盖的内容贯通以上四个方面,有着极大的发展前景与探索价值。同时,现阶段的计算机视觉更加倾向于进行多学科交叉工作,并且在这些交叉领域也发挥出 了巨大的优势。
计算机视觉任务
现阶段计算机视觉任务可以分为物体识别,行为识别以及VRD等
那我们来说说最简单图片分类
输入一张图片,我们怎么才能让计算机判断他是猫,还是狗还是鸭子或是飞机呢。
其实原理也很简单,对于输入图片,我们经过多层的卷积池化激活后再将张量摊平,放入全连接层(下图就是全连接层的实现原理),神经元说白了就是W矩阵中的各个元素,进行矩阵乘法后再加上偏置(也就是举证加法),最后对输出的张量进行一个归一化,这样就完成了各类型的概率预测。
这张图也好理解,在高维空间中对输入数据进行非线性的划分,模型越复杂其非线性就越好
这就是给出的预测概率
CNN模型
下图就是一个很经典的CNN模型。
就像我们之前说的,通过一些列的矩阵乘法,最后将一个[13072]的张量变成了[110]的张量,这就是全连接层的实际实现方法。
卷积层要稍微复杂一些,不过了解卷积的同学便会很好理解,这边是用一个小的卷积核在大的图片上进行移动从而得到一张新的图片