Нужен мне софт, который будет находить на обычной фотографии заданные предметы. Например, синий кубик или там жестяную банку из-под Пепси. Ну, не готовый софт, а изучить принципы этого дела, чтобы иметь возможность написать такой софт самостоятельно. Не подскажете ли, в какую сторону копать, а то я даже ни одного спецтермина на эту тему не знаю.
W4FhLF Надо так. http://en.wikipedia.org/wiki/Category:Computer_vision На английском гораздо больше. Существует открытая библиотека OpenCV - по слухам наши ребята из intel делают. Squash Первое получаем изоброжение. Пред обработка. Далее обробатываем его выделяем призныки, особенности. Дальше имея эти признаки проводим классификацию. Так вот, прежде чем произвести классификацию, нужно сделать обучение машины. Под обучением понимается предварительная кластеризация имеющихся объектов, их призноков. Теперь самое интерестное существует множество методов: как для выделения признаков, так классификации и кластеризации. Тут на русском можно почитать. http://courses.graphicon.ru/
wsd потому и интересуюсь W4FhLF, Pavia, огромное спасибо, благодаря вам нарыто много стартовой информации.
опенсурсная есть библиотека - так накодили уже 50 метров, а не работает ни фига... и - попробуй ка разобраться в этой куче г. Надо писать на масме с нуля - и публиковать ..здесь например, может кто-то подключится, исправит, дополнит...
driver Писать на ассемблере такую вещь верх идиотизма. Там много сложных алгоритмов, причем не кричитных по вычислениям, но критичных по сложности. ДА и вообщк не люблю людей которые чтото называют куче г, если это опен сорц, да еще в такой специфичной области молиться на эту библиотеку нужно.
Надо писать не код, надо писать Понятные статьи по этому делу и в большом кол-ве! Чтобы программер мог разобраться и не утонуть в деталях
SPA Как раз таки критичных по времени, если говорить о распознавании в реальном времени. Сложность - вещь относительная. driver А на Си что читаемый? Ты хотя бы видел исподники быстрого алгоритма выделения углов? Вернее на Си он был сгенерирован. А писался на каком-то другом языке. Причем я уверен что это не лучший вариант так как еще не ясно насколько хорошо его проглотит компилятор Си. Могу сказать только одно фасам с его макросами в этой области должен быть лучшим выбором. EvilsInterrupt Да это то что нужно. Но область эта динамически развивается. И угнаться будет трудно.
С нейросетями поиграйся. Для студентов распознаватель символов написал за 1 вечер на базе FANN (hxxp://leenissen.dk/fann/). На codeproject или sourceforge видел более сложные примеры - например, выдедение лица в видеопотоке и распознавание.
Зачем сразу бросаться что-то писать, тем более на ассемблере? Это бред. Необходимо разобраться с теорией, создать свою математическую модель алгоритма, который призван решать задачу. Создавать эту модель лучше в специализированных пакетах типа MathCAD или Matlab, чтобы не тратить время на технические детали и отладку, а сосредоточиться на задаче. Когда модель удовлетворяет требованиям, можно задуматься о создании архитектуры(зарисовать её диаграммами например). И только после уже решайте, что использовать в качестве инструментария. Хотите параллельные вычисления на CPU? Я бы выбрал С/С++, ибо в современных компиляторах есть поддержка OpenMP. Хотите вычисления на GPU для ускорения? Опять же СИ. Современные С/С++ компиляторы и оптимизацию делают лучше человека на объёмах кода начиная с нескольких тысяч строк, причём им для этого нужно несколько секунд, а не недель. А можно всю математику реализовать на С, собрать потом в библиотеку и прикрутить к высокоуровневому модулю на питончике. Получится удобно и гибко. Вроде программисты собрались, а подход к проблеме как у третьеклассников. Я знаю, сам её активно использую. Хорошая библиотека с удобным API и оптимизирована прилично.
нарыл у себя в библиотеке скан некоего древнего писания второй половины прошлого столетия с названием "Введение в статистическую теорию распознавания образов" Фукунага К.
Да основы тех же нейросетей были заложены ещё в 50х, а в 70х уже сущестсовал мощный мат. аппарат, который с тех пор никаких революционных изменений не претерпел. Например у меня есть такая книга 1973г: Там, в прицнипе, вся современная математика описана. Раньше, кстати, было принято публиковать ссылки на литературу, где проблема освещалась ранее или хорошо описана, при изучении какой-то области это очень помогает. И ещё раньше фраза "нейронная сеть" не была так популяризирована. Вообще, система над которой работаю я написана по книгам 70-80х годов и ничего, про какие-то более совершенные аналоги не слышал.
Когда я просматриваю подобные книги, я понимаю, насколько сильно выветрилась из головы высшая математика
нейронные сети хорошо бы делать на аппаратном уровне - чип, несколько тысяч ( миллионов в перспективе) независимых микроядер, с собственной памятью и микрокодом, который реализует эмуляцию нейрона ... обычное програмирование нейросетей - линейное... не катит...