计算机视觉的发展
计算机视觉是什么
计算机视觉是一门让计算机学会"看"的学科,研究如何自动理解图像和视频中的内容
计算机视觉的发展
早期萌芽(1960-1980)
统计机器学习与模式识别(1990-2000)
ImageNet 大型数据库(2006)
斯坦福大学的李飞飞教授于2006 年启动了ImageNet 项目,旨在为计算机视觉算法研究提供一个大规模、优质的图片
数据库,ImageNet 迄今包含约2 万类,共计约1500 万张图片
自2010 年起,ImageNet 官方举办了一年一度的大规模视觉识别挑战赛ILSVRC,图像分类赛道要求参赛组在一个包含
1000 类别、100 万张图像的ImageNet 子集上完成图像分类任务
初有成效的视觉系统(-2010)
深度学习的时代(2012-)
深度学习框架
Theano(2007)
Theano于2008年诞生于蒙特利尔理工学院,其派生出了大量的深度学习Python软件包,最著名的包括Blocks和Keras。Theano的核心是一个数学表达式的编译器,它知道如何获取你的结构,并使之成为一个使用numpy、高效本地库的高效代码,如BLAS和本地代码(C++)在CPU或GPU上尽可能快地运行。它是为深度学习中处理大型神经网络算法所需的计算而专门设计,是这类库的首创之一(发展始于2007年),被认为是深度学习研究和开发的行业标准。
Caffe(2013)
Caffe由加州大学伯克利的Phd贾扬清开发,全称是Convolutional Architecture for Fast Feature Embedding,是一个清晰而高效的开源深度学习框架,由伯克利视觉中心(Berkeley Vision and Learning Center,BVLC)进行维护。
从它的名字就可以看出其对于卷积网络的支持特别好,同时也是用C++写的,提供的C++接口,也提供了matlab接口和python接口。
Caffe之所以流行,是因为之前很多ImageNet比赛里面使用的网络都是用Caffe写的,所以如果你想使用这些比赛的网络模型就只能使用Caffe,这也就导致了很多人直接转到Caffe这个框架下面。
Caffe的缺点是不够灵活,同时内存占用高,Caffe的升级版本Caffe2已经开源了,修复了一些问题,同时工程水平得到了进一步提高。
Tensorflow(2015)
Google 开源的Tensorflow是一款使用C++语言开发的开源数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。图中的节点代表数学运算,而图中的线条表示多维数据数组(tensor)之间的交互。Tensorflow灵活的架构可以部署在一个或多个CPU、GPU的台式及服务器中,或者使用单一的API应用在移动设备中。Tensorflow最初是由研究人员和Google Brain 团队针对机器学习和深度神经网络进行研究而开发,开源之后几乎可以在各个领域适用。
Tensorflow是全世界使用人数最多、社区最为庞大的一个框架,因为Google公司出品,所以维护与更新比较频繁,并且有着Python和C++的接口,教程也非常完善,同时很多论文复现的第一个版本都是基于Tensorflow写的,所以是深度学习界框架默认的老大。
PaddlePaddle(2016)
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、开源开放的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。截至2022年12月,飞桨已汇聚535万开发者,服务20万家企事业单位,基于飞桨开源深度学习平台构建了67万个模型。开源开放的飞桨已经成为中国深度学习市场应用规模第一的深度学习框架和赋能平台。飞桨助力开发者快速实现AI想法,快速上线AI业务。帮助越来越多的行业完成AI赋能,实现产业智能化升级。
Pytorch(2017)
PyTorch的前身便是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。
PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用。
OpenMMLab(2018)
OpenMMLab 是一个适用于学术研究和工业应用的开源项目,涵盖了计算机视觉的许多研究课题,如:图像分类、目标检测、目标分割、超分辨率图像生成等
MindSpore(2020)
MindSpore是由华为于2019年8月推出的新一代全场景AI计算框架,2020年3月28日,华为宣布MindSpore正式开源。
OpenMMLab介绍
OpenMMLab官网:https://openmmlab.com/
OpenMMLab 2.0的架构
机器学习基础
什么是机器学习
从数据中学习经验,以解决特定问题
机器学习的基本流程
- 训练:我们需要采集一些数据,标注它们的类别,从中选取一部分用于训练分类器,得到一个可以用于分类的分类器
- 验证:从采集、标注的数据中另外选取一部分,测试所得分类器的分类精度
- 应用:将经过验证的分类器集成到实际的业务系统中,实现对应的功能