-
Количество публикаций
1 427 -
Зарегистрирован
-
Посещение
-
Days Won
176
Все публикации пользователя Nuzhny
-
Трекеры на Малабе я точно пробовать не буду - слишком долго переписывать. Могу какие-нибудь исходники на С++ заинтегрировать.
- 48 replies
-
- детектор движения
- motion detection
- (и ещё %d)
-
Можно, конечно.
-
То есть разобраться и потестить стоит? Эх, ладно.
- 48 replies
-
- детектор движения
- motion detection
- (и ещё %d)
-
Я использую тул от Google - butteraugli.
-
Продолжу задавать вопросы. Есть такая штука, как Gaussian Mixture Probability Hypothesis Density for Visual People Tracking. Даже исходники есть: https://github.com/blefaudeux/gmphd Кто-нибудь применял или имеет мнение об этой штуке? Как она для трекинга в детекторе движения? Стоит смотреть и разбираться?
- 48 replies
-
- детектор движения
- motion detection
- (и ещё %d)
-
Недавно обсуждали похожую тему
-
Ха! Это шутка такая?
-
Ну так надо освоить работу с компилятором/Студией. Всё таки рабочий инструмент как-никак.
-
Перекомпилировать, чтобы битность совпадала.
-
SWT уже не особо актуально. Для начала OpenCV. В последнем tesseract'е, кстати, уже вовсю используют нейросети. Так что надо убедиться, что использовался именно он.
-
Помогите понять как работают признаки Хаара
Nuzhny replied to Fransua's topic in Обсуждение общих вопросов
1. По определению. Это просто операция интегрирования функции - вейвлета Хаара. Если бы он имел другой вид, то производилась бы другая операция. 2. А что дало бы сложение двух областей? Ответ: для всех вариантов вейвлетов мы бы получили одно и тоже число, а именно сумму в квадратике. И зачем это надо? Разница же показывает, какая часть темнее, а какая светлее. -
Помогите понять как работают признаки Хаара
Nuzhny replied to Fransua's topic in Обсуждение общих вопросов
Вейвлеты Хаара. Сложение - это интегрирование. Если бы что-то умножалось, то признаки не назывались бы признаками Хаара, а какими-нибудь другими. То есть ответ на вопрос - складываются по определению. Теперь второй вопрос - почему именно вейвлеты Хаара взяты за базис? Потому что суммы можно очень быстро вычислять по интегральному изображению: 4 считывания в память и 3 сложения. Это очень быстро. И третий вопрос, который может возникнуть. Есть ли что-то ещё? Есть и много. Мы сейчас говорим о классической связке признак + классификатор, а именно о Haar + AdaBoost. Также популярна связка LBP + AdaBoost, которая быстрее, но менее точна. Есть HOG + SVM, её для лиц использует библиотека dlib (вроде как там сложнее, чуть ли не dpm, но это уже детали). Так вот связка Haar + AdaBoost была прорывной в своё время, впервые для прикладных задач появилась возможность искать объект на изображениях в реальном времени. В фотоаппаратах появилась функция поиска лиц, функция автоматической съёмки по улыбкам. Это всё Haar + AdaBoost и чуть позже LBP + AdaBoost. Типа революционная фича, которая сейчас используется намного реже. Началась эра глубоких нейросетей. -
cv::warpPerspective P.S. Я люблю читать исходники библиотек, которые использую. Можно делать это и в отладчике. После этого большинство вопросов проясняется.
- 18 replies
-
- surf
- общие точки
- (и ещё %d)
-
На картинке показан вертикальный профиль изображения, в каждой строке которого вычислено некоторое значение. Данные разрежены. На этой картинке не очень заметно, но это должна быть синусоида. Мне хочется её как-нибудь аппроксимировать. МНК? Фурье? Здесь про какого-то Писаренко рассказывают. От меня это всё как-то далековато, может есть у кого-нибудь опыт в таких штуках? P.S. Если вдруг разыщется ещё и ссылка на плюсовую библиотеку, то буду невероятно благодарен.
-
Думаю, да, особых проблем не вижу. Другое дело, что к этой задаче у меня как-то и интереса нет, и времени нет свободного тоже.
-
И правда, такой подход выглядит наиболее вменяемым. Для сравнения как раз и создана, упомянутая выше функция, cv::matchTemplate.
-
Тогда рекомендую начать с Фотошопа или Гимпа. Если научиться работать с порогами руками, то повторить это в программе будет легче за счёт наличия понимания: как оно вообще работает.
-
Просто порогами не получается?
-
Повторить Photoscan за 5 штук? Нееее
-
Размер, угол - меняется? Если нет, то простой корреляцией можно найти (cv::matchTemplate).
-
Код на С# выглядит довольно страшно и громоздко. Умножать как обычно: строка на столбец, всё как в школе учили. Отрицательные значения координат появиться могут: допустим, плата смещена на втором изображении сильно влево, выходит за границы. Конечно, координаты будут отрицательными. А нельзя написать пример на С++, убедиться, что он работает, а только потом переписывать? Потому что проблемы с типами (double или float) быть могут, почему нет? В С++ проблем с этим нет, потому что всё решается на этапе компиляции. А твои конверты типа BitConverter.ToDouble(arr, 0) могут привести к чему угодно, если ты с типом не угадал. P.S. В очередной раз убеждаюсь, что лучше всего писать такого рода приложения на С++ или Питоне, в крайнем случае на Матлабе.
- 18 replies
-
- surf
- общие точки
- (и ещё %d)
-
1. Отрицательные конечно могут быть: там же смещения и углы поворота есть. Можно же поворачивать в разные стороны и сдвигаться в разные стороны. 2. (x, y, 1). Откуда на плоскости z?
- 18 replies
-
- surf
- общие точки
- (и ещё %d)
-
Надо к координатам добавить 1 и получится вектор 3х1. Это называется однородные координаты.
- 18 replies
-
- surf
- общие точки
- (и ещё %d)