【11-计算机视觉介绍】
计算机视觉 computer vision application
现有一张照片,其像素为1000*1000,该照片像素强度值在0~255,将所有的像素值平铺开来就得到了一个包含1000,000个元素的列,或者说向量;
能否训练一个神经网络,输入为1000,000个像素亮度值的特征向量,输出为人物身份;
如果你去观察那些经过大量图片训练的神经网络模型的隐藏层的神经元,你会发现,在第一个隐藏层中,你可能会发现一个神经元在寻找一个小的垂直线或垂直边缘,第二个神经元在寻找一个有方向的线或边缘,第三个神经元在寻找一个特定方向的线,在第一层中,神经元在图像中寻找非常短的线条或边缘,在第二个隐藏层中,你会发现这些神经元可能学会将许多小短线组合在一起,以便寻找面部的部分(比如眼睛鼻子等),第三层中,神经网络正在聚合面部的不同部分,然后尝试检测是否存在更大更粗略的面部形状,最后检测面部于不同面部形状的对应程度会创建一组特征,这些特征可以帮助输出层尝试确定人物的身份。
神经网络的一个显著特点是,它可以自己在不同的隐藏层学习这些特征检测器,在这个例子中,没人 告诉它应该在第一层寻找短线,第二层找鼻子眼睛,第三层组合面部特征,神经网络可以从数据中自行找出这些东西。这些小神经元的可视化实际上对应于图像中不同大小的区域,
如果要求检测汽车,对于同样的模型和算法,它在每个隐藏层中几乎做着相同的事情。所以只需要提供不同的数据,神经网络就会自动学习检测非常不同的特征。