深度学习框架
一、计算机视觉库
1. OpenCV
OpenCV 是最古老、最受欢迎的开源计算机视觉库,为计算机视觉应用提供通用底层算法。
特性:
- 跨平台支持(Windows、Linux、Android、macOS)
- 支持 Python、Java、C++ 等语言
- 支持 GPU CUDA 加速
- 包含可转换为 TensorFlow 模型的预训练模型
主要功能:
- 2D/3D 图像工具包
- 人脸识别、手势识别
- 运动检测、人机交互
- 对象检测、图像分割
2. Scikit-Image
Python 视觉库,是 Scikit-Learn 的扩展,支持将 NumPy 数组作为图像对象处理。
1 | import skimage as ski |
3. Pillow (PIL Fork)
Python 图像处理库,支持多种格式图像读写,包含旋转、合并、缩放等基础变换。
4. TorchVision
PyTorch 扩展库,提供常见图像转换功能、数据集和模型架构,支持 Python 和 C++。
5. MMDetection
基于 PyTorch 的目标检测工具箱,支持多种检测模型(Faster R-CNN、YOLO、SSD 等)。
二、深度学习框架
6. TensorFlow
Google Brain 团队开发(2015年11月发布),支持图像分类、人脸识别、目标检测等任务。
扩展组件:
- TensorFlow.js:浏览器和 Node.js
- TensorFlow Lite:终端设备
- TensorFlow Hub:模型复用平台
编程接口:Python、C、C++、Java、JavaScript、Go、R
7. PyTorch
Facebook AI 研究小组开发,Python 优先框架,灵活易用,支持 GPU 加速和动态计算图。
应用场景:图像评估、图像分割、图像分类
8. Keras
基于 Python 的开源库,对初学者友好,底层使用 TensorFlow,有强大的社区支持。
应用场景:图像分割分类、手写识别、3D图像分类、语义图像聚类
9. Caffe
加州大学伯克利分校开发,使用 C++ 编写,支持多语言,用于图像分类、分割模型开发。
适用领域:视觉、语音、多媒体
10. MXNet
亚马逊 AWS 默认框架,支持混合编程模型,支持 Python、C++、R、Scala、Julia 等语言。
三、推理部署工具
11. NVIDIA CUDA-X
GPU 加速库集合,包含数学库、并行算法库、图像视频库、深度学习库。
12. OpenVINO
英特尔开发的跨平台框架,功能包括对象检测、人脸识别、图像彩色化、运动识别。
13. NVIDIA TensorRT
NVIDIA 高性能深度学习推理引擎,优化模型推理性能。
四、目标检测专用
14. YOLO 系列
实时目标检测模型,Joseph Redmon 和 Ali Farhadi 于 2016 年开发。
版本:YOLOv1 → YOLOv8
特性:将图像划分为网格,同时预测各网格目标,高效实时
应用:目标检测、实例分割、图像分类、姿态估计
15. Detectron2
Facebook AI Research 开发的 PyTorch 目标检测库。
包含模型:Faster R-CNN、Mask R-CNN、RetinaNet、DensePose、Cascade R-CNN、Panoptic FPN、TensorMask
五、轻量级框架
16. SimpleCV
开源机器视觉框架,轻松访问 OpenCV 等高性能库,无需深入了解底层概念。
六、框架选型建议
| 场景 | 推荐框架 |
|---|---|
| 入门学习 | Keras、PyTorch |
| 生产部署 | TensorFlow、Caffe2、OpenVINO |
| 目标检测 | YOLO、Detectron2、MMDetection |
| 边缘设备 | OpenVINO、TensorRT Lite |
| 研究实验 | PyTorch、MXNet |