рдХреНрд╡рд┐рдХ рд╕реНрдЯрд╛рд░реНрдЯ рдЧрд╛рдЗрдб: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде Ultralytics YOLOv8
рдпрд╣ рд╡реНрдпрд╛рдкрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдкреВрд░реНрд╡рд╛рднреНрдпрд╛рд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ Ultralytics YOLOv8 рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрд╣ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд┐рдЦрд╛рддрд╛ рд╣реИYOLOv8 рдЗрди рдЫреЛрдЯреЗ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ред
рд╕рддрд░реНрдХрддрд╛: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдЕрдкрдбреЗрдЯ рдФрд░ рд╕реБрдзрд╛рд░ред
рдиреЛрдЯ
рдЗрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдХреЗ рд╕рд╛рде рдирд╡реАрдирддрдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдмреБрдХрд╡рд╛рд░реНрдо (рдбреЗрдмрд┐рдпрди 12) рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 рддрдм рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдПрдХ рд╣реА рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдмреБрдХрд╡рд╛рд░реНрдо рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреНрдпрд╛ рд╣реИ?
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдПрдХ рдЫреЛрдЯрд╛, рд╕рд╕реНрддреА, рд╕рд┐рдВрдЧрд▓-рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИред рдпрд╣ рд╢реМрдХрд┐рдпрд╛ рд╣реЛрдо рдСрдЯреЛрдореЗрд╢рди рд╕реЗ рд▓реЗрдХрд░ рдФрджреНрдпреЛрдЧрд┐рдХ рдЙрдкрдпреЛрдЧреЛрдВ рддрдХ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдмреЛрд░реНрдб рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдФрд░ рд╡реЗ рдЬреАрдкреАрдЖрдИрдУ (рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ) рдкрд┐рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрдВрд╕рд░, рдПрдХреНрдЪреБрдПрдЯрд░ рдФрд░ рдЕрдиреНрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рдПрдХреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбрд▓реЛрдВ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдХрдо рд▓рд╛рдЧрдд, рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рдмрд╣реБрдореБрдЦреА рд╣реЛрдиреЗ рдХреЗ рд╕рдорд╛рди рдореВрд▓ рдбрд┐рдЬрд╛рдЗрди рджрд░реНрд╢рди рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рддреБрд▓рдирд╛
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 | рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 | рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 | |
---|---|---|---|
CPU | рдмреНрд░реЙрдбрдХреЙрдо BCM2837, Cortex-A53 64Bit SoC | рдмреНрд░реЙрдбрдХреЙрдо BCM2711, Cortex-A72 64Bit SoC | рдмреНрд░реЙрдбрдХреЙрдо BCM2712, Cortex-A76 64Bit SoC |
CPU рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ | 1.4 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬрд╝ | 1.8 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬрд╝ | 2.4 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬрд╝ |
GPU | рд╡реАрдбрд┐рдпреЛрдХреЛрд░ IV | рд╡реАрдбрд┐рдпреЛрдХреЛрд░ VI | рд╡реАрдбрд┐рдпреЛрдХреЛрд░ VII |
GPU рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ | 400 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ | 500 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ | 800 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ |
рдпрд╛рдж | 1GB LPDDR2 SDRAM | 1GB, 2GB, 4GB, 8GB LPDDR4-3200 SDRAM | 4GB, 8GB LPDDR4X-4267 SDRAM |
рдкреАрд╕реАрдЖрдИрдИ | рдПрди/рдП | рдПрди/рдП | 1xPCIe 2.0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ |
рдореИрдХреНрд╕ рдкрд╛рд╡рд░ рдбреНрд░рд╛ | 2.5A@5V | 3A@5V | 5A@5V (рдкреАрдбреА рд╕рдХреНрд╖рдо) |
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдХреНрдпрд╛ рд╣реИ?
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд░рд╛рд╕реНрдкрд┐рдпрди рдХреЗ рдирд╛рдо рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛) рдПрдХ рдпреВрдирд┐рдХреНрд╕ рдЬреИрд╕рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдХреЙрдореНрдкреИрдХреНрдЯ рд╕рд┐рдВрдЧрд▓-рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдмрд┐рдпрди рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдПрдЖрд░рдПрдо рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ рдФрд░ рдУрдкрдирдмреЙрдХреНрд╕ рд╕реНрдЯреИрдХрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдПрд▓рдПрдХреНрд╕рдбреАрдИ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдмрд┐рдпрди рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЗрдВ рдлреНрд▓реИрд╢ рдХрд░реЗрдВ
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЕрдкрдирд╛ рд╣рд╛рде рд░рдЦрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдЗрдХреНрд░реЛ-рдПрд╕рдбреА рдХрд╛рд░реНрдб рдлреНрд▓реИрд╢ рдХрд░реЗрдВ, рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдбрд╛рд▓реЗрдВ рдФрд░ рдУрдПрд╕ рдореЗрдВ рдмреВрдЯ рдХрд░реЗрдВред
рддреИрдпрд╛рд░ рдХрд░рдирд╛ Ultralytics
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ Ultralytics рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдкреИрдХреЗрдЬред рдЖрдк рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдбреЙрдХрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
- рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ
рдбреЙрдХрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ Ultralytics YOLOv8 рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рд╣реИред
рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдпрд╣ arm64v8/рдбреЗрдмрд┐рдпрди рдбреЙрдХрд░ рдЫрд╡рд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдпрдерди 3 рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдбреЗрдмрд┐рдпрди 12 (рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛) рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╣реЗ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рдЬрд╛рд╣рд┐рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрд╛рдгреВрди рдШреНрдпрд╛ рдкреНрд░рдпреЛрдЧ NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЕрдиреБрднрд╛рдЧ рдкрд░ред
рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ
рдкрджрд╛рд╕реАрди рдХрд░рдирд╛ Ultralytics рдкреИрдХреЗрдЬ
рдпрд╣рд╛рдБ рд╣рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ Ultralytics рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдкреИрдХреЗрдЬ рддрд╛рдХрд┐ рд╣рдо PyTorch рдЕрдиреНрдп рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ред
-
рдкреИрдХреЗрдЬ рд╕реВрдЪреА рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд╡реАрдирддрдо рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ
-
рдкрджрд╛рд╕реАрди рдХрд░рдирд╛
ultralytics
рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкреАрдЖрдИрдкреА рдкреИрдХреЗрдЬ -
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВ
рдкреНрд░рдпреЛрдЧ NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░
рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ Ultralytics, NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ NCNN рдореЛрдмрд╛рдЗрд▓/рдПрдореНрдмреЗрдбреЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдЬреИрд╕реЗ рдПрдЖрд░рдПрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рдеред
рдореЙрдбрд▓ рдХреЛ рдореЗрдВ рдмрджрд▓реЗрдВ NCNN рдФрд░ рд░рди рдЕрдиреБрдорд╛рди
рд╡рд╣реА YOLOv8n рдореЙрдбрд▓ рдореЗрдВ PyTorch рд╕реНрд╡рд░реВрдк рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ NCNN рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЙрджрд╛рд╣рд░рдг
from ultralytics import YOLO
# Load a YOLOv8n PyTorch model
model = YOLO("yolov8n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolov8n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolov8n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
рдиреЛрдХ
рд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд░ рдЬрд╛рдПрдБ Ultralytics рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрдаред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдмрдирд╛рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 YOLOv8 рдорд╛рдирдХ
YOLOv8 рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдП рдЧрдП рдереЗ Ultralytics рдЧрддрд┐ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЛ рдорд╛рдкрдиреЗ рд╡рд╛рд▓реЗ рдиреМ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдкрд░ рдЯреАрдо: PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF рд▓рд╛рдЗрдЯ PaddlePaddle, NCNN. рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рджреЛрдиреЛрдВ рдкрд░ FP32 рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкрд░ 640 рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдП рдЧрдП рдереЗред
рдиреЛрдЯ
рд╣рдордиреЗ рдХреЗрд╡рд▓ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рд╣реИрдВ YOLOv8n рдФрд░ YOLOv8s рдореЙрдбрд▓ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдореЙрдбрд▓ рдЖрдХрд╛рд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реЗ рд╣реИрдВ рдФрд░ рд╕рднреНрдп рдкреНрд░рджрд░реНрд╢рди рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рддреБрд▓рдирд╛ рдЪрд╛рд░реНрдЯ
рдкреНрд░рджрд░реНрд╢рди
рд╡рд┐рд╕реНрддреГрдд рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛
рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбрд▓реЛрдВ (YOLOv8n, YOLOv8s) рдиреМ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ (PyTorch, TorchScript, ONNX, OpenVINO, TF SavedModel, TF GraphDef, TF рд▓рд╛рдЗрдЯ PaddlePaddle, NCNN), рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рджреЛрдиреЛрдВ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐, рдЖрдХрд╛рд░, mAP50-95 (B) рдореАрдЯреНрд░рд┐рдХ рдФрд░ рдЕрдиреБрдорд╛рди рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди
рдкреНрд░рд╛рд░реВрдк | рдУрд╣рджрд╛ | рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдХрд╛рд░ (MB) | рдПрдордПрдкреА 50-95 (рдмреА) | рдЕрдиреБрдорд╛рди рд╕рдордп (ms/im) |
---|---|---|---|---|
PyTorch | тЬЕ | 6.2 | 0.6381 | 508.61 |
TorchScript | тЬЕ | 12.4 | 0.6092 | 558.38 |
ONNX | тЬЕ | 12.2 | 0.6092 | 198.69 |
OpenVINO | тЬЕ | 12.3 | 0.6092 | 704.70 |
TF SavedModel | тЬЕ | 30.6 | 0.6092 | 367.64 |
TF GraphDef | тЬЕ | 12.3 | 0.6092 | 473.22 |
TF рд▓рд╛рдЗрдЯ | тЬЕ | 12.3 | 0.6092 | 380.67 |
PaddlePaddle | тЬЕ | 24.4 | 0.6092 | 703.51 |
NCNN | тЬЕ | 12.2 | 0.6034 | 94.28 |
рдкреНрд░рд╛рд░реВрдк | рдУрд╣рджрд╛ | рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдХрд╛рд░ (MB) | рдПрдордПрдкреА 50-95 (рдмреА) | рдЕрдиреБрдорд╛рди рд╕рдордп (ms/im) |
---|---|---|---|---|
PyTorch | тЬЕ | 21.5 | 0.6967 | 969.49 |
TorchScript | тЬЕ | 43.0 | 0.7136 | 1110.04 |
ONNX | тЬЕ | 42.8 | 0.7136 | 451.37 |
OpenVINO | тЬЕ | 42.9 | 0.7136 | 873.51 |
TF SavedModel | тЬЕ | 107.0 | 0.7136 | 658.15 |
TF GraphDef | тЬЕ | 42.8 | 0.7136 | 946.01 |
TF рд▓рд╛рдЗрдЯ | тЬЕ | 42.8 | 0.7136 | 1013.27 |
PaddlePaddle | тЬЕ | 85.5 | 0.7136 | 1560.23 |
NCNN | тЬЕ | 42.7 | 0.7204 | 211.26 |
рдкреНрд░рд╛рд░реВрдк | рдУрд╣рджрд╛ | рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдХрд╛рд░ (MB) | рдПрдордПрдкреА 50-95 (рдмреА) | рдЕрдиреБрдорд╛рди рд╕рдордп (ms/im) |
---|---|---|---|---|
PyTorch | тЬЕ | 6.2 | 0.6381 | 1068.42 |
TorchScript | тЬЕ | 12.4 | 0.6092 | 1248.01 |
ONNX | тЬЕ | 12.2 | 0.6092 | 560.04 |
OpenVINO | тЬЕ | 12.3 | 0.6092 | 534.93 |
TF SavedModel | тЬЕ | 30.6 | 0.6092 | 816.50 |
TF GraphDef | тЬЕ | 12.3 | 0.6092 | 1007.57 |
TF рд▓рд╛рдЗрдЯ | тЬЕ | 12.3 | 0.6092 | 950.29 |
PaddlePaddle | тЬЕ | 24.4 | 0.6092 | 1507.75 |
NCNN | тЬЕ | 12.2 | 0.6092 | 414.73 |
рдкреНрд░рд╛рд░реВрдк | рдУрд╣рджрд╛ | рдбрд┐рд╕реНрдХ рдкрд░ рдЖрдХрд╛рд░ (MB) | рдПрдордПрдкреА 50-95 (рдмреА) | рдЕрдиреБрдорд╛рди рд╕рдордп (ms/im) |
---|---|---|---|---|
PyTorch | тЬЕ | 21.5 | 0.6967 | 2589.58 |
TorchScript | тЬЕ | 43.0 | 0.7136 | 2901.33 |
ONNX | тЬЕ | 42.8 | 0.7136 | 1436.33 |
OpenVINO | тЬЕ | 42.9 | 0.7136 | 1225.19 |
TF SavedModel | тЬЕ | 107.0 | 0.7136 | 1770.95 |
TF GraphDef | тЬЕ | 42.8 | 0.7136 | 2146.66 |
TF рд▓рд╛рдЗрдЯ | тЬЕ | 42.8 | 0.7136 | 2945.03 |
PaddlePaddle | тЬЕ | 85.5 | 0.7136 | 3962.62 |
NCNN | тЬЕ | 42.7 | 0.7136 | 1042.39 |
рд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ
рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ultralytics рд╕рднреА рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ, рдЗрд╕ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдПрдВ:
рдЙрджрд╛рд╣рд░рдг
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдЯреАрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд▓рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рдордп рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддред data='coco8.yaml' (4 val images), or
data='coco.yaml'' (5000 val images).
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╡реАрдбрд┐рдпреЛ рдлрд╝реАрдб рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдСрдирдмреЛрд░реНрдб MIPI CSI рдХрдиреЗрдХреНрдЯрд░ рдЖрдкрдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА PI рдХреИрдорд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдордиреЗ рд╡реАрдбрд┐рдпреЛ рдлреАрдб рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рдореЙрдбреНрдпреВрд▓ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ YOLOv8 рдореЙрдбрд▓ред
рдиреЛрдХ
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рдХреИрдорд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреИрд╕реЗ рдХрд░реЗрдВред
рдиреЛрдЯ
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 (15-рдкрд┐рди рдмрдирд╛рдо 22-рдкрд┐рди) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреЛрдЯреЗ рд╕реАрдПрд╕рдЖрдИ рдХрдиреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 15-рдкрд┐рди рд╕реЗ 22pin рдПрдбрд╛рдкреНрдЯрд░ рдХреЗрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдХреИрдорд░реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
рдХреИрдорд░реЗ рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдЖрдкрдХреЛ рд▓рдЧрднрдЧ 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рд╕реЗ рд▓рд╛рдЗрд╡ рд╡реАрдбрд┐рдпреЛ рдлрд╝реАрдб рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдПред
рдиреЛрдХ
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ rpicam-hello
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкреНрд░рд▓реЗрдЦрди рдкрд░ рдЙрдкрдпреЛрдЧ
рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рди
рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВ YOLOv8 рдореЙрдбрд▓ред
рдЙрдкрдпреЛрдЧ
рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ picamera2
рдЬреЛ рдХреИрдорд░рд╛ рдФрд░ рдЕрдиреБрдорд╛рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдЖрддрд╛ рд╣реИ YOLOv8 рдореЙрдбрд▓ред
рдЙрджрд╛рд╣рд░рдг
import cv2
from picamera2 import Picamera2
from ultralytics import YOLO
# Initialize the Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
# Load the YOLOv8 model
model = YOLO("yolov8n.pt")
while True:
# Capture frame-by-frame
frame = picam2.capture_array()
# Run YOLOv8 inference on the frame
results = model(frame)
# Visualize the results on the frame
annotated_frame = results[0].plot()
# Display the resulting frame
cv2.imshow("Camera", annotated_frame)
# Break the loop if 'q' is pressed
if cv2.waitKey(1) == ord("q"):
break
# Release resources and close windows
cv2.destroyAllWindows()
рд╣рдореЗрдВ рдЯреАрд╕реАрдкреА рд╕реНрдЯреНрд░реАрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ rpicam-vid
рдХрдиреЗрдХреНрдЯреЗрдб рдХреИрдорд░реЗ рд╕реЗ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рд╕реНрдЯреНрд░реАрдо URL рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдЬрдм рд╣рдо рдмрд╛рдж рдореЗрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣реЗ рд╣реЛрдВред TCP рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ rpicam-vid
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкреНрд░рд▓реЗрдЦрди рдкрд░ рдЙрдкрдпреЛрдЧ
рдиреЛрдХ
рдпрджрд┐ рдЖрдк рдЫрд╡рд┐/рд╡реАрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЕрдиреБрдорд╛рди рд╕реНрд░реЛрддреЛрдВ рдкрд░ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЪрд▓рд╛рдиреЗ рдкрд░ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ рд╣реИрдВ YOLOv8.
-
рдПрд╕рдПрд╕рдбреА рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
24x7 рдирд┐рд░рдВрддрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдирд┐рд░рдВрддрд░ рд▓реЗрдЦрди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдкрд░ рдСрдирдмреЛрд░реНрдб PCIe рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде, рдЕрдм рдЖрдк рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдХреЗ рд▓рд┐рдП NVMe рдмреЗрд╕ рдЬреИрд╕реЗ рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SSDs рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
-
рдЬреАрдпреВрдЖрдИ рдХреЗ рдмрд┐рдирд╛ рдлреНрд▓реИрд╢
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдЪрдордХрддреЗ рд╕рдордп, рдЖрдк рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд╛рддрд╛рд╡рд░рдг (рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рд▓рд╛рдЗрдЯ) рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдереЛрдбрд╝реА рд░реИрдо рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрдЧрд╣ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИред
рдЕрдЧрд▓реЗ рдХрджрдо
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдкрд░ рдмрдзрд╛рдИ YOLO рдЕрдкрдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░! рдЖрдЧреЗ рд╕реАрдЦрдиреЗ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП, рдпрд╛рддреНрд░рд╛ рдХрд░реЗрдВ Ultralytics YOLOv8 рдбреЙрдХреНрд╕ рдФрд░ рдХрд╢реНрдореАрд░ рд╡рд░реНрд▓реНрдб рдлрд╛рдЙрдВрдбреЗрд╢рдиред
рдкрд╛рд╡рддреА рдФрд░ рдЙрджреНрдзрд░рдг
рдпрд╣ рдЧрд╛рдЗрдб рд╢реБрд░реВ рдореЗрдВ рдХрд╢реНрдореАрд░ рд╡рд░реНрд▓реНрдб рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рд▓рд┐рдП рджрд╛рди рдИрд▓реНрдЯрд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╕рдВрдЧрдарди рд╣реИ YOLO рд▓реБрдкреНрддрдкреНрд░рд╛рдп рдкреНрд░рдЬрд╛рддрд┐рдпреЛрдВ рдХреЗ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд▓рд┐рдПред рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЙрдирдХреЗ рдЕрдЧреНрд░рдгреА рдХрд╛рдо рдФрд░ рд╢реИрдХреНрд╖рд┐рдХ рдлреЛрдХрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдХрд╢реНрдореАрд░ рд╡рд░реНрд▓реНрдб рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
рдореИрдВ рдХреИрд╕реЗ рд╕реЗрдЯ рдЕрдк рдХрд░реВрдБ Ultralytics YOLOv8 рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░?
рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ultralytics YOLOv8 рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░, рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
- рдкреИрдХреЗрдЬ рд╕реВрдЪреА рдЕрджреНрдпрддрди рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
pip
: - рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ Ultralytics рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ:
- рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд░реАрдмреВрдЯ рдХрд░реЗрдВ:
рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рджреЗрдЦреЗрдВ рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдЕрдиреБрднрд╛рдЧред
рдореБрдЭреЗ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП Ultralytics YOLOv8рдХрд╛ NCNN рдПрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдкреНрд░рд╛рд░реВрдк?
Ultralytics YOLOv8рдХрд╛ NCNN рдкреНрд░рд╛рд░реВрдк рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдПрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдмрдирд╛рддрд╛ рд╣реИред NCNN рдПрдЖрд░рдПрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдЕрдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рддрд╛ рд╣реИ, рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рдорд░реНрдерд┐рдд рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд░ рдЬрд╛рдПрдБ Ultralytics рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрдаред
рдореИрдВ рдПрдХ YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░реВрдк?
рдЖрдк рдПрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ PyTorch YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ NCNN рдпрд╛ рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░реВрдк Python рдирд╣реАрдВ рддреЛ CLI рдЖрджреЗрд╢:
рдЙрджрд╛рд╣рд░рдг
from ultralytics import YOLO
# Load a YOLOv8n PyTorch model
model = YOLO("yolov8n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates 'yolov8n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("yolov8n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рджреЗрдЦреЗрдВ рдкреНрд░рдпреЛрдЧ NCNN рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЕрдиреБрднрд╛рдЧ рдкрд░ ред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдХреЗ рдмреАрдЪ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ YOLOv8?
рдореБрдЦреНрдп рдЕрдВрддрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- CPUрд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдмреНрд░реЙрдбрдХреЙрдо BCM2711, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП 72 64-рдмрд┐рдЯ рдПрд╕рдУрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдмреНрд░реЙрдбрдХреЙрдо BCM2712, рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП 76 64-рдмрд┐рдЯ рдПрд╕рдУрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- рдЕрдзрд┐рдХрддрдо CPU рдЖрд╡реГрддреНрддрд┐: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдХреА рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ 1.8GHz рд╣реИ, рдЬрдмрдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 2.4GHz рддрдХ рдкрд╣реБрдВрдЪрддреА рд╣реИред
- рдореЗрдореЛрд░реА: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 8GB рддрдХ LPDDR4-3200 SDRAM рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдореЗрдВ LPDDR4X-4267 SDRAM рд╣реИ, рдЬреЛ 4GB рдФрд░ 8GB рд╡реЗрд░рд┐рдПрдВрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдпреЗ рд╕рдВрд╡рд░реНрджреНрдзрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВ YOLOv8 рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 5 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 4 рдкрд░ рдореЙрдбрд▓ред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛ рджреЗрдЦреЗрдВред
рдореИрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ Ultralytics YOLOv8?
рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреИрдорд░рд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ YOLOv8 рдЕрдиреБрдорд╛рди:
-
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
picamera2
:import cv2 from picamera2 import Picamera2 from ultralytics import YOLO picam2 = Picamera2() picam2.preview_configuration.main.size = (1280, 720) picam2.preview_configuration.main.format = "RGB888" picam2.preview_configuration.align() picam2.configure("preview") picam2.start() model = YOLO("yolov8n.pt") while True: frame = picam2.capture_array() results = model(frame) annotated_frame = results[0].plot() cv2.imshow("Camera", annotated_frame) if cv2.waitKey(1) == ord("q"): break cv2.destroyAllWindows()
-
TCP рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
рд╡рд┐рд╕реНрддреГрдд рд╕реЗрдЯрдЕрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рдХреИрдорд░рд╛ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рди рдкрд░ рдЬрд╛рдПрдВред
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2023-11-12, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-07-05
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (9), рдЗрд╡реЛрд░рдЭреВ331 (1), рд▓рдХреНрд╖рдВрдерд╛рдж (2)