此博客是基于AI实践营第一课的笔记
计算机视觉是什么?
计算机视觉是一门让计算机学会 "看"的学科,研究如何自动理解图像和视频中的内容
计算机视觉应用?
图像识别,人脸检测,无人驾驶,动漫特效,航拍转地图,虚拟主播,视频理解与自动剪辑;
计算机视觉的发展
1.早期萌芽 (1960~1980) Machine perception of 3d solids Larry Roberts 1964
2.统计机器学习与模式识别 (1990~2000) Eigen Face Turk & Pentland 1991
3.ImageNet 大型数据库 (2006)
斯坦福大学的李飞飞教授于 2006 年启动了 ImageNet 项目,旨在为计算机视觉算法研究提供一个大规模、优质的图片 数据库,ImageNet 迄今包含约 2 万类,共计约 1500 万张图片
自 2010 年起,ImageNet 官方举办了一年一度的大规模视觉识别挑战赛 ILSVRC,图像分类赛道要求参赛组在一个包含 1000 类别、100 万张图像的 ImageNet 子集上完成图像分类任务
4.初有成效的视觉系统 (~2010)
ImageNet Classification 72% Top-5 Accuracy NEC-UIUC 2010
Deformable Part Model for object detection
5.深度学习的时代 (2012~)
AlexNet 突破传统视觉系统性能
Fast R-CNN 目标检测走入深度学习时代
深度生成对抗网络实现图像生成
6.时至今日
文字描述生成图片
躺在废墟中的玻璃鲸鱼,抽象画
An astronaut riding a horse in a photorealistic style
视觉大模型
神经渲染 CityNeRF
开源成为人工智能领域发展引擎
随着深度学习、计算机视觉等学科的发展,各大研究机构和公司陆续开源自己的深度学习框架, 论文发表同时开源代码也成了行业内的习惯和共识
OpenMMLab深度学习时代最完整的计算机视觉开源算法体系
Architecture
• 提供统一先进的底层架构
Research Areas
• 覆盖计算机视觉众多方向
Algorithms
• 提供最经典、最前沿的算法支持
Pretrained Models
• 提供统一的基准和开箱即用的工作
机器学习和神经网络简介
1.机器学习基础
a.机器学习是什么?
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E." ——Tom M. Mitchell (1997)
b.为什么要让"机器"去"学习"
Face identification
图像=数百万像素的数组
如何设计算法,基于这几百万个数据计算出图像中的人是谁,且该算法对人物表情、拍摄角度、拍摄环境的变化保持足够的鲁棒性
机器翻译
如何设计算法,基于英文序列计算出对应的中文序列,同时保持意思准确、表达通顺?
强化学习
对于简单的游戏可以用min-max等非学习方法,但复杂度随着游戏规模增大指数增长
2.机器学习的基本流程
以分类问题为例,采用机器学习的方法解决实际问题通常需要 了个步骤:
a. 训练
我们需要采集一些数据,标注它们的类别,从中选取一部分用于训练分类器,得到一个可以用于分类的
分类器
b.验证
从采集、标注的数据中另外选取一部分,测试所得分类器的分类精度
验证所用的数据不能和训练重合,以保证分类器的泛化性能:在一部分数据上训练的分类器可以在其余的数据上表现出足够的分类精度
c. 应用
将经过验证的分类器集成到实际的业务系统中,实现对应的功能在应用阶段,分类器面对的数据都是在训练、验证阶段没有见过的