
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдЕрдкрдиреЗ рдЧреГрд╣рдирдЧрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рдХрд╛рд░ рдЪрд▓рд╛рдХрд░ рдФрд░ рджреВрд╕рд░реЗ рдЧрдбреНрдвреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛: рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рджреЗрд╢ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдРрд╕реА "рдЕрдЪреНрдЫреА" рд╕рдбрд╝рдХреЗрдВ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рджреЗрд╢ рдХреА рд╕рдбрд╝рдХреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрд╛рд░реНрдп рдФрдкрдЪрд╛рд░рд┐рдХрддрд╛
рд░реВрд╕ рдореЗрдВ, рд╕рдбрд╝рдХреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ GOST R 50597-2017 "рд╕рдбрд╝рдХреЛрдВ рдФрд░ рд╕рдбрд╝рдХреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдбрд╝рдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░рд┐рдЪрд╛рд▓рди рд░рд╛рдЬреНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБред рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рддрд░реАрдХреЗред " рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреИрд░рд┐рдЬрд╡реЗ, рд░реЛрдбрд╕рд╛рдЗрдб, рдбрд┐рд╡рд╛рдЗрдбрд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдкреНрд╕, рдлреБрдЯрдкрд╛рде, рдкреИрджрд▓ рдпрд╛рддреНрд░реА рдорд╛рд░реНрдЧ, рдЖрджрд┐ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреНрд╖рддрд┐ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рд╕рдбрд╝рдХреЛрдВ рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдХреЗрд╡рд▓ рд╕рдбрд╝рдХ рдорд╛рд░реНрдЧ рдХреЗ рдХрд╡рд░реЗрдЬ рдореЗрдВ рджреЛрд╖реЛрдВ рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред GOST R 50597-2017 рд╕рдбрд╝рдХ рдорд╛рд░реНрдЧ рдХреА рдХреЛрдЯрд┐рдВрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛрд╖реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ:
- рдЧрдбреНрдвреЗ
- рдЙрд▓реНрд▓рдВрдШрдиреЛрдВ
- рдШрдЯрд╛рд╡
- рдмрджрд▓рд╛рд╡
- рдХрдВрдШреА
- рдЯреНрд░реИрдХ
- рдкрд╕реАрдирд╛ рдЖрдирд╛ рдмрд╛рдВрдзрдиреЗ рдХреА рдорд╢реАрди
рдореИрдВрдиреЗ рдЗрди рджреЛрд╖реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣
рдореБрдЭреЗ рдРрд╕реА рддрд╕реНрд╡реАрд░реЗрдВ рдХрд╣рд╛рдБ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рд╕рдбрд╝рдХ рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рднреА? рдЬрд╡рд╛рдм рд╕реНрдлрдЯрд┐рдХреЛрдВ рдореЗрдВ рдЖрдпрд╛ - рдпрд╛рдВрдбреЗрдХреНрд╕ (рдпрд╛ Google) рдХреЗ рдирдХреНрд╢реЗ рдкрд░ рдкреИрдиреЛрд░рдорд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдереЛрдбрд╝реА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдХрдИ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓реЗ:
- рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдЗрдВрдЬрди рдЬрд╛рд░реА рдХрд░рдирд╛;
- рд╢рд┐рдХрд╛рдпрддреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рддрд╕реНрд╡реАрд░реЗрдВ (рд░реЛрд╢реНрдпрд╛рдорд╛, рдЧреБрд╕реНрд╕реЗ рдореЗрдВ рдирд╛рдЧрд░рд┐рдХ, рдкреБрдгреНрдп, рдЖрджрд┐)
- Opendatascience рдиреЗ рдПрдХ рдЪрд┐рд╣реНрдирд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдбрд╝рдХ рджреЛрд╖ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ - github.com/sekilab/RoadDamageDetector
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡реЗ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ: рдЦреЛрдЬ рдЗрдВрдЬрди рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╢реЛрд░ рд╣реЛрддрд╛ рд╣реИ (рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВ рдЬреЛ рд╕рдбрд╝рдХ рдирд╣реАрдВ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рд░реЗрдВрдбрд░, рдЖрджрд┐), рд╢рд┐рдХрд╛рдпрддреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдбрд╛рдорд░ рдХреА рд╕рддрд╣ рдХреЗ рдмрдбрд╝реЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рд╕рд╛рде рддрд╕реНрд╡реАрд░реЗрдВ рд╣реИрдВред , рдХрд╡рд░реЗрдЬ рдХреА рдереЛрдбрд╝реА рд╕реА рднреА рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рд╕рд╛рде рдФрд░ рдЗрди рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдлреА рдХрдо рддрд╕реНрд╡реАрд░реЗрдВ рд╣реИрдВ, рд░реЛрдбрдбреИрдореЗрдЬрдбреЗрдХреНрдЯрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЬрд╛рдкрд╛рди рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрд╡рд░реЗрдЬ рдХреЗ рдмрдбрд╝реЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рд╕рд╛рде рдирдореВрдиреЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдмрд┐рдирд╛ рдХрд╡рд░реЗрдЬ рдХреЗ рд╕рдбрд╝рдХреЗрдВ рднреА рд╣реИрдВред
рдЪреВрдВрдХрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рдпреИрдВрдбреЗрдХреНрд╕ рдкреИрдиреЛрд░рд╛рдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рдореИрдВрдиреЗ Google рдкреИрдиреЛрд░рдорд╛ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реВрд╕ рдореЗрдВ рдХрдо рд╢рд╣рд░реЛрдВ рдореЗрдВ рд╕реЗрд╡рд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдо рдмрд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЙрдиреНрд╣реЛрдВрдиреЗ 100 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреА рдЖрдмрд╛рджреА рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдВрдШреАрдп рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рд╢рд╣рд░реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдореИрдВрдиреЗ рд╢рд╣рд░ рдХреЗ рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдИ - рдЙрдирдореЗрдВ рд╕реЗ 176 рдереЗ, рдмрд╛рдж рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 149 рдореЗрдВ рдкреИрдиреЛрд░рдорд╛ рд╣реИред рдореИрдВ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЯрд╛рдЗрд▓реЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рддрд▓реНрд▓реАрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ 149 рдлрд╝реЛрд▓реНрдбрд░реНрд╕ (рдкреНрд░рддреНрдпреЗрдХ рд╢рд╣рд░ рдХреЗ рд▓рд┐рдП рдПрдХ) рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рдХреБрд▓ 1.7 рдорд┐рд▓рд┐рдпрди рддрд╕реНрд╡реАрд░реЗрдВ рдереАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЛрд╡реЛрдХреБрдЬрд╝рдиреЗрдЯреНрд╕рдХ рдХреЗ рд▓рд┐рдП, рдлрд╝реЛрд▓реНрдбрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:

рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ, рд╢рд╣рд░реЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рддрд╛рд▓рд┐рдХрд╛| рд╢рд╣рд░ 
 | рдлрд╝реЛрдЯреЛ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреАрд╕реА 
 | 
|---|
| рдорд╛рд╕реНрдХреЛ 
 
 | 86,048 
 
 | 
| рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ 
 
 | 41,376 
 
 | 
| рд╕рд░рд╛рдВрд╕реНрдХ 
 
 | 18,880 
 
 | 
| рдкреЛрдбреЙрд▓реНрд╕реНрдХ 
 
 | 18,560 
 
 | 
| Krasnogorsk 
 
 | 18,208 
 
 | 
| рд▓реНрдпреВрдмреЗрд░реНрддреНрд╕реА 
 
 | 17,760 
 
 | 
| рдХреИрд▓рд┐рдирд┐рдирдЧреНрд░рд╛рдж 
 
 | 16,928 
 
 | 
| рдХреЛрд▓реЙрдореНрдирд╛ 
 
 | 16,832 
 
 | 
| Mytishchi 
 
 | 16,192 
 
 | 
| рд╡реНрд▓рд╛рджрд┐рд╡реЛрд╕реНрддреЛрдХ 
 
 | 16096 
 
 | 
| рдмрд╛рд▓рд╛рд╢реАрдЦрд╛ 
 
 | 15,968 
 
 | 
| рдкреЗрдЯреНрд░реЛрдЬрд╝рд╛рд╡реЛрджреНрд╕реНрдХ 
 
 | 15,968 
 
 | 
| Ekaterinburg 
 
 | 15808 
 
 | 
| рд╡реЗрд▓рд┐рдХрд┐ рдиреЛрд╡рдЧреЛрд░реЛрдб 
 
 | 15,744 
 
 | 
| рдирдмреЗрд░реЗрдЬрд╝реНрдирд┐рд╢ рдЪреЗрд▓реНрдиреА 
 
 | 15680 
 
 | 
| рдХреНрд░рд╛рд╕реНрдиреЛрдбрд╛рд░ 
 
 | 15520 
 
 | 
| рдирд┐рдЬрд╝рдиреА рдиреЛрд╡рдЧреЛрд░реЛрдб 
 
 | 15,488 
 
 | 
| Khimki 
 
 | 15296 
 
 | 
| рддреБрд▓рд╛ 
 
 | 15296 
 
 | 
| рдиреЛрд╡реЛрд╕рд┐рдмрд┐рд░реНрд╕реНрдХ 
 
 | 15,264 
 
 | 
| Tver 
 
 | 15200 
 
 | 
| Miass 
 
 | 15104 
 
 | 
| рдЗрд╡рд╛рдирд╡рд╛ 
 
 | 15072 
 
 | 
| рд╡реЛрд▓реЛрдЧреНрджрд╛ 
 
 | 15,008 
 
 | 
| Zhukovsky 
 
 | 14,976 
 
 | 
| рдХреЛрд╕реНрддрд░реЛрдорд╛ 
 
 | 14,912 
 
 | 
| рд╕рдореЗрд░рд╛ 
 
 | 14,880 
 
 | 
| рдХреЛрд░реЛрд▓реЗрд╡ 
 
 | 14,784 
 
 | 
| рдХрд▓реБрдЧрд╛ 
 
 | 14,720 
 
 | 
| рдЪреЗрд░реЗрдкреЛрд╡реЗрдЯреНрд╕ 
 
 | 14,720 
 
 | 
| рд╕реЗрд╡рд╕реНрддреЛрдкреЛрд▓ 
 
 | 14,688 
 
 | 
| Pushkino 
 
 | 14,528 
 
 | 
| рдпрд░реЛрд╕реНрд▓рд╛рд╡ 
 
 | 14,464 
 
 | 
| рдЙрд▓реНрдпрд╛рдиреЛрд╕реНрдХ 
 
 | 14400 
 
 | 
| рд░реЛрд╕реНрддреЛрд╡-рдСрди-рдбреЙрди 
 
 | 14,368 
 
 | 
| Domodedovo 
 
 | 14304 
 
 | 
| Kamensk-Uralsky 
 
 | 14208 
 
 | 
| рдкреНрд╕рдХреЛрд╡ 
 
 | 14144 
 
 | 
| Yoshkar-Ola 
 
 | 14080 
 
 | 
| рдХреЗрд░реНрдЪ 
 
 | 14080 
 
 | 
| рдорд░рдордВрд╕реНрдХ 
 
 | 13,920 
 
 | 
| рдЯреЙрд▓рд┐рдпрд╛рдЯреА 
 
 | 13,920 
 
 | 
| рд╡реНрд▓рд╛рджрд┐рдореАрд░ 
 
 | 13,792 
 
 | 
| Orel 
 
 | 13,792 
 
 | 
| рд╕рд┐рдХреНрддрд┐рд╡рдХрд╛рд░ 
 
 | 13,728 
 
 | 
| рдорд╛рд╕реНрдХреЛ рдореЗрдВ 
 
 | 13,696 
 
 | 
| Khanty-Mansiysk 
 
 | 13664 
 
 | 
| рдХрдЬрд╝рд╛рди 
 
 | 13600 
 
 | 
| рдПрдВрдЧреЗрд▓реНрд╕ 
 
 | 13440 
 
 | 
| рдЖрд░реНрдХрд╛рдиреНрдЬреЗрд╕реНрдХ 
 
 | 13280 
 
 | 
| рдмреНрд░рд╛рдВрд╕реНрдХ 
 
 | 13,216 
 
 | 
| рдУрдореНрд╕реНрдХ 
 
 | 13120 
 
 | 
| рд╕рд┐рдЬрд╝рд░рд╛рди 
 
 | 13088 
 
 | 
| рдХреНрд░рд╛рд╕реНрдиреЛрдпрд╛рд░реНрд╕реНрдХ 
 
 | 13056 
 
 | 
| Shchelkovo 
 
 | 12928 
 
 | 
| рдкреЗрдиреНрдЬрд╝рд╛ 
 
 | 12,864 
 
 | 
| рдЪреЗрд▓реНрдпрд╛рдмрд┐рдВрд╕реНрдХ 
 
 | 12,768 
 
 | 
| рдЪреЗрдмреЙрдХреНрд╕рд╛рд░реА 
 
 | 12,768 
 
 | 
| рдирд┐рдЬрд╝рдиреА рдЯреИрдЧрд┐рд▓ 
 
 | 12672 
 
 | 
| рд╕реНрдЯрд╛рд╡рд░реЛрдкреЛрд▓ 
 
 | 12672 
 
 | 
| рдорд╛рд╕реНрдХреЛ рдореЗрдВ 
 
 | 12640 
 
 | 
| рдЗрд░рдХреБрддреНрд╕реНрдХ 
 
 | 12608 
 
 | 
| рдПрдВрдЧрд╛рд░реНрд╕реНрдХ 
 
 | 12608 
 
 | 
| Tyumen 
 
 | 12512 
 
 | 
| Odintsovo 
 
 | 12512 
 
 | 
| рдКрдлрд╝рд╛ 
 
 | 12512 
 
 | 
| рдореИрдЧрд╛рдбрди 
 
 | 12512 
 
 | 
| рдкреЗрд░реНрдо 
 
 | 12,448 
 
 | 
| рдХреАрд░реЙрдлрд╝ 
 
 | 12,256 
 
 | 
| рдХрдЬрд╝рд╛рди 
 
 | 12,224 
 
 | 
| Makhachkala 
 
 | 12,096 
 
 | 
| Nizhnevartovsk 
 
 | 11936 
 
 | 
| рдХреБрд░реНрд╕реНрдХ 
 
 | 11,904 
 
 | 
| рд╕реЛрдЪреА 
 
 | 11,872 
 
 | 
| рддрд╛рдВрдмреЛрд╡ 
 
 | 11840 
 
 | 
| рдкреНрдпрддрд┐рдЧреЛрд░реНрд╕реНрдХ 
 
 | 11,808 
 
 | 
| рд╡реЛрд▓реНрдЧреЛрдбреЛрдиреНрд╕реНрдХ 
 
 | 11712 
 
 | 
| рд░рд┐рдпрд╛рдЬрд╝рд╛рди 
 
 | 11680 
 
 | 
| рд╕реЗрд░рд╛рдЯреЛрд╡ 
 
 | 11616 
 
 | 
| рдЬрд╝рд░реНрдЬрд╝рд┐рд╕реНрдХ 
 
 | 11,456 
 
 | 
| рдСрд░реЗрдирдмрд░реНрдЧ 
 
 | 11,456 
 
 | 
| рдареЗрд▓рд╛ 
 
 | 11,424 
 
 | 
| рд╡реЛрд▓реНрдЧреЛрдЧреНрд░рд╛рдб 
 
 | 11,264 
 
 | 
| рдЗрдЬрд╝рд╛рд╕реНрдХ 
 
 | 11,168 
 
 | 
| Zlatoust 
 
 | 11,136 
 
 | 
| рд▓рд┐рдкреЗрддреНрд╕реНрдХ 
 
 | 11,072 
 
 | 
| рдХрд┐рд╕реНрд▓реЛрд╡реЛрджреНрд╕реНрдХ 
 
 | 11,072 
 
 | 
| Surgut 
 
 | 11040 
 
 | 
| Magnitogorsk 
 
 | 10,912 
 
 | 
| рд╕реНрдореЛрд▓реЗрдВрд╕реНрдХ 
 
 | 10,784 
 
 | 
| рдЦрд╛рдмрд░реЛрд╡рд╕реНрдХ 
 
 | 10752 
 
 | 
| Kopeysk 
 
 | 10,688 
 
 | 
| Maikop 
 
 | 10,656 
 
 | 
| рдкреЗрддреНрд░реЛрдкрд╛рд╡реНрд▓реЗрд╡реНрд╕реНрдХ-рдХрдордЪреЗрддреНрд╕реНрдХреА 
 
 | 10,624 
 
 | 
| рддрдЧрд╛рдирд░реЛрдЧ 
 
 | 10560 
 
 | 
| рдмрд░реНрдирдКрд▓ 
 
 | 10528 
 
 | 
| рд╕рд░реНрдЧрд┐рд╡ рдкреЛрд╕рдб 
 
 | 10368 
 
 | 
| Elista 
 
 | 10304 
 
 | 
| Sterlitamak 
 
 | 9920 
 
 | 
| рд╕рд┐рдореНрдлрд╝рд░реЛрдкреЛрд▓ 
 
 | 9824 
 
 | 
| рдЯреЙрдореНрд╕реНрдХ 
 
 | 9760 
 
 | 
| рдЕрдЦрд░реЛрдЯ-Zuevo 
 
 | 9728 
 
 | 
| рдЖрд╕реНрдЯреНрд░рд╛рдЦрд╛рди 
 
 | 9664 
 
 | 
| рдпреЗрд╡реНрдкреЗрддреЛрд░рд┐рдпрд╛ 
 
 | 9568 
 
 | 
| рдиреЛрдЧрд┐рдВрд╕реНрдХ 
 
 | 9344 
 
 | 
| рдЪреАрддрд╛ 
 
 | 9216 
 
 | 
| рдмреЗрд▓рдЧреЙрд░реЙрдб 
 
 | 9120 
 
 | 
| Biisk 
 
 | 8928 
 
 | 
| Rybinsk 
 
 | 8896 
 
 | 
| рд╕реЗрд╡реЗрд░реЙрджреНрд╡реАрдиреНрд╕реНрдХ 
 
 | 8832 
 
 | 
| рд╡реЛрд░реЛрдирд┐рд╢ 
 
 | 8768 
 
 | 
| Blagoveshchensk 
 
 | 8672 
 
 | 
| рдиреЛрд╡реЛрд░реЛрд╕реНрд╕рд┐рдпреНрд╕реНрдХ 
 
 | 8608 
 
 | 
| Ulan-Ude 
 
 | 8576 
 
 | 
| рд╕реЗрд░рдкреБрдЦреЛрд╡ 
 
 | 8320 
 
 | 
| On-рдЕрдореВрд░ 
 
 | 8192 
 
 | 
| Abakan 
 
 | 8128 
 
 | 
| рдиреЛрд░рд┐рд▓реНрд╕реНрдХ 
 
 | 8096 
 
 | 
| рдпреБрдЬрд╝рдиреЛ-рд╕рдЦрд▓реАрдВрд╕реНрдХ 
 
 | 8032 
 
 | 
| рдУрдмрдирд┐рдВрд╕реНрдХ 
 
 | 7904 
 
 | 
| Essentuki 
 
 | 7712 
 
 | 
| рдбреЙрди рдореЗрдВ 
 
 | 7648 
 
 | 
| Volzhsky 
 
 | 7584 
 
 | 
| рдиреЛрд╡реЛрдЪреЗрд░реНрдХрд╕реНрдХ 
 
 | 7488 
 
 | 
| Berdsk 
 
 | 7456 
 
 | 
| рдЕрд░рдЬрд╝рд╛рдорд╛рд╕ 
 
 | 7424 
 
 | 
| Pervouralsk 
 
 | 7392 
 
 | 
| рдХреЗрдорд░реЛрд╡реЛ 
 
 | 7104 
 
 | 
| рдмрд┐рдЬрд▓реА рд╕реНрдЯреАрд▓ 
 
 | 6720 
 
 | 
| Derbent 
 
 | 6592 
 
 | 
| рдпрд╛рдХреБрддреНрд╕реНрдХ 
 
 | 6528 
 
 | 
| рдореВрд░ 
 
 | 6240 
 
 | 
| Nefteyugansk 
 
 | 5792 
 
 | 
| Reutov 
 
 | 5696 
 
 | 
| Birobidzhan 
 
 | 5440 
 
 | 
| Novokuibyshevsk 
 
 | 5248 
 
 | 
| рд╕рд▓реЗрдЦрд░реНрдб 
 
 | 5184 
 
 | 
| рдиреЛрд╡реЛрдХреБрдЬрд╝рдиреЗрдЯреНрд╕рдХ 
 
 | 5152 
 
 | 
| рдиреЛрд╡реА рдЙрд░реЗрдВрдЧреЙрдп 
 
 | 4736 
 
 | 
| Noyabrsk рдореЗрдВ 
 
 | 4416 
 
 | 
| рдиреЛрд╡реЛрдЪреЗрдмреЙрдХреНрд╕рд░реНрд╕реНрдХ 
 
 | 4352 
 
 | 
| рдореАрдареЗ рдкрд╛рдиреА рдХреА рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЫреЛрдЯреА рдордЫрд▓реА 
 
 | 3968 
 
 | 
| Kaspiysk 
 
 | 3936 
 
 | 
| рд╕реНрдЯрд╛рд░реА Oskol 
 
 | 3840 
 
 | 
| Artyom 
 
 | 3744 
 
 | 
| Zheleznogorsk 
 
 | 3584 
 
 | 
| Salavat 
 
 | 3584 
 
 | 
| Prokopevsk 
 
 | 2816 
 
 | 
| рдЧрд╝реЛрд░реНрдиреЛ-Altaisk 
 
 | 2464 
 
 | 
 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛рд╕реЗрдЯ рдЗрдХрдЯреНрдареЗ рд╣реБрдП рд╣реИрдВ, рдЕрдм рдХреИрд╕реЗ, рд╕рдбрд╝рдХ рдЦрдВрдб рдФрд░ рд╕рдВрд▓рдЧреНрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рд╣реЛрдиреЗ рдкрд░, рдЙрд╕ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдбрд╛рдорд░ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ? рдореИрдВрдиреЗ рдордзреНрдп рдХреЗ рдареАрдХ рдиреАрдЪреЗ рдореВрд▓ рдлрд╝реЛрдЯреЛ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ 350 * 244 рдкрд┐рдХреНрд╕реЗрд▓ рдорд╛рдкрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЛрдЯреЛ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдХрд╛рдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдлрд┐рд░ рдХрдЯреЗ рд╣реБрдП рдЯреБрдХрдбрд╝реЗ рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ 244 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рддрдХ рдХрдо рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ (244 * 244 рдЖрдХрд╛рд░ рдореЗрдВ) рдЗрдиреЛрд╡реЗрдЯрд┐рд╡ рдПрдирдХреЛрдбрд░ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рд╣реЛрдЧреА:

рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдкрд╣рд▓реЗ 2000 рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдореИрдВрдиреЗ рдЦреБрдж рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдмрд╛рдХреА рдЪрд┐рддреНрд░реЛрдВ рдХреЛ Yandex.Tolki рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрдирд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрджреЛрдВ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдерд╛ред
рдлреЛрдЯреЛ рдореЗрдВ рдЖрдкрдХреЛ рдХреМрди рд╕реА рд╕рдбрд╝рдХ рдХреА рд╕рддрд╣ рджрд┐рдЦрддреА рд╣реИ:
- рдорд┐рдЯреНрдЯреА / рдорд▓рдмреЗ
- рдлрд╝рд░реНрд╢ рдкрддреНрдерд░, рдЯрд╛рдЗрд▓, рдлреБрдЯрдкрд╛рде
- рд░реЗрд▓, рд░реЗрд▓ рдХреА рдкрдЯрд░рд┐рдпрд╛рдБ
- рдкрд╛рдиреА, рдмрдбрд╝реЗ рдкреЛрдЦрд░
- рдбрд╛рдорд░
- рдлреЛрдЯреЛ рдореЗрдВ рдХреЛрдИ рд╕рдбрд╝рдХ рдирд╣реАрдВ рд╣реИ / рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБрдПрдВ / рдХрд╡рд░реЗрдЬ рдХрд╛рд░реЛрдВ рдХреЗ рдХрд╛рд░рдг рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИ
рдпрджрд┐ рдХрд▓рд╛рдХрд╛рд░ рдиреЗ "рдбрд╛рдорд░" рдЪреБрдирд╛, рддреЛ рдПрдХ рдореЗрдиреВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдЬреЛ рдЗрд╕рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ:
- рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╡рд░реЗрдЬ
- рдереЛрдбрд╝рд╛ рдПрдХрд▓ рджрд░рд╛рд░реЗрдВ / рдЙрдерд▓реЗ рдПрдХрд▓ рдЧрдбреНрдвреЗ
- рдмрдбрд╝реА рджрд░рд╛рд░реЗрдВ / рдЧреНрд░рд┐рдб рджрд░рд╛рд░реЗрдВ / рдПрдХрд▓ рдорд╛рдореВрд▓реА рдЧрдбреНрдвреЗ
- рдмрдбрд╝реЗ рдЧрдбреНрдвреЗ / рдЧрд╣рд░реЗ рдЧрдбреНрдвреЗ / рдирд╖реНрдЯ рдХрд┐рдП рдЧрдП рд▓реЗрдк
рджрд┐рдЦрд╛рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд░рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╛рдИ рдЯреЛрд▓реЛрдХреА рдирд┐рд╖реНрдкрд╛рджрдХ рдХрд╛рд░реНрдп рдХреА рдЕрдЦрдВрдбрддрд╛ рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ - рд╡реЗ рдЧрд▓рддреА рд╕реЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЦреЗрддреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╢реНрди рдЬреЛрдбрд╝рдирд╛ рдерд╛ (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдореЗрдВ 46 рддрд╕реНрд╡реАрд░реЗрдВ рдереАрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 12 рдирд┐рдпрдВрддреНрд░рдг рдереАрдВ) рдФрд░ рд╡рд┐рд▓рдВрдмрд┐рдд рд╕реНрд╡реАрдХреГрддрд┐ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдерд╛ред рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЙрди рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рд╡рд┐рд▓рдВрдмрд┐рдд рд╕реНрд╡реАрдХреГрддрд┐ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рджрд┐рдпрд╛ - Y. Toloka рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдо CSV рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрд╡рд╛рдмреЛрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрджрд┐ рдХрд╛рд░реНрдп рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5% рд╕реЗ рдЕрдзрд┐рдХ рдЧрд▓рдд рдЙрддреНрддрд░ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЕрдзреВрд░рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдареЗрдХреЗрджрд╛рд░ рдиреЗ рдПрдХ рдЙрддреНрддрд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рддреНрдп рдХреЗ рдХрд░реАрдм рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд╣реА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореБрдЭреЗ рд▓рдЧрднрдЧ 30 рд╣рдЬрд╛рд░ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдлреЛрдЯреЛ рдорд┐рд▓реЗ, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреАрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:
- "рдЕрдЪреНрдЫрд╛" - "рдбрд╛рдорд░: рдЙрддреНрдХреГрд╖реНрдЯ рдХреЛрдЯрд┐рдВрдЧ" рдФрд░ "рдбрд╛рдорд░: рдорд╛рдореВрд▓реА рдПрдХрд▓ рджрд░рд╛рд░реЗрдВ" рд▓реЗрдмрд▓ рд╡рд╛рд▓реА рддрд╕реНрд╡реАрд░реЗрдВ
- "рдордзреНрдп" - "рдкрддреНрдерд░, рдЯрд╛рдЗрд▓реНрд╕, рдлреБрдЯрдкрд╛рде", "рд░реЗрд▓, рд░реЗрд▓рд╡реЗ рдЯреНрд░реИрдХ" рдФрд░ "рдбрд╛рдорд░: рдмрдбрд╝реА рджрд░рд╛рд░реЗрдВ / рдЧреНрд░рд┐рдб рджрд░рд╛рд░реЗрдВ / рдПрдХрд▓ рдорд╛рдЗрдирд░ рдбреЗрдВрдЯ" рд▓реЗрдмрд▓ рд╡рд╛рд▓реА рддрд╕реНрд╡реАрд░реЗрдВ
- "рдмрдбрд╝реЗ" - "рдорд┐рдЯреНрдЯреА / рдХреБрдЪрд▓ рдкрддреНрдерд░", "рдкрд╛рдиреА, рдмрдбрд╝реЗ рдкреЛрдЦрд░" рдФрд░ "рдбрд╛рдорд░" рд▓реЗрдмрд▓ рд╡рд╛рд▓реА рддрд╕реНрд╡реАрд░реЗрдВ: рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЧрдбреНрдвреЗ / рдЧрд╣рд░реЗ рдЧрдбреНрдвреЗ / рдирд╖реНрдЯ рдлреБрдЯрдкрд╛рде "
- рдЯреИрдЧ рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░реЗрдВ "рдлреЛрдЯреЛ рдореЗрдВ рдХреЛрдИ рд╕рдбрд╝рдХ рдирд╣реАрдВ рд╣реИ / рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБрдПрдВ / рдХрд╡рд░реЗрдЬ рдХрд╛рд░реЛрдВ рдХреЗ рдХрд╛рд░рдг рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИ" рдмрд╣реБрдд (22 рдкреАрд╕реА) рдереЗ рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ред
рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг
рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдФрд░ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░рд┐рдпрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдЫрд╡рд┐ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЫреЛрдЯреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП рджреГрдврд╝ рдПрдирдХреЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдЫрд┐рдкреА рд╣реБрдИ рдкрд░рдд рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЖрдХрд╛рд░ рдХреА рдПрдХ рдЗрдирдкреБрдЯ рдкрд░рдд 128 рдФрд░ рдЖрдХрд╛рд░ рдХреА рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рдд 3. рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЗрдореЗрдЬрдиреЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрдИ рддреИрдпрд╛рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдПрдирдХреЛрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдВ:
- Xception
- Resnet
- рдЖрд░рдВрдн
- Vgg16
- Densenet121
- Mobilenet
рдпрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рджрд┐рдП рдЧрдП рдПрдирдХреЛрдбрд░ рдХреЗ рд╕рд╛рде рдХреЗрд░рд╕ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ:
def createModel(typeModel): conv_base = None if(typeModel == "nasnet"): conv_base = keras.applications.nasnet.NASNetMobile(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "xception"): conv_base = keras.applications.xception.Xception(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "resnet"): conv_base = keras.applications.resnet50.ResNet50(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "inception"): conv_base = keras.applications.inception_v3.InceptionV3(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "densenet121"): conv_base = keras.applications.densenet.DenseNet121(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "mobilenet"): conv_base = keras.applications.mobilenet_v2.MobileNetV2(include_top=False, input_shape=(224,224,3), weights='imagenet') if(typeModel == "vgg16"): conv_base = keras.applications.vgg16.VGG16(include_top=False, input_shape=(224,224,3), weights='imagenet') conv_base.trainable = False model = Sequential() model.add(conv_base) model.add(Flatten()) model.add(Dense(128, activation='relu', kernel_regularizer=regularizers.l2(0.0002))) model.add(Dropout(0.3)) model.add(Dense(3, activation='softmax')) model.compile(optimizer=keras.optimizers.Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy']) return model 
рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ 
рдХреЗрд░рд╕ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╡реГрджреНрдзрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдореБрдЭреЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧ рд░рд╣реА 
рдереАрдВ , рддрдм рдореИрдВрдиреЗ 
рдСрдЧрдореЗрдВрдЯреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛):
- рдврд▓рд╛рдиреЛрдВ
- рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдХреГрддрд┐
- рд░реЛрдЯреЗрд╢рди
- рд░рдВрдЧ рд╕реНрд╡реИрдк
- рдмрджрд▓рд╛рд╡
- рд╡рд┐рдкрд░реАрдд рдФрд░ рдЪрдордХ рдмрджрд▓реЗрдВ
- рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╢реЛрд░ рдЬреЛрдбрд╝рдирд╛
- рдЫрд┐рдбрд╝рдХрдирд╛
рд╡реГрджреНрдзрд┐ рдХреЗ рдмрд╛рдж, рддрд╕реНрд╡реАрд░реЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ:

рдЬрдирд░реЗрдЯрд░ рдХреЛрдб:
 def get_datagen(): train_dir='~/data/train_img' test_dir='~/data/test_img' testDataGen = ImageDataGenerator(rescale=1. / 255) train_generator = datagen.flow_from_directory( train_dir, target_size=img_size, batch_size=16, class_mode='categorical') p = Augmentor.Pipeline(train_dir) p.skew(probability=0.9) p.random_distortion(probability=0.9,grid_width=3,grid_height=3,magnitude=8) p.rotate(probability=0.9, max_left_rotation=5, max_right_rotation=5) p.random_color(probability=0.7, min_factor=0.8, max_factor=1) p.flip_left_right(probability=0.7) p.random_brightness(probability=0.7, min_factor=0.8, max_factor=1.2) p.random_contrast(probability=0.5, min_factor=0.9, max_factor=1) p.random_erasing(probability=1,rectangle_area=0.2) p.crop_by_size(probability=1, width=244, height=244, centre=True) train_generator = keras_generator(p,batch_size=16) test_generator = testDataGen.flow_from_directory( test_dir, target_size=img_size, batch_size=32, class_mode='categorical') return (train_generator, test_generator) 
рдХреЛрдб рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╡реГрджреНрдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рдж, рдЖрдк рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕реЗ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдкреВрд░рд╛ рдХрд░реЗрдВрдЧреЗ: рдкрд╣рд▓рд╛, рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░рд┐рдпрд░ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ, рдлрд┐рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░реЗ рдореЙрдбрд▓ рдХреЛред
 def evalModelstep1(typeModel): K.clear_session() gc.collect() model=createModel(typeModel) traiGen,testGen=getDatagen() model.fit_generator(generator=traiGen, epochs=4, steps_per_epoch=30000/16, validation_steps=len(testGen), validation_data=testGen, ) return model def evalModelstep2(model): early_stopping_callback = EarlyStopping(monitor='val_loss', patience=3) model.layers[0].trainable=True model.trainable=True model.compile(optimizer=keras.optimizers.Adam(lr=1e-5), loss='binary_crossentropy', metrics=['accuracy']) traiGen,testGen=getDatagen() model.fit_generator(generator=traiGen, epochs=25, steps_per_epoch=30000/16, validation_steps=len(testGen), validation_data=testGen, callbacks=[early_stopping_callback] ) return model def full_fit(): model_names=[ "xception", "resnet", "inception", "vgg16", "densenet121", "mobilenet" ] for model_name in model_names: print("#########################################") print("#########################################") print("#########################################") print(model_name) print("#########################################") print("#########################################") print("#########################################") model = evalModelstep1(model_name) model = evalModelstep2(model) model.save("~/data/models/model_new_"+str(model_name)+".h5") 
Full_fit () рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫрд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рд╣реЛрдВрдЧреЗ, рд╣рдо рд▓реЗрдмрд▓ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЗрди рдореЙрдбрд▓реЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ;
| рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо 
 | рд╢реБрджреНрдзрддрд╛% 
 | 
| Xception 
 | 87.3 
 | 
| Resnet 
 | 90.8 
 | 
| рдЖрд░рдВрдн 
 | 90.2 
 | 
| Vgg16 
 | 89.2 
 | 
| Densenet121 
 | 90.6 
 | 
| Mobilenet 
 | 86.5 
 | 
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдиреЗ рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рдЕрдзрд┐рдХ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдЯреАрдХрддрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдФрд╕рдд рд╕реЗ рдореЙрдбрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛:
 def create_meta_model(): model_names=[ "xception", "resnet", "inception", "vgg16", "densenet121", "mobilenet" ] model_input = Input(shape=(244,244,3)) submodels=[] i=0; for model_name in model_names: filename= "~/data/models/model_new_"+str(model_name)+".h5" submodel = keras.models.load_model(filename) submodel.name = model_name+"_"+str(i) i+=1 submodels.append(submodel(model_input)) out=average(submodels) model = Model(inputs = model_input,outputs=out) model.compile(optimizer=keras.optimizers.Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy']) return model 
рдкрд░рд┐рдгрд╛рдореА рд╕рдЯреАрдХрддрд╛ 91.3% рдереАред рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдкрд░, рдореИрдВрдиреЗ рд░реБрдХрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЕрдВрдд рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдлрд╝рд╛рдпрд░ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ! рдореИрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ - рдПрдХ рджрд┐рди рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдФрд░ 1.7 рдорд┐рд▓рд┐рдпрди рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдордЬреЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЕрдЪреНрдЫреЗ рдХрд╡рд░реЗрдЬ рд╡рд╛рд▓реЗ рд╕рдбрд╝рдХреЛрдВ рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рджрд╕ рд╢рд╣рд░реЛрдВ рдХреЛ рддреБрд░рдВрдд рд▓рд╛рдПрдБ:

рдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛ (рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░) рдФрд░ рдпрд╣рд╛рдБ рд╕рдВрдШреАрдп рд╡рд┐рд╖рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдбрд╝рдХ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд░реЗрдЯрд┐рдВрдЧ рд╣реИ:

рд╕рдВрдШреАрдп рдЬрд┐рд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд░реЗрдЯрд┐рдВрдЧ:

рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрд╕ рдореЗрдВ рд╕рдбрд╝рдХ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рд╡рд┐рддрд░рдг:

рдЦреИрд░, рдпрд╣ рд╕рдм, рд╣рд░ рдХреЛрдИ рдЦреБрдж рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд╕реНрд╡реАрд░реЗрдВ рджреВрдВрдЧрд╛ (рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдирдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ):
рдкреАрдПрд╕ рдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рддрд╕реНрд╡реАрд░реЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдХрдореА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ред рдореИрдВ рд╕рд╣реА рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджреЗрддрд╛ рд╣реВрдВ:
| рд╕рд╛рд▓ 
 | рдлрд╝реЛрдЯреЛ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреАрд╕реА 
 | 
| 2008 | 37 | 
| 2009 | 13 | 
| 2010 | 157,030 | 
| 2011 | 60,724 | 
| 2012 | 42,387 | 
| 2013 | 12148 
 
 | 
| 2014 | 141,021 
 
 | 
| 2015 | 46143 
 
 | 
| 2016 | 410,385 
 
 | 
| 2017 | 324,279 
 
 | 
| 2018 | 581,961 
 
 |