Дешифрирование минералов по цвету. Выбор софта

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 21 янв 2020, 20:08

Привет! Мне нужна программа, которая работает с графическими файлами (например, с форматами PNG, BMP, JPG) на которых изображены снимки образцов горных пород (шлифы, сделанные на микроскопе). Программа должна дешифрировать различные минералы, которые находятся в образце, по цвету, который минерал имеет на снимке (то есть по значениям параметров RGB). Каждый минерал имеет один цвет на палитре, точнее небольшой интервал параметров RGB. Например, минерал#1 от бледнокрасного до интенсивно красного; минерал#2 от бледнозеленого до интенсивно зеленого и т.д. Все эти параметры вводятся пользователем. То есть (чтобы было понятно), программа должна выполнять функцию усложненной волшебной палочки из Photoshop . Она должна автоматически выделять на снимке все пятна с заданным интервалом параметров RGB (цвета) и присваивать ему название минерала (введенные пользователем). На выходе это должен быть раскрашенный снимок с легендой определенных минералов, все неопределенное – покрашено одним цветом «ошибки» или «не удалось установить минерал».

При этом по своей сути, эта задача близка к задачам выполнения обучаемой классификации для космоснимков земной поверхности ДЗЗ. Отличий два:
-нет привычной геопривязки снимка (поскольку каждый снимок образца горных пород очень маленький, не больше ширины предметного стекла микроскопа).
- для каждого пикселя его принадлежность к какому-либо минералу определяется его цветом (числа R,G,B), а не спектральной кривой, как это есть в дешифрировании снимков ДЗЗ при помощи специальных софтов (ENVI, например).

Однако, может быть, именно софт, работающий с космоснимками можно использовать напрямую для решения этой задачи? Или есть готовый софт, который решает прямо такую задачу?

Если ничего нет, то какова может быть архитектура написания такой программы с нуля? Полезные библиотеки, примеры?

P.S. Это рабочая (не учебная) задача.

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

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение gamm » 21 янв 2020, 20:59

bluefich писал(а):
21 янв 2020, 20:08
Отличий два:
-нет привычной геопривязки снимка (поскольку каждый снимок образца горных пород очень маленький, не больше ширины предметного стекла микроскопа).
- для каждого пикселя его принадлежность к какому-либо минералу определяется его цветом (числа R,G,B), а не спектральной кривой, как это есть в дешифрировании снимков ДЗЗ при помощи специальных софтов (ENVI, например).
первое не имеет отношения к классификации (можете поставить любую систему координат), а второе неверно.

Вам нужен метод максимального правдоподобия (ML - maximum likelihood), и желательно снимки делать аппаратом, который порождает не jpeg, а нормальный снимок, и имеет хорошую цветопередачу, стабильность, и больше 8 битов на пиксель. И использовать для съемки правильное освещение. Дальше все как обычно - если у вас действительно один цвет: обводите на снимке нужные области, ставите классы, запускаете обучение, потом классификацию. На сайте гислаба есть пример для плагина QGIS (DT classifier, но он использует не ML, а дерево решений). ML есть в GRASS, который подключен к QGIS

nikost
Активный участник
Сообщения: 107
Зарегистрирован: 16 июл 2015, 15:21
Репутация: 35
Откуда: Санкт-Петербург

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение nikost » 24 янв 2020, 10:51

Готовый софт: QGIS, Grass, Saga-GIS (в котором кнопками и мышкой можно разметить картинки и сделать обучаемую классификацию даже по RGB).
Полезные библиотеки: scikit-image, scikit-learn.

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

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение gamm » 24 янв 2020, 20:20

nikost писал(а):
24 янв 2020, 10:51
даже по RGB
тут проблема не столько в RGB, сколько в том, чтобы этот RGB был сопоставим на разных снимках, для этого нужно обеспечить либо идеально одинаковые условия съемки (что требует специального оснащения), либо "атмосферную коррекцию", что требует помещения на каждый снимок цветового эталона (и стабильного равномерного освещения, без бликов, и т.д). И это все при макросъемке, что создает дополнительные проблемы ...

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 19 фев 2020, 20:14

Спасибо за советы ! :D
Также я пытаюсь решить данную задачу при помощи плагина Mask . Это хороший подход к решению задачи ?

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 19 фев 2020, 20:20

nikost писал(а):
24 янв 2020, 10:51
Полезные библиотеки: scikit-image, scikit-learn.
как именно можно использовать библиотеки ?

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 19 фев 2020, 22:38

gamm писал(а):
21 янв 2020, 20:59
На сайте гислаба есть пример для плагина QGIS (DT classifier, но он использует не ML, а дерево решений). ML есть в GRASS, который подключен к QGIS
как инсталлировать плагин QGIS DTclassifier? Этого плагина нет в списке плагинов и его нельзя установить из софта.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение Максим Дубинин » 19 фев 2020, 22:55

установить nextgis qgis, купить подписку, доп.функциональность включая этот плагин разблокируется
https://nextgis.ru/nextgis-qgis
пристегивайтесь, турбулентность прямо по курсу

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 21 фев 2020, 19:20

Максим, сколько стоит подписка, если цель пока только попробовать этот плагин, подходит ли он для решения этой специфической задачи? В первом посте обозначено, что снимок для дешифрирования является шлифом породы. То есть он очень маленький и у него нет геопривязки. :(

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

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение gamm » 21 фев 2020, 20:05

Вам ГИС не особо нужна, убедитесь для начала, что у вас условия съемки стабильные, и несколько сделанных в разное время снимков одного шлифа одинаковые.

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

А все остальное можно спокойно делать в R или Python, там все бесплатно, достаточно немного знать тот или второй язык.

Т.е. для того, чтобы все делать, вам достаточно научиться рисовать растр с полигонами образцов, вплоть до того, что просто рисовать поверх ваших снимков в Paint, запомнив RGB, которым рисовали для каждого типа.

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

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 24 фев 2020, 20:06

gamm писал(а):
21 фев 2020, 20:05
Пришлите пару-другую снимков с заданными таким образом эталонами, я постараюсь посмотреть (быстро не обещаю)
это некоторые образцы

https://drive.google.com/drive/folders/ ... sp=sharing

эталон

Изображение
Вложения
example.png
example.png (986.39 КБ) 7872 просмотра

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

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение gamm » 24 фев 2020, 21:20

Я сделал привязку (как попало, они в разные стороны разлетелись). Теперь их можно открыть в QGIS, и нарисовать эталоны. У эталонов в поле базы задать тип, числом. Картинки мне не нужны, я сам рисовать не буду, я программист, а не геммолог или петролог :-)
twf.rar
(379 байт) 340 скачиваний

bluefich
Новоприбывший
Сообщения: 7
Зарегистрирован: 21 янв 2020, 19:59
Репутация: 0
Откуда: Россия

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение bluefich » 27 фев 2020, 20:51

0Я открыла снимки с привязкой в QGIS. Что сделать для эталона? Нарисовать поверх растра векторный полигональный шейп файл, где обозначить номером минерал каждого цвета? В самом растре я не могу внести никаких обозначений. И на всем снимке целиком нужно выделить эталоны (по которым будет проводиться дешифрирование). Или достаточно обрисовать так кусочек для образца?

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

Re: Дешифрирование минералов по цвету. Выбор софта

Сообщение gamm » 28 фев 2020, 08:05

bluefich писал(а):
27 фев 2020, 20:51
Нарисовать поверх растра векторный полигональный шейп файл, где обозначить номером минерал каждого цвета?
да. Растр трогать не нужно. Нарисовать несколько полигонов, представительных (нужно отобразить все многообразие возможных цветов, важнее большая выборка, чем маленький "чистый" кусочек). Поскольку нам нужен только цвет, границы обводить не нужно, можно хоть прямоугольниками рисовать. Если нужен не только цвет, но и текстура (прожилки, переходы цвета, и пр.), то лучше, если полигоны будут достаточно большими.

Ответить

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

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

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