YOLO26-RGB: repurposing YOLO26's depth-trained backbone for image deraining [P]
YOLO26 ships a depth-estimation model — dense, full-resolution, per-pixel regression, a task architecturally much closer to image restoration than to detection. I wanted to know whether the backbone+neck weights it learns through depth training transfer to a different dense-regression task (deraining), compared with training the same architecture from scratch. The deraining model that came out of it is a useful byproduct, but the transfer result is the part I think is worth discussing. What I inherited from YOLO26-depth The CSPDarknet backbone and PAN-FPN neck, unchanged. The depth decoder's multi-scale fusion (project the P3/P4/P5 pyramid to a common width, progressively upsample-and-add P5→P4→P3). That part isn't depth-specific — it's just feature fusion — so RGBHead reuses it. What I changed / added Replaced the 1-channel Depth head with a new RGBHead . The config change is one line; RGBHead itself is a new restoration decoder, not a re-pointed depth head. Reconstruction tail that continues to full input resolution (deraining needs pixel-exact output; depth stops at 1/4 res). Skip connections from the stride-2 and stride-4 backbone layers into the tail, so fine detail has a path that doesn't route through an 8×-downsampled bottleneck. Residual output — the head predicts a correction added to the input (NAFNet/Restormer-style), not the image directly. LayerNorm in the head's own conv blocks; the backbone and neck stay on BatchNorm (folds into conv at TensorRT export, and keeps the model loadable from the whole YOLO26 pretrained zoo, not just the depth checkpoint). How it was trained and measured ClearView as an external lib — its mixed synthetic+real rain recipe, Charbonnier loss, and 10-test-set protocol — so the numbers land on ClearView's own model-zoo scale, not a benchmark I made up. Released scales: nano (5.25M) and small (12.13M). Loading the YOLO26-depth checkpoint into this architecture matches 468/468 backbone+neck tensors exactly — only the new RGBHead