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

2021-10-06 07:50:21 字數 2137 閱讀 3218

**賽題名稱:**零基礎入門cv之街道字元識別

**賽題目標:**通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。

**賽題任務:**賽題以計算機視覺中字元識別為背景,要求選手**街道字元編碼,這是乙個典型的字元識別問題。為了簡化賽題難度,賽題資料採用公開資料集svhn,因此大家可以選擇很多相應的*****作為思路參考。

對於訓練資料每張將給出對於的編碼標籤,和具體的字元框的位置(訓練集、驗證集都給出字元位置),可用於模型訓練:

選手提交結果與實際的編碼進行對比,以編碼整體識別準確率為評價指標。任何乙個字元錯誤都為錯誤,最終評測指標結果越大越好,具體計算公式如下:

score=編碼識別正確的數量/測試集數量

import 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([

])

可以將賽題抽象為乙個定長字元識別問題,在賽題資料集中大部分影象中字元個數為2-4個,最多的字元 個數為6個。因此可以對於所有的影象都抽象為6個字元的識別問題,字元23填充為23***x,字元231填充為231***。經過填充之後,原始的賽題可以簡化了6個字元的分類問題。在每個字元的分類中會進行11個類別的分類,假如分類為填充字元,則表明該字元為空。

專業字元識別思路:不定長字元識別

在字元識別研究中,有特定的方法來解決此種不定長的字元識別問題,比較典型的有crnn字元識別模型。在本次賽題中給定的影象資料都比較規整,可以視為乙個單詞或者乙個句子。

專業分類思路:檢測再識別

在賽題資料中已經給出了訓練集、驗證集中所有中字元的位置,因此可以首先將字元的位置進行識別,利用物體檢測的思路完成。此種思路需要參賽選手構建字元檢測模型,對測試集中的字元進行識別。選手可以參考物體檢測模型ssd或者yolo來完成。

datawhale參考鏈結

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

賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。import json train json json.load open r d study c...

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

賽題名稱 零基礎入門cv之街道字元識別 賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。注意 按照比賽規則,只能使用比賽給定的資料集完成訓練,不能使用svhn原始資料集。訓練集包括3w張 驗證集包括1w張 每張 包括顏色影象和對應的編碼類別和具體位置 ...

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

先在github上新建乙個專案用於記錄 最終達成識別天池報名的後獲得的資料中的數字。使用 from pil import image import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm,tqdm noteb...