На самом деле задача возникла на практике, но очень уж захотелось решить её качественно и красиво.
Итак ситеуация такая : в соотвествии с некотрой методикой вычисления на трёхмерной обоасти вырисовываются некоторые фигуры боле-менее правильно формы. Область двумерная и фигуры вырисовываются как сгустки ("кляксы") тёмного цвета на белом фоне. Обычно эти кляксы имеют вполне понятные очертания — каплевидные, толстые длинные линии, и т.д., то есть взяв карандаш обычно несложно в некотром приближении раскидав контрольные точки по границе серого/белого и проведя например сплайны/ прямые через эти точки получить набор чётких фигур, разхбросанных на плоскости.
Впорос в том наскольно реально подойти к этому с позиции автоматизации. Хотелось бы реализовать некоторый алгоритм, который бы автоматически обрабатывал эти образы и формировал векторную можели полученного тела. Слышал что это из области распознования образов — что посоветуте почитать по этому вопросу, куда копать и стоит ли вообще заниматься этим — есть ли свет в конце тунеля ?
ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
Re: Нетривиальная проблема... Нужны идеи ;) - ОПЕЧАТКА !
От:
Аноним
Дата:
14.04.05 12:55
Оценка:
Изаиняюсь за важную опечатку — область двумерная !
Здравствуйте, Аноним, Вы писали:
А>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
1 Переводишь изображение в два цвета -- черный фигура, белый фон.
2 Определяешь области
3 Ищешь граничные точки
4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.
Re[2]: Нетривиальная проблема... Нужны идеи ;)
От:
Аноним
Дата:
14.04.05 14:55
Оценка:
Здравствуйте, tinytjan, Вы писали:
T>Здравствуйте, Аноним, Вы писали:
А>>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
T>1 Переводишь изображение в два цвета -- черный фигура, белый фон. T>2 Определяешь области T>3 Ищешь граничные точки T>4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.
Хехе, не всё так просто.
Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится
Здравствуйте, Аноним, Вы писали: А>Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится
Но в любом случае невыпуклая фигура может быть представлена как набор выпуклых. А одну общую фигуру можно получить из нескольких по критерию, например, близости границ. Кстати, если эти кляксы формируются из некоторых базовых фигур, то почему бы не привлечь к работе нейросети? Обучение сети распознавания суть процесс оптимизации, тогда надо определиться с критерием, в качестве которого здесь и можно взять отклонение нужного сочетания белого/серого/черного от того, что представляется человеку, взявшему в руки карандаш и разделяющему эти фигуры вручную. И этот критерий минимизировать. Хотя мне кажется, что было бы неплохо взглянуть на саму картинку — может, тогда задача стала бы понятней.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, tinytjan, Вы писали:
T>>Здравствуйте, Аноним, Вы писали:
А>>>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
T>>1 Переводишь изображение в два цвета -- черный фигура, белый фон. T>>2 Определяешь области T>>3 Ищешь граничные точки T>>4 Творишь с этими точками что хотишь -- от сплайнов до разложения в ряд Фурье. Тут уже дело фантазии.
А>Хехе, не всё так просто.
А>Во пераых фигура не чёрная и на беллом фоне тоже мусор встречается, да и очератания фигур не чёткие. Во-вторых многие фигуры не выпуклые — предсталяют из себя набор нескольких: например каплевидная + стержень + что то похожее на прямоугольник и т.д. и т.п. Если прсто в лоб раскидать точки вдоль границы, считаю что всё что выше некотрого порога серости — фигура например то ничего соответсвующего реальности не получится
Есть такая книжка "Введение в контурный анализ. Приложение к обработке изображений и сигналов" под ред. Я.А. Фурмана. Почитай, может поможет.
Здравствуйте, Аноним, Вы писали:
А>Итак, придумал я сам себе задачу
А>На самом деле задача возникла на практике, но очень уж захотелось решить её качественно и красиво.
А>Итак ситеуация такая : в соотвествии с некотрой методикой вычисления на трёхмерной обоасти вырисовываются некоторые фигуры боле-менее правильно формы. Область двумерная и фигуры вырисовываются как сгустки ("кляксы") тёмного цвета на белом фоне. Обычно эти кляксы имеют вполне понятные очертания — каплевидные, толстые длинные линии, и т.д., то есть взяв карандаш обычно несложно в некотром приближении раскидав контрольные точки по границе серого/белого и проведя например сплайны/ прямые через эти точки получить набор чётких фигур, разхбросанных на плоскости.
А>Впорос в том наскольно реально подойти к этому с позиции автоматизации. Хотелось бы реализовать некоторый алгоритм, который бы автоматически обрабатывал эти образы и формировал векторную можели полученного тела. Слышал что это из области распознования образов — что посоветуте почитать по этому вопросу, куда копать и стоит ли вообще заниматься этим — есть ли свет в конце тунеля ?
А>ЗЫ Задача оч заинтересовала так что энтузиазма хватит, да и мат подготовка довольно приличная
Советую во-первых взглянуть на фильтрацию (median, anisotropic, offset filtering), потом на edge detection (Canny c гистерезисом, SUSAN или др.). Потом что-нить по векторизации бинарных изображений — здесь я не могу помочь. Распознавания здесь как такового нету скорее из обработки изображений. Свет в конце туннеля есть — недавно вот определяли расстояние между двумя апельсинами, да была такая задача =), по двум фоткам определить насколько был сдвинут апельсин, наполовину твоя задача =) (нам надо было только радиус определять, а не контур)
Re[4]: Нетривиальная проблема... Нужны идеи ;)
От:
Аноним
Дата:
15.04.05 06:06
Оценка:
Здравствуйте, Grey2002, Вы писали:
G>. Хотя мне кажется, что было бы неплохо взглянуть на саму картинку — может, тогда задача стала бы понятней.
Примеры картинок сейчас ет под рукой — покажу на этих выходных
Не посоветует ли кто — нибудь литературу в электронном виде — а то прежде чем углубляться в библиотеку хотелось бы несколько познакомится с предметной областью
Представить с помощью выпуклых никак не получится — формы довольно сложные и часто вообще получаются "сгустки", соединённые множеством стержней