Skip to content

Instantly share code, notes, and snippets.

@donkaban
Created October 20, 2016 10:48
Show Gist options
  • Save donkaban/00c7c8b57f0d7eeca223d39e547ac434 to your computer and use it in GitHub Desktop.
Save donkaban/00c7c8b57f0d7eeca223d39e547ac434 to your computer and use it in GitHub Desktop.

Revisions

  1. Kirill A. Shabordin created this gist Oct 20, 2016.
    36 changes: 36 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    В целом, видится несколько направлений атаки:

    1. Определение контура по типу active contour models.
    + не требует обучения => можно начать реализовывать сразу, не имея обучающей выборки, просто некоторое количество тестовых изображений
    - вычислительно довольно трудоемко, возможно только на бэкенде
    - будет вменяемо работать только для поз с немного разведёнными в сторону руками и ногами и в более-менее облегающей одежде

    2. Обучение собственного детектора силуэта по типу dlib (каскад регрессионных деревьев)
    + Потенциально может поддерживать более широкое разнообразие поз (в разумных пределах)
    - Требуется обучающая выборка (как минимум несколько сотен изображений) с разметкой
    довольно большого количества ключевых точек на каждом
    - Для тренировки желательно сделать какой-то инструмент для разметки, иначе
    есть риск, что в датасете будет много косяков, что может сильно испортить результат.
    Варианты:
    a) Непосредственно на базе инфраструктуры dlib
    + Прототип можно сделать быстрее
    - Может возникнуть необходимость глубокой кастомизации под нашу задачу, это повлечет
    за собой необходимость разбираться в деталях их реализации.
    b) Писать аналогичный фреймворк самим
    + Нет зависимости от чужого кода, полный контроль над деталями реализации, возможна лучшая оптимизация под наши нужды
    - Трудоёмко, долго

    3. Разработка архитектуры и обучение свёрточной нейросети.
    Варианты:
    a) Сегментация по частям тела, типа
    http://lmb.informatik.uni-freiburg.de/Publications/2016/OB16a/oliveira16icra.pdf
    b) Определение 3D позы, типа
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.684.76&rep=rep1&type=pdf

    + Если всё удалось - результат может быть очень впечатляющий
    + Даже если результат будет не идеален для непосредственного использования в приложении, в процессе может получиться неплохой API, который можно продавать сам по себе
    - Нужен ОЧЕНЬ большой обучающий датасет (десятки тысяч изображений)
    - Нужно большое количество экспериментов с архитектурой/предобработкой данных и т.п.
    - Каждая перетренировка занимает существенное время
    - Нужна машина с мощным GPU
    - Если что-то не удаётся - можно долго ломать голову, в чем именно проблема - процесс довольно мало предсказуемый