一、什么是计算机视觉
计算机视觉(Computer Vision)是一门如何使计算机“看”的学问,让摄像头和电脑代替人眼对目标进行识别、跟踪、测量等机器视觉。计算机视觉能够模拟人类视觉的优越的能力,如识别物体、估计立体空间与距离、躲避障碍、理解图像、想象图像的能力,一定程度上,计算机视觉模拟的是人眼和人脑,不仅让计算机“看”,还要让计算机“思”。此外,计算机视觉还能够弥补人类视觉的缺陷,如不擅长长时间观察同一事物、容易忽略细节。
二、计算机视觉的主要目标
解决“像素值”与“语义”之间的差距(Gap)。计算机所接收到的图像是一个个像素值矩阵,如何让计算机通过这些数值矩阵认识图片并完成特定的任务是计算机视觉的主要的目标。
三、计算机视觉的主要任务
传统的计算机视觉的经典任务主要是三大类:分类(Classification)、检测(Detection)、分割(Segmentation),分类解决的是“是什么”的问题,检测和分割解决的是“在哪里的问题”。
现在,更多的问题涌现出来,像图像描述(Image Captioning)、图像问答(Image Q&A)、图像生成(Image Generation)、图像检索(Content-based Image Retrieval)等。上述无论是传统经典任务还是这些新出现的任务都属于语义层面的问题,还有一类问题也属于计算机视觉研究的范畴,属于三维几何领域内的问题,如三维建模、增强现实、双目视觉等。
四、深度学习在计算机视觉中的应用
深度学习是引领计算机视觉的技术,各式各样的神经网络方法解决着计算机视觉领域中各式各样的问题。
图像分类——卷积神经网络(CNN),目标检测——区域卷积神经网络(R-CNN),图像分割——全卷积神经网络(FCN),图像生成——生成对抗网络(GAN),图像问答——循环神经网络(RNN),我们将在后边的学习中深入了解这些深度学习方法。