Sobes.tech
Middle — Senior

Ի՞նչ է GIoU, DIoU, CIoU կորուստը։

sobes.tech AI

Պատասխան AI-ից

GIoU (Համընդհանուր Կտրումի և Միության), DIoU (Աշխարհից Կտրումի և Միության) և CIoU (Ամբողջական Կտրումի և Միության) կորուստային ֆունկցիաներ են, որոնք օգտագործվում են օբյեկտների հայտնաբերման խնդիրներում՝ սահմանափակող տուփերի (bounding boxes) կանխատեսման որակը բարելավելու համար:

  • IoU չափում է երկու տուփերի հատման և միավորման չափը, բայց չի հաշվի առնում նրանց միջև հեռավորությունը, ինչը կարող է առաջացնել խնդիրներ, երբ տուփերը չեն հատվում:

  • GIoU ընդլայնում է IoU-ն՝ ավելացնելով պատժամիջոց հեռավորության համար, հաշվի առնելով երկու տուփերի ամենափոքր շրջապատող ուղղանկյունը, ինչը օգնում է բարելավել գրաֆտենտները, երբ հատում չկա:

  • DIoU հաշվում է ոչ միայն հատման մակերեսը, այլ նաև կենտրոնների միջև հեռավորությունը, ինչը արագացնում է կոնվերգենցիան և բարելավում ճշգրտությունը:

  • CIoU ավելին՝ հաշվում է նաև տուփերի կողմերի հարաբերակցությունը, ինչը օգնում է կանխատեսել ավելի ճշգրիտ և պրոպորցիոնալ սահմանափակող տուփեր:

Օրինակ՝ CIoU կորուստի օգտագործումը PyTorch-ում (պարզեցված):

import torch

def ciou_loss(pred_boxes, target_boxes):
    # pred_boxes և target_boxes: [x կենտրոն, y կենտրոն, լայնություն, բարձրություն]
    # Հաշվարկ IoU, կենտրոնների միջև հեռավորություն և կողմերի հարաբերակցություն
    # Վերադարձնում է CIoU կորուստի արժեքը
    pass  # Իրականացումը կախված է կոնկրետ խնդրից

Այս կորուստային ֆունկցիաները օգնում են բարելավել օբյեկտների տեղաշարժի որակը ժամանակակից հայտնաբերման համակարգերում՝ ինչպիսիք են YOLOv4 և այլք: