Tài liệu tham khảo cho ultralytics/trackers/bot_sort.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/trình theo dõi/bot_sort.py. Nếu bạn phát hiện ra một vấn đề, vui lòng giúp khắc phục nó bằng cách đóng góp Yêu cầu 🛠️ kéo. Cảm ơn bạn 🙏 !
ultralytics.trackers.bot_sort.BOTrack
Căn cứ: STrack
Một phiên bản mở rộng của lớp STrack cho YOLOv8, thêm tính năng theo dõi đối tượng.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
shared_kalman |
KalmanFilterXYWH
|
Bộ lọc Kalman được chia sẻ cho tất cả các phiên bản của BOTrack. |
smooth_feat |
ndarray
|
Vector tính năng được làm mịn. |
curr_feat |
ndarray
|
Vector tính năng hiện tại. |
features |
deque
|
Một deque để lưu trữ các vectơ tính năng với độ dài tối đa được xác định bởi |
alpha |
float
|
Hệ số làm mịn cho đường trung bình động hàm mũ của các tính năng. |
mean |
ndarray
|
Trạng thái trung bình của bộ lọc Kalman. |
covariance |
ndarray
|
Ma trận hiệp phương sai của bộ lọc Kalman. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
update_features |
Cập nhật tính năng vector và làm mịn nó bằng cách sử dụng đường trung bình động hàm mũ. |
predict |
Dự đoán giá trị trung bình và hiệp phương sai bằng bộ lọc Kalman. |
re_activate |
Kích hoạt lại bản nhạc với các tính năng cập nhật và ID mới tùy chọn. |
update |
Cập nhật YOLOv8 phiên bản với ID theo dõi và khung mới. |
tlwh |
Thuộc tính có được vị trí hiện tại ở định dạng tlwh |
multi_predict |
Dự đoán giá trị trung bình và hiệp phương sai của nhiều rãnh đối tượng bằng cách sử dụng bộ lọc Kalman được chia sẻ. |
convert_coords |
Chuyển đổi tọa độ hộp giới hạn tlwh sang định dạng xywh. |
tlwh_to_xywh |
Chuyển đổi hộp giới hạn sang định dạng xywh |
Sử dụng
bo_track = BOTrack(tlwh, điểm, cls, kỳ tích) bo_track.predict() bo_track.update(new_track, frame_id)
Mã nguồn trong ultralytics/trackers/bot_sort.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
tlwh
property
Nhận vị trí hiện tại ở định dạng hộp giới hạn (top left x, top left y, width, height)
.
__init__(tlwh, score, cls, feat=None, feat_history=50)
Khởi tạo YOLOv8 Đối tượng có tham số thời gian, chẳng hạn như lịch sử tính năng, alpha và các tính năng hiện tại.
Mã nguồn trong ultralytics/trackers/bot_sort.py
convert_coords(tlwh)
multi_predict(stracks)
staticmethod
Dự đoán giá trị trung bình và hiệp phương sai của nhiều rãnh đối tượng bằng cách sử dụng bộ lọc Kalman được chia sẻ.
Mã nguồn trong ultralytics/trackers/bot_sort.py
predict()
Dự đoán giá trị trung bình và hiệp phương sai bằng bộ lọc Kalman.
Mã nguồn trong ultralytics/trackers/bot_sort.py
re_activate(new_track, frame_id, new_id=False)
Kích hoạt lại bản nhạc với các tính năng được cập nhật và tùy chọn gán ID mới.
Mã nguồn trong ultralytics/trackers/bot_sort.py
tlwh_to_xywh(tlwh)
staticmethod
Chuyển đổi hộp giới hạn sang định dạng (center x, center y, width, height)
.
update(new_track, frame_id)
Cập nhật YOLOv8 phiên bản với ID theo dõi và khung mới.
update_features(feat)
Cập nhật tính năng vector và làm mịn nó bằng cách sử dụng đường trung bình động hàm mũ.
Mã nguồn trong ultralytics/trackers/bot_sort.py
ultralytics.trackers.bot_sort.BOTSORT
Căn cứ: BYTETracker
Phiên bản mở rộng của lớp BYTETracker cho YOLOv8, được thiết kế để theo dõi đối tượng với thuật toán ReID và GMC.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
proximity_thresh |
float
|
Ngưỡng cho khoảng cách không gian (IoU) giữa các bản nhạc và phát hiện. |
appearance_thresh |
float
|
Ngưỡng tương tự về ngoại hình (nhúng ReID) giữa các bản nhạc và phát hiện. |
encoder |
object
|
Đối tượng để xử lý nhúng ReID, được đặt thành Không có nếu ReID không được bật. |
gmc |
GMC
|
Một ví dụ của thuật toán GMC để liên kết dữ liệu. |
args |
object
|
Các đối số dòng lệnh được phân tích cú pháp có chứa các tham số theo dõi. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
get_kalmanfilter |
Trả về một thể hiện của KalmanFilterXYWH để theo dõi đối tượng. |
init_track |
Khởi tạo theo dõi với các phát hiện, điểm số và lớp học. |
get_dists |
Nhận khoảng cách giữa các bản nhạc và phát hiện bằng IoU và (tùy chọn) ReID. |
multi_predict |
Dự đoán và theo dõi nhiều đối tượng với YOLOv8 mẫu. |
Sử dụng
bot_sort = BOTSORT(args, frame_rate) bot_sort.init_track (dets, điểm, cls, img) bot_sort.multi_predict(bài hát)
Ghi
Lớp học được thiết kế để làm việc với YOLOv8 mô hình phát hiện đối tượng và chỉ hỗ trợ ReID nếu được bật qua args.
Mã nguồn trong ultralytics/trackers/bot_sort.py
__init__(args, frame_rate=30)
Khởi tạo YOLOv8 đối tượng với mô-đun ReID và thuật toán GMC.
Mã nguồn trong ultralytics/trackers/bot_sort.py
get_dists(tracks, detections)
Nhận khoảng cách giữa các bản nhạc và phát hiện bằng cách sử dụng nhúng IoU và (tùy chọn) ReID.
Mã nguồn trong ultralytics/trackers/bot_sort.py
get_kalmanfilter()
init_track(dets, scores, cls, img=None)
Khởi tạo theo dõi với các phát hiện, điểm số và lớp học.