资源简介

文件中包含使用kears实现的字符识别,其中字符图片有从0-9,A-Z,以及各个地区的汉字字符在ann文件下面,模型对各个字符的识别的准确率达到98%以上

资源截图

代码片段和文件信息

#!/usr/bin/env python
# coding: utf-8

import skimage.io
import skimage.color
import skimage.transform

import numpy as np
import os
import random

import keras
from keras.models import Sequential
from keras.layers import Dense Dropout Flatten
from keras.layers import Conv2D MaxPooling2D
from keras import backend as K

DATASET_DIR = ‘../dataset/carplate‘

classes = os.listdir(DATASET_DIR + “/ann/“)
data = []
for cls in classes:
    files = os.listdir(DATASET_DIR + “/ann/“+cls)
    for f in files:
        img = skimage.io.imread(DATASET_DIR + “/ann/“+cls+“/“+f)
        img = skimage.color.rgb2gray(img)
        data.append({
            ‘x‘: img
            ‘y‘: cls
        })

random.shuffle(data)

X = [d[‘x‘] for d in data]
y = [d[‘y‘] for d in data]

ys = list(np.unique(y))
y = [ys.index(v) for v in y]

x_train = np.array(X[:int(len(X)*0.8)])
y_train = np.array(y[:int(len(X)*0.8)])

x_test = np.array(X[int(len(X)*0.8):])
y_test = np.array(y[int(len(X)*0.8):])

batch_size = 128
num_classes = len(classes)
epochs = 30

# input image dimensions
img_rows img_cols = 20 20

def extend_channel(data):
    if K.image_data_format() == ‘channels_first‘:
        data = data.reshape(data.shape[0] 1 img_rows img_cols)
    else:
        data = data.reshape(data.shape[0] img_rows img_cols 1)
        
    return data

x_train = extend_channel(x_train)
x_test = extend_channel(x_test)

input_shape = x_train.shape[1:]

x_train = x_train.astype(‘float32‘)
x_test = x_test.astype(‘float32‘)
x_train /= 255
x_test /= 255
print(‘x_train shape:‘ x_train.shape)
print(x_train.shape[0] ‘train samples‘)
print(x_test.shape[0] ‘test samples‘)

y_train2 = keras.utils.to_categorical(y_train num_classes)
y_test2 = keras.utils.to_categorical(y_test num_classes)



model = Sequential()
model.add(Conv2D(32 kernel_size=(3 3)
                 activation=‘relu‘
                 input_shape=input_shape))
model.add(Conv2D(64 (3 3) activation=‘relu‘))
model.add(MaxPooling2D(pool_size=(2 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128 activation=‘relu‘))
model.add(Dropout(0.5))
model.add(Dense(num_classes activation=‘softmax‘))

model.compile(loss=keras.losses.categorical_crossentropy
              optimizer=keras.optimizers.Adadelta()
              metrics=[‘accuracy‘])

model.fit(x_train y_train2
          batch_size=batch_size
          epochs=epochs
          verbose=1
          validation_data=(x_test y_test2))
score = model.evaluate(x_test y_test2 verbose=0)

print(‘Test loss:‘ score[0])
print(‘Test accuracy:‘ score[1])

model.save_weights(‘char_cnn.h5‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        665  2014-08-23 14:44  dataset\carplate\ann\0\101-1.jpg

     文件        674  2014-08-23 14:44  dataset\carplate\ann\0\105-5.jpg

     文件        641  2014-08-23 14:44  dataset\carplate\ann\0\106-5.jpg

     文件        642  2014-08-23 14:44  dataset\carplate\ann\0\110-6.jpg

     文件        646  2014-08-23 14:44  dataset\carplate\ann\0\110-7.jpg

     文件        712  2014-08-23 14:44  dataset\carplate\ann\0\111-4.jpg

     文件        639  2014-08-23 14:44  dataset\carplate\ann\0\113-1.jpg

     文件        669  2014-08-23 14:44  dataset\carplate\ann\0\114-2.jpg

     文件        666  2014-08-23 14:44  dataset\carplate\ann\0\12-1.jpg

     文件        683  2014-08-23 14:44  dataset\carplate\ann\0\124-3.jpg

     文件        674  2014-08-23 14:44  dataset\carplate\ann\0\126-3.jpg

     文件        674  2014-08-23 14:44  dataset\carplate\ann\0\127-2.jpg

     文件        657  2014-08-23 14:44  dataset\carplate\ann\0\129-3.jpg

     文件        716  2014-08-23 14:44  dataset\carplate\ann\0\131-5.jpg

     文件        716  2014-08-23 14:44  dataset\carplate\ann\0\132-5.jpg

     文件        657  2014-08-23 14:44  dataset\carplate\ann\0\134-3.jpg

     文件        673  2014-08-23 14:44  dataset\carplate\ann\0\135-3.jpg

     文件        629  2014-08-23 14:44  dataset\carplate\ann\0\139-5.jpg

     文件        671  2014-08-23 14:44  dataset\carplate\ann\0\139-6.jpg

     文件        659  2014-08-23 14:44  dataset\carplate\ann\0\140-3.jpg

     文件        683  2014-08-23 14:44  dataset\carplate\ann\0\146-4.jpg

     文件        673  2014-08-23 14:44  dataset\carplate\ann\0\15-3.jpg

     文件        728  2014-08-23 14:44  dataset\carplate\ann\0\15-5.jpg

     文件        644  2014-08-23 14:44  dataset\carplate\ann\0\156-3.jpg

     文件        697  2014-08-23 14:44  dataset\carplate\ann\0\157-0.jpg

     文件        701  2014-08-23 14:44  dataset\carplate\ann\0\162-0.jpg

     文件        656  2014-08-23 14:44  dataset\carplate\ann\0\169-3.jpg

     文件        657  2014-08-23 14:44  dataset\carplate\ann\0\17-3.jpg

     文件        651  2014-08-23 14:44  dataset\carplate\ann\0\174-2.jpg

     文件        668  2014-08-23 14:44  dataset\carplate\ann\0\177-1.jpg

............此处省略16193个文件信息

评论

共有 条评论