Fesor
@Fesor
Full-stack developer (Symfony, Angular)

Какие факторы влияют на точность сравнения объектов при помощи Hu моментов?

Есть система для поиска по изображению в каталоге. На данный момент сложность состоит в том, что помимо нужных результатов в выборке попадаются вообще ниразу не похожие изображения.


Поиск производится следующим образом. Есть база эталонов (база с уже посчитанными Hu моментами). При загрузке изображения, берется Canny, чуть обрабатывается и высчитываются моменты. Потом просто идет сортировка по результату сравнения моментов.


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


Пробовал применить аппроксимацию, но увы ничего толком не вышло. Поиск уже не инвариантен по отношению к положению объекта на картинке.


Собственно, когда я экспериментировал, я заметил, что если оставить только чистый контур, система работает хуже, нежели если в контуре что-то есть. Хотя по логике точность сравнения должна повыситься, но на деле вышло хуже.


Словом вопрос в следующем. Как можно объяснить то, что при сравнении двух субъективно совершенно разных объектов, разность моментов меньше, чем при сравнении субъективно более похожих объектов. Как это можно исправить?

У меня есть предположение что на это влияет наличие шума внутри контура. Он на каждой фотографии разный. Хотя в некоторых случаях мне совсем непонятен этот баг/фича.
  • Вопрос задан
  • 3034 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы