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