Teaching remote sensing with OTB and QGIS in engineering faculty of Life Sciences INP-Toulouse Mathieu Fauvel and David Sheeren <2017-06-07 Wed>
Teaching remote sensing with OTB and QGIS in engineering faculty of Life SciencesINP-Toulouse
Mathieu Fauvel and David Sheeren
Outline
Context
Use of QGIS and OTB Applications
What’s more ?
Context
Use of QGIS and OTB Applications
What’s more ?
Audience
ENSAT: Graduate School of Life Sciences of ToulouseI Ministry of Higher Education and ResearchI National Polytechnic Institute of Toulouse
3 years program (after 2 years post-bac)
Year 1 2 3Program Basics Image analysis and classification Case studySession Only Lectures Lectures and labworks ProjectVolume 6 hours 30 hours 3 weeksStudents ~150 ~70 ~25
BackgroundI Life science (biology, agronomy, entomology . . . )I Applied Statistics with RI Knowledge in programming (Python)
http://www.enseignementsup-recherche.gouv.fr/http://www.inp-toulouse.fr/
Back to OTB Days 2015
Combination of Monteverdi, OTB Applications and shellOutline:1. Radiometric analysis (Monteverdi)
1.1 Colorization and spectral/radiometric analysis1.2 Manual segmentation (1 band and 2 bands)
2. NDVI (Monteverdi then OTB Applications)2.1 Computation and segmentation2.2 Change detection
3. Supervised classification (Monteverdi then OTB Applications)3.1 Classification of one date3.2 Classification of two dates3.3 Classification of SITS
4. Case study (Monteverdi then OTB Applications)4.1 Detection of forest in historical maps4.2 Classification of urban areas
Feedback
Lost in the shell,Switch between Monteverdi, QGIS and ArcGis (and R and Python . . . ),Remote sensing = classification !Ok it is free and multi-OS but it is too complicated to install on my Macbook Air !
What’s new in 2016
Use QGIS and OTB Applications,Use the graphical modeler to build the processing chain,New applications related to SITS,Support for window installation,Still have shell and Python inside, but not mandatory.Python extension for QGIS + plugins
https://github.com/mfauvel/RS_Lab/blob/master/labworks_s8.org
https://github.com/mfauvel/RS_Lab/blob/master/labworks_s8.org
Context
Use of QGIS and OTB Applications
What’s more ?
Configuration
Ubuntu (14.04) LTSQGIS (2.14)OTB superbuild (5.6) without python-bindingsAccount strorage: 5Gb/tmp: 2Gb
QGIS
Open and visualizeI Raster images,I Vector data.
Radiometric analysisI Color composition,I Histogram,I Spectral indices with BandMathI Segmentation with BandMath
-exp "(im1b1
Classification with OTBUnderstand the three steps of the classification processing chain1. Learn the model,2. Classify the image,3. Accuracy assessment.
Build the classification processing chain with the modeler
Work on:1. The influence of the spatial correlation of training/validation2. Classifier model3. Multi-temporal data4. SITS
Influence of the classifier model and data
1. Apply the processing chain for all possible combinations
[2013-10-12 Sat] [2013-12-10 Tue] [2013-10-12 Sat]+[2013-12-10 Tue]GMMKNNRFSVM
2. Report the results on the collaborative spreadsheet:https://framacalc.org/fauvel_res_classification
3. DiscussionI Classification accuracy,I Processing time,I Class definition w.r.t statistical model
https://framacalc.org/fauvel_res_classification
SITS 1/2
Construction of the SITS (MS and NDVI) in batch mode with the modeler,Extraction of the best date (MS and NDVI),
01 02 03 04 05 06 07 08 09 10 11 120.4
0.6
0.8
Best couple of dates: [2012-05-03 Thu] and [2012-07-17 Tue].
SITS 2/2Dynamic habitat index:# Compute the cummulative greennessotbcli_BandMath -il sits.tif -out cumgreen.tif \-exp "im1b1+im1b2+im1b3+im1b4+im1b5+im1b6+im1b7+im1b8+im1b9+im1b10+im1b11+im1b12+im1b13+im1b14+im1b15"
# Compute the minimal annual coverotbcli_BandMath -il sits.tif -out mincover.tif \-exp "min(im1b1,im1b2,im1b3,im1b4,im1b5,im1b6,im1b7,im1b8,im1b9,im1b10,im1b11,im1b12,im1b13,im1b14,im1b15)"
# Compute the seasonnal variationotbcli_BandMath -il sits.tif cumgreen.tif -out seasonvar.tif \-exp "sqrt(((im2b1/15-im1b1)^2+(im2b1/15-im1b2)^2+(im2b1/15-im1b3)^2+(im2b1/15-im1b4)^2+(im2b1/15-im1b5)^2 \+(im2b1/15-im1b6)^2+(im2b1/15-im1b7)^2+(im2b1/15-im1b8)^2+(im2b1/15-im1b9)^2+(im2b1/15-im1b10)^2+\(im2b1/15-im1b11)^2+(im2b1/15-im1b12)^2+(im2b1/15-im1b13)^2+(im2b1/15-im1b14)^2+(im2b1/15-im1b15)^2)/15)/im2b1*15"
SITS 2/2Dynamic habitat index:# Compute the cummulative greennessotbcli_BandMath -il sits.tif -out cumgreen.tif \-exp "im1b1+im1b2+im1b3+im1b4+im1b5+im1b6+im1b7+im1b8+im1b9+im1b10+im1b11+im1b12+im1b13+im1b14+im1b15"
# Compute the minimal annual coverotbcli_BandMath -il sits.tif -out mincover.tif \-exp "min(im1b1,im1b2,im1b3,im1b4,im1b5,im1b6,im1b7,im1b8,im1b9,im1b10,im1b11,im1b12,im1b13,im1b14,im1b15)"
# Compute the seasonnal variationotbcli_BandMath -il sits.tif cumgreen.tif -out seasonvar.tif \-exp "sqrt(((im2b1/15-im1b1)^2+(im2b1/15-im1b2)^2+(im2b1/15-im1b3)^2+(im2b1/15-im1b4)^2+(im2b1/15-im1b5)^2 \+(im2b1/15-im1b6)^2+(im2b1/15-im1b7)^2+(im2b1/15-im1b8)^2+(im2b1/15-im1b9)^2+(im2b1/15-im1b10)^2+\(im2b1/15-im1b11)^2+(im2b1/15-im1b12)^2+(im2b1/15-im1b13)^2+(im2b1/15-im1b14)^2+(im2b1/15-im1b15)^2)/15)/im2b1*15"
YouTube channel
Made by students for students
https://www.youtube.com/channel/UCcxj3jqQVu3w4y1397l_jKQ
OTB
https://www.youtube.com/playlist?list=PLBzVU1UlMAYmBexEUuJchDEei-LExjxfX
I Installation,I Classification with QGIS or OsGeo4W Shell,I Rasterization,I . . .
Small project: "Potentiality of QGIS and OTB for EGIS Environment"(http://www.egis-group.com/activites/environment)
https://www.youtube.com/channel/UCcxj3jqQVu3w4y1397l_jKQhttps://www.youtube.com/playlist?list=PLBzVU1UlMAYmBexEUuJchDEei-LExjxfXhttp://www.egis-group.com/activites/environment
Context
Use of QGIS and OTB Applications
What’s more ?
Model analysisDisclaimer: OTB Applications users view point !
� Confusion matrix� Parameters of the constructed model:
I Bayes: means, covariances, proportions . . .I RF: feature importance . . .I SVM: cross validation scores, support vectors, margin, . . .
� Posterior probabilities
01 02 03 04 05 06 07 08 09 10 11 12 010
0.2
0.4
0.6
0.8
1
Add Python in the loop
With the IT guys:I Need to find how to install everything,I Large scale scenario,
More links with GIS . . .
ContextUse of QGIS and OTB ApplicationsWhat's more ?