-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflowDenoiser.xml
More file actions
95 lines (82 loc) · 4.75 KB
/
flowDenoiser.xml
File metadata and controls
95 lines (82 loc) · 4.75 KB
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
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="yarpmanifest.xsl"?>
<module>
<!-- module's name should match its executable file's name. -->
<name>flowDenoiser</name>
<description> Uses optical flow to generate a prediction of the processed image to compare with the incoming one</description>
<copypolicy>Released under the terms of the GNU GPL v2.0</copypolicy>
<version>0.1</version>
<description-long>
This module uses performs denoising on the last frame by using information from previous frames. It takes as input any processed image
to be denoised and the camera image. It works by computing the optical flow between the last the camera frame and the N previous ones,
and computing an estimate of the latest processed image frame by warping previous frames with the obtained optical flow.
It has two main working modes, non discrete, on which a weighted average of the estimates is computed, and discrete, thought to stabilize
labelled image which cant be averaged. In the discrete mode, K-means is performed to get consistent labelling, and then the stabilized image
is computed as the pixel-wise statistical mode among the considered previous frames.
</description-long>
<!-- <arguments> can have multiple <param> tags-->
<arguments>
<param desc="Name of the module" default="flowDenoiser"> name</param>
<param desc="Robot used" default="icub"> robot</param>
<param desc="Verbose" default="false"> verbose</param>
</arguments>
<!-- <authors> can have multiple <author> tags. -->
<authors>
<author email="tanis.mar@iit.it"> Tanis Mar</author>
</authors>
<!-- <data> can have multiple <input> or <output> tags. -->
<data>
<!-- input data if available -->
<input type="service">
<type>rpc</type>
<port carrier="tcp">/flowDenoiser/rpc:i</port>
<description> Takes the following RPC commands from Human or stateMachine
-# <b>discrete</b> <i>(string) ON/OFF</i>: Switches between the discrete output mode (for segmentation and labels) and the continue output mode (for gradual images).");
-# <b>verbose</b> <i>(string) ON/OFF</i>: Sets active the printouts of the program, for debugging or visualization.");
-# <b>warp</b> <i>(string) ON/OFF</i>:- Turns ON/OFF optical flow warp. On off, it just uses the previous frames for flitering.");
-# <b>smooth</b> <i>(double) boxSize</i>: Sets the size of the box filter for smoothing before optical flow computation. Size 0 just turns off smoothing.");
-# <b>buffSize</b> <i>(int) buffer Size</i>: Sets the size of the buffer of previous images used to compute an estimate based on the optical flow.");
-# <b>K</b> <i>(int) num Clusters</i>: Sets the number of k clusters used to stabilize segmentation.");
-# <b>addWeight</b> <i>(double (0,1]) beta</i>: Sets the value of the adding weight beta, which represents the relative importance of the past frame compared to most actual one. It decreases exponentially on each past frame.");
-# <b>help</b> - produces this help.;
-# <b>quit</b> - closes the module.;
</description>
</input>
<input>
<type>ImageOfPixelMono</type>
<port carrier="udp">/flowDenoiser/imgCam:i</port>
<required>no</required>
<priority>no</priority>
<description>Raw image</description>
</input>
<input>
<type>ImageOfPixelMono</type>
<port carrier="udp">/flowDenoiser/imgProc:i</port>
<required>no</required>
<priority>no</priority>
<description>Image processing to stabilize</description>
</input>
<!-- output data if available -->
<output>
<type>ImageOfPixelBgr</type>
<port carrier="udp">/flowDenoiser/imgWarpCam:o</port>
<description> Sends out the warped version of the actual raw image frame</description>
</output>
<output>
<type>Bottle</type>
<port carrier="tcp">/flowDenoiser/imgWarpProc:o</port>
<description> Sends out the warped version of the processed image obtained from the optical flow prediction</description>
</output>
</data>
<dependencies>
<computer>
</computer>
</dependencies>
<!-- specific libraries or header files which are used for development -->
<development>
<header></header>
<library>YARP</library>
<!--<library>stereoVision</library> -->
<library>OpenCV</library>
</development>
</module>