wdczs / ImprovedORN

Oriented Response Networks, with a little improvement

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IORN: An Effective Remote Sensing Image Scene Classification Framework

Introduction

Improved orientated response network (IORN) is descriped in a IEEE Geoscience and Remote Sensing Letters paper.

Remote sensing images captured by satellites, however, usually show varied orientations because of the earth’s rotation and camera angles. This variation increases the difficulties of recognizing the class of a scene.

Based on orientated response network (ORN), we design Improved orientated response network (IORN). We use the VGG16 model as our fundamental network. Then, we upgrade the original VGG16 with 3x3x4 A-ARFs and S-ORAlign to create the IOR4-VGG16 model.

Experimental result

IOR4-VGG16 are mainly tested on NWPU-RESISC45 and UCM.

Prerequisites

  • Linux(Ubuntu 16.04), cuda 8.0, cudnn 7.0, pytorch 0.3.1
  • install dependencies
     pip install -r requirements.txt
    
  • install tensorboardX
     pip install tensorflow tensorboardX
    
  • install IORN
     cd ImprovedORN/IORN_install/install/
     bash install.sh
    

Train IOR4-VGG16 on UCM

  1. download pre-trained IOR4-VGG16 (90 epoches on Imagenet) from OneDrive or BaiduYun. Then move the pre-trained moedl to ImprovedORN/pretrained_model/
  2. download UCM, and make sure it looks like this:
    .../ImprovedORN/datasets/UCMerced_LandUse/Images/
    
  3. train IOR4-VGG16 on UCM
    python main_vgg16_0.5.py
    
  4. you can find the confusion matrix file(csv), Visualizing file for tensorboard and model checkpoint in timestamp folder.

About

Oriented Response Networks, with a little improvement

License:Apache License 2.0


Languages

Language:Python 46.3%Language:Cuda 28.4%Language:C 20.7%Language:C++ 4.1%Language:Shell 0.4%