天池SVHN数据集分析

天池SVHN的数据

训练集:3万张图像

验证集:1万张图像

测试集A/B:4万张图像【B数据集为比赛用】

对于每张图像提供一个json对象

  • 属性:天池SVHN数据集分析_第1张图片

1.读取图片以及json属性


import json
import cv2
import numpy as np
from matplotlib import pyplot as plt
train_json = json.load(open('/content/drive/My Drive/drive/SVHN/mchar_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('/content/drive/My Drive/drive/SVHN/mchar_train/018292.png')

arr = parse_json(train_json['018292.png'])
plt.subplot(1,arr.shape[1]+1,1),plt.imshow(img),plt.xticks([]),plt.yticks([])

for i in range(arr.shape[1]):
  plt.subplot(1,arr.shape[1]+1,i+2)
  left,top,right,bottom = arr[2,i],arr[0,i],arr[2,i]+arr[3,i],arr[0,i]+arr[1,i]
  plt.imshow(img[top:bottom,left:right]),plt.xticks([]),plt.yticks([])

天池SVHN数据集分析_第2张图片

2.评价指标

正确分类的图像数量/总图像数量

3.赛题难点

因为一张图片可能有多个字符,且每张图片的字符数量不一致

解决方法:

  • 1.定长字符串:对字符数没达到定长的图片进行空填充。对每张图片每次识别定长次;
  • 2.不定长字符串:识别整张的图片的字符,并把所有字符当成字符串识别;
  • 3.先目标检测定位再识别分类

 

 

你可能感兴趣的:(图像处理)