计算机视觉(Computer Vision,简称CV)是一种模拟人类视觉的科学,目标是让计算机能够感知、理解、分析、解释图像和视频数据。它在很多新兴领域都发挥着关键作用,包括人脸识别、自动驾驶、无人机、医学影像分析等等。
本文将为您介绍8个CV的开源项目,它们在CV领域中扮演着关键角色。这些项目不仅展现了CV技术的最新进展,还为推动该领域的创新和应用实践提供了坚实的基石。
OpenCV
OpenCV的全称是Open Source Computer Vision Library,是一个功能强大的跨平台计算机视觉和机器学习软件库,主要用于实时视觉应用。它提供了大量的图像和视频处理功能,包括特征检测、对象跟踪、运动分析、3D重建等等,是一个非常热门和基础的开源项目 。支持多种编程语言,比较热门的包括C++、Python、Objective-C、HTML等
OpenCV主要特点:具有易用性、高效性、扩展性、跨平台兼容性、模块化设计
GitHub项目库地址: https://github.com/opencv
OpenCV网站: https://opencv.org
中文介绍:https://blog.csdn.net/chenlycly/article/details/131352357
Detectron2
detectron2是Facebook开源的深度学习的目标检测框架,建立在Detectron和maskrcnn-benchmark基础之上,可以进行目标检测、语义分割、全景分割,以及人体体姿骨干的识别。目前新增了Densepose、Cascade R-CNN、PointRend、DeepLab、ViTDet、MViTv2等新模型;模型可以导出为TorchScript格式或Caffe2格式进行部署。
detectron2的特点:强大、灵活,而且可以通过list of dict格式定义自己的数据集, 简单好用。
GitHub项目地址:https://github.com/facebookresearch/detectron2
官方文档:detector2.readthedocs.io/en/latest/
GitHub的star:29.4K
YOLOv10
YOLOv10是毫秒级实时端到端目标检测的开源模型。5月25日,由清华大学研究人员推出YOLOv10,被认为是计算机视觉领域的突破性框架,它有效地将YOLO框架推End-to-End的推理范式。与 YOLOv9-C相比,在相同性能下,YOLOv10-B的延迟减少了46%,参数减少了25%。
YOLOv10主要亮点:在效率和准确度方面有所突破,更值得注意的是它提出NMS-free训练的一致双分配策略来解决后处理中的冗余预测问题;
GitHub项目地址: https://github.com/THU-MIG/yolov10
论文地址:https://arxiv.org/pdf/2405.14458
GitHub的star:8.3K
MMDetection
MMDetection是一个基于PyTorch的目标检测工具箱,包含了丰富的目标检测、实例分割、全景分割算法以及相关的组件和模块,也是OpenMMLab项目的一部分。MMDetection支持在Linux、Windows 和 macOS系统运行。官方建议需要Python 3.7+、CUDA 9.2+或PyTorch 1.8+。
MMDetection的主要特点:模块化设计、支持多种检测任务、高效
GitHub项目地址:https://github.com/open-mmlab/mmdetection
官方文档:https://mmdetection.readthedocs.io/en/latest/get_started.html
GitHub上star:28.6K
segment-anything
segment-anything是由Meta提出的分割一切模型,简称SAM模型,是一个提示型模型。可根据点或框等输入提示生成高质量的物体蒙版,并可用于为图像中的所有物体生成蒙版。目前该模型已在包含1100 万张图像和 11 亿个蒙版的数据集上进行了训练,并且在各种分割任务中具有强大的零样本性能。
segment-anything的特点:可以自动分割和识别图像、视频和音频中的任何对象,无需深度学习专业知识,是一个非常实用的图像处理工具。
GitHub项目地址:https://github.com/facebookresearch/segment-anything
论文地址:https://arxiv.org/abs/2304.02643
demo地址:https://segment-anything.com/demo
GitHub上star:45.6K
Track-Anything
Track-Anything,简称TAM,是一款灵活交互式的视频对象跟踪和分割工具,只需用户点击即可指定要跟踪和分割的任意目标而不需要手工标注,它是在Segment anything(SAM)的基础上开发出来的。SAM是针对图像的分割一切,而TAM是针对视频的分割一切。适用于:随着镜头变化的视频对象跟踪和分割;视频对象跟踪和分割的可视化开发和数据注释;以目标为中心的相关视频任务,例如视频修复和编辑。
TAM的特点:易用、灵活而且可以跨平台。
GitHub项目地址:https://github.com/gaomingqi/Track-Anything
论文地址:https://arxiv.org/abs/2304.11968
教程地址:https://github.com/gaomingqi/Track-Anything/blob/master/doc/tutorials.md
GitHub上star:6.3K
Grounding DINO
Grounding DINO是一种开放集物体检测器,基于定位的DINO,通过将基于Transformer的检测器DINO与定位预训练相结合,可以检测任意物体,如人工输入的类别名称或指称表达等。
Grounding DINO的特点:可根据人类文字输入去检测任意类别的目标;在不需要任何COCO训练集的情况下,Grounding DINO就在COCO minival测试集中达到了52.5AP,经过微调之后达到了63.0AP;Grounding DINO和stable diffusion结合时,就会出现更加神奇的功能—自动P图。
GitHub项目地址:https://github.com/IDEA-Research/GroundingDINO
论文地址: https://arxiv.org/abs/2303.05499
GitHub上star:5.7K
Animated Drawings
Animated Drawings是由Meta团队于2021年发布的AI工具。这个项目的相关算法已在GitHub上开源。这款工具利用人工智能技术,可以将绘画作品转化为动态的动画!
Animated Drawings的特点:让您可以灵活地创建以自己绘制的角色为主角的动画。
GitHub项目地址: https://github.com/facebookresearch/AnimatedDrawings
论文地址:https://dl.acm.org/doi/10.1145/3592788
演示地址:www.sketch.metademolab.com
GitHub上star:10.3K