-
Количество публикаций
6 -
Зарегистрирован
-
Посещение
Все публикации пользователя Dead Veritas
-
Здравствуйте. Есть такая задача: все видели на полках в супермаркетах товары, есть как попало брошенные, есть те что красиво расставленые. Речь пойдет о вторых. Есть фотка полок супермаркета, есть фотка определенного товара(какой-то пример в базе данных). Нужно на фотке с супермаркета найти данный нам пример (как показано на фотке ниже) Вопрос состоит в том, как это легче реализировать, какими способами и может какойто примерчик Cпасибо!
-
Использование FlaNN (Fast Library for Approximate Nearest Neighbors) для приблизительного поиска похожих изображений в базе данных
Dead Veritas replied to Dead Veritas's topic in OpenCV
Над SURF уже работают, это нужно как альтернатива, поэтому SURF не является альтернативой. И если я правильно понимаю то cvMatchTemplate здесь не подходит, поскольку шаблоны могут быть другого размера чем на входном фото и под разным углом, освещением. вопрос справится ли FLANN с задачей быстрого поиска в базе подобных объектов как на входном фото? Может ли FLANN найти координати шаблона на фото? -
Спасибо за совет. SURF то что надо! Но теперь большой вопрос как приспособиты SURF к базе данных из более 1000 продуктов. Не бежать же по базе и проверять наличие каждого продукта? Подскажите что-то эффективное пожалуйста
-
Продуктов должно быть много и они должны быть найдены на фото как можно скорее. Пока с adaBoosting удалось добиться незначительных результатов! Да и по неизвестным причинам иногда зависает haartraining при обучении . (Было бы супер если бы ктота подсказал где может быть проблема). фрагмент кода где возможно проблема (cvhaartraining.cpp) for( ; ; ) { ok = callback( &img, userdata ); if( !ok ) break; CCOUNTER_INC(thread_consumed_count); sumdata = (sum_type*) (data->sum.data.ptr + i * data->sum.step); tilteddata = (sum_type*) (data->tilted.data.ptr + i * data->tilted.step); normfactor = data->normfactor.data.fl + i; sum.data.ptr = (uchar*) sumdata; tilted.data.ptr = (uchar*) tilteddata; icvGetAuxImages( &img, &sum, &tilted, &sqsum, normfactor ); if( cascade->eval( cascade, sumdata, tilteddata, *normfactor ) != 0.0F ) { CCOUNTER_INC(thread_getcount); break; } } насчет кода: как видите должно виполнится какое-то условие чтоб выйти с цикла, но при построении некоторых класыфикаторов почемуто условие не выполняется и цикл не останавливается(при том что для предидущих все было ок (да кстати на другой ОС для того же vec файла и тех же параметров тоже все било ок)) Дело в том что для данной задачи надо найти метод устойчив к разному освещению, угла наклона и масштаба.
-
стоит ли использовать adaBoosting в данной задаче,или это будет некорректно?