способы и инструменты удаления шумов в точках земли

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в ЦМР

Сообщение gamm » 09 фев 2013, 13:12

АлексЮстасу писал(а):Если можно, то прикладывайте к этой информации и файлы точек, с удаленными этими инструментами шумами.
это как? обычно речь идет не выкидывании точек, а о построении ЦМР (включая букву М). В крайнем случае, о присвоении весов точкам. Можно, конечно, построить ошибки и выкинуть точки, не попавшие в доверительный интервал ... но зачем?

P.S. если найду время, попробую еще loess() запустить, чистый непараметрический сглаживатель. Это если рельеф без "оврагов и бортов". А вот если с ними, то может получится интересно, если попробовать анизотропную диффузию из ITK это здесь, есть и готовые exe-шники для экспериментов.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в ЦМР

Сообщение gamm » 09 фев 2013, 16:20

приделал LOESS, результат примерно тот же (немного переборщил со сглаживанием). Работает доооолго :mrgreen:

Код: Выделить всё

library(MBA)

p<-read.table("place_left_3.xyz",header=FALSE)
names(p)<-c("X","Y","Z")

plot(p[,1:2],pch=20,cex=0.3,asp=1)

tmp_11_06<-mba.surf(p,100,100,n=1,m=1,h=6,extend=TRUE)

x.pos<-tmp_11_06$xyz.est$x
y.pos<-tmp_11_06$xyz.est$y
z.mtr<-tmp_11_06$xyz.est$z
z.lim<-range(as.double(z.mtr))

image(x.pos,y.pos,z.mtr,col=gray((126:32)/128),asp=1)
contour(x.pos,y.pos,z.mtr,levels=seq(floor(z.lim[1]),ceiling(z.lim[2]),by=0.5),col=" black",add=TRUE,asp=1)

str(tmp_11_06)
#List of 9
# $ xyz.est:List of 3
#  ..$ x: num [1:100] 746 749 753 756 759 ...
#  ..$ y: num [1:100] 1280 1284 1289 1293 1297 ...
#  ..$ z: num [1:100, 1:100] 11.5 11.5 11.5 11.4 11.3 ...
# $ no.X   : num 100
# $ no.Y   : num 100
# $ n      : num 1
# $ m      : num 1
# $ h      : num 6
# $ extend : logi TRUE
# $ sp     : logi FALSE
# $ b.box  : num [1:4] 746 1069 1280 1696

tmp.loess01<-loess(Z~X+Y,data=p,span=0.1)

tmp.grd<-expand.grid(X=tmp_11_06$xyz.est$x,Y=tmp_11_06$xyz.est$y)
tmp.z  <-predict(tmp.loess01,newdata=tmp.grd)

image(x.pos,y.pos,tmp.z,col=gray((126:32)/128),asp=1)
contour(x.pos,y.pos,tmp.z,levels=seq(floor(z.lim[1]),ceiling(z.lim[2]),by=0.5),col=" black",add=TRUE,asp=1)
picture2.png
picture2.png (21.95 КБ) 11542 просмотра

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 09 фев 2013, 18:17

gamm писал(а):
АлексЮстасу писал(а):Если можно, то прикладывайте к этой информации и файлы точек, с удаленными этими инструментами шумами.
это как? обычно речь идет не выкидывании точек, а о построении ЦМР (включая букву М). В крайнем случае, о присвоении весов точкам. Можно, конечно, построить ошибки и выкинуть точки, не попавшие в доверительный интервал ... но зачем?
В первом сообщении я, может, и не совсем прямо, но писал, что подразумеваю под удалением шумов внесение поправок в координаты точек - в первую очередь в Z, т.к. данные воздушные. Т.е. число точек до и после одинаково.
gamm писал(а):P.S. если найду время, попробую еще loess() запустить, чистый непараметрический сглаживатель. Это если рельеф без "оврагов и бортов". А вот если с ними, то может получится интересно, если попробовать анизотропную диффузию из ITK это здесь, есть и готовые exe-шники для экспериментов.
Рельеф очень плоский. Только пара неглубоких канавок.

Поймите, плз, я - не математик, не программист, а топограф. Я в жизни не разберусь, как можно к точкам земли применить нечто взятое с медицинского или т.п. сайта. И в реальное время не научусь в каждом из ПО и каждым из методов получить удовлетворительные результаты.
Поэтому и прошу прикладывать результаты в виде файлов обработанных точек.

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в ЦМР

Сообщение АлексЮстасу » 09 фев 2013, 18:50

gamm писал(а):приделал LOESS, результат примерно тот же (немного переборщил со сглаживанием). Работает доооолго :mrgreen:
picture2.png
Просьба все та же - файлы с точками :D По картинке, малому фрагменту понять и оценить что-то почти невозможно.
Массив точек сам минимален - и по нему о многом судить будет сложно. Просто больший не рискнул прикладывать.
Горизонтали по точкам я построю.

О степени сглаженности:
Сглаживание при удалении шумов не самоцель, а следствие их удаления. Реальный рельеф сам весьма сложен, излишне детален и т.п., но его сглаживание - предмет других процессов. Цель удаления шумов - максимально выявить этот самый реальный рельеф. Т.е. сглаженность рельефа при удалении шумов допустима в такой мере, в какой она не приводит к искажениям форм самого рельефа, потерям деталей рельефа.
Последний раз редактировалось АлексЮстасу 09 фев 2013, 20:04, всего редактировалось 1 раз.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в точках земли

Сообщение gamm » 09 фев 2013, 18:55

АлексЮстасу писал(а):Поэтому и прошу прикладывать результаты в виде файлов обработанных точек.
это в корне неправильно, и никто этого делать не будет (поскольку сравнивать нужно методы, а не результаты, зависящие от параметров методов). Поставьте R (это бесплатно и совсем не больно), пакеты (те, которые в library() - ставятся через меню), и прочитайте документацию на команды (программа приведена, в ней десяток строк - что непонятно, спросите в соответствующем разделе по софту).

Подправьте немного параметры по вкусу, и будут вам файлы обработанных точек. В любом количестве. А также инструмент для работы. Я не сомневаюсь, что для R есть и пакеты специально для лидарных данных.
Сглаживание при удалении шумов не самоцель, а следствие их удаления.
это бессмысленная фраза. Поскольку сглаживание (фильтрация) и есть средство удаления шумов. И для выбора оптимальной фильтрации (сглаживания) необходимо знать характеристики распределения этих шумов. Т.е. имея только данные ничего сделать нельзя, нужно использовать некоторые предположения, например оценить распределение шумов используя перекрестную проверку. Кроме того, нужно выделить (или задать) структурные элементы (барьеры), на которых происходит разрыв гладкости (например, кромки обрывов), и много чего еще.

Да, и напоследок. Результатом сглаживания часто является ЦМР на регулярной сетке, в которой никаких исходных точек уже просто нет, ни в каком виде.

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 09 фев 2013, 21:09

gamm писал(а):
АлексЮстасу писал(а):Поэтому и прошу прикладывать результаты в виде файлов обработанных точек.
это в корне неправильно, и никто этого делать не будет (поскольку сравнивать нужно методы, а не результаты, зависящие от параметров методов).
Сравнивать нужно как раз результаты :D Методы ценны лишь настолько, насколько дают нужные результаты. Сравнивать методы - это для чистых математиков, наверное.
Было бы лучше, если бы результаты фильтрации шумов выкладывались теми, кто уже научился пользоваться подобными инструментами и методами. Новичок (типа меня) может легко пройти мимо хороших решений просто не докопавшись до них.
В конце концов, ведь можно выкладывать варианты с комментариями о методах и параметрах - чтобы можно было их анализировать и попытаться подправить.
gamm писал(а):Я не сомневаюсь, что для R есть и пакеты специально для лидарных данных.
Да, было бы интересно найти инструменты уже специально для лидарных данных.
gamm писал(а):
Сглаживание при удалении шумов не самоцель, а следствие их удаления.
это бессмысленная фраза. Поскольку сглаживание (фильтрация) и есть средство удаления шумов.
Да, очевидно, что при сглаживании рельефа и от шумов ничего не останется :D
И, очевидно, при удалении шумов рельеф получается глаже.
Я бы грубо сравнил процесс фильтрации шумов с работой граблями, а процесс сглаживания с катком или бульдозером.
И я исхожу из того, что прежде, чем рельеф собственно сглаживать, его нужно сначала выявить - чтобы не потерять объекты и их правильную форму.
gamm писал(а):И для выбора оптимальной фильтрации (сглаживания) необходимо знать характеристики распределения этих шумов. Т.е. имея только данные ничего сделать нельзя, нужно использовать некоторые предположения, например оценить распределение шумов используя перекрестную проверку.
Согласен. Во многом по этим соображениям для тестирования выбран практически плоский, большей частью планированный участок местности, часть которого еще и имеет бетонное покрытие.
Но при этом я, во-вторых, исходил из здешней статьи "Адаптивное сглаживание для шумных ЦМР" http://gis-lab.info/qa/adaptive-smooth-dem.html. Так понимаю, что один из ее посылов - возможность определять величины шумов, исходя из самих "ЦМР".
Во-вторых, и до знакомства с форумом видел попытки определять величины шумов из самих точек.
gamm писал(а):Кроме того, нужно выделить (или задать) структурные элементы (барьеры), на которых происходит разрыв гладкости (например, кромки обрывов), и много чего еще.
Отчасти здесь собака и порылась. Эти самые "барьеры" - структурные линии рельефа - в точках размыты и зашумлены. Больше всего это касается микрорельефа - незначительных абсолютными размерами, но отображаемых объектов. Канавки, валики, невысокие откосы, обрывы, бордюры, даже границы покрытий и пр. В принципе в лазерных точках все это видно. Но плохо. И из-за шумов структурные линии и крупных обрывов-откосов часто невозможно определить с нужной точностью.
gamm писал(а):Да, и напоследок. Результатом сглаживания часто является ЦМР на регулярной сетке, в которой никаких исходных точек уже просто нет, ни в каком виде.
Понимаю, что какие-то инструменты могут работать через регулярную модель. Только сетка сама по определению вносит свои искажения. Например, ее точки "промахиваются" мимо структурных линий.
В реальности эти самые структурные линии в значительной мере и определяются по точкам лазерного сканирования. Поскольку оч. часто никакие другие источники данных информации о них не содержат. Например, земля закрыта растительностью, бровки задернованы, теней не видно, стереорежим невозможен и т.п.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в точках земли

Сообщение gamm » 10 фев 2013, 04:45

АлексЮстасу писал(а): Да, очевидно, что при сглаживании рельефа и от шумов ничего не останется :D
И, очевидно, при удалении шумов рельеф получается глаже.
Я бы грубо сравнил процесс фильтрации шумов с работой граблями, а процесс сглаживания с катком или бульдозером.
у вас полная мешанина с постановкой задачи, с устройством данных, получаемых от лидара, их связью с "рельефом" (который вы тоже не можете внятно определить), методами решения подобных задач, и структурами данных для представления ЦМР. Надеюсь, ваши мечты о программе с единственной кнопкой "Поди туда, не знаю, куда и сделай то, не знаю, что, но чтобы шумы исчезли и мне понравилось" осуществятся. Успехов!

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 10 фев 2013, 16:11

Эх! Нижайше прошу прощения!
Я действительно круто облажался! Я выложил точки уже обработанные, уже выглаженные :(
Точки выглажены инструментом, не предназначенном для собственно удаления шумов, но единственным мне доступным - на безрыбье попробовал им воспользовался, и в пылу сражения с ними выложил именно их.
Смогу выложить исходные точки только завтра.
gamm писал(а):
АлексЮстасу писал(а): Да, очевидно, что при сглаживании рельефа и от шумов ничего не останется :D
И, очевидно, при удалении шумов рельеф получается глаже.
Я бы грубо сравнил процесс фильтрации шумов с работой граблями, а процесс сглаживания с катком или бульдозером.
у вас полная мешанина с постановкой задачи, с устройством данных, получаемых от лидара, их связью с "рельефом" (который вы тоже не можете внятно определить), методами решения подобных задач, и структурами данных для представления ЦМР. Надеюсь, ваши мечты о программе с единственной кнопкой "Поди туда, не знаю, куда и сделай то, не знаю, что, но чтобы шумы исчезли и мне понравилось" осуществятся. Успехов!
Какое значение имеет для вопроса о шумах, ЦМР это с большой-большой буквы "М" или неструктурированное множество точек земли? Ну при чем здесь устройство данных, получаемых от лидара и их связь с "рельефом", если точки земли уже выделены признанным одним из лучших для этого инструментом - TerraScan? (LAStools, например, выделил у меня точек "земли" почти в два раза больше, т.е. еще "шумнее").

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

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 11 фев 2013, 15:48

Перезалил в исходном сообщении точки. Теперь в архиве точки без обработки - после выделения земли автоматом. И точки после "удаления шумов" в Terrascan. Точнее - после Smoothen Points с допуском +-0.2 м. Эта Smoothen Points не предназначена для удаления шумов, имеет только один параметр для всего массива точек, т.е. и пологие, и наклонные поверхности, и открытые, и залесенные участки и т.п. обрабатывает совершенно одинаково.
Также приложен dxf-файл с горизонталями через 0.25 м, построенными в Terrascan по исходным (желтые) и по обработанным (красные) точкам.
Еще раз прошу прощения за свою оплошность в самом начале.
Последний раз редактировалось АлексЮстасу 13 фев 2013, 02:00, всего редактировалось 2 раза.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в точках земли

Сообщение gamm » 11 фев 2013, 18:24

АлексЮстасу писал(а):Также приложен dxf-файл с горизонталями через 0.25 м, построенными в Terrascan
вы же вроде топограф? может, вы сами то это кусок местности видели - там что, действительно в левой части три строго вертикальных канавы или это артефакт?

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 12 фев 2013, 03:12

gamm писал(а):вы же вроде топограф? может, вы сами то это кусок местности видели - там что, действительно в левой части три строго вертикальных канавы или это артефакт?
Я топограф камеральный! Да, там три канавы. И установлено это не в поле, и даже не столько по аэрофотоизображениям, сколько по точкам. Каковые для выявления подобных объектов, и объектов с еще меньшими превышениями оч. желательно иметь максимально "ясными". О чем и разговор.

Кстати, поставил себе по Вашему совету с горя R, даже смог позапускать Ваши программы. Въехал, наконец, что картинка - это сильно сглаженные горизонтали на всю территорию (я-то думал, что это только мелкий фрагментик какой-то). Но как там и чем управлять пока не ведаю. :)

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в точках земли

Сообщение gamm » 12 фев 2013, 06:57

АлексЮстасу писал(а):Да, там три канавы. И установлено это не в поле, и даже не столько по аэрофотоизображениям, сколько по точкам.
т.е. вы не знаете, есть они в природе или нет. Я вам как специалист по цифровым системам скажу, что они больше похожи на артефакты. А как человек, знакомый с дешифровщиками, скажу, что их либо выкопали экскаватором, либо они точно артефакт - в природных системах такого не наблюдается.
Кстати, поставил себе по Вашему совету с горя R, даже смог позапускать Ваши программы. Въехал, наконец, что картинка - это сильно сглаженные горизонтали на всю территорию (я-то думал, что это только мелкий фрагментик какой-то). Но как там и чем управлять пока не ведаю. :)
ну, программы не мои - я вызывал готовые функции. А как управлять - в инструкции написано, вызывается ?<имя функции>, например ?loess

MBA управляется числом уровней иерархии h=<число уровней>, при h=8 или h=12 получите примерно то, что вам построила ваша программа. Еще раз повторю, метод создавался для 3D облаков точек, когда лидаров еще не применяли. Метод предполагает, что точки "земли" отделены от точек "над землей". Если известно распределение ошибки, то выбирается такое h и начальное разбиение (n,m), что СКО отклонения точек от модели становится равным этой ошибке, в этом случае имеет место оптимальная фильтрация. Метод использует локальные В-сплайны, и обеспечивает непрерывность смой функции, и ее первых двух производных, в результате не может моделировать резкие границы типа бровок, на которых первая производная разрывна (т.е. здания с вертикальными стенами он вам не построит).

loess() работает медленно, единственный параметр - число (точнее, доля) используемых в локальном окне точек span=<доля>. При span=0.05 будет использовано 0.05*N точек, что при более-менее равномерном их распределении позволяет прикинуть размер локального окна. Но работает, повторюсь, медленно ... зато при к=1 учитывает локальный уклон, а при к=2 еще и локальную кривизну рельефа. Аналогично, результат непрерывен вместе с первой производной.

для моделирования резких границ требуется их детектирование, и построение двух моделей в местах границ (слева и справа от границы) с последующей "сшивкой", что есть задача нетривиальная.

оба метода позволяют считать результат не на сетке, а в заданных точках, т.е. вычислять сглаженный (отфильтрованный) результат в исходных точках.

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

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

как-то так ...

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 12 фев 2013, 19:36

gamm писал(а):
АлексЮстасу писал(а):Да, там три канавы. И установлено это не в поле, и даже не столько по аэрофотоизображениям, сколько по точкам.
т.е. вы не знаете, есть они в природе или нет. Я вам как специалист по цифровым системам скажу, что они больше похожи на артефакты. А как человек, знакомый с дешифровщиками, скажу, что их либо выкопали экскаватором, либо они точно артефакт - в природных системах такого не наблюдается.
Как топограф и дешифровщик как раз знаю, что канавы там есть. Благодаря лазерным точкам. Это v-образные старые оплывшие заросшие канавы - видно в поперечном разрезе по лазерным точкам.
Какой смысл вы вкладываете здесь в слово "артефакт"? Что их можно игнорировать?
Лазерные точки и модели, которые по ним можно построить (в т.ч. горизонтали), позволяют выявлять на местности подобные объекты, измерять их, принимать решения о способе отображения или об их игнорировании. Оч. часто других источников информации о подобных объектах просто нет или совсем нетехнологично их использовать (допустим, стерео), или одни данные (допустим, аэрофотосъемки) необходимо дополнить другими.
Но принятие этих решений затруднено состоянием "земли" - наличием в точках, выделенных как земля, шумов.
Поэтому - до сглаживания "земли" - необходимо "истинную, идеальную" землю, наоборот, максимально выявить. Во-первых, чтобы правильно дешифрировать объекты, во-вторых, чтобы сглаживать не "псевдоземлю" с шумами, а "идеальную" землю", очищенную от шумов. Без этого сглаженная модель оказывается псевдоквазией второго порядка - за точность, полноту и достоверность которой поручиться практически невозможно.
Сглаживание же как таковое делается для другой цели - для приведения модели земли к той степени обобщенности, которая задана масштабами, т.е. целями пользователей. Которым частные детали соответствующих величин только мешают.
Да, до сих пор наличие шумов в лазерных точках практически всегда игнорировалось - ведь при сглаживании от шумов ничего не остается. Но сглаживание зашумленных точек, моделей оборачивается потерями и неопределенностью точности, достоверности и полноты, которые очень во многом пытаются (в топографии) компенсировать просто ручным редактированием либо - опять-таки - делают вид, что все в порядке - авось проскочит.
gamm писал(а):Еще раз повторю, метод создавался для 3D облаков точек, когда лидаров еще не применяли. Метод предполагает, что точки "земли" отделены от точек "над землей".
Здесь тоже множество точек, уже определенных как точки земли. В чем суть отличий точек лидарных от прежних?
gamm писал(а):Если известно распределение ошибки, то выбирается такое h и начальное разбиение (n,m), что СКО отклонения точек от модели становится равным этой ошибке, в этом случае имеет место оптимальная фильтрация. Метод использует локальные В-сплайны, и обеспечивает непрерывность смой функции, и ее первых двух производных, в результате не может моделировать резкие границы типа бровок, на которых первая производная разрывна (т.е. здания с вертикальными стенами он вам не построит).
Допустим, измерениями на заведомо плоских поверхностях установили, что разброс точек по вертикали достигает 0.2 м. Какие параметры порекомендуете?
gamm писал(а):loess() работает медленно, единственный параметр - число (точнее, доля) используемых в локальном окне точек span=<доля>. При span=0.05 будет использовано 0.05*N точек, что при более-менее равномерном их распределении позволяет прикинуть размер локального окна. Но работает, повторюсь, медленно ... зато при к=1 учитывает локальный уклон, а при к=2 еще и локальную кривизну рельефа. Аналогично, результат непрерывен вместе с первой производной.
Скорость здесь не главное. Подобные данные целесообразно обрабатывать максимально большими фрагментами пакетно или целиком на весь проект. Если ночку компьютер попыхтит, но выдаст нужный результат, то тоже хорошо.
Э... Я что-то упустил... Это k где там - не вижу?
gamm писал(а):оба метода позволяют считать результат не на сетке, а в заданных точках, т.е. вычислять сглаженный (отфильтрованный) результат в исходных точках.
Как бы его выгрузить в точках? Я изобрел следующую строку:

Код: Выделить всё

 write.table(p, "R_земля.xyz", sep = " ", row.names=FALSE)
Но выгружаются исходные, а не обработанные точки, и как бы еще не выводить в файл шапку?
gamm писал(а):если предположить наличие не только случайного стационарного (с одинаковым распределением по всей территории) некоррелированного шума, но и наличие "выбросов" (случайных значений произвольной магнитуды), то оба метода нужно включаить в итерационную схему: строится начальная модель рельефа по всем точкам, определяются отклонения точек от нее, робастными методами (устойчивыми к выбросам) оценивается дисперсия, вычисляется вероятность принадлежности точек к "правильной" совокупности, и выбросы отбрасываются, благо точек хватает, и так, пока не сойдется.
Тут две задачи:
- шум может быть на разных фрагментах разной величины (на асфальте и бетоне один, под травой другой, под деревьями третий, а где-то влияют бОльшие остаточные погрешности сведения пролетов и т.п.),
- "выбросы" тоже могут быть в виде, допустим, точек на камнях, пнях и пр.
Борьба с этими проблемами тоже на повестке.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: способы и инструменты удаления шумов в точках земли

Сообщение gamm » 12 фев 2013, 20:32

АлексЮстасу писал(а):Как топограф и дешифровщик как раз знаю, что канавы там есть. Благодаря лазерным точкам. Это v-образные старые оплывшие заросшие канавы - видно в поперечном разрезе по лазерным точкам.
Какой смысл вы вкладываете здесь в слово "артефакт"?
т.е. вы не знаете, есть они там или нет. И что там, кстати, могли копать, в виде трех параллельных канав без начала и конца? Артефакт - косяк лидара, визуально очень похоже. Кстати, горизонтали не являются цифровой моделью рельефа, это результат визуализации модели.

Отмечу, что терминологическая и понятийная мешанина по поводу задачи ("фильтрации шумов") у вас нарастает, понять ничего нельзя. С точки зрения математики цифровая фильтрация шумов и сглаживание (smoothing) - одно и то же, с некоторым различием в деталях выбора коэффициентов. То, что вы называете сглаживаем, есть генерализация. Цель фильтрации - восстановить истинное значение функции (рельефа) по зашумленным данным.

Если под разбросом точек по вертикали имеется в виду СКО, то нужно выбрать такие параметры, при которых СКО остатков (отклонений от модели) будет ему равно.

Для loess() вместо k= следует читать degree=, писал по памяти. Кстати, в R прекрасный help и мануалы, с примерами. Они небольшие, можно читать только описание параметров и сами примеры, если метод не интересен.

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: способы и инструменты удаления шумов в точках земли

Сообщение АлексЮстасу » 13 фев 2013, 02:49

gamm писал(а):
АлексЮстасу писал(а):Как топограф и дешифровщик как раз знаю, что канавы там есть. Благодаря лазерным точкам. Это v-образные старые оплывшие заросшие канавы - видно в поперечном разрезе по лазерным точкам.
Какой смысл вы вкладываете здесь в слово "артефакт"?
т.е. вы не знаете, есть они там или нет. И что там, кстати, могли копать, в виде трех параллельных канав без начала и конца? Артефакт - косяк лидара, визуально очень похоже. Кстати, горизонтали не являются цифровой моделью рельефа, это результат визуализации модели.
Гм... Соответствующий фрагмент ортофото даже выкладывать не буду - там, очевидно, тоже косяки на тех же местах, но уже на фотоизображениях. Случайно :D
gamm писал(а):Отмечу, что терминологическая и понятийная мешанина по поводу задачи ("фильтрации шумов") у вас нарастает, понять ничего нельзя. С точки зрения математики цифровая фильтрация шумов и сглаживание (smoothing) - одно и то же, с некоторым различием в деталях выбора коэффициентов. То, что вы называете сглаживаем, есть генерализация. Цель фильтрации - восстановить истинное значение функции (рельефа) по зашумленным данным.
Несмотря на полную неразбериху моих текстов, в этих последних двух фразах Вы выразили мои представления вполне точно, хотя и другими словами. Т.е., очевидно, Вы меня вполне поняли. Осталось выправить мою терминологию - и ок.
"Генерализация" - это не сглаживание? То, что чертил R по Вашему коду очень похоже на генерализацию. Или это все-таки было сглаживание?
Я почти готов Вам поверить, что фильтрация шумов и сглаживание (или "генерализация"?) формально-математически могут быть одним и тем же. Но ведь смысл этих задач принципиально разный? Даже противоположный. Хотя, я и сам имитирую некое подобие фильтрации шумов терраскановским Smoothen Points с параметрами, при которых модель сглаживается настолько, что видимая шумность минимизируется, а потери в формах рельефа еще незначительно малы.
Но в терраскановском Smoothen Points меня не устраивает:
- единство параметров для всего обрабатываемого массива точек, и вообще - что параметры задаются пользователем, а не определяются из самих точек. Идея фильтрации, адаптирующейся к изменениям величины шумов, мне кажется очень дельной. См. здешнюю статью "Адаптивное сглаживание для шумных ЦМР" http://gis-lab.info/qa/adaptive-smooth-dem.html. (привожу эту ссылку здесь уже четвертый раз, наверное :D ),
- я не математик, и пока еще полагаю, что в этой задаче, как, допустим, и у звукоинженера за очищение голоса от шумов, и за то, чтобы сделать голос протяжнее, отвечают разные инструменты.

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей