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

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реЗрдЯ рдкрд░ Tensorflow 1.13 рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдкреАрдЖрдИ рдореЗрдВ рддреИрдпрд╛рд░ рдореЙрдбрд▓ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ OpenCV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╡реЗрдм рдХреИрдорд░рд╛ рдХреА рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдмреЗрд░реАрдЬ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдмреЗрд░реА рдорд╛рдиреНрдпрддрд╛ рдХреМрд╢рд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред



рд╕рд╛рдордЧреНрд░реА:

рднрд╛рдЧ I: рдкрд░рд┐рдЪрдп
рднрд╛рдЧ II: рддреЗрдиреЛрд╕реНрд░рдлреНрд▓реЛ рдореЙрдбрд▓
III рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ : OpenCV IV IV рдореЗрдВ рдореЙрдбрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
: рдирд┐рд╖реНрдХрд░реНрд╖

рднрд╛рдЧ I: рдкрд░рд┐рдЪрдп


рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ PyTorch рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓рд╛ рд▓реЗрдЦ рдкрдврд╝рд╛ рд╣реИ, рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдореЗрдВ рдПрдХ рд╢реМрдХрд┐рдпрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрддрд┐рдо рд╕рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рди рджреЗрдЦреЗрдВред рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдХреЛ Tensorflow Object Detection API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдкрд╣рдЪрд╛рди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЦ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛ред
рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ , рд╢рд╛рдпрдж рд╣реА рд╕рдВрдкреВрд░реНрдг рд╣реИред рдиреМрд╕рд┐рдЦрд┐рдП рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдерд╛ рдФрд░ рдмреНрд▓реЙрдЧ рд▓реЗрдЦреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдерд╛ред

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

рднрд╛рдЧ II: TensorFlow рдореЗрдВ рдПрдХ рдореЙрдбрд▓ рдХреЛ рдкрдврд╝рд╛рдирд╛


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

рд╕рдЪ рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрдИ рдорддрднреЗрдж рд╣реИрдВ:

  1. рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдирд╛рдХреЛрдВрдбрд╛ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЛрдЯреЛрдмреБрдл рдФрд░ рдкрд╛рдЗрдХреЛрдХреЛрдкреА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдЦреБрдж рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдереАред
  2. TensorFlow 1.13.2, Object Detection API 1.13 , TensorFlow 1.13.2. master TF 1.15, 1.13.
  3. numpy тАФ 1.17.5, 1.18 .
  4. faster_rcnn_inception_v2_coco ssd_mobilenet_v2_coco, , .

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

рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ, рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓, рдПрдХ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдлрд╝, рд╕рд╛рде рд╣реА рд╕рд╛рде OpenCV рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, GitHub рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдПрдХ рд▓рдВрдмреЗ 23 рдШрдВрдЯреЗ рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВ, рдШрд░ рдХреА рд╕рднреА рдЪрд╛рдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╢реЗ рдореЗрдВ рд╣реИ, тАЬрдХреНрдпрд╛? рдХрд╣рд╛рдБ рдкреЗ? рдХрдм?" рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдореЗрд░рд╛ рдзреИрд░реНрдп рдЖрдЦрд┐рд░рдХрд╛рд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред

рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ рдореЙрдбрд▓ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде "рдПрдирд╛рдХреЛрдВрдбрд╛" рдХреЗ рд╕рдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ OpenCV рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

conda install -c conda-forge opencv

рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рд╕рдВрд╕реНрдХрд░рдг 4.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

рдЖрдЧреЗ, рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЕрдм рд╣рдореЗрдВ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

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

cv2.dnn.readNetFromTensorflow()

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ OpenCV рдХреЗ рд▓рд┐рдП graph.pbtxt рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рддрдереНрдп рдХрд┐ рдЕрдм рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Tf_text_graph_ssd.py

рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдФрд░ tf_text_graph_common.py рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреЗрдВ рдЬрд╣рд╛рдБ рд╣рдорд╛рд░рд╛ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдлрд╝ рд╕реНрдерд┐рдд рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ inference_graph рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ)ред
рдлрд┐рд░ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рд▓рдЧрднрдЧ рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рдПрдХ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

python tf_text_graph_ssd.py --input frozen_inference_graph.pb --config pipeline.config --output graph.pbtxt

рдФрд░ рдпрд╣ рд╕рдм рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЛ OpenCV рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред


рднрд╛рдЧ III: OpenCV рдореЗрдВ рдореЙрдбрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВ


рдЬреИрд╕рд╛ рдХрд┐ OpenCV рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ PyTorch рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдЖрдзрд╛рд░ рдмрдирд╛рдпрд╛ ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рдХрд┐рдП, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреЛрдб рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ OpenCV рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рдмреИрдардиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ ред

OpenCV рдХреЛрдб

# USAGE
# based on this code https://proglib.io/p/real-time-object-detection/
# import the necessary packages
from imutils.video import VideoStream
from imutils.video import FPS
import numpy as np
import imutils
import time
import cv2

prototxt="graph.pbtxt"
model="frozen_inference_graph.pb"
min_confidence = 0.5

# initialize the list of class labels MobileNet SSD was trained to
# detect, then generate a set of bounding box colors for each class
CLASSES = ["background", "duino","raspb"]
COLORS = [(40,50,60),((140,55,130)),(240,150,25)]

# load our serialized model from disk
print("[INFO] loading model...")

net =cv2.dnn.readNetFromTensorflow(model,prototxt)

# initialize the video stream, allow the cammera sensor to warmup,
# and initialize the FPS counter
print("[INFO] starting video stream...")
vs = VideoStream(src=0).start()
time.sleep(0.5)
fps = FPS().start()

# loop over the frames from the video stream
while True:
	# grab the frame from the threaded video stream and resize it
	# to have a maximum width of 400 pixels
	frame = vs.read()
	frame = imutils.resize(frame, width=300)

	# grab the frame dimensions and convert it to a blob
	(h, w) = frame.shape[:2]
	blob = cv2.dnn.blobFromImage(frame, size=(300, 300), swapRB=True)

	# pass the blob through the network and obtain the detections and
	# predictions
	net.setInput(blob)
	detections = net.forward()

	# loop over the detections
	for i in np.arange(0, detections.shape[2]):
		# extract the confidence (i.e., probability) associated with
		# the prediction
		print (detections)
		confidence = detections[0, 0, i, 2]

		if confidence > min_confidence:
			# extract the index of the class label from the
			# `detections`, then compute the (x, y)-coordinates of
			# the bounding box for the object
			idx = int(detections[0, 0, i, 1])
			box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
			(startX, startY, endX, endY) = box.astype("int")

			# draw the prediction on the frame
			label = "{}: {:.2f}%".format(CLASSES[idx],
				confidence * 100)
			cv2.rectangle(frame, (startX, startY), (endX, endY),
				COLORS[idx], 2)
			y = startY - 15 if startY - 15 > 15 else startY + 15
			cv2.putText(frame, label, (startX, y+3),
				cv2.FONT_HERSHEY_SIMPLEX, 0.5, COLORS[idx], 1)

	# show the output frame
	cv2.imshow("Frame", frame)
	key = cv2.waitKey(1) & 0xFF

	# if the `q` key was pressed, break from the loop
	if key == ord("q"):
		break

	# update the FPS counter
	fps.update()

# stop the timer and display FPS information
fps.stop()
print("[INFO] elapsed time: {:.2f}".format(fps.elapsed()))
print("[INFO] approx. FPS: {:.2f}".format(fps.fps()))

# do a bit of cleanup
cv2.destroyAllWindows()
vs.stop()


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



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

рдпрд╣рд╛рдВ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рд╣реИ:



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

рдирддреАрдЬрддрди, рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдПрдХ рдФрд░ 8 рдШрдВрдЯреЗ рддрдХ рд▓реЛрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЙрд╕рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИрдВред

рдпрд╣рд╛рдВ рдХреНрд░рд╛рдлреНрдЯрдбреАрдиреЛ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



рд▓рд╛рдЗрд╡ рд░рд╕рднрд░реА рд╣рд╛рде рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдореБрдЭреЗ рддрд╕реНрд╡реАрд░реЗрдВ рдЫрд╛рдкрдиреА рдереАрдВред рдлреЛрди рдпрд╛ рдореЙрдирд┐рдЯрд░ рдХреА рд╕реНрдХреНрд░реАрди рд╕реЗ, рдЖрдк рдкрд╣рдЪрд╛рди рднреА рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдЧрдЬ рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ред



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



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

рдЕрдм рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд╣ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рд╡рд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдереАред

рдлрд┐рд░ рд╕реЗ, рдПрдХ рдЪрд╛рдХреВ рдФрд░ рдПрдХ рдХрд╛рд▓реЗ рд░рдВрдЧ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг:



рдЗрд╕ рдмрд╛рд░ рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдо рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдХреИрдиреА 3 рдЫреЛрдЯреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ ред



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

рд╕рдЪ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрд░реБрдбрд┐рдиреЛ рдиреИрдиреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╣реБрдд рдХреБрдЫ рдХреЛрдг рдФрд░ рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

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



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




рднрд╛рдЧ IV: рдирд┐рд╖реНрдХрд░реНрд╖


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

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

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

PS рдпрджрд┐ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐
Tensorflow рд╕рдВрд╕реНрдХрд░рдг 2 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдкреАрдЖрдИ рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ , рддреЛ рдХреГрдкрдпрд╛ рдкреАрдПрдо рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред

рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рдФрд░ рдордВрдЧрд▓рдордп рд╣реЛ!

All Articles