TEED Tiny
Fit diagram
Read at 100%
Clear selection
Download SVG
Download PNG
Click a block to read its description, or select it with Tab and Enter.
TEED Tiny
Edge probability, input3 × 352 × 352 RGB, native eval. Shapes exclude batch.
LibreYOLO
TEED Tiny
Edge probability, input3 × 352 × 352 RGB, native eval. Shapes exclude batch.
Feature path
RGB toBGR, multiply255
Subtract BGR means103.939,116.779,123.68
Conv2d 3×3, stride2
3 to16; padding1;176 × 176
Smish
Conv2d 3×3
16 to16; s1,p1
Smish: B1
16 × 176 × 176
Conv2d 3×3
16 to32; s1,p1
Smish
Conv2d 3×3: B2
32 × 176 × 176; no final activation
MaxPool3×3,stride2: D2
32 × 88 × 88; padding1
B1/B2/D2 labels are named continuations into branches.
Residual branch and dense block
Conv2d1×1 fromB1
16 to32; stride2; S1:32×88×88
D2
32 × 88 × 88
+
Conv2d1×1 fromD2
32 to48; stride1; residual R
DenseBlock, n=1
Primary:add(32ch), residual:R(48ch)
B3 feature
48 × 88 × 88
Dense residual R is projected from D2 before summation.
Unlike DexiNed, TEED uses Smish and omits BatchNorm.
Three side heads and fusion
UpConvBlock fromB1
16 input channels; 1 upsample steps
Side logit L1
1 × 352 × 352
UpConvBlock fromB2
32 input channels; 1 upsample steps
Side logit L2
1 × 352 × 352
UpConvBlock fromB3
48 input channels; 2 upsample steps
Side logit L3
1 × 352 × 352
L1
L2
L3
Concat three side logits
3 × 352 × 352
DoubleFusion
1 × 352 × 352 fused logits
Sigmoid
1 × 352 × 352 edge probability
Core side logits remain available before wrapper selection.
Dense layer: first 32 to48, repeat 48 to48
Primary feature P
First layer 32 channels; later 48
Smish
Before first convolution
Conv2d 3×3
32 to48 first; 48 to48 later; padding2
Smish
Conv2d 3×3
48 to48; padding0
+
R
48 ch
Multiply0.5
Return (new primary, unchanged residual R); n=1
Padding2 expands by2; padding0 restores the original grid.
DoubleFusion
Concat side logits
3 × 352 × 352
Smish
GroupedConv2d3×3
3 to24;groups3;s1,p1; multiplier8
Smish
DepthwiseConv2d3×3
24 channels/groups;s1,p1
+
Sum along24 channels
1 × 352 × 352
Smish
Fused edge logits
PixelShuffle(1) is identity and has no spatial effect.
Smish
Input x
Sigmoid
Add scalar1
Natural logarithm
Tanh
×
Smish(x) = x × tanh(log(1 + sigmoid(x))).
Side head 1: input 16, steps 1
Conv2d 1×1
16 to1; bias=True
Smish
ConvTranspose2d 2×2
1 channels; stride2,padding0
Every step doubles height/width; final output is1 channel.
Side head 2: input 32, steps 1
Conv2d 1×1
32 to1; bias=True
Smish
ConvTranspose2d 2×2
1 channels; stride2,padding0
Every step doubles height/width; final output is1 channel.
Side head 3: input 48, steps 2
Conv2d 1×1
48 to16; bias=True
Smish
ConvTranspose2d 4×4
16 channels; stride2,padding1
Conv2d 1×1
16 to1; bias=True
Smish
ConvTranspose2d 4×4
1 channels; stride2,padding1
Every step doubles height/width; final output is1 channel.
Source: libreyolo/models/teed/nn.py and model.py. Revision a4d0ecc9e17f.
libreyolo.com