語義分割演算法–地表建築物識別學習
在賽題資料中畫素屬於 2 類(無建築物和有建築物),因此標籤為有建築物的畫素。賽題原始為 jpg 格式,標籤為 rle 編碼的字串。
rle 全稱(run-length encoding),翻譯為遊程編碼或行程長度編碼,對連續的黑、白畫素數以不同的碼字進行編碼。rle 是一種簡單的非破壞性資料壓縮法,經常用在在語義分割比賽中對標籤進行編碼
轉換**:
import numpy as np
import pandas as pd
import cv2
#將編碼為rle格式 - def rle_encode(im):
』』』 im: numpy array, 1 - mask, 0 - background
returns run length as string formated10 』』』
pixels = im.flatten(order = 』f』) - pixels = np.concatenate([[0], pixels, [0]])
runs = np.where(pixels[1:] != pixels[:-1])[0] + 1
runs[1::2] -= runs[::2]
return 』 』.join(str(x) for x in runs)
#將rle格式進行解碼為 - def rle_decode(mask_rle, shape=(512, 512)):
』』』20 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』)
語義分割實現地表建築物識別1
通過對遙感技術獲取的航拍圖進行計算機視覺識別可以獲取植被面積 建築物檢測等地表覆蓋資訊,是一項高效且意義重大的任務。本次任務是根據航拍圖識別中的地表建築具體畫素位置。目前,我了解到的計算機視覺的任務包括影象分類 分辨貓狗 目標檢測 定位 語義分割 地表建築物識別 他們之間的關係可以在第12章視覺和語...
天池賽事 零基礎入門語義分割 地表建築物識別
本次新人賽是 datawhale 與天池聯合發起的 零基礎入門系列賽事 零基礎入門語義分割之地表建築物識別 賽題以計算機視覺為背景,要求選手使用給定的航拍影象訓練模型並完成地表建築物識別任務。為更好的引導大家入門,我們為本賽題定製了學習方案和學習任務,具體包括語義分割的模型和具體的應用案例。在具體任...
語義分割演算法總結(一)
在本文中經常會提到輸出資料的維度,為了防止讀者產生錯誤的理解,在本文的開頭做一下說明。如上圖,原始影象大小為5 5,經過一次卷積後,影象變為3 3。那就是5 5的輸入,經過乙個卷積層後,輸出的維度變為3 3,再經過乙個卷積層,輸出的維度變為1 1,這裡的5 5,3 3和1 1即為本文提到的資料的維度...