-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimage-restoration-using-partial-differential-equations.html
201 lines (201 loc) · 10.5 KB
/
image-restoration-using-partial-differential-equations.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0">
<title>Image Restoration using Partial Differential Equations · Joe Binns</title>
<link rel="stylesheet" href="styles.css">
<link id="shortcuticon" rel="shortcut icon" href="../images/jb.svg">
</head>
<body>
<div class="model-preview">
<canvas class="webgl">
</canvas>
</div>
<div class="padding logo-wrapper">
<logo>
<a href="/" class="gradient-multiline-invert">
<h1>
<span>
Joe
<br>
Binns
</span>
</h1>
</a>
</logo>
</div>
<div class="interface">
<menu class="padding">
<optHide>
<div style="width: 100px;">
</div>
<itemAlt>
<div class="tr" style="height: 24px;">
<div class="td">
<a class="hyperimage" href="mailto:[email protected]" target="_blank"><img id="mail" src="images/mail_box_optimised.svg" alt="email" width="20" height="20"></a>
<a class="hyperimage" href="https://www.linkedin.com/in/joe-binns/" target="_blank"><img id="linkedin" src="images/linkedin_box_optimised.svg" alt="LinkedIn" width="20" height="20"></a>
</div>
</div>
<div class="tr" style="height: 24px;">
<div class="td">
<a class="hyperimage" href="https://github.com/joebinns" target="_blank"><img id="github" src="../images/github_box_optimised.svg" alt="GitHub" width="20" height="20"></a>
<a class="hyperimage" href="https://joebinns.itch.io/" target="_blank"><img id="itchdotio" src="../images/itchdotio_box_optimised.svg" alt="itch.io" width="20" height="20"></a>
<a class="hyperimage" href="https://www.youtube.com/@joebinns95/" target="_blank"><img id="youtube" src="../images/youtube_box_optimised.svg" alt="YouTube" width="20" height="20"></a>
</div>
</div>
</itemAlt>
<item>
<div class="tr" style="height: 24px; position:relative; top: 6px">
<div class="td">
<a class="hyperlink lowercase" href="./about">about</a>
</div>
</div>
<div class="tr" style="height: 24px; position:relative; top: 6px">
<div class="td">
<a class="hyperlink lowercase" href="../documents/cv/cv-joe-binns.pdf">curriculum vitae</a>
</div>
</div>
</item>
</optHide>
</menu>
<div class="top right" style="z-index: 20; padding: 30px;">
<a class="hyperimage" href="/" ><img id="back" src="../images/back.svg" alt="back" width="40" height="40"></a>
</div>
</div>
<div class="content">
<project>
<h1 class="section">
Image Restoration using Partial Differential Equations
</h1>
<div class="table project-metadata">
<div class="tr">
<item class="td">
<h3>
Links
</h3>
<info>
<p>
<a class="hyperimage" href="" target="_blank" style="display: none;"><img id="websiteProj" src="../images/globe_box_optimised.svg" alt="website" width="20" height="20"></a>
<a class="hyperimage" href="https://github.com/joebinns/fytn03-module-b-project" target="_blank"><img id="githubProj" src="../images/github_box_optimised.svg" alt="GitHub" width="20" height="20"></a>
<a class="hyperimage" href="" target="_blank" style="display: none;"><img id="steamProj" src="../images/steam_box.svg" alt="Steam" width="20" height="20"></a>
<a class="hyperimage" href="" target="_blank" style="display: none;"><img id="switchProj" src="../images/switch_box.svg" alt="Nintendo Switch" width="20" height="20"></a>
<a class="hyperimage" href="" target="_blank" style="display: none;"><img id="itchdotioProj" src="../images/itchdotio_box_optimised.svg" alt="itch.io" width="20" height="20"></a>
<a class="hyperimage" href="https://youtu.be/NSAQF8PqJYM" target="_blank" ><img id="youtubeProj" src="../images/youtube_box_optimised.svg" alt="YouTube" width="20" height="20"></a>
<a class="hyperimage" href="https://docs.google.com/presentation/d/1drkaDALbQ7SuK9GOWdK9Qia4G1Ti0RgwTD8HcUFlgfU/edit?usp=sharing" target="_blank"><img id="documentProj" src="../images/document_box.svg" alt="document" width="20" height="20"></a>
</p>
</info>
</item>
<item class="td">
<h3>
Dates
</h3>
<info>
<p>
August 2021 — October 2021
</p>
</info>
</item>
</div>
<div class="tr">
<item class="td">
<h3>
Team
</h3>
<info>
<p>
<a class="hyperlink" href="/">Myself</a>, Programmer
<br>
<a class="hyperlink" href="https://lup.lub.lu.se/student-papers/search/publication?q=author+exact+jo6202gr-s" target="_blank">Joshua Greaves</a>, Programmer
<br>
<a class="hyperlink" href="https://lup.lub.lu.se/student-papers/search/publication?q=author+exact+da6784la-s" target="_blank">Daniel Larsson Persson</a>, Programmer
</p>
</info>
</item>
<item class="td">
<h3>
Languages
</h3>
<info>
<p>
Python<br>
Git
</p>
</info>
</item>
</div>
</div>
<div class="document">
<h3>
About
</h3>
<p>
An image restoration program which uses partial differential equations to predict missing information, made in Python.
</p>
<div class="video-block">
<div class="video-wrapper">
<iframe frameborder="0" width="100%" height="100%" src="https://www.youtube.com/embed/NSAQF8PqJYM?autoplay=1&controls=0&mute=1&loop=1&playlist=NSAQF8PqJYM" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>
</iframe>
</div>
</div>
<h3>
Description
</h3>
<p>
Equations originating from physics have recently found their way to other areas.
One possibly surprising application is that of restoring art or images.
To understand how Partial Differential Equations (PDEs) from physics can help with image restoration, consider a greyscale image of your own choice.
Due to some unwarranted graffiti, let us assume that a piece is missing (black region).
Can we fill in this missing region without any information as to what is missing?
This may seem like a hopeless task, but PDEs are here to help!
</p>
<p>
PDE-based methods for image restoration are based on propagating the information (typically, colour-specific intensity values and gradients) at the boundaries of the missing region inwards.
The propagation is performed by solving a partial differential equation for the missing regions’ given boundary conditions.
</p>
<h3>
Contribution
</h3>
<p>
I really enjoyed collaborating on this project, where I created the initial code logic, and later took responsibility for handling user inputs and finding innovative ways of improving the algorithms results through a new technique.
This new technique consisted of breaking the regions to be solved into individual sections; The border colours of which were then averaged over to create an appropriate initial fill colour for each section.
This was found to both speed up solving and greatly improve results for large pieces of graffiti.
Though we just touched the tip of the iceberg in terms of image restoration techniques, the project demonstrated how useful physics-based equations can be in novel applications, such as graphical programming.
</p>
</div>
</project>
<ul class="portfolio-pieces">
<li>
<a id="nBody" href="./n-body-simulator" class="gradient-multiline">
<h2>
<portfolio-prefix>
<date>next project</date>
</portfolio-prefix>
<portfolio-title><em>N</em>-body Simulator</portfolio-title>
</h2>
</a>
</li>
</ul>
</div>
<p class="copyright-notice">
Copyright © 2021-2025 Joseph Alexander Binns. All rights reserved.
</p>
<div class="tint-overlay max"></div>
<div class="tint-overlay min"></div>
<script type="importmap"> {
"imports": {
"three": "https://unpkg.com/three/build/three.module.js",
"gltf-loader": "https://unpkg.com/three/examples/jsm/loaders/GLTFLoader.js",
"pass": "https://unpkg.com/three/examples/jsm/postprocessing/Pass.js",
"effect-composer": "https://unpkg.com/three/examples/jsm/postprocessing/EffectComposer.js",
"shader-pass": "https://unpkg.com/three/examples/jsm/postprocessing/ShaderPass.js",
"bloom-pass": "https://unpkg.com/three/examples/jsm/postprocessing/BloomPass.js"
}
}
</script>
<script type="module" src="src/DocumentDarkMode.js"></script>
<script type="module" src="src/DocumentDarkModePage.js"></script>
<script type="module" src="src/DocumentDarkModeMeta.js"></script>
<script type="module" src="src/PDE.js"></script>
</body>
</html>