PAANI : On Device Visual Evidence Fusion and Explainable Guidance for River Robot Simulation
Organizations: ACL Digital, Pune · Multiverse Computing, Spain · Ph.D. (Part-time) Research Scholar, PSG College of Technology, Coimbatore, India
Abstract
Mobile river monitoring robots must interpret obstacles and water boundaries that geographic waypoints alone cannot describe. On resource constrained platforms, converting imperfect visual predictions into timely and inspectable guidance is a distinct challenge. An object label or steering command does not explain which evidence supports a decision or when that evidence is unreliable. We present PAANI, an on-device perception to guidance architecture that combines a project trained YOLO11n detector and a custom MobileNetV3 Small semantic segmenter with timestamp aligned evidence fusion on Arduino UNO Q. Bounded tracking supplies object persistence, while an explicit corridor policy combines surface labels, accepted detections, urgency and mask uncertainty. Each final advisory exposes its contributing evidence and policy reasons. ROS 2 interfaces connect the local AI pipeline to a separate Gazebo vessel, localization and control testbed. Training uses 10,000 WaterScenes images for four-class detection and 1,127 MaSTr1325 images for segmentation, including 198 segmentation validation images. The selected FP32 ONNX models occupy 14.817 MB. Detector checkpoint test mAP at 0.5 IoU is 0.7388, while the separately evaluated rectangular ONNX export achieves validation mAP at 0.5 IoU of 0.7367. Segmentation ONNX validation mIoU is 0.9750. A five-minute UNO Q recording produced median and 95th percentile pipeline latencies of 467.8 ms and 580.3 ms at a configured 0.5 Hz cadence. The evaluation also identifies black input misclassification and a sampling rate mismatch that prevents the diagnostic apparent motion estimator from collecting sufficient evidence. These results support an inspectable and reusable edge robotics foundation while clearly distinguishing model accuracy and on-board execution from validated on-water collision avoidance.
Figures & tables
| Interface | Producer and content | Consumer / purpose |
|---|---|---|
| Camera image stream | Camera; image + ROS header | Latest-frame inference; valid calibration is not established |
| Frame-timing stream | Camera/replay; source time, epoch | Matched time base for diagnostic motion |
| Perception evidence | Perception; boxes, lane summaries, timing | Tracking and visual policy |
| Tracked observations | Tracker; IDs, acceptance, motion fields | Dashboard and available journal subscribers |
| Explained advisory | Advisor; direction, reasons, components | Navigator, dashboard and guidance bridge |
| Navigation command | Navigator; atomic heading/speed/enable | Heading/speed controller |
| Property | Detector | Segmenter |
|---|---|---|
| Architecture | YOLO11n bounding-box detector | MobileNetV3-Small + 64-channel light FPN |
| Training framework | PyTorch / Ultralytics | PyTorch / torchvision |
| Class order | person, vessel, pier, buoy | water, obstacle, sky |
| Deployment | FP32 ONNX opset 17 | FP32 ONNX opset 17 |
| Input | ||
| Output | raw predictions | logits |
| Split | Images | Person | Vessel | Pier | Buoy |
|---|---|---|---|---|---|
| Training | 10,000 | 5,594 | 9,484 | 28,301 | 11,538 |
| Validation | 10,824 | 1,609 | 11,254 | 24,334 | 3,320 |
| Test | 5,412 | 835 | 5,679 | 12,186 | 1,680 |
| Artifact | Split | [email protected] | [email protected]:0.95 |
|---|---|---|---|
| Selected PyTorch checkpoint | Validation | 0.743199 | 0.463867 |
| Selected PyTorch checkpoint | Test | 0.738781 | 0.457888 |
| Rectangular FP32 ONNX | Validation | 0.736668 | 0.456929 |
| Class | Checkpoint val. | Checkpoint test | ONNX val. |
|---|---|---|---|
| Person | .366075 | .365398 | .359960 |
| Vessel | .609288 | .609214 | .599580 |
| Pier | .421294 | .412297 | .418510 |
| Buoy | .458810 | .444641 | .449664 |
| Artifact | mIoU | Water IoU | Obstacle IoU | Sky IoU | Edge F1 |
|---|---|---|---|---|---|
| PyTorch | .975038 | .991244 | .938622 | .995249 | .876991 |
| FP32 ONNX | .975037 | .991245 | .938620 | .995246 | .876919 |
| INT8 ONNX | .730281 | Not used for deployment | .231788 | ||
| Input | L | C | R | Advice | Interpretation |
|---|---|---|---|---|---|
| 47266 | .3413 | .2941 | .1611 | STRAIGHT | Center below blocking threshold |
| 01703 | .4976 | .5114 | .4573 | RIGHT | Center blocked; lower-risk permitted right side |
| 27011 | .3367 | .4716 | .6280 | STRAIGHT | Center remains below 0.48 |
| 47357 | .6615 | .6025 | .4489 | STOP | Occupancy prevents a permitted safer turn |
| Black | .0288 | .0004 | .0029 | STRAIGHT | Unusable-input failure, not safe water |
| Metric | Value |
|---|---|
| Polling samples / distinct inference results | 300 / 151 |
| Pipeline latency median / p95 / maximum (ms) | 467.842 / 580.341 / 643.857 |
| Detector median / segmenter execution median (ms) | 254.408 / 165.593 |
| Effective inference cadence (Hz) | 0.500 |
| Measured capture rate, approximately (FPS) | 2.58 |
| Frame age at completion median / p95 (s) | 0.6838 / 0.8888 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Setting | Value |
|---|---|
| Epochs / batch / workers | 60 / 32 / 4 |
| Initialization / input | Pretrained YOLO11n; square 320 training input |
| Optimizer / initial LR / weight decay | AdamW / 0.001 / 0.0005 |
| Cosine final LR fraction / warmup | 0.01 / 3 epochs |
| Momentum / warmup momentum | 0.937 / 0.8 |
| Warmup bias LR / nominal batch | 0.1 / 64 |
| Setting | Value |
|---|---|
| Segmenter epochs / batch / workers | 50 / 16 / 4 |
| Decoder / input | 64 channels; |
| Optimizer / LR / weight decay | AdamW / 0.0003 / 0.0001 |
| Schedule / loss | Cosine ; CE + Dice (coefficient 1) |
| Ignore label / seed / AMP | 255 / 42 / enabled |
| Training loader | Shuffled; incomplete final batch dropped |
| Setting | Value / scope |
|---|---|
| Mass / equilibrium height | 12.4 kg / 0.177 m; uncalibrated model |
| Heave stiffness / damping | 650 / 90; simulator coefficient units |
| Roll-pitch restoring / damping | 90 / 24; simulator coefficient units |
| Surge linear / quadratic drag | 4 / 20 |
| Sway linear / quadratic drag | 20 / 80 |
| Yaw linear / quadratic drag | 4 / 25 |
Robotics
Robotics studies the design and control of machines that perceive, move, and act in physical environments.
See all 755 papers