-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathpipeline.yaml
279 lines (259 loc) · 7.1 KB
/
pipeline.yaml
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
metadata:
pipeline_name: iris_pipeline
iris_version: 1.1.1
pipeline:
- name: segmentation
algorithm:
class_name: iris.MultilabelSegmentation.create_from_hugging_face
params: {}
inputs:
- name: image
source_node: input
callbacks:
- name: segmentation_binarization
algorithm:
class_name: iris.MultilabelSegmentationBinarization
params: {}
inputs:
- name: segmentation_map
source_node: segmentation
callbacks:
- name: vectorization
algorithm:
class_name: iris.ContouringAlgorithm
params: {}
inputs:
- name: geometry_mask
source_node: segmentation_binarization
index: 0
callbacks:
- name: specular_reflection_detection
algorithm:
class_name: iris.SpecularReflectionDetection
params: {}
inputs:
- name: ir_image
source_node: input
callbacks:
- name: interpolation
algorithm:
class_name: iris.ContourInterpolation
params: {}
inputs:
- name: polygons
source_node: vectorization
callbacks:
- name: distance_filter
algorithm:
class_name: iris.ContourPointNoiseEyeballDistanceFilter
params: {}
inputs:
- name: polygons
source_node: interpolation
- name: geometry_mask
source_node: segmentation_binarization
index: 1
callbacks:
- name: eye_orientation
algorithm:
class_name: iris.MomentOfArea
params: {}
inputs:
- name: geometries
source_node: distance_filter
callbacks:
- name: eye_center_estimation
algorithm:
class_name: iris.BisectorsMethod
params: {}
inputs:
- name: geometries
source_node: distance_filter
callbacks:
- name: eye_centers_inside_image_validator
algorithm:
class_name: iris.nodes.validators.cross_object_validators.EyeCentersInsideImageValidator
params:
min_distance_to_border: 0.0
inputs:
- name: ir_image
source_node: input
- name: eye_centers
source_node: eye_center_estimation
callbacks:
- name: smoothing
algorithm:
class_name: iris.Smoothing
params: {}
inputs:
- name: polygons
source_node: distance_filter
- name: eye_centers
source_node: eye_center_estimation
callbacks:
- name: geometry_estimation
algorithm:
class_name: iris.FusionExtrapolation
params:
circle_extrapolation:
class_name: iris.LinearExtrapolation
params:
dphi: 0.703125
ellipse_fit:
class_name: iris.LSQEllipseFitWithRefinement
params:
dphi: 0.703125
algorithm_switch_std_threshold: 3.5
inputs:
- name: input_polygons
source_node: smoothing
- name: eye_center
source_node: eye_center_estimation
callbacks:
- name: pupil_to_iris_property_estimation
algorithm:
class_name: iris.PupilIrisPropertyCalculator
params:
min_iris_diameter: 50
inputs:
- name: geometries
source_node: geometry_estimation
- name: eye_centers
source_node: eye_center_estimation
callbacks:
- class_name: iris.nodes.validators.object_validators.Pupil2IrisPropertyValidator
params:
min_allowed_diameter_ratio: 0.1
max_allowed_diameter_ratio: 0.7
max_allowed_center_dist_ratio: 0.9
- name: offgaze_estimation
algorithm:
class_name: iris.EccentricityOffgazeEstimation
params: {}
inputs:
- name: geometries
source_node: geometry_estimation
callbacks:
- class_name: iris.nodes.validators.object_validators.OffgazeValidator
params:
max_allowed_offgaze: 0.8
- name: occlusion90_calculator
algorithm:
class_name: iris.OcclusionCalculator
params:
quantile_angle: 90.0
inputs:
- name: noise_mask
source_node: segmentation_binarization
index: 1
- name: extrapolated_polygons
source_node: geometry_estimation
- name: eye_orientation
source_node: eye_orientation
- name: eye_centers
source_node: eye_center_estimation
callbacks:
- class_name: iris.nodes.validators.object_validators.OcclusionValidator
params:
min_allowed_occlusion: 0.25
- name: occlusion30_calculator
algorithm:
class_name: iris.OcclusionCalculator
params:
quantile_angle: 30.0
inputs:
- name: noise_mask
source_node: segmentation_binarization
index: 1
- name: extrapolated_polygons
source_node: geometry_estimation
- name: eye_orientation
source_node: eye_orientation
- name: eye_centers
source_node: eye_center_estimation
callbacks:
- class_name: iris.nodes.validators.object_validators.OcclusionValidator
params:
min_allowed_occlusion: 0.3
- name: noise_masks_aggregation
algorithm:
class_name: iris.NoiseMaskUnion
params: {}
inputs:
- name: elements
source_node:
- name: segmentation_binarization
index: 1
- name: specular_reflection_detection
callbacks:
- name: normalization
algorithm:
class_name: iris.LinearNormalization
params: {}
inputs:
- name: image
source_node: input
- name: noise_mask
source_node: noise_masks_aggregation
- name: extrapolated_contours
source_node: geometry_estimation
- name: eye_orientation
source_node: eye_orientation
callbacks:
- name: filter_bank
algorithm:
class_name: iris.ConvFilterBank
params:
filters:
- class_name: iris.GaborFilter
params:
kernel_size: [41, 21]
sigma_phi: 7
sigma_rho: 6.13
theta_degrees: 90.0
lambda_phi: 28.0
dc_correction: True
to_fixpoints: True
- class_name: iris.GaborFilter
params:
kernel_size: [17, 21]
sigma_phi: 2
sigma_rho: 5.86
theta_degrees: 90.0
lambda_phi: 8
dc_correction: True
to_fixpoints: True
probe_schemas:
- class_name: iris.RegularProbeSchema
params:
n_rows: 16
n_cols: 256
- class_name: iris.RegularProbeSchema
params:
n_rows: 16
n_cols: 256
inputs:
- name: normalization_output
source_node: normalization
callbacks:
- name: encoder
algorithm:
class_name: iris.IrisEncoder
params: {}
inputs:
- name: response
source_node: filter_bank
callbacks:
- class_name: iris.nodes.validators.object_validators.IsMaskTooSmallValidator
params:
min_maskcodes_size: 4096
- name: bounding_box_estimation
algorithm:
class_name: iris.IrisBBoxCalculator
params: {}
inputs:
- name: ir_image
source_node: input
- name: geometry_polygons
source_node: geometry_estimation
callbacks: