![]() |
|
![]() ![]() ![]() |
|
Wolandello |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 17.5.2009 Где: Ukraine Репутация: нет Всего: нет |
Привет народ! Сейчас изучаю С и уже имею фундаментальные знание по етому языку. Хочу посвятить себе сфере разпозания образов (отпечатки пальцов, лица людей). З чего начать изучать. Порекомендируйте лытературу или сайты
|
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 4 Всего: 27 |
Начни с орфографии
|
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
Начать нужно с имения не фундаментальных, а хороших знаний. Затем освоение разнообразных библиотек. После этого понять разницу между целью жизни и задачей, так как распознание чего-либо - это одна из задач, которую тебе, может быть, нужно решить!
-------------------- ![]() |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
-------------------- ![]() обычный день на винграде |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 1 Всего: 11 |
Начинай с нейронных сетей. Их достаточно просто программировать и притом они достаточно эффективны.
|
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Wolandello,
Привет друг. ![]() Из литературы я бы порекомендовал "Понс, Форсайт Компьютерное зрение" Хотя когда я ее только увидел книжка мне показалась тяжелой. А сейчас набрался знаний из других источников теперь неинтересно все наю все понятно все легко. ![]() Поддерживаю предложения начать с Нейронных Сетей, так как это достаточно универсальный алгоритм и чаще всего все сходится к ним. Хотя сейчас популярнее Support Vector Machine. ![]() Тут еще порекомендую boost(усиление) имеется введу алгоритм Ada boost, усиления слабых классификаторов путем состовления из слабых одного сильного. ![]() Дальше можно еще много всего написать. |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Pavia, SVM в задачах
многослойные нейросетки не переплюнут. Доказано в статье Bengio Y., LeCun Y. Scaling learning algorithms towards AI / Large-scale kernel machines (L.Bottou, O.Chapelle, D.DeCoste, J.Weston eds), MIT Press, 2007. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
VictorTsaregorodtsev, А можете раскозать по подробнее. А то 40 с на английском это тяжело.
Как по мне НС и SVM одно и тоже просто вид с другой позиции. SVM более понятнее. Так что то что не превосходят ничего удивительного. Вопрос в том если отстают, то почему? |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Pavia, В распознавании изображений простое запоминание эталонов никому не нужно (эталоны можно и так хранить и сравнивать с ними поступающее на распознавание новое изображение). Нужно обеспечение инвариантности распознавания к сдвигам, поворотам, аффинным и нелинейным преобразованиям объекта на изображении. И SVM не может "обобщить" эталон на все его новые возможные положения, например (если сдвинуть английскую l на пиксел влево или вправо - то по "зажженным" пикселам пересечения с исходным изображением не будет вообще). А в многослойных сетях (вернее, в вариантах со специальной организацией локальных рецептивных полей нейронов) возможно следующее: некоторый детектор признаков (нейрон) сканирует изображение и индицирует нужные "позиции", в которых детектор этого признака срабатывает. а на следующем слое (тоже на нейроне, у которого рецептивное поле тоже ограничено, т.е. который оперирует только с некоторой окрестностью на изображении, т.е. получает довольно близкие, по картинке, выходы детекторов) возможно объединение результатов одного или нескольких детекторов на основе функции И или ИЛИ (в зависимости от конкретных весов этого нейрона), ну и так далее от слоя к слою можно строить всё более и более высокоуровневые многошаговые детекторы признаков, инвариантные к некоторым изменениям изображения на фрагменте картинки.
Плюс от слоя к слою в многослойной сети возможна организация даунсэмплинга (уменьшения размера) изображения - тогда немного сдвинутые/повернутые изображения после перемасштабирования превращаются, фактически, в одно - т.е. после обучения по некоторому эталону потом можно будет распознавать и его немного сдвинутые/развернутые (на несколько градусов вправо-влево) изображения даже без применения специальных методов обучения (такие тоже есть). Ну и плюс там еще доказательства нескольких мелочей. |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
VictorTsaregorodtsev,
интересный пост по прочтению возник вопрос, кто занимается АРХИТЕКТУРОЙ этой многослойной НС вчасности интересует
надеюсь что сие делает алгоритм обучения сам без участия человека если да, то он отличается от стандартного "обратного распространения ошибки" от слоя к слою. если не затруднит - очень хотелось бы видеть общую блок схему или псевдокод.. З.Ы. а как быть с зеркальным отображением? -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
shara, Да это обычный бэкпроп делает для любой слоистой сети.
Имеется в виду то, что при малых по модулю весах синапсов, идущих к некоторому нейрону, его активация (в положительную или отрицательную сторону, т.е. в сторону от "среднего"/нулевого значения) будет возможна только при активациях всех или большинства нейронов предыдущего слоя (посылающих сигналы на этот нейрон). Это - "реализация"-аппроксимация функции И. Если же веса синапсов по модулю достаточно велики, то нейрон может быть активирован единственным возбужденным нейроном предыдущего слоя (функция ИЛИ). И пойнт был в том, что предыдущие слои нейронов можно организовывать в виде специальных детекторов признаков, а затем изучать построенную нейросеткой при обучении логику распознавания для сопоставления с нейрофизиологическими механизмами. А также в том, что реализованная нейроном функция ИЛИ позволяет обеспечивать инвариантность к тем или иным преобразованиям образа, если предыдущие слои реализованы в виде наитупейшего сканирования всех возможных вариантов сдвига/смещения/... А функция И позволяет объединять несколько локальных признаков на изображении в отклик касательно принадлежности изображения определенному классу. Т.е. в общем-то банальности, на практике мало полезные из-за необходимости лезть в потроха сети для конструирования её структуры или её интерпретации. |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Bitter,
человек за помощью обратился не к учителю русского! зачем только засорять топик подобными "советами"?? Добавлено @ 22:09 VictorTsaregorodtsev, но что обратное распространение ошибки дает такой результат .. я считал что из обученной сети очень тяжело или даже невозможно вытащить логику ее работы и принципы по которым она дает ответ - видать не все так запущенно. а распознавание зеркального отображения графических изображений думаю можно реализовать на стадии обучения (подавать эталонные образы в нескольких вариантах - не искаженных а именно преобразованных) Это сообщение отредактировал(а) shara - 12.9.2009, 22:31 -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Мой нейрософт (и кандидатский диссер) 10+ лет назад начинался с заточки под решение задачи извлечения знаний из обученной нейронной сети (и представление этих знаний, например, в виде набора правил логического вывода). В мире тоже много народу в 90е годы занимались задачами knowledge extraction из нейросеток. Но вот на практике мне это в последствии не особо оказалось нужным - нужнее бывает генерация отдельного модуля (описывающего функционирование обученной нейросети) на некотором языке программирования - чтобы можно было созданную в моей проге сетку вставить в прогу пользователя. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |