Ի՞նչ է 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 և այլք: