[神经网络]一步一步使用Mobile-Net完成视觉识别(二)

1.环境配置

2.数据集获取

3.训练集获取

4.训练

5.调用测试训练结果

6.代码讲解

  本文是第二篇,调用官方例子并获取数据集。

上一节里面记得我们需要配置PYTHONPATH,大家应该发现,每次运行程序之前,都必须执行一次

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

为了解决这个问题,我们在运行以下命令

sudo gedit ~/.bashrc

在最后一行添加以下内容

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

其中,我们需要把两个pwd分别替换为绝对路径到research目录,例如/home/xueaoru/models/research。

接下来我们运行下官方的识别例子,

在命令行下打开jupyter notebook

jupyter notebook

前提是你已经安装了jupyter notebook,你装的anaconda的话就已经装好了,否则你就

sudo pip install jupyter

然后到object_detection 路径下打开官方的object_detection_tutorial.ipynb文件,然后逐个执行,中间会下载相关的预训练模型和数据集,耐心等待即可。

如果中途出现报错,一般是没有安装相应的库,那就很简单了,根据报错看缺什么库,然后pip安装。比如缺少xxx,就pip insrall xxx。

执行到最后效果是这样的:

下一步我们就要准备自己的数据集了。

ubuntu 上一般装个cheese就可以打开摄像头了,执行以下命令安装cheese

sudo apt-get install cheese 

安装完之后我们打开它,然后前后移动对小车录像,也可以用手机录像,只不过手机录出来的更加清晰罢了,咱比赛的时候用的摄像头没那么清晰。对红色灯管的小车和蓝色灯管的小车分别从远近旋转角度进行拍摄,拿到两个mp4文件。

下一步从mp4文件里提取图片,每隔5帧提取一次图片。

用python执行以下代码:

import cv2 as cv
import os
FILEPATH = "/home/xueaoru/pics/out"
VIDEOPATH = "/home/xueaoru/projects/srm"
VIDEONAME = "car1.mp4"
cap = cv.VideoCapture(os.path.join(VIDEOPATH,VIDEONAME))
sp = 5
ci = 0*sp
while(1):
    ret,frame = cap.read()
    if ret!=True:
        break
    #out = frame
    out = cv.resize(frame,(640,480))
    #cv.imshow("frame",out)
    k = cv.waitKey(1) & 0xFF
    if ci%sp ==0:
        cv.imwrite(os.path.join(FILEPATH,"image"+str(ci//sp + 1)+".jpg"),out)
    ci = ci + 1
    if k == 27:
        break
cap.release()
cv.destroyAllWindows()

需要注意,我们需要根据情况更改里面的FILEPATH、VIDEOPATH、VIDEONAME。

这时候我们就拿到了640*480的很多图片了。如图:

到这一步差不多就搜集完了,然后就是标准的打标签了。

我们需要下载一个工具来帮助我们打标签:

git clone https://github.com/tzutalin/labelImg.git

git下来之后进入该目录下执行以下语句

sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
python3 labelImg.py

就能打开labelImg

或者更简单的,你直接pip安装就可以了

pip install labelImg
labelImg

一样可以打开labelImg,打开图像目录进行标注吧,右键可以选择标注,其中还有快捷键,w是标注,a是上一张图,d是下一张图,保存的默认是xml文件,这正是我们需要的。

在上面所有的工作完成之后,我们就拿到了所有标注的数据集xml.

原文地址:https://www.cnblogs.com/aoru45/p/9867885.html