• Как правильно спроектировать приложение по распознаванию лиц?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Проектируйте микросервисно. Получится как лего: опрятно и взаимозаменяемо.
    Тем более разные части можно делегировать подружкам по кафедре.

    Итак, микросервисы:
    • 1. Модуль захвата. Можно сделать на основе opencv. Присасывается к видео-потоку и ищет что-то похожее на лица, трекает их (opencv это хорошо умеет). Кадры с лицами гурппами кладёт в очередь (которая у вас отдельным микросервисом рядом крутится). Группы нужны, чтобы можно было улучшить распознавание за счет выбора наиболее однозначно распознаваемых ракурсов.
    • 2. Сервис распознавания. Вытаскивает таски с группами фоток из очереди и кидает в другую очередь на классификацию. После классификации всех вариантов группы выбирает самые надёжные варианты и пишет в БД события.
    • 3. Сервис классификации. Это воркер, он может масштабироваться (запускаться в нескольких экземплярах).
    • Достаёт таск (фоточку) из очереди, даёт своей нейроночке, а та выдаёт идентификатор класса и степень похожести.
    • 4. Вебсервис реализации дэш-борда - рендер и публикация текущей статисики и текущих событий.
    • 5. Сервис срочных уведомлений - выискивает из БД свежие тревожные события и рассылает СМС, дёргает сирену и активирует пулемётные турели.

    Читайте про SOLID. Это надо знать и уметь как "отче наш".
    Ответ написан
    2 комментария
  • Какие на данный момент существуют open source проекты на python в котором есть задачи для новичков?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Выбирайте любой. И начинайте перевод документации. Дело не совсем приятное, но по ходу начнете понимать всю кухню и сможете подключиться к более сложным задачам.
    Ответ написан
    Комментировать