Перейти к содержимому
Compvision.ru

mrgloom

Пользователи
  • Количество публикаций

    2 302
  • Зарегистрирован

  • Посещение

  • Days Won

    142

Сообщения, опубликованные пользователем mrgloom


  1. В таком случае можно брать и лицевые точки, но тогда мы возвращаемся к проблеме, что они дрожат.

     

    Вот кстати похоже показана проблема движущихся объектов и слабовыраженного фона на 24 секунде.

     

    А вот этот эффект я не понял почему возникает

     


  2. Тут есть простой пример стабилизации видео

    http://nghiaho.com/?p=2093

    Но не очень понятно за счет чего алгоритм не реагирует на движущийся объект, или все будет стабилизироватся относительно объекта, если он будет занимать большую часть кадра?

    Мой кейз это съемка с фронтальной телефонной камеры, когда лицо занимает большую часть кадра, при этом человек может идти, т.е. фон сзади будет перемещатся.

     

    Возможно для стабилизации видео есть что то получше уже готовое?


  3. У меня опыта использования нет, я пытаюсь это прикрутить для задачи трекинга не bbox,  а лицевых точек, идея в goturn максимально тупая они там просто подают 2 картинки, каждую в свою fully convolutional часть, потом конкатят и сверху fully connected слои, они там даже не заморачивались и взяли просто caffenet, по сути должно работать в ~2 раза медленнее чем базовая сетка для классификации.


  4. Кто то пробовал GOTURN? правда ли выдаёт 100 fps? возможно есть уже что то побыстрее\получше? возможно можно ветки с Conv как то ускорить, а FC выкинуть(оставить 1)?

    http://davheld.github.io/GOTURN/GOTURN.html

     

    Походу развитие идеи с выкидыванием FC layer

    https://github.com/bertinetto/siamese-fc

     

    А тут малый размер

    https://github.com/bertinetto/cfnet


  5.    


       

     

    В итоге вроде как Lukas-Kanade и Kalman Filter люди используют.

    Преза от MSQRD на вопрос не отвечает, или имеется ввиду Test time results averaging. Run regressor 5 times and average results! причем непонятно это по 5 кадрам или по 5 разным инитам шейпа приближения.

    В openface вроде тоже какие то трекеры используются

    https://github.com/TadasBaltrusaitis/OpenFace/blob/master/lib/local/LandmarkDetector/src/LandmarkDetectorFunc.cpp#L215

     

    • Like 1

  6. Какие есть методы для 'стабилизации' лицевых особых точек на видео (предполагается что для каждого кадра предиктится моделью отдельно).

    В каку сторону смотреть kalman filter, point trackers? (так же хотелось бы не только стабильности, но и чтобы предиктить не на каждом кадре)

    Возможно есть какие то архитектуры dnn которые предсказывают не покадрово, а для видео(3d convolutions, rnn)?

     

    Пример где это сильно заметно

     


  7. Главная сложность(зависит от фото) это детектирование ректа плитки, потом разворот, кроп.

    Любой бинарный классификатор который отвечает на да\нет например linear SVM, любые фичи color hist например и т.д. или сразу пихать в CNN кроп.

    Для классификатора сложность так же может представлять если кол-во битых плиток очень маленькое (несбалансированная выборка).

    • Like 1

  8. Если надо просто ответить на вопрос да \ нет, то ищем rect, вырезаем и пихаем в классификатор.

     А так все равно надо смотреть на фото, от этого будет зависеть сложность задачи.

    • Like 1

  9. В 19.03.2018 at 21:39, Nuzhny сказал:

    А чем тут LSTM помочь может? Исходники не смотрел, но он, по идее, должен помогать не для распознавания отдельных символов, а для коррекции слов и предложений. Нет?

    А для твоей цели важны именно символы.

    Ну это смотря как применять:

    1. Одно дело это неявное моделирование словаря и\или частоты встречающихся соседних букв.

    2. Другое это если подавать пиксели столбцами то как раз получаем последовательность, где подпоследовательность столбцов составляет букву.

     

    Вот например пример OCR на Keras (CNN+LSTM+CTC loss), где не надо делить на символы вообще, т.е. выборка подается как картинка - строка, так же насколько я понимаю и для seq2seq модели.

    https://github.com/keras-team/keras/blob/master/examples/image_ocr.py


  10. Кто то пробовал применять tesseract-ocr не для классического OCR?

    Например чтение показателей с электронного циферблата, распознавание номеров, распознавание капч, text in the wild?

    Есть ли какой то смысл его использовать для данных задач? Судя по changelog они сейчас используют LTSM, так почему бы не использовать какой то более популярный фреймвор для DL?

    https://github.com/tesseract-ocr/tesseract/blob/master/ChangeLog

    На вскидку не нашел какие шрифты \ словари \ языки поддерживаются, чтобы можно было сразу и наглядно понять.


  11. Как сделать piecewise affine warp наиболее быстро?

    То что сейчас есть:

    Берется список трианглов и по 1 варпается на 1 потоке через warpAffine(для каждого триангла берется кроп вокруг него, варпается изображение и маска и вставляется на dst картинку по маске)

     

    Варианты:

    1. Сделать n тредов, каждый варпает свой триангл, будут ли проблемы при записи в 1 dst изображение?

    2. Возможно быстрее посчитать координаты и сделать 1 раз remap?

    3. Использовать cuda::warpAffine / cuda::remap.

    4. Использовать что то типа opengl просто отрисовывая трианглы (они заранее заданы и константы, т.е. меняется только положение на dst изображении)

     

    Еще варианты? Подводные камни?


  12. Что я сделал:

    Взял рэндомное фронтальное лицо, задетектил 68 точек через dlib, потом через opencv сделал  delaunay triangulation, оставил только то что внутри рамки(+eps) от hog face detector'а из dlib, потом вручную убрал мелкие треугольники которые мне показались ненужными и замержил некоторые точки. Как минус рот и глаза не открываются.

    В итоге норм, но может быть есть какой то стандард или можно лучше?

    тут вот например https://github.com/MarekKowalski/FaceSwap

    используют candide и кстати зачем нужно 3D? там какой то метод сложнее чем piecewise affine warp треугольников, а так же python 2.7 и коменты на польском так что пока отложил.

×