рд╣рдо рд╕рдбрд╝рдХ рдЧреБрдгрд╡рддреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд░реВрд╕реА рд╢рд╣рд░реЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ



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

рдХрд╛рд░реНрдп рдФрдкрдЪрд╛рд░рд┐рдХрддрд╛


рд░реВрд╕ рдореЗрдВ, рд╕рдбрд╝рдХреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ 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 рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрдирд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрджреЛрдВ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдерд╛ред

рдлреЛрдЯреЛ рдореЗрдВ рдЖрдкрдХреЛ рдХреМрди рд╕реА рд╕рдбрд╝рдХ рдХреА рд╕рддрд╣ рджрд┐рдЦрддреА рд╣реИ:

  1. рдорд┐рдЯреНрдЯреА / рдорд▓рдмреЗ
  2. рдлрд╝рд░реНрд╢ рдкрддреНрдерд░, рдЯрд╛рдЗрд▓, рдлреБрдЯрдкрд╛рде
  3. рд░реЗрд▓, рд░реЗрд▓ рдХреА рдкрдЯрд░рд┐рдпрд╛рдБ
  4. рдкрд╛рдиреА, рдмрдбрд╝реЗ рдкреЛрдЦрд░
  5. рдбрд╛рдорд░
  6. рдлреЛрдЯреЛ рдореЗрдВ рдХреЛрдИ рд╕рдбрд╝рдХ рдирд╣реАрдВ рд╣реИ / рд╡рд┐рджреЗрд╢реА рд╡рд╕реНрддреБрдПрдВ / рдХрд╡рд░реЗрдЬ рдХрд╛рд░реЛрдВ рдХреЗ рдХрд╛рд░рдг рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИ

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

  1. рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╡рд░реЗрдЬ
  2. рдереЛрдбрд╝рд╛ рдПрдХрд▓ рджрд░рд╛рд░реЗрдВ / рдЙрдерд▓реЗ рдПрдХрд▓ рдЧрдбреНрдвреЗ
  3. рдмрдбрд╝реА рджрд░рд╛рд░реЗрдВ / рдЧреНрд░рд┐рдб рджрд░рд╛рд░реЗрдВ / рдПрдХрд▓ рдорд╛рдореВрд▓реА рдЧрдбреНрдвреЗ
  4. рдмрдбрд╝реЗ рдЧрдбреНрдвреЗ / рдЧрд╣рд░реЗ рдЧрдбреНрдвреЗ / рдирд╖реНрдЯ рдХрд┐рдП рдЧрдП рд▓реЗрдк

рджрд┐рдЦрд╛рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд░рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╛рдИ рдЯреЛрд▓реЛрдХреА рдирд┐рд╖реНрдкрд╛рджрдХ рдХрд╛рд░реНрдп рдХреА рдЕрдЦрдВрдбрддрд╛ рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ - рд╡реЗ рдЧрд▓рддреА рд╕реЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЦреЗрддреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╢реНрди рдЬреЛрдбрд╝рдирд╛ рдерд╛ (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдореЗрдВ 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 рдорд┐рд▓рд┐рдпрди рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдордЬреЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЕрдЪреНрдЫреЗ рдХрд╡рд░реЗрдЬ рд╡рд╛рд▓реЗ рд╕рдбрд╝рдХреЛрдВ рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рджрд╕ рд╢рд╣рд░реЛрдВ рдХреЛ рддреБрд░рдВрдд рд▓рд╛рдПрдБ:



рдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛ (рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░)



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



рдкреВрд░реА рдореЗрдЬ


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



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



рдЦреИрд░, рдпрд╣ рд╕рдм, рд╣рд░ рдХреЛрдИ рдЦреБрдж рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред

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

рдЪрд┐рддреНрд░



рдкреАрдПрд╕ рдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рддрд╕реНрд╡реАрд░реЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдХрдореА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ред рдореИрдВ рд╕рд╣реА рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджреЗрддрд╛ рд╣реВрдВ:

рд╕рд╛рд▓


рдлрд╝реЛрдЯреЛ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреАрд╕реА


200837
200913
2010157,030
201160,724
201242,387
201312148

2014141,021

201546143

2016410,385

2017324,279

2018581,961

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


All Articles