最近在学习斯坦福李飞飞cs231n计算机视觉的课程,总感觉学的不够深入,学习时的困惑在网上也很难找到答案,就写个笔记,一方面方便自己学习,另一方面也能跟大家探讨学习心得,解决困惑,从零开始深度学习,持续更新!
1. 引言:什么是计算机视觉?
1.1 计算机视觉的定义
计算机视觉(Computer Vision) 是一个多学科领域,涉及计算机科学、数学、统计学和认知科学的交叉。其核心目标是赋予计算机理解和解释视觉数据(如图像和视频)的能力。这意味着,计算机不仅要能够“看到”图像,还要能够“理解”图像中的内容,并作出相应的决策。
深入思考:计算机视觉与人类视觉的区别
-
信息处理方式:人类视觉系统处理图像的方式非常高效,能够在毫秒内识别物体、理解场景。然而,计算机视觉通常需要通过大量的计算资源来处理相同的任务。这是因为计算机视觉依赖于对像素级数据的分析,而人类视觉更多依赖于认知过程和大脑的复杂神经网络。
-
模糊性处理:人类视觉系统在处理模糊或不完整的图像时表现出极高的鲁棒性,例如在低光环境中依然能识别物体。而计算机视觉系统则在处理类似场景时表现较差。这提示我们,在设计计算机视觉算法时,如何处理不确定性和模糊性是一个关键问题。
1.2 计算机视觉的应用领域
计算机视觉技术在多个领域得到了广泛应用,以下是一些典型的应用场景:
1.2.1 图像分类
- 定义:将输入的图像分配到一个预定义的类别标签上。例如,在猫狗分类问题中,输入的图像被分为“猫”或“狗”类别。
1.2.2 目标检测
- 定义:不仅要识别图像中的物体类别,还要定位这些物体在图像中的位置(即给出边界框)。
1.2.3 图像分割
- 定义:将图像划分为多个区域或对象,每个像素被分配到一个特定的类别或对象中。这比目标检测更精细,要求对图像的每一个像素进行分类。
1.2.4 图像生成
- 定义:生成新的图像或视频内容。近年来,生成对抗网络(GANs)在图像生成领域取得了显著进展。
- 实际应用:
- 图像增强:GANs 被用于将低分辨率图像转换为高分辨率图像,或者将模糊图像变得清晰。
- 内容生成:GANs 可以生成逼真的虚拟场景或人脸图像,这在游戏设计、影视制作中有广泛应用。