1. <acronym id="vwv6e"><var id="vwv6e"></var></acronym>
    2. 午夜福利国产精品视频,中文字幕日韩有码av,av午夜福利一片免费看久久,欧美牲交a欧美牲交aⅴ图片,国产精品亚洲二区在线播放,四虎在线成人免费观看,麻豆国产成人AV在线播放,亚洲av永久无码精品网站
      澎湃Logo
      下載客戶端

      登錄

      • +1

      如何用PyTorch進行語義分割?一個教程教會你

      2020-11-29 08:49
      來源:澎湃新聞·澎湃號·湃客
      字號

      木易 發自 凹非寺

      量子位 報道 | 公眾號 QbitAI

      很久沒給大家帶來教程資源啦。

      正值PyTorch 1.7更新,那么我們這次便給大家帶來一個PyTorch簡單實用的教程資源:用PyTorch進行語義分割。

      △圖源:stanford

      該教程是基于2020年ECCV Vipriors Chalange Start Code實現了語義分割,并且添加了一些技巧。

      友情提示:教程中的所有文件均可以在文末的開源地址獲取。

      預設置

      在開始訓練之前,得首先設置一下庫、數據集等。

      庫準備

      pip install -r requirements.txt

      下載數據集

      教程使用的是來自Cityscapes的數據集MiniCity Dataset。

      數據集的簡單數據分析

      將各基準類別進行輸入:

      之后,便從0-18計數,對各類別進行像素標記:
      使用deeplab v3進行基線測試,結果發現次要類別的IoU特別低,這樣會導致難以跟背景進行區分。

      如下圖中所示的墻、柵欄、公共汽車、火車等。

      分析結論:數據集存在嚴重的類別不平衡問題。

      訓練基準模型

      使用來自torchvision的DeepLabV3進行訓練。

      硬件為4個RTX 2080 Ti GPU (11GB x 4),如果只有1個GPU或較小的GPU內存,請使用較小的批處理大小(< = 8)。

      python baseline.py --save_path baseline_run_deeplabv3_resnet50 --crop_size 576 1152 --batch_size 8;

      python baseline.py --save_path baseline_run_deeplabv3_resnet101 --model DeepLabv3_resnet101 --train_size 512 1024 --test_size 512 1024 --crop_size 384 768 --batch_size 8;

      損失函數

      有3種損失函數可供選擇,分別是:交叉熵損失函數(Cross-Entropy Loss)、類別加權交叉熵損失函數(Class-Weighted Cross Entropy Loss)和焦點損失函數(Focal Loss)。

      交叉熵損失函數,常用在大多數語義分割場景,但它有一個明顯的缺點,那就是對于只用分割前景和背景的時候,當前景像素的數量遠遠小于背景像素的數量時,模型嚴重偏向背景,導致效果不好。

      # Cross Entropy Loss

      python baseline.py --save_path baseline_run_deeplabv3_resnet50 --crop_size 576 1152 --batch_size 8;

      類別加權交叉熵損失函數是在交叉熵損失函數的基礎上為每一個類別添加了一個權重參數,使其在樣本數量不均衡的情況下可以獲得更好的效果。

      # Weighted Cross Entropy Loss

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_wce --crop_size 576 1152 --batch_size 8 --loss weighted_ce;

      焦點損失函數則更進一步,用來解決難易樣本數量不平衡。

      # Focal Loss

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_focal --crop_size 576 1152 --batch_size 8 --loss focal --focal_gamma 2.0;

      歸一化層

      有4種歸一化方法:BN(Batch Normalization)、IN(Instance Normalization)、GN(Group Normalization)和EvoNorm(Evolving Normalization)。

      BN是在batch上,對N、H、W做歸一化,而保留通道 C 的維度。BN對較小的batch size效果不好。

      # Batch Normalization

      python baseline.py --save_path baseline_run_deeplabv3_resnet50 --crop_size 576 1152 --batch_size 8;

      IN在圖像像素上,對H、W做歸一化,用在風格化遷移。

      # Instance Normalization

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_instancenorm --crop_size 576 1152 --batch_size 8 --norm instance;

      GN將通道分組,然后再做歸一化。

      # Group Normalization

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_groupnorm --crop_size 576 1152 --batch_size 8 --norm group;

      EvoNorm則是4月份由谷歌和DeepMind 聯合發布的一項新技術。實驗證明,EvoNorms 在多個圖像分類模型上效果顯著,而且還能很好地遷移到 Mask R-CNN 模型和 BigGAN。

      # Evolving Normalization

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_evonorm --crop_size 576 1152 --batch_size 8 --norm evo;

      數據增強

      2種數據增強技術:CutMix、Copy Blob。

      CutMix

      將一部分區域cut掉但不填充0像素,而是隨機填充訓練集中的其他數據的區域像素值,分類結果按一定的比例分配。

      而在這里,則是在原有CutMix的基礎上,引入了語義分割。

      # CutMix Augmentation

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_cutmix --crop_size 576 1152 --batch_size 8 --cutmix;

      Copy Blob

      在 Blob 存儲的基礎上構建,并通過Copy的方式增強了性能。

      另外,如果要解決前面所提到的類別不平衡問題,則可以使用視覺歸納優先的CopyBlob進行增強。

      # CopyBlob Augmentation

      python baseline.py --save_path baseline_run_deeplabv3_resnet50_copyblob --crop_size 576 1152 --batch_size 8 --copyblob;

      推理

      訓練結束后,對訓練完成的模型進行評估。

      python baseline.py --save_path baseline_run_deeplabv3_resnet50 --batch_size 4 --predict;

      多尺度推斷

      使用[0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.2]進行多尺度推理。另外,使用H-Flip,同時必須使用單一批次。

      # Multi-Scale Inference

      python baseline.py --save_path baseline_run_deeplabv3_resnet50 --batch_size 1 --predict --mst;

      使用驗證集計算度量

      計算指標并將結果保存到results.txt中。

      python evaluate.py --results baseline_run_deeplabv3_resnet50/results_val --batch_size 1 --predict --mst;

      最終結果

      最后的單一模型結果是0.6069831962012341,

      如果使用了更大的模型或者更大的網絡結構,性能可能會有所提高。

      另外,如果使用了各種集成模型,性能也會有所提高。

      資源地址:

      https://github.com/hoya012/semantic-segmentation-tutorial-pytorch

      — 完 —

      本文系網易新聞?網易號特色內容激勵計劃簽約賬號【量子位】原創內容,未經賬號授權,禁止隨意轉載。

      原標題:《如何用PyTorch進行語義分割?一個教程教會你|資源》

      閱讀原文

        本文為澎湃號作者或機構在澎湃新聞上傳并發布,僅代表該作者或機構觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。

        +1
        收藏
        我要舉報
                查看更多

                掃碼下載澎湃新聞客戶端

                滬ICP備14003370號

                滬公網安備31010602000299號

                互聯網新聞信息服務許可證:31120170006

                增值電信業務經營許可證:滬B2-2017116

                ? 2014-2025 上海東方報業有限公司

                反饋
                主站蜘蛛池模板: 高清不卡一区二区三区| 全部免费毛片在线播放| 精品久久久bbbb人妻| 日韩精品一卡二卡在线观看| 久久国产免费观看精品| 精品国产乱码久久久久久口爆网站| 亚洲国产一区二区三区| 国产色视频一区二区三区| 久久一日本道色综合久久| 无码人妻精品丰满熟妇区| 99久久无码一区人妻a黑| 四虎精品国产精品亚洲精| 国产睡熟迷奷系列网站| 亚洲精品久荜中文字幕| 日本熟妇XXXX潮喷视频| 日本一级午夜福利免费区| 亚洲成人高清av在线| 国产情侣激情在线对白| 侯马市| 色综合天天综合网天天看片| 内射无套内射国产精品视频| 亚洲国产精品久久久久秋霞 | 国产怡春院无码一区二区| 熟女蜜臀av麻豆一区二区| 亚洲中文字幕成人综合网| 91精品国产午夜福利| 欧美精品在线观看视频| 伊人久久精品无码麻豆一区| 一区二区三区精品偷拍| 黑人异族巨大巨大巨粗| 天堂mv在线mv免费mv香蕉| 国产91午夜福利精品| 免费无遮挡无码永久在线观看视频| 成人免费在线播放av| 91久久久久无码精品露脸| 亚洲精品二区在线播放| 九九色这里只有精品国产| av色蜜桃一区二区三区| 激情综合五月丁香亚洲| 无码专区一va亚洲v专区在线| 北岛玲中文字幕人妻系列|