рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

Ultralytics YOLOv5 рд╕реНтАНрдерд╛рдкрддреНтАНрдпрд╢реИрд▓реА

YOLOv5 (v6.0/6.1) рдХрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ? Ultralytics. рдпрд╣ рд▓реЗрдЦ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ YOLOv5 рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдбреЗрдЯрд╛ рд╡реГрджреНрдзрд┐ рд░рдгрдиреАрддрд┐рдпрд╛рдБ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрджреНрдзрддрд┐рдпрд╛рдБ рдФрд░ рд╣рд╛рдирд┐ рдЧрдгрдирд╛ рддрдХрдиреАрдХред рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд╕рдордЭ рдирд┐рдЧрд░рд╛рдиреА, рд╕реНрд╡рд╛рдпрддреНрдд рд╡рд╛рд╣рдиреЛрдВ рдФрд░ рдЫрд╡рд┐ рдкрд╣рдЪрд╛рди рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдЖрдкрдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред

1. рдореЙрдбрд▓ рд╕рдВрд░рдЪрдирд╛

YOLOv5рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рддреАрди рдореБрдЦреНрдп рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:

  • рдореЗрд░реБрджрдВрдб: рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд╣реИред рдХреЗ рд▓рд┐рдП YOLOv5, рд░реАрдврд╝ рдХреА рд╣рдбреНрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ New CSP-Darknet53 рд╕рдВрд░рдЪрдирд╛, рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбрд╛рд░реНрдХрдиреЗрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрдиред
  • рдЧрд░рджрди: рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд░реАрдврд╝ рдФрд░ рд╕рд┐рд░ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореЗрдВ YOLOv5, SPPF рдФрд░ New CSP-PAN рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рд┐рд░: рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред YOLOv5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ YOLOv3 Head рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдПред

рдореЙрдбрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЙрдбрд▓ рд╕рдВрд░рдЪрдирд╛ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ yolov5l.yaml.

yolov5

YOLOv5 рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ:

  1. рд╡рд╣реА Focus рд╕рдВрд░рдЪрдирд╛, рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ 6x6 Conv2d рд╕реБрд╡реНтАНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рджрдХреНрд╖рддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ #4825.
  2. рд╡рд╣реА SPP рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ SPPF. рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЧрддрд┐ рдХреЛ рджреЛрдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХрд░рддрд╛ рд╣реИред

рдХреА рдЧрддрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SPP рдФрд░ SPPF, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдПрд╕рдкреАрдкреА рдмрдирд╛рдо рдПрд╕рдкреАрдкреАрдПрдл рд╕реНрдкреАрдб рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг (рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)
import time
import torch
import torch.nn as nn


class SPP(nn.Module):
    def __init__(self):
        super().__init__()
        self.maxpool1 = nn.MaxPool2d(5, 1, padding=2)
        self.maxpool2 = nn.MaxPool2d(9, 1, padding=4)
        self.maxpool3 = nn.MaxPool2d(13, 1, padding=6)

    def forward(self, x):
        o1 = self.maxpool1(x)
        o2 = self.maxpool2(x)
        o3 = self.maxpool3(x)
        return torch.cat([x, o1, o2, o3], dim=1)


class SPPF(nn.Module):
    def __init__(self):
        super().__init__()
        self.maxpool = nn.MaxPool2d(5, 1, padding=2)

    def forward(self, x):
        o1 = self.maxpool(x)
        o2 = self.maxpool(o1)
        o3 = self.maxpool(o2)
        return torch.cat([x, o1, o2, o3], dim=1)


def main():
    input_tensor = torch.rand(8, 32, 16, 16)
    spp = SPP()
    sppf = SPPF()
    output1 = spp(input_tensor)
    output2 = sppf(input_tensor)

    print(torch.equal(output1, output2))

    t_start = time.time()
    for _ in range(100):
        spp(input_tensor)
    print(f"SPP time: {time.time() - t_start}")

    t_start = time.time()
    for _ in range(100):
        sppf(input_tensor)
    print(f"SPPF time: {time.time() - t_start}")


if __name__ == '__main__':
    main()
рдкрд░рд┐рдгрд╛рдо:
True
SPP time: 0.5373051166534424
SPPF time: 0.20780706405639648

2. рдбреЗрдЯрд╛ рд╡реГрджреНрдзрд┐ рддрдХрдиреАрдХ

YOLOv5 рдУрд╡рд░рдлрд┐рдЯрд┐рдВрдЧ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╡реГрджреНрдзрд┐ рддрдХрдиреАрдХреЛрдВ рдХреЛ рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрди рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдореЛрдЬрд╝реЗрдХ рдСрдЧреНрдореЗрдВрдЯреЗрд╢рди: рдПрдХ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рддрдХрдиреАрдХ рдЬреЛ рдЪрд╛рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рддреА рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдХреЗрд▓ рдФрд░ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИред

рдореЛрдЬреЗрд╝рдХ

  • рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдСрдЧреНрдореЗрдВрдЯреЗрд╢рди: рдПрдХ рдЕрднрд┐рдирд╡ рдбреЗрдЯрд╛ рд╡реГрджреНрдзрд┐ рд╡рд┐рдзрд┐ рдЬреЛ рдПрдХ рдЫрд╡рд┐ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреИрдЪ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЪреБрдиреА рдЧрдИ рдЫрд╡рд┐ рдкрд░ рдЪрд┐рдкрдХрд╛рддреА рд╣реИ, рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ рдирдпрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред

рдХреЙрдкреА-рдкреЗрд╕реНрдЯ

  • рд░реИрдВрдбрдо рдПрдлрд┐рди рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди: рдЗрд╕рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реЛрдЯреЗрд╢рди, рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рдЕрдиреБрд╡рд╛рдж рдФрд░ рдмрд╛рд▓ рдХрд╛рдЯрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ-affine

  • рдорд┐рдХреНрд╕рдЕрдк рдСрдЧреНрдореЗрдВрдЯреЗрд╢рди: рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛ рджреЛ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдмрд▓ рдХрд╛ рд░реИрдЦрд┐рдХ рд╕рдВрдпреЛрдЬрди рд▓реЗрдХрд░ рд╕рдордЧреНрд░ рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рддреА рд╣реИред

рдорд┐рдХреНрд╕рдЕрдк

  • рдПрд▓реНрдмрдордореЗрдВрдЯреЗрд╢рди: рдЫрд╡рд┐ рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡реГрджреНрдзрд┐ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

  • рдПрдЪрдПрд╕рд╡реА рд╡реГрджреНрдзрд┐: рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд░рдВрдЧ, рд╕рдВрддреГрдкреНрддрд┐ рдФрд░ рдореВрд▓реНрдп рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиред

рдПрдЪрдПрд╕рд╡реА

  • рд░реИрдВрдбрдо рд╣реЙрд░рд┐рдЬреЙрдиреНрдЯрд▓ рдлреНрд▓рд┐рдк: рдПрдХ рдСрдЧреНрдореЗрдВрдЯреЗрд╢рди рд╡рд┐рдзрд┐ рдЬреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдлрд╝реНрд▓рд┐рдк рдХрд░рддреА рд╣реИред

рдХреНрд╖реИрддрд┐рдЬ-рдлреНрд▓рд┐рдк

3. рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░рдгрдиреАрддрд┐рдпрд╛рдБ

YOLOv5 рдореЙрдбрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкрд░рд┐рд╖реНрдХреГрдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЙрдирдореЗ рд╢рд╛рдорд┐рд▓ рд╣реИ:

  • рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рдЯреНрд░реЗрдирд┐рдВрдЧ: рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЗрдирдкреБрдЯ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдореВрд▓ рдЖрдХрд╛рд░ рдХреЗ 0.5 рд╕реЗ 1.5 рдЧреБрдирд╛ рдХреА рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд░реАрд╕реНрдХреЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдСрдЯреЛрдПрдВрдХрд░: рдпрд╣ рд░рдгрдиреАрддрд┐ рдЖрдкрдХреЗ рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛ рдореЗрдВ рдЬрдореАрдиреА рд╕рдЪреНрдЪрд╛рдИ рдмрдХреНрд╕реЗ рдХреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡ рдПрдВрдХрд░ рдмреЙрдХреНрд╕ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддреА рд╣реИред
  • рд╡рд╛рд░реНрдордЕрдк рдФрд░ рдХреЛрд╕рд╛рдЗрди рдПрд▓рдЖрд░ рд╢реЗрдбреНрдпреВрд▓рд░: рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдХреА рджрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ред
  • рдШрд╛рддрд╛рдВрдХреАрдп рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (рдИрдПрдордП): рдПрдХ рд░рдгрдиреАрддрд┐ рдЬреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдФрд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
  • рдорд┐рд╢реНрд░рд┐рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг: рдЕрд░реНрдз-рд╕рдЯреАрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
  • рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╡реЛрд▓реНрдпреВрд╢рди: рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рд░рдгрдиреАрддрд┐ред

4. рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ

4.1 рдиреБрдХрд╕рд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ

рдореЗрдВ рдиреБрдХрд╕рд╛рди YOLOv5 рддреАрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣рд╛рдирд┐ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ:

  • рд╡рд░реНрдЧ рд╣рд╛рдирд┐ (рдмреАрд╕реАрдИ рд╣рд╛рдирд┐): рдмрд╛рдЗрдирд░реА рдХреНрд░реЙрд╕-рдПрдиреНрдЯреНрд░реЙрдкреА рд╣рд╛рдирд┐, рд╡рд░реНрдЧреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред
  • рдСрдмреНрдЬреЗрдХреНрдЯрдиреЗрд╕ рд▓реЙрд╕ (рдмреАрд╕реАрдИ рд▓реЙрд╕): рдПрдХ рдФрд░ рдмрд╛рдЗрдирд░реА рдХреНрд░реЙрд╕-рдПрдВрдЯреНрд░реЙрдкреА рдиреБрдХрд╕рд╛рди, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд╕реНрддреБ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЧреНрд░рд┐рдб рд╕реЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред
  • рд╕реНрдерд╛рди рд╣рд╛рдирд┐ (CIoU рд╣рд╛рдирд┐): рдкреВрд░реНрдг IoU рд╣рд╛рдирд┐, рдЧреНрд░рд┐рдб рд╕реЗрд▓ рдХреЗ рднреАрддрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред

рд╕рдордЧреНрд░ рд╣рд╛рдирд┐ рд╕рдорд╛рд░реЛрд╣ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╣рд╛рдирд┐

4.2 рд╢реЗрд╖ рдиреБрдХрд╕рд╛рди

рддреАрди рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкрд░рддреЛрдВ рдХреА рд╡рд╕реНрддреБрдирд┐рд╖реНрдарддрд╛ рд╣рд╛рдирд┐ (P3, P4, P5) рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рднрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реЗрд╖ рднрд╛рд░ рд╣реИрдВ [4.0, 1.0, 0.4] рдХреНрд░рдорд╛рдиреБрд╕рд╛рд░ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреИрдорд╛рдиреЛрдВ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдХреБрд▓ рдиреБрдХрд╕рд╛рди рдореЗрдВ рдЙрдЪрд┐рдд рдпреЛрдЧрджрд╛рди рджреЗрддреА рд╣реИрдВред

obj_loss

4.3 рдЧреНрд░рд┐рдб рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЛ рджреВрд░ рдХрд░реЗрдВ

рд╡рд╣реА YOLOv5 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЙрдХреНрд╕ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд░рдгрдиреАрддрд┐ рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реИ YOLO. YOLOv2 рдФрд░ YOLOv3 рдореЗрдВ, рдЕрдВрддрд┐рдо рдкрд░рдд рдХреЗ рд╕рдХреНрд░рд┐рдпрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рд╕реАрдзреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЧрдИ рдереАред

b_x b_y b_w b_h

YOLOv5 рдЧреНрд░рд┐рдб рдЧрдгрдирд╛

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрдВ YOLOv5, рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд╕реВрддреНрд░ рдХреЛ рдЧреНрд░рд┐рдб рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдореЙрдбрд▓ рдХреЛ рдЕрд╕реАрдорд┐рдд рдмреЙрдХреНрд╕ рдЖрдпрд╛рдореЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдиреБрдорд╛рдирд┐рдд рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рд╕реВрддреНрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

рдмреАрдПрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдмреАрдбрдмреНрд▓реНрдпреВ рдмреАрдПрдЪ

рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ рдСрдлрд╕реЗрдЯ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ рдСрдлрд╝рд╕реЗрдЯ рд╕реАрдорд╛ (0, 1) рд╕реЗ (-0.5, 1.5) рддрдХ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдСрдлрд╕реЗрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ 0 рдпрд╛ 1 рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

YOLOv5 рдЧреНрд░рд┐рдб рд╕реНрдХреЗрд▓рд┐рдВрдЧ

рд╕рдорд╛рдпреЛрдЬрди рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЕрдиреБрдкрд╛рдд (рд▓рдВрдЧрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖) рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдореВрд▓ yolo/darknet рдмреЙрдХреНрд╕ рд╕рдореАрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдЧрдВрднреАрд░ рджреЛрд╖ рд╣реИред рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдБрдЪрд╛рдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдмрд╛рдЙрдВрдб рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрд╕ рдмрд╛рд╣рд░ = exp(in) рд╣реИрдВ, рдЬреЛ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рднрдЧреЛрдбрд╝рд╛ рдврд╛рд▓, рдЕрд╕реНрдерд┐рд░рддрд╛, NaN рдиреБрдХрд╕рд╛рди рдФрд░ рдЕрдВрддрддрдГ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рдкреВрд░реНрдг рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВ

YOLOv5 рдЕрдирдмрд╛рдЙрдВрдб рд╕реНрдХреЗрд▓рд┐рдВрдЧ

4.4 рд▓рдХреНрд╖реНрдп рдмрдирд╛рдПрдВ

рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд▓рдХреНрд╖реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ YOLOv5 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджрдХреНрд╖рддрд╛ рдФрд░ рдореЙрдбрд▓ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореИрдк рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЧреНрд░рд┐рдб рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЧреНрд░рд╛рдЙрдВрдб рдЯреНрд░реБрде рдмреЙрдХреНрд╕ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреБрдХреНрдд рдПрдВрдХрд░ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреА рд╣реИ:

  • рдЧреНрд░рд╛рдЙрдВрдб рдЯреНрд░реБрде рдмреЙрдХреНрд╕ рдЖрдпрд╛рдореЛрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдПрдВрдХрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред

рдЖрд░рдбрдмреНрд▓реНрдпреВ

рдЖрд░рдПрдЪ

рдЖрд░рдбрдмреНрд▓реНрдпреВрдореИрдХреНрд╕

рдЖрд░рдПрдЪрдПрдордПрдХреНрд╕

рдЖрд░рдореИрдХреНрд╕

рдореИрдЪ

YOLOv5 IoU рдЧрдгрдирд╛

  • рдпрджрд┐ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЕрдиреБрдкрд╛рдд рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдПрдВрдХрд░ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдЙрдВрдб рдЯреНрд░реБрде рдмреЙрдХреНрд╕ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░реЗрдВред

YOLOv5 рдЧреНрд░рд┐рдб рдУрд╡рд░рд▓реИрдк

  • рдорд┐рд▓рд╛рди рдХрд┐рдП рдЧрдП рдПрдВрдХрд░ рдХреЛ рдЙрдкрдпреБрдХреНрдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ рдСрдлрд╕реЗрдЯ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рдЧреНрд░рд╛рдЙрдВрдб рдЯреНрд░реБрде рдмреЙрдХреНрд╕ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдПрдВрдХрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ рдСрдлрд╝рд╕реЗрдЯ рд╕реАрдорд╛ (0, 1) рд╕реЗ (-0.5, 1.5) рддрдХ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЬреАрдЯреА рдмреЙрдХреНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдПрдВрдХрд░реЛрдВ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

YOLOv5 рдПрдВрдХрд░ рдЪрдпрди

рдЗрд╕ рддрд░рд╣, рдмрд┐рд▓реНрдб рд▓рдХреНрд╖реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддреНрдпреЗрдХ рдЬрдореАрдиреА рд╕рдЪреНрдЪрд╛рдИ рд╡рд╕реНрддреБ рдХреЛ рдареАрдХ рд╕реЗ рд╕реМрдВрдкрд╛ рдФрд░ рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рд╕реЗ рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ YOLOv5 рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред

рд╕рдорд╛рдкреНрддрд┐

рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рддреМрд░ рдкрд░, YOLOv5 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рд╕рдВрд╡рд░реНрджреНрдзрди рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ, рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ YOLO рдкреНрд░рджрд░реНрд╢рди рдФрд░ рджрдХреНрд╖рддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд╛рд░ред

рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХ рд╕рдВрд╡рд░реНрджреНрдзрди YOLOv5 рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдбреЗрдЯрд╛ рд╡реГрджреНрдзрд┐ рддрдХрдиреАрдХреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛, рдирд╡реАрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░рдгрдиреАрддрд┐рдпреЛрдВ, рд╕рд╛рде рд╣реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдШрд╛рдЯреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╛рдпреЛрдЬрди рдФрд░ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпреЗ рд╕рднреА рдирд╡рд╛рдЪрд╛рд░ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рдЧрддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд╕рдЯреАрдХрддрд╛ рдФрд░ рджрдХреНрд╖рддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЯреНрд░реЗрдбрдорд╛рд░реНрдХ рд╣реИ YOLO рдореЙрдбрд▓ред



2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-01-14
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (5), рд╕рд░реНрдЧрд┐рдЙрд╡реИрдХреНрд╕рдореИрди (1)

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ