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基礎,但是我還沒有真正用到案例上的經歷,並且很多東西因為用的少,學習的時間長了有點淡忘了,如果我以後要從事資料分析類的工作的話...