Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
interimage:example_rule_based_classification [2009/12/03 17:51] gilson created |
interimage:example_rule_based_classification [2009/12/03 18:04] (current) gilson |
||
---|---|---|---|
Line 2: | Line 2: | ||
====== InterIMAGE Examples: Rule-Based Classification ====== | ====== InterIMAGE Examples: Rule-Based Classification ====== | ||
- | This document explains how to start a single project in InterIMAGE and perform attribute extraction and object-based classification. | + | This example shows how to perform a single classification of pools and roofs in a small image, through rule-based classification. |
- | The example image will be the following: | + | This project is called "pools_and_roofs" and uses the operator TerraAIDA_Baatz_Segmenter. |
- | {{wiki:thales:input_image.png|}} | + | The InterIMAGE interpretation project can be downloaded here: {{wiki:thales:pools_and_roofs.zip|download}} |
- | The projects can be download here: | + | The image used in this example is the following: |
- | * {{wiki:thales:view_attributes.zip|Attributes Extraction and Visualization}} | + | {{wiki:thales:input_image.png|}} |
- | * Classification of Pools and Roofs: | + | |
- | * {{wiki:thales:pools_and_roofs.zip|Creating Decision Rules}} | + | |
- | * {{wiki:thales:ta_classifier.zip|Using Supervised C4.5 Algorithm}} | + | |
- | ===== Attributes Extraction and Visualization ===== | + | After creating the InterIMAGE project, we should inserted three nodes, namely //pools//, //roofs// and //background//. All nodes will have the top down operator TerraAIDA_Baatz_Segmenter, as showed in the figure below. |
- | + | ||
- | Before you perform classification, its important to view the image in the attribute space. | + | |
- | + | ||
- | To do so, create a new project, called, for instance "view_attributes", with the images you are going to use in your project. | + | |
- | + | ||
- | {{wiki:thales:new_project.png?400|}} | + | |
- | + | ||
- | After, create a single structure to perform segmentation and attributes extraction, using yout favorite algorithm. In the following example, we created a node called "show_attributes" with Baatz segmentation. | + | |
- | + | ||
- | {{wiki:thales:new_node.png?400|}} | + | |
- | + | ||
- | To view some attributes, edit the top down rule of the node "show_attributes" by clicking in the button highlighted in blue. | + | |
- | + | ||
- | {{wiki:thales:top_down_button.png?400|}} | + | |
- | + | ||
- | Then insert your image and create the new attributes by inserting new expressions. | + | |
- | + | ||
- | {{wiki:thales:create_attribute.png?400|}} | + | |
- | + | ||
- | In this example, the new attribute "object_area" will represent the area of every object in the scene. | + | |
- | + | ||
- | Then, start your project by clicking in the button highlighted in blue. | + | |
- | + | ||
- | {{wiki:thales:start_button.png?400|}} | + | |
- | + | ||
- | When the process finishes, the "Map Viewer" window will open. In this window, you can select "Attribute" in the "Fill" option and chose some of your created attributes to view in the image. Every object resultant from classification will be filled with the relative intensity of the choosen attribute, as the figure below. | + | |
- | + | ||
- | {{wiki:thales:show_attributes.png?400|}} | + | |
- | + | ||
- | ===== Classification of Pools and Roofs - Creating Decision Rules ===== | + | |
- | + | ||
- | This example will show how to perform a single classification of pools and roofs in a small image. This project is called "pools_and_roofs" and uses the operator TerraAIDA_Baatz_Segmenter. | + | |
- | + | ||
- | After creating the project, we inserted three nodes, namely //pools//, //roofs// and //background//. All nodes will have the top down operator TerraAIDA_Baatz_Segmenter, as showed in the figure below. | + | |
{{wiki:thales:pools_parameters.png?400|}} | {{wiki:thales:pools_parameters.png?400|}} | ||
Line 70: | Line 33: | ||
{{wiki:thales:classification.png?400|}} | {{wiki:thales:classification.png?400|}} | ||
- | ===== Classification of Pools and Roofs - Using Supervised C4.5 Algorithm ===== | ||
- | |||
- | InterIMAGE performs supervised classification through the C4.5 decision tree classifier. In order to perform such classification, the user must train the algorithm by providing samples of every class. In this way, the classification algorithm is able to create a decision tree and apply it into the whole set of objects, classifying them. | ||
- | |||
- | Here is an example of training file, in xml format: | ||
- | |||
- | File //training_set.xml// | ||
- | <code xml> | ||
- | <region class="roofs" ratio_b1="0.409163" /> | ||
- | <region class="roofs" ratio_b1="0.405262" /> | ||
- | <region class="pools" ratio_b1="0.293273" /> | ||
- | <region class="pools" ratio_b1="0.236392" /> | ||
- | <region class="background" ratio_b1="0.328659" /> | ||
- | <region class="background" ratio_b1="0.333080" /> | ||
- | </code> | ||
- | |||
- | Such file contains the information that two elements from class //roofs// have the attribute //ratio_b1// with values "0.409163" and "0.405262", respectively. The same happends for classes //pools// and //background//. | ||
- | |||
- | On the InterIMAGE interface, the user must create such classes, and set the property **TopDown Multi-Class** as //true//. | ||
- | {{wiki:thales:multi_class_true.png?400|}} | ||
- | |||
- | One of the nodes should perform segmentation and attributes extraction. This is done by the node //pools//, like the following figure. | ||
- | {{wiki:thales:segmenter_node.png?400|}}{{wiki:thales:setting_one_attribute.png?350|}} | ||
- | |||
- | After creating all classes present in the xml training file, setting all parameters, you can start your process, and visualize the results. | ||
- | {{wiki:thales:c45_results.png?400|}} | ||
- | |||
- | Further versions of InterIMAGE will have the interface for training. Download and try this example! |