Giter Club home page Giter Club logo

deepnet-for-semantic-labeling-photogrammetry's Introduction

DeepNet-for-Semantic-Labeling-Photogrammetry

This deep learning project is my graduated thesis which is scored 9.5/10. It is also the first time i do end-to-end an applied research project by myself.

This project aim to automated extraction of urban objects from data acquired by airborne sensors which very high-resolution data (leads to high intra-class variance while the inter-class variance is low), focus is on detailed 2D semantic segmentation that assigns labels to multiple object categories. At the end, my accuraccy reachs 90% (the top world leader at 92%)

Dataset:

  • 2D Semantic Labeling Contest - Potsdam
  • Short description at here

Pipeline

  1. Visualise and analyse data
  2. Preprocessing data
  3. Build model
  4. Choose hyper-parameters and loss function
  5. Experiment and validate
  6. Testing phase
  7. Report and submit

1. Visualise and analyse data

See the detail. Conclusion:

  • Unbalance dataset: building, road and low vegetable class have highest acreage, while car class is negligible.
  • Large file size, high resolution.
  • The tree class looks like low veg. class on the RGB images. So we use additional DSM channel to distinguish.
  • The clutter class 's (disregard class, not the main class) percentage is quite big.

2. Preprocessing data

  • Image size 6000x6000 5 channel (IR-R-G-DSM-nDSM), split to patchs 256x256
  • Train/Valid/Test: 18/6/14

3 & 4. Build model and Experiment

I tried lots of models, but there are 3 main:

My Models Origin Paper My customize code Acc
Fully Convolutional Networks with Resnet 101 encoder, 3 skip connections FCN paper My customize implement 0.85
Unet with Resnet 101 encoder Unet paper My customize implement 0.89
Pyramid Spatial Pooling Network with Resnet 101 encoder, aulixiary loss PSPNet paper My customize implement 0.90
90% (aulixiary loss) (single model)

4. Choose hyper-parameters and loss function

5. Experiment and validate

6. Testing phase

7. Report and submit

Expriment

More

  • Use cyclical learning rate
  • Use Resnet101 pretrain
  • Split to maxable size patch
  • Choose maxable batch size (6->32)
  • Adam optimizer
  • Small weight decay lr
  • Use less pooling
  • Use more skip connection
  • Normalize image before training

Guide to run

Install package and run notebook on your computer (with anaconda, or cloud such as kaggle, colab)

deepnet-for-semantic-labeling-photogrammetry's People

Contributors

damminhtien avatar

Watchers

 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.