Технический форум по робототехнике.
Goofy » 11 май 2006, 13:25
Сергей, а у Вас есть наработки по этому алгоритму?
Сергей Мальцев » 11 май 2006, 15:05
Goofy писал(а):Сергей, а у Вас есть наработки по этому алгоритму?
Собственно, эта тема и создана с целью создать эти наработки. В общем, пока все на стадии обсуждения.
Если вас интересует эта тема, можете посмотреть наш сайт:
uni-vis.narod.ru
Можете подключится к нашему проекту.
GraphD » 11 май 2006, 15:43
Сергей Мальцев писал(а):Я бы так не считал. По моему, это совершенно другие методы, и фишка их именно в повышенном уровне сопоставления, что позволяет избавиться от неоднозначностей.
А в чем принципиальная разница между "кореляционным" и "граничным" методами?
При этом в обеих случаях будут искажатся изображения и границы соответственно на стереокадрах.
Как сопоставить искаженные границы? По-моему тут больше неоднозначностей возникает, чем при сопоставлении самих изображений, просто будет более смазанный график взаимной корреляции.
PS: по-моему будущее за кратномасштабным сопоставлением, которое требует больших выч. затрат.
Сергей Мальцев » 11 май 2006, 15:58
GraphD писал(а):А в чем принципиальная разница между "кореляционным" и "граничным" методами?
При этом в обеих случаях будут искажатся изображения и границы соответственно на стереокадрах.
Как сопоставить искаженные границы? По-моему тут больше неоднозначностей возникает, чем при сопоставлении самих изображений, просто будет более смазанный график взаимной корреляции.
PS: по-моему будущее за кратномасштабным сопоставлением, которое требует больших выч. затрат.
Читайте Форсайта с Понсом.
Корреляционные методы не предполагают выстраивания оптимального покрытия, а тупо ищут похожие фрагменты, и считают их соотвествием, в случае если найдено два и более элементов совершенно не ясно (по крайней мере для меня) что с ними делать. Если есть какие-то способы обойти это, с удовольствием рассмотрю их.
Что касается, границ, то сопоставляются как бы и не они, а сопоставляется вся совокупность интенсивности между границами.
Боюсь, что эти мои пояснения плохо понятны, поэтому лучше обратиться к первоисточникам.
По краткомасштабным сопоставлениям: имееются в виду итерационные корректировки искажений? Если да, то это поможет уменьшить искажения на разных камерах, но от неоднозначностей не избавит.
=DeaD= » 11 май 2006, 21:32
Сергей Мальцев писал(а):=DeaD= писал(а):1. Неоднозначности будут всегда и везде.
Будут-то они будут, только в рамках корреляционного подхода ты сними ничего не сделаешь, а в рамках подхода с границами, выход есть - тот самый динамический алгоритм.
Это почему с ними ничего не сделаешь? Так же определяем наиболее похожие варианты и вперед оптимизировать... (см. ниже)
Сергей Мальцев писал(а):2. Искажения близкорасположенных объектов? Нет, если мы конечно камеры разнесем на метр, то они будут, но чтобы вот так сильно...
Видимо это большая проблема так как и у Хорна и у Форсайта с Понсом, на этом акцентируется внимание. Причем это говорится в разделах о стереовидении, где речь идет болшей частью в приложении зрения роботов, а значит ни о каких разнесенных на метр камерах речи, скорее всего, нет.
Внимание конечно нужно акцентировать, но то что это безумная проблема - врядли, особенно при достаточно малом окне поиска.
Сергей Мальцев писал(а):Пробовал я этот динамический алгоритм на реальных изображениях... Ничего хорошего даже близко по качеству к корелляционным методам не увидел...
Покажи результаты и алгоритм, возможно у тебя реализация была не очень хорошая.
Убил уже и то и другое. Встречное предложение - покажите хоть один достойный проект работающий на реальных изображениях, основанный на чистом динпроге.
Сергей Мальцев писал(а):Моё мнение - методы по границам существенно хуже, как минимум по двум причинам:
1. Они отбрасывают существенную часть информации об изображении, которую в корреляционных методах мы теряем.
Тем не менее, остается достаточное количество информации, а именно яркость по эпиполярной линии.
Это что за зверь?
Сергей Мальцев писал(а):2. Они создают искусственную информаци о том - есть тут граница или нет, а это всё равно что использование жесткой логики вместо нечеткой.
Не понял что за искуственность, границей считаются повышенные значения производной, не вижу в это ничего искуственного.
Искусственность в том, что вводится дискретность на этих значениях, то есть либо 0, либо 1, а это противоестественно.
Сергей Мальцев писал(а):Можно конечно предлагать комбинированные методы, но по-моему граничный метод это существенное сужение корелляционного метода, в котором просто в связи с уменьшившимся количеством данных становится возможным применять более сложные сопоставляющие алгоритмы.
Я бы так не считал. По моему, это совершенно другие методы, и фишка их именно в повышенном уровне сопоставления, что позволяет избавиться от неоднозначностей.
Кстати о комбинированности, возможен такой вариант комбинирования: сначала сопоставлемя границы, а затем, внутри этих границ уже пытаться использовать корреляции, при этом корректируются (растягиваются или сжимаются) геометрические искажения изображения на разных камерах, используя информацию о сопоставленных границах.
Почему бы не делать наоборот? Если при корреляционном методе возникли неоднозначности - применяем динпрог для их разрешения, если же нет - оставляем всё как есть. В случае отсутствия неоднозначностей вам очевидны приемущества корреляционного метода?
Сергей Мальцев писал(а):На самом деле можно вообще взвешенные паросочетания применять, что наверное еще более правильно, вопрос будет только в производительности таких алгоритмов и в том, насколько полезные результаты они принесут.
Что это такое?
Есть массив A[1..N][1..M] неотрицательных чисел, N<M, требуется назвать такие неповторяющиеся N целых чисел X1...XN из интервала 1..M, чтобы сумма A[i][Xi] была максимальна. В нашем случае массив A - это степени похожести границ, только еще критерий "спутанности" надо будет вводить... это степень перестановки чисел X1..XN, то есть сколько раз в неё нарушен порядок (i>j => Xi<Xj).
Сергей Мальцев писал(а):Почему я предлагаю методы работающие по границам? Два независимых автора говорят о том что у корреляионных методов есть проблемы, и бооться с ними сложно, а то и вообще невозможно.
Оба автора говорят, что методы работающие по границам лучше. Говорят они это на основе большого опыта.
Я предлагаю не изобретать велосипед и поверить авторитетам.
Можно конкретные проекты, работающие на методе динпрога и дающие достойные варианты?
PS: Я против динпрога, потому как это существенно непараллельный алгоритм и противоречащий биологическому подходу. Хотя я при решении разных задач им пользовался более чем часто
=DeaD= » 11 май 2006, 21:34
Сергей Мальцев писал(а):Что касается, границ, то сопоставляются как бы и не они, а сопоставляется вся совокупность интенсивности между границами.
Боюсь, что эти мои пояснения плохо понятны, поэтому лучше обратиться к первоисточникам.
Про сопоставление совокупности интенсивностей между границами - можно конкретный первоисточник, а то времени хронически мало, а хочется
Сергей Мальцев » 12 май 2006, 10:05
=DeaD= писал(а):Сергей Мальцев писал(а):Что касается, границ, то сопоставляются как бы и не они, а сопоставляется вся совокупность интенсивности между границами.
Боюсь, что эти мои пояснения плохо понятны, поэтому лучше обратиться к первоисточникам.
Про сопоставление совокупности интенсивностей между границами - можно конкретный первоисточник, а то времени хронически мало, а хочется
Форсайт и Понс, в теме про стереовидение, где линамический алгоритм описан. Главу не помню, если нужно в понедельник скажу.
Сергей Мальцев » 12 май 2006, 11:09
//Это почему с ними ничего не сделаешь? Так же определяем наиболее похожие варианты и вперед оптимизировать... (см. ниже)
//Почему бы не делать наоборот? Если при корреляционном методе возникли неоднозначности - применяем динпрог для их разрешения, если же нет - оставляем всё как есть. В случае отсутствия неоднозначностей вам очевидны приемущества корреляционного метода?
У тебя есть представление о таком алгоритме? Я ничего конкретного пока не могу себе представить. Если чего есть, изложи.
//Внимание конечно нужно акцентировать, но то что это безумная проблема - врядли, особенно при достаточно малом окне поиска.
А эта проблема при любом окне больше пары-тройки пикслей будет проявляться. Но в принципе, с этим можно бороться в рамках корреляционного, правда, не знаю на сколько хорошо.
//Убил уже и то и другое. Встречное предложение - покажите хоть один достойный проект работающий на реальных изображениях, основанный на чистом динпроге.
//Можно конкретные проекты, работающие на методе динпрога и дающие достойные варианты?
Если бы был такой проект, то мы бы эту тему вообще не поднимали, а взяли бы его за основу. А в целом, опять же ссылаюсь на авторитет авторов книг.
//Это что за зверь?
Читать там же у Форсайта.
//Искусственность в том, что вводится дискретность на этих значениях, то есть либо 0, либо 1, а это противоестественно.
Это все условно, врядли ты сможешь доказать, что живые организмы не оперируют дискретными величинами. Поэтому разговор о искуственности предлагаю оставить.
//PS: Я против динпрога, потому как это существенно непараллельный алгоритм и противоречащий биологическому подходу.
Распараллелить можно как минимум по строкам изображения. На счет противоречия биологическому подходу опять не соглашусь с тобой, не сможешь ты доказать это.
GraphD » 12 май 2006, 11:36
Сергей Мальцев писал(а):Форсайт и Понс, в теме про стереовидение, где линамический алгоритм описан. Главу не помню, если нужно в понедельник скажу.
Это та, которая "Комп-ое зрение. Совр-й подход"?
И где ее в русском эл. виде найти? А из-за одной главы 1000р за книгу выкладывать не могу.
Goofy » 12 май 2006, 12:08
Сергей Мальцев писал(а):Goofy писал(а):Сергей, а у Вас есть наработки по этому алгоритму?
Собственно, эта тема и создана с целью создать эти наработки. В общем, пока все на стадии обсуждения.
Если вас интересует эта тема, можете посмотреть наш сайт:
uni-vis.narod.ru
Можете подключится к нашему проекту.
Мой "CV Современный подход" ещё в пути. Сам пока что реализовал корреляционный метод.
Как минует сессия и придёт книга, активно включюсь в работу.
Сергей Мальцев » 12 май 2006, 12:42
GraphD писал(а):Сергей Мальцев писал(а):Форсайт и Понс, в теме про стереовидение, где линамический алгоритм описан. Главу не помню, если нужно в понедельник скажу.
Это та, которая "Комп-ое зрение. Совр-й подход"?
И где ее в русском эл. виде найти? А из-за одной главы 1000р за книгу выкладывать не могу.
Да, она.
Если в Москве, то на Олимпийском можно было за 600 рублей купить, полтора года назад, сейчас не знаю как.
Там помимо этой главы еще много чего полезного.
Я постараюсь отсканить нужные страницы, но не раньше чем на следующей неделе.
=DeaD= » 12 май 2006, 12:57
Сергей Мальцев писал(а):У тебя есть представление о таком алгоритме? Я ничего конкретного пока не могу себе представить. Если чего есть, изложи.
А куда еще описывать - возник набор неоднозначностей в строке, разобрали его и всё.
Сергей Мальцев писал(а):А эта проблема при любом окне больше пары-тройки пикслей будет проявляться. Но в принципе, с этим можно бороться в рамках корреляционного, правда, не знаю на сколько хорошо.
У меня на окне в 16 пикселей вроде даже ничего было...
Сергей Мальцев писал(а):Если бы был такой проект, то мы бы эту тему вообще не поднимали, а взяли бы его за основу. А в целом, опять же ссылаюсь на авторитет авторов книг.
Не знаю, я не буду снова делать то же самое, что уже пробовал в самом начале, если не будет нормального обоснования корректности подхода, с действующими проектами, а не со ссылкой на авторитеты.
Сергей Мальцев писал(а):Это все условно, врядли ты сможешь доказать, что живые организмы не оперируют дискретными величинами. Поэтому разговор о искуственности предлагаю оставить.
А это нужно доказывать?
Вроде всем известны принципы работы нейронных сетей, или я чего-то забыл?
Сергей Мальцев писал(а):Распараллелить можно как минимум по строкам изображения. На счет противоречия биологическому подходу опять не соглашусь с тобой, не сможешь ты доказать это.
См. выше про нейросети опять же... По строкам - согласен, но этого мало (для принципиальности, для реальности - хватит
).
Сергей Мальцев » 12 май 2006, 13:16
//А куда еще описывать - возник набор неоднозначностей в строке,
разобрали его и всё.
Для меня алгоритм не очевиден.
//У меня на окне в 16 пикселей вроде даже ничего было...
На близких расстояниях не проверял? Может если была бы коррекция процент распознавания был бы выше.
//Не знаю, я не буду снова делать то же самое, что уже пробовал в самом начале, если не будет нормального обоснования корректности подхода, с действующими проектами, а не со ссылкой на авторитеты.
Давай тогда параллельно разные подходы реализовывать. У тебя, вроде, почти все готово уже, только порядку в коде навести нужно. Разные подходы в проекте даже лучше будут. А там и посмотрим что лучше.
//А это нужно доказывать? Smile Вроде всем известны принципы работы нейронных сетей, или я чего-то забыл?
Так, нейронные сети во-первых, далеко не факт, что точно так же как реальные нейросети работают, а во-вторых, реальная психика состоит из гораздо большего числа нейронов состоит, чем используемые в технике, поэтому хрен его знает, что там внутри твориться. Там и динамические алгоритмы и дискретная математика могут быть зашиты.
=DeaD= » 12 май 2006, 17:53
Прочитал про этот "замечательный динпрог" в форсайте и понсе, не впечатлило - собственно это я и делал, результаты не поражают воображение. Один только метод выбора оценки "совпадения интервалов" чего стоит - квадрат разности средней интенсивности. Ужас. Это же взять и всю информацию о текстуре выкинуть.
Сергей Мальцев » 15 май 2006, 15:18
=DeaD= писал(а):Прочитал про этот "замечательный динпрог" в форсайте и понсе, не впечатлило - собственно это я и делал, результаты не поражают воображение. Один только метод выбора оценки "совпадения интервалов" чего стоит - квадрат разности средней интенсивности. Ужас. Это же взять и всю информацию о текстуре выкинуть.
Никто и не ждет чудес, главное отличие динпрога в том что он подходит к оценке сопоставлений более комплексно по сравнению с корреляциями, которые работают чисто локально по текущему пикселу.
Что касается совпадения интервалов, то во-первых сам набор гариц содержит довольно много информации по текстуре. Во-вторых, можно в качестве меры совпадений использовать средненное значение корреляции всех пикселей интервала, при этом для каждого пиксела корреляция считается в некотором окне, вокруг него.