Presentation of my Thesis with the title "Coastal erosion management using image processing and Node Oriented Programming" for achieving my Masters Degree in Computer and Automation Engineering from Siena University, Italy.
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Coastal erosion management using image processing and Node Oriented Programming
1. Coastal erosion management
using image processing and
Node Oriented Programming
Relatore:
Prof. Alessandro Mecocci
Corelatore:
Prof. Alessandro Pozzebon
University of Siena
Department of Engineering
Candidato:
AbdAllah Aly Saad
2. Outline
Introduction
Current methodologies
The distributed system
Node Oriented Programming
Conclusions
System overview
Object distance measurement
Object detection
Rover-boat pinpointing
NOP programming Model
Examples
DM14 programming language
Results and Scenario
Limitation
Conclusions
Future work
Problem definition
Results
Problem definition
Results
LiDAR and ARGUS
3. Coastal erosion
The encroachment of land by the sea, periodically
measured and averaged to ensure the elimination of
the impacts of weather, storm events and local
sediment dynamics.
Figure 1. Beach prfile
4. Reasons for coastal erosion
There are many reasons aresult in coastal erosion,
both natural and human induced, both types existing
as a combination with several factors.
Coastal engineering
Land claim
Dredging
Vegetation clearing
Gas mining and water extraction
Winds
Storms
Near-shore currents
Relative sea level rise
5. Results of coastal erosion
Losing and seriously impacting land
Destruction of the natural sea defenses
loss of European coastal wetlands
6. Why costal erosion monitoring ?
“Information lies at the heart of good decision making"
Help anticipate future trends and risks
Inadequate decisions are being made altready !
7. Methodolgies
LIDAR
Uses laser with Airborne support and RTK
GPS
Costs 500-700 euro/km2
with resolution of
0,1 meter.
Germany, Netherlands, the US and the Uk
ARGUS
3-6 synchronized cameras covering up
to 5 kilometers
Costs 20-30 euro per km2
with 1 meter
resolution,
NL, the US, Australia and the UK
Figure 2. Lidar System Figure 3. ARGUS system
9. Object detection
Use color segmentation.
Select only some color ranges
Use multiple ranges for multiple weather conditions
Shape detection
Extract circular shaped contours.
Use different algorithms and techniques to remove irrelevant noise
Figure 5. Color HSV presentation
10. Object distance measurement
Based on the basic concept of a camera
Provides to similar triangles
Becomes clear then that Distance is D=
F*I
P
Figure 6.A. triangles of the real image and inverted image Figure 6.B. Point of convegence
11. Rover-boat pinpointing
Use trilateration
Nodes represent different circles
The circles intersect on the exact location of the rover-boat
Nodes know their locations
Apply trilateration using similar triangles technique
R1 . x= C0 . x± T
(C1 . y− C2 . y )
D1
R1 . y= C0 . y∓T
(C1 . x− C2 . x )
D1
Figure 7. Trilateration of two circles
12. Node Oriented Programming
A Distributed Programming Model
Represent a program as a graph
Parition a program into a set of nodes to construct a graph
Edges represent the data flow beween the nodes
x int := 10
y int
z backward int
print (z)
distribute
y int := x + 10
distribute
z := x + y
Diagram 1. simple program in NOP
13. Distribute !
The key primitve to distribute the program
Used to distrubte program segments to different nodes
Listing 1. the distribute primitive
x int := 10
y int
z backward int
print (z)
distribute
y int := x + 10
distribute
z := x + y
14. Data distributing primitives
Actual dataflow between nodes is the overall system
execution flow
Defines the edges of each node
noblock
recurrent
forward flow
backprop backward flow
channel two way communication
nodist local variable
Table 1. NOP distributed data primitives
15. Forward and backward propagation
Forward propagation
Forward daraflow
implicit dataflow direction
x int := 10
distribute
print(x)
x backward int
print(x)
distribute
x := 10
Backward propagation
backward daraflow
Explicit dataflow direction
Diagram 2. forward and backward propagation
16. Channel and recurrent
channel
Different value for each read
Bidrectional communication
buffered
x int := 10
distribute
print(x)
x recurrent int c
x := 10
distribute
print(x)
print(x)
recurrent
different values for each read
One direction
buffered
Diagram 3. normal and recurrent variables
17. Block and noblock
block
Strong edges
implicit
x int := 10
distribute
print(x)
x noblock int x =
x =: 10
distribute
print(x)
noblock
Weak edge
Explicit
Diagram 4. block and noblock variables
18. DM14 programming language
Compiled Imperative structured distributed
Weak typed with static type-checking
Uses NOP as the main programming model/paradigm
Modular with extentions
Ad-hoc Scanner and LL* parser
Single phase compiler
with io use io
main(->)
{
nspill("Hello World");
}
Listing 2. Hello World in DM14
19. Ping Pong in DM14
with io use *
main (->)
{
x int;
spill("please enter X :");
get(x);
Resetnode(1);
distribute;
spill("X = ");
nspill(x);
resetnode(0);
}
Diagram 5. ping pong example in DM14 Listing 3. ping pong in DM14
21. Runtime Scenario
Two nodes running
One node is at (0,0) Detects the roverboat at 100 cm
One node at (70, 0) Detects the rovers boat at 55 cm
Rover-boat is either at (81.8, 55,765) or (81.8, -55.765)
Figure 8. trilateration scenario of two nodes
22. Conclusions
The system presented could be a real alternative to the
current used systems as it would cost much less, easier
to maintain, scalable, and produces raw data.
Very low operating and maintance cost
NOP permits writing distributed programs in an
orthogonal manner using only the basic primitives.
23. Limitations
WIFI ad-hoc network is of range 100 meter max :
margin of nodes is constrained by the connectivity
range
camera resolution : affects the field view or depth of
field , so nodes must be as close to the foreshore …
weather changes : such as clouds could effects the
rover-boat detection significantly
the sysem architecture is fixed : once the graph is built it
is not possible to change it.
24. Future Work
Use LoRa for communication
Weight the results of each node with its camera
resolution
Send different signals to extend the knowledge
base