Уведомления

Группа в Telegram: @pythonsu

#1 Март 13, 2013 09:36:45

mrgloom
От:
Зарегистрирован: 2010-07-22
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

knn search без загрузки всего в память

Вообщем есть изображения, которые лежат просто в папках.
Для каждого из этих изображений мы создаем вектор признаков(например гистограмму) и затем должны для нового входного изображения найти ближайшее по определенной метрике изображение.
(с гистограммой пример не очень хорший, т.к. это не вектор и метод сравнения там не просто евклидово расстояние, но хотелось бы рассмотреть и в общем виде т.е. имеем data+method+metric)
По идее можно просто взять и сравнивая каждый с каждым перебрать все, сами векторы хранить можно в базе данных.
Но хотелось бы находить например 10 ближайших и для этого наверно можно использовать knn search т.е. чтобы векторы признаков были организованы в виде дерева, но есть условие не загружать всё дерево сразу в память.

есть ли какие либо готовые решения на питоне?



___________________________________________________________________________________________
http://www.lfd.uci.edu/~gohlke/pythonlibs/
https://bitbucket.org/pypy/compatibility/wiki/Home

Офлайн

#2 Март 14, 2013 19:25:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

knn search без загрузки всего в память

Для не очень большого числа признаков можно использовать RTree https://pypi.python.org/pypi/Rtree/
Пакет предусматривает для хранения данных возможность использования zodb.
Еще вариант использовать postgesql http://en.wikipedia.org/wiki/GiST
пользуясь питоновскми интерфейсами к ней.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version