頻繁用到的計算機視覺工具集合
背景介紹
在視覺相關工程師的日常工作中,需要大量時間書寫計算機視覺工具,但這類工具往往存在重復的問題。為了解決這個問題,我們往往會對現(xiàn)有的代碼進行修改或重用,但這可能會帶來新的問題,例如缺乏高度的定制化、代碼結(jié)構混亂導致后期難以維護、或者無法適應新的數(shù)據(jù)集。這些問題都讓我們非??鄲?。
今天要給大家推薦一個 GitHub 開源項目 roboflow/supervision,該項目在 GitHub 有超過 8.1k Star,用一句話介紹該項目就是:“We write your reusable computer vision tools. ”。
項目介紹
Supervision 項目的主旨就是為你書寫可重用的計算機視覺工具。不論你需要從硬盤加載數(shù)據(jù)集,還是在圖像或視頻上繪制偵測,或者計算一個區(qū)域內(nèi)有多少偵測,你都可以依賴這個項目。而且,Supervision 更是被設計為模型不可知的。只要將分類、檢測、分割模型插入即可。
項目還提供了各種廣泛且高度可定制的標記器,讓你能夠?qū)⒄咦罴训目梢暬糜谧约旱氖褂脠鼍爸?。此外,引用該項目庫,你還可以借助一套工具,用于加載、分割、合并和保存數(shù)據(jù)集。
除此之外,該項目還提供了一些相關的教程:
如何使用
在 Python>=3.8 的環(huán)境下,你可以通過以下命令安裝這個包:
pip install supervision
然后,你就可以使用任何分類、檢測或分割模型了。如果你需要使用我們?yōu)樽盍餍械膸靹?chuàng)建的連接器,比如 Ultralytics,Transformers,或者 MMDetection ,你可以參考以下代碼:
>>> import cv2
>>> import supervision as sv
>>> from ultralytics import YOLO
>>> image = cv2.imread(...)
>>> model = YOLO('yolov8s.pt')
>>> result = model(image)[0]
>>> detections = sv.Detections.from_ultralytics(result)
>>> len(detections)
5
以下是該項目 Star 趨勢圖(代表項目的活躍程度):
更多項目詳情請查看如下鏈接。
開源項目地址:https://github.com/roboflow/supervision
開源項目作者:roboflow
以下是參與項目建設的所有成員:
關注我們,一起探索有意思的開源項目。