Surface Utilization Surveillance and Hazard Identification
S.U.S.H.I aims to create a vision system for detecting floating surface trash with optimal accuracy, discarded objects, and similar objects that are outside the water area.
A U-Net built from scratch in PyTorch, trained via knowledge distillation from SAM2. Rather than using standard transfer learning, SAM2 acts as an offline teacher — its soft logits are precomputed and stored in distill.h5, with no gradient propagation through SAM2 during training. The student U-Net learns from both binary ground truth masks and the teacher's logits simultaneously:
This guides the student toward SAM2-like boundary precision while remaining lightweight enough for edge deployment. The architecture uses 4 encoders, 1 backbone encoder, and 4 decoders with skip connections preserving fine boundary details. The final layer uses sigmoid activation to produce binary water masks. The output is used directly in Vision Fusion for object validity checks and exploration.
Three models run in parallel:
- YOLO Detection — trained on simulation + pool data (2 classes: goal, obstacle). Uses CSRT-tracked video annotations and mosaic augmentation. No pretrained weights.
- Water Segmentation (U-Net) — knowledge distillation from SAM2 logits. Combines hard loss (BCE) and soft loss (MSE against teacher logits). Requires only 500–550 frames from 20 video sequences.
- Depth Estimation — Depth-Anything V2, used over stereo cameras as it outperforms depth with water reflections.
MFS solves the local minima problem in classical APF by blending:
- Local APF forces — reactive obstacle repulsion and goal attraction
- Global wavefront flow field — computed periodically from goal cell outward
- Clearance field — to find narrow corridors
Where an adaptive blending coefficient γ ∈ [0,1] shifts between APF and wavefront, increasing wavefront influence in narrow corridors, escaping local minima after repeated stuck steps using wavefront stagnation, and switching to APF dominance for precise final approach based on goal proximity. Dynamic repulsion scaling (β) reduces repulsive forces in traversable corridors. Oscillation is broken via angular perturbations. Hermite cubic interpolation smooths the final path.
MFS uses SUSHI's Vision Fusion to construct the obstacle and goal map:
When no explicit goal is detected, a line-of-sight inspired exploration samples the water mask for curious navigation:
- Density map via 15×15 Gaussian kernel convolution
- Distance transform for shore clearance
- Multi-scale structural kernels detect narrow channels and dead-ends
- Sector-based scoring (16 angular wedges) combining density, reactivity, and structural features
- Three-tier fallback: global max → hierarchical grid → uniform grid
This allows the robot to navigate safely around obstacle-filled areas, find entrances to disconnected water regions and avoid wall collision during exploration — only through water mask sampling:
Behavior hierarchy (lowest to highest priority):
- Fuzzy Path Following — follows waypoints using 4-input triangular membership functions (distance to lookahead, heading error, cross-track error, obstacle proximity) with centroid defuzzification:
- DWA Obstacle Avoidance — triggered by sonar or horizon depth readings, constructs a dynamic window of velocities and scores each candidate trajectory:
-
Turn-in-Place — mini-DWA with
$v_{min} = v_{max} = 0$ , restricting motion to pure rotation when all trajectories collide or the water mask becomes unreliable near shore.





