Skip to content

Image Object Localization by ResNet-18 using tensorflow, keras and pytorch

Notifications You must be signed in to change notification settings

emanuelazfernandes/Image-Object-Localization

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Given a picture with a bird, we are supposed to box the bird.

In src/data directory, images.txt is the index of all images, bouding_boxex.txt is the label box of all images and images contains all images. Box data make up of 4 data: the top left corner coordinate of box, width of box and height of box.

Neural Network

For traditional CNN and FC, it will meet degeneration problems when layers go deep.

In paper Deep Residual Learning for Image Recognition, they try to solve this problem by using a Residual Block:

These blocks compose ResNet:

I use ResNet-18 in this project by adding a 4-dimension layer after ResNet-18 to predict box's x, y ,w and h.

Loss: smooth l1 loss

Metric: IoU of groound truth and prediction, threshold=0.75

Train

Resize all images to 224*224*3

Then normalize and standardize all pixel channel.

Split all data into 9000 training data and 2788 tesing data. Train network on training data using batch size=128, epoch=100 and validation split ratio=0.1

Training result:

Testing result:

Examples

Red box represents ground truth and green box is the prediction of network.

Failed example:

Attention

You should keep the directory structure.

Dependency

python 3.6

tensorflow 1.3.0

keras 2.1.0

numpy

PIL

pickle

matplotlib

Run

In src directory:

python getdata.py to preprocess data.

If you want to train model, python train.py

If you want to test on trained model(if you had trained model), python test.py

Reference

Deep Residual Learning for Image Recognition: https://arxiv.org/pdf/1512.03385.pdf

Author

CKCZZJ

Licence

MIT

About

Image Object Localization by ResNet-18 using tensorflow, keras and pytorch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%