本文介紹了微軟開源的計(jì)算機(jī)視覺(jué)庫(kù),它囊括了計(jì)算機(jī)視覺(jué)領(lǐng)域的最佳實(shí)踐、代碼示例和豐富文檔。
近年來(lái),計(jì)算機(jī)視覺(jué)領(lǐng)域突飛猛進(jìn),在人臉識(shí)別、圖像理解、搜索、無(wú)人機(jī)、地圖、半自動(dòng)和自動(dòng)駕駛方面得到廣泛應(yīng)用。而這些應(yīng)用的核心部分是視覺(jué)識(shí)別任務(wù),如圖像分類、目標(biāo)檢測(cè)和圖像相似度。 在各種計(jì)算機(jī)視覺(jué)模型和應(yīng)用層出不窮的當(dāng)下,如何把握發(fā)展脈絡(luò),跟進(jìn)領(lǐng)域前沿發(fā)展呢?微軟創(chuàng)建了一個(gè)庫(kù),提供構(gòu)建計(jì)算機(jī)視覺(jué)系統(tǒng)的大量示例和最佳實(shí)踐指導(dǎo)原則。 項(xiàng)目地址:https://github.com/microsoft/computervision-recipes 這個(gè)庫(kù)旨在構(gòu)建一個(gè)全面的集合,涵蓋利用了計(jì)算機(jī)視覺(jué)算法、神經(jīng)架構(gòu)和系統(tǒng)運(yùn)行方面近期進(jìn)展的工具和示例。 該庫(kù)沒(méi)有從頭開始創(chuàng)建實(shí)現(xiàn),而是基于已有的 SOTA 庫(kù)發(fā)展而來(lái),并圍繞加載圖像數(shù)據(jù)、優(yōu)化和評(píng)估模型、擴(kuò)展至云端構(gòu)建了額外的工具函數(shù)。此外,微軟團(tuán)隊(duì)表示,希望通過(guò)該項(xiàng)目回答計(jì)算機(jī)視覺(jué)領(lǐng)域的常見(jiàn)問(wèn)題、指出頻繁出現(xiàn)的缺陷問(wèn)題,并展示如何利用云進(jìn)行模型訓(xùn)練和部署。 該庫(kù)中所有示例以 Jupyter notebooks 和常見(jiàn)工具函數(shù)的形式呈現(xiàn)。所有示例均使用 PyTorch 作為底層深度學(xué)習(xí)庫(kù)。
Jupyter notebooks 地址:https://github.com/microsoft/computervision-recipes/blob/master/scenarios
工具函數(shù)地址:https://github.com/microsoft/computervision-recipes/blob/master/utils_cv
目標(biāo)群體 該庫(kù)的目標(biāo)群體是具備一定計(jì)算機(jī)視覺(jué)知識(shí)背景的數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師,因?yàn)閹?kù)的內(nèi)容以 source-only(僅源代碼)的形式呈現(xiàn),支持自定義機(jī)器學(xué)習(xí)建模。這個(gè)庫(kù)提供的工具函數(shù)和示例旨在為現(xiàn)實(shí)世界的視覺(jué)問(wèn)題提供解決方案加速器。 示例 該庫(kù)支持不同的計(jì)算機(jī)視覺(jué)場(chǎng)景,如基于單張圖像運(yùn)行,示例如下:
或基于視頻序列的動(dòng)作識(shí)別等場(chǎng)景,示例如下:
場(chǎng)景 該庫(kù)涵蓋常用的計(jì)算機(jī)視覺(jué)場(chǎng)景,包含如下類別:
對(duì)于每個(gè)主要場(chǎng)景(base),該項(xiàng)目均提供使用戶高效構(gòu)建自己模型的工具。這需要使用者完成一些任務(wù),如基于自己的數(shù)據(jù)微調(diào)模型的簡(jiǎn)單任務(wù),或者難例挖掘甚至模型部署等更復(fù)雜的任務(wù)。 1. 圖像分類任務(wù) 該目錄提供了構(gòu)建圖像分類系統(tǒng)的示例和最佳實(shí)踐,旨在讓用戶能夠在自己的數(shù)據(jù)集上輕松快速地訓(xùn)練高準(zhǔn)確率分類器。 這里提供的示例 notebook 具備預(yù)置的默認(rèn)參數(shù),可以很好地處理多個(gè)數(shù)據(jù)集。該目錄還提供了有關(guān)常見(jiàn)缺陷和最佳實(shí)踐的大量文檔。 此外,該庫(kù)還展示了如何使用微軟的云計(jì)算平臺(tái) Azure,加快在大型數(shù)據(jù)集上的訓(xùn)練速度或?qū)⒛P筒渴馂?web 服務(wù)。
2. 圖像相似度 該目錄提供了構(gòu)建圖像相似度系統(tǒng)的示例和最佳實(shí)踐,旨在使用戶能夠基于自己的數(shù)據(jù)集方便快捷地訓(xùn)練高精度模型。 下圖為圖像檢索示例,其中左圖為查詢圖像,右面為與之最相似的 6 幅圖像:
3. 目標(biāo)檢測(cè) 該目錄提供了構(gòu)建目標(biāo)檢測(cè)系統(tǒng)的示例和最佳實(shí)踐,旨在使用戶能夠基于自己的數(shù)據(jù)集方便快捷地訓(xùn)練高準(zhǔn)確率模型。
該庫(kù)使用了 torchvision 的 Faster R-CNN 實(shí)現(xiàn),它被證明能夠很好地處理多種計(jì)算機(jī)視覺(jué)問(wèn)題。 項(xiàng)目作者建議使用者在具備 GPU 的機(jī)器上運(yùn)行示例,雖然 GPU 在技術(shù)層面上并非必需,但是如果不使用 GPU,即使只用幾十個(gè)圖像,訓(xùn)練過(guò)程也會(huì)變得非常緩慢。 4. 關(guān)鍵點(diǎn)檢測(cè) 該目錄包含構(gòu)建關(guān)鍵點(diǎn)檢測(cè)系統(tǒng)的示例和最佳實(shí)踐指導(dǎo)原則,并展示了如何使用預(yù)訓(xùn)練模型進(jìn)行人體姿勢(shì)估計(jì)。 該目錄使用了 Mask R-CNN 的擴(kuò)展,可以同時(shí)檢測(cè)物體及其關(guān)鍵點(diǎn)。其底層技術(shù)與上述目標(biāo)檢測(cè)方法類似,即基于 Torchvision 的 Mask R-CNN。
5. 圖像分割 該目錄提供了構(gòu)建圖像分割系統(tǒng)的示例和最佳實(shí)踐,旨在使用戶能夠基于自己的數(shù)據(jù)集方便快捷地訓(xùn)練高準(zhǔn)確率模型。
這里的實(shí)現(xiàn)使用了 fastai 的 UNet 模型,其中 CNN 主干(如 ResNet)在 ImageNet 數(shù)據(jù)集上經(jīng)過(guò)預(yù)訓(xùn)練,因此使用者只需少量標(biāo)注訓(xùn)練樣本就可以對(duì)其進(jìn)行微調(diào)。 6. 動(dòng)作識(shí)別 該目錄包含構(gòu)建基于視頻的動(dòng)作識(shí)別系統(tǒng)所需要的資源,旨在使用戶能夠在自定義數(shù)據(jù)集上輕松快速地訓(xùn)練出高準(zhǔn)確率的快速模型。 動(dòng)作識(shí)別(也叫「活動(dòng)識(shí)別」)包括從一系列幀中對(duì)多種動(dòng)作進(jìn)行分類,例如「閱讀」或「飲酒」:
動(dòng)作識(shí)別是一個(gè)熱門的研究領(lǐng)域,每年都有大量的方法發(fā)表。其中一個(gè)突出的方法是 R(2+1)D 模型,它能夠獲得高準(zhǔn)確率,且比其他方法快得多。(參見(jiàn)論文《Large-scale weakly-supervised pre-training for video action recognition》) 該目錄中的實(shí)現(xiàn)和預(yù)訓(xùn)練權(quán)重均基于這個(gè) GitHub 庫(kù)(https://github.com/moabitcoin/ig65m-pytorch),并添加了一些功能,以使自定義模型的訓(xùn)練和評(píng)估更加用戶友好。這里在預(yù)訓(xùn)練時(shí)使用的是 IG-Kinetics 數(shù)據(jù)集。 7. 多目標(biāo)跟蹤 該目錄提供了構(gòu)建和推斷多目標(biāo)跟蹤系統(tǒng)的示例和最佳實(shí)踐,旨在使用戶能夠基于自定義數(shù)據(jù)集輕松訓(xùn)練高準(zhǔn)確率跟蹤模型。 該庫(kù)集成了 FairMOT 跟蹤算法,該算法在近期的 MOT 基準(zhǔn)測(cè)試中表現(xiàn)出了很強(qiáng)的跟蹤性能,同時(shí)也推理速度也很快。 8. 人群計(jì)數(shù) 該目錄提供了多個(gè)人群計(jì)數(shù)算法的 production-ready 版本,不同算法被統(tǒng)一在一組一致性 API 下。
對(duì)多個(gè)基于專用數(shù)據(jù)集的人群計(jì)數(shù)模型實(shí)現(xiàn)進(jìn)行評(píng)估后,該項(xiàng)目將模型范圍縮小到兩個(gè)選項(xiàng):Multi Column CNN model (MCNN) 和 OpenPose 模型。二者均符合速度要求。
對(duì)于高密度人群圖像,MCNN 模型取得了良好的效果;
對(duì)于低密度場(chǎng)景,OpenPose 表現(xiàn)良好。
而當(dāng)人群密度未知時(shí),該項(xiàng)目采用啟發(fā)式方法。在滿足以下條件時(shí)使用 MCNN 進(jìn)行預(yù)測(cè):OpenPose 預(yù)測(cè)大于 20,MCNN 大于 50。反之,則使用 OpenPose 預(yù)測(cè)。模型的閾值可以根據(jù)使用者的場(chǎng)景進(jìn)行更改。
此外,該目錄還展示了依賴項(xiàng)、安裝過(guò)程、測(cè)試及性能。
-
微軟
+關(guān)注
關(guān)注
4文章
6566瀏覽量
103957 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
8文章
1696瀏覽量
45928 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8378瀏覽量
132411
原文標(biāo)題:PyTorch實(shí)現(xiàn),GitHub 4000星:這是微軟開源的計(jì)算機(jī)視覺(jué)庫(kù)
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論