eagleeye - hp-see wiki

Upload: aadatti

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 EagleEye - HP-SEE Wiki

    1/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 1

    EagleEye

    From HP-SEE Wiki

    Contents

    1 General Information

    2 Short Description

    3 Problems Solved

    4 Scientific and Social Impact

    5 Collaborations

    6 Beneficiaries

    7 Number of users

    8 Development Plan9 Resource Requirements

    10 Technical Features and HP-SEE Implementation

    11 Usage Example

    12 Infrastructure Usage

    13 Running on Several HP-SEE Centres

    14 Achieved Results

    15 Publications

    16 Foreseen Activities

    General Information

    Application's name:Feature Extraction from Satellite Images Using a Hybrid Computing Architecture

    Application's acronym:EagleEye

    Virtual Research Community: Computational Physics

    Scientific contact:Emil Slusanschi, [email protected]

    Technical contact:Nicolae Tapus, [email protected]

    Developers: Cosmin Constantin, Razvan Dobre, Alexandru Herisanu, Ovidiu Hupca, Betino Miclea,

    Alexandru Olteanu, Emil Slusanschi, Vlad Spoiala, Silvia Marcu, University Politehnica of Bucharest,

    Computer Science and Engineering Department, Romania

    Web site: http://cluster.grid.pub.ro/

    Short Description

    The topic of analyzing aerial and satellite images for the purpose of extracting useful features has always been

    http://wiki.hp-see.eu/index.php/EagleEye#Foreseen_Activitieshttp://wiki.hp-see.eu/index.php/EagleEye#Publicationshttp://wiki.hp-see.eu/index.php/EagleEye#Achieved_Resultshttp://wiki.hp-see.eu/index.php/EagleEye#Running_on_Several_HP-SEE_Centreshttp://wiki.hp-see.eu/index.php/EagleEye#Usage_Examplehttp://wiki.hp-see.eu/index.php/EagleEye#Technical_Features_and_HP-SEE_Implementationhttp://wiki.hp-see.eu/index.php/EagleEye#Resource_Requirementshttp://wiki.hp-see.eu/index.php/EagleEye#Development_Planhttp://wiki.hp-see.eu/index.php/EagleEye#Beneficiarieshttp://wiki.hp-see.eu/index.php/EagleEye#Short_Descriptionhttp://cluster.grid.pub.ro/http://wiki.hp-see.eu/index.php/EagleEye#Foreseen_Activitieshttp://wiki.hp-see.eu/index.php/EagleEye#Publicationshttp://wiki.hp-see.eu/index.php/EagleEye#Achieved_Resultshttp://wiki.hp-see.eu/index.php/EagleEye#Running_on_Several_HP-SEE_Centreshttp://wiki.hp-see.eu/index.php/EagleEye#Infrastructure_Usagehttp://wiki.hp-see.eu/index.php/EagleEye#Usage_Examplehttp://wiki.hp-see.eu/index.php/EagleEye#Technical_Features_and_HP-SEE_Implementationhttp://wiki.hp-see.eu/index.php/EagleEye#Resource_Requirementshttp://wiki.hp-see.eu/index.php/EagleEye#Development_Planhttp://wiki.hp-see.eu/index.php/EagleEye#Number_of_usershttp://wiki.hp-see.eu/index.php/EagleEye#Beneficiarieshttp://wiki.hp-see.eu/index.php/EagleEye#Collaborationshttp://wiki.hp-see.eu/index.php/EagleEye#Scientific_and_Social_Impacthttp://wiki.hp-see.eu/index.php/EagleEye#Problems_Solvedhttp://wiki.hp-see.eu/index.php/EagleEye#Short_Descriptionhttp://wiki.hp-see.eu/index.php/EagleEye#General_Information
  • 7/28/2019 EagleEye - HP-SEE Wiki

    2/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 2

    an interesting area of research in the field of machine vision. From identifying terrain features like forests,

    agricultural land, waterways and analyzing their evolution over time, to locating man-made structures like

    roads and buildings, the possible applications are numerous.

    Problems Solved

    The purpose of the application is to use the Cell B.E. hybrid architecture to speed up the tasks, by employing

    relatively simple algorithms yielding good results. Two different subtasks are treated: identifying straight road(based on the Hough transform), and terrain identification (using the technique of texture classification). These

    techniques give good results and are sufficiently intensive computational to take advantage of parallelization

    and Cell B.E. acceleration. However, in order to obtain good results, powerful computationally intensive

    algorithms must be used. Also, the large datasets usually processed require significant time and computer

    resources. To address this problem, parallel computing is employed. By splitting the load on multiple nodes,

    computation time is reduced and, depending on the algorithms used, the application can scale in an almost

    linear fashion. The IBM Cell Broadband Engine (Cell B.E.) is used as a middle ground between the two

    categories of general purpose CPUs and dedicated signal processors. It has one Power Processor Element

    (PPE) and 8 Synergistic Processor Elements (SPEs). The SPEs are optimized for running compute intensive

    single-instruction, multiple-data (SIMD) applications. By converting the processing algorithms to the Cell B.ESIMD architecture and running them on its 8 SPEs, a significant speed up is achieved as compared to a genera

    purpose X86 CPU. The downside is that in order to take advantage of the Cell B.E. capabilities the original

    code cannot just be recompiled, but the algorithm must also be adapted to the new architecture. This is usually

    not a trivial matter and takes a significant amount of time and engineering.

    Scientific and Social Impact

    The application will allow for automatic detection and classification of features in large datasets of high-

    resolution satellite images. The analysis of satellite images with the ability to features like forests, agricultural

    land, and waterways will allow for the development of applications with significantly improved capabilities.

    Collaborations

    Romanian National Meteorological Agency: http://www.meteoromania.ro/index.php?id=0&lang=en

    Beneficiaries

    Romanian National Meteorological Agency: http://www.meteoromania.ro/index.php?id=0&lang=en

    Number of users

    12

    evelopment Plan

    http://www.meteoromania.ro/index.php?id=0&lang=enhttp://www.meteoromania.ro/index.php?id=0&lang=en
  • 7/28/2019 EagleEye - HP-SEE Wiki

    3/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 3

    Concept:M1 - 09.2010.

    Start of alpha stage:M1-M5. 10.2010-02.2011

    Start of beta stage:M5-M7. 02-05.2011

    Start of testing stage:M7-M9.05-07.2011

    Start of deployment stage:M9-M12. 07-09.2011

    Start of production stage:M12-M24. 10.2011-08.2013

    Resource Requirements

    Number of cores required for a single run: 224

    Minimum RAM/core required: 2GB/Core

    Storage space during a single run: 50-70GB

    Long-term data storage: 70-100GB

    Total core hours required: 700 000.

    Technical Features and HP-SEE Implementation

    Needed development tools and compilers: Eclipse 3.6.1, Gcc 4.6.0

    Needed debuggers: SunStudio 12.1, Intel VTune Amplifier XE

    Needed profilers: Scalasca 1.3.2

    Needed parallel programming libraries: Cell/B.E. SDK 3.1, PThreds, MPI 2.0 (OpenMPI 1.5.3), GPU

    Programming - CUDA/OpenCL

    Needed libraries: OpenCV 2.3.1

    Main parallel code: Feature extraction code, 3D Visualization Code

    Pre/post processing code: None

    Primary programming language: C/C++

    Usage Example

    The first algorithm from which we started can be split up into four parts: applying a median filter on the

    original image, grayscale conversion, applying Canny edge detection on the blurred black and white image an

    applying the Hough transform on the image resulted from canny edge detection. The result is a set of line

    segments representing possible roads that get mapped onto the original image. The execution flow is presented

    in the following picture:

  • 7/28/2019 EagleEye - HP-SEE Wiki

    4/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 4

    An improved implementation adapts the Canny Edge Detector thresholds based on the input images. The

    median filter size is between 5 and 13 with a fixed step of two. Also, the Hough transform parameters are

    derived in very simple manner from the median filter size: segment size is filter size plus 5, while maximum

    segment distance is 2 (static assignment). Also, the criteria function for selecting and linking segments in the

    Hough transform still has some hard coded parameters. The Segment Selection step only filters a small numbe

    of false positives. Linking road segments that are far apart is difficult in this stage because of the large number

    of false positives obtained from the Hough transform step. Also, a metric for linking road segments andfiltering out lines between fields that are closer seems difficult to achieve at this point. The improved algorithm

    is displayed in the following diagram:

    http://wiki.hp-see.eu/index.php/File:EagleEye_Algorithm_1.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    5/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 5

    Examples of processed images employing the improved algorithm are given below:

    http://wiki.hp-see.eu/index.php/File:Example_1.jpghttp://wiki.hp-see.eu/index.php/File:EagleEye_Algorithm_2.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    6/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 6

    As can be seen, there are still some false-positives and some recognition issue to be solved by our developmenteam.

    Infrastructure Usage

    Home system:NCIT Cluster

    Applied for access on: 09.2010.

    Access granted on: 09.2010.

    http://wiki.hp-see.eu/index.php/File:Example_3.jpghttp://wiki.hp-see.eu/index.php/File:Example_2.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    7/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 7

    Achieved scalability: 224 cores.

    Accessed production systems: 1

    Applied for access on: 09.2010.

    Access granted on: 09.2010.

    Achieved scalability: 224 cores.

    Porting activities: Completed.

    Scalability studies: The envisaged scalability of 224 cores was achieved.

    Running on Several HP-SEE Centres

    Benchmarking activities and results:Due to the sensitive nature of the data that is analyzed, we can not

    run our application on other HP-SEE Centres.

    Other issues:None.

    Achieved Results

    The recognition and extraction of features like contour lines, roads, forest cover and text from scanned

    topographical maps poses a problem due to the presence of complex textured backgrounds and information

    layers overlaid one on top of the other. Color analysis is also complicated by the poor quality of the images

    produced by the scanner and the use of dithering in the map printing process. Furthermore, we develop a

    system that extracts the information contained in topographic maps and generates separate layers for the

    different types of features these maps present. A very important aspect of information extraction from

    topographic maps is represented by the ability to identify regions of text and correctly recognize the character

    information. A sample topographic map is given below:

    Given a color raster map, the aim of our method is to produce automatically a vectorized representation of the

    textual layer it contains. The proposed method is divided into four main steps:

    http://wiki.hp-see.eu/index.php/File:Sample_Topographic_Map.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    8/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 8

    1. Map segmentation must first turn the input color map into a binary map in which characters are isolated

    from other features and characters.

    2. In the component analysis step, connected components are generated and filtered.

    3. Then, strings are created by grouping close connected components with similar properties.

    4. Finally, detected strings are recognized by an OCR before being checked and written into a text file.

    The chart flow of the full process is depicted in the following figure:

    For optimal results we combined the output of these two filters using the Canny filter as a mask for the first

    RGB color based selection filter. In the figure bellow the first image is the original image, the second is the

    output of RGB color select filter, the third one is output from the Canny filter and the last one shows the

    combined result. In the following picture we present example of processing brown and black color contours:

    An example of how the results of the city detection algorithm are presented in the following figure. The

    detected cities are marked using red rectangles. The four red circles mark the search area. To reduce the

    amount of the image that is searched in the first two marking phases we detect the black border which

    http://wiki.hp-see.eu/index.php/File:Topographic_Map_Sample_Processing.jpghttp://wiki.hp-see.eu/index.php/File:Topographic_Map_Algorithm_Flow.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    9/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 9

    surrounds all the maps and only search inside the black square.

    The parallelization strategy employed currently in EagleEye is shown here:

    For a total number of 4 worker threads efficiency drops down to 95% in the worst case (2 masters with 2

    worker threads per master), while the best performance in this case is obtained using 4 masters with one work

    thread per master. For 8 total worker threads efficiency drops a bit more going to the 94-97% range. For a tota

    of 16 worker threads we get a significant performance drop for two of the configurations, while for the other

    one efficiency is still over 90%. This could have two possible causes. Firstly, the average number of images

    processed by each worker thread goes down from 10 (8 total workers) to five (16 total workers). Given that it

    is possible for some of the worker threads to process more than their share of images some of the workerthreads might be idle while others are processing the last set of images. This causes performance problems tha

    increase along with the number of total worker threads, but can be avoided by using a much larger number of

    input images than worker threads. The second cause is related to I/O operations. When processing the first set

    of images the threads will read the images into memory at the same time. This means simultaneous multiple I/O

    operations. With the increase in the total number of worker threads more stress is put on the file system and it

    could become a bottleneck as I/O requests might become serialized thus decreasing performance. Given that

    the time it takes to process an image has a 10-15% variation from image to image the worker threads

    http://wiki.hp-see.eu/index.php/File:Parallelization.jpghttp://wiki.hp-see.eu/index.php/File:MMap.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    10/11

    6/2/13 EagleEye - HP-SEE Wiki

    wiki.hp-see.eu/index.php/EagleEye 10

    desynchronize after processing a few images and the I/O bottleneck is less likely to occur later on. The

    obtained speedup, depending on the number of processes/threads is depicted in the following graph.

    Publications

    Towards efficient video compression using scalable vector graphics on the Cell/B.E., A. Sandu, E.

    Slusanschi, A. Murarasu, A. Serban, A. Herisanu, T. Stoenescu, International Conference on Software

    Engineering, IWMSE '10: Proceedings of the 3rd International Workshop on Multicore Software

    Engineering, Cape Town, South Africa, 2010, pag. 26-31. ISBN: 978-1-60558-964-0.

    Cell GAF - a genetic algorithms framework for the Cell Broadband Engine, M. Petcu, C. Raianu, E.

    Slusanschi, Proceedings of the 2010 IEEE 6th International Conference on Intelligent Computer

    Communication and Processing, Cluj-Napoca, Romania, ISBN: 978-1-4244-8228-3, 2010.

    Parallel Numerical Simulations in Aerodynamics, Marius Poke, E. Slusanschi, Damian Podareanu,Alexandru Herisanu, in Proceedings of the 18th International Conference on Control Systems and

    Computer Science (CSCS18), May, 2011.

    Airflow Simulator Heat Transfer Computer Simulations of the NCIT-Cluster Datacenter, A. Stroe, E

    Slusanschi, A. Stroe, S. Posea, in Proceedings of the 18th International Conference on Control Systems

    and Computer Science (CSCS18), May, 2011.

    Mapping data mining algorithms on a GPU architecture: A study, A. Gainaru, S. Trausan-Matu, E.

    Slusanschi, in Proceedings of the 19th International Symposium on Methodologies for Intelligent

    Systems, Warsaw, Poland, June 2011.

    Optimizing Parallel CFD Simulations of 2D Compressible Flows, Ana Sima, E. Slusanschi, to appea

    in Proceedings of the 2012 IEEE 14th International Symposium on Symbolic and Numeric Algorithms

    for Scientific Computing (SYNASC 2012), in Timisoara, Romania, September 2012.

    Foreseen Activities

    The detection algorithms that are implemented so far in the EagleEye framework have the following

    limitations:

    http://wiki.hp-see.eu/index.php/File:Speedup.jpg
  • 7/28/2019 EagleEye - HP-SEE Wiki

    11/11

    6/2/13 EagleEye - HP-SEE Wiki

    The size of the median filter is the same regardless of the contents of the input image

    The size of the Gaussian filter used in the Canny Edge Detector is static

    The two thresholds in Canny edge detection are also static

    The parameters used in the Hough transform (minimal segment distance, maximum segment size)

    are also static

    The criteria by which the segments are chosen and linked in the Hough transform also uses some

    static values

    There is a large number of false positives - usually lines between fields with different colors arealso marked as roads roads that have a small width are not properly detected

    Because of these limitations we are actively developing an algorithm that dynamically adapts some of th

    previous hard coded parameters with respect to image content and also tries to do more filtering of false

    positives.

    A number of improvements are also foreseen for the 3D viewer of the EagleEye application:

    Faster loading of images - if possible leading to a real-time experience

    Improvements of the communication protocols employed in the 3D viewer

    Retrieved from "http://wiki.hp-see.eu/index.php/EagleEye"

    This page was last modified on 10 March 2013, at 23:13.

    http://wiki.hp-see.eu/index.php/EagleEye