Citizen-Group / BumpTrax

A Custom Built, Fully Automated, Optical and Algorithmic Based Road Defect Detection Tool That Integrates Directly with The URT 311 Server and Client.
0 stars 1 forks source link

Work on the machine learning/deep learning model (POTHOLES!) #13

Open pedroLBatista opened 5 years ago

pedroLBatista commented 5 years ago

Train the model so it is able to recognize pothole images on video. All the pictures are going to be taken using a GoPro camera, and the images are being edited to have a resolution of 800x600px.

pedroLBatista commented 5 years ago

We used LabelImg to label the flower images, and we are going to continue to use it for pothole images labeling. @LGRISOLIA99 @earamizu

LabelImg is a graphical image annotation tool. It is written in Python and uses Qt for its graphical interface.

So we have a backup, see installation steps below:

Windows + Anaconda Download and install Anaconda (Python 3+)

Open the Anaconda Prompt and go to the labelImg directory

conda install pyqt=5 pyrcc5 -o libs/resources.py resources.qrc python labelImg.py python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

LabelImg usage example below: 65282450-f0548800-db02-11e9-88b2-79e7e8fd2e09

pedroLBatista commented 5 years ago

@earamizu is currently working on optimizing our model to make it run smoothly and faster.

We were using his computer to run the training steps on the flower training, and now we decided to use my computer's GPU to run it faster and getting more steps done.

For that we are using a GPU NVIDIA GeForce 1050Ti, and it was required from to download some tools to make it work, see below: NVIDIA GPU drivers (for GeForce 1050Ti); CUDA Toolkit v10.0; CUPTI (comes with CUDA Toolkit); CUDNN.

So we can use these tools, we needed to join NVIDIA developer program: image

Using the GPU we got an improvement of approximately 10x on the training speed. We will proceed to use this method further ahead.

Next step is to continue labeling pothole images and then restart our training. Last step: testing the final prototype.

pedroLBatista commented 5 years ago

@LGRISOLIA99 is going to send us another batch of pothole images (+-300), already labeled so we can begin training the model for potholes. During the training we are going to be measuring the batch size , loss ratio and training speed to see whether we can improve our model.

image

pedroLBatista commented 5 years ago

The tests were successful when it comes to training! The images worked and we are going to test it when we get to loss at least under 2.00000. It will take quite a few training steps to get there, but we are going to train the algorithm as much as we can. P_20190920_174235 6135

pedroLBatista commented 5 years ago

Training is going pretty well!!!! Looking good.

Our progress so far: image

pedroLBatista commented 5 years ago

@LGRISOLIA99 uploaded an extra 400 pothole images to GitHub in the morning.

The images have been labeled now and will be used for the next batch of training.

The progress so far: (37.5k steps with loss between 6-7) image

pedroLBatista commented 5 years ago

We are currently using 916 images with 1388 potholes labeled.

Our progress so far: image