Giter Club home page Giter Club logo

spherical2treeattributes's Introduction

Spherical2TreeAttributes

This is the graduation project for the Master of Science in Forestry in UNB. It uses the spherical camera (Rioch Theta S) to estimate forest attributes under canopy. This project has three parts:

  1. Estimating Stand Basal Area from spherical images.
  2. Estimating Canopy Structural Fractions (plant, sky, foliage, etc.) from spherical images
  3. Estimating Individual tree Attributes (DBH, Height, spatial location) from two spherical image pairs.

1. Stand Basal Area (Chapter 2)

See this project: https://github.com/HowcanoeWang/Panorama2BasalArea

2. Canopy Structure Fractions (Chapter 3)

workflow

The workflow of two approaches to estimate plant fraction (PF) from spherical photos. The left blue workflow is the hemispherical approach (HPF) which converts original cylindrical images to hemispherical images first then apply algorithms commonly used in hemispherical images. The right green one is the cylindrical approach (CPF) which directly calculate the PF value on original cylindrical images without image converting.

See Plant Fraction Folders,the item goes:

Plant Fraction/
|- config.py   # The HSV theshold and path settings
|- Hemispherical/   # Hemispheical Approach in Thesis Chapter 3
|   |- Conversed_57.5/   # The output folder for generated fisheye images.
|	|- converse.py   # Convert Raw image to Fisheye image with distortion calibrated
|	|- classify_all_fisheye.py   # The model for HSV classification
|   |- plant_fraction_hemi.py   # Operate HSV classification for all fisheye images.
|- Cylindrical/
	|- plant_fraction_cyli.py   # The model for HSV classification for raw image
    |- classify_all_cylindircal   # Operate HSV classification for all images

Currently, no executable app has been packed.

3. Individual Tree Attributes

The GUI to mark key points (base and top of tree) in spherical image pairs. However, limited by schedule, the database hasn't been developed, all the calculating data needs to be pasted to the Excel file (DataTemplate.xlsx)

Operation Steps:

  1. Run app.py scripts or app.exe downloaded in this link.
  2. Load spherical images (OpenImg button) at 1.6m and 2.6m for left panel and right panel respectively.
  3. Mark ground control points (click once on each image, e.g. plot center)
  4. Press (Convert) in 1.6m img, and paste result to the first column in Plot Sheet
  5. Press (Convert) in 2.6m img, and paste result to the next column in Plot Sheet
  6. Press N to start marking a new tree.
  7. Following this order to mark key points (Using windows magnifier tools if it is hard to see clearly):
    1. 1.6m img tree base
    2. 2.6m img tree The model for HSV classification
    3. (the horizonal red line will be locked at 1.3m)
    4. left point of DBH at 1.6m img
    5. right point of DBH at 1.6m img
    6. left point of DBH at 2.6m img
    7. right point of DBH at 2.6m img
    8. 1.6m img tree top
    9. 2.6m img tree base
    10. Paste result to a row of Tree Sheet
    11. repeat previous steps for all trees in this spherical image pair
  8. Reload next plot images.

4. Integrated App

Future work: Integrate all the previous functions into one app.


icon url:

Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

spherical2treeattributes's People

Contributors

howcanoewang 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.