|
Автоматическое выделение характерных объектов на изображении |
|
|
|
Nov 19 2009, 19:15
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Есть картинка (самая верхняя). Задача выделить на ней объекты в соответствии с красными линиями (как показано на нижней картинке). Какие идеи могут быть о подходе решения данной задачи?
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 42)
|
Nov 20 2009, 02:59
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(mdmitry @ Nov 19 2009, 23:54)  Matlab+Image processing Tool Box. Можно при желании задать объект и подсчитать количество объектов на изображении. (Была такая задача очень давно) Я бы даже не с матлаба, а вообще с гимпа начал. Поигрался бы контрастностью итд. Цитата(mdmitry @ Nov 19 2009, 23:54)  Matlab+Image processing Tool Box. Можно при желании задать объект и подсчитать количество объектов на изображении. (Была такая задача очень давно) ИМХО очевидно что можно просто считать среднее для каждого Х. Ну а что дальше делать, моей телепатии не хватает.
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 20 2009, 05:50
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Цитата Там всегда "объекты" будут выдляться строго вертикальными линиями? Да Цитата Тогда имхо все горизонтальные строки картинки нужно уложить (сложить) в одну, таким образом повысится сигнал/шум Там изначально разница между полезной составляющей и шумовой обычно очень маленькая, поэтому при суммировании икса по игрик шумовая составляющая также нехило возрастет. Цитата А потом останутся сущие пустяки, типа "если точка больше порога, то 1, иначе 0". Ну к одномерной задаче я вроде бы пытался приводить, но после перехода к одномерному варианту, близко расположенные вертикальные пучности оказываются слипшимися, да и просто не особо то над шумами и выделялись. Т.е. когда смотришь на картину в целом, то глазками вроде все видно хорошо, а как переходишь в ономерный вариант (я тоже просто суммировал), то там адекватно рапссчитать порог не всегда получается. Цитата Можно при желании задать объект и подсчитать количество объектов на изображении. Объект не задашь, так как заранее не знаешь какой он ширины (да и не всегда полезные составляющие по вертикали непрерывны, иногда там в некоторых получается прерывистая полоса). Цитата а вообще с гимпа начал А гимп это что за зверь? Цитата ИМХО очевидно что можно просто считать среднее для каждого Х С учетом возможной прерывисти и слабости полезных линий, ни среднее, не медиана, ни суммирование (т.е. переход к одномерному представлению) уверенного выделения не дают. Единственно что я из предложеннго не пробовал, так это повышение контрасности, но боюсь, что в данном примере это можь и поможет, так как уровни примерно одни и теже и растянуть максимум и минимум представляется возможным, но часто бывает так, что полоски имеют большой перепад по уровню, очень близко друг к другу расположены, и имеют прерывистый характер, так что боюсь, что в общем случае контрасность не всегда будет полезной.
|
|
|
|
|
Nov 20 2009, 06:44
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Цитата(Rst7 @ Nov 20 2009, 09:25)  Фигня какая-то. У Вас почти 400 пикселей по вертикали. Банальное суммирование всех строк даст улучшение соотношения сигнал/шум в sqrt(400)=20 раз. Этого должно быть достаточно. Посмотрите, что-то Вы не так сделали. Если полезная полоса непррерывна и хорошенько отдельно стоит, то так и получается, но если она на картинке по вертикали не ненпрерывна, а занимает всего лишь часть, т.е. является отрезком длиной, например, 10% от 400 пикселей, то таким улучшением там и не пахнет.
|
|
|
|
|
Nov 20 2009, 06:48
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Rst7 @ Nov 20 2009, 08:25)  Фигня какая-то. У Вас почти 400 пикселей по вертикали. Банальное суммирование всех строк даст улучшение соотношения сигнал/шум в sqrt(400)=20 раз. Этого должно быть достаточно. Посмотрите, что-то Вы не так сделали. Угу. Потом можно искать перегиб. Цитата(newleshii @ Nov 20 2009, 08:44)  Если полезная полоса непррерывна и хорошенько отдельно стоит, то так и получается, но если она на картинке по вертикали не ненпрерывна, а занимает всего лишь часть, т.е. является отрезком длиной, например, 10% от 400 пикселей, то таким улучшением там и не пахнет. Вынужден Вас огорчить, все телепаты с форума померли от гриппа.
|
|
|
|
|
Nov 20 2009, 06:52
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата а занимает всего лишь часть, т.е. является отрезком длиной, например, 10% от 400 пикселей, то таким улучшением там и не пахнет. Пример такой картинки в студию. Цитата Угу. Потом можно искать перегиб. Так, немного потелепатирую, но мне кажется, что надо будет просто убрать постоянную составляющую и затем искать пересечения с 0.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Nov 20 2009, 07:33
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Rst7 @ Nov 20 2009, 09:52)  Так, немного потелепатирую, но мне кажется, что надо будет просто убрать постоянную составляющую и затем искать пересечения с 0. Это по х нужно убрать постоянную соотавляющую, а по y наоборот нужно оставить только самые низкочастотные компоненты спектра Цитата(Rst7 @ Nov 20 2009, 09:52)  Пример такой картинки в студию. Пример приведен выше - картинка шумоподобна, но дитерингом просматривается полосатость. Вот и раcфокусировать её по Y, а по Х можно повысить даже резкость
|
|
|
|
|
Nov 20 2009, 07:42
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Это по х нужно убрать постоянную соотавляющую, а по y наоборот нужно оставить только самые низкочастотные компоненты спектра Сначала надо y-координату убрать вообще. Получить одномерный массив. Это и есть взятие самой низкочастотной составляющей по y. Что собственно говоря предложили сразу. Вы немного опоздали к началу  Цитата Пример приведен выше - картинка шумоподобна, но дитерингом просматривается полосатость. Вот и раcфокусировать её по Y Не согласен. На приведенной картинке полосы на всю высоту. А топикстартер говорит про, например, полосу, которая Цитата по вертикали не ненпрерывна, а занимает всего лишь часть, т.е. является отрезком длиной, например, 10% от 400 пикселей,
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Nov 20 2009, 07:49
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Rst7 @ Nov 20 2009, 10:42)  Сначала надо y-координату убрать вообще. Получить одномерный массив. Это и есть взятие самой низкочастотной составляющей по y. Что собственно говоря предложили сразу. Вы немного опоздали к началу  Не согласен. На приведенной картинке полосы на всю высоту. А топикстартер говорит про, например, полосу, которая Там яркость не непрерывна, а модулирована плотностью белых шумоподобных точек. Поднесите монитор поближе к глазам  и увидите там конфетти Вообще убрать y-координату совсем можно только тогда, если есть основания считать, что полосы строго вертикальны. А если они немного наклонны? С тем что по Y нужно убирать высокие частоты в любом случае я согласен
|
|
|
|
|
Nov 20 2009, 07:57
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Там яркость не непрерывна, а модулирована плотностью белых шумоподобных точек. Вы не поверите, но в связи с квантовой природой света любое изображение - шумоподобно. Просто усредняется здорово  Цитата Вообще убрать y-координату можно только тогда, если есть основания считать, что полосы строго вертикальны. А если они немного наклонны? Мои телепатические способности подсказывают мне, что полосы строго вертикальны. Походу это данные с фотоприемной линейки, а вот что на нее проецируется - это я уже хз. Цитата А по x сделать потом согласованную фильтрацию. Но для этого нужно знать ЧТО мы ищем. Именно. Ждем уточнений.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Nov 20 2009, 09:38
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Ранее приведенная картинка является в общем то самым лучшим вариантом, но очень часто получается что-то типа такого, когда вертикальные линии рваные, размытые и очень тесно соприкасаются.
|
|
|
|
|
Nov 20 2009, 13:38
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(newleshii @ Nov 20 2009, 12:38)  Ранее приведенная картинка является в общем то самым лучшим вариантом, но очень часто получается что-то типа такого, когда вертикальные линии рваные, размытые и очень тесно соприкасаются. Можно попробовать. Но нужно несколько картинок с разными данными (10 - 20) - лучше всего в формате pgm (двоичном).
|
|
|
|
|
Nov 20 2009, 14:16
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Цитата(AndrewN @ Nov 20 2009, 16:38)  Можно попробовать. Но нужно несколько картинок с разными данными (10 - 20) - лучше всего в формате pgm (двоичном). Все что пока оперативно можно предложить (т.е. итого три штук)
|
|
|
|
|
Nov 20 2009, 14:47
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Methane @ Nov 20 2009, 17:38)  Я уже писал. Просто усреднить сверху вниз. Может быть предварительно пропустив через какой-то цветной фильтр. Раз полосы вертикальны то очевидно что-то нужно накоплять по столбцам. Может быть сначала выделить текстурные признаки, если играет роль не только цвет, но и текстура (например размер неоднородностей). На последнем снимке должно расслоиться по цвету, на предыдущем зоны 7 и 10 навряд ли, сложный вопрос. От порога чувствительности будет зависить сколько зон - то ли 10, то ли 15 Для зоны 10 хорошо заметно, что её свойства не проявляются большинством пикселей, её свойства определяются меньшинством, маргинальны, а значит ни среднее, ни медиана не являются хорошим признаком. Нужно вырабатывать какой-то признак учитывающий отклонения от среднего. Может энтропия? S*log(S) по каждому цвету. Максимум энтропии широко используется при сегментации текстур
|
|
|
|
|
Nov 20 2009, 14:51
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(newleshii @ Nov 20 2009, 17:16)  Все что пока оперативно можно предложить (т.е. итого три штук) Спасибо, конечно :) Но оперативно не надо - мне же програмку нужно еще модифицировать, а это несколько дней займёт, по состоянию остальной работы... Идеально, исходные данные хочется иметь в черно-белой шкале, чем больше bpp тем лучше, и в pgm формате. Хуже - 8 битовый bmp, но это тоже пойдёт. В файле только данные, которые нужно непосредственно обрабатывать. Все чёрточки, обозначающие границы лучше в отдельном jpege, там же и цвета можно оставить, хотя цвет совершенно не нужен. Мне самому не хочется преобразовывать цвет, чтобы не терять биты. Потом можно настроить ftp, чтобы туда положить файлы.
|
|
|
|
|
Nov 20 2009, 17:59
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Цитата(GetSmart @ Nov 20 2009, 20:49)  Господа-товарищи  Я автору вопрос задавал, а не вам. Я его спросил - кто и каким методом (и по каким правилам) нарисовал границы объектов на предосталенных им рисунках. Границы рисовались глазками (в том числе с учетом априорной информации о том, где на самом деле должны быть выделенные полоски)
|
|
|
|
|
Nov 20 2009, 18:49
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 15-03-05
Пользователь №: 3 379

|
Цитата(GetSmart @ Nov 20 2009, 21:25)  На последней картинке в зоне 4 нах-ся объект буквально в двух строках, причём он начинается с зоны 4 и кончается в зоне 6 имея примерно одинаковую яркость. Это что значит? Он всё равно должен быть разделён на несколько кусков только из-за других границ зон на остальных строках? Может проясните откуда сигнал? В 4ой зоне штрих на самом деле короткий, но он не доходит до 6ой зоны (хотя немного цепляет 5ую). Подробности сигнала не знаю (далеко от железной тематики нахожусь), но это как-то мудренно сканирование поверхности после последовательного воздействия на нее другой поверхности (инструмента). Представленные картинки и выделенные полоски - результат натурного эксперемента, когда известно где (по оси Х) и как (непрерывно, импулсьно, сильно, слабо) осуществлялось взаимодействие поверхностей.
|
|
|
|
|
Nov 26 2009, 15:30
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(Xenia @ Nov 21 2009, 01:17)  При нахождении экстремумов может понадобиться сглаживание. Попробовал. Вот что получилось по картинке # 1: Код ------------------------ PARAM set 1 2 ------------------------ EDGE AT 222 222 EDGE AT 245 -- 245 не поддалась EDGE AT 266 266 EDGE AT 294 294 EDGE AT 304 304 EDGE AT 338 337 EDGE AT 576 575 EDGE AT 605 604 EDGE AT 614 615 EDGE AT 644 644 EDGE AT 781 782 EDGE AT 889 888 EDGE AT 917 917 EDGE AT 950 950 EDGE AT 993 -- EDGE AT 1004 1004 ------------------------ Обнаруживаются ложные границы в точках 245 и 993, остальные границы смещены на 2-5 пикселов от координат в jpege. Шум сильный, очень сильный. Если параметр отсева чуть пошевелить, то ложные границы плодятся как кролики. Шум давится два раза - после суммирования строк скользящим средним и перед первой разностью гауссом, в итоге данные гладенькие на вид, но ложные границы все равно есть. Две последние картинки обрабатывать не пытался, они очень компрессией зашумлены, в дополнение к шуму измерения.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|