{"record":{"id":"382d2980af612b8b","repo":"open-mmlab/mmdetection","slug":"regression-head-is-not-supported-yet","errorCode":null,"errorMessage":"Regression head is not supported yet.","messagePattern":"Regression head is not supported yet\\.","errorType":"validation","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"mmdet/models/tracking_heads/quasi_dense_track_head.py","lineNumber":33,"sourceCode":"    \"\"\"The quasi-dense track head.\"\"\"\n\n    def __init__(self,\n                 roi_extractor: Optional[dict] = None,\n                 embed_head: Optional[dict] = None,\n                 regress_head: Optional[dict] = None,\n                 train_cfg: Optional[dict] = None,\n                 test_cfg: Optional[dict] = None,\n                 init_cfg: Optional[dict] = None,\n                 **kwargs):\n        super().__init__(init_cfg=init_cfg)\n        self.train_cfg = train_cfg\n        self.test_cfg = test_cfg\n\n        if embed_head is not None:\n            self.init_embed_head(roi_extractor, embed_head)\n\n        if regress_head is not None:\n            raise NotImplementedError('Regression head is not supported yet.')\n\n        self.init_assigner_sampler()\n\n    def init_embed_head(self, roi_extractor, embed_head) -> None:\n        \"\"\"Initialize ``embed_head``\n\n        Args:\n            roi_extractor (dict, optional): Configuration of roi extractor.\n                Defaults to None.\n            embed_head (dict, optional): Configuration of embed head. Defaults\n                to None.\n        \"\"\"\n        self.roi_extractor = MODELS.build(roi_extractor)\n        self.embed_head = MODELS.build(embed_head)\n\n    def init_assigner_sampler(self) -> None:\n        \"\"\"Initialize assigner and sampler.\"\"\"\n        self.bbox_assigner = None","sourceCodeStart":15,"sourceCodeEnd":51,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/tracking_heads/quasi_dense_track_head.py#L15-L51","documentation":"QuasiDenseTrackHead implements embedding-based matching only; the regress_head argument exists for interface parity with other track heads but a non-None value raises NotImplementedError because box regression for tracking is unimplemented.","triggerScenarios":"QuasiDenseTrackHead(embed_head=..., regress_head=dict(...)) — i.e. passing any regress_head config, e.g. copied from a QDTrack config variant that included regression.","commonSituations":"Copying the QDTrack paper's full config (which includes a regression branch) or adapting a two-stage head config into QuasiDenseTrackHead.","solutions":["Remove regress_head from the QuasiDenseTrackHead config (set to None / omit it)","If you truly need joint detection+embedding regression, subclass and implement the regression branch yourself"],"exampleFix":"# before\ntrack_head=dict(type='QuasiDenseTrackHead',\n    embed_channels=256, regress_head=dict(type='Shared2FCBBoxHead'))\n# after\ntrack_head=dict(type='QuasiDenseTrackHead',\n    embed_channels=256)  # no regress_head","handlingStrategy":"validation","validationCode":"assert not cfg['track_head'].get('regress_head'), \\\n    'QuasiDenseTrackHead does not support regress_head'","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Omit regress_head from QDTrack-style configs","Check NotImplementedError capability flags before porting configs from the original QDTrack repo"],"tags":["mmdetection","tracking","qdtrack","not-implemented"],"backgroundTag":"unsupported-feature","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}