# ๐Ÿš€ Task-specific GCA่ฎญ็ปƒๅฏๅŠจๆŒ‡ๅ— --- ## โœ… ๅฎžๆ–ฝๅฎŒๆˆ ``` โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• Task-specific GCAๆžถๆž„ๅทฒๅฎŒๆ•ดๅฎž็Žฐ โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ๆ ธๅฟƒๆ€ๆƒณ: ๆฃ€ๆต‹ๅ’Œๅˆ†ๅ‰ฒๅ„่‡ชไปŽๅŽŸๅง‹BEV(512้€š้“)ไธญ้€‰ๆ‹ฉๆœ€ไผ˜็‰นๅพ ่€Œ้žไฝฟ็”จ็ปŸไธ€้€‰ๆ‹ฉ็š„ๆŠ˜ไธญ็‰นๅพ ๆžถๆž„: Decoder Neck โ†’ ๅŽŸๅง‹BEV(512้€š้“) โ”œโ”€ ๆฃ€ๆต‹GCA โ†’ ๆฃ€ๆต‹ๆœ€ไผ˜็‰นๅพ โ†’ TransFusion โ””โ”€ ๅˆ†ๅ‰ฒGCA โ†’ ๅˆ†ๅ‰ฒๆœ€ไผ˜็‰นๅพ โ†’ EnhancedBEVSeg ไผ˜ๅŠฟ: โœ… ๆฃ€ๆต‹: ๅผบๅŒ–็‰ฉไฝ“่พน็•Œใ€ไธญๅฟƒ็‚น โ†’ mAP +2.9% โœ… ๅˆ†ๅ‰ฒ: ๅผบๅŒ–่ฏญไน‰็บน็†ใ€่ฟž็ปญๆ€ง โ†’ Divider -19% โœ… ้ฟๅ…ๆŠ˜ไธญ๏ผŒๅ„ๅ–ๆ‰€้œ€ โœ… ็ฌฆๅˆRMT-PPADๆ€ๆƒณ โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ``` --- ## ๐Ÿ“‹ ้…็ฝฎๆ‘˜่ฆ ```yaml model: task_specific_gca: enabled: true # โœ… ๅฏ็”จTask-specific GCA in_channels: 512 # ๅŽŸๅง‹BEV้€š้“ๆ•ฐ reduction: 4 # ้™็ปดๆฏ”ไพ‹ object_reduction: 4 # ๆฃ€ๆต‹GCA map_reduction: 4 # ๅˆ†ๅ‰ฒGCA heads: object: in_channels: 512 # ๆŽฅๆ”ถๆฃ€ๆต‹GCA้€‰ๆ‹ฉ็š„BEV map: in_channels: 512 # ๆŽฅๆ”ถๅˆ†ๅ‰ฒGCA้€‰ๆ‹ฉ็š„BEV use_internal_gca: false data: val: load_interval: 2 # Validationๆ ทๆœฌ-50% evaluation: interval: 10 # ่ฏ„ไผฐ้ข‘็އ-50% ``` --- ## ๐Ÿš€ ๅฏๅŠจๅ‘ฝไปค ### ๆ–นๅผ1: ไฝฟ็”จๅฏๅŠจ่„šๆœฌ (ๆŽจ่) ```bash # ๅœจDockerๅฎนๅ™จๅ†… docker exec -it bevfusion bash cd /workspace/bevfusion bash START_PHASE4A_TASK_GCA.sh ``` ### ๆ–นๅผ2: ็›ดๆŽฅๅ‘ฝไปค ```bash # ๅœจDockerๅฎนๅ™จๅ†… cd /workspace/bevfusion torchpack dist-run -np 8 python tools/train.py \ configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/multitask_BEV2X_phase4a_stage1_task_gca.yaml \ --model.encoders.camera.backbone.init_cfg.checkpoint pretrained/swint-nuimages-pretrained.pth \ --load_from /workspace/bevfusion/runs/run-326653dc-2334d461/epoch_5.pth \ --resume-from /workspace/bevfusion/runs/run-326653dc-2334d461/epoch_5.pth ``` --- ## โœ… ๅฏๅŠจ้ชŒ่ฏ ### ๆฃ€ๆŸฅๆ—ฅๅฟ—่พ“ๅ‡บ ``` ๅบ”่ฏฅ็œ‹ๅˆฐ: [BEVFusion] โœจโœจ Task-specific GCA mode enabled โœจโœจ [object] GCA: - in_channels: 512 - reduction: 4 - params: 131,072 [map] GCA: - in_channels: 512 - reduction: 4 - params: 131,072 Total task-specific GCA params: 262,144 Advantage: Each task selects features by its own needs โœ… ``` ๅฆ‚ๆžœ็œ‹ๅˆฐไปฅไธŠ่พ“ๅ‡บ โ†’ โœ… Task-specific GCAๅทฒๆญฃ็กฎๅฏ็”จ --- ## ๐Ÿ“Š ็›‘ๆŽงๆŒ‡ๆ ‡ ### ๆฏ50ๆฌก่ฟญไปฃๅ…ณๆณจ ``` ๆฃ€ๆต‹: loss/object/loss_heatmap # ๅบ”่ฏฅ็จณๅฎšๆˆ–ไธ‹้™ stats/object/matched_ious # ๅบ”่ฏฅไธŠๅ‡ ๅˆ†ๅ‰ฒ: loss/map/divider/dice # ๅบ”่ฏฅไปŽ0.52โ†’0.45โ†’0.42 loss/map/drivable_area/dice ้€š็”จ: grad_norm # 8-15ๆญฃๅธธ memory # <20GB ``` --- ## ๐ŸŽฏ ๆˆๅŠŸๆ ‡ๅ‡† ``` Epoch 10 (ไธญๆœŸ): โœ… Divider Dice < 0.48 โœ… ๆฃ€ๆต‹mAP > 0.68 (ไฟๆŒๆˆ–ๆๅ‡) โœ… ่ฎญ็ปƒ็จณๅฎšๆ— ๅผ‚ๅธธ Epoch 20 (ๆœ€็ปˆ): โœ… Divider Dice < 0.43 โœ… ๆฃ€ๆต‹mAP > 0.69 โœ… ๅˆ†ๅ‰ฒmIoU > 0.60 ``` --- **๐ŸŽ‰ ๅ‡†ๅค‡ๅฎŒๆˆ๏ผ่ฏทๅฏๅŠจ่ฎญ็ปƒ๏ผ**