Есть база из 5 млн jpg-картинок с людьми(на 1 картинке может быть более 1 человека, а может не быть вообще), задача состоит в том, чтобы найти людей которые максимально похожи на требуемые картинки. То есть, например, дается 5-10 картинок одного человека, а инструмент находит максимально похожих людей из базы.
Есть ли готовые варианты с открытым кодом ? Или посоветуйте - как это лучше реализовать....
Благодарен за любые пинки в нужную сторону!
Необходимо, чтобы искало именно идентичное содержимое картинки, а не одинаковые картинки (т.е. не просто сравнение, а именно - анализ контента). При этом картинки можно перевести в ЧБ вариант и в формат, скажем, BMP.. Проблем с этим нет
Владимир Олохтонов, а то, что вы сбросили, сможет найти похожего человека? Просто задача на 1 раз... в скорости вопрос особо не стоит
А вы свое решение продаете? Код не нужен, по факту - индексатор и поисковик
synapse_people, нет, не продаю, оно не подходит для коммерческого использования.
У сети facenet очень важное требование - фотографии, которые вы ищете должны быть похожи по композиции и размерам на те, что были в обучающем множестве, иначе результаты будут отстойными.
Кроме того, если вы собираетесь искать людей, которых не было в обучающем множестве, то сеть потребуется дообучить.
В целом так устроены все современные сервисы, имеющие под капотом нейронные сети.
Владимир Олохтонов, дело в том, что я не планирую использовать в комм. целях... нужен инструмент на 1 раз, который бы нашел картинки с похожими людьми...
Я дальше я бы нашел вручную все остальное!) просто есть фотки на телефоне, необходимо найти человека с них... задача проста)
5 млн картинок из профилей фейсбука
Подойдет ysda-celebrity-faces?
synapse_people, посмотрите на описание сети facenet (она под капотом), там показано к какому виду должны быть приведены фотографии, чтобы с ними можно было нормально работать.
Если вкратце, то 160x160 с лицом во всю фотографию.
После того, как вы приведете к такому виду весь ваш датасет, вам нужно будет сравнить расстояния между векторными представлениями фотографий из датасета и фотографией-запросом, их можно посчитать с помощью facenet, фотографии с меньшим расстоянием будут более похожи на ваш запрос.
PS: На мой взгляд вы задолбаетесь в процессе, а результаты вас скорее всего разочаруют, в нейронных сетях нет магии.
Владимир Олохтонов, магии нет, но это пока один инструмент, чтобы осуществить такой поиск(исправьте, если нет)
А насчет результата, то если аккуратность поиска будет на уровне хотя бы 99% мне это сильно облегчит ручную работу)
Больше интересует, чем можно из имеющихся фоток получить нормально подогнанный датасет
Или посоветуйте - как это лучше реализовать....
Распознавание графических образов это "классическая" задача для машинного обучения, нейронных сетей и других связанных технологий, по идее гуглить надо в эту сторону, но реализовать такой алгоритм программно без помощи опытной команды представляется маловероятным (от слова совсем).