TEED Tiny

Click a block to read its description, or select it with Tab and Enter.

TEED TinyEdge probability, input3 × 352 × 352 RGB, native eval. Shapes exclude batch.LibreYOLOTEED TinyEdge probability, input3 × 352 × 352 RGB, native eval. Shapes exclude batch.Feature pathRGB toBGR, multiply255Subtract BGR means103.939,116.779,123.68Conv2d 3×3, stride23 to16; padding1;176 × 176SmishConv2d 3×316 to16; s1,p1Smish: B116 × 176 × 176Conv2d 3×316 to32; s1,p1SmishConv2d 3×3: B232 × 176 × 176; no final activationMaxPool3×3,stride2: D232 × 88 × 88; padding1B1/B2/D2 labels are named continuations into branches.Residual branch and dense blockConv2d1×1 fromB116 to32; stride2; S1:32×88×88D232 × 88 × 88+Conv2d1×1 fromD232 to48; stride1; residual RDenseBlock, n=1Primary:add(32ch), residual:R(48ch)B3 feature48 × 88 × 88Dense residual R is projected from D2 before summation.Unlike DexiNed, TEED uses Smish and omits BatchNorm.Three side heads and fusionUpConvBlock fromB116 input channels; 1 upsample stepsSide logit L11 × 352 × 352UpConvBlock fromB232 input channels; 1 upsample stepsSide logit L21 × 352 × 352UpConvBlock fromB348 input channels; 2 upsample stepsSide logit L31 × 352 × 352L1L2L3Concat three side logits3 × 352 × 352DoubleFusion1 × 352 × 352 fused logitsSigmoid1 × 352 × 352 edge probabilityCore side logits remain available before wrapper selection.Dense layer: first 32 to48, repeat 48 to48Primary feature PFirst layer 32 channels; later 48SmishBefore first convolutionConv2d 3×332 to48 first; 48 to48 later; padding2SmishConv2d 3×348 to48; padding0+R48 chMultiply0.5Return (new primary, unchanged residual R); n=1Padding2 expands by2; padding0 restores the original grid.DoubleFusionConcat side logits3 × 352 × 352SmishGroupedConv2d3×33 to24;groups3;s1,p1; multiplier8SmishDepthwiseConv2d3×324 channels/groups;s1,p1+Sum along24 channels1 × 352 × 352SmishFused edge logitsPixelShuffle(1) is identity and has no spatial effect.SmishInput xSigmoidAdd scalar1Natural logarithmTanh×Smish(x) = x × tanh(log(1 + sigmoid(x))).Side head 1: input 16, steps 1Conv2d 1×116 to1; bias=TrueSmishConvTranspose2d 2×21 channels; stride2,padding0Every step doubles height/width; final output is1 channel.Side head 2: input 32, steps 1Conv2d 1×132 to1; bias=TrueSmishConvTranspose2d 2×21 channels; stride2,padding0Every step doubles height/width; final output is1 channel.Side head 3: input 48, steps 2Conv2d 1×148 to16; bias=TrueSmishConvTranspose2d 4×416 channels; stride2,padding1Conv2d 1×116 to1; bias=TrueSmishConvTranspose2d 4×41 channels; stride2,padding1Every step doubles height/width; final output is1 channel.Source: libreyolo/models/teed/nn.py and model.py. Revision a4d0ecc9e17f.libreyolo.com