Giter VIP home page Giter VIP logo

mstar_deeplearning_project's Introduction

mstar_deeplearning_project

The repository is my graduation project about radar target classification, detection and recognition on public MSTAR using deep learning method. The main framework is based on caffe and faster-rcnn using matlab interface with a bit modification.

Pre-requisites

The project is supposed to run on win7 or above. Before running the project, please checkout if your PC supports Nvidia GPU computing with compute capability 6.1 like GTX1080 and cuda v8.0, and a certain higher version of Matlab, like Matlab 2015b. Besides, python3.5 is needed and I recommend you directly install Anaconda3-4.2.0-Windows-x86_64.exe and add it to system path. No other installation and compilation is required since the repository is a release version. You can also make your own changes by compiling caffe and faster-rcnn yourselves.

git clone [email protected]:hunterlew/mstar_deeplearning_project.git

Classification

The first part of the work focuses on 10-class radar target classification on standard MSTAR dataset. For the sake of comparisons, I fulfilled 128*128 SAR target classification without data augmentation at the beginning, proving that it can easily outperform traditional machine learning methods.

Run the commands below and you may get 98% accuracy:

cd classification\caffe
create_mstar.bat
train_mstar.bat

But I did crop and increase my data to avoid overfitting in my later work about detection and recognition. See below.

Detection and Recognition

The second part is about how to locate and recognize several SAR targets in a larger background, which may also contain trees and houses, etc. In view of ShaoqingRen's RPN networks, I builded two models with datasets that I made myself. The first model takes only RPN's output as the input of classification network trained before. The second model partially shares the convolution layers between RPN and classification network, which is called faster-rcnn by Ren. You can respectively run the two models and make comparisons.

Before running the test, you should train it first. Make sure you have downloaded the pretrained ZF model and mean.mat from here. Then run the commands:

cd detection_and_recognition\core
(run the train.m with matlab)

It will take nearly 30 mins for training and finally will generate output folder with trained model. Remember to copy the RPN's net file and trained model to the output folder and rename them, serving as network files for the run_apart model.

To run the first model:

cd classification\caffe
(run the data_augmentation.m with matlab)
(run the generate_file.m with matlab)
create_mstar_96.bat
train_mstar_96.bat
cd ....\detection_and_recognition
(run the run_apart.m with matlab)

To run the second model:

cd detection_and_recognition
(run the run_overall.m with matlab)

Conclusion

The results seemed successful. But it may be doubtful that I directly inserted several targets, under a certain lightness, into the background without considering the reasonability and the characteristics of SAR images. Therefore, the work needs further considerations and research.

mstar_deeplearning_project's People

Contributors

hunterlew avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.