零基礎入門CV賽事 Task1 賽題理解

2021-10-06 08:04:49 字數 1893 閱讀 5308

賽題名稱:零基礎入門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...