Нетривиальная проблема... Нужны идеи ;)
От: Аноним  
Дата: 14.04.05 12:53
Оценка:
Итак, придумал я сам себе задачу

На самом деле задача возникла на практике, но очень уж захотелось решить её качественно и красиво.

Итак ситеуация такая : в соотвествии с некотрой методикой вычисления на трёхмерной обоасти вырисовываются некоторые фигуры боле-менее правильно формы. Область двумерная и фигуры вырисовываются как сгустки ("кляксы") тёмного цвета на белом фоне. Обычно эти кляксы имеют вполне понятные очертания — каплевидные, толстые длинные линии, и т.д., то есть взяв карандаш обычно несложно в некотром приближении раскидав контрольные точки по границе серого/белого и проведя например сплайны/ прямые через эти точки получить набор чётких фигур, разхбросанных на плоскости.

Впорос в том наскольно реально подойти к этому с позиции автоматизации. Хотелось бы реализовать некоторый алгоритм, который бы автоматически обрабатывал эти образы и формировал векторную можели полученного тела. Слышал что это из области распознования образов — что посоветуте почитать по этому вопросу, куда копать и стоит ли вообще заниматься этим — есть ли свет в конце тунеля ?

ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
Re: Нетривиальная проблема... Нужны идеи ;) - ОПЕЧАТКА !
От: Аноним  
Дата: 14.04.05 12:55
Оценка:
Изаиняюсь за важную опечатку — область двумерная !
Re: Нетривиальная проблема... Нужны идеи ;)
От: tinytjan  
Дата: 14.04.05 14:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная


1 Переводишь изображение в два цвета -- черный фигура, белый фон.
2 Определяешь области
3 Ищешь граничные точки
4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.
Re[2]: Нетривиальная проблема... Нужны идеи ;)
От: Аноним  
Дата: 14.04.05 14:55
Оценка:
Здравствуйте, tinytjan, Вы писали:

T>Здравствуйте, Аноним, Вы писали:


А>>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная


T>1 Переводишь изображение в два цвета -- черный фигура, белый фон.

T>2 Определяешь области
T>3 Ищешь граничные точки
T>4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.

Хехе, не всё так просто.

Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится
Re[3]: Нетривиальная проблема... Нужны идеи ;)
От: Grey2002  
Дата: 14.04.05 16:24
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится

Но в любом случае невыпуклая фигура может быть представлена как набор выпуклых. А одну общую фигуру можно получить из нескольких по критерию, например, близости границ. Кстати, если эти кляксы формируются из некоторых базовых фигур, то почему бы не привлечь к работе нейросети? Обучение сети распознавания суть процесс оптимизации, тогда надо определиться с критерием, в качестве которого здесь и можно взять отклонение нужного сочетания белого/серого/черного от того, что представляется человеку, взявшему в руки карандаш и разделяющему эти фигуры вручную. И этот критерий минимизировать. Хотя мне кажется, что было бы неплохо взглянуть на саму картинку — может, тогда задача стала бы понятней.
Re[3]: Нетривиальная проблема... Нужны идеи ;)
От: jhng Россия  
Дата: 14.04.05 19:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, tinytjan, Вы писали:


T>>Здравствуйте, Аноним, Вы писали:


А>>>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная


T>>1 Переводишь изображение в два цвета -- черный фигура, белый фон.

T>>2 Определяешь области
T>>3 Ищешь граничные точки
T>>4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.

А>Хехе, не всё так просто.


А>Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится


Есть такая книжка "Введение в контурный анализ. Приложение к обработке изображений и сигналов" под ред. Я.А. Фурмана. Почитай, может поможет.
Re: Нетривиальная проблема... Нужны идеи ;)
От: Trean Беларусь http://axamit.com/
Дата: 14.04.05 19:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Итак, придумал я сам себе задачу


А>На самом деле задача возникла на практике, но очень уж захотелось решить её качественно и красиво.


А>Итак ситеуация такая : в соотвествии с некотрой методикой вычисления на трёхмерной обоасти вырисовываются некоторые фигуры боле-менее правильно формы. Область двумерная и фигуры вырисовываются как сгустки ("кляксы") тёмного цвета на белом фоне. Обычно эти кляксы имеют вполне понятные очертания — каплевидные, толстые длинные линии, и т.д., то есть взяв карандаш обычно несложно в некотром приближении раскидав контрольные точки по границе серого/белого и проведя например сплайны/ прямые через эти точки получить набор чётких фигур, разхбросанных на плоскости.


А>Впорос в том наскольно реально подойти к этому с позиции автоматизации. Хотелось бы реализовать некоторый алгоритм, который бы автоматически обрабатывал эти образы и формировал векторную можели полученного тела. Слышал что это из области распознования образов — что посоветуте почитать по этому вопросу, куда копать и стоит ли вообще заниматься этим — есть ли свет в конце тунеля ?


А>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная


Советую во-первых взглянуть на фильтрацию (median, anisotropic, offset filtering), потом на edge detection (Canny c гистерезисом, SUSAN или др.). Потом что-нить по векторизации бинарных изображений — здесь я не могу помочь. Распознавания здесь как такового нету скорее из обработки изображений. Свет в конце туннеля есть — недавно вот определяли расстояние между двумя апельсинами, да была такая задача =), по двум фоткам определить насколько был сдвинут апельсин, наполовину твоя задача =) (нам надо было только радиус определять, а не контур)
Re[4]: Нетривиальная проблема... Нужны идеи ;)
От: Аноним  
Дата: 15.04.05 06:06
Оценка:
Здравствуйте, Grey2002, Вы писали:

G>. Хотя мне кажется, что было бы неплохо взглянуть на саму картинку — может, тогда задача стала бы понятней.


Примеры картинок сейчас ет под рукой — покажу на этих выходных

Не посоветует ли кто — нибудь литературу в электронном виде — а то прежде чем углубляться в библиотеку хотелось бы несколько познакомится с предметной областью
Представить с помощью выпуклых никак не получится — формы довольно сложные и часто вообще получаются "сгустки", соединённые множеством стержней
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.