рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдореБрдлреНрдд рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ

рдЫрд╡рд┐

рдореИрдВ рдПрдХ рдЕрдЪреНрдЫреЗ рд╢рд╣рд░ рдореЗрдВ рд░рд╣рддрд╛ рд╣реВрдБред рд▓реЗрдХрд┐рди, рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдкреЗрд╕ рдХреА рддрд▓рд╛рд╢ рд╣рдореЗрд╢рд╛ рдПрдХ рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдореБрдлреНрдд рд╕реНрдерд╛рди рдЬрд▓реНрджреА рд╕реЗ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рд╣реИ, рддреЛ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд╛рд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЦрд┐рдбрд╝рдХреА рд╕реЗ рдХреИрдорд░реЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЧрд╣рд░реА рд╕реАрдЦрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдореЗрд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдореБрдЭрд╕реЗ рдХрд╣реЗ:

рдЫрд╡рд┐

рдпрд╣ рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд╣рд░реА рд╕реАрдЦрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд▓рд┐рдЦрдирд╛ рддреНрд╡рд░рд┐рдд рдФрд░ рдЖрд╕рд╛рди рд╣реИред рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИрдВ - рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдЦреЛрдЬрдирд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рд░рдЦрдирд╛ рд╣реИред

рддреЛ рдЪрд▓рд┐рдП рдХреБрдЫ рдордЬрд╝рд╛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рдЗрдерди рдФрд░ рдЧрд╣рд░реА рд╢рд┐рдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдЯреАрдХ рдореБрдлреНрдд рдкрд╛рд░реНрдХрд┐рдВрдЧ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рдШрдЯрди


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

рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдХрд┐рдпрд╛:

рдЫрд╡рд┐

рд╡рд┐рдВрдбреЛ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╡реЗрдмрдХреИрдо рд╕реЗ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХрдиреНрд╡реЗрдпрд░ рдЗрдирдкреБрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ:

рдЫрд╡рд┐

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

рдкрд╣рд▓рд╛ рдХрджрдо рдлреНрд░реЗрдо рдореЗрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдирд┐рд░реНрдЬрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХреЗрдВ, рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдХреЗ рдХрд┐рди рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╣реИред

рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдкрд░ рдЖрдкрдХреЛ рд╕рднреА рдХрд╛рд░реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдлреНрд░реЗрдо рд╕реЗ рдлреНрд░реЗрдо рддрдХ рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рддреАрд╕рд░рд╛ рдЪрд░рдг рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдЬрдЧрд╣реЛрдВ рдкрд░ рдорд╢реАрдиреЛрдВ рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИ рдФрд░ рдХреМрди рд╕реА рдирд╣реАрдВ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рджреЛ рдЪрд░рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВред

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

рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХрдиреНрд╡реЗрдпрд░ рдХреА рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ; рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реЛрдВрдЧреЗред рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВред

рд╣рдо рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд▓реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ


рдпрд╣рд╛рдБ рд╣рдорд╛рд░рд╛ рдХреИрдорд░рд╛ рдХреНрдпрд╛ рджреЗрдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдЫрд╡рд┐ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдФрд░ рдкрд╛рд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЫрд╡рд┐

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

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЫрд╡рд┐ рдореЗрдВ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдореАрдЯрд░ рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рд╣реИ:

рдЫрд╡рд┐

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

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╡рд╕реНрддреБ рдорд╛рдиреНрдпрддрд╛ рдореЙрдбрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рд╕рдбрд╝рдХ рдкрд░ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд▓ рдХреЗ рдирд┐рд╢рд╛рди рдХреЛ рджреЗрдЦрддрд╛ рд╣реЛ:

рдЫрд╡рд┐

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

рдЬрдм рдЖрдк рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд┐рдирдЯ рд▓реЗрдВ, рдЬреЛ рдХреБрдЫ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдкрд╛рд░реНрдХрд┐рдВрдЧ рдХреА рдЬрдЧрд╣ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдХрд╛рд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦрдбрд╝реА рд░рд╣рддреА рд╣реИред рд╢рд╛рдпрдж рд╣рдореЗрдВ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░реЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦрдбрд╝реА рд░рд╣рддреА рд╣реИрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддреА рд╣реИрдВ рдХрд┐ рд╡реЗ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдореЗрдВ рдЦрдбрд╝реА рд╣реИрдВ?

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рд╕реНрдерд┐рдд рд╣реИрдВ рдЬрд╣рд╛рдВ рдХрд╛рд░реЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦрдбрд╝реА рд░рд╣рддреА рд╣реИрдВ:

рдЫрд╡рд┐

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдо рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕реА рдлреНрд░реЗрдо рдХреЗ рдмреАрдЪ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИ, рддреЛ рд╣рдо рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдХрд╣рд╛рдБ рд╣реИрдВред рдЙрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ - рдорд╢реАрди рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ!

рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдиреЛ


рдПрдХ рд╡реАрдбрд┐рдпреЛ рдлреНрд░реЗрдо рдкрд░ рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╡рд╕реНрддреБ рдорд╛рдиреНрдпрддрд╛ рдХрд╛рд░реНрдп рд╣реИред рдХрдИ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ "рдкреБрд░рд╛рдиреЗ рд╕реНрдХреВрд▓" рд╕реЗ "рдирдП рд╕реНрдХреВрд▓" рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ:

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

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

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

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

рдЫрд╡рд┐

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

рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп SOCO рдбреЗрдЯрд╛рд╕реЗрдЯ (рдХреЙрдиреНрдЯреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЗрди рдХреЙрдирдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛) рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╛рд╕реНрдХ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЗрдмрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╕рд╛рде 12,000 рд╕реЗ рдЕрдзрд┐рдХ рдЪрд┐рддреНрд░ рд╣реИрдВред рдпрд╣рд╛рдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЫрд╡рд┐ рд╣реИ:

рдЫрд╡рд┐

рдорд╛рд╕реНрдХ рдЖрд░-рд╕реАрдПрдирдПрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдбреЗрдЯрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИред

рд▓реЗрдХрд┐рди рдШреЛрдбрд╝реЛрдВ рдХреЛ рдкрдХрдбрд╝реЛ, рд╡рд╣рд╛рдБ рднреА рдмреЗрд╣рддрд░ рдЦрдмрд░ рд╣реИ! рд╣рдо рдкрд╣рд▓реЗ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ COCO рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ - рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдпрд╣ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдПрдХ рдРрд╕рд╛ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рди рд╕рдХреЗред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореИрдЯрд░рдкреЛрд░реНрдЯ рд╕реЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ ред

рдпрджрд┐ рд╣рдо рдХреИрдорд░реЗ рд╕реЗ рдЗрд╕ рдореЙрдбрд▓ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдорд┐рд▓рддрд╛ рд╣реИ:

рдЫрд╡рд┐

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

рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП, рдорд╛рд╕реНрдХ рдЖрд░-рд╕реАрдПрдирдПрди рдореЙрдбрд▓ 4 рдЪреАрдЬреЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

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

рдиреАрдЪреЗ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдорд╛рд╕реНрдХ R-CNN рдФрд░ OpenVV рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛрдб рд╣реИ:

import numpy as np import cv2 import mrcnn.config import mrcnn.utils from mrcnn.model import MaskRCNN from pathlib import Path # ,     Mask-RCNN. class MaskRCNNConfig(mrcnn.config.Config): NAME = "coco_pretrained_model_config" IMAGES_PER_GPU = 1 GPU_COUNT = 1 NUM_CLASSES = 1 + 80 #   COCO  80  + 1  . DETECTION_MIN_CONFIDENCE = 0.6 #    ,    . def get_car_boxes(boxes, class_ids): car_boxes = [] for i, box in enumerate(boxes): #     ,   . if class_ids[i] in [3, 8, 6]: car_boxes.append(box) return np.array(car_boxes) #   . ROOT_DIR = Path(".") #       . MODEL_DIR = ROOT_DIR / "logs" #       . COCO_MODEL_PATH = ROOT_DIR / "mask_rcnn_coco.h5" #   COCO  . if not COCO_MODEL_PATH.exists(): mrcnn.utils.download_trained_weights(COCO_MODEL_PATH) #     . IMAGE_DIR = ROOT_DIR / "images" #      тАФ   0,    ,   . VIDEO_SOURCE = "test_images/parking.mp4" #   Mask-RCNN   . model = MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=MaskRCNNConfig()) #   . model.load_weights(COCO_MODEL_PATH, by_name=True) #   . parked_car_boxes = None #  ,     . video_capture = cv2.VideoCapture(VIDEO_SOURCE) #      . while video_capture.isOpened(): success, frame = video_capture.read() if not success: break #      BGR ( OpenCV)  RGB. rgb_image = frame[:, :, ::-1] #    Mask R-CNN   . results = model.detect([rgb_image], verbose=0) # Mask R-CNN ,       . #     ,     . r = results[0] #  r    : # - r['rois'] тАФ      ; # - r['class_ids'] тАФ  () ; # - r['scores'] тАФ  ; # - r['masks'] тАФ   (    ). #      . car_boxes = get_car_boxes(r['rois'], r['class_ids']) print("Cars found in frame of video:") #     . for box in car_boxes: print("Car:", box) y1, x1, y2, x2 = box #  . cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 1) #    . cv2.imshow('Video', frame) #  'q',  . if cv2.waitKey(1) & 0xFF == ord('q'): break #    . video_capture.release() cv2.destroyAllWindows() 

рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЬреНрдЮрд╛рдд рдорд╢реАрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдлреНрд░реЗрдо рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:

 Cars found in frame of video: Car: [492 871 551 961] Car: [450 819 509 913] Car: [411 774 470 856] 

рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрдореЗрдЬ рдореЗрдВ рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рд╕реАрдЦрд╛ред

рд╣рдо рдЦрд╛рд▓реА рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ


рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдХреЗ рдкрд┐рдХреНрд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬрд╛рдирддреЗ рд╣реИрдВред рдХрдИ рд▓рдЧрд╛рддрд╛рд░ рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдХрд╛рд░ рдирд╣реАрдВ рдЪрд▓реА, рдФрд░ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рдХрд╛рд░ рдиреЗ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛?

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдорд╢реАрдиреЛрдВ рдХреЗ рдлреНрд░реЗрдо рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдПрдХ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╢реАрди рджреНрд╡рд╛рд░рд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЦрд╛рд▓реА рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ "рд╕рдмрд╕реЗ рдЦрд╛рд▓реА" рдлреНрд░реЗрдо рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдорд╛рдкрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдо Intersection Over Union (рдХреБрд▓ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрдиреБрдкрд╛рдд) рдпрд╛ IoU рдирд╛рдордХ рдПрдХ рдЙрдкрд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЖрдИрдУрдпреВ рдХреЛ рдЙрди рдкрд┐рдХреНрд╕реЗрд▓реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдП рдЧрдП рдкрд┐рдХреНрд╕рд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рддреЛ рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдкреЗрд╕ рдХреЗ рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде рдХрд╛рд░ рдХрд╛ рдмрд╣реБрдд рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдлреНрд░реЗрдо рдХреИрд╕реЗ рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдореБрдлреНрдд рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ IoU рдорд╛рди рдХрдо рд╣реИ, рдЬреИрд╕реЗ 0.15, рддреЛ рдХрд╛рд░ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреА рд╣реИред рдФрд░ рдЕрдЧрд░ рдпрд╣ рдЙрдЪреНрдЪ рд╣реИ, рддреЛ 0.6 рдХреА рддрд░рд╣, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд╛рд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬрдЧрд╣ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрдк рд╡рд╣рд╛рдВ рдкрд╛рд░реНрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЪреВрдВрдХрд┐ IoU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдореЗрдВ рдХрд╛рдлреА рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕ рдЙрдкрд╛рдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдорд╛рд╕реНрдХ рдЖрд░-рд╕реАрдПрдирдПрди рдореЗрдВ, рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди mrcnn.utils.compute_overlaps () рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреА рд╕реВрдЪреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рд░реВрдкрд░реЗрдЦрд╛ рдореЗрдВ рдХрд╛рд░реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реА рд▓рд╛рдЗрди рдпрд╛ рджреЛ рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ рдЪреЗрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

  #      . car_boxes = get_car_boxes(r['rois'], r['class_ids']) # ,        . overlaps = mrcnn.utils.compute_overlaps(car_boxes, parking_areas) print(overlaps) 

рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

 [ [1. 0.07040032 0. 0.] [0.07040032 1. 0.07673165 0.] [0. 0. 0.02332112 0.] ] 

рдЗрд╕ рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рдХреЗ рдПрдХ рдлреНрд░реЗрдо рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рди рдХрд┐рддрдиреА рджреГрдврд╝рддрд╛ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИред 1.0 рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреВрд░реА рдЬрдЧрд╣ рдХрд╛рд░ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдмреНрдЬрд╛ рдХрд░ рдЪреБрдХреА рд╣реИ, рдФрд░ 0.02 рдЬреИрд╕реА рдХрдо рдХреАрдордд рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХрд╛рд░ рдереЛрдбрд╝реА рдЬрдЧрд╣ рдкрд░ рдЪрдврд╝ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА рдЙрд╕ рдкрд░ рдкрд╛рд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд░реНрдЬрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕ рд╕рд░рдгреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╢реВрдиреНрдп рдХреЗ рдХрд░реАрдм рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рди рдореБрдлрд╝реНрдд рд╣реИ!

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╛рдиреНрдпрддрд╛ рд╣рдореЗрд╢рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдпрджреНрдпрдкрд┐ рдорд╛рд╕реНрдХ рдЖрд░-рд╕реАрдПрдирдПрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓ рдХрд╛рдлреА рд╕рдЯреАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордп-рд╕рдордп рдкрд░ рдпрд╣ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ рдПрдХ рдХрд╛рд░ рдпрд╛ рджреЛ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡рд╣ рдЬрдЧрд╣ рдЦрд╛рд▓реА рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдЕрдЧрд▓реЗ 5-10 рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд╣реА рд░рд╣рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╣рдо рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдЧрд▓рддреА рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝ рдХреЗ рдХрд╛рд░рдг рдХрд┐рд╕реА рд╕реНрдерд╛рди рдХреЛ рдЦрд╛рд▓реА рдХрд░ рджреЗрддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕реНрдерд╛рди рдХрдИ рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реБрд▓реНрдХ рд╣реИ, рдЖрдк рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ!

рдПрд╕рдПрдордПрд╕ рднреЗрдЬреЗрдВ


рдореБрдлреНрдд рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕реНрдерд╛рди рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдкрд░ рд╣рдорд╛рд░реЗ рдХрдиреНрд╡реЗрдпрд░ рдХрд╛ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдПрд╕рдПрдордПрд╕ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬ рд░рд╣рд╛ рд╣реИред

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

Twilio рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ, рдПрдХ Twilio рдлрд╝реЛрди рдирдВрдмрд░ рдмрдирд╛рдПрдВ, рдФрд░ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

 $ pip3 install twilio 

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 from twilio.rest import Client #   Twilio. twilio_account_sid = ' Twilio SID' twilio_auth_token = '   Twilio' twilio_source_phone_number = '   Twilio' #    Twilio. client = Client(twilio_account_sid, twilio_auth_token) #  SMS. message = client.messages.create( body=" ", from_=twilio_source_phone_number, to=" ,   " ) 

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

рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛


 import numpy as np import cv2 import mrcnn.config import mrcnn.utils from mrcnn.model import MaskRCNN from pathlib import Path from twilio.rest import Client # ,     Mask-RCNN. class MaskRCNNConfig(mrcnn.config.Config): NAME = "coco_pretrained_model_config" IMAGES_PER_GPU = 1 GPU_COUNT = 1 NUM_CLASSES = 1 + 80 #   COCO  80  + 1  . DETECTION_MIN_CONFIDENCE = 0.6 #    ,    . def get_car_boxes(boxes, class_ids): car_boxes = [] for i, box in enumerate(boxes): #     ,   . if class_ids[i] in [3, 8, 6]: car_boxes.append(box) return np.array(car_boxes) #  Twilio. twilio_account_sid = ' Twilio SID' twilio_auth_token = '   Twilio' twilio_phone_number = '   Twilio' destination_phone_number = ',   ' client = Client(twilio_account_sid, twilio_auth_token) #   . ROOT_DIR = Path(".") #       . MODEL_DIR = ROOT_DIR / "logs" #       . COCO_MODEL_PATH = ROOT_DIR / "mask_rcnn_coco.h5" #   COCO  . if not COCO_MODEL_PATH.exists(): mrcnn.utils.download_trained_weights(COCO_MODEL_PATH) #     . IMAGE_DIR = ROOT_DIR / "images" #      тАФ   0,   ,   . VIDEO_SOURCE = "test_images/parking.mp4" #   Mask-RCNN   . model = MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=MaskRCNNConfig()) #   . model.load_weights(COCO_MODEL_PATH, by_name=True) #   . parked_car_boxes = None #  ,     . video_capture = cv2.VideoCapture(VIDEO_SOURCE) #         . free_space_frames = 0 #    SMS? sms_sent = False #      . while video_capture.isOpened(): success, frame = video_capture.read() if not success: break #      BGR  RGB. rgb_image = frame[:, :, ::-1] #    Mask R-CNN   . results = model.detect([rgb_image], verbose=0) # Mask R-CNN ,       . #     ,     . r = results[0] #  r    : # - r['rois'] тАФ      ; # - r['class_ids'] тАФ  () ; # - r['scores'] тАФ  ; # - r['masks'] тАФ   (    ). if parked_car_boxes is None: #     тАФ ,       . #            . parked_car_boxes = get_car_boxes(r['rois'], r['class_ids']) else: #   ,  . ,   . #     . car_boxes = get_car_boxes(r['rois'], r['class_ids']) # ,         . overlaps = mrcnn.utils.compute_overlaps(parked_car_boxes, car_boxes) # ,    ,      . free_space = False #        . for parking_area, overlap_areas in zip(parked_car_boxes, overlaps): #        #    (, ). max_IoU_overlap = np.max(overlap_areas) #         . y1, x1, y2, x2 = parking_area # ,   ,   IoU. if max_IoU_overlap < 0.15: #  !     . cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 3) # ,        . free_space = True else: #     тАФ   . cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0, 255), 1) #   IoU  . font = cv2.FONT_HERSHEY_DUPLEX cv2.putText(frame, f"{max_IoU_overlap:0.2}", (x1 + 6, y2 - 6), font, 0.3, (255, 255, 255)) #       ,   . #   ,  ,     #      . if free_space: free_space_frames += 1 else: #   ,  . free_space_frames = 0 #       ,  ,   . if free_space_frames > 10: #   SPACE AVAILABLE!!  . font = cv2.FONT_HERSHEY_DUPLEX cv2.putText(frame, f"SPACE AVAILABLE!", (10, 150), font, 3.0, (0, 255, 0), 2, cv2.FILLED) #  ,     . if not sms_sent: print("SENDING SMS!!!") message = client.messages.create( body="Parking space open - go go go!", from_=twilio_phone_number, to=destination_phone_number ) sms_sent = True #    . cv2.imshow('Video', frame) #  'q',  . if cv2.waitKey(1) & 0xFF == ord('q'): break #  'q',  . video_capture.release() cv2.destroyAllWindows() 

рдЙрд╕ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ Python 3.6+, Matterport Mask R-CNN рдФрд░ OpenCV рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

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

рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдзрд┐рдХ рд▓реЗрдЦ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдиреНрдпреВрд░реЙрди (@neurondata) рдореЗрдВ рдкрдврд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрдиреБрд╡рд╛рдж рд▓рд┐рдВрдХ: tproger.ru/translations/parking-searching/

рд╕рд╛рд░рд╛ рдЬреНрдЮрд╛рдиред рдкреНрд░рдпреЛрдЧ!

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


All Articles