Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Практическое использование Tensorflow

75 views

Published on

Поиск и подсчет пешеходов в потоке с камер видеонаблюдения.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Практическое использование Tensorflow

  1. 1. Практическое использование tensorflow: Поиск и подсчет пешеходов в потоке с камер видеонаблюдения. Олег Катков
  2. 2. Олег Катков Dipl. Engineer Mad Devs, Kyrgyzstan Опыт разработки проектов различной сложности более 10 лет. Основные направления: системное программирование, встраиваемые системы(AVR, ARM, IAR), обработка сигналов.
  3. 3. Зачем считать людей? 1. Безопасность
  4. 4. Зачем считать людей? 1. Безопасность 2. Анализ эффективности торговли
  5. 5. Зачем считать людей? 1. Безопасность 2. Анализ эффективности торговли 3. Оптимизация расписания для персонала
  6. 6. Зачем считать людей? 1. Безопасность 2. Анализ эффективности торговли 3. Оптимизация расписания для персонала 4. Контроль персонала
  7. 7. Зачем считать людей? 1. Безопасность 2. Анализ эффективности торговли 3. Оптимизация расписания для персонала 4. Контроль персонала 5. Планирование служебных мероприятий
  8. 8. Есть несколько вариантов решения задачи подсчета людей
  9. 9. Хардварный 1. Лазер + фоторезистор 2. Ультразвуковой дальномер 3. Инфракрасные лучи
  10. 10. Лазер + фоторезист
  11. 11. Ультразвуковой дальномер 1. Не очень большое расстояние (400см.) 2. Невысокая точность. 3. Чувствительность к среде.
  12. 12. Инфракрасные лучи
  13. 13. Плюсы и минусы этих решений 1. Невозможность отличить человека от пакета 2. Большая погрешность 3. Чувствительность к среде 1. Дешевизна 2. Простота сборки и установки 3. Высокая точность в узких проходах
  14. 14. Алгоритмические 1. Признаки Хаара ● Состоит из смежных прямоугольных областей ● Работает очень быстро ● Выдает неплохой результат
  15. 15. Алгоритмические 2. Нейронные сети ● Сложная математическая модель ● Требует высоких вычислительных мощностей. Автор: Dake, Mysid - Vectorized by Mysid in CorelDraw on an image by Dake., CC BY 1.0, https://commons.wikimedia.org/w/index.php?curid=1412126
  16. 16. OpenCV и каскады Хаара в задаче подсчета людей
  17. 17. OpenCV - Open source computer vision library Автор: Adi Shavit - http://opencv.willowgarage.com/wiki/OpenCVLogo, Общественное достояние, https://commons.wikimedia.org/w/index.php?curid=26547749
  18. 18. Каскады Хаара из примеров OpenCV дают вот такой результат!
  19. 19. Tensorflow сложная технология, которую легко использовать
  20. 20. DistBelief - 2011г. Закрытая система для внутренних проектов Google. В 2013 присоединился Джефф Дин и Джеффри Хинтон (метод обобщенного обратного распространения ошибки).
  21. 21. DistBelief - 2011г. Закрытая система для внутренних проектов Google. В 2013 присоединился Джефф Дин и Джеффри Хинтон (метод обобщенного обратного распространения ошибки). TensorFlow - 2015г . Логическое развитие DistBelief. Возможность параллельного выполнения на нескольких процессорах или GPU.
  22. 22. DistBelief - 2011г. Закрытая система для внутренних проектов Google. В 2013 присоединился Джефф Дин и Джеффри Хинтон (метод обобщенного обратного распространения ошибки). TensorFlow - 2015г . Логическое развитие DistBelief. Возможность параллельного выполнения на нескольких процессорах или GPU. Тензорный процессор (TPU) - 2016г Нужен для использования, а не обучения. Похож на видеокарту без модулей растеризации и текстур.
  23. 23. Установка tensorflow требует некоторой внимательности. 1. Есть docker контейнеры, которые по документации должны сразу и без проблем запускаться. Это не так для tensorflow-gpu. Необходимо поставить/скомпиллировать правильную версию CUDA. 2. Можно поставить с помощью pip (для python) 3. Можно собрать из исходников. Это самый классный вариант, который позволит собрать API не только для python
  24. 24. Следующий этап - получить стрим со своей камеры
  25. 25. Необходимый минимум 1. IP-камера (Hikvision в нашем случае). 2. Raspberry PI + модем. 3. Debian сервер с видеокартой Nvidia. 4. Nginx + rtmp модуль. 5. Изолента (синяя)
  26. 26. Более крутой вариант заменить прошивку камеры Заменять прошивку на камерах мы можем, но не будем.
  27. 27. Высокотехнологичный сетап для подсчета количества уходящих на перекур сотрудников.
  28. 28. Следующий шаг - замена модели на yolo3 1. Увеличение FPS 2. Улучшение качества распознавания 3. Увеличение количества типов объектов
  29. 29. Затем необходимо реализовать слежение за объектом ● FPS был всё еще недостаточно высок (около 6 кадров в секунду) ● Сложности с объектами стоящими на линии ● Есть очень крутые решения в OpenCV
  30. 30. Дальнейшие планы 1. Переписать на C++ 2. Собрать tensorflow с использованием intel compiler collection и math kernel library 3. Испробовать TPU
  31. 31. Контакты Олег Катков ● Email: lezh1k.vohrer@gmail.com ● Telegram: @o_katkov ● Статьи Medium: https://medium.com/@lezh1k.vohrer

×