рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЕрдкрдиреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдФрд░ рдУрдкрдирд╡рд┐рдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ

рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдЙрдиреНрд╣реЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдФрд░ рдХрдо-рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ, рд░реЛрдмреЛрдЯ рдФрд░ рдбреНрд░реЛрди рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдмрдврд╝рддреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред Intel OpenVino рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╣рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рднрд╛рд░реА рдЧрдгрдирд╛рдУрдВ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рдЧрднрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЬреИрд╕реЗ рдХрдо-рд╢рдХреНрддрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдХ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдпрд╛ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рди рдкреНрд░рдгрд╛рд▓реА рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OpenVINO рдлреНрд░реЗрдорд╡рд░реНрдХ (C ++ рдореЗрдВ) рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, GitHub рдкрд░ рд╕рднреА рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИрдВред



рддрдВрддреНрд░рд┐рдХрд╛ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдФрд░ OpenVINO рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛


2017 рдХреА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ, рдЗрдВрдЯреЗрд▓ рдиреЗ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ (рдПрдирд╕реАрдПрд╕) рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдХрдо-рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЦрд░реАрджрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред рдПрдирд╕реАрдПрд╕ рдПрдХ рдЫреЛрдЯрд╛ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдЬрд╝реБрд░ рд░рдВрдЧ (рдпрд╣ рднреА рдПрдХ рд░реЗрдбрд┐рдПрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЖрд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдЦреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдЕрдВрджрд░, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрдВрдЯреЗрд▓ рдЕрд╕рдВрдЦреНрдп VPU рд╣реИ , рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ 12-рдХреЛрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рддреЗрдЬ рд╣реЛрддрд╛ рд╣реИред рдПрдирд╕реАрдПрд╕ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЬреАрдкреАрдпреВ рдореЗрдВ рдЗрд╕рдХреА рдЧрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдПрдирд╕реАрдПрд╕ рдореЗрдВ рд╕рднреА рдЧрдгрдирд╛ 16-рдмрд┐рдЯ рдлреНрд▓реЛрдЯ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред NCS рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 1 рд╡рд╛рдЯ рдмрд┐рдЬрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд 5 V рдкрд░, 200 mA рддрдХ рдХреА рдзрд╛рд░рд╛ USB рдХрдиреЗрдХреНрдЯрд░ рдкрд░ рдЦрдкрдд рд╣реЛрддреА рд╣реИ - рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ (250 mA) рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рд╕реЗ рднреА рдХрдо рд╣реИред



рдкрд╣рд▓реЗ рдПрдирд╕реАрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрдВрддреНрд░рд┐рдХрд╛ рдХрдореНрдкреНрдпреВрдЯ рдПрд╕рдбреАрдХреЗ (рдПрдирд╕реАрдПрд╕рдбреАрдХреЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЗрд╕рдореЗрдВ рдПрдирд╕реАрдПрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреИрдл рдФрд░ рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрдирдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг, рд╕рд╛рде рд╣реА рдкрд╛рдпрдерди рдФрд░ рд╕реА ++ рдПрдкреАрдЖрдИ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдПред

рдлрд┐рд░ рдПрдирд╕реАрдПрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛: рдПрдирд╕реАрдПрд╕рдбреАрдХреЗ 2 ред рдЗрд╕рдореЗрдВ рдПрдкреАрдЖрдИ рдХрд╛рдлреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣реЗ рдереЗ, рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдирд╡рд╛рдЪрд╛рд░ рдереЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдлреНрд▓реЛрдЯ 32 рдмрд┐рдЯ рд╕реЗ рдлреНрд▓реЛрдЯ 16 рдмрд┐рдЯ рд╕реЗ рд╕реА ++ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ (рдкрд╣рд▓реЗ, рдмреИрд╕рд╛рдЦреА рдХреЛ рдиреЗрдореНрдкреА рд╕реЗ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдерд╛)ред рдЫрд╡рд┐рдпреЛрдВ рдХреА рдХрддрд╛рд░реЗрдВ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рднреА рджрд┐рдЦрд╛рдИ рджрд┐рдПред

рдордИ 2018 рдореЗрдВ, рдЗрдВрдЯреЗрд▓ рдиреЗ рдУрдкрдирд╡рд┐рдиреЛ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдЗрдВрдЯреЗрд▓ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди рдПрд╕рдбреАрдХреЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛) рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб, рдПрдлрдкреАрдЬреАрдП , рд╕рд╛рде рд╣реА рд╕рд╛рде рдиреНрдпреВрд░рд▓ рдХрдВрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рд╕реНрдЯрд┐рдХред

рдирд╡рдВрдмрд░ 2018 рдореЗрдВ, рддреНрд╡рд░рдХ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рддрдВрддреНрд░рд┐рдХрд╛ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ 2 ред рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдмрдврд╝рд╛рдИ рдЧрдИ рд╣реИ: рд╕рд╛рдЗрдЯ рдкрд░ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡реЗ 8x рддрдХ рддреНрд╡рд░рдг рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рддреНрд╡рд░рдг 12 рд╕реЗ 16 рддрдХ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдирдП рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдореБрдЭреЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реАред

NCS рдХрд╛ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг NCSDK рдпрд╛ NCSDK2 рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд╕рдВрдЧрдд рд╣реИ: OpenVino, рдЬреЛ NCS рдХреЗ рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрдИ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдиреЗ рдЕрдкрдирд╛ рдЕрдзрд┐рдХрд╛рд░ рдкрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред OpenVINO рдореЗрдВ рд╣реА рдмрдбрд╝реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рдореЙрдбрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░: рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдЬреЛ рдЖрдкрдХреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдУрдкрдирд╡рд┐рдиреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╕рдорд░реНрдерд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕реВрдЪреА: рдХреИрдл , рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ , рдПрдордПрдХреНрд╕рдиреЗрдЯ , рдХрд▓рдбрд╝реА (рднрд╛рд╖рдг рдорд╛рдиреНрдпрддрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ), рдУрдПрдирдПрдирдПрдХреНрд╕ (рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рдкреНрд░рд╛рд░реВрдк)ред
  2. рдЗрдВрдЬреЗрдХреНрд╢рди рдЗрдВрдЬрди: рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП C ++ рдФрд░ рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдВрдЬреЗрдХреНрд╢рди рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╕рд╛рд░ред API рдХреЛрдб CPU, GPU, FPGA рдФрд░ NCS рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред
  3. рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╣рдо рдПрдирд╕реАрдПрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
  4. рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдУрдкрдирд╡рд┐рдиреЛ рдкреНрд░рд╛рд░реВрдк (рдкреВрд░реНрдг рд╕реВрдЪреА рдпрд╣рд╛рдВ рд╣реИ ) рдореЗрдВ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╕рдВрдЧреНрд░рд╣: рдЪреЗрд╣рд░реЗ, рдкреИрджрд▓ рдпрд╛рддреНрд░реА, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдбрд┐рдЯреЗрдХреНрдЯрд░; рдЪреЗрд╣рд░реЗ рдХреЗ рдЙрдиреНрдореБрдЦреАрдХрд░рдг рдХреА рдкрд╣рдЪрд╛рди, рдЪреЗрд╣рд░реЗ рдХреЗ рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБ, рдорд╛рдирд╡ рдЖрд╕рди; рд╕реБрдкрд░ рд╕рдВрдХрд▓реНрдк; рдФрд░ рдЕрдиреНрдпред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА NCS / FPGA / GPU рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
  5. рдореЙрдбрд▓ рдбрд╛рдЙрдирд▓реЛрдбрд░: рдПрдХ рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдУрдкрдирд╡рд┐рдиреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
  6. OpenCV рдХрдВрдкреНрдпреВрдЯрд░ рджреГрд╖реНрдЯрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрдВрдЯреЗрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рддред
  7. рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдСрдлрд╝ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди OpenVX ред
  8. рдбреАрдк рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдХрдВрдкреНрдпреВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА ред
  9. рдбреАрдк рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдореИрде рдХрд░реНрдиреЗрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА ред
  10. FPGA (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред
  11. рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдирдореВрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдоред

рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ NCS (рдкрд╣рд▓рд╛ рд▓реЗрдЦ) рдкрд░ YOLO рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдкрдиреЗ SSD рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ NCS (рджреВрд╕рд░рд╛ рд▓реЗрдЦ) рдкрд░ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред рдЗрди рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ NCSDK рдФрд░ NCSDK2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреБрдЫ рд╕рдорд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди OpenVINO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рджреЛрдиреЛрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рддреБрд▓рдирд╛ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдореИрдВ рдХреБрдЫ рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рдореИрдВ рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдЖрдк рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ред

OpenVINO рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдВ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, OpenVINO рдХреЗрд╡рд▓ Ubuntu 16.04 LTS, CentOS 7.4 рдФрд░ Windows 10. рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ Ubuntu 18 рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреА рдмреИрд╕рд╛рдЦреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдПрдирд╕реАрдПрд╕рдбреАрдХреЗ 2 рдХреЗ рд╕рд╛рде рдУрдкрдирд╡рд┐рдиреЛ рдХреА рддреБрд▓рдирд╛ рднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрд┐рд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ: рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдХреИрдл рдФрд░ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдордЬрдмреВрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдереЛрдбрд╝рд╛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рдкрде рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЙрдмрдВрдЯреВ 16 (рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ) рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдПрдирд╕реАрдПрд╕ рдХреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдЕрддрд┐рдерд┐ рдРрдб-рдСрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ 3.0 3.0 рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ USB рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░ рднреА рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк NCS рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЬреБрдбрд╝рд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡реЗрдмрдХреИрдо рдЕрднреА рднреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рд╣реЛрдирд╛ рд╣реИ)ред OpenVINO рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯреЗрд▓ рдЦрд╛рддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ (FPGA рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛) рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ ред NCSDK рдФрд░ рднреА рд╕рд░рд▓ рд╣реИ: рдпрд╣ GitHub рд╕реЗ рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ (рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП ncsdk2 рд╢рд╛рдЦрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ make install рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ NCSDK2 рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдЬреЛ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдЖрдИ, рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЙрд░реНрдо рдХреА рддреНрд░реБрдЯрд┐ рд╣реИ:

 E: [ 0] dispatcherEventReceive:236 dispatcherEventReceive() Read failed -1 E: [ 0] eventReader:254 Failed to receive event, the device may have reset 

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ (рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ) рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рд╡реАрдПрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдЫреЛрдЯрд╛ рдмрдЧ рд╣реИ (рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░рд╛рд╕реНрдкрд┐рдпрди рдЦрд┐рдВрдЪрд╛рд╡ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ: рджреЛрдиреЛрдВ рд░реВрдкрд░реЗрдЦрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдЗрд╕ рдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред NCSDK2 рдХреЛ рдХреЗрд╡рд▓-рдПрдкреАрдЖрдИ рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЕрдиреНрдпрдерд╛ рдпрд╣ рдХреИрдл рдФрд░ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЖрдкрдХреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред OpenVINO рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдХрдЯреНрдареЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ , рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдЕрдирдкреИрдХ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЗрд╡рд▓ C ++ рдФрд░ Python API рд╣реИ, рд╕рд╛рде рд╣реА OpenCV рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдЕрдиреНрдп рд╕рднреА рдЙрдкрдХрд░рдг рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореЙрдбрд▓ рдХреЛ рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╢реАрди рдкрд░ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рдирдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдореЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рджреЛрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 2 рдореЙрдбрд▓ рдмреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдиреНрдп рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЙрддрд╛рд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ: рдпрджрд┐ рд▓реИрдкрдЯреЙрдк рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдирд╕реАрдПрд╕ рдХреЛ рдХреЗрд╡рд▓ рдирд┐рдХрдЯрддрдо рдпреВрдПрд╕рдмреА 3.0 рдкреЛрд░реНрдЯ рдореЗрдВ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдПрдирдПрд╕рд╕реА рд╢реЗрд╖ рддреАрди рдпреВрдПрд╕рдмреА рдХрдиреЗрдХреНрдЯрд░ рдХреЛ рдЕрдкрдиреЗ рд╢рд░реАрд░ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рднреА рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдореЗрдВ рд╕рднреА рдпреВрдПрд╕рдмреА 2.0 рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдВрдЪрд╛рд░ рд╡рд┐рд▓рдВрдм (рдмрд╛рдж рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рддреБрд▓рдирд╛ рд╣реЛрдЧреА) рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрдорд╛рди рдХреА рджрд░ рдХрдо рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╕реЗ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдПрдирд╕реАрдПрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдпреВрдПрд╕рдмреА рд╣рдм рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ред

OpenVINO рдХреЛрдб рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ


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

рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ InferenceEngine рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ inference_engine.hpp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВред

 #include <inference_engine.hpp> using namespace InferenceEngine; 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░ рдХреЛ рд╣рд░ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ inputName рдФрд░ outputName рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдИ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдореЗрдВ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╣реЛрдЧрд╛ред рд╡реИрд░рд┐рдПрдмрд▓ net рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ, request рд▓рд╛рд╕реНрдЯ inputBlob рдХрд╛ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, inputBlob рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдРрд░реЗ рдХрд╛ рдкреЙрдЗрдВрдЯрд░ рд╣реИред рд╢реЗрд╖ рдЪрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВред

 string inputName; string outputName; ExecutableNetwork net; InferRequest::Ptr request; Blob::Ptr inputBlob; //input shape int netInputWidth; int netInputHeight; int netInputChannels; //output shape int maxNumDetectedFaces; //return code StatusCode ncsCode; 

рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдкреНрд▓рдЧрдЗрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - рд╣рдореЗрдВ рдПрдирд╕реАрдПрд╕ рдФрд░ рдПрдирд╕реАрдПрд╕ 2 рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдПрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ "MYRII" рдирд╛рдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ OpenVino рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдПрдХ рдкреНрд▓рдЧрдЗрди рд╕рд┐рд░реНрдл рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред PluginDispatcher рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рддрд▓рд╛рд╢ рд╣реИред рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЦрд╛рд▓реА рд░реЗрдЦрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧреАред рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧрдЗрдиреНрд╕ [OpenVINO_install_dir]/deployment_tools/inference_engine/lib/ubuntu_16.04/intel64/

 InferencePlugin plugin = PluginDispatcher({""}).getPluginByDevice("MYRIAD"); 

рдЕрдм рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ, рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдмреИрдЪ рдХрд╛ рдЖрдХрд╛рд░ (рдПрдХ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╕реЗрдЯ рдХрд░реЗрдВред OpenVINO рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде .xml рдФрд░ рд╡рдЬрди рдХреЗ рд╕рд╛рде рдПрдХ .binред рдЬрдмрдХрд┐ рд╣рдо OpenVINO рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдмрд╛рдж рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдБ std::string filename рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд┐рдирд╛ рдлрд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ NCS рдХреЗрд╡рд▓ 1 рдХреЗ рдмреИрдЪ рдЖрдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

 CNNNetReader netReader; netReader.ReadNetwork(filename+".xml"); netReader.ReadWeights(filename+".bin"); netReader.getNetwork().setBatchSize(1); 

рддрдм рдирд┐рдореНрди рд╣реЛрддрд╛ рд╣реИ:

  1. рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреЛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ 8 рдмрд┐рдЯ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рдЗрдирдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХреИрдорд░реЗ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдФрд░ InferenceEngine рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдЧрд╛ (NCS 16 рдмрд┐рдЯ рдлреНрд▓реЛрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдереЛрдбрд╝реА рдЧрддрд┐ рджреЗрдЧрд╛ - рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд░реВрдкрд╛рдВрддрд░рдг рдПрдирд╕реАрдПрд╕ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрдо рджреЗрд░реА рд╣реЛрддреА рд╣реИред
  2. рд╣рдореЗрдВ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдирд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХреЗрдВред
  3. рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдирд╛рдо рд╕реЗ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рддрдХ рдХрд╛ рдирдХреНрд╢рд╛ рд╣реИ)ред рд╣рдореЗрдВ рдкрд╣рд▓реЗ (рдПрдХрд▓) рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдорд┐рд▓рддрд╛ рд╣реИред
  4. рд╣рдо рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: 1 рдПрдХреНрд╕ 1 рдПрдХреНрд╕ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд╡рд┐рд╡рд░рдг (7) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд▓рдВрдмрд╛рдИ рдПрдХреНрд╕ред рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдмрд╛рдж рдореЗрдВред
  5. 32 рдмрд┐рдЯ рдлреНрд▓реЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рд╕реЗрдЯ рдХрд░реЗрдВред рдлрд┐рд░ рд╕реЗ, рдлреНрд▓реЛрдЯ 16 рдмрд┐рдЯ рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг InferenceEngine рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИред

 //we can set input type to unsigned char: conversion will be performed on device netReader.getNetwork().getInputsInfo().begin()->second->setPrecision(Precision::U8); //get input and output names and their info structures inputName = netReader.getNetwork().getInputsInfo().begin()->first; outputName = netReader.getNetwork().getOutputsInfo().begin()->first; OutputsDataMap outputInfo(netReader.getNetwork().getOutputsInfo()); InputsDataMap inputInfo(netReader.getNetwork().getInputsInfo()); DataPtr &outputData = (outputInfo.begin()->second); //get output shape: (1 x 1 x maxNumDetectedFaces x faceDescriptionLength(7)) const SizeVector outputDims = outputData->getTensorDesc().getDims(); maxNumDetectedFaces = outputDims[2]; //set input type to float32: calculations are all in float16, conversion is performed on device outputData->setPrecision(Precision::FP32); 

рдЕрдм рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ: рд╣рдо рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ (рдЕрд░реНрдерд╛рдд, рдПрдирд╕реАрдПрд╕ рдореЗрдВ)ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдкрд░ рд╕рдВрдХрд▓рди рдордХреНрдЦреА рдкрд░ рд╣реИред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╢рд╛рдпрдж рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред

 net = plugin.LoadNetwork(netReader.getNetwork(), {}); 

рдФрд░ рдЕрдВрдд рдореЗрдВ - рд╣рдо рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ рдФрд░ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ (рд╢рд╛рдпрдж рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрд╕рд╕реЗ рд╣рдореЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред

 //perform single inference to get input shape (a hack) request = net.CreateInferRequestPtr(); //open inference request //we need the blob size: (batch(1) x channels(3) x H x W) inputBlob = request->GetBlob(inputName); SizeVector blobSize = inputBlob->getTensorDesc().getDims(); netInputWidth = blobSize[3]; netInputHeight = blobSize[2]; netInputChannels = blobSize[1]; request->Infer(); //close request 

рдЖрдЗрдП NCS рдХреЛ рдПрдХ рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЙрд╕реА рддрд░рд╣, рд╣рдо рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рд╣рдо рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рдмрд╕ рд╣рдорд╛рд░реА рдЫрд╡рд┐ рд╕реЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░реЗрдВ (рдпрд╣рд╛рдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рдВрдЫрд┐рдд рдЖрдХрд╛рд░ рдореЗрдВ рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ)ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ cv::Mat рдФрд░ inputBlob рдорд╛рдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ (OpenCV рдореЗрдВ, рдЪреИрдирд▓ рдЗрдВрдбреЗрдХреНрд╕ рд╕рднреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ, OpenVINO рдореЗрдВ рдпрд╣ рд╕рднреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдореЗрдореНрдЪреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдлрд┐рд░ рд╣рдо рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЖрдХреНрд░рдордг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреНрдпреЛрдВ? рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЖрд╡рдВрдЯрди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдЧрд╛ред рдЬрдмрдХрд┐ рдПрдирд╕реАрдПрд╕ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдЧрд▓реЗ рдлреНрд░реЗрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЗрд╕рд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рддреНрд╡рд░рдг рд╣реЛрдЧрд╛ред

 cv::Mat data; ... //get image somehow //create request, get data blob request = net.CreateInferRequestPtr(); inputBlob = request->GetBlob(inputName); unsigned char* blobData = inputBlob->buffer().as<unsigned char*>(); //copy from resized frame to network input int wh = netInputHeight*netInputWidth; for (int c = 0; c < netInputChannels; c++) for (int h = 0; h < wh; h++) blobData[c * wh + h] = data.data[netInputChannels*h + c]; //start asynchronous inference request->StartAsync(); 

рдпрджрд┐ рдЖрдк рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЗрдирдкреБрдЯ рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдорд╛рдкрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдорд╛ рдкрд░ рд▓рд╛рддреЗ рд╣реИрдВред [ реж , рез ] )ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ OpenVINO рдореЙрдбрд▓ рдореЗрдВ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЪреВрдВрдХрд┐ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рджреЛрдиреЛрдВ рд░реВрдкрд╛рдВрддрд░рдг OpenVINO рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдм (рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж) рд╣рдо рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдкреВрд░рд╛ рдХрд░реЗрдВрдЧреЗред рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо рдЖрдиреЗ рддрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрд╡рд░реБрджреНрдз рд╣реИред рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдорд┐рд▓рддрд╛ рд╣реИред

 float * output; ncsCode = request->Wait(IInferRequest::WaitMode::RESULT_READY); output = request->GetBlob(outputName)->buffer().as<float*>(); 

рдЕрдм рдпрд╣ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдПрдирд╕реАрдПрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ NCSDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ рдЪрд╛рд░-рдЖрдпрд╛рдореА рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рдЖрдпрд╛рдо (1 x 1 x рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХреНрд╕ x 7) рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ ( maxNumDetectedFaces x 7)ред

maxNumDetectedFaces рдкреИрд░рд╛рдореАрдЯрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Caffe рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ .prototxt рд╡рд┐рд╡рд░рдг рдореЗрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣рдордиреЗ рдЗрд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ SSD рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ (рд╕рд┐рдВрдЧрд▓ рд╢реЙрдЯ рдбрд┐рдЯреЗрдХреНрдЯрд░) рдХреЗ рд╡рд░реНрдЧ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд╕рдорд░реНрдерд┐рдд NCS рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ SSD рд╣рдореЗрд╢рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреА рд╕рдорд╛рди (рдФрд░ рдмрд╣реБрдд рдмрдбрд╝реА) рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрдо рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдФрд░ рдиреЙрди-рдореИрдХреНрд╕рд┐рдордо рд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдлреНрд░реЗрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ 100-200 рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдПрдХ рдкрд╣рдЪрд╛рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╕рд╛рдд рдорд╛рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  1. рдмреИрдЪ рдореЗрдВ рдЫрд╡рд┐ рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕ рдкрд░ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╢реВрдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП);
  2. рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ (0 - рдкреГрд╖реНрдарднреВрдорд┐, 1 рд╕реЗ рд╢реБрд░реВ - рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдПрдВ, рдХреЗрд╡рд▓ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╣рд┐рд░рд╛рд╕рдд рд╡рд╛рдкрд╕ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВ);
  3. рдкрд╣рдЪрд╛рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ (рд╕реАрдорд╛ рдореЗрдВ) [ реж , рез ] );
  4. рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд x- рд╕рдордиреНрд╡рдп [ реж , рез ] );
  5. рдЗрд╕реА рддрд░рд╣ - y- рд╕рдордиреНрд╡рдп;
  6. рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдЪреМрдбрд╝рд╛рдИ (рд╕реАрдорд╛ рдореЗрдВ) [ реж , рез ] );
  7. рдЗрд╕реА рддрд░рд╣ - рдКрдВрдЪрд╛рдИ;

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
 void get_detection_boxes(const float* predictions, int numPred, int w, int h, float thresh, std::vector<float>& probs, std::vector<cv::Rect>& boxes) { float score = 0; float cls = 0; float id = 0; //predictions holds numPred*7 values //data format: image_id, detection_class, detection_confidence, //box_normed_x, box_normed_y, box_normed_w, box_normed_h for (int i=0; i<numPred; i++) { score = predictions[i*7+2]; cls = predictions[i*7+1]; id = predictions[i*7 ]; if (id>=0 && score>thresh && cls<=1) { probs.push_back(score); boxes.push_back(Rect(predictions[i*7+3]*w, predictions[i*7+4]*h, (predictions[i*7+5]-predictions[i*7+3])*w, (predictions[i*7+6]-predictions[i*7+4])*h)); } } } 

рд╣рдо рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реЗ рдЦреБрдж рдХреЛ numPred , рдФрд░ w,h - рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдЖрдХрд╛рд░ред

рдЕрдм рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдиреБрдорд╛рди рдХреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдХреИрд╕реА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдХреИрдорд░реЗ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, cv::Mat рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ cv::Mat рдХрдЪреНрдЪреЗ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП cv::Mat рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдЖрдХрд╛рд░ рдореЗрдВ рдХрдо рдХрд┐рдП рдЧрдП рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ред рд╣рдо рдЕрдкрдиреЗ рдлреНрд░реЗрдо рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рднрд░рддреЗ рд╣реИрдВ - рдЗрд╕рд╕реЗ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдПрдХ рд╣реА рд╢реБрд░реБрдЖрдд рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рдлрд┐рд░ рд╣рдо рдПрдХ рдЕрдиреБрдорд╛рди рдЪрдХреНрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

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

рдЗрд╕рдХрд╛ рд╕рдВрдХрд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ


InferenceEngine рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдореБрдЭреЗ рднрд╛рд░реА CMake рдлрд╛рдЗрд▓реЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдереАрдВ, рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ Makefile рдореЗрдВ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:

 g++ $(RPI_ARCH) \ -I/usr/include -I. \ -I$(OPENVINO_PATH)/deployment_tools/inference_engine/include \ -I$(OPENVINO_PATH_RPI)/deployment_tools/inference_engine/include \ -L/usr/lib/x86_64-linux-gnu \ -L/usr/local/lib \ -L$(OPENVINO_PATH)/deployment_tools/inference_engine/lib/ubuntu_16.04/intel64 \ -L$(OPENVINO_PATH_RPI)/deployment_tools/inference_engine/lib/raspbian_9/armv7l \ vino.cpp wrapper/vino_wrapper.cpp \ -o demo -std=c++11 \ `pkg-config opencv --cflags --libs` \ -ldl -linference_engine $(RPI_LIBS) 

рдпрд╣ рдЯреАрдо рдЙрдмрдВрдЯреВ рдФрд░ рд░рд╛рд╕реНрдкрд┐рдпрди рджреЛрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧреА, рдПрдХ-рджреЛ рддрд░рдХреАрдмреЛрдВ рдХреА рдмрджреМрд▓рддред рд╣реЗрдбрд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдкрде рдореИрдВрдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдФрд░ рдЙрдмрдВрдЯреВ рдорд╢реАрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ, OpenCV рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ libinference_engine рдФрд░ libdl рдХреЛ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ - рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдпрд╣ рдкреНрд▓рдЧ-рдЗрди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрд╕реА рд╕рдордп, libmyriadPlugin рд╕реНрд╡рдпрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрд┐рдХреИрдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ (рдпрд╣ $(RPI_LIBS) )ред рдореБрдЭреЗ рднреА C ++ 11 рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, -march=armv7-a рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрд╣ $(RPI_ARCH) )ред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдХрд▓рди рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдореВрдХ segfault рдХреЗ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред -O3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЕрдиреБрдХреВрд▓рди рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдЧрддрд┐ рдмрдврд╝реЗрдЧреАред

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреНрдпрд╛ рд╣реИрдВ


NCS рдмреЙрдХреНрд╕ рд╕реЗ рдХреЗрд╡рд▓ Caffe SSD рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдЧрдВрджреА рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдореИрдВ рдЗрд╕ рдкрд░ Darknet рдкреНрд░рд╛рд░реВрдк рд╕реЗ YOLO рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╕рд┐рдВрдЧрд▓ рд╢реЙрдЯ рдбрд┐рдЯреЗрдХреНрдЯрд░ (рдПрд╕рдПрд╕рдбреА) рд╣рд▓реНрдХреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдПрдиреНрдХреЛрдбрд░ (рдпрд╛ рдмреИрдХрдмреЛрди рдиреЗрдЯрд╡рд░реНрдХ) рдХреА рдорджрдж рд╕реЗ рдЖрдк рдЧрддрд┐ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рдХрд╛рдлреА рднрд┐рдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реВрдВрдЧрд╛:

  • рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ YOLO, рдкрд╣рд▓реЗ Caffe рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдлрд┐рд░ NCS рдкреНрд░рд╛рд░реВрдк рдореЗрдВ (рдХреЗрд╡рд▓ NCSDK рдХреЗ рд╕рд╛рде) рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЫрд╡рд┐ 448 x 448ред
  • рдореЗрд░рд╛ рдореЛрдмрд┐рд▓рдиреЗрдЯ + рдПрд╕рдПрд╕рдбреА рдбрд┐рдЯреЗрдХреНрдЯрд░, рдЬрд┐рд╕рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдПрдХ рдлрд╕рд▓реА рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рдЪреЗрд╣рд░реЗ рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реИред рдореИрдВ NCSDK рдФрд░ OpenVINO рджреЛрдиреЛрдВ рдкрд░ рдЕрдкрдиреЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред рдЪрд┐рддреНрд░ 300 x 300
  • OpenVINO рд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдлреЗрд╕-рдбрд┐рдЯреЗрдХреНрд╢рди-рдПрдбрд╕-0001: рдореЛрдмрд╛рдЗрд▓рдиреЗрдЯ + рдПрд╕рдПрд╕рдбреАред рдЫрд╡рд┐ 384 x 672
  • OpenVINO рдлреЗрд╕-рдбрд┐рдЯреЗрдХреНрд╢рди-рд░рд┐рдЯреЗрд▓ -0004 рдбрд┐рдЯреЗрдХреНрдЯрд░: рд▓рд╛рдЗрдЯрд╡реЗрдЯ рд╕реНрдХреНрд╡реАрдЬрд╝рдиреЗрдЯ + рдПрд╕рдПрд╕рдбреАред рдЪрд┐рддреНрд░ 300 x 300

OpenVINO рд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдХреИрдл рдкреНрд░рд╛рд░реВрдк рдпрд╛ NCSDK рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЛрдИ рдкреИрдорд╛рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ OpenVINO рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

OpenVino рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдмрджрд▓рдирд╛


рдореЗрд░реЗ рдкрд╛рд╕ рдХреИрдлрд╝ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде .protxt рдФрд░ рд╡рдЬрди рдХреЗ рд╕рд╛рде .caffemodelред рдореБрдЭреЗ OpenVino рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрдирд╕реЗ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: .xml рдФрд░ .bin рдПрдХ рд╡рд┐рд╡рд░рдг рдФрд░ рднрд╛рд░ рдХреЗ рд╕рд╛рде, рдХреНрд░рдорд╢рдГред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, OpenVINO (рдЙрд░реНрдл рдореЙрдбрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░) рд╕реЗ mo.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 mo.py \ --framework caffe \ --input_proto models/face/ssd-face.prototxt \ --input_model models/face/ssd-face.caffemodel \ --output_dir models/face \ --model_name ssd-vino-custom \ --mean_values [127.5,127.5,127.5] \ --scale_values [127.5,127.5,127.5] \ --data_type FP16 

output_dir рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИ model_name , model_name рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд┐рдирд╛ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рд╣реИ, data_type (FP16/FP32) рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рдВрддреБрд▓рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ (NCS рдХреЗрд╡рд▓ FP16 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред mean_values, scale_values рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдФрд░ рд╕реНрдХреЗрд▓ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

( рдк рд┐ рдХ реН 'рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ реЗ рд▓ v рдПрдХ рдПрд▓ рдпреВ рдИ рд░реЛрдВ - рдо рд╛ рдз реН рдп рд╡реА рдПрдХ рдПрд▓ рдпреВ рдИ рдПрд╕ ) / ' рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ реН рдХ реЗ рд▓ v рдПрдХ рдПрд▓ рдпреВ рдИ рд░реЛрдВ   



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдорд╛рди рд╢реНрд░реЗрдгреА рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ [0.255] рд╕реАрдорд╛ рдореЗрдВ [0,1] ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рджреЗрдЦреЗрдВред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП OpenVINO рд╡рд┐рддрд░рдг рдореЗрдВ рддреИрдпрд╛рд░ рдореЙрдбрд▓ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ред
  wget --no-check-certificate \ https://download.01.org/openvinotoolkit/2018_R4/open_model_zoo/face-detection-retail-0004/FP16/face-detection-retail-0004.xml \ -O ./models/face/vino.xml; \ wget --no-check-certificate \ https://download.01.org/openvinotoolkit/2018_R4/open_model_zoo/face-detection-retail-0004/FP16/face-detection-retail-0004.bin \ -O ./models/face/vino.bin 


рдбрд┐рдЯреЗрдХреНрдЯрд░ рдФрд░ рдЪреМрдЦрдЯреЗ рдХреА рддреБрд▓рдирд╛


рдореИрдВрдиреЗ рддреАрди рддреБрд▓рдирд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: 1) рдЙрдмрдВрдЯреВ 16.04, рдХреЛрд░ рдЖрдИ 7 рдкреНрд░реЛрд╕реЗрд╕рд░, рдпреВрдПрд╕рдмреА 3.0 рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдирд╕реАрдПрд╕ + рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди; 2) рдПрдирд╕реАрдПрд╕ + рдПрдХ рд╣реА рдорд╢реАрди, рдпреВрдПрд╕рдмреА 3.0 рдХрдиреЗрдХреНрдЯрд░ + рдпреВрдПрд╕рдмреА 2.0 рдХреЗрдмрд▓ (рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдореЗрдВ рдЕрдзрд┐рдХ рджреЗрд░реА рд╣реЛрдЧреА); 3) рдПрдирд╕реАрдПрд╕ + рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 2 рдореЙрдбрд▓ рдмреА, рд░рд╛рд╕реНрдкрд┐рдпрди рдЦрд┐рдВрдЪрд╛рд╡, рдпреВрдПрд╕рдмреА 2.0 рдХрдиреЗрдХреНрдЯрд░ + рдпреВрдПрд╕рдмреА 2.0 рдХреЗрдмрд▓ред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ OpenVINO рдФрд░ NCSDK2 рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛, OpenVINO рд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдиреЗ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдореВрд▓ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде, YOLO рдХреЗрд╡рд▓ NCSDK2 рдХреЗ рд╕рд╛рде (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ OpenVINO рдкрд░ рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдлрдкреАрдПрд╕ рддрд╛рд▓рд┐рдХрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ рд╣реИ):

рдЖрджрд░реНрд╢рдпреВрдПрд╕рдмреА 3.0USB 2.0рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ
NCSDK2 рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо SSD10.89.37.2
NCSDK2 рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо longrange SSD11.810.07.3
NCSDK2 рдХреЗ рд╕рд╛рде YOLO v25.34.63.6
OpenVINO рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо SSD10.69.97.9
рдУрдкрдирд╡рд┐рдиреЛ рдлреЗрд╕-рдбрд┐рдЯреЗрдХреНрд╢рди-рд░рд┐рдЯреЗрд▓-000415.614.29.3
рдУрдкрдирд╡рд┐рдиреЛ рдлреЗрд╕-рдбрд┐рдЯреЗрдХреНрд╢рди-рдПрдбрд╕-00015.85.53.9


рдиреЛрдЯ: рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреВрд░реЗ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдорд╛рдкрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдлреНрд░реЗрдо рдХреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред

YOLO рд╕рднреА рдореЗрдВ рд╕рдмрд╕реЗ рдзреАрдорд╛ рдФрд░ рд╕рдмрд╕реЗ рдЕрд╕реНрдерд┐рд░ рдерд╛ред рдпрд╣ рдмрд╣реБрдд рдмрд╛рд░ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдмреБрджреНрдз рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЬрд┐рд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдореИрдВрдиреЗ рджреЛ рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд╡рд╣ рдлреНрд░реЗрдо рдореЗрдВ рд╡рд┐рд░реВрдкрдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд░реЛрдзреА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЫреЛрдЯреЗ рдЪреЗрд╣рд░реЗ рдХрд╛ рднреА рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЕрднреА рднреА рдХрднреА-рдХрднреА рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдХрднреА-рдХрднреА рдЭреВрдареЗ рд▓реЛрдЧреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдореЗрдВ рд╕реЗ рдкрд┐рдЫрд▓реА рдХреБрдЫ рдкрд░рддреЛрдВ рдХреЛ рдХрд╛рдЯ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рддреЗрдЬрд╝ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдбрд╝реЗ рдЪреЗрд╣рд░реЗ рдХреЛ рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред OpenVino рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рди рдбрд┐рдЯреЗрдХреНрдЯрд░ USB 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЧреБрдгрд╡рддреНрддрд╛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИред

OpenVINO рдбрд┐рдЯреЗрдХреНрдЯрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, YOLO рдФрд░ рдореЗрд░реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рджреЛрдиреЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИрдВред (рдпрджрд┐ рдУрдкрдирд╡рд┐рдиреЛ рдЙрд╕ рд╕рдордп рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рдерд╛, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рднреА рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛)ред рдЦреБрджрд░рд╛-0004 рдореЙрдбрд▓ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЪреЗрд╣рд░реЗ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдмреЗрд╡рдХреВрдл рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрди рдирд┐рд╢рд╛рдиреЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрдо рд╣реИ):


рдХреГрддреНрд░рд┐рдо рдкрд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдмреБрджреНрдзрд┐ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣рдорд▓рд╛

Adas-0001 рдбрд┐рдЯреЗрдХреНрдЯрд░ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЕрдВрддрд░ рдирдЬрд╝рд░ рдирд╣реАрдВ рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрд╛рдлреА рд╕рд░рд▓ рдлреНрд░реЗрдо рдкрд░ рдЬрд╛рдБрдЪ рдХреАред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЬреИрд╕реА рдХрдо-рд╢рдХреНрддрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЖрдк рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рдЧрднрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рднреАред OpenVINO рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╢реБрд░реВрдЖрдд рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд░реЛрдмреЛрдЯ рдЕрдиреБрд╕рдВрдзрд╛рди рдореЗрдВ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ рдФрд░ рдУрдкрдирд╡рд┐рдиреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗред

Source: https://habr.com/ru/post/hi436744/


All Articles