深度学习框架

一、计算机视觉库

1. OpenCV

OpenCV 是最古老、最受欢迎的开源计算机视觉库,为计算机视觉应用提供通用底层算法。

特性

  • 跨平台支持(Windows、Linux、Android、macOS)
  • 支持 Python、Java、C++ 等语言
  • 支持 GPU CUDA 加速
  • 包含可转换为 TensorFlow 模型的预训练模型

主要功能

  • 2D/3D 图像工具包
  • 人脸识别、手势识别
  • 运动检测、人机交互
  • 对象检测、图像分割

2. Scikit-Image

Python 视觉库,是 Scikit-Learn 的扩展,支持将 NumPy 数组作为图像对象处理。

1
2
3
4
5
import skimage as ski
image = ski.data.coins()
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()

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