賽題目標:通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。
賽題任務:賽題以計算機視覺中字元識別為背景,要求選手**街道字元編碼,這是乙個典型的字元識別問題。
import json
train_json = json.load(
open
(r'd:\study\cv\train.json'))
"page-break-after:always;"
>
<
/div>
#資料標註處理
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(
'd:\study\cv\mchar_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.ytics(
)
1、簡單入門思路:定長字元識別
在賽題資料集中大部分影象中字元個數為2-4個,最多的字元 個數為6個。
因此可以對於所有的影象都抽象為6個字元的識別問題,字元23填充為23***x,字元231填充為231***。
經過填充之後,原始的賽題可以簡化了6個字元的分類問題。在每個字元的分類中會進行11個類別的分類,假如分類為填充字元,則表明該字元為空。
2、專業字元識別思路:不定長字元識別
在字元識別研究中,有特定的方法來解決此種不定長的字元識別問題,比較典型的有crnn字元識別模型。
在本次賽題中給定的影象資料都比較規整,可以視為乙個單詞或者乙個句子。
3、專業分類思路:檢測再識別
在賽題資料中已經給出了訓練集、驗證集中所有中字元的位置,因此可以首先將字元的位置進行識別,利用物體檢測的思路完成。
此種思路需構建字元檢測模型,對測試集中的字元進行識別。可以參考物體檢測模型ssd或者yolo來完成。
零基礎入門CV賽事 Task1 賽題理解
賽題名稱 零基礎入門cv之街道字元識別 賽題目標 通過這道賽題可以引導大家走入計算機視覺的世界,主要針對競賽選手上手視覺賽題,提高對資料建模能力。賽題任務 賽題以計算機視覺中字元識別為背景,要求選手 街道字元編碼,這是乙個典型的字元識別問題。為了簡化賽題難度,賽題資料採用公開資料集svhn,因此大家...
零基礎入門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...