零基礎入門語義分割-地表建築物識別,是datawhale與天池聯合發起的入門比賽,以計算機視覺為背景,希望通過過此次比賽了解語義分割的相關知識。
遙感技術已成為獲取地表覆蓋資訊最為行之有效的手段,遙感技術已經成功應用於地表覆蓋檢測、植被面積檢測和建築物檢測任務。本賽題使用航拍資料,需要參賽選手完成地表建築物識別,將地表航拍影象素劃分為有建築物和無建築物兩類。
如下圖,左邊為原始航拍圖,右邊為對應的建築物標註。
rle全稱(run-length encoding),翻譯為遊程編碼或行程長度編碼,對連續的黑、白畫素數以不同的碼字進行編碼。rle是一種簡單的無失真壓縮,經常用在在語義分割比賽中對標籤進行編碼。
比如說:
aaaaabbbbbbbbbbbbcccc
經過壓縮之後變成了
5a12b4c
abcde
經過壓縮之後變成了
1a1b1c1d1e
上邊的例子壓縮之後變短了,但是下邊的壓縮之後卻變長了。
左邊為未壓縮,右邊為壓縮之後。(按行統計的。)
當大量相同的畫素點聚集時,壓縮效率比較高。相反,比較分散時,壓縮效率較差。
# 將編碼為rle格式
defrle_encode
(im)
:'''
im: numpy array, 1 - mask, 0 - background
returns run length as string formated
'''pixels = im.flatten(order =
'f')
# f 為根據列flatten
pixels = np.concatenate([[
0], pixels,[0
]])# 前後各加上1各0
runs = np.where(pixels[1:
]!= pixels[:-
1])[
0]+1
# 不同畫素的起點
runs[1:
:2]-= runs[::
2]return
' '.join(
str(x)
for x in runs)
# 將rle格式進行解碼為
defrle_decode
(mask_rle, shape=
(512
,512))
:'''
mask_rle: run-length as string formated (start length)
shape: (height,width) of array to return
returns numpy array, 1 - mask, 0 - background
'''s = mask_rle.split(
) starts, lengths =
[np.asarray(x, dtype=
int)
for x in
(s[0:]
[::2
], s[1:
][::
2])]
starts -=
1 ends = starts + lengths
img = np.zeros(shape[0]
*shape[1]
, dtype=np.uint8)
for lo, hi in
zip(starts, ends)
: img[lo:hi]=1
return img.reshape(shape, order=
'f')
採用語義分割模型來解決問題。 零基礎入門資料探勘 Task1 賽題理解
賽題 零基礎入門資料探勘 二手車交易 比賽要求參賽選手根據給定的資料集,建立模型,最終 二手汽車的交易 資料來自ebay kleinanzeigen報廢的二手車,數量超過 370,000,包含 20 列變數資訊,為了保證 比賽的公平性,將會從中抽取 10 萬條作為訓練集,5 萬條作為測試集 a,5 ...
零基礎入門CV賽事 Task1 賽題理解
賽題名稱 零基礎入門cv之街道字元識別 賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。為了簡化賽題難度,賽題資料採用公開資料集svhn,因此大家...
零基礎入門CV賽事 Task1 賽題理解
賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。import json train json json.load open r d study c...