Skip to content

Instantly share code, notes, and snippets.

@donkaban
Created October 20, 2016 10:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save donkaban/00c7c8b57f0d7eeca223d39e547ac434 to your computer and use it in GitHub Desktop.
Save donkaban/00c7c8b57f0d7eeca223d39e547ac434 to your computer and use it in GitHub Desktop.
В целом, видится несколько направлений атаки:
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
- Если что-то не удаётся - можно долго ломать голову, в чем именно проблема - процесс довольно мало предсказуемый
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment