Grid based high performance computing in satellite imagery. Case study Perona Malik filter

Similar documents
Digital Remote Sensing Data Processing Digital Remote Sensing Data Processing and Analysis: An Introduction and Analysis: An Introduction

Overview. What is EMR? Electromagnetic Radiation (EMR) LA502 Special Studies Remote Sensing

Robot Perception Continued

SATELLITE IMAGES IN ENVIRONMENTAL DATA PROCESSING

A Novel Method to Improve Resolution of Satellite Images Using DWT and Interpolation

Electromagnetic Radiation (EMR) and Remote Sensing

High Performance GPU-based Preprocessing for Time-of-Flight Imaging in Medical Applications

CONSISTENT PERFORMANCE ASSESSMENT OF MULTICORE COMPUTER SYSTEMS

Blackbody Radiation References INTRODUCTION

Low-resolution Image Processing based on FPGA

A remote sensing instrument collects information about an object or phenomenon within the

jorge s. marques image processing

D.S. Boyd School of Earth Sciences and Geography, Kingston University, U.K.

Convolution. 1D Formula: 2D Formula: Example on the web:

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA

P.M. Rich, W.A. Hetrick, S.C. Saving Biological Sciences University of Kansas Lawrence, KS 66045

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Digital image processing

BES-III distributed computing status

Distributed dcache-based storage system of UB RAS

ME6130 An introduction to CFD 1-1

NATIONAL SUN YAT-SEN UNIVERSITY

Numerical Methods For Image Restoration

Chapter Contents Page No

Antennas & Propagation. CS 6710 Spring 2010 Rajmohan Rajaraman

2.3 Spatial Resolution, Pixel Size, and Scale

Canny Edge Detection

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY

Resolution Enhancement of Photogrammetric Digital Images

KEY WORDS: Geoinformatics, Geoinformation technique, Remote Sensing, Information technique, Curriculum, Surveyor.

Review for Introduction to Remote Sensing: Science Concepts and Technology

Interactive simulation of an ash cloud of the volcano Grímsvötn

APPLICATIONS AND USAGE

Analecta Vol. 8, No. 2 ISSN

WATER BODY EXTRACTION FROM MULTI SPECTRAL IMAGE BY SPECTRAL PATTERN ANALYSIS

COLLATED QUESTIONS: ELECTROMAGNETIC RADIATION

High Quality Image Magnification using Cross-Scale Self-Similarity

COMPUTER GRAPHICS AND INTERACTIVE SYSTEMS LABORATORY

An Algorithm for Automatic Base Station Placement in Cellular Network Deployment

Extraction of Satellite Image using Particle Swarm Optimization

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

Depth and Excluded Courses

Estimating Firn Emissivity, from 1994 to1998, at the Ski Hi Automatic Weather Station on the West Antarctic Ice Sheet Using Passive Microwave Data

Treasure Hunt. Lecture 2 How does Light Interact with the Environment? EMR Principles and Properties. EMR and Remote Sensing

A bachelor of science degree in electrical engineering with a cumulative undergraduate GPA of at least 3.0 on a 4.0 scale

Passive Remote Sensing of Clouds from Airborne Platforms

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

RESULTS FROM A SIMPLE INFRARED CLOUD DETECTOR

The Three Heat Transfer Modes in Reflow Soldering

GEOSPATIAL DIGITAL ASSET MANAGEMENT A SOLUTION INTEGRATING IMAGERY AND GIS WHERE WILL ALL THE PIXELS GO?(AND HOW WILL WE EVER FIND THEM?

16 th IOCCG Committee annual meeting. Plymouth, UK February mission: Present status and near future

Application of Virtual Instrumentation for Sensor Network Monitoring

Examples of Uniform EM Plane Waves

MODULATION TRANSFER FUNCTION MEASUREMENT METHOD AND RESULTS FOR THE ORBVIEW-3 HIGH RESOLUTION IMAGING SATELLITE

INVESTIGA I+D+i 2013/2014

Mean-Shift Tracking with Random Sampling

Stream Processing on GPUs Using Distributed Multimedia Middleware

An Introduction to the MTG-IRS Mission

DOING PHYSICS WITH MATLAB COMPUTATIONAL OPTICS RAYLEIGH-SOMMERFELD DIFFRACTION INTEGRAL OF THE FIRST KIND

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak

GPR Polarization Simulation with 3D HO FDTD

Crack Detection in Concrete Railway Sleeper

5. The Nature of Light. Does Light Travel Infinitely Fast? EMR Travels At Finite Speed. EMR: Electric & Magnetic Waves

Reconfigurable System-on-Chip Design

Semester 2. Final Exam Review

Tokyo University of Information Sciences Graduate School of Informatics

Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology

APPLICATION CASE OF THE END-TO-END RELAY TESTING USING GPS-SYNCHRONIZED SECONDARY INJECTION IN COMMUNICATION BASED PROTECTION SCHEMES

High-fidelity electromagnetic modeling of large multi-scale naval structures

PIXEL-LEVEL IMAGE FUSION USING BROVEY TRANSFORME AND WAVELET TRANSFORM

How Landsat Images are Made

METHODOLOGICAL CONSIDERATIONS OF DRIVE SYSTEM SIMULATION, WHEN COUPLING FINITE ELEMENT MACHINE MODELS WITH THE CIRCUIT SIMULATOR MODELS OF CONVERTERS.

HSI BASED COLOUR IMAGE EQUALIZATION USING ITERATIVE n th ROOT AND n th POWER

Synthetic Sensing: Proximity / Distance Sensors

Trace Gas Exchange Measurements with Standard Infrared Analyzers

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

Edge detection. (Trucco, Chapt 4 AND Jain et al., Chapt 5) -Edges are significant local changes of intensity in an image.

Radar Image Processing with Clusters of Computers

Post Processing Service

REGIONAL CENTRE FOR TRAINING IN AEROSPACE SURVEYS (RECTAS) MASTER IN GEOINFORMATION PRODUCTION AND MANAGEMENT

How to calculate reflectance and temperature using ASTER data

Storage database in cloud processing

Overview of the IR channels and their applications

Coursework for MS leading to PhD in Electrical Engineering. 1 Courses for Digital Systems and Signal Processing

Traffic Monitoring Systems. Technology and sensors

ELECTRICAL ENGINEERING

HPC enabling of OpenFOAM R for CFD applications

SAMPLE MIDTERM QUESTIONS

MCQ - ENERGY and CLIMATE

Sound Power Measurement

Lectures 6&7: Image Enhancement

Morphological segmentation of histology cell images

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

CFD SIMULATION OF SDHW STORAGE TANK WITH AND WITHOUT HEATER

Development of Method for LST (Land Surface Temperature) Detection Using Big Data of Landsat TM Images and AWS

Radar Systems Engineering Lecture 6 Detection of Signals in Noise

Hardware-Aware Analysis and. Presentation Date: Sep 15 th 2009 Chrissie C. Cui

RESOLUTION MERGE OF 1: SCALE AERIAL PHOTOGRAPHS WITH LANDSAT 7 ETM IMAGERY

Introduction. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I)

Physics 9e/Cutnell. correlated to the. College Board AP Physics 1 Course Objectives

Transcription:

КОМПЬЮТЕРНЫЕ ИССЛЕДОВАНИЯ И МОДЕЛИРОВАНИЕ 2015 Т. 7 3 С. 399 406 ПЛЕНАРНЫЕ ДОКЛАДЫ УДК: 004.021 PACS: 02.60.Lj; 02.70.Bf; 07.05.Pj; 93.55.+z; 93.85.Bc; 95.75.Mn; 95.75.Pq Grid based high performance computing in satellite imagery. Case study Perona Malik filter B. Belean 1, C. Belean 2, C. Floare 1, C. Varodi 1, A. Bot 1, Gh. Adam 3,4,a 1 National Institute for R&D of Isotopic and Molecular Technolgies, 67-103 Donat St., PO 5 Box 700, Cluj-Napoca, 400293, Romania 2 Babes-Bolyai University, Faculty of Mathematics and Computer Science, Department of Mathematics, 1 M. Kogalniceanu St., Cluj-Napoca, 400084, Romania 3 Laboratory of Information Technologies, Joint Institute for Nuclear Research, 6 Joliot Curie St., Dubna, 141980, Russia 4 Horia Hulubei National Institute for Physics and Nuclear Engineering (IFIN-HH), 30 Reactorului St., Magurele - Bucharest, 077125, Romania E-mail: a adamg@jinr.ru Received December 4, 2014 The present paper discusses an approach to the efficient satellite image processing which involves two steps. The first step assumes the distribution of the steadily increasing volume of satellite collected data through a Grid infrastructure. The second step assumes the acceleration of the solution of the individual tasks related to image processing by implementing execution codes which make heavy use of spatial and temporal parallelism. An instance of such execution code is the image processing by means of the iterative Perona Malik filter within FPGA application specific hardware architecture. Supported within the Romania LIT Hulubei-Mashcheryakov Programme, JINR Orders 94/17.02.2014, p.25, 95/17.02.2014, pp. 76, 77, and 96/17.02.2014, pp. 86 89. Citation: Computer Research and Modeling, 2015, vol. 7, no. 3, pp. 399 406. 2014 Bogdan Belean, Carmen Belean, Calin Gabriel Floare, Codruta Mihaela Varodi, Adrian Bot, Gheorghe Adam

КОМПЬЮТЕРНЫЕ ИССЛЕДОВАНИЯ И МОДЕЛИРОВАНИЕ 2015 Т. 7 3 С. 399 406 ПЛЕНАРНЫЕ ДОКЛАДЫ Сеточные высокопроизводительные вычисления в получении спутниковых изображний на примере фильтра Перона Малик Б. Белеан 1, К. Белеан 2, К. Флоаре 1, К. Вароди 1, А. Бот 1, Г. Адам 3,4 1 Национальный институт исследования и развития технологии молекулярных изотопов (INCDTIM), Румыния, 400293, Клуж-Напока, Донат ул. 67-103, ПО 5, ПЯ 700 2 Университет им. Бабеша-Бойаи, Факультет математики и информатики, отделение математики, Румыния, 400084, Клуж-Напока, Михаил Когэлничану ул. 1 3 Лаборатория информационных технологий, Объединенный институт ядерных исследований, Россия, 141980, г. Дубна, ул. Жолио-Кюри, д. 6 4 Национальный научно-исследовательский институт физики и ядерной технологии им. Хории Хулубея (IFIN-HH), Румыния, 077125, г. Мэгуреле-Бухарест, Реакторулуй ул., д. 30 В данной работе рассматривается подход к эффективной обработке спутниковых изображений, который включает в себя два этапа. Первый этап заключается в распределении быстро взрастающего объема спутниковых данных, полученных через Грид-инфраструктуру. Второй этап включает в себя ускорение решения отдельных задач, относящихся к обработке изображений с помощью внедрения кодов, которые способствуют интенсивному использованию пространственно-временного параллелизма. Примером такого кода является обработка изображений с помощью итерационного фильтра Перона Малик в рамках специального применения архитектуры аппаратного обеспечения ППВМ (FPGA). Ключевые слова: фильтр Перона Малик, обработка спутникового изображение, Грид, высокопроизводительные вычисления, ППВМ (ПЛИС), ЮНИТАР (UNOSAT) 2014 Bogdan Belean, Carmen Belean, Calin Gabriel Floare, Codruta Mihaela Varodi, Adrian Bot, Gheorghe Adam

Grid based high performance computing in satellite imagery 401 1. Essentials of satellite imagery The scanning of the Earth surface by satellites is done within a wide wavelength range of the reflected electromagnetic radiation coming from the Sun (microwave, infrared, visible, ultraviolet). The recorded electromagnetic waves are used to create images according to the pattern shown in figure 1. The radiation emitted by an energy source (1) covers a distance and interacts with the atmosphere (2) before reaching the target (3). Radiation is reflected or scattered to the satellite sensor (4), which registers it and then transmits the information on the reflected radiation to a receiving station (5) where the received input is transformed into digital images. The characterization of the target properties or the solution of some specific problem is performed based on the acquired images. Satellite images are of fundamental interest in meteorology, agriculture, biodiversity conservation, geology, forestry, landscape, regional planning, education, intelligence and warfare. Commercial applications concern: Insurance companies damage estimates based on acquired images before and after disaster; Mass Media satellite imagery based news reports; Software developers image incorporation in flight simulators, games; Combined with GPS localization in geographic information systems, e.g., Google Earth and Google Earth Pro. Fig. 1. Acquiring satellite images Resolution characterization of a satellite image Concerning the satellite images in remote sensing, there are four types of resolutions: spatial, spectral, temporal, and radiometric. Campbell [Campbell, 2002] defines them as follows. The spatial resolution represents the pixel size of an image of the surface area measured on the ground, determined by the sensor s instantaneous field of view. The spectral resolution is defined by the wavelength interval within the electromagnetic spectrum and the number of intervals measured by the sensor. (Examples: visible images come from sunlight reflected by the Earth surface; infrared images come from infrared sensor measurements of the temperature of the Earth surface; water vapor images come from infrared measurement of the temperature in an atmospheric layer about 6 10 km above the Earth surface.) The temporal resolution is defined by the time interval inbetween two subsequent image acquisitions for a given surface location. The radiometric resolution is defined by the amount of levels of brightness recorded by the imaging system. Another resolution may be mentioned, namely, the geometric resolution which refers to the satellite sensor's ability to effectively image a portion of the Earth's surface in a single pixel and is typically expressed in Ground Sample Distance (GSD) units. GSD is a term containing the overall optical and systemic noise sources and is useful for comparing how well one sensor can "see" an object on the ground within a single pixel [Satellite imagery, 2014]. 2015, Т. 7, 3, С. 399 406

402 B. Belean, C. Belean, C. Floare, C. Varodi, A. Bot, Gh. Adam 2. Grid based approach to satellite imagery The increase of the number of high resolution satellites into orbit and the number of applications which use satellite images lead to big data to be processed, which cannot be accommodated to the satellite s local computing infrastructures. The present paper focuses on high throughput computing strategies for processing satellite images which involve grid computing and application specific hardware architectures for high performance computing. UNOSAT is the United Nations Institute for Training and Research (UNITAR) Operational Satellite Applications Programme. Created in 2000, it provides the worldwide users with high quality satellite imagery and Geographic Information System (GIS) services. These serve for planning sustainable development or monitoring natural disasters. Excessive loads on the UNOSAT website, putting strong pressure on the computing and storage resources are frequently encountered. Instances: Use case 1. During natural catastrophes and disasters. Use case 2. Web visualization from mobile devices of the field workers (even though using compression and cropping when interrogating UNOSAT resources). Use case 3. Need of storage and computing resources from UNOSAT by users having slow internet connection. Use case 4. The periodically performed updates by the UNOSAT administrators (asked by image uploading in the databases; own search and processing tasks on the satellite image databases). Since 2001, UNOSAT has been based at CERN and is supported by CERN's IT Department in the work it does. CERN provides Grid approach to the operations done on the satellite images: storage, processing, compression. The existing sequential codes for iterative solutions on multicore processors are, however, inefficient [Belean et al., 2013]. The usual approaches to speeding up the sequential solutions [Javier Gallego, 2005; Giuliani et al., 2011; Sarmah, Bhattacharyya, 2012] use division of the satellite images into sub-images in order to reduce the size to be processed. Each subimage can be sent for processing to a different computing element (CE) within the grid. The most frequently encountered technique to divide the satellite images is based on the use of the Thiessen polygons [Javier Gallego, 2005]. The following limitations characterize the sequential iterative algorithms: the computing power is limited to one CE while processing one sub-image; the CEs are General Purpose Processors (GPPs) (e.g. Intel Xeon Processor E5); the parallel processing strategies to be applied are limited by the available GPPs. To secure smooth continuous functioning of the system, a vital condition is to produce maximum relevant information under minimum system load. The use of FPGA approach to the Perona Malik filter offers such a tool. 3. Essentials of Perona Malik filter for digital image processing There are two basic aims of the Perona Malik filter [Perona, Malik, 1987; Perona, Malik, 1990]: to eliminate disturbances, i.e., filter out noise; to retain and enhance the essential information. The basic idea can be summarized as follows. The above aims can be achieved by solving a Neumann boundary problem for a generalized diffusion equation uxt (, ) ( guxt (,, ) uxt (, )). (1) t Where the diffusivity function g is to be anisotropic, such that, along some directions g >> 1 (strong diffusion) while along other directions g << 1 (weak smoothing). The use of the equation (1) is motivated by the physical fact that, under g 1 Eq. (1) describes the heat propagation. The solution of the heat equation is a convolution of the initial value u(x, 0) = f(x) with a Gauss distribution function. Since the latter is decreasing fast (both in the coordinate and the frequency spaces), the fast oscillations are cut out, hence (1) acts as an effective low pass filter. КОМПЬЮТЕРНЫЕ ИССЛЕДОВАНИЯ И МОДЕЛИРОВАНИЕ

Grid based high performance computing in satellite imagery 403 The digital image processing based on the equation (1) is motivated by the following considerations. There is a bounded domain of the digital image, R n (n = 2, 3) of boundary Ω of class C 1. The mapping u: Ω [0, 1] then achieves the correspondence from Ω to the gray level distribution (GLD) of a noisy image. The numerical investigation of the time evolution of the GLD, performed through an iterative approach, results in successive instances attempting at solving the filtering tasks. There are two contradictory features of the Gaussian smoothing associated to the heat propagation: efficient noise filtering, but edge smearing (image blurring) which results in quick loss of essential information contained in the original image. The Perona Malik hypothesis: [Wielgus, 2010] the diffusivity coefficient in (1) is to be a function of the norm of the local gray level distribution gradient. This results into the diffusion Perona Malik problem: 2 uxt (, ) ( g( u ) uxt (, )) in (0, ), t u / n 0 in (0, ), (2) u(x,0) f (x) in. Basic features of the Perona Malik problem. It is an ill-posed problem, which does not admit a weak solution. A solution could, nonetheless, be defined in the sense of distributions. However, under spatial discretization by finite differences, a well-conditioned problem arises, with an unexpectedly good filtering efficiency. This is usually called the Perona Malik paradox in the digital image processing. An important quantity is the flux function, (s) s g(s 2 ) 0 for s (0, ), which is asked to vary smoothly with s and to have a maximum on (0, ) at some characteristic value s 0 0. The diffusivity function g(s 2 ) enabling such (s) should be infinitely continuous differentiable and to decrease monotonically from 1 to 0 while s 2 varies from 0 to +. An expression of g(s 2 ) inspired by the Gaussian distribution function is g(s 2 ) exp( s 2 / 2 2 ), 0. (3) Then (s) has a maximum at s, with (s) > 0 for s and (s) < 0 for s An alternative choice of the diffusion function is g(s 2 ) (1+s 2 2 ), 0. (4) In the two-dimensional case, let ξ and η denote the local coordinates in directions perpendicular and parallel to u respectively. Then the Perona Malik equation can be rewritten as 2 u t ( g ( u ) u '( u ) u. The coefficient of u is always positive, hence (2) acts as a smearing filter washing details along the contour lines of the function u. The coefficient of u may be both positive and negative, hence, in the perpendicular (gradient) direction slow gradient values are smeared out, while large gradient values (like edges) are sharpened instead of being blurred. The experiments using Perona Malik anisotropic diffusion were visually very impressive: edges remained stable over a very long time. It was demonstrated that edge detection based on this process clearly outperforms the linear Canny edge detector, even without applying non-maxima suppression and hysteresis threshold. This is due to the fact that diffusion and edge detection interact in one single process instead of being treated as two independent processes which are to be applied subsequently. Considering this advantage, this technique would improve edge detection in any image processing based applications. 2015, Т. 7, 3, С. 399 406

404 B. Belean, C. Belean, C. Floare, C. Varodi, A. Bot, Gh. Adam a) b) c) d) e) f) Fig. 2. Anisotropic diffusion showing edge enhancement in case of original image Florida [Florida,2014], with choice (4) for diffusion function: a) Num_iter = 5, λ = 10, b) Num_iter = 15, λ = 10, c) Num_iter = 25, λ = 10, d) Num_iter = 5, λ = 30, e) Num_iter = 15, λ = 30, f) Num_iter = 25, λ = 30 Results of the conventional anisotropic diffusion (Perona & Malik) upon a gray scale image aiming edge enhancement are presented in Fig. 2. The number of iterations is denoted Num_Iter. The optimal parameter setup to preserve edge is found in figure 2.c, were all the details are preserved. Thus, it can be seen that for a number of 5 to 25 iterations (Fig. 2.a, 2.b and 2.c), the edge details are preserved. Meanwhile, for large values of λ, details are lost, see Fig. 2.d-f. 4. FPGA based hardware architectures for anisotropic diffusion In order to propose hardware architecture for Perona Malik filter, the computational steps of the anisotropic diffusions are independently presented next. Considering the iterative nature of the PDE filtering, the steps described previously are included in one filter iteration. Given an initial image, to be processed within N iterations (empirically N = 10 to 20): Steps 1, 2 and 3 shown in Fig. 3 are to be parallelized for efficient computation. Within the Field Programmable Gate Array (FPGA) architecture, both spatial parallelism (enabling the use of multiple computing units) and temporal parallelism (enabling the creation of a pipeline) were implemented. The main estimated advantages of the proposed architecture are as follows: within one iteration, each p(i,j) resulted pixel value its delivered at each 3 T clk cycles, with an initial delay of T = 12 T clk cycles. In the case of a general purpose processor, within iteration, for one output pixel there are necessary more than 30 T clk cycles. The exponential function can be implemented based on the approach presented in [Belean B. et al., 2012] for the log computation unit. Computations done for a Virtex 5 FPGA and a general purpose processor are given in Fig. 4. A factor two acceleration of the computations, with good scalability, are obvious. Conclusions In future attempts to implement solutions for specific iterative algorithms, we intend to intensively use Field Programmable Gate Arrays КОМПЬЮТЕРНЫЕ ИССЛЕДОВАНИЯ И МОДЕЛИРОВАНИЕ

Grid based high performance computing in satellite imagery 405 Fig. 3. The three distinct computational steps identified within each of the iterations The reported results suggest that the general purpose processors are surpassed by Application Specific Hardware Architectures as it concerns the computing time In the next future, we plan to derive a GPU implementation of the Perona Malik filter and to compare it with the FPGA implementation In the processing of grid Big Data sets, extensive use of Application Specific Hardware Architectures might offer efficient solutions. Peripherals Processing time (ms) 2 GHz General purpose processor 350 MHz Virtex 5 Microblaze processor Image size (kb) Fig. 4. Schematic presentation of the Virtex 5 FPGA (above) and comparison of the performance dependence of Virtex 5 FPGA with that of a 2 GHz general purpose processor 2015, Т. 7, 3, С. 399 406

406 B. Belean, C. Belean, C. Floare, C. Varodi, A. Bot, Gh. Adam References Belean B., Borda M., Bot A. FPGA based hardware architectures for iterative algorithms implementations // 36th International Conference on Telecommunications and Signal Processing. Rome. 2013. Belean B., Borda M., Le Gal B., Terebes R. FPGA based system for automatic cdna microarray image processing. // Computerized Medical Imaging and Graphics. 2012. Vol. 36. P. 419 429. Campbell J. B. Introduction to Remote Sensing. New York London: The Guilford Press. 2002. Florida, Google Maps. 2014. https://www.google.rp/maps/place/florida Giuliani G., Ray N., Lehmann A. Grid-enabled Spatial Data Infrastructure for environmental sciences: Challenges and opportunities // Future Generation Computer Syst. 2011. Vol. 27. P. 292 303. Javier Gallego F. Stratified sampling of satellite images with a systematic grid of points. // ISPRS Journal of Photogrammetry & Remote Sensing. 2005. Vol. 59. P. 369 376. Perona P., Malik J. Scale space and edge detection using anisotropic diffusion. // Proc. IEEE Computer Soc. Workshop on Computer Vision 16 22 (1987); Perona P., Malik J., Scale-Space and Edge Detection Using Anisotropic Diffusion, IEEE Transactions on Pattern Analysis and Machine Intelligence. 1990. Vol. 12. P. 629 639. Sarmah S., Bhattacharyya D.K. A grid-density based technique for finding clusters in satellite image // Pattern Recognition Letters. 2012. Vol. 33. P. 589 604. Satellite imagery. From Wikipedia, the free encyclopedia. 2014. http://en.wikipedia.org/wiki/satellite_imagery Wielgus M. // Perona Malik equation and its numerical properties. Praca licencjacka na kierunku MATEMATYKA, Uniwersytet Warszawski, Lipiec. 2010. КОМПЬЮТЕРНЫЕ ИССЛЕДОВАНИЯ И МОДЕЛИРОВАНИЕ