1. 图片展示

在这里插入图片描述
在这里插入图片描述

2.视频展示

B站视频操作展示:Python基于CNN的交通标志识别系统[源码]

3. 标注好的数据集GTSRB

在这里插入图片描述

4. 代码实现

导入训练数据集

################# Parameters #####################
path = "./data/Train" # folder with all the class folders
labelFile = './data/Train.csv' # file with all names of classes
batch_size_val=64  # how many to process together
epochs_val=20
imageDimesions = (30,30,3)
testRatio = 0.2    # if 1000 images split will 200 for testing
validationRatio = 0.2 # if 1000 images 20% of remaining 800 will be 160 for validation
###################################################

建立模型

def myModel():
    model = Sequential()
    model.add(Conv2D(filters=32, kernel_size=(5,5), activation='relu', input_shape=X_train.shape[1:]))
    model.add(Conv2D(filters=32, kernel_size=(5,5), activation='relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(rate=0.25))
    model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu'))
    model.add(Conv2D(filters=64, kernel_size=(3, 3), activation='relu'))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(rate=0.25))
    model.add(Flatten())
    model.add(Dense(256, activation='relu'))
    model.add(Dropout(rate=0.5))
    model.add(Dense(43, activation='softmax'))
    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

保存模型

model.save("CNN_model_10.h5")

测试模型

#testing accuracy on test dataset
from sklearn.metrics import accuracy_score

y_test = pd.read_csv('./data/Test.csv')

labels = y_test["ClassId"].values
imgs = y_test["Path"].values

data=[]

for img in imgs:
    image = Image.open("./data/"+ img)
    image = image.resize((30,30))
    data.append(np.array(image))

X_test=np.array(data)

X_test=np.array(list(map(preprocessing,X_test)))
X_test = np.expand_dims(X_test, axis=-1)
predict_x=model.predict(X_test)
pred=np.argmax(predict_x,axis=1)

print(accuracy_score(labels, pred))

5. 训练结果

模型训练10轮后的正确率为

在这里插入图片描述

模型训练10轮后的损失为

在这里插入图片描述

6. (代码+数据集+配置环境)获取

验证消息:说明来意
加QQ:1821986010

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐