零基礎入門語義分割 Task1 賽題理解

2021-10-19 15:47:26 字數 2017 閱讀 3022

零基礎入門語義分割-地表建築物識別,是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...