Conference PaperPDF Available

Parallel Computing Accelerated Image Inpainting using GPU CUDA, Theano, and Tensorflow

Authors:
Parallel Computing Accelerated Image Inpainting
using GPU CUDA, Theano, and Tensorflow
Heronimus Tresy Renata Adie
Department of Informatic Engineering
Universitas Atma Jaya Yogyakarta
Yogyakarta, Indonesia
heronimustra@gmail.com
Ignatius Aldi Pradana
Department of Informatic Engineering
Universitas Atma Jaya Yogyakarta
Yogyakarta, Indonesia
ign.aldi.pradana@gmail.com
Pranowo
Department of Informatic Engineering
Universitas Atma Jaya Yogyakarta
Yogyakarta, Indonesia
pran@mail.uajy.ac.id
Abstract—Image inpainting refers to image restoration process
that reconstruct damaged image to obtain it lost information based
on existing information. PDE-based approach is commonly used
for image interpolation especially inpainting. Since PDE process
express convolution and continuous change, the approach may
take a lot of computational resources and will run slow on standard
computer CPU. To overcome that, GPU parallel computing
method for PDE-bas ed image inpainting are proposed. These days,
some handy platform or frameworks to utilize GPU are already
exist like CUDA, Theano, and Tensorflow. CUDA is well-known as
parallel computing platform and programming model to work
with programming language such as C/C++. In other hand Theano
and Tensorflow is a bit different thing, both of them is a machine
learning framework based on Python that also able to utilize GPU.
Although Theano and Tensorflow are specialized for machine
learning and deep learning, the system is general enough to applied
for computational process like image inpainting. The results of this
work show benchmark performance of PDE image inpainting
running on CPU using C++, Theano, and Tensorflow and on GPU
with CUDA, Theano, and Tensorflow. The benchmark shows that
parallel computing accelerated PDE image inpainting can run
faster on GPU either with CUDA, Theano, or Tensorflow
compared to PDE image inpainting running on CPU.
Keywords—Image Inpainting, PDE, Parallel Computing, GPU,
CUDA, Theano, Tensorflow
I. I
NTRODUCTION
Recently, digital image processing already had significant
amount of uses and application. Image inpainting is one of the
problem case appears in image processing, which useful for
repairing or filling damaged part of image. The terms of
inpainting in digital image processing was firstly introduced by
Bertalmio, et al who brings up image inpainting method based
on a third-order partial differential equation [1]. The purpose of
inpainting itself is to repair the damaged area of image with
existing information gained from the surrounding damaged part
of image. In terms of visual effect, the repaired image need to
maintain it rationality to look like as same as original image [2].
There are many approaches to achieve state-of-the-art result
of inpainting that have already published. Generally based on the
algorithm there are three group of images inpainting method [3],
which is Partial Differential Equation (PDE), texture synthesis,
and convolution-filter based algorithms. After Bertalmio, et al
introduced BSCB (Bertalmio-Sapiro-Caselles-Ballester) with
third-order PDE based method, there are many other like Perona
Malik [4] anisotropic diffusion, Total Variation Wavelet
Inpainting [5] which uses an Euler-Lagrange equation,
Oliveira’s Algorithm [6] that proposed fast reconstruction for
small damaged portions of images using convolutional
operation, and many other approaches including the Schönlieb
modern PDE technique using fourth-order PDE based method
[7], and current Fang Zhang, et al [2] PDE method based on
image characteristic that improve the protection of important
characteristics of the image during inpainting process.
Each of the algorithm has their own weak point such as slow
computational speed, poor visual effects and disability to
reconstruct textures. Although the current algorithm like
Schönlieb fourth-order PDE, or Fang Zhang method based on
image characteristic has improved the major problem on
computational speed and visual effect result, there are still a
room for improvement especially to accelerate the
computational speed and simplify it application and practice. In
principle, the heavy computational load on some inpainting
method come from algorithm like the PDE equation and
convolutional-filter based algorithm that take a lot step to
compute. Current hardware can pretty much handle the
computation from small size of image, but the size of image exist
today are getting larger up to 4k resolution and may increase
more. In that case, computation process of single image matrix
will be slower.
Current technique of parallel computing can be applied along
with current specialized hardware for computing like GPU.
Recent parallel computing with the help of CUDA platform can
speed up the simulation model of inpainting to about 40x faster
than CPU [8], but the uses of parallel computing on CUDA
platform is a bit challenging because it requires good
understanding of low level programing language and it will be
hard to reproduce or applied the algorithm since all code need to
be built from scratch every time. To overcome that drawback,
machine learning framework are used to improve to ease the
code implementation for image inpainting. Machine learning
framework bring code simplification on high level API on
Python layer, so it allows the users to easily deploy the
computation either on CPU or GPU without any change of the
code.
In this paper we will use generic CUDA, Theano, and
Tensorflow to apply the GPU parallel computation on Image
Inpainting process. CUDA undoubtedly is the most powerful
platform for parallel programming with widely supported
hardware. Theano and Tensorflow are slightly different than
CUDA, both of them is a high levels API framework that also
ICITEE 2018
Bali, 24th-26th July 2018
978-1-5386-4738-7
-641-
support speed optimizations for numerical data computation
using both CPU or GPU and has largely used for machine
learning purpose running on Python programming language
[9,10]. Theano and Tensorflow will represent the use of
framework for code simplicity. Theano is selected among the
other frameworks because it was the pioneer of the
computational graph and one of oldest library that remains
popular in the research community for deep learning and
machine learning in general. Tensorflow also selected because it
ranks as most popular deep learning library for data science with
significant developer and large community support [11]. The
final result of this research is an accelerated image inpainting
program using the capability of parallel computing on GPU.
II. P
REVORIOUS AND
R
ELATED
W
ORK
Prananta et al [8] have applied parallel computing on image
Inpainting using native GPU CUDA programming. The use of
that method can actually reduce the heavy computation problem
of fourth order PDE and successfully employ the use of GPU in
parallelism to gain computation speed up to 36x in the
simulation model and speedup to 48x in the simulation picture.
At the same year Kuo et al [12] also employ the graphic
processing unit to speedup Inpainting-based multi-view
synthesis algorithms. The research show that proposed method
has 51 times speeded up for synthesis virtual view with better
quality.
Both of the related work used only native GPU
implementation for parallel programing with CUDA. The
method show that computational speed can successfully speeded
up, but neither of both work use the framework like Theano or
Tensorflow to employ the flexibility and simplify the
development of the image-inpainting method.
III. P
ROPOSED
I
MAGE
I
NPAINTING
M
ETHOD USING
C
UDA
,
T
HEANO
,
AND
T
ENSORFLOW
The main idea of this proposed image inpainting method
using CUDA, Theano, and Tensorflow is to optimize the
computational calculation speed using the capability of each
platform to make use of GPU to do parallel computation, and
also to make uses the flexibility to simplify the development of
image inpainting application. Since the goal is to prove the
capability of parallel programming with GPU to accelerated
image inpainting process, we will use PDE-based image
inpainting that involves heat equation because PDE can mainly
represent most image inpainting algorithm exist and also
involved the convolution process that can be parallelize, despite
of it lacking ability to generate texture and do not preserve edges
so the filling part will mostly blurry.
Platform or framework to simulate the parallel computation
process on GPU we will use in this research is CUDA, Theano,
and Tensorflow. The PDE-based image inpainting program will
be execute on both CPU and GPU. Theano and Tensorflow
natively support CPU ad GPU switching, but the CUDA
platform will only run on GPU so we will add C++ based version
as comparison to run on CPU.
A. Image Inpainting Algorithm
PDE appear as a natural way to smooth images, that become
one of effective way of image inpainting. The main concept of
PDE can be draws as an analogy between the image inpainting
process and the diffusion [13]. Images can be comparable to
heat, fluid, and gas which spontaneously move from the area of
high concentration to the area of lower concentration, that
concept inspired the image inpainting process of filling missing
part of damaged image. Our method makes use the following
heat equation: 

=α

+


(1)
Therefore, we will applied some minor modification to that
equation. The intensity value from the masked image will be
added to the equation. The purpose of that modification is to
limit the restoration of image only to damaged/masked area of
the image. We will fill the masked area with the average value
or heat diffusion from the surrounding pixel value, finally the
equation is calculated as follow:


=α

+

+()
(2)
Where the u is the intensity of the image pixel, t is for time
value, x and y is pixel index from the image that represents as
matrix, λ is constant value from the masked image, and I
represent as intensity from original damaged image.
The detailed step of image inpainting process using heat
equation are given as follow:
1) Read the data of damaged image and it mask, then
convert the image data to float32 matrix.
2) Initialize the value for reconstruction image (u).
3) Run the step of PDE
a) Update the u value based on (2)
4) Repeated step 3 until fair image condition reached
5) Show the final image inpainting result (u)
B. Uses of Parallel Computation
The main uses of parallel computation here is to deal with
computing process of the image inpainting. One of the heavy
computing process come from the heat diffusion for filling the
masked area with the average value from the surrounding pixel
value based on (1). Larger image dimension will take more time
to do that process because it done pixel by pixel. The parallel
computing platform like CUDA, or framework like Theano and
Tensorflow can accelerated the computation process using it’s
built in function.
While CUDA can reproduce the image inpainting algorithm
manually, Tensorflow and Theano need some adjustment
because they process the data as tensor format. Tensor value on
Theano and Tensorflow cannot be accessed by it index, the
tensor can only be processed by the built-in function of its
framework. That tensor limitation makes processing the PDE
978-1-5386-4738-7
Bali, 24th-26th July 2018
ICITEE 2018
-642-
based image inpainting algorithm need some work around with
Theano and Tensorflow. The heat diffusion part on PDE based
image inpainting algorithm can be treat as a convolutional
process to achieve the same goal, since Theano and Tensorflow
came with the simple built-in function to do convolution process,
it can be used to calculate the heat diffusion part. Convolution
function in Tensorflow and Theano came with optional
parameter to determine the kernel filter, strides, and padding.
Kernel filter is a weighted value that determined how the image
value will be updated during the convolution process to produce
new updated value, strides determine how much the window
shifts by in each of the dimensions, and padding determined did
the input tensor dimension will be padded with new value or not.
The function can be found at theano.tensor.nnet.conv2d for
Theano, and on Tensorflow it located at tensorflow.nn.conv2d.
Both function have similar way to use, only some minor format
on the input data needed. The important input for the
convolutional process on this framework is the kernel filter.
Equation (1) can be presented as 3x3 matrix kernel for filtering
shown in the Fig 1. Fig. 1 also show the process of calculated
new value for filling the damaged area by using the value of its
neighborhood value (top, bottom, right, and left) around it
missing pixel. The snippet of programming code function for
convolution is shown on Fig. 2 for Tensorflow, and on Fig. 3 for
Theano.
0 1 0
1 4 1
0 1 0
Fig. 1. Kernel filter to represents heat equation for convolution process.
Fig. 2. Snippet code of convolutional function using Tensorflow
Fig. 3. Snippet code of convolutional function using Theano
IV. E
XPERIMENTAL
R
ESULTS
The proposed parallel computing accelerated image
inpainting using CUDA, Theano, and Tensorflow was evaluated
with four examples of damaged image with each image have
three different image dimension which is 800 x 600 (SVGA
standard), 1600 x 1200 (UXGA standard), and 3600 x 2400
(QUXGA standard) pixels dimension that represent small,
medium, and large image size format. To evaluate the proposed
parallel computing accelerated image inpainting using CUDA,
Theano, and Tensorflow we performed comparative experiment
to run the image inpainting on 3.4 GHz Intel i7-3770k PC with
8 GB Nvidia GTX 1080 general purpose GPU. Comparative
experiment on this image inpainting model will be tested on
CPU with C++ platform, CPU with Tensorflow framework,
CPU with Theano framework, GPU with CUDA platform, GPU
with Tensorflow framework, and GPU with Theano framework.
Latency time of the image inpainting process to run on single
image will be recorded as the main indicator to compare, and on
GPU testing the GPU memory allocation will also add to the
result. We also look the similarity index of the inpainted image
using SSIM method to see did the framework or platform can
take effect to the results of inpainting process. The damaged
image and it mask that used for the input are shown on Fig. 4
and Fig. 5. In Fig. 6 the result image of 2000 iteration of
inpainting process is shown, the 2000 iteration of inpainting
process is average optimum number that can produce the best
result, more than that the inpainted image result will just look
same.
The final qualitative result is shown by Table I and Table II.
Total time of each test elapsed during the image inpainting
process in Table I show many variative result. Based on that
result, the native C++ program is the slowest and took average
22.338 second for 800 x 543 images dimension. Tensorflow and
Theano based image inpainting process was slightly faster than
native C++ program, that’s because the convolution process on
both framework is more effective using the built-in function
rather than the primitive manually written convolution process
on native C++ program. Tensorflow on CPU score 28.185
second for 800 x 543 images dimension. Theano on CPU score
15.777 second for 800 x 543 images dimension. Theano is the
faster platform/framework on our CPU comparison. The GPU
test shown in Table II shows that CUDA platform take the lead
as the faster platform on GPU. CUDA result only 0.177 second
for 800 x 543 image dimension or also 200 times faster than the
native C++ running on CPU. Tensorflow score 0.942 second for
800 x 543 image dimension or 29.913 times faster than
Tensorflow that running on CPU. Theano is the slowest among
the other competitor. Theano score 4.214 second on GPU, that
only 3.744 times faster than the Theano that running on CPU.
On the Table III we can see the speed up comparison for each
GPU platform and framework for three different image
dimensions. CUDA and Tensorflow speed up increase on bigger
image dimensions, only Theano that the speed up didn’t increase
on bigger image dimension. On the Table IV we can also see the
GPU memory allocation of each framework during the
inpainting process. CUDA use only 220 Mb of GPU memory,
Theano use 289 Mb of GPU memory, then the Tensorflow take
up to 623 Mb of GPU memory. Based on the GPU memory
allocation, CUDA take the smaller GPU memory even the speed
ICITEE 2018
Bali, 24th-26th July 2018
978-1-5386-4738-7
-643-
benchmark shows that CUDA is way faster than the other. The
similarity index (SSIM) of inpainted images shown on Table V
is same for all the platform/framework, that’s prove that all the
platform/framework run same process and calculation of
inpainting.
Overall result show that parallel computing using CUDA
platform on image inpainting method is faster than Theano and
Tensorflow. On CPU without the parallel computing Theano and
Tensorflow framework is slightly faster than the native C++
program because they actually build and compiled first and
provide better convolution process. On GPU test the CUDA
platform is way faster than Theano and Tensorflow because the
Theano and Tensorflow itself using the CUDA library as their
backend to utilize the GPU. The main advantage of Theano and
Tensorflow at this case is their compatibility to run on CPU and
GPU without changing the code also have some useful built-in
function.
Fig. 4. Damaged images examples for inpainting process.
Fig. 5. Mask of damaged area of images from Fig. 4.
Fig. 6. Inpainting result on four image examples after 2000 iteration.
TABLE I. T
IME
R
EQUIRED
F
OR
I
NPAINTING
O
N
CPU
Image Dimension
Running Time on CPU (s)
a
C++ Theano Tensorflow
800 x 543 22,338 15,777 28,185
1600 x 1068 93,258 82,712 116,565
3600 x 2043 723,575 399,793 585,754
a.
Average time from four testing images on Fig. 4 after 2000 iteration.
TABLE II. T
IME
R
EQUIRED
F
OR
I
NPAINTING
O
N
GPU
Image Dimension
Running Time on GPU (s)
a
CUDA Theano Tensorflow
800 x 543 0,117 4,214 0,942
1600 x 1068 0,460 23,571 2,452
3600 x 2043 2,336 109,465 11,448
a.
Average time from four testing images on Fig. 4 after 2000 iteration.
TABLE III. S
PEED
U
P
F
OR
I
NPAINTING
P
ROCESS
O
N
GPU
Image
Dimension
GPU Speed Up Compared to CPU
CUDA
a
Theano Tensorflow
800 x 543 191,738 3,744 29,913
1600 x 1068 202,955 3,509 47,539
3600 x 2043 309,816 3,652 51,168
a.
CUDA performance compared to C++ on CPU
978-1-5386-4738-7
Bali, 24th-26th July 2018
ICITEE 2018
-644-
TABLE IV. GPU
M
EMORY
A
LLOCATION
F
OR
I
NPAINTING
P
ROCESS
Platform /
Framework
Memory Allocation On
GPU (Mb)
CUDA
220
Tensorflow
623
Theano
289
TABLE V. S
TRUCTURAL
S
IMILARIT Y
I
NDEX OF
T
ESTED
I
MAGES
Image Dimension SSIM (%)
a
800 x 543 91,39%
1600 x 1068 94,02%
3600 x 2043 96,32%
a.
Average SSIM value from four image examples.
V. C
ONCLUSION
After evaluated the proposed parallel computing accelerated
image inpainting using CUDA, Theano, and Tensorflow, here is
our main observations:
The uses of parallel computing platform or framework
using GPU can speed up the computational process time
of image inpainting.
The uses of Theano and Tensorflow framework prove
that both framework can simplify the code with their
built-in function and ease the application of parallel
programming without changing the code when switching
from CPU to GPU.
Theano is faster framework for image inpainting run on
CPU rather than Tensorflow and native C++ program.
CUDA is faster parallel computing platform for image
inpainting run on GPU rather than Theano or Tensorflow.
Even CUDA is faster among the other, CUDA also take
smaller amount of GPU memory than Theano, and
Tensorflow.
R
EFERENCES
[1] Bertalmio, M., Sapiro, G., Caselles, V., Ballester, C.: Image inpainting.
In: 27th International Conference on Computer Graphics and Interactive
Techniques Conference, ACM Press, Los Angeles, 2000, pp. 417-424.
[2] Zhang F. et al., “Partial differential equation inpainting method based on
image characteristics,” in: Zhang YJ. (eds) Image and Graphics. ICIG
2015. Lecture Notes in Computer Science, vol 9219. Springer, Cham,
2015.
[3] H. Noori, S. Saryazdi, and H. Nezamabadi-pour, A Convolution based
image inpainting, 1st International Conference on Communications
Engineering, 2010, pp. 130-134.
[4] Perona, P. Malik, J. Scale-space and edge detection using anisotropic
diffusion. IEEE-PAMI 12, 1990, pp. 629-639.
[5] Chan, T., Shen, J. Mathematical models for local deterministic
inpaintings. UCLA CAM TR 00-11, March 2000.
[6] M. Oliveira, B. Bowen, R. Mckenna, Y. S. Chang, “Fast digital image
inpainting,” in proc. VIIP2001, pp. 261-266, 2001.
[7] C, Schönlieb. Modern pde techniques for image inpainting. Doctoral
dissertation. University of Cambridge. 2009.
[8] Prananta E, Pranowo, Budianto D. GPU CUDA accelerated image
inpainting using fourth order PDE equation. TELKOMNIKA. 2016;
14(3): 1009-1015.
[9] M, Abadi., et al. TensorFlow: a system for large-scale machine learning.
Proceedings of the 12th USENIX Symposium on Operating Systems
Design and Implementation (OSDI ’16), 2016, pp. 265-283.
[10] J, Bergstra., et al. Theano: A CPU and GPU math compiler in Python.
Proc. of The 9th Python in Science Conf. (Scipy 2010). 2010.
[11] M. Pascal. Ranking popular deep learning libraries for data science.
https://blog.thedataincubator.com/2017/10/ranking-popular-deep-
learning-libraries-for-data-science. Accessed: 2018-03-20.
[12] P. Kuo, J. Lin, B. Liu, J. F. Yang, Inpainting-based multi-view synthesis
algorithms and its GPU accelerated implementation, 9th International
Conference on Information, Communications & Signal Processing,
Tainan, 2013, pp. 1-4.
[13] M, Hardik. Implementation of image inpainting using heat equation. CiiT
International Journal of Digital Imag e Processing. 2012.
ICITEE 2018
Bali, 24th-26th July 2018
978-1-5386-4738-7
-645-
... Abbildung 5).RE 2:Eine Beschleunigung durch Parallelisierung ist also erreichbar und es gibt belegbare Messwerte zum Laufzeitverhalten. Mehrere Instanzen des Prozesses zu starten ist eine primitive Anwendung von Parallelität.Die optimale Auslastung einer CPU mit mehreren Kernen oder einer GPU mit Hunderten bis Tausenden Kernen würde der Annahme nach um ein Vielfaches schneller sein[15]-[17]. Im Architekturdesign von GPUs wurden die Shaderprozessoren[10] zu vollständig programmierbaren Prozessoren ausgebaut und stehen so für stark parallelisierte Anwendungen zur Verfügung [10, S. 34ff]. ...
Thesis
Full-text available
Multimedia Feature Graphs (MMFG) were developed for efficient Multimedia Retrieval (MMIR). In a further step, a method for computing similarity was presented. For this purpose, the graphs are converted into a proxy matrix called graph codes. Via mathematical calculation steps, a value to two Graph Codes can be calculated, which is higher the more similar the Graph Codes are. This has been shown to be a fast method, but it does not use parallel processing. The goal of this work is to investigate ways to parallelize the algorithms and how users can use parallel graph code algorithms. To model one or more parallel algorithms, decomposition techniques have been researched. These techniques have been used to decompose Wagenpfeil's sequential method into several parallelizable tasks. From these tasks, several parallel algorithms were modeled and considered. POSIX Threads and CUDA technologies were identified in the research. Modeling of the algorithms for the technologies was performed and discussed. Integration with the Generic Multimedia Annotation Framework (GMAF) application was modeled to use the algorithms. In addition, a console application (gcsim) was modeled to evaluate the algorithms. A selection of the algorithms was implemented prototypically. The gcsim application was also programmed for integration into GMAF. The evaluation showed that the computation of graph code similarity can be highly parallelized. In the experiments, the implementation of the algorithms with CUDA was able to achieve a speedup of 225. It could be shown that the algorithms scale with the number of processor cores in the used processor. Thus, an even stronger speedup can be achieved on more powerful hardware. As a result, users have access to fast algorithms that can be flexibly integrated into existing applications.
... And the usage of GPU during carrier generation stage can effectively accelerate the image processing process in the hardware level [32]. The compute intensive and time-consuming process such as convolutional computation, dilated convolution, and de-convolutional computation are mostly offloaded to the massive GPU cores [1,11]. ...
Article
Full-text available
Image steganography aims to conceal the secret information inside another carrier image. And by embedding the information into the carrier image, the carrier image may suffer certain image distortion. Thus, not only the hiding algorithm should be carefully designed, but also the carrier image should be meticulously selected during the hiding process. This paper follows the idea of creating suitable cover images instead of selecting the ones by presenting a unified architecture which combines real-time object detection based on convolutional neural network, local style transfer using generative adversarial network and steganography together to realize real-time carrier image generation. The object in the carrier image is first detected using a fast object detector and then the detected area is reconstructed through a local generative network. The secret message is embedded into the intermediate generated images during the training process in order to generate an image which is suitable as an image carrier. The experimental results show that the reconstructed stego images are nearly indistinguishable to both human eyes and steganalysis tools. Furthermore, the whole carrier image generation process with GPU implementation can achieve around 5 times faster than the regular CPU implementation which meets the requirement of real-time image processing.
... Torch [12] is a Lua-based deep-running framework developed by large players such as Facebook, Twitter, and Google. Its parallel processing uses the C/C++ library and CUDA [13,14] for GPU processing. In addition, Torch's Python implementation, called PyTorch [15], is gaining popularity and is rapidly being adopted. ...
Article
Based on the growing demand for neural network technologies, various neural network inference engines are being developed. However, each inference engine has its own neural network storage format. There is a growing demand for standardization to solve this problem. This study presents interworking techniques for ensuring the compatibility of neural networks and data among the various deep learning frameworks. The proposed technique standardizes the graphic expression grammar and learning data storage format using the Neural Network Exchange Format (NNEF) of Khronos. The proposed converter includes a lexical, syntax, and parser. This NNEF parser converts neural network information into a parsing tree and quantizes data. To validate the proposed system, we verified that MNIST is immediately executed by importing AlexNet's neural network and learned data. Therefore, this study contributes an efficient design technique for a converter that can execute a neural network and learned data in various frameworks regardless of the storage format of each framework.
Article
Full-text available
Image Inpainting is a technique of modification and filling in an image in such a way that it is capable of reconstructing the damage or missing portion of an image. Deep learning-based approaches have shown promising results in painting, but they often struggle with handling large datasets due to the lack of robustness and efficiency. This project aims to use advanced techniques to fill the missing parts of the image using deep learning techniques. In this paper, we review the current state-of-the-art deep learning approaches in painting. We find that deep learning models, when properly trained on diverse datasets, produced visually impressive inpainted images with fewer artifacts and better structural integrity. We also discuss the potential of deep learning in painting for image manipulations.
Article
Full-text available
This paper proposes an aerial data network infrastructure for large geographical area surveillance systems. The work presents a review of previous works from the authors, existing technologies in the market and other scientific work, with the goal of creating a data network supported by Autonomous Tethered Aerostat Airships used for sensor fixing, drones deployment base and meshed data network nodes installation. The proposed approach for data network infrastructure supports several independent and heterogeneous services from independent, private and public companies. The presented solution employs Edge Artificial Intelligence (AI) systems for autonomous infrastructure management. The Edge AI used in the presented solution enables the AI management solution to work without the need of a permanent connection to cloud services and is constantly feed by the locally generated sensor data. These systems interact with other network AI services to accomplish coordinated tasks. Blockchain technology services are deployed to ensure secure and auditable decisions and operations, validated by the different involved ledgers.
Article
Recent intensification in climate change have resulted in the rise of hydrological extreme events. This demands modeling of hydrological processes at high temporal resolution to better understand flow patterns in catchments. To model surface and sub-surface flows in a catchment we utilized a physically based model called Hydrological Simulated Program-FORTRAN and two deep learning-based models. One deep learning model consisted of only one long short-term memory (simple LSTM), whereas the other model simulated processes in each hydrological response unit (HRU) by defining one separate LSTM for each HRU (HRU-based LSTM). The models use environmental time-series data and two-dimensional spatial data to predict surface and sub-surface flows at 6-minute time step simultaneously. We tested our models in a tropical humid headwater catchment in northern Lao PDR and compared their performances. Our results showed that the simple LSTM model outperformed the other models on surface runoff prediction with the lowest MSE (7.4e-5 m³s⁻¹), whereas HRU-based LSTM model better predicted patterns and slopes in sub-surface flow in comparison with the other models by having the smallest MSE value (3.2e-4 m³s⁻¹). This study demonstrated the performance of a deep learning model when simulating hydrological cycle with high temporal resolution.
Article
Full-text available
This paper describes the technique to accelerate inpainting process using fourth order PDE equation using GPU CUDA. Inpainting is the process of filling in missing parts of damaged images based on information gleaned from surrounding areas. It uses the GPU computation advantage to process PDE equation into parallel process. Fourth order PDE will be solved using parallel computation in GPU. This method can speed up the computation time up to 36x using NVDIA GEFORCE GTX 670.
Article
Full-text available
TensorFlow is a machine learning system that operates at large scale and in heterogeneous environments. TensorFlow uses dataflow graphs to represent computation, shared state, and the operations that mutate that state. It maps the nodes of a dataflow graph across many machines in a cluster, and within a machine across multiple computational devices, including multicore CPUs, general-purpose GPUs, and custom designed ASICs known as Tensor Processing Units (TPUs). This architecture gives flexibility to the application developer: whereas in previous "parameter server" designs the management of shared state is built into the system, TensorFlow enables developers to experiment with novel optimizations and training algorithms. TensorFlow supports a variety of applications, with particularly strong support for training and inference on deep neural networks. Several Google services use TensorFlow in production, we have released it as an open-source project, and it has become widely used for machine learning research. In this paper, we describe the TensorFlow dataflow model in contrast to existing systems, and demonstrate the compelling performance that TensorFlow achieves for several real-world applications.
Conference Paper
Full-text available
We present a very simple inpainting algorithm for reconstruction of small missing and damaged portions of images that is two to three orders of magnitude faster than current methods while producing comparable results.
Conference Paper
Full-text available
Inpainting, the technique of modifying an image in an undetectable form, is as ancient as art itself. The goals and applications of inpainting are numerous, from the restoration of damaged paintings and photographs to the removal/replacement of selected objects. In this paper, we introduce a novel algorithm for digital inpainting of still images that attempts to replicate the basic techniques used by professional restorators. After the user selects the regions to be restored, the algorithm automatically fills-in these regions with information surrounding them. The fill-in is done in such a way that isophote lines arriving at the regions' boundaries are completed inside. In contrast with previous approaches, the technique here introduced does not require the user to specify where the novel information comes from. This is automatically done (and in a fast way), thereby allowing to simultaneously fill-in numerous regions containing completely different structures and surrounding backgrounds. In addition, no limitations are imposed on the topology of the region to be inpainted. Applications of this technique include the restoration of old photographs and damaged film; removal of superimposed text like dates, subtitles, or publicity; and the removal of entire objects from the image like microphones or wires in special effects.
Conference Paper
Inpainting is an image processing method to automatically restore the lost information according to the existing image information. Inpainting has great application on restoration of the lost information for photographs, text removal of image, and recovery for the loss coding of image, etc. Image restoration based on partial differential equation (PDE) is an important repair technology. To overcome the shortcomings of the existing PDEs in repair process, such as false edge, incomplete interpolation information, a new PDE for image restoration based on image characteristics is proposed. The new PDE applies different diffusion mode for image pixels with the different characteristics, which can effectively protect the edges, angular points, and other important characteristics of the image during the repair process. The experimental results in both gray images and color images show that our method can obviously improve the image visual effect after inpainting compared with different traditional diffusion models.
Conference Paper
Holes and cracks filling is the most important issue in depth-image-based rendering algorithms. This paper proposed an inpainting-based depth-image-based rendering algorithm for virtual view synthesis. Firstly, a texture-based interpolation method is applied for cracks filling. Then, the inpainting-based algorithm is used for holes filling. Finally, the graphic processing unit is employed to realize the proposed method. Simulation results show that the proposed algorithm has 51 times speeded up for synthesis virtual view with better quality.
Article
The objective of this paper is to develop and implement Image Inpainting using Heat Equation. Image Inpainting is a technique of modifying an image in an undetectable form. Its most often used to repair an image, although it can easily be used to remove unwanted objects. The modification of images in a way that is non-detectable for an observer who does not know the original image is a practice as old as artistic creation itself. An effective technique for image Inpainting has been developed based on partial differential equation (PDE). Instead of solving the problem in frequency domain, this rather new approach evaluates images in time domain. The basic concept starts from the impression of diffusion as a physical process and draws an analogy between the image inpainting process and the diffusion. Images can be comparable to heat, fluid, and gas which spontaneously move from the area of high concentration to the area of lower concentration. Therefore, image inpainting via PDE highly involves the heat equation.
Article
A new definition of scale-space is suggested, and a class of algorithms used to realize a diffusion process is introduced. The diffusion coefficient is chosen to vary spatially in such a way as to encourage intraregion smoothing rather than interregion smoothing. It is shown that the `no new maxima should be generated at coarse scales' property of conventional scale space is preserved. As the region boundaries in the approach remain sharp, a high-quality edge detector which successfully exploits global information is obtained. Experimental results are shown on a number of images. Parallel hardware implementations are made feasible because the algorithm involves elementary, local operations replicated over the image