这是我第一次写博客,有我解释不清楚或者不懂的地方欢迎随时提问。
本人是在读研一学生一枚,想从事与无人驾驶方面,但学校导师没有人从事无人驾驶方面,
所以目前在优达学城学无人驾驶,如有喜欢无人驾驶方面的人希望可以一起学习交流。
下面是项目的大概总结:在这个项目中,你将使用计算机视觉技术的知识为交通信号灯图像建立一个分类器!你会获得一个交通信号灯图像数据集,里面包含三种交通信号灯,即红灯、黄灯或绿灯,其中,三分之一的灯是亮起的。
下面正式开始!
1. 加载交通信号灯数据集,并将其可视化
我是在jupyter notebook环境下编程的,首先是导入必要的库和资源
import cv2
import helpers
import random
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg # for loading in images
%matplotlib inline
读取图片
IMAGE_DIR_TRAINING = "traffic_light_images/training/"
IMAGE_DIR_TEST = "traffic_light_images/test/"
IMAGE_LIST = helpers.load_dataset(IMAGE_DIR_TRAINING)
可视化数据:分析任何一个数据集的前两个步骤都是:1.加载数据;2.查看数据。看一看这些数据,你就会知道要在图像中寻找什么,需要处理什么样的噪音或不一致性等。这可以帮助你了解图像数据集,并且明白了解数据集是对数据进行预测的一部分。
这是是显示出红灯和黄灯,可以自行修改数值来查看图片。
yellow_image = IMAGE_LIST[750][0]
print("yellow_image.shape = ",yellow_image.shape)
plt.subplot(121)
plt.title("yellow image")
plt.imshow(yellow_image)
selected_image = IMAGE_LIST[0][0]
print("red_image.shape = ",IMAGE_LIST[0][0].shape)
plt.subplot(122)
plt.title("red image")
plt.imshow(selected_image)
plt.show()
yellow_image.shape = (47, 21, 3)
red_image.shape = (60, 27, 3)
2. 预处理数据
这里我们把图片都变为32*32的格式
def standardize_input(image):
## TODO: Resize image and pre-process so that all "standard" images are the same size
standard_im = np.copy(image)
sta