Jump to content
Compvision.ru

EFilimonov

Пользователи
  • Content count

    2
  • Joined

  • Last visited

Everything posted by EFilimonov

  1. Добрый день, Я сделал приложение на OpenCV + MFC для управления мышкой людьми с неврологическими нарушениям https://preability.com/face-controlled-mouse/ Человек сидит и двигает головой перед вебкой ноутбука, мышка двигается, он улыбается – происходит клик и пр. В целом, курсор удалось стабилизировать за счет отслеживания согласованного движения точек + EWMA фильтра (Калмана тяжелее и оказался не особо лучше). Разрежение угловых точек по всей площади тоже помогло немного. Но я вижу, что у похожей старой программы (eViacam) идет предварительная обработка изображения (с такими же древними внешними библиотеками для вебкамер). И за счет этого угловые точки стабильнее. Я включил equalizeHist() для ROI в области лица. В темноте детектор стал работать гораздо лучше. Но лицевые точки все равно пляшут при неровном освещении. Старая прога справлялась. Я абсолютно не в теме предварительной обработки и хочу понять, что можно сделать с видео на входе дектектора? Пробовал подключить морфологию openCV, но не особо улучшил, зато нагрузил процессор. А у многих людей ноуты на целеронах. Подскажите, пожалуйста, кто в теме, как улучшить видео для детектора??? Не обязательно библиотеки OpenCV, главное на лету и не слишком нагружая процессор...
  2. Стабилизация лицевых точек OpenCV

    Отвечу на свой вопрос, может быть кому-то пригодится. Christoph Rackwitz дал мне хороший совет: Я изменил алгоритм. Когда угловые точки передаются алгоритму MOSSE, а не оптическому потоку то курсор ведет себя гораздо стабильнее. Возникла небольшая проблема с дискретным перемещением, поскольку рамки объектов перемещались одновременно на равное число пикселей. Поэтому и курсор двигался скачками. Поэтому пришлось устанавливать фильтр не на курсор, а на каждую точку. Но, как видно на видео, в итоге нагрузка на процессор не увеличилась. https://www.youtube.com/watch?v=WKwuas0GVkA 1. Lucas-Kanade optical flow: goodFeaturesToTrack(), cornerSubPix(), calcOpticalFlowPyrLK(), cursor EWMA filter 2. MOSSE object tracking: goodFeaturesToTrack(), cornerSubPix(), cv::legacy::TrackerMOSSE, all points EWMA filtration И, конечно, мне нужно было не забывать включить библиотеку tracking453.lib to Linker. Я потратил полдня, выясняя причину unresolved external symbol LNK2001 error при включении cv::legacy::Tracker. Почему то включение трекера из основной библиотеки (cv::Tracker) не приводило к этой ошибке компиляции, это сбивало с толку. Basel Face model, если получится, попробую для отслеживания мимики. Smorodov, спасибо что обратили внимание!
×