A complete toolchain for object-based image analysis with GRASS GIS

Video thumbnail (Frame 0) Video thumbnail (Frame 625) Video thumbnail (Frame 1636) Video thumbnail (Frame 2710) Video thumbnail (Frame 3339) Video thumbnail (Frame 5338) Video thumbnail (Frame 7213) Video thumbnail (Frame 8567) Video thumbnail (Frame 10177) Video thumbnail (Frame 10812) Video thumbnail (Frame 12039) Video thumbnail (Frame 15241) Video thumbnail (Frame 15700) Video thumbnail (Frame 19741) Video thumbnail (Frame 20721) Video thumbnail (Frame 21725) Video thumbnail (Frame 23950) Video thumbnail (Frame 25598) Video thumbnail (Frame 28829) Video thumbnail (Frame 30884) Video thumbnail (Frame 32251)
Video in TIB AV-Portal: A complete toolchain for object-based image analysis with GRASS GIS

Formal Metadata

A complete toolchain for object-based image analysis with GRASS GIS
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Object-based image analysis (OBIA) is the current state of the art feature extraction technique for very high resolution (VHR) satellite imagery. While one proprietary tool dominated the market for years, more and more alternative solutions now appear, including free software based, and research continues to produce new approaches. However, many of the techniques implemented in free software are not easily accessible to the inexperienced user. This presentation presents efforts to develop a complete tool chain of easy-to-use modules for OBIA in GRASS GIS, ever since the development of an image segmentation module i.segment during GSoC 2012. Amongst the other modules presented are i.segment.uspo for unsupervised segmentation parameter optimization, i.segment.hierarchical for hierarchical segmentation, v.stats and i.segment.stats for the collection of statistics characterizing the objects, v.class.ml and v.class.mlR for supervised image classification. Combining these modules enables semi-automatic treatment of VHR imagery in a completely free software environment, as shown through examples of the two research projects SmartPop (funded by ISSeP) and MAUPP (funded by BELSPO). The talk will end with some reflections about possible further enhancements of this process, including through the combination of GRASS GIS with other FOSS4G tools.
CAN bus Computer animation Object (grammar) Computer-generated imagery Projective plane Mathematical analysis Grass (card game) Grass (card game) Mereology Traffic reporting Formal language
Satellite Metropolitan area network Execution unit Pixel Image resolution Matter wave Image resolution Computer-generated imagery 3 (number) Bilderkennung Grass (card game) Mathematical analysis Grass (card game) Special unitary group Medical imaging Hardy space Computer animation Object (grammar) Self-organization Object (grammar) Pixel Exception handling
Rule of inference Medical imaging Pixel Computer animation Object (grammar) Content (media) Object (grammar) Content (media) 5 (number) Mereology Pixel Statistics
Group action Module (mathematics) Identifiability Computer-generated imagery Mass Parameter (computer programming) Bound state Mereology Local Group Medical imaging Computer configuration Different (Kate Ryan album) Object (grammar) Core dump Endliche Modelltheorie Series (mathematics) output Pixel Metropolitan area network Physical system Algorithm Chemical equation Graph (mathematics) Parameter (computer programming) Line (geometry) Limit (category theory) Type theory Computer animation Intrusion detection system Raster graphics Function (mathematics) Object (grammar)
Pixel Algorithm Euler angles State of matter Set (mathematics) Parameter (computer programming) Mereology Distance Shift operator Code Field (computer science) Arithmetic mean Term (mathematics) Different (Kate Ryan album) Band matrix Radius Object (grammar) Integer Pixel Mathematical optimization Physical system Area Shift operator Algorithm Inheritance (object-oriented programming) Mapping Parameter (computer programming) Thresholding (image processing) Electronic signature Band matrix Arithmetic mean Computer animation Personal digital assistant Normal (geometry) Object (grammar) Mathematical optimization Spectrum (functional analysis) Spacetime
Module (mathematics) Multiplication sign Computer-generated imagery Maxima and minima 3 (number) Electronic mailing list Parameter (computer programming) Thresholding (image processing) Local Group Medical imaging Different (Kate Ryan album) Energy level Software testing Integer Series (mathematics) output Mathematical optimization Metropolitan area network Rule of inference Dialect Electronic mailing list Parameter (computer programming) Range (statistics) Price index Process (computing) Computer animation Software testing Object (grammar) Mathematical optimization
Point (geometry) Axiom of choice Empennage Rectangle Decision theory Maxima and minima Parameter (computer programming) Mereology Thresholding (image processing) Graph coloring Inference Different (Kate Ryan album) Object (grammar) Information Data structure Fuzzy logic Rule of inference Dialect Information Bit Statistics Computer animation Network topology Software testing Object (grammar) Mathematical optimization Form (programming) Data structure
Axiom of choice Statistics Module (mathematics) Mapping Service (economics) Identifiability Computer file ACID Grass (card game) Function (mathematics) Parameter (computer programming) Surgery Entire function Variable (mathematics) Number Medical imaging Feldrechner Object (grammar) Vector space Pressure volume diagram Endliche Modelltheorie output Form (programming) Module (mathematics) Rule of inference Compact space Pairwise comparison Axiom of choice Texture mapping Mapping Computer file Code Price index Grass (card game) Variable (mathematics) Statistics Number Arithmetic mean Computer animation Vector space Raster graphics Repository (publishing) Calculation Object (grammar) Form (programming) Geometry
Machine learning Computer animation Object (grammar) Different (Kate Ryan album) Social class Grass (card game) Series (mathematics) Variable (mathematics) Statistics Virtual machine
Group action Set (mathematics) Numbering scheme Grass (card game) Complete metric space Parameter (computer programming) Function (mathematics) Medical imaging Mathematics Different (Kate Ryan album) Object (grammar) Process (computing) Endliche Modelltheorie Office suite Series (mathematics) Physical system Social class Scripting language Machine learning Algorithm Meta element Software developer Bilderkennung Numbering scheme Complete metric space Statistics Virtual machine Forest Partition (number theory) Arithmetic mean Computer configuration Chain Different (Kate Ryan album) Self-organization output Arithmetic progression Resultant Asynchronous Transfer Mode Random number Module (mathematics) Algorithm Virtual machine Voting Chain Term (mathematics) Tunis Form (programming) Module (mathematics) Rule of inference Electronic data processing Execution unit Weight Graph (mathematics) Mathematical analysis Grass (card game) Voting Computer animation Integrated development environment Social class Object (grammar) Capability Maturity Model Library (computing)
Module (mathematics) Scaling (geometry) Matching (graph theory) Projective plane Feedback Planning Mereology Statistics Variable (mathematics) Geometry Graphical user interface Computer animation Integrated development environment Different (Kate Ryan album) Object (grammar) Software testing Social class Software testing Associative property Form (programming) Resultant
Point (geometry) Module (mathematics) Rule of inference Execution unit Algorithm Module (mathematics) Graph (mathematics) Virtual machine 1 (number) Bit Variable (mathematics) Performance appraisal Geometry Graphical user interface Computer animation Object (grammar) Normed vector space Social class Software testing Object (grammar) Geometry Social class
Module (mathematics) Image processing Set (mathematics) Graph coloring Food energy Theory Scalability Variable (mathematics) Medical imaging Geometry Graphical user interface Term (mathematics) Different (Kate Ryan album) Object (grammar) Rule of inference Weight Bound state Mathematical analysis Bilderkennung Complete metric space Process (computing) Computer animation Normed vector space Social class Software testing Quicksort
Rule of inference Key (cryptography) Inheritance (object-oriented programming) Software developer Image resolution Execution unit Lattice (order) Plastikkarte Mereology Rule of inference Flow separation Medical imaging Computer animation Moving average Object (grammar) Acoustic shadow Window Resultant
Satellite Axiom of choice Multiplication sign Real number Image processing 1 (number) 3 (number) Maxima and minima Complete metric space Plastikkarte Bookmark (World Wide Web) Web 2.0 Medical imaging Frequency Chain Hypermedia Process (computing) Endliche Modelltheorie Information security Scripting language Information Mapping Chemical equation Graph (mathematics) Graphical user interface Process (computing) Computer animation Auditory masking output
Computer animation
In the sale more or less the
rest of this report with very specialized 1 on 1 aspect of what's going on the grass project just 7 this part also of research going on in the language the financed by 2
different organisms the Belgians federal science policy and someone institutions FIL grass generous the all but still there and very much so and very generalization in the grass does everything except for the morning coffee after the party that otherwise really about what I'm going to focus on today is the image of treatment of satellite images the
just to we show that that we're on the same wavelength when I talk about objects this image analysis is that it really is the example we coming from the situation where we have satellite images for such as The Lancet images here where individual objects much smaller than the pixels so pixel would be urbanized we can see individual houses to a situation where we have a very high resolution imagery where are the objects are much bigger than pixels so the issue becomes to identify the objects in there before we
so which comes from identifying the contents of pixels to grouping pixels and labeling this 3 basic steps and then there's the image segmentation of of creating the objects is the characterization of these objects dealing with the data you want and then based on the labeling so the classification so
the segmentation part is you have an image and you want to identify the objects and so
we different algorithms exist that and try to identify individual objects in graphs that's kind of
the core model of this voltage and we have the I. segment model Will you give it any group of images you want so it works in multispectral and it gives you the rest man with the the different object ID is in this true but interesting options in their 1 is to define a balance mass which can predefined limits of the objects so you can then actually say only segment within this object but don't cross the lines that allows it to do top-down hierarchical segmentation so we start from the top and the new segment within certain types of even more etc. such and there's a bottom-up option which is to work with so you already have small objects and then you ask the system to merge them together so that you can do bottom-up the important part within is that you have to choose a series of parameters and that's always
a difficult part by now we have 2 algorithms in segment the 1st is the region growing and the 2nd which is brand new it's not in the trunk codes yet but it will be pretty soon as mean shift a region growing is a system where you start with individual States pixels and emerged as you go along and mean shift is where you take your pixels and you kind of shift and 2 is the mean of the of the neighbors get similar itself to be even more similar so whatever parent is an integer attitudes which objects to merge that means how close 2 objects have to be in the spectral space to for the 1st emerged and the mean shift cyber them we also have a spatial bandwidth we have to decide which areas that we look at in terms of the pixels and also which neighbors to really get in terms of proximity within the spectral demonstrate all this means that a new parameter tuning which is generally done in of cases them by hand people just try out and look at the map and what we trying to implement is an
unsupervised segmentation Paramita optimization trying to find the best settings of these parameters and this is always relative obviously and it's a tradeoff between at the 1 norm wants anyone to have high homogeneity within objects so all pixels that are within an object should be pretty close to each other in terms of the the spectral signatures and high heterogeneity between objects so any 2 objects should be different as much as possible and some this is so there's a lot of literature on that and it's ongoing research field but still we implemented 2 different optimization algorithms based on these articles here and so we created a lot but I segment is here where you can actually give it
images obviously any given a list of test regions because obviously if you on a test and you know a lot of characters and if you have a lot of and that is a lot of time so what you do is you choose a series of smaller regions within the image as test regions and then you tell it OK I wanna take shit I want you to test the threshold for example From this value and this value with a step of this and then goes different regions and run the segmentations and calculates optimization criterion indicator and you can choose this different optimization criterion used and into those as well to see rather more focus on the integers between objects on will focus on the homogeneity within objects that and it gives you then as up the best parameters and possibly you want to even the best man and it's more processing enabled meaning that if you have several costs you can run the test in parallel this level segmentation but in parallel so it speeds things up so here
you have an example you have different tests regions and so does different segmentations
and here in this example I also tested for the threshold and you can see there's different threshold values that come different reasons so at 1 point there is a decision that needs to be taken obviously and these are the the 3 regions so the some of choice to be made the next part once we
have decided OK this is uh the segmentation parameters so we segmented we've got objects now we get can characterizes so for example you these are trees or bushes there red because this is the inference false color compositions and yeah he haven't seen this fuzzy of structure is not really very clear that they are a bit above ground social hide information you can use that as well and they have a higher information value steakhouse is more rectangular it's high above the ground you have for example this 1 you have high values in red it's fairly large so you can work with the size and 2nd so for this we have a
model which is called a segment steps which takes the output of the assignments and then calculate statistics on the object you can give it any other restaurants that you want to look at the statistics for so if you want have the meaning uh and for for example or or or mean texture or whatever or or maximum whatever we can concatenate all the statistics for each object it would have the statistics and you have a choice of form variables so parameter and other indicators of counted in on the form of comparisons compactness of the form things like and you can show is being you 1 the output of the vector map of gives you the objects within attributed with no statistics or you can just get out a serious follow that choosing a file that contains all the object identifiers and this is 6 lead to that and I'll come back to the question of files services vector of the problem when you go to the vector stages that especially work workers very very large numbers of objects and some of the images that we work with you know you come up to millions of objects that you identify these images vectorization processes are often very slow or and so before we only have a module which calculated the objects form statistics in a vector form and grass and that was quite slow to then we move from the acid to the vector to calculate performance indicators and so we created a new model is ah object geometries which is also just just entered the the repository last moves last week and that the postproduction and the year it takes the roster output of the i sigma model and it calculates the the the object form statistics and it's much much faster than what we could do before surgery there a big plus the so you have these
segments and for each
segment so used to this 1 which is selected you have a whole series of all variables characterized each segment and that will then allow to classify and each segment
to label each object to what and most of what's going on now in terms of enabling of objects uses machine learning there's different machine learning algorithms and we decided to not implement all these arguments and in graphs itself but rather to problems the fact that we have sophisticated scientific libraries that exist in different programming environments and so those 2 modules actually that I front-end of their grass modules to run them just as in the model but they're not from to libraries of 1 is from 10 to Python could learn in an MLP I and the other is a you are said to especially the caret package which is a pair had kind meta package allowing to run a whole series of machine learning algorithms currently we only have supervised learning meaning that you have to give the algorithms and training sets of objects where you say this object is this subject is that and then it runs in machine learning on something this for future development so the classification that take the example of the the customer it uses automatic tuning which the caricature office so a lot of people the algorithms they need tuning as well you have to decide what is Paris so the care package does that as well that's also done in whenever possible data processing and currently we have these 4 algorithms that can be called that is obviously quite easy to then extended to more rooms and so that something is going to come in that modulus well we have implemented a majority voting scheme where there's only you can run actually several but research and then at the end of the module organization between these different algorithms and then uh the majority wins or you can have a weighted majority and different different forms of majority voting to decide which is the uh the class that the object comes in you have the opportunity to output all the individual classifiers results as well so you don't have to trust the system setting in so that means we now have a really complete tool chain in graphs which allows to do the object-based image analysis and this is and then the image of our we graphical models which allows it to
graphically group 2 different models together and then use a random search for you can spit it out as a Python scripture you can increase the model out of it and then if you can run independently of the of the mother the mother is still work in progress but it works quite well for just moving all these different commands together and you can also call also here I've kind of hard coded these images i wanna put into the analysis but you can also parametrized so when you run this script and script as to which not the 1 running around so you can really create your own change with flexible input so these are
some results from this research projects that I spoke about the beginning which 2 research projects 1 where we about both the matching of the the aim to better modelize population on a very very local scale to see where are people actually 1 is in Africa's as where the 1 in Belgium association and so we actually worked out the science and try them out on these 2 different environments and they quite satisfying results of so so you can see this segmentation part and this is the leading parts in the results here so when we
go from there testing testing testing and so on we're doing that it has a lot of obviously the more we get feedback on immoral people in different situations different environments better than this we're planning
on adding more formal roles in the our object geometry because this is a bit limited at this stage this style of person we can make more classifiers in the classification aspects machine learning algorithms including unsupervised ones we at this stage at this stage when we use the money to the it so a mistake this is this is actually classifications was strong in the class accuracy at at this point we only take overall accuracy as a as an evaluation of the classification and not the and that each class individually so that's a lot of things that we can work on their the nice to have a dedicated modules going that allows you to you very easily pick training objects out of the objects on the freedoms instrumentation and whatever you want contribute that's obviously would be great I think another aspect that is interesting to have a session here together today we can see how we can introduce a bit more with the other tools such as for example and you get down into the graph to a well so that's it thank
you a
fast do we have any questions what is greater than k permitting nothing then this sort of pipelining theories and weightings and image analysis and what we found is something that is quite useful do can't image processing 1st sometimes spitting out color is the the exact answers that was able we have these In this process of energy the complete tool sets in terms of the image treatment you can you can do better because you can can do a whole lot of analysis trade close to the bounds of the difference in the cities you can do atmospheric correction you can do a lot of it and he is asking it's easy to say no at this stage now we have the same discussion last nite scalable and his so that
not again yes OK I suppose
that we have a meeting is misses the DDT Jesus actually at the University of Reading Online depending on the mood of the keys in the the it is not only to the induced Italy's not exact spend money into these different when you should all in units that have to know that the dead horse he saw this is this but don't don't do what you here and I think that's a lot of stuff exceeding the m we have the additional or on the 1 side you know we have for a different spectral values so you will to induce the how users all trying to modernize the don't results yeah that's that's the graphical problem the getting these images and the as we get more and more into this very high resolution images we have a lot of promise that the shadows and if you take a house like this you will have you know you have little window here oriented to me all these will become different objects whereas the latter part of the same house with so that's so the question is then that's part of the of the parents tuning in the segmentation to decide is it better to divide the house in several parts and then enter labeling step the grouping together saying all these are actually part of a house war or is to try to segment in a way that you get the entire object which is often quite difficult so generally I would say it's better to over segments to create more objects more segments then you have actual objects and then add the labelings that tried to label all these so you have rules in shadow rules in the sense that both of them will be part of a house we can not In his research this the I n this general question the if you are a developer behind the
image processing scientists and do you have a particularly favorite references for conceptual understanding in image processing if you just trying to get from this balance will uh I don't have anything right now to instead of my hence the period of time and there is a lot of stuff on image processing on the web and you can just this thing here just needs and intro for them is if you 1 on on on on image the processing that's all that's available and well I don't think I don't have any other anybody else has an idea of this is the great reference the grasp of their government and media as it doesn't contain the object-based treatment yet but it does have a lot of information on what our satellite images and what think of when this is coming out of the year he the we're just follow the usual the then many ones will question about their going model that you will make you mentioned How to imagine it can I can
instantly make a molecule like that and then created and screwed up a from anything 1st like that there's no OK so here you you can do you can in the the pudding model or you put in data so you can start with the data is not with them with processes you wanted hitching whatever you want and you have possibility to export as a Python script and actually the nicest thing that if you permit right so that means for example if the input mask fine hard coded but he's saying when I run this could I want to give the the maps and the Python script it's actually like a real graphs model which then automatically take creates a graphical user interface so it gives you the choice of the possibility to choose something on the same killed social Security eventually