Также смотрите другие статьи серии "Как визуализировать и анимировать (геофизические) модели":
- Вводная статья со списком используемого программного обеспечения
- Показываем исходные данные
- 3D анимация и визуализация 4D данных
- Информативность визуализации
- Воксельные модели и сетчатые поверхности
Наглядная визуализация позволяет быстро понять суть работы и полученных результатов, но, случается, — понять неправильно. Как однозначно продемонстрировать результаты и, притом, избежать груды подтверждающих формул и ссылок на другие работы — так, чтобы все было визуально очевидно (в хорошем смысле слова)?
На картинке выше представлены результаты улучшение гравитационных данных GGMplus Free-Air Gravity Anomaly 200м с помощью рельефа SRTM 30м техникой переноса компонент пространственного спектра.
Постановка задачи
Рассмотрим задачу улучшения качества исходных данных — это может быть как отдельным проектом, так и частью большего проекта. Например, для получения детальных 3D геологических моделей, показанных в предыдущих статьях серии, использованы детальные данные гравики и рельефа, полученные данным способом.
Существуют разные методы улучшения пространственного разрешения, в том числе, так называемые техники супер-разрешения (super-resolution), основанные на комбинировании множества датасетов или использования априори известных закономерностей. Ключевой проблемой является доказательство качества полученных результатов — а значит, визуализация результата должна это учитывать.
И вот тут я неоднократно попадал в так называемую ловушку очевидности — показав результаты графически, я дополнял их формулами с обоснованием валидности и аккуратности этих результатов с выводом вида "корреляция пространственных спектров равна -0.98, что и доказывает качество полученного результата". Увы, но мало кто может воспринимать формулы так же свободно, как картинки, и тем более мало кто захочет когда-нибудь потом тратить время на их изучение… Таким образом, слушатели (читатели) оставались в сомнениях относительно представленных результатов, что их в немалой степени обесценивало. Что же делать? Путем проб и ошибок я пришел к тому, что проблема… в визуализации! То, что мне, как автору, кажется очевидным и, в принципе, видно на картинке, воспринимается совсем иначе другими людьми. Также может помочь еще одна визуализация, из которой понятно, как получена оценка точности. Посмотрим, как это сделать.
Исходные данные
Ноутбук Python 3 и все исходные данные выложены на GitHub, смотрите ссылку в конце статьи.
Визуализация результатов
Ниже представлен оформленный средствами matplotlib результат:
Здесь видно, что правая картинка имеет значительно более высокое разрешение, что и требовалось получить. Все очевидно? Да… но нет. Из графиков совершенно непонятна вертикальная точность. Попробуем показать то же самое в 3D с помощью ParaView (хотя matplotlib и позволяет отображать 3D поверхности, выглядит это для сложных поверхностей так себе):
Теперь те же самые данные представлены так, что совершенно ясны и вертикальный масштаб, и горизонтальная и вертикальная точность. А вот вместо слов "корреляция пространственных спектров равна -0.98" мы можем показать двумерную коррелограмму пространственных компонент гравики и рельефа с помощью matplotlib:
Как видно, корреляция исходных растров очень близка к -1 везде, кроме области высоких частот, где и требуется выполнить перенос компонент взамен отсутствующих для гравики. Кстати, также показательно, что реальное разрешение гравики отличается от заявленного — что вполне интуитивно (посколько наоборот быть просто не может). Этот график наиболее информативен именно в таком виде — не нужно пытаться сделать его в 3D виде, так как это только затруднит восприятие.
При наличии референсных точек на поверхности Земли их также легко добавить на 3D графики и дополнить численной оценкой вертикальной точности, вынесенной на графике.
Ссылки
Python 3 source code (Jupyter notebook)
Build Super-resolution Gravity from GGMplus Free-Air Gravity Anomaly (200m) enhanced by SRTM topography (30m) — более техническая статья на английском языке на LinkedIn.