术语表

OpenCV

了解 OpenCV 的强大功能,OpenCV 是实时计算机视觉、图像处理和人工智能创新的首选开源库。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

OpenCV 是 Open Source Computer Vision Library(开源计算机视觉库)的简称,是一个功能强大、用途广泛的开源库,广泛应用于人工智能和机器学习领域。它提供了一套全面的工具和算法,专门用于实时计算机视觉(CV)任务、图像处理和视频分析。对于机器学习从业人员来说,OpenCV 是处理视觉数据的基本工具包,可以完成从基本图像加载和处理到复杂场景理解的各种任务。由OpenCV.org 维护的开源特性促进了一个庞大的社区和持续发展。

人工智能和机器学习的相关性

OpenCV 在人工智能和 ML 流程中发挥着至关重要的作用,尤其是在处理视觉输入时。它为数据预处理提供了基本工具,这是将图像或视频输入机器学习模型前的关键步骤。OpenCV 处理的常见预处理步骤包括调整大小、色彩空间转换、降噪以及应用各种过滤器来提高图像质量或提取相关特征。这种预处理会极大地影响深度学习模型的性能。OpenCV 经常与流行的 ML 框架结合使用,如 PyTorchTensorFlow等流行的 ML 框架来构建端到端 CV 应用程序。OpenCV 在处理实时视频流方面的高效率使其成为需要即时视觉分析的应用不可或缺的工具,例如使用对象检测模型进行实时推理,如 Ultralytics YOLO.

主要特点和区别

OpenCV 提供了大量功能,既包括经典的计算机视觉算法,也支持现代技术。主要功能包括

  • 图像/视频输入/输出:读写各种图像和视频文件格式。
  • 图像处理:裁剪、旋转、调整大小和颜色调整等操作。探索使用Ultralytics 模型进行对象裁剪等指南。
  • 特征检测:采用 SIFT、SURF 和 ORB 等算法识别图像中的关键点(特征检测文档)。
  • 物体检测:包括 Haar 级联等经典方法,并支持集成深度学习检测器。
  • 视频分析运动跟踪、背景减影和光流功能。

虽然 OpenCV 提供了执行 CV 任务的工具,但它与计算机视觉领域本身不同,后者是更广泛的科学学科。它也不同于图像处理,后者通常只关注图像处理;OpenCV 包括处理,但也扩展到解释和分析。与诸如 PyTorchTensorFlow等 ML 框架侧重于构建和训练神经网络,OpenCV 则提供基础图像处理和传统 CV 算法,这些算法通常在深度学习模型推理步骤之前之后使用,例如在检测到的物体上绘制边界框

实际应用

OpenCV 的功能被广泛应用于多个领域:

  • 自动驾驶汽车:自动驾驶技术中,OpenCV 被用于实时处理来自摄像头的数据。它有助于检测车道线、识别交通标志和信号灯、识别行人和跟踪其他车辆,为导航系统提供重要输入。
  • 医学图像分析:OpenCV 可协助预处理 X 光、CT 扫描和核磁共振成像等医学图像。任务包括降噪、对比度增强和分割,为诊断审查或专门的人工智能医疗模型分析图像做好准备。了解类似技术如何应用于肿瘤检测
  • 安全与监控:面部识别、运动检测和物体跟踪系统中使用,以监控区域并触发警报,如安全警报系统项目等指南中展示的那样。
  • 机器人使机器人能够通过视觉传感器感知周围环境,促进导航、物体操纵和互动。探索计算机视觉与机器人技术的结合。

OpenCV 仍然是计算机视觉应用开发人员和研究人员的基石库,通常集成到通过Ultralytics HUB等平台管理的更大系统中,以简化模型开发和部署。

阅读全部