Datawhale第13期組隊學習筆記Task2

2021-10-06 10:07:26 字數 3029 閱讀 8523

task2主要內容為資料讀取、資料擴增方法和pytorch讀取賽題資料三個部分組成。

用pil裡面的image方法讀取比較簡單,直接

im =image.

open

(名.jpg')

即可。

而其中包含了一些別的讀取方式,如應用模糊濾鏡:

im =image.

open

('test1.png'

)im.

filter

(imagefilter.blur)

上面是模糊之後的圖,下面是原圖

而opencv在功能上比pillow更加強大很多。

opencv是乙個跨平台的計算機視覺庫,最早由intel開源得來。opencv發展的非常早,擁有眾多的計算機視覺、數字影象處理和機器視覺等功能。

可以看到,opencv讀取後,是以影象矩陣的方式儲存的。

opencv讀取影象後,輸出的shape為(hw3),如下:h:行數,w:列數,3:3通道,在opencv中預設的顏色空間是bgr,同時畫素值為0-255。而pil則是以rgb三通道儲存。

用的是canny運算元實現的邊緣檢測

在深度學習模型的訓練過程中,資料擴增是必不可少的環節。現有深度學習的引數非常多,一般的模型可訓練的參數量基本上都是萬到百萬級別,而訓練集樣本的數量很難有這麼多。

其次資料擴增可以擴充套件樣本空間,假設現在的分類模型需要對汽車進行分類,左邊的是汽車a,右邊為汽車b。如果不使用任何資料擴增方法,深度學習模型會從汽車車頭的角度來進行判別,而不是汽車具體的區別。

資料擴增方法有很多:從顏色空間、尺度空間到樣本空間,同時根據不同任務資料擴增都有相應的區別。

對於影象分類,資料擴增一般不會改變標籤;對於物體檢測,資料擴增會改變物體座標位置;對於影象分割,資料擴增會改變畫素標籤。

在常見的資料擴增方法中,一般會從影象顏色、尺寸、形態、空間和畫素等角度進行變換。當然不同的資料擴增方法可以自由進行組合,得到更加豐富的資料擴增方法。

以torchvision為例,常見的資料擴增方法包括:

下圖是幾個影象變換操作:

transforms.resize((64

,128))

# 隨機顏色變換

transforms.colorjitter(

0.2,

0.2,

0.2)

# 加入隨機旋轉

transforms.randomrotation(5)

# 將轉換為pytorch 的tesntor

transforms.totensor(

)# 對影象畫素進行歸一化

而使用compose可以將多個影象變換操作一起執行

p = transforms.compose(

[# 縮放到固定尺寸

transforms.resize((64

,128))

,# 隨機顏色變換

transforms.colorjitter(

0.2,

0.2,

0.2)

,# 加入隨機旋轉

transforms.randomrotation(5)

,# 將轉換為pytorch 的tesntor

# transforms.totensor(),

# 對影象畫素進行歸一化

Datawhale第13期組隊學習筆記Task5

tta及baseline改進思考 測試時增強 test time augmentation,tta 可將準確率提高若干個百分點,這裡會為原始影象造出多個不同版本,包括不同區域裁剪和更改縮放程度等,並將它們輸入到模型中 然後對多個版本進行計算得到平均輸出,作為影象的最終輸出分數。有作弊的嫌疑。這種技術...

Datawhale組隊學習Pandas

下面直接展示內聯 片。備註內容為學習後的感想與總結 author xuxt time 2020 12 14l def my func x return 2 x for i in range 5 l.my func i print l 定義 我的函式 輸入x,返回,2x,即輸入1,2,3,4,5可以得...

DataWhale 21期資料分析組隊學習

總結day1 今天是參加datawhale 21期資料分析組隊學習的第一天,在參加這個組隊學習之前我心裡是很猶豫的,因為我的python基礎不是很好,雖然我自學了python基礎,但是我還沒有真正用到案例上的經歷,並且很多東西因為用的少,學習的時間長了有點淡忘了,如果我以後要從事資料分析類的工作的話...