零基礎入門CV賽事 街景字元編碼識別

2021-10-06 10:03:16 字數 2206 閱讀 7279

pytorch讀取資料

使用定長字元識別思路構建模型

學習python和pytorch中影象讀取

學會擴增方法和pytorch讀取賽題資料

pillow

匯入:from pil import image

讀取:im =image.open(***.jpg』)

opencv

匯入:import cv2

讀取:img = cv2.imread(『***.jpg』)

預設顏色通道順序是brg

常見的資料擴增有:顏色空間、尺度空間,樣本空間。

常用的資料擴增庫:torchvision,imgaug,albumentations

import os, sys, glob, shutil, json

import cv2

from pil import image

import numpy as np

import torch

from torch.utils.data.dataset import dataset

import torchvision.transforms as transforms

class

svhndataset

(dataset)

:def

__init__

(self, img_path, img_label, transform=

none):

self.img_path = img_path

self.img_label = img_label

if transform is

notnone

: self.transform = transform

else

: self.transform =

none

def__getitem__

(self, index)

: img = image.

open

(self.img_path[index]

).convert(

'rgb'

)if self.transform is

notnone

: img = self.transform(img)

# 原始svhn中類別10為數字0

lbl = np.array(self.img_label[index]

, dtype=np.

int)

lbl =

list

(lbl)+(

5-len(lbl))*

[10]return img, torch.from_numpy(np.array(lbl[:5

]))def

__len__

(self)

:return

len(self.img_path)

train_path = glob.glob(

'../data/input/train/*.png'

)train_path.sort(

)train_json = json.load(

open

('../data/input/train/train.json'))

train_label =

[train_json[x]

['label'

]for x in train_json]

data = svhndataset(train_path, train_label,

transforms.compose(

[# 縮放到固定尺寸

transforms.resize((64

,128))

,# 隨機顏色變換

transforms.colorjitter(

0.2,

0.2,

0.2)

,# 加入隨機旋轉

transforms.randomrotation(5)

,# 將轉換為pytorch 的tesntor

# transforms.totensor(),

# 對影象畫素進行歸一化

# transforms.normalize([0.485,0.456,0.406],[0.229,0.224,0.225])])

)

零基礎入門CV賽事 街景字元編碼識別 TASK1

本次新人賽是datawhale與天池聯合發起的零基礎入門系列賽事第二場 零基礎入門cv賽事之街景字元識別 賽題以計算機視覺中字元識別為背景,要求 真實場景下的字元識別,這是乙個典型的字元識別問題 賽題 自google街景影象中的門牌號資料集 the street view house numbers...

零基礎入門CV賽事 街景字元編碼識別 01

賽題 自google街景影象中的門牌號資料集 the street view house numbers dataset,svhn 並根據一定方式取樣得到比賽資料集。任務鏈結 阿里雲天池大賽 零基礎入門cv賽事 街景字元編碼識別。需要注意的是此賽題需要選手識別中所有的字元,為了降低比賽難度,提供了訓...

Datawhale 零基礎入門CV賽事

本章將會講解卷積神經網路 convolutional neural network,cnn 的常見層,並從頭搭建乙個字元識別模型。學習cnn基礎和原理 使用pytorch框架構建cnn模型,並完成訓練 卷積神經網路 簡稱cnn 是一類特殊的人工神經網路,是深度學習中重要的乙個分支。cnn在很多領域都...