PicoDet-S

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

PicoDet-S320 × 320 RGB; 80 classes; batch 1. Unfused PyTorch eval; four feature scales.LibreYOLOPicoDet-S320 × 320 RGB; 80 classes; batch 1. Unfused PyTorch eval; four feature scales.ESNet backboneInput3 × 320 × 320ConvBNAct 3×3, s=224 × 160 × 160MaxPool 3×3, s=2, p=124 × 80 × 80Block 0: ESBlockDS; mid=8824 input; 96 × 40 × 40Block 1: ESBlock; mid=4896 input; 96 × 40 × 40Block 2: ESBlock; mid=4896 input; 96 × 40 × 40; output C3Block 3: ESBlockDS; mid=9696 input; 192 × 20 × 20Block 4: ESBlock; mid=120192 input; 192 × 20 × 20Block 5: ESBlock; mid=96192 input; 192 × 20 × 20Block 6: ESBlock; mid=120192 input; 192 × 20 × 20Block 7: ESBlock; mid=96192 input; 192 × 20 × 20Block 8: ESBlock; mid=96192 input; 192 × 20 × 20Block 9: ESBlock; mid=96192 input; 192 × 20 × 20; output C4Block 10: ESBlockDS; mid=192192 input; 384 × 10 × 10Block 11: ESBlock; mid=192384 input; 384 × 10 × 10Block 12: ESBlock; mid=192384 input; 384 × 10 × 10; output C5Downsample blocks: 0,3,10. Outputs: 2,9,12.CSP-PANC3: ConvBNAct 1×196 input; 96 × 40 × 40C4: ConvBNAct 1×1192 input; 96 × 20 × 20C5: ConvBNAct 1×1384 input; 96 × 10 × 10Nearest resize ×296 × 20 × 20Concat with T4192 × 20 × 20CSPLayer, n=196 × 20 × 20Nearest resize ×296 × 40 × 40Concat with T3192 × 40 × 40CSPLayer, n=196 × 40 × 40DepthwiseSeparable 5×5, s=296 × 20 × 20Concat with N4192 × 20 × 20CSPLayer, n=196 × 20 × 20DepthwiseSeparable 5×5, s=296 × 10 × 10Concat with T5192 × 10 × 10CSPLayer, n=196 × 10 × 10T5T4T3N4T5T5: DepthwiseSeparable 5×5, s=296 × 5 × 5P5: DepthwiseSeparable 5×5, s=296 × 5 × 5+P6 output96 × 5 × 5All four CSP neck blocks disable residual addition.PicoHead and decodingOne scale feature96 channels; execute independently at P3/P4/P5/P6DepthwiseSeparable 5×596 channels; stack 2 total layersDepthwiseSeparable 5×596 channels; stack 2 total layersConv2d 1×1112 output channels; bias=TrueSplit channels80 class logits; 32 box-distribution logitsSigmoid class logits80 probabilities/locationSoftmax over 8 bins per sideWeighted expectation of bins 0...7Multiply distances by stride8,16,32,64 pixelsGrid center minus/plus l/t/r/bGrid offset=0.5; xyxy boxesThreshold and class-aware NMSDecode and NMS are outside native raw-head forwardNo separate regression tower or objectness branch.ConvBNActConv2dBias=False; p=k//2; k/stride/groups from occurrenceBatchNorm2deps=.00001; momentum=.1Hardswish or identityIdentity only on marked ES depthwise branchesConvBNAct depthwise k×kgroups=input channels; k=5 in neck/headConvBNAct pointwise 1×1groups=1; output width from occurrenceThe lower pair defines DepthwiseSeparableConv.ESBlockInputCin channelsSplit into two channel halvesA channels each; table resolves AConvBNAct 1×1A input; B output; HardswishConvBNAct depthwise 3×3B channels; groups=B; no activationConcat PW and DW outputsG channelsSELayerG input; R reduced widthConvBNAct 1×1G input; O output; HardswishConcat untouched half and new branchCout channelsReshape1 ×2 ×O ×height ×widthTranspose channel-group axes 1 and 2Make contiguousReshape1 ×Cout ×height ×widthESBlockDSInputCin channels; no channel split before branchesDepthwise 3×3, s=2Cin channels; BN; no activationConvBNAct 1×1Cin input; O output; HardswishConvBNAct 1×1Cin input; B output; HardswishDepthwise 3×3, s=2B channels; BN; no activationSELayerG=B input; R reduced widthConvBNAct 1×1B input; O output; HardswishConcat two downsampled branchesCout channelsConvBNAct depthwise 3×3Cout channels; s=1; BN + HardswishConvBNAct pointwise 1×1Cout channels; BN + HardswishThis downsample block does not apply channel shuffle.SELayerInputG channelsAdaptiveAvgPool2d1 ×1 spatial outputConv2d 1×1G input; R output; bias=TrueReLUConv2d 1×1R input; G output; bias=TrueHSigmoid (custom)clamp((x+3)/6,0,6); range[0,6]Multiply original feature by gateBroadcast across spatial positionsThis source gate is not the standard [0,1] hardsigmoid.CSPLayerInput192 channelsConvBNAct 1×148 channelsConvBNAct 1×148 channelsDarknetBottleneck, n=1No residual; hidden 48Concat96 channelsConvBNAct 1×196 output channelsDarknetBottleneckInput48 channelsConvBNAct 1×1Width unchangedDepthwiseSeparable 5×5Width unchanged; BN and Hardswish after both convsNo residual addition in the configured PicoDet CSP-PAN.Per-block width and resolution valuesBlockCinCoutMid MABGROGridType0249688244444114840DS1969648482448124840ES2969648482448124840ES39619296964848129620DS41921921209660120309620ES519219296964896249620ES61921921209660120309620ES719219296964896249620ES819219296964896249620ES919219296964896249620ES1019238419219296962419210DS11384384192192961924819210ES12384384192192961924819210ESSource: models/picodet/nn.py; postprocess/picodet.py. Revision a4d0ecc9e17f.libreyolo.com