我感覺比較費時間的是pytorch的安裝,由於在網上找不到乙個合適的教程,安裝pytorch花了很長時間,主要是網上的教程大多和我的情況不一樣。
賽題理解
在這之前還沒有接觸過cv這一方向。所以第一眼看到賽題是一種很茫然的感覺。之後看了講解學到了乙個大概的思路。不過資料處理部分也是很重要的。
這次的cv比賽是對svhn街道字元的識別。並且給了資料的字元位置框。
資料標籤
資料標籤中有字元的長,寬,字元的編碼和左上角座標x和左上角的座標y。
然後就可以通過給出的資料標籤資訊進行標籤的識別。
評測指標
這次的評測指標是整體識別率,就是編碼正確的數量和整體編碼值得比值。
讀取資料
json格式標籤資料的讀取方式。這裡是用到了乙個python處理json的包。
下面給出**
import json
# train_json字典格式
train_json = json.load(open('../input/train.json'))
# 資料標註處理
def parse_json(d):
arr = np.array([
d['top'], d['height'], d['left'], d['width'], d['label']
])arr = arr.astype(int)
return arr
img = cv2.imread('../input/train/000000.png')
arr = parse_json(train_json['000000.png'])
plt.figure(figsize=(10, 10))
plt.subplot(1, arr.shape[1]+1, 1)
plt.imshow(img)
plt.xticks(); plt.yticks()
for idx in range(arr.shape[1]):
plt.subplot(1, arr.shape[1]+1, idx+2)
plt.imshow(img[arr[0, idx]:arr[0, idx]+arr[1, idx],arr[2, idx]:arr[2, idx]+arr[3, idx]])
plt.title(arr[4, idx])
plt.xticks(); plt.yticks()
解題思路
這次的比賽實際上就是乙個分類問題。但是資料上字元的數量都是不一樣的,這是比賽的乙個難點。
其實主要有三種思路吧
零基礎入門CV之街道字元識別(五)
模型整合其實就是整合學習。整合學習方法 在機器學習中的整合學習可以在一定程度上提高 精度,常見的整合學習方法有stacking bagging和boosting,同時這些整合學習方法與具體驗證集劃分聯絡緊密。由於深度學習模型一般需要較長的訓練週期,如果硬體裝置不允許建議選取留出法,如果需要追求精度可...
學習筆記 零基礎入門CV之街道字元識別 賽題理解
學習主題 零基礎入門cv之街道字元識別。學習目標 通過賽題引導競賽選手入門計算機視覺,提高對資料建模。2.1 賽題目標 本次賽題的目標是識別出類似下圖中的字元,例如下圖中的數字 68 圖12.2 賽題資料圖2 訓練資料集示例 訓練集資料報括3w張 驗證集資料報括1w張 每張 包括顏色影象和對應的編碼...
零基礎入門CV賽事 Task3 字元識別模型
卷積神經網路 簡稱cnn 是一類特殊的人工神經網路,是深度學習中重要的乙個分支。cnn在很多領域都表現優異,精度和速度比傳統計算學習演算法高很多。特別是在計算機視覺領域,cnn是解決影象分類 影象檢索 物體檢測和語義分割的主流模型。cnn每一層由眾多的卷積核組成,每個卷積核對輸入的畫素進行卷積操作,...