一、项目介绍
在这个项目中,将创建一个卷积神经网络,使用Waymo的数据集来检测和分类物体。您将获得一个城市环境图像数据集,其中包含带标注的骑自行车者、行人和车辆。
首先,执行广泛的数据分析,包括标签分布的计算,样本图像的显示,并检查对象遮挡。
来自Waymo数据集的夜间图像示例,带有针对车辆和行人的标注
使用此分析决定哪些增强对该项目有意义;然后,训练一个神经网络来检测和分类对象。
使用TensorBoard监控训练,并决定何时结束。最后,尝试使用不同的超参数来提高模型的性能。
这个项目将包括使用TensorFlow对象检测API(TensorFlow Object Detection API),在此可以部署模型来获得对发送到API的图像的预测;还会提供相关代码,用于创建模型预测的短视频。
二、环境配置
建立项目
本地设置:使用以下的说明来创建Docker容器,使用本地GPU,或者在云提供商的GPU实例上创建一个类似的环境。
项目文件
首先,从相关的Github存储库获取项目文件 (https://github.com/udacity/nd013-c1-vision-starter)
。
Docker安装
对于本地安装,如果你有自己的Nvidia GPU,可以在starter代码的构建目录中使用提供的Dockerfile和需求。
下面的说明也包含在starter代码的构建(Build)目录中。
需求
- 安装了最新驱动程序的NVIDIA GPU
- Docker / nvidia-docker
构建(Build)
使用以下指令:
docker build -t project-dev -f Dockerfile .
创建一个容器:
docker run --gpus all -v <PATH TO LOCAL PROJECT FOLDER>:/app/project/ --network=host -ti project-dev bash
以及对系统有用的任何其他标志(例如,——shm-size)。
设置
一旦进入容器,需要安装gsutil,通过运行:
Curl https://sdk.cloud.google.com | bash
一旦安装了gsutil并将其添加到您的路径中,可以使用以下命令进行验证:
gcloud auth login
调试(Debug)
- 如果在安装TF对象检测API(TF Object Detection API.)时遇到任何问题,请遵循本教程Installation — TensorFlow 2 Object Detection API tutorial documentation。
三、项目说明
城市环境中的目标检测(GitHub - udacity/nd013-c1-vi