计算机视觉 Computer Vision
Computer vision is a field of artificial intelligence (AI) that enables computers and systems to derive meaningful information from digital images, videos and other visual inputs — and take actions or make recommendations based on that information. If AI enables computers to think, computer vision enables them to see, observe and understand.
计算机视觉发展历史
- 1966年 MIT 马文明斯基 Marvin Minsky指导学生实现了PC连接摄像机
- 1982年 马尔 David Marr发布一本书 《视觉》 标志成为正式学科
- 1999年 David Lowe发表SIFT特征相关论文
- 2001年,V&J发表基于HAAR特征的实时人脸检测
- 2005年,HOG特征提取的行人检测算法提出
- 2006年 Pascal VOC数据集发布
- 2012年, ALexNet模型赢得ImageNet图像分类比赛冠军
- 深度学习在视觉领域开始流行
计算机视觉框架
传统计算机视觉框架
- Matlab的历史最早可以追溯到1970年,作为数据处理工具箱,后期支持图像处理
- Matrox mil 1993年发布第一个版本
- Halcon最早可以追溯到1996,至今25年历史
- OpenCV 1999年启动,2006年发布1.0版本 开源
- VisionPro 2009年发布
- SimpleCV
- BoofCV
- Dlib
- JavaCV
深度学习计算机视觉框架
训练框架
- Caffe
- Tensorflow
- Pytorch
- PaddlePaddle
- Keras
部署框架
- OpenVINO
- Tensor
- onnxruntime
- Deepface 人脸识别
- YOLO/DarkNet 目标检测
- mmdetection 国内开源
- Paddle-detection/seg/ocr 国内开源 视觉领域特定
当前业界主流框架应用
- 机器视觉方向 - Halcon/VisionPro/Mil/OpenCV
- 深度学习方向 - tensorflow/pytorch/paddlepaddle + openvino/tensorRT/onnxruntime
- 主流语言 Python/C++
OpenCV框架
OpenCV发展历史
- OpenCV在1999年开始开发
- 2006年 OpenCV1.0 正式发布
- 2009年 2.0
- 2012年 社区托管模式
- 2015年 3.0
- 2018年 4.0
- 2022年4月份 4.5.5
- 现在 4.6
OpenCV模块与架构
OpenCV-Python安装
- pip install opencv-python -i https://pypi.tsinghua.edu.cn/simple
图像读取与显示
import cv2 as cv
import numpy as np
def show_image():
image = cv.imread("starry_night.jpg")
cv.imshow("starry night", image)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == '__main__':
show_image()