рд╡реАрдбрд┐рдпреЛ рдкрд░ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдФрд░ рдиреНрдпреВрд░рд▓ рдХрдореНрдкреНрдпреВрдЯ рд╕реНрдЯрд┐рдХ

рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, Intel Movidius рдиреЗ рдХрдВрдлреНрдпреВрдЬрд╝рдирд▓ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ - Movidius Neural Compute Stick (NCS) рдХреЗ рдХреБрд╢рд▓ рдирд┐рд╖реНрдХрд╛рд╕рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рдпрд╣ рдЙрдкрдХрд░рдг рд░реЛрдмреЛрдЯрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рд╕рд╣рд┐рдд рд╕реАрдорд┐рдд рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдорд╛рдиреНрдпрддрд╛ рдпрд╛ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред NCS рдХрд╛ USB рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдФрд░ 1 рд╡рд╛рдЯ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдЪреЗрд╣рд░реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдирд╕реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдореЛрдмрд┐рд▓рдиреЗрдЯ-рдПрд╕рдПрд╕рдбреА рдбрд┐рдЯреЗрдХреНрдЯрд░ рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╕рднреА рдХреЛрдб рдореЗрд░реЗ рджреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЯреНрд░реЗрдирд┐рдВрдЧ рдФрд░ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди рдбреЗрдореЛ ред



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

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

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

SSD (рд╕рд┐рдВрдЧрд▓ рд╢реЙрдЯ рдбрд┐рдЯреЗрдХреНрдЯрд░) рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдХрдИ рдХрдиреНрд╡реЗрдиреНрд╢рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдПрдиреНрдХреЛрдбрд░ рджреЛ рдореЗрдВ рд▓рдЯрдХрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ 1 рдЧ реБ рди рд╛ 1 рдЧреБрдирд╛ рдРрдВрдарди рдкрд░рдд: рдПрдХ рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИ, рдЕрдиреНрдп - рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред рдПрдХ рддреАрд╕рд░реА рдкрд░рдд рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрддрд░ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реНрд░реЗрдо рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ: рдХрд┐рд╕реА рднреА рдкрд░рдд рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИ; рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдВрдд рдХреЗ рдХрд░реАрдм, рд╡реЗ рдЫреЛрдЯреЗ рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, stride=2 рд╕рд╛рде stride=2 рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рдХрд╛рд░рдг), рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд╢рд┐рдХрд╛ рдХреЗ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдХрдИ рдЪрдпрдирд┐рдд рдкрд░рддреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдХрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреНрд░реЗрдо рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдФрд░ рдХрдХреНрд╖рд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдПрдХ SSD рдбрд┐рдЯреЗрдХреНрдЯрд░ (YOLO рдХреА рддрд░рд╣) рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдирдВрдмрд░ рдХреЗ рдлреНрд░реЗрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рддреЛрдВ рдкрд░ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рд╕рдВрдХреЗрдд рдХреЛ рд╕рднреА рдлрд╝реНрд░реЗрдореЛрдВ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрд╣реБрдд рджреГрдврд╝рддрд╛ рд╕реЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрд╡реЗрджрди рдХреЗ рджреМрд░рд╛рди, рдЧреИрд░-рдЕрдзрд┐рдХрддрдо рджрдорди (рдПрдирдПрдордПрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкрд░рдд рд╕рднреА рдкрд░рддреЛрдВ рд╕реЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдЙрдирдХреЗ рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреА рд╣реИ, рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рдХреА рд╕реАрдорд╛ рдХреЛ рдХрд╛рдЯрддреА рд╣реИ рдФрд░ рдПрдирдПрдордПрд╕ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИред

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг


рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░


рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдпрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ ред

рдореИрдВрдиреЗ PASCAL VOC0712 рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЛрдмрд┐рд▓рдиреЗрдЯ-рдПрд╕рдПрд╕рдбреА рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЪреЗрд╣рд░реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдиреЗрдЯ рдХреЛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЖрдкрдХреЛ рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рдЧрд╛рдирд╛ рдирд╣реАрдВ рд╣реИред

рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ gen.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рдереА, рдЬрд┐рд╕рдиреЗ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП, .prototxt рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛ рджрд┐рдпрд╛ред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:

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

рдореИрдВрдиреЗ рдмрд╛рдж рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рд╛, рддрд╛рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖрдк LMDB рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛ BatchNorm рд╕реЗ рдЧреНрд░рд┐рдб рдХреЛ рд▓реЛрдб рдФрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХреЗрдВ - рдЕрдиреНрдпрдерд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреИрдл рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рд╕реЗрдЯ рд╣реИ - рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдмрд╣реБрдд рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ)ред

рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рд▓рдШреБ)
  • рд▓реЙрдЧ рдЗрди: 300 рдЧ реБ рди рд╛ 300 рдЧ реБ рди рд╛ 3  рдЧреБрдирд╛рдЧреБрдирд╛
  • рдкреВрд░реНрдг рд╕рдЬрд╛ рджреА рдЧрдИ рд╕рдЬрд╛ : 32 рдЪреИрдирд▓, stride=2
  • Mobilenet convolution conv1 - conv11 : 64, 128, 128, 256, 256, 512 ... 512 рдЪреИрдирд▓, рдХреБрдЫ рдХреЗ рдкрд╛рд╕ рд╣реИ * stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 19 рдЧ реБ рди рд╛ 19 рдЧ реБ рди рд╛ 512  рдЧреБрдирд╛рдЧреБрдирд╛
  • Mobilenet convolution conv12, conv13 : 1024 рдЪреИрдирд▓, conv12 рдореЗрдВ stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 10 рдЧ реБ рди рд╛ 10 рдЧ реБ рди рд╛ 1024  рдЧреБрдирд╛рдЧреБрдирд╛
  • рдкреВрд░реНрдг рд╡рд┐рдХреНрд╖реЗрдк conv14_1, conv14_2 : 256, 512 рдЪреИрдирд▓, рдкрд╣рд▓рд╛ kernel_size=1 , рджреВрд╕рд░рд╛ stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 5 рдЧреБрдирд╛5 рдЧреБрдирд╛512рдЧреБрдирд╛рдЧреБрдирд╛
  • рдкреВрд░реНрдг рд╡рд┐рдХреНрд╖реЗрдк conv15_1, conv15_2 : 128, 256 рдЪреИрдирд▓, рдкрд╣рд▓рд╛ kernel_size=1 , рджреВрд╕рд░рд╛ stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 3 рдЧреБрдирд╛3 рдЧреБрдирд╛256
  • рдкреВрд░рд╛ conv16_1, conv16_2 рд╕рдВрдХрд▓реНрдк : 128, 256 рдЪреИрдирд▓, рдкрд╣рд▓рд╛ kernel_size=1 , рджреВрд╕рд░рд╛ stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 2 рдЯрд╛рдЗрдореНрд╕2 рдЧреБрдирд╛256
  • рдкреВрд░реНрдг рд╡рд┐рдХреНрд╖реЗрдк conv17_1, conv17_2 : 64, 128 рдЪреИрдирд▓, рдкрд╣рд▓рд╛ kernel_size=1 , рджреВрд╕рд░рд╛ stride=2
  • рдбрд┐рдЯреЗрдХреНрд╢рди рд▓реЗрдпрд░: 1 рдЧреБрдирд╛1 рдЧреБрдирд╛128
  • рдЕрдВрддрд┐рдо рдкрд░рдд рдбрд┐рдЯреЗрдХреНрд╢рди рдЖрдЙрдЯрдкреБрдЯ


рдореИрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдереЛрдбрд╝рд╛ рдареАрдХ рдХрд┐рдпрд╛ред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕реВрдЪреА:

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

рдХреИрдлрд╝реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреНрд░реЗрдо рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд░рддрд╛ рд╣реИ: рдиреНрдпреВрдирддрдо рдлреНрд░реЗрдо рдЖрдХрд╛рд░ рдПрд╕ рдФрд░ рдЕрдзрд┐рдХрддрдо рдПрд▓ , рдпрд╣ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рдмрдбрд╝рд╛ рдлреНрд░реЗрдо рдмрдирд╛рддрд╛ рд╣реИ рдПрд╕ рдФрд░  sqrtsL ред рдЪреВрдВрдХрд┐ рдореИрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЫреЛрдЯреЗ рдЪреЗрд╣рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╣рдЪрд╛рди рдкрд░рдд рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг stride рдЧрдгрдирд╛ рдХреА рдФрд░ рдЗрд╕реЗ рдиреНрдпреВрдирддрдо рдлреНрд░реЗрдо рдЖрдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░ рдХрд┐рдпрд╛ред рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде, рдЫреЛрдЯреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреНрд░реЗрдо рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдХрд░реАрдм рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗ рдФрд░ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рддреЛ рд╣рдо рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рджреЛ рдмрд╛рд░ рдЬрд┐рддрдирд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред Conv16_2, conv17_2 рдХреА рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП , рдореИрдВрдиреЗ рдЖрдВрдЦреЛрдВ рдкрд░ рд╕рдорд╛рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрд╕,рдПрд▓ рд╕рднреА рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдереЗ: (16.32),(32.64),(64,128),(128,214),(214,300),(214,300)

рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реНрд░реЗрдо рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ (рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╢реЛрд░)


рдбреЗрдЯрд╛


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

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

рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдирд╕реЗ LMDB рдЖрдзрд╛рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ:

  • рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП, рдорд╛рд░реНрдХрдЕрдк рдХреЛ .xml рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдПрдХ train.txt рдлрд╛рдЗрд▓ "path/to/image.png path/to/labels.xml" рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИред
  • рдПрдХ test_name_size.txt рдлрд╝рд╛рдЗрд▓ "test_image_name height width" рдлрд╝реЙрд░реНрдо рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде test_name_size.txt
  • рд╕рдВрдЦреНрдпрд╛рддреНрдордХ labelmap.prototxt рдореИрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ labelmap.prototxt рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ


ssd-caffe/scripts/create_annoset.py (Makefile рд╕реЗ рдЙрджрд╛рд╣рд░рдг):

 python3 /opt/movidius/ssd-caffe/scripts/create_annoset.py --anno-type=detection \ --label-map-file=$(wider_dir)/labelmap.prototxt --min-dim=0 --max-dim=0 \ --resize-width=0 --resize-height=0 --check-label --encode-type=jpg --encoded \ --redo $(wider_dir) \ $(wider_dir)/trainval.txt $(wider_dir)/WIDER_train/lmdb/wider_train_lmdb ./data 

labelmap.prototxt
 item { name: "none_of_the_above" label: 0 display_name: "background" } item { name: "face" label: 1 display_name: "face" } 



рдЙрджрд╛рд╣рд░рдг .xml рдорд╛рд░реНрдХрдЕрдк
 <?xml version="1.0" ?> <annotation> <size> <width>348</width> <height>450</height> <depth>3</depth> </size> <object> <name>face</name> <bndbox> <xmin>161</xmin> <ymin>43</ymin> <xmax>241</xmax> <ymax>123</ymax> </bndbox> </object> </annotation> 


рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЬреЛрдбрд╝реЗ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рднреВрд▓рдирд╛, рд╕рд╛рде рд╣реА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлреЗрд░рдмрджрд▓ рдХрд░рдирд╛ред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреНрд░реЗрдирд┐рдВрдЧ


рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрд░реЗ рдХреЛрд▓рд╛рдм рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

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

рдореЗрд░реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╕рддреНрд░ рдореЗрдВ рдХреЛрд▓реИрдмреЛрд░реЗрдЯрд░реА рдореЗрдВ рд╡рд╣ 4,500 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдФрд░ рджреЛ рд╕рддреНрд░реЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдереЗред

рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ (рдФрд╕рдд рдФрд╕рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛) рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЬреЛ рдореИрдВрдиреЗ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдЬрд╛рдЧрд░ рдХреА (рд╡рд┐рд▓рдп рдФрд░ рдПрдлрдбреАрдбреАрдмреА рд╡рд┐рд▓рдп) рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 0.87 рдереАред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рд╕рд╣реЗрдЬреЗ рдЧрдП рддрд░рд╛рдЬреВ рдкрд░ рдПрдордПрдкреА рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ scripts/plot_map.py ред

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдПрдХ рдбрд╛рдЯрд╛рд╕реЗрдЯ рд╕реЗ (рдмрд╣реБрдд рдЕрдЬреАрдм) рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:


рдПрдирд╕реАрдПрд╕ рдкрд░ рд▓реЙрдиреНрдЪ


рдПрдХ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди рдбреЗрдореЛ рдпрд╣рд╛рдВ рд╣реИ ред

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

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рдиреНрди рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдмреИрдЪрдореЙрд░реНрдо рдкрд░рддреЛрдВ рдХреЛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред merge_bn.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣рд╛рдВ рд╕реЗ рд╣реЛрддреА рд╣реИ , рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдореЛрдмрд┐рд▓рдиреЗрдЯ-рдПрд╕рдПрд╕рдбреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рднреА рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдерд╛ред

рдлрд┐рд░ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП mvNCCompile рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 mvNCCompile -s 12 -o graph_ssd -w ssd-face.caffemodel ssd-face.prototxt 

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ graph_ssd рд▓рд┐рдП рдПрдХ graph_ssd рд▓рдХреНрд╖реНрдп рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк graph_ssd рдлрд╝рд╛рдЗрд▓ рдПрдирд╕реАрдПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭреЗ рдЧрдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд╡рд░рдг рд╣реИред

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

  • рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  • рдбрд┐рд╡рд╛рдЗрд╕ рдЦреЛрд▓реЗрдВ
  • рдмрдлрд░ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ (рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ)
  • NCS рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдЧрдгрдирд╛ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдПрдБ
  • рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЧреНрд░рд╛рдл рд░рдЦреЗрдВ рдФрд░ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлреАрдлреЛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ; рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмрдлрд░ рдХреЛ рдЕрдм рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╢реБрд░реВ:
    • рдХреИрдорд░реЗ рд╕реЗ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд░реЛрдд рд╕реЗ)
    • рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ: рд╡рд╛рдВрдЫрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдкреИрдорд╛рдиреЗ, рдлреНрд▓реЛрдЯ 32 рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рд░реЗрдВрдЬ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ [-1,1]
    • рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ
    • рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ (рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛)
    • рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдлреНрд░реЗрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдЖрдЧреЗ)
    • рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ

  • рд╕рднреА рд╕рдВрд╕рд╛рдзрди рдореБрдХреНрдд рдХрд░реЗрдВ: рдлреАрдлреЛ рдФрд░ рдЧрдгрдирд╛ рдЧреНрд░рд╛рдл рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

рдПрдирд╕реАрдПрд╕ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ рд╣рд░ рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдкрдирд╛ рдЕрд▓рдЧ рдХрд╛рд░реНрдп рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реА ++ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд░рд┐рд╣рд╛рдИ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреА рд╣реЛрдЧреАред рдХреЛрдб рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ NCS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ред рдЗрд╕рдореЗрдВ, рдирд┐рд░реНрдорд╛рдг рдФрд░ load_file рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд░рд┐рд╣рд╛рдИ рдкрд░ рд╕рднреА рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг рдХрд╛рд░реНрдп рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ - рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ, рдФрд░ рдПрдирд╕реАрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ 2-3 рдХреНрд▓рд╛рд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣реБрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдп рд╣реИред

рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдЖрдХрд╛рд░ (рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдкрд╛рд╕ рдХрд░рдХреЗ рдПрдХ рдЖрд╡рд░рдг рдмрдирд╛рдПрдБ:

 NCSWrapper NCS(NETWORK_INPUT_SIZE*NETWORK_INPUT_SIZE*3, NETWORK_OUTPUT_SIZE); 

рд╣рдо рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрд╕ рд╕рдм рдХреБрдЫ рдХреЛ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:

 if (!NCS.load_file("./models/face/graph_ssd")) { NCS.print_error_code(); return 0; } 

рд╣рдо рдЗрдореЗрдЬ рдХреЛ рдлреНрд▓реЛрдЯ 32 рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ ( image cv::Mat рдкреНрд░рд╛рд░реВрдк CV_32FC3 рдореЗрдВ cv::Mat рд╣реИ) рдФрд░ рдЗрд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

 if(!NCS.load_tensor_nowait((float*)image.data)) { NCS.print_error_code(); break; } 

рд╣рдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ ( result рдПрдХ рдореБрдХреНрдд float рд╕реВрдЪрдХ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдмрдлрд░ рдЖрд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ); рдЧрдгрдирд╛ рдХреЗ рдЕрдВрдд рддрдХ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрд╡рд░реБрджреНрдз рд╣реИ:

 if(!NCS.get_result(result)) { NCS.print_error_code(); break; } 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрд╡рд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рднреА рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ: load_tensor((float*)image.data, result) ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдХрд╛рд░рдг рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛: рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдереЛрдбрд╝рд╛ рдЧрддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реАрдкреАрдпреВ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдПрдирд╕реАрдПрд╕ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд▓рдЧрднрдЧ 100 рдПрдордПрд╕ рд╣реИ), рдФрд░ рдЗрд╕ рд╕рдордп рдЖрдк рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдирдпрд╛ рдлреНрд░реЗрдо рдкрдврд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рдкрд┐рдЫрд▓реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдлрдкреАрдПрд╕ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЫрд╡рд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбрд┐рдЯреЗрдХреНрдЯрд░ 7*(keep_top_k+1) рдЖрдХрд╛рд░ рдХрд╛ рдлреНрд▓реЛрдЯ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ 7*(keep_top_k+1) ред рдпрд╣рд╛рдВ, keep_top_k рдореЙрдбрд▓ рдХреА .prototxt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдФрд░ рдпрд╣ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдбрд┐рдЯреЗрдХреНрд╢рди (рдШрдЯрддреЗ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рдХреНрд░рдо рдореЗрдВ) рдХреЛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░, рд╕рд╛рде рд╣реА рдиреНрдпреВрдирддрдо рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░, рдФрд░ рдЧреИрд░-рдЕрдзрд┐рдХрддрдо рджрдорди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдореЙрдбрд▓ рдХреА .prototxt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрд╣реБрдд рдЕрдВрддрд┐рдо рдкрд░рдд рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдХреИрдл рдЫрд╡рд┐ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдПрдирд╕реАрдПрд╕ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓реМрдЯрддрд╛ рд╣реИ, рддреЛ рдПрдирд╕реАрдПрд╕ рд╣рдореЗрд╢рд╛ keep_top_k рдкрддрд╛ keep_top_k рддрд╛рдХрд┐ рд╕рд░рдгреА рдЖрдХрд╛рд░ рд╕реНрдерд┐рд░ рд╣реЛред

рдкрд░рд┐рдгрд╛рдо рд╕рд░рдгреА рд╕реНрд╡рдпрдВ рд╣реА рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ keep_top_k+1 рд╣реИ: рдпрджрд┐ рд╣рдо рдЗрд╕реЗ keep_top_k+1 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ 7 рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдкрд╣рд▓реА рддрддреНрд╡ рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдЧреА, рдФрд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рд░реВрдк "garbage, class_index, class_probability, x_min, y_min, x_max, y_max" рдореЗрдВ рдЦреБрдж рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред "garbage, class_index, class_probability, x_min, y_min, x_max, y_max" ред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реАрдорд╛ [0,1] рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ / рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕рд░рдгреА рдХреЗ рд╢реЗрд╖ рддрддреНрд╡ рдХрдЪрд░рд╛ рд╣реЛрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЧреИрд░-рдЕрдзрд┐рдХрддрдо рджрдорди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдПрдирд╕реАрдПрд╕ рдкрд░ рд╕рд╣реА рд╣реИ)ред

рдкрддрд╛ рд▓рдЧрд╛рдиреЗрд╡рд╛рд▓рд╛
 void get_detection_boxes(float* predictions, int w, int h, float thresh, std::vector<float>& probs, std::vector<cv::Rect>& boxes) { int num = predictions[0]; float score = 0; float cls = 0; for (int i=1; i<num+1; i++) { score = predictions[i*7+2]; cls = predictions[i*7+1]; if (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)); } } } 


рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд▓реЙрдиреНрдЪ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдирд┐рдпрдорд┐рдд рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рд▓реИрдкрдЯреЙрдк рдкрд░ рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдпрд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╕реНрдЯреНрд░реЗрдЪ рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 2 рдореЙрдбрд▓ рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдбреЗрдореЛ рдХреЛ рдЕрдиреНрдп рдореЙрдбрд▓реЛрдВ рдкрд░ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдореЛрдб рдХреЗ рд▓рд┐рдП рджреЛ рд▓рдХреНрд╖реНрдп рд╣реЛрддреЗ рд╣реИрдВ: рдХрдВрдкреНрдпреВрдЯрд░ / рд▓реИрдкрдЯреЙрдк рдХреЗ рд▓рд┐рдП make switch_desk make switch_rpi рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП make switch_rpi ред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдореВрд▓рднреВрдд рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, OpenCV рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрдорд░реЗ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, RaspiCam рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдбреЗрдореЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

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

рдпрд╣ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рдпреВрдПрд╕рдмреА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧреА (рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП: рдпреВрдПрд╕рдмреА 3.0 рдХреЗ рд▓рд┐рдП 102 рдПрдордПрд╕, рдпреВрдПрд╕рдмреА 2.0 рдХреЗ рд▓рд┐рдП 92 рдПрдордПрд╕)ред

рдЕрдм NCS рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ 1 рд╡рд╛рдЯ рддрдХ рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ (рдпреВрдПрд╕рдмреА рдХрдиреЗрдХреНрдЯрд░ рдкрд░ 5 рд╡реЛрд▓реНрдЯ рдкрд░ рдпрд╣ 200 рдПрдордП рддрдХ рд╣реЛрдЧрд╛; рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреИрдорд░рд╛ 250 рдПрдордП рддрдХ рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ)ред рдЬрдм рдПрдХ рдирд┐рдпрдорд┐рдд 5 рд╡реЛрд▓реНрдЯ рдЪрд╛рд░реНрдЬрд░, 2 рдПрдореНрдкреАрдпрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдПрдирд╕реАрдПрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╛рд╣рд░реА рд╢рдХреНрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдпреВрдПрд╕рдмреА рдлрд╛рдбрд╝рдиреЗрд╡рд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░, рдбреЗрдореЛ рдХрдВрдкреНрдпреВрдЯрд░ / рд▓реИрдкрдЯреЙрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИ: 7.2 рдПрдлрдкреАрдПрд╕ рдмрдирд╛рдо 10.4 рдПрдлрдкреАрдПрд╕ред рдпрд╣ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реАрдкреАрдпреВ рдкрд░ рдЧрдгрдирд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рджреВрд╕рд░реА рдмрд╛рдд, рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рд╕реНрдкреАрдб рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИ (USB 2.0 рдХреЗ рд▓рд┐рдП)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА YOLOv2 рдкрд░ рдПрдХ рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛: 3.6 рдПрдлрдкреАрдПрд╕ рдХреА рдЧрддрд┐ рд╕реЗ, рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рдлреНрд░реЗрдо рдкрд░ рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЪреЗрд╣рд░реЗ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдмрд╣реБрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреИрдорд░реЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред SSD рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рд╡реАрдбрд┐рдпреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд░реЕрдкрд┐рдХреИрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдереЛрдбрд╝рд╛ рдореЛрдбрд╝рдирд╛ рдерд╛ред рд╡рд╣ рднреА рдХрднреА-рдХрднреА рдлреНрд░реЗрдо рдореЗрдВ рдЪреЗрд╣рд░реЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдмрд╣реБрдд рдХрдо рд╣реА рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЗрдВрдЯреНрд░реЛ рдЯреНрд░реИрдХрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реИрд╕реЗ: рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, PyImageSearch рдкрд░ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ (Mobilenet-SSD рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░


рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛:

рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░: рдЖрдк рдХреЗрд╡рд▓ рдкрд░рддреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ conv11 рдФрд░ conv13 , рдФрд░ рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рддреЛрдВ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдПрдХ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рдЪреЗрд╣рд░реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдереЛрдбрд╝реА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдм рд╕рдм рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВред

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

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


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

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


All Articles