日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

PyTorch中的MIT ADE20K数据集的语义分割

發布時間:2023/11/28 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyTorch中的MIT ADE20K数据集的语义分割 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyTorch中的MIT ADE20K數據集的語義分割

代碼地址:https://github.com/CSAILVision/semantic-segmentation-pytorch

Semantic Understanding of Scenes through ADE20K Dataset. B.
Zhou, H. Zhao, X. Puig, T. Xiao, S. Fidler, A. Barriuso and A. Torralba.
International Journal on Computer Vision (IJCV), 2018. (https://arxiv.org/pdf/1608.05442.pdf)

Scene Parsing through ADE20K Dataset. B. Zhou, H. Zhao, X.
Puig, S. Fidler, A. Barriuso and A. Torralba. Computer Vision and Pattern
Recognition (CVPR), 2017. (http://people.csail.mit.edu/bzhou/publication/scene-parse-camera-ready.pdf)

這是MIT ADE20K場景解析數據集(http://sceneparsing.csail.mit.edu/)上語義分割模型的PyTorch實現。

ADE20K是MIT Computer Vision團隊發布的最大的用于語義分割和場景解析的開源數據集。請通過下面的鏈接找到數據集和在Caffe和Torch7上的實現的存儲庫:https : //github.com/CSAILVision/sceneparsing

如果只是想玩演示,請嘗試以下鏈接:http : //scenesegmentation.csail.mit.edu可以上傳自己的照片并進行解析!

所有預訓練的模型都可以在以下位置找到:http 😕/sceneparsing.csail.mit.edu/model/pytorch

[從左至右:測試圖像,地面真理,預測結果]

可以在以下位置找到語義類別的顏色編碼:https 😕/docs.google.com/spreadsheets/d/1se8YEtb2detS7OuPE86fXGyD269pMycAWe2mtKUj2W8/edit?usp=sharing

更新

現在支持HRNet模型。
使用配置文件來存儲參數解析器中的大多數選項。選項的定義在中詳細介紹config/defaults.py。 在數據預處理中遵循Pytorch慣例(RGB [0,1],減去均值,除法std)。

強調

PyTorch上的同步批處理規范化

此模塊在訓練期間計算所有設備上的均值和標準差。憑經驗發現,合理的大批量批量對于細分很重要。感謝毛嘉元先生的貢獻,有關詳細信息,請參閱Synchronized-BatchNorm-PyTorch。

該實現易于使用,因為:

是純Python,沒有C ++額外的擴展庫。與PyTorch的實現完全兼容。具體來說,使用無偏方差更新移動平均值,并使用sqrt(max(var,eps))代替sqrt(var + eps)。非常有效,僅比UnsyncBN慢20%到30%。

動態輸入比例,可使用多個GPU進行訓練

對于語義分割的任務,最好在訓練過程中保持圖像的長寬比。因此,重新實現了該DataParallel模塊,并使其支持在python dict中將數據分發到多個GPU,以便每個gpu可以處理不同大小的圖像。同時,數據加載器的操作也不同。

現在,數據加載器的批處理大小始終等于GPU的數量,每個元素將被發送到GPU。也與多處理兼容。請注意,用于多處理數據加載器的文件索引存儲在主進程中,這與目標每個工作人員維護自己的文件列表的目標相矛盾。因此,使用了一個技巧,盡管主進程仍為數據加載器提供__getitem__功能索引,但只是忽略了此類請求并發送了一個隨機批處理指令。另外,如果直接使用上述技巧,則由數據加載器派生的多個工作程序都具有相同的種子,會發現多個工作程序將產生完全相同的數據。因此,添加了一行代碼,該代碼為numpy.random 在激活數據加載器中的多個工作程序之前。

最先進的模型

PSPNet是場景解析網絡,通過金字塔池模塊(PPM)聚合全局表示。是ILSVRC’16 MIT場景解析挑戰賽的獲勝者模型。有關詳細信息,請參閱https://arxiv.org/abs/1612.01105。
UPerNet是基于特征金字塔網絡(FPN)和金字塔池模塊(PPM)的模型。不需要膨脹卷積,運算符既耗時又消耗內存。無需花哨,與PSPNet相比甚至更好,同時需要更短的訓練時間和更少的GPU內存。有關詳細信息,請參閱https://arxiv.org/abs/1807.10221。
HRNet是最近提出的模型,該模型保留了整個模型的高分辨率表示,而沒有傳統的瓶頸設計。在一系列像素標記任務上實現了SOTA性能。有關詳細信息,請參閱https://arxiv.org/abs/1904.04514。

支持機型

將模型分為編碼器和解碼器,其中通常直接從分類網絡修改編碼器,并且解碼器由最終卷積和上采樣組成。在config文件夾中提供了一些預配置的模型。

編碼器:

MobileNetV2dilated
ResNet18 / ResNet18dilated
ResNet50 / ResNet50dilated
ResNet101 / ResNet101dilated
HRNetV2(W48)

解碼器:

C1(一個卷積模塊)
C1_deepsup(C1 +深度監控技巧)
PPM(金字塔合并模塊,有關詳細信息,請參閱PSPNet。)
PPM_deepsup(PPM +深度監督技巧)
UPerNet(金字塔池+ FPN頭,有關詳細信息,請參閱UperNet。)

性能:

重要說明:存儲庫中的基礎ResNet是自定義的(不同于Torchvision中的ResNet)。基本模型將在需要時自動下載。

  • x demo_test.sh

./demo_test.sh

該腳本下載經過訓練的模型(ResNet50dilated

  • PPM_deepsup)和測試圖像,運行測試腳本,并將預測的分段(.png)保存到工作目錄。

要在圖像或圖像文件夾($PATH_IMG)上進行測試,只需執行以下操作:

python3 -u test.py --imgs $PATH_IMG --gpu $GPU --cfg $CFG

訓練

下載ADE20K場景解析數據集:

chmod + x下載_ADE20K.sh

./download_ADE20K.sh

通過選擇要使用的GPU(GPUS)和配置文件(GPUS)和配置文件(GPUSCFG)來訓練模型。訓練期間,默認情況下,檢查點保存在文件夾中ckpt。

python3 train.py --gpus $ GPUS --cfg $ CFG

要選擇要使用的GPU,可以執行–gpus 0-7或–gpus 0,2,4,6。

例如,可以從提供的配置開始:

訓練MobileNetV2dilated + C1_deepsup

python3 train.py --gpus GPUS --cfg config /
ade20k-mobilenetv2dilated-c1_deepsup.yaml

訓練ResNet50dilated + PPM_deepsup

python3 train.py --gpus GPUS --cfg config /
ade20k-resnet50dilated-ppm_deepsup.yaml

訓練UPerNet101

python3 train.py --gpus GPUS --cfg config /
ade20k-resnet101-upernet.yaml

也可以在命令行中覆蓋選項,例如 python3
train.py TRAIN.num_epoch 10 。

評價

在驗證集上評估訓練有素的模型。將VAL.visualize
True參數添加到輸出可視化效果中,如預告片所示。

例如:

評估MobileNetV2dilated + C1_deepsup

python3 eval_multipro.py --gpus GPUS --cfg
config / ade20k-mobilenetv2dilated-c1_deepsup.yaml

評估ResNet50dilated + PPM_deepsup

python3 eval_multipro.py --gpus GPUS --cfg
config / ade20k-resnet50dilated-ppm_deepsup.yaml

評估UPerNet101

python3 eval_multipro.py --gpus GPUS --cfg
config / ade20k-resnet101-upernet.yaml

與其項目整合

可以通過安裝該庫pip以輕松與另一個代碼庫集成

點安裝git + https:pip install git+https://github.com/CSAILVision/semantic-segmentation-pytorch.git@master

現在,可以輕松地以編程方式使用此庫。例如

from mit_semseg.config import cfg
from mit_semseg.dataset import TestDataset
from mit_semseg.models import ModelBuilder,

總結

以上是生活随笔為你收集整理的PyTorch中的MIT ADE20K数据集的语义分割的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。