ข่าว:
repo นี้เป็น codebase ของโมเดลการตรวจจับร่วมและการฝัง (JDE) JDE เป็นตัวติดตามหลายวัตถุที่รวดเร็วและมีประสิทธิภาพสูงที่เรียนรู้งานตรวจจับวัตถุและงานฝังตัวที่ปรากฏขึ้นพร้อมกันในเครือข่ายประสาทที่ใช้ร่วมกัน รายละเอียดทางเทคนิคอธิบายไว้ในกระดาษ ECCV 2020 ของเรา ด้วยการใช้ repo นี้คุณสามารถบรรลุ MOTA 64%+ ในโปรโตคอล "ส่วนตัว" ของความท้าทาย MOT-16 และด้วยความเร็วใกล้เรียลไทม์ที่ 22 ~ 38 fps (หมายเหตุความเร็วนี้สำหรับระบบทั้งหมดรวมถึง ขั้นตอนการตรวจจับ!
เราหวังว่า repo นี้จะช่วยวิจัย/วิศวกรในการพัฒนาระบบ MOT ที่ใช้งานได้จริงมากขึ้น สำหรับการพัฒนาอัลกอริทึมเราให้ข้อมูลการฝึกอบรมแบบจำลองพื้นฐานและวิธีการประเมินผลเพื่อสร้างสนามเด็กเล่นระดับ สำหรับการใช้งานแอปพลิเคชันเรายังมีการสาธิตวิดีโอขนาดเล็กที่ใช้วิดีโอดิบเป็นอินพุตโดยไม่ต้องระฆังและนกหวีด
pip install motmetrics
)pip install cython_bbox
)การใช้งาน:
python demo.py --input-video path/to/your/input/video --weights path/to/model/weights
--output-format video --output-root path/to/output/root
docker build -t towards-realtime-mot docker/
docker run --rm --gpus all -v $( pwd ) /:/Towards-Realtime-MOT -ti towards-realtime-mot /bin/bash
cd /Towards-Realtime-MOT ;
python demo.py --input-video path/to/your/input/video --weights path/to/model/weights
--output-format video --output-root path/to/output/root
โปรดดู dataSet_zoo.md สำหรับคำอธิบายโดยละเอียดของชุดข้อมูลการฝึกอบรม/การประเมินผล
Darknet-53 Imagenet Pretrained Model: [Darknet Official]
โมเดลที่ผ่านการฝึกอบรมด้วยความละเอียดอินพุตที่แตกต่างกัน:
แบบอย่าง | mota | IDF1 | ids | FP | FN | FPS | การเชื่อมโยง |
---|---|---|---|---|---|---|---|
JDE-1088x608 | 73.1 | 68.9 | 1312 | 6593 | 21788 | 22.2 | [Google] [Baidu] |
JDE-864x480 | 70.8 | 65.8 | 1279 | 5653 | 25806 | 30.3 | [Google] [Baidu] |
JDE-576X320 | 63.7 | 63.3 | 1307 | 6657 | 32794 | 37.9 | [Google] [Baidu] |
ประสิทธิภาพได้รับการทดสอบในชุดฝึกอบรม MOT-16 เพียงเพื่อการอ้างอิง ความเร็วในการทำงานถูกทดสอบบน Nvidia Titan XP GPU สำหรับการเปรียบเทียบที่ครอบคลุมมากขึ้นกับวิธีอื่น ๆ คุณสามารถทดสอบในชุดทดสอบ MOT-16 และส่งผลลัพธ์ไปยังเกณฑ์มาตรฐาน MOT-16 โปรดทราบว่าควรส่งผลลัพธ์ไปยังแทร็กเครื่องตรวจจับส่วนตัว
python track.py --cfg ./cfg/yolov3_1088x608.cfg --weights /path/to/model/weights
โดยค่าเริ่มต้นสคริปต์จะดำเนินการประเมินผลในชุดการฝึกอบรม MOT-16 หากคุณต้องการประเมินในชุดทดสอบโปรดเพิ่ม --test-mot16
ไปยังบรรทัดคำสั่ง ผลลัพธ์จะถูกบันทึกไว้ในไฟล์ข้อความใน $DATASET_ROOT/results/*.txt
นอกจากนี้คุณยังสามารถเพิ่ม --save-images
หรือ --save-videos
เพื่อให้ได้ผลลัพธ์ที่เห็นภาพ ผลลัพธ์ที่เห็นภาพจะถูกบันทึกไว้ใน $DATASET_ROOT/outputs/
cfg/ccmcpe.json
กำหนดค่าชุดฝึกอบรม/การตรวจสอบความถูกต้อง ชุดข้อมูลจะแสดงด้วยรายการรูปภาพโปรดดู data/*.train
ตัวอย่างเช่น CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python train.py
เราใช้ 8x Nvidia Titan XP เพื่อฝึกอบรมแบบจำลองด้วยขนาดแบทช์ 32 คุณสามารถปรับขนาดแบทช์ (และอัตราการเรียนรู้ร่วมกัน) ตามจำนวน GPU ที่คุณมี นอกจากนี้คุณยังสามารถฝึกด้วยขนาดภาพที่เล็กลงซึ่งจะทำให้เวลาการอนุมานเร็วขึ้น แต่สังเกตว่าขนาดภาพดีกว่าที่จะทวีคูณ 32 (อัตราการสุ่มตัวอย่างลง)
การเพิ่มชุดข้อมูลที่กำหนดเองนั้นค่อนข้างง่ายสิ่งที่คุณต้องทำคือจัดระเบียบไฟล์คำอธิบายประกอบของคุณในรูปแบบเดียวกับในชุดการฝึกอบรมของเรา โปรดดูที่ dataSet_zoo.md สำหรับรูปแบบชุดข้อมูล
ส่วนใหญ่ของรหัสถูกยืมมาจาก ultralytics/yolov3 และ longcw/motdt ขอบคุณมากสำหรับงานที่ยอดเยี่ยมของพวกเขา!
หากคุณพบว่า repo นี้มีประโยชน์ในโครงการหรือการวิจัยของคุณโปรดพิจารณาอ้างว่า:
@article{wang2019towards,
title={Towards Real-Time Multi-Object Tracking},
author={Wang, Zhongdao and Zheng, Liang and Liu, Yixuan and Wang, Shengjin},
journal={The European Conference on Computer Vision (ECCV)},
year={2020}
}