赞
踩
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
在本文中,使用Python编程语言和库Keras和OpenCV建立CNN模型,成功地对交通标志分类器进行分类,准确率达96%。开发了一款交通标志识别应用程序,该应用程序具有图片识别和网络摄像头实时识别两种工作方式。
本文的GitHub:https://github.com/Daulettulegenov/TSR_CNN
提供一个开源的交通标志的数据集,希望能够帮助到各位小伙伴:http://www.nlpr.ia.ac.cn/pal/trafficdata/recognition.html
近年来,计算机视觉是现代技术发展的一个方向。这个方向的主要任务是对照片或摄像机中的物体进行分类。在通常的问题中,使用基于案例的机器学习方法来解决。本文介绍了利用机器学习算法进行计算机视觉在交通标志识别中的应用。路标是一种外形固定的扁平人造物体。道路标志识别算法应用于两个实际问题。第一个任务是控制自动驾驶汽车。无人驾驶车辆控制系统的一个关键组成部分是物体识别。识别的对象主要是行人、其他车辆、交通灯和路标。第二个使用交通标志识别的任务是基于安装在汽车上的DVRs的数据自动绘制地图。接下来将详细介绍如果搭建能够识别交通标志的CNN网络。
导入必要的库
- # data analysis and wrangling
- import numpy as np
- import pandas as pd
- import os
- import random
-
-
- # visualization
- import matplotlib.pyplot as plt
- from PIL import Image
- # machine learning
- from keras.models import Sequential
- from keras.layers import Dense
- from tensorflow.keras.optimizers import Adam
- from keras.utils.np_utils import to_categorical
- from keras.layers import Dropout, Flatten
- from keras.layers.convolutional import Conv2D, MaxPooling2D
- import cv2
- from sklearn.model_selection import train_test_split
- from keras.preprocessing.image import ImageDataGenerator
加载数据
Python Pandas包帮助我们处理数据集。我们首先将训练和测试数据集获取到Pandas DataFrames中。我们还将这些数据集组合起来,在两个数据集上一起运行某些操作。
# Importing of the Images count = 0 images = [] classNo = [] myList = os.listdir(path) print("Total Classes Detected:",len(myList)) noOfClasses=len(myList) print("Importing Classes.....") for x in range (0,len(myList)): myPicList = os.listdir(path+"/"+str(count)) for y in myPicList: curImg = cv2.imread(path+"/"+str(count)+"/"+y) curImg = cv2.resize(curImg, (30, 30)) images.append(curImg) classNo.append(count) print(count, end =" ") count +=1 print(" ") images = np.array(imag
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。