Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.04.2009, 14:21
гость

 
Сообщений: n/a

Как решается проблема локации объектов на картинке?
Хочу попытаться решить проблему локации различных объектов на картинке.
Изначально начну с более простого. Скажем, набросаю на картинку 500х500 несколько цифр в разных местах и нейросеткой хочу выделить их прямоугольником (как бы нашла их нейросеть).

Цифр будет постоянно разное число.

Подскажите пожалуйста, каким образом организовать алгоритмы, какие структуры использовать, обучающие выборки для этого?

Приблизительно процесс обучения представляю следующим образом: подготавливаем картинку и к ней координаты всех прямоугольных областей, которые окамляют цифры.
На вход сети - бинарные данные изображения (0 - чёрный цвет, 1 - белый), на выходе - координата одного прямоугольника..
далее наверное на вход тоже самое и на выходе уже координаты следующего прямоугольника...

Приблизительно хоть так или совсем не так?
  #2  
Старый 11.04.2009, 15:23
гость

 
Сообщений: n/a

Сообщение от гость Посмотреть сообщение
Изначально начну с более простого. Скажем, набросаю на картинку 500х500 несколько цифр в разных местах и нейросеткой хочу выделить их прямоугольником (как бы нашла их нейросеть).
Для этого вам совершенно не нужны нейросети. Начните с простого - просто покластеризуйте черные пиксели.
Если шума мало, и цифры не пересекаются, кластеризация, думаю, будет работать просто на ура.

Цитата:
Приблизительно процесс обучения представляю следующим образом: подготавливаем картинку и к ней координаты всех прямоугольных областей, которые окамляют цифры.
На вход сети - бинарные данные изображения (0 - чёрный цвет, 1 - белый), на выходе - координата одного прямоугольника..
далее наверное на вход тоже самое и на выходе уже координаты следующего прямоугольника...
Не... вы слишком много просите. Нейросети с такой задачей не справятся. Вот, например, если поставить задачу так: дан кусок картинки, скажем размером 20x20 пикселей, и определить содержит он цифру или нет - вот с этой задачей нейросети справятся уже гораздо лучше.

Цитата:
На вход сети - бинарные данные изображения (0 - чёрный цвет, 1 - белый),
На вход лучше подавать не монохромную картинку, а немного размыть ее, например, пропустив через фильтр gaussian blur.
  #3  
Старый 11.04.2009, 16:05
гость

 
Сообщений: n/a

Ну в принципе, я так подумал.... Если цифры, то они слитные (solid body ) - их можно и "вручную" разделить на прямоугольнике. Если будут шумы (пятнами отдельно), то можно их через порог пропустить. Т.е. скажем определённое колво пикселей в отдельной области - считать за "не цифру".

Это да.. а если цифры соприкасаются друг с другом их уже никак не разделить? Или хуже того.. наезжают друг на друга...

Надо поэкспериментировать с тем, что Вы сказали про поиск числа на картинке. Есть одна картинка, в ней одно число - найти его.
Тут просто мысль некоторая меня посетила на счёт этого. А что если некоторым окном подавать на вход кусок картинки пусть даже с куском другого числа (это будет шум ) - и сетка должна найти целое число, которое чудом (всех переборов) попадёт в это окно...

Естественно, что окно должно довольно круто вмещать в себя одно число, чтобы два не влезло. И скользить окном по всей картинке до опупения..

Цитата:
На вход лучше подавать не монохромную картинку, а немного размыть ее, например, пропустив через фильтр gaussian blur.
Так делать лучше при любом распознавании? Т.е. если распознаю буквы - то лучше перед подачей на вход сети обработать её Гауссовым размытием? и с цифрами также..
Или это только в конкретной задаче?
  #4  
Старый 11.04.2009, 19:54
гость

 
Сообщений: n/a

Сообщение от гость Посмотреть сообщение
Это да.. а если цифры соприкасаются друг с другом их уже никак не разделить? Или хуже того.. наезжают друг на друга...
Да, тогда все становится гораздо сложнее. Вообще эта задача называется сегментацией изображения (segmentation). Можно поискать какие-нибудь статьи на эту тему, особенно из области распознавания рукописного ввода в офлайномо режиме (offline handwriting recognition) - там эта задача очень остро стоит.

Цитата:
Так делать лучше при любом распознавании? Т.е. если распознаю буквы - то лучше перед подачей на вход сети обработать её Гауссовым размытием? и с цифрами также..
Попробуйте с и без размытия, и сравните результаты. Говорят, помогает именно при распознавании изображений (не только цифр)
  #5  
Старый 11.04.2009, 20:09
автор-этой-темы

 
Сообщений: n/a

Ясно. Спасибо за ответы!

А может ли какая-либо нейросетевая структура распознавать цифры/буквы дописывая их, если они немножко откусанные?

Наверное тут можно попробовать сеть Хопфилда она обладает памятью, может быть она сможет "додумать" что у цифры стёрто и какая именно это цифра..
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема классификации Sapfeer Графы 2 23.02.2010 10:47
Проблема при отображении скриптов Elder_Nosferatu Реализация, исходники, языки 3 26.12.2008 20:31
Поиск подкартинки в картинке гость Обработка изображений, звук, графика 4 17.05.2008 17:29
Как в бинарном изображении подсчитать количество объектов. public_static_void Обработка изображений, звук, графика 1 11.05.2008 14:53
размещение геометрических объектов ns15 Математические алгоритмы 0 02.03.2007 23:02