- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Господа, просьба подсказать, можно ли такое сделать на РНР или еще на чём:
Есть куча фотографий бабочек.
Есть фота, которую нужно сравнить с каждой из этой кучи и найти из кучи самую похожую. Но не фоту самую похожую, а бабочку, на ней изображенную. При этом все данные с кучи фот можно собрать заранее (фоты хранятся на сайте), а не то что в скрипт сваливаются тыщи снимков, и он должен их обработать за несколько секунд.
Возможны два варианта.
— Мегафантастика:
1.1. Скрипт вычисляет бабочку на каждой фоте (отделяет от фона)
1.2. Скрипт вычисляет ракурс съемки бабочки (чтобы сравнивать только схожие ракурсы с тем, что на нужной фоте)
1.3. Скрипт сравнивает собственно бабочку на фоте с бабочками с кучи фот и выдает результат (например, десяток самых похожих).
— Попроще:
1.1. Сильно упрощаем этот пункт. Например, фон всегда должен быть однородно черным или белым
1.2. Убираем этот пункт (ракурс всегда вбивается вручную)
1.3. Тут упрощать некуда, все остается как в «Мегафантастике».
Т.е. получается почти обычное сравнение фот.
Сам не дотумкал, но не сказать, чтобы какой мощный прогер. Поспрашивал народ, который предлагает свои услуги в качестве программистров на этом форуме, но народ не взялся. Если кто имел дело с подобными задачами — скажите, реально вообще их решить (особливо, канеш, фантастики хочется) или для этого нужны космические вычислительные мощности и весь штат Гуглов?
Что то фантастически выглядит все по моему =)
Конечно задумка очень интересная, но не думаю что реализуемая, копию найти не проблема, а вот похожую....
Может стоит завести некую базу данных по бабочкам где и будет содержаться нужная инфа для выбрки похожих картинок? Так все будет работать быстро и сердито, без всякого фанатизма по вычислениям.
можно ли такое сделать на РНР или еще на чём:
Вопрос не совсем к PHP или ещё чему.. В сторону алгоритмов нужно смотреть.
По распознаванию изображений много статей (в инете вообще и, в частности) на хабре, в т.ч. от Яндекс-картинок.
http://habrahabr.ru/post/68870/
http://habrahabr.ru/post/122372/
Теоретически - преобразовать изображение "бабочки", выделить в нём "ключевые" точки (изгибы/переломы, контрастные точки... другие варианты?).. Аналогичную процедуру провести с проверяемым изображением. И сравнивать (учитывая преобразования искривлений/вращений).
Из того, что попроще - расстояние между цветами. Позволяет учесть небольшие искажения при наложении цветов. Можно "в лоб" примерять бабочку на изображение (если рисунок без искажений) с проверкой на разницу "расстояний" меньше допустимой погрешности.
Может стоит завести некую базу данных по бабочкам где и будет содержаться нужная инфа для выбрки похожих картинок? Так все будет работать быстро и сердито, без всякого фанатизма по вычислениям.
Дык а какая именно инфа там в этой базе должна быть? Собираемая с картинок? Или просто признаки? Если просто признаки — то, понятное дело, это классический подход, по нему вопросов нет :--) А если с картинок, так я об этом и говорю, что инфа заранее собирается...
---------- Добавлено 02.11.2013 в 13:16 ----------
ivan-lev, вот-вот, что-то в этом духе, только в моем случае, видимо, таки цветовые характеристики значат много (ибо сравнение не просто изображений и, например, не тех же лиц). И по контрастным точкам — тоже подумал, что будет правильно в эту сторону смотреть, ибо даже по классике часто берется некий признак типа «глазков» или «хвостов» и по нему визуально сравнивается...
Мож еще кто чего подскажет, тема актуальна...
Asar, php - однозначно в топку.
Я бы попробовал на Питоне с использованием мощных математических библиотек (numpy, scipy), которые к Питону легко подключаются и используются.
Например, вы сможете преобразовать объект изображения в numeric-массивы и далее можете делать с ними множество математических вычислений. Т.е. вы будете сразу совершать действия над матрицами.
Гляньте, там много вкусного:
http://scipy-lectures.github.io/advanced/image_processing/
http://docs.scipy.org/doc/scipy/reference/ndimage.html
http://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html
http://docs.scipy.org/doc/numpy/reference/
Это делается с помощью нейросетей. Только данные прежде чем им скармливать нужно конечно максимально нормализовать.
на счет легкости подключения - а можете расказать как на шаредном хостинге подключить?
Топик стартре - не парьте себе мозги глупостями - сделайте распознавалку капчи и вы миллионер! а может и миллиардер! :) а то бабочки... вот уж ...
кстати в статьях по ссылкм используют MathCAD вот это и есть лучшее на сегодня, питон это круто но несколько лет на изучение придется выкинуть....
реально вообще их решить
Реально то реально, но есть ли смысл это делать для одной задачи? Дорого выйдет.
Хотя надо вашу специфику смотреть. Может быть есть простое решение для вашего случая. Например, может быть достаточно сравнение по цветовым палитрам производить (если бабочек от фона как-то отделить). Тогда форма не важна будет и решение будет вероятно весьма простым. Еще многое зависит от необходимой точности сравнений.
---------- Добавлено 05.12.2013 в 01:35 ----------
на счет легкости подключения - а можете расказать как на шаредном хостинге подключить?
Если это про матбиблиотеки к питону, то такие задачи на шаредхостинге делать нет смысла вообще - сразу выгонят оттуда, т.к. нагрузка на процессор будет нехилая.
По хорошему нужно несколько сотен параллельных процессоров. И простое решение есть - можно задействовать игровую видеоплату. Соответствующий модуль для питона также имеется. Правде придется свой комп использовать - вряд ли вы найдете под аренду выделенный сервер с мощной игровой видюхой.
---------- Добавлено 05.12.2013 в 01:39 ----------
кстати в статьях по ссылкм используют MathCAD вот это и есть лучшее на сегодня, питон это круто но несколько лет на изучение придется выкинуть....
Питоновский NumPy является свободной альтернативой MATLAB.
---------- Добавлено 05.12.2013 в 01:41 ----------
питон это круто но несколько лет на изучение придется выкинуть....
Для профи - несколько дней. Основная сложность будет с математическими библиотеками разобраться - надо высшую математику знать. Если знаете хоть немного, то недели будет достаточно для хорошего ознакомления, а дальше над алгоритмами надо будет думать.
вот и я говорю - несколько лет, так как институтский курс мат-ки не тянет на решение таких задач, да и не каждая кандидатская по прикладной математике на это потянет.
Видюха лучше для майнинга биткоина, кстати аренда с видюхами тоже есть.
И не путайте матлаб с матКАДом - кад круче, более высокого уровня и в статьях не даром на нем делается. А матлаб это такая же фигня как питон, НИЧТО без ЛИБ. А либы те тащаться аж с фортрана да еще и не все оттуда конвертировано до сих пор, так что если очень хочется низко-уровневого програминга то фортран и миллиард либ к нему.
у матлаба кстати очень много бесплатных альтернатив, это ж элементарно делается программерами, берется старые либы от фортрана,
обертка к ним на очердном интерпретаторе типа питона или еще какого заново придуманного простенького языка и готово, даже к бэйсику прикрутили несметное число либ по мат-ке.
Давайте рассмотрим на примере.
Довольно харизматичная представительница)
но. Разумеется не так важно на чём это делать. спорить о том, на чем писать можно, когда ясно понимаешь, что должно происходить.
т.е.
1) Отделить от фона фактически не возможно. (Программно)
2) если у вас 10 картинок , и надо выбрать из них одну, наиболее похожую на одинадцатую, то тут всё более менее реализуемо.
С увеличением числа изображений трудность вычисления и погрешность растут в геометрической прогрессии.
Для примера - картинка, похожая на эту Аполон по мнению гугла
3) нейронные сети применялись по отношению к несложной капче, и там они показывали достойный результат. Это - гораздо более сложная капча)