賽題名稱:零基礎入門cv之街道字元識別
賽題任務:賽題以計算機視覺中字元識別為背景,要求選手**街道字元編碼,這是乙個典型的字元識別問題。
注意:按照比賽規則,只能使用比賽給定的資料集完成訓練,不能使用svhn原始資料集。
訓練集包括3w張**,驗證集包括1w張**,每張**包括顏色影象和對應的編碼類別和具體位置;為了保證比賽的公平性,測試集a包括4w張**,測試集b包括4w張**。
field
description
top左上角座標x
height
字元高度
left
左上角座標y
width
字元寬度
label
字元編碼
字元的座標具體如下:
re=編
碼識別正
確的數量
測試集圖
片數量score=\frac
score=
測試集圖
片數量編
碼識別正
確的數量
import json
train_json = json.load(
open
('./data/train.json'))
# 資料標註處理
defparse_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(
)
賽題思路分析:賽題本質是分類問題,需要對的字元進行識別。但賽題給定的資料中不同中包含的字元數量不等,有的的字元個數為2(例如字元42),有的字元個數為3(例如字元242),有的字元個數為4(例如字元7358)。
因此本次賽題的難點是需要對不定長的字元進行識別,與傳統的影象分類任務有所不同。
有多種解題思路:
零基礎入門CV賽事 Task1 賽題理解
賽題名稱 零基礎入門cv之街道字元識別 賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。為了簡化賽題難度,賽題資料採用公開資料集svhn,因此大家...
零基礎入門CV賽事 Task1 賽題理解
賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。import json train json json.load open r d study c...
零基礎入門CV賽事 Task1 賽題理解
先在github上新建乙個專案用於記錄 最終達成識別天池報名的後獲得的資料中的數字。使用 from pil import image import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm,tqdm noteb...