Tài liệu tham khảo cho ultralytics/utils/metrics.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/metrics.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.utils.metrics.ConfusionMatrix
Một lớp để tính toán và cập nhật ma trận nhầm lẫn cho các nhiệm vụ phát hiện và phân loại đối tượng.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
task |
str
|
Loại nhiệm vụ, 'phát hiện' hoặc 'phân loại'. |
matrix |
ndarray
|
Ma trận nhầm lẫn, với kích thước tùy thuộc vào nhiệm vụ. |
nc |
int
|
Số lượng lớp học. |
conf |
float
|
Ngưỡng tin cậy để phát hiện. |
iou_thres |
float
|
Nút giao qua ngưỡng Liên minh. |
Mã nguồn trong ultralytics/utils/metrics.py
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 |
|
__init__(nc, conf=0.25, iou_thres=0.45, task='detect')
Khởi tạo các thuộc tính cho YOLO mẫu.
Mã nguồn trong ultralytics/utils/metrics.py
matrix()
plot(normalize=True, save_dir='', names=(), on_plot=None)
Vẽ ma trận nhầm lẫn bằng seaborn và lưu nó vào một tệp.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
normalize |
bool
|
Có nên bình thường hóa ma trận nhầm lẫn hay không. |
True
|
save_dir |
str
|
Thư mục nơi cốt truyện sẽ được lưu. |
''
|
names |
tuple
|
Tên của các lớp, được sử dụng làm nhãn trên cốt truyện. |
()
|
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. |
None
|
Mã nguồn trong ultralytics/utils/metrics.py
print()
process_batch(detections, gt_bboxes, gt_cls)
Cập nhật ma trận nhầm lẫn cho tác vụ phát hiện đối tượng.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
detections |
Array[N, 6] | Array[N, 7]
|
Các hộp giới hạn được phát hiện và thông tin liên quan của chúng.
Mỗi hàng phải chứa (x1, y1, x2, y2, conf, class)
hoặc với một yếu tố bổ sung |
bắt buộc |
gt_bboxes |
Array[M, 4] | Array[N, 5]
|
Các hộp giới hạn sự thật mặt đất với định dạng xyxy / xyxyr. |
bắt buộc |
gt_cls |
Array[M]
|
Nhãn lớp học. |
bắt buộc |
Mã nguồn trong ultralytics/utils/metrics.py
process_cls_preds(preds, targets)
Cập nhật ma trận nhầm lẫn cho nhiệm vụ phân loại.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
preds |
Array[N, min(nc, 5)]
|
Nhãn lớp dự đoán. |
bắt buộc |
targets |
Array[N, 1]
|
Nhãn lớp sự thật cơ bản. |
bắt buộc |
Mã nguồn trong ultralytics/utils/metrics.py
tp_fp()
Trả về dương tính thật và dương tính giả.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.Metric
Căn cứ: SimpleClass
Lớp để tính toán số liệu đánh giá cho YOLOv8 mẫu.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
p |
list
|
Độ chính xác cho từng lớp. Hình dạng: (nc,). |
r |
list
|
Nhớ lại cho mỗi lớp. Hình dạng: (nc,). |
f1 |
list
|
Điểm F1 cho mỗi lớp. Hình dạng: (nc,). |
all_ap |
list
|
Điểm AP cho tất cả các lớp và tất cả các ngưỡng IoU. Hình dạng: (nc, 10). |
ap_class_index |
list
|
Chỉ số lớp cho mỗi điểm AP. Hình dạng: (nc,). |
nc |
int
|
Số lượng lớp học. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
ap50 |
AP ở ngưỡng IoU là 0,5 cho tất cả các lớp. Returns: Danh sách điểm AP. Hình dạng: (nc,) hoặc []. |
ap |
AP ở ngưỡng IoU từ 0,5 đến 0,95 cho tất cả các lớp. Returns: Danh sách điểm AP. Hình dạng: (nc,) hoặc []. |
mp |
Độ chính xác trung bình của tất cả các lớp. Trả lại: Phao nổi. |
mr |
Có nghĩa là nhớ lại tất cả các lớp. Trả lại: Phao nổi. |
map50 |
AP trung bình ở ngưỡng IoU là 0,5 cho tất cả các lớp. Trả lại: Phao nổi. |
map75 |
AP trung bình ở ngưỡng IoU là 0,75 cho tất cả các lớp. Trả lại: Phao nổi. |
map |
AP trung bình ở ngưỡng IoU từ 0,5 đến 0,95 cho tất cả các lớp. Trả lại: Phao nổi. |
mean_results |
Trung bình của kết quả, trả về mp, mr, map50, map. |
class_result |
Kết quả nhận biết lớp, trả về p[i], r[i], ap50[i], ap[i]. |
maps |
mAP của mỗi lớp. Trả về: Mảng điểm mAP, hình dạng: (nc,). |
fitness |
Mô hình thể dục như một sự kết hợp có trọng số của các số liệu. Trả lại: Phao nổi. |
update |
Cập nhật các thuộc tính chỉ số với kết quả đánh giá mới. |
Mã nguồn trong ultralytics/utils/metrics.py
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 |
|
ap
property
Trả về Độ chính xác Trung bình (AP) ở ngưỡng IoU là 0,5-0,95 cho tất cả các lớp.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
(ndarray, list)
|
Mảng hình dạng (nc,) với các giá trị AP50-95 cho mỗi lớp hoặc danh sách trống nếu không có sẵn. |
ap50
property
Trả về Độ chính xác Trung bình (AP) ở ngưỡng IoU là 0,5 cho tất cả các lớp.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
(ndarray, list)
|
Mảng hình dạng (nc,) với các giá trị AP50 cho mỗi lớp hoặc danh sách trống nếu không có sẵn. |
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
map
property
Trả về Độ chính xác Trung bình (mAP) trung bình trên ngưỡng IoU là 0,5 - 0,95 theo các bước 0,05.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
mAP trên ngưỡng IoU từ 0,5 - 0,95 theo các bước 0,05. |
map50
property
Trả về Độ chính xác Trung bình (mAP) trung bình tại ngưỡng IoU là 0,5.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
mAP ở ngưỡng IoU là 0,5. |
map75
property
Trả về Độ chính xác Trung bình (mAP) trung bình tại ngưỡng IoU là 0,75.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
mAP ở ngưỡng IoU là 0,75. |
maps
property
MAP của từng lớp.
mp
property
Trả về Độ chính xác Trung bình của tất cả các lớp.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
Độ chính xác trung bình của tất cả các lớp. |
mr
property
Trả về Mean Recall của tất cả các lớp.
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
Việc thu hồi trung bình của tất cả các lớp. |
__init__()
Khởi tạo một phiên bản Metric để tính toán các chỉ số đánh giá cho YOLOv8 mẫu.
Mã nguồn trong ultralytics/utils/metrics.py
class_result(i)
fitness()
Mô hình thể dục như một sự kết hợp có trọng số của các số liệu.
mean_results()
update(results)
Cập nhật các chỉ số đánh giá của mô hình với một bộ kết quả mới.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
results |
tuple
|
Một bộ chứa các số liệu đánh giá sau: - p (list): Độ chính xác cho từng lớp. Hình dạng: (nc,). - r (danh sách): Nhớ lại cho từng lớp. Hình dạng: (nc,). - F1 (danh sách): Điểm F1 cho mỗi lớp. Hình dạng: (nc,). - all_ap (danh sách): Điểm AP cho tất cả các lớp và tất cả các ngưỡng IoU. Hình dạng: (nc, 10). - ap_class_index (danh sách): Chỉ số lớp cho từng điểm AP. Hình dạng: (nc,). |
bắt buộc |
Tác dụng phụ
Cập nhật các thuộc tính lớp self.p
, self.r
, self.f1
, self.all_ap
và self.ap_class_index
Dựa
về các giá trị được cung cấp trong results
tuple.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.DetMetrics
Căn cứ: SimpleClass
Lớp này là một lớp tiện ích để tính toán các số liệu phát hiện như độ chính xác, thu hồi và độ chính xác trung bình trung bình (mAP) của một mô hình phát hiện đối tượng.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
save_dir |
Path
|
Một đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. Mặc định là thư mục hiện tại. |
Path('.')
|
plot |
bool
|
Một lá cờ cho biết có nên vẽ các đường cong nhớ lại chính xác cho mỗi lớp hay không. Mặc định là False. |
False
|
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. Mặc định là Không có. |
None
|
names |
tuple of str
|
Một bộ chuỗi đại diện cho tên của các lớp. Mặc định là một bộ trống. |
()
|
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
save_dir |
Path
|
Một đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. |
plot |
bool
|
Một lá cờ cho biết có nên vẽ các đường cong thu hồi chính xác cho mỗi lớp hay không. |
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. |
names |
tuple of str
|
Một bộ chuỗi đại diện cho tên của các lớp. |
box |
Metric
|
Một thể hiện của lớp Metric để lưu trữ kết quả của các chỉ số phát hiện. |
speed |
dict
|
Một từ điển để lưu trữ thời gian thực hiện của các phần khác nhau của quá trình phát hiện. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
process |
Cập nhật kết quả chỉ số với loạt dự đoán mới nhất. |
keys |
Trả về danh sách các khóa để truy cập các chỉ số phát hiện được tính toán. |
mean_results |
Trả về danh sách các giá trị trung bình cho các chỉ số phát hiện được tính toán. |
class_result |
Trả về danh sách các giá trị cho số liệu phát hiện được tính toán cho một lớp cụ thể. |
maps |
Trả về từ điển các giá trị độ chính xác trung bình (mAP) cho các ngưỡng IoU khác nhau. |
fitness |
Tính điểm thể dục dựa trên các chỉ số phát hiện được tính toán. |
ap_class_index |
Trả về danh sách các chỉ số lớp được sắp xếp theo giá trị độ chính xác trung bình (AP) của chúng. |
results_dict |
Trả về một từ điển ánh xạ các khóa số liệu phát hiện đến các giá trị được tính toán của chúng. |
curves |
TODO |
curves_results |
TODO |
Mã nguồn trong ultralytics/utils/metrics.py
792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 |
|
ap_class_index
property
Trả về chỉ số chính xác trung bình cho mỗi lớp.
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về từ điển các số liệu và thống kê hiệu suất được tính toán.
fitness
property
Trả về độ phù hợp của đối tượng hộp.
keys
property
Trả về danh sách các khóa để truy cập các số liệu cụ thể.
maps
property
Trả về điểm Độ chính xác trung bình (mAP) trung bình cho mỗi lớp.
results_dict
property
Trả về từ điển các số liệu và thống kê hiệu suất được tính toán.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Khởi tạo phiên bản DetMetrics với thư mục lưu, cờ lô, hàm gọi lại và tên lớp.
Mã nguồn trong ultralytics/utils/metrics.py
class_result(i)
Trả về kết quả đánh giá hiệu suất của một mô hình phát hiện đối tượng trên một lớp cụ thể.
mean_results()
Tính giá trị trung bình của các đối tượng được phát hiện và trả về độ chính xác, thu hồi, mAP50 và mAP50-95.
process(tp, conf, pred_cls, target_cls)
Xử lý kết quả dự đoán để phát hiện đối tượng và cập nhật số liệu.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.SegmentMetrics
Căn cứ: SimpleClass
Tính toán và tổng hợp các số liệu phát hiện và phân đoạn trên một tập hợp các lớp nhất định.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
save_dir |
Path
|
Đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. Mặc định là thư mục hiện tại. |
Path('.')
|
plot |
bool
|
Có nên lưu các ô phát hiện và phân đoạn hay không. Mặc định là False. |
False
|
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. Mặc định là Không có. |
None
|
names |
list
|
Danh sách tên lớp. Mặc định là một danh sách trống. |
()
|
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
save_dir |
Path
|
Đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. |
plot |
bool
|
Có nên lưu các ô phát hiện và phân đoạn hay không. |
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. |
names |
list
|
Danh sách tên lớp. |
box |
Metric
|
Một thể hiện của lớp Metric để tính toán số liệu phát hiện hộp. |
seg |
Metric
|
Một thể hiện của lớp Metric để tính toán các chỉ số phân đoạn mặt nạ. |
speed |
dict
|
Từ điển để lưu trữ thời gian thực hiện trong các giai đoạn suy luận khác nhau. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
process |
Xử lý số liệu trên tập hợp các dự đoán đã cho. |
mean_results |
Trả về giá trị trung bình của số liệu phát hiện và phân đoạn trên tất cả các lớp. |
class_result |
Trả về số liệu phát hiện và phân đoạn của lớp |
maps |
Trả về điểm Độ chính xác Trung bình (mAP) cho các ngưỡng IoU nằm trong khoảng từ 0,50 đến 0,95. |
fitness |
Trả về điểm thể dục, là một tổ hợp số liệu có trọng số duy nhất. |
ap_class_index |
Trả về danh sách các chỉ số của các lớp được dùng để tính Độ chính xác Trung bình (AP). |
results_dict |
Trả về từ điển chứa tất cả các chỉ số phát hiện và phân đoạn và điểm thể dục. |
Mã nguồn trong ultralytics/utils/metrics.py
893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 |
|
ap_class_index
property
Hộp và khẩu trang có cùng ap_class_index.
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về từ điển các số liệu và thống kê hiệu suất được tính toán.
fitness
property
Nhận điểm thể dục cho cả mô hình hộp phân khúc và giới hạn.
keys
property
Trả về danh sách các khóa để truy cập số liệu.
maps
property
Trả về điểm mAP cho các mô hình phát hiện đối tượng và phân đoạn ngữ nghĩa.
results_dict
property
Trả về kết quả của mô hình phát hiện đối tượng để đánh giá.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Khởi tạo phiên bản SegmentMetrics với thư mục lưu, cờ lô, hàm gọi lại và tên lớp.
Mã nguồn trong ultralytics/utils/metrics.py
class_result(i)
mean_results()
process(tp, tp_m, conf, pred_cls, target_cls)
Xử lý các chỉ số phát hiện và phân đoạn trên tập hợp các dự đoán đã cho.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
tp |
list
|
Danh sách các hộp True Positive. |
bắt buộc |
tp_m |
list
|
Danh sách mặt nạ True Positive. |
bắt buộc |
conf |
list
|
Danh sách điểm tín nhiệm. |
bắt buộc |
pred_cls |
list
|
Danh sách các lớp dự đoán. |
bắt buộc |
target_cls |
list
|
Danh sách các lớp mục tiêu. |
bắt buộc |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.PoseMetrics
Căn cứ: SegmentMetrics
Tính toán và tổng hợp các số liệu phát hiện và đặt số liệu trên một tập hợp các lớp nhất định.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
save_dir |
Path
|
Đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. Mặc định là thư mục hiện tại. |
Path('.')
|
plot |
bool
|
Có nên lưu các ô phát hiện và phân đoạn hay không. Mặc định là False. |
False
|
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. Mặc định là Không có. |
None
|
names |
list
|
Danh sách tên lớp. Mặc định là một danh sách trống. |
()
|
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
save_dir |
Path
|
Đường dẫn đến thư mục nơi các ô đầu ra sẽ được lưu. |
plot |
bool
|
Có nên lưu các ô phát hiện và phân đoạn hay không. |
on_plot |
func
|
Một callback tùy chọn để truyền đường dẫn và dữ liệu của biểu đồ khi chúng được hiển thị. |
names |
list
|
Danh sách tên lớp. |
box |
Metric
|
Một thể hiện của lớp Metric để tính toán số liệu phát hiện hộp. |
pose |
Metric
|
Một thể hiện của lớp Metric để tính toán các chỉ số phân đoạn mặt nạ. |
speed |
dict
|
Từ điển để lưu trữ thời gian thực hiện trong các giai đoạn suy luận khác nhau. |
Phương pháp:
Tên | Sự miêu tả |
---|---|
process |
Xử lý số liệu trên tập hợp các dự đoán đã cho. |
mean_results |
Trả về giá trị trung bình của số liệu phát hiện và phân đoạn trên tất cả các lớp. |
class_result |
Trả về số liệu phát hiện và phân đoạn của lớp |
maps |
Trả về điểm Độ chính xác Trung bình (mAP) cho các ngưỡng IoU nằm trong khoảng từ 0,50 đến 0,95. |
fitness |
Trả về điểm thể dục, là một tổ hợp số liệu có trọng số duy nhất. |
ap_class_index |
Trả về danh sách các chỉ số của các lớp được dùng để tính Độ chính xác Trung bình (AP). |
results_dict |
Trả về từ điển chứa tất cả các chỉ số phát hiện và phân đoạn và điểm thể dục. |
Mã nguồn trong ultralytics/utils/metrics.py
1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 |
|
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về từ điển các số liệu và thống kê hiệu suất được tính toán.
fitness
property
Tính toán số liệu phân loại và tốc độ bằng cách sử dụng targets
và pred
đầu vào.
keys
property
Trả về danh sách các khóa chỉ số đánh giá.
maps
property
Trả về độ chính xác trung bình trung bình (mAP) cho mỗi lớp cho cả phát hiện hộp và tư thế.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Khởi tạo lớp PoseMetrics với đường dẫn thư mục, tên lớp và tùy chọn vẽ.
Mã nguồn trong ultralytics/utils/metrics.py
class_result(i)
mean_results()
process(tp, tp_p, conf, pred_cls, target_cls)
Xử lý các chỉ số phát hiện và đặt ra trên tập hợp các dự đoán đã cho.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
tp |
list
|
Danh sách các hộp True Positive. |
bắt buộc |
tp_p |
list
|
Danh sách các điểm chính True Positive. |
bắt buộc |
conf |
list
|
Danh sách điểm tín nhiệm. |
bắt buộc |
pred_cls |
list
|
Danh sách các lớp dự đoán. |
bắt buộc |
target_cls |
list
|
Danh sách các lớp mục tiêu. |
bắt buộc |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.ClassifyMetrics
Căn cứ: SimpleClass
Lớp để tính toán các số liệu phân loại bao gồm độ chính xác hàng đầu 1 và top 5.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
top1 |
float
|
Độ chính xác top 1. |
top5 |
float
|
Độ chính xác top 5. |
speed |
Dict[str, float]
|
Một từ điển chứa thời gian thực hiện cho mỗi bước trong quy trình. |
Thuộc tính
fitness (phao): Thể lực của người mẫu, tương đương với độ chính xác top 5. results_dict (Dict[str, Union[float, str]]): Một từ điển chứa các chỉ số phân loại và thể dục. keys (List[str]): Danh sách các phím cho results_dict.
Phương pháp:
Tên | Sự miêu tả |
---|---|
process |
Xử lý các mục tiêu và dự đoán để tính toán các chỉ số phân loại. |
Mã nguồn trong ultralytics/utils/metrics.py
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
fitness
property
Trả về trung bình của độ chính xác top 1 và top 5 dưới dạng điểm thể dục.
keys
property
Trả về danh sách các khóa cho thuộc tính results_dict.
results_dict
property
Trả về từ điển với số liệu hiệu suất và điểm thể dục của mô hình.
__init__()
Khởi tạo phiên bản ClassifyMetrics.
process(targets, pred)
Các lớp mục tiêu và các lớp dự đoán.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.OBBMetrics
Căn cứ: SimpleClass
Mã nguồn trong ultralytics/utils/metrics.py
1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 |
|
ap_class_index
property
Trả về chỉ số chính xác trung bình cho mỗi lớp.
curves
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
curves_results
property
Trả về danh sách các đường cong để truy cập các đường cong số liệu cụ thể.
fitness
property
Trả về độ phù hợp của đối tượng hộp.
keys
property
Trả về danh sách các khóa để truy cập các số liệu cụ thể.
maps
property
Trả về điểm Độ chính xác trung bình (mAP) trung bình cho mỗi lớp.
results_dict
property
Trả về từ điển các số liệu và thống kê hiệu suất được tính toán.
class_result(i)
Trả về kết quả đánh giá hiệu suất của một mô hình phát hiện đối tượng trên một lớp cụ thể.
mean_results()
Tính giá trị trung bình của các đối tượng được phát hiện và trả về độ chính xác, thu hồi, mAP50 và mAP50-95.
process(tp, conf, pred_cls, target_cls)
Xử lý kết quả dự đoán để phát hiện đối tượng và cập nhật số liệu.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.bbox_ioa(box1, box2, iou=False, eps=1e-07)
Tính giao điểm trên diện tích box2 cho box1 và box2. Hộp có định dạng x1y1x2y2.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
box1 |
ndarray
|
Một mảng hình dạng numpy (n, 4) đại diện cho n hộp giới hạn. |
bắt buộc |
box2 |
ndarray
|
Một mảng hình dạng numpy (m, 4) đại diện cho m hộp giới hạn. |
bắt buộc |
iou |
bool
|
Tính toán IoU tiêu chuẩn nếu True trả về inter_area/box2_area. |
False
|
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
Một mảng hình dạng numpy (n, m) đại diện cho giao điểm trên khu vực box2. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.box_iou(box1, box2, eps=1e-07)
Tính toán giao điểm trên hợp nhất (IoU) của các hộp. Cả hai bộ hộp dự kiến sẽ ở định dạng (x1, y1, x2, y2). Dựa trên https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
box1 |
Tensor
|
Một tensor có hình dạng (N, 4) đại diện cho N hộp giới hạn. |
bắt buộc |
box2 |
Tensor
|
Một tensor có hình dạng (M, 4) đại diện cho các hộp giới hạn M. |
bắt buộc |
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Một NxM tensor chứa các giá trị IoU theo cặp cho mọi phần tử trong box1 và box2. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.bbox_iou(box1, box2, xywh=True, GIoU=False, DIoU=False, CIoU=False, eps=1e-07)
Tính Giao điểm trên Union (IoU) của box1(1, 4) đến box2(n, 4).
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
box1 |
Tensor
|
Một tensor đại diện cho một hộp giới hạn duy nhất với hình dạng (1, 4). |
bắt buộc |
box2 |
Tensor
|
Một tensor đại diện cho n hộp giới hạn với hình dạng (n, 4). |
bắt buộc |
xywh |
bool
|
Nếu True, các hộp nhập liệu có định dạng (x, y, w, h). Nếu False, các hộp nhập liệu nằm trong Định dạng (x1, y1, x2, y2). Mặc định là True. |
True
|
GIoU |
bool
|
Nếu True, hãy tính IoU tổng quát. Mặc định là False. |
False
|
DIoU |
bool
|
Nếu True, hãy tính IoU khoảng cách. Mặc định là False. |
False
|
CIoU |
bool
|
Nếu True, hãy tính Complete IoU. Mặc định là False. |
False
|
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Các giá trị IoU, GIoU, DIoU hoặc CIoU tùy thuộc vào các cờ được chỉ định. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.mask_iou(mask1, mask2, eps=1e-07)
Tính toán mặt nạ IoU.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
mask1 |
Tensor
|
Một tensor có hình dạng (N, n) trong đó N là số đối tượng chân lý mặt đất và n là sản phẩm có chiều rộng và chiều cao hình ảnh. |
bắt buộc |
mask2 |
Tensor
|
Một tensor hình dạng (M, n) trong đó M là số lượng đối tượng dự đoán và n là sản phẩm có chiều rộng và chiều cao hình ảnh. |
bắt buộc |
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Một tensor có hình dạng (N, M) đại diện cho mặt nạ IoU. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.kpt_iou(kpt1, kpt2, area, sigma, eps=1e-07)
Tính toán độ tương đồng của Object Keypoint (OKS).
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
kpt1 |
Tensor
|
Một tensor hình dạng (N, 17, 3) đại diện cho các điểm mấu chốt của sự thật cơ bản. |
bắt buộc |
kpt2 |
Tensor
|
Một tensor hình dạng (M, 17, 3) đại diện cho các điểm chính dự đoán. |
bắt buộc |
area |
Tensor
|
Một tensor hình dạng (N,) đại diện cho các khu vực từ sự thật mặt đất. |
bắt buộc |
sigma |
list
|
Một danh sách chứa 17 giá trị đại diện cho thang đo điểm chính. |
bắt buộc |
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Một tensor của hình dạng (N, M) đại diện cho sự tương đồng điểm chính. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics._get_covariance_matrix(boxes)
Tạo ma trận hiệp phương sai từ obbs.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
boxes |
Tensor
|
Một tensor hình dạng (N, 5) đại diện cho các hộp giới hạn xoay, với định dạng xywhr. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Ma trận hiệp phương sai tương ứng với các hộp giới hạn xoay ban đầu. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.probiou(obb1, obb2, CIoU=False, eps=1e-07)
Tính toán thăm dò IoU giữa các hộp giới hạn định hướng, https://arxiv.org/pdf/2106.06072v1.pdf.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
obb1 |
Tensor
|
Một tensor của hình dạng (N, 5) đại diện cho obbs sự thật mặt đất, với định dạng xywhr. |
bắt buộc |
obb2 |
Tensor
|
Một tensor hình dạng (N, 5) đại diện cho obb dự đoán, với định dạng xywhr. |
bắt buộc |
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Một tensor của hình dạng (N, ) đại diện cho sự tương đồng obb. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.batch_probiou(obb1, obb2, eps=1e-07)
Tính toán thăm dò IoU giữa các hộp giới hạn định hướng, https://arxiv.org/pdf/2106.06072v1.pdf.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
obb1 |
Tensor | ndarray
|
Một tensor của hình dạng (N, 5) đại diện cho obbs sự thật mặt đất, với định dạng xywhr. |
bắt buộc |
obb2 |
Tensor | ndarray
|
Một tensor hình dạng (M, 5) đại diện cho obb dự đoán, với định dạng xywhr. |
bắt buộc |
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-7. |
1e-07
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Một tensor của hình dạng (N, M) đại diện cho sự tương đồng obb. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.smooth_BCE(eps=0.1)
Tính toán làm mịn các mục tiêu Cross-Entropy nhị phân dương và âm.
Hàm này tính toán các mục tiêu BCE làm mịn nhãn dương và âm dựa trên một giá trị epsilon nhất định. Để biết chi tiết triển khai, hãy tham khảo https://github.com/ultralytics/yolov3/issues/238#issuecomment-598028441.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
eps |
float
|
Giá trị epsilon để làm mịn nhãn. Mặc định là 0,1. |
0.1
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
tuple
|
Một bộ chứa nhãn dương và âm làm mịn các mục tiêu BCE. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.smooth(y, f=0.05)
Bộ lọc hộp của phân số f.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.plot_pr_curve(px, py, ap, save_dir=Path('pr_curve.png'), names=(), on_plot=None)
Vẽ một đường cong thu hồi chính xác.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.plot_mc_curve(px, py, save_dir=Path('mc_curve.png'), names=(), xlabel='Confidence', ylabel='Metric', on_plot=None)
Vẽ đường cong độ tin cậy số liệu.
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.compute_ap(recall, precision)
Tính toán độ chính xác trung bình (AP) cho các đường cong thu hồi và chính xác.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
recall |
list
|
Đường cong thu hồi. |
bắt buộc |
precision |
list
|
Đường cong chính xác. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
float
|
Độ chính xác trung bình. |
ndarray
|
Đường cong phong bì chính xác. |
ndarray
|
Đường cong thu hồi được sửa đổi với các giá trị trọng tâm được thêm vào đầu và cuối. |
Mã nguồn trong ultralytics/utils/metrics.py
ultralytics.utils.metrics.ap_per_class(tp, conf, pred_cls, target_cls, plot=False, on_plot=None, save_dir=Path(), names=(), eps=1e-16, prefix='')
Tính toán độ chính xác trung bình cho mỗi lớp để đánh giá phát hiện đối tượng.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
tp |
ndarray
|
Mảng nhị phân cho biết phát hiện có đúng (True) hay không (False). |
bắt buộc |
conf |
ndarray
|
Mảng điểm tin cậy của các phát hiện. |
bắt buộc |
pred_cls |
ndarray
|
Một loạt các lớp dự đoán của các phát hiện. |
bắt buộc |
target_cls |
ndarray
|
Một loạt các lớp thực sự của các phát hiện. |
bắt buộc |
plot |
bool
|
Có nên vẽ đường cong PR hay không. Mặc định là False. |
False
|
on_plot |
func
|
Một callback để truyền đường dẫn và dữ liệu vẽ khi chúng được hiển thị. Mặc định là Không có. |
None
|
save_dir |
Path
|
Thư mục để lưu các đường cong PR. Mặc định là một đường dẫn trống. |
Path()
|
names |
tuple
|
Tuple tên lớp để vẽ đường cong PR. Mặc định là một bộ trống. |
()
|
eps |
float
|
Một giá trị nhỏ để tránh chia cho không. Mặc định là 1e-16. |
1e-16
|
prefix |
str
|
Một chuỗi tiền tố để lưu các tệp cốt truyện. Mặc định là một chuỗi trống. |
''
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
tuple
|
Một bộ gồm sáu mảng và một mảng các lớp duy nhất, trong đó: tp (np.ndarray): Số dương tính thực sự ở ngưỡng được đưa ra bởi chỉ số F1 tối đa cho mỗi lớp. Hình dạng: (nc,). fp (np.ndarray): Số dương tính giả ở ngưỡng được đưa ra bởi chỉ số F1 tối đa cho mỗi lớp. Hình dạng: (nc,). p (np.ndarray): Giá trị chính xác ở ngưỡng được đưa ra bởi số liệu F1 tối đa cho mỗi lớp. Hình dạng: (nc,). r (np.ndarray): Nhớ lại các giá trị ở ngưỡng được đưa ra bởi chỉ số F1 tối đa cho mỗi lớp. Hình dạng: (nc,). f1 (np.ndarray): Giá trị điểm F1 ở ngưỡng được đưa ra bởi chỉ số F1 tối đa cho mỗi lớp. Hình dạng: (nc,). ap (np.ndarray): Độ chính xác trung bình cho mỗi lớp ở các ngưỡng IoU khác nhau. Hình dạng: (nc, 10). unique_classes (np.ndarray): Một mảng các lớp duy nhất có dữ liệu. Hình dạng: (nc,). p_curve (np.ndarray): Đường cong chính xác cho mỗi lớp. Hình dạng: (nc, 1000). r_curve (np.ndarray): Nhớ lại các đường cong cho mỗi lớp. Hình dạng: (nc, 1000). f1_curve (np.ndarray): Đường cong điểm F1 cho mỗi lớp. Hình dạng: (nc, 1000). x (np.ndarray): Giá trị trục X cho các đường cong. Hình dạng: (1000,). prec_values: Giá trị chính xác ở mức mAP@0,5 cho mỗi lớp. Hình dạng: (nc, 1000). |
Mã nguồn trong ultralytics/utils/metrics.py
529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 |
|