Sobes.tech
Middle — Senior

GIoU, DIoU, CIoU жоготуулары эмне?

sobes.tech AI

AIден жооп

GIoU (Жалпы Кесүү жана Бирдик), DIoU (Алыстык Кесүү жана Бирдик) жана CIoU (Толук Кесүү жана Бирдик) — бул объекттерди аныктоо тапшырмаларында колдонулган жоготуунун функциялары, ал чектөө кутуларынын (bounding boxes) алдын ала айкындоонун сапатын жакшыртат.

  • IoU эки кутунун кесилишүүсү жана бирикмесин өлчөйт, бирок алардын ортосундагы аралыкты эске албайт, бул кесилишпеген түз бурчтарда көйгөйлөрдү жаратышы мүмкүн.

  • GIoU IoU'ну кеңейтет, эки кутунун ортосундагы аралыкка жазаны кошот, ал эки кутуны камтыган эң кичинекей чектөөчү түз бурчту эске алат. Бул кесилишпеген учурда градиенттерди жакшыртат.

  • DIoU гана кесилишүүнүн аянтына эмес, ошондой эле кутулардын борборлору арасындагы аралыкты эске алат, бул жакындаштырууну тездетет жана тактыкты жогорулатат.

  • CIoU ошондой эле кутулардын тараптардын катышын эске алат, бул так жана пропорционал чектөөчү кутулардын алдын ала айкындоосуна жардам берет.

PyTorch'то CIoU жоготуусунун мисалы (жөнөкөйлөштүрүлгөн):

import torch

def ciou_loss(pred_boxes, target_boxes):
    # pred_boxes жана target_boxes: [x борбор, y борбор, туурасы, бийиктиги]
    # IoU, борборлор арасындагы аралык жана тараптар катышы эсептелет
    # CIoU жоготуусунун маанисин кайтарат
    pass  # Ишке ашыруу конкрет тапшырга көз каранды

Бул жоготуунун функциялары заманбап детекторлордо объекттердин жайгашуусунун сапатын жакшыртууга жардам берет, мисалы YOLOv4 жана башка.