Инструкция
по работе с Web-сервисом ParticlesNN по поиску частиц на изображениях
сканирующей зондовой микроскопии с помощью методов глубокого машинного обучения
Окунев А.Г.1,2,3,
Машуков М.Ю.3, Нартова А.В.2,1, Матвеев А.В.1,2
1Новосибирский государственный
университет, ул. Пирогова, д. 1, г. Новосибирск, Россия
2Институт катализа им. Г.К. Борескова СО РАН,
пр. Ак. Лаврентьева, д. 5, г. Новосибирск, Россия
3
Высший колледж информатики НГУ, г. Новосибирск, Россия
Web-cервис ParticlesNN создан на основе нейронной сети CascadeRCNN, обученной на изображениях наночастиц,
полученных с помощью метода сканирующей туннельной микроскопии [1]. Обученная нейронная сеть способна распознавать
наночастицы как четкие контуры. Web-cервис производит обработку полученных результатов, определяя размеры контуров,
их статистические параметры – степень покрытия, концентрацию, средний размер,
распределение частиц по размерам.
Web-cервис ParticlesNN отличается от других
программных продуктов следующими
особенностями:
1)
возможна обработка изображений, которые содержат высокочастотные шумы, артефакты, характерные для изображений зондовой
микроскопии, без дополнительной обработки;
2)
пользователь может проводить корректировку
контуров с помощью внешних программных продуктов;
3)
реализована статистическая обработка нескольких изображений;
4)
результаты обработки выдаются в виде гистограммы и таблиц, в которых доступна информация по всем идентифицированным объектам.
Подход к распознаванию частиц с помощью нейронных
сетей позволяет со временем, по накоплению размеченных данных, улучшать
качество распознавания.
Кроме того, web-cервис способен работать с
изображениями любых объектов, представленных в виде пятен интенсивности –
микрочастиц (например, СЭМ), биологических клеток, объектов на изображениях с квадрокоптеров и т.п.
При открытии адреса http://particlesnn.nsu.ru/files открывается список
ваших ранее обработанных файлов и файлов, открытых для всех.
Рекомендуется загружать
файл в формате .txt, созданный в программе WSxM [2] и
содержащий в хэдере информацию о масштабе
изображениях в нанометрах (ASCII Matrix Files или ASCII Matrix Files with
labels). В этом случае в выходных данных результаты
будут представлены и в пикселях, и в нанометрах.
Также поддерживается загрузка файлов в
обычных форматах графических файлов (.bmp, .png и другие) и формате .json,
созданном в программе Labelme [3]. При загрузке в этих форматах, результаты
будут представлены только в пикселях.
Нейронная сеть менее
эффективна в случае мелких частиц и/или их большого количества. Программные
ограничения – не более 500 частиц на изображении.
Рекомендуемое разрешение
изображения – от 250*250 до 3000*3000 пикселов.
Для загрузки файла внизу
страницы необходимо нажать на кнопку «Обзор» и выбрать необходимый файл. Рекомендуем
также заполнить поле «Description». После этого нажать на кнопку «Upload», откроется новая страница, на которой
происходит обработка данных.
В поле модели «Processing ML model» выбирается способ обработки
данных. В настоящее время их три, первые две основаны на одной и той же
нейронной сети, но отличаются наличием дополнительной обработки контуров.
Третья модель (dummy model) – для
служебного пользования. Рекомендуем параметр модели «Processing ML model» оставить по умолчанию, в дальнейшем количество моделей будет увеличено, и
будут даны комментарии по каждой модели. Поле «Comments» заполняется по вашему желанию.
После этого для запуска
обработки необходимо нажать на кнопку «Process». Изображение
обрабатывается в течение примерно одной минуты. Для получения результатов
необходимо обновить страницу браузера (как правило, выглядит как зеленая
стрелочка, направленная по кругу на панели браузера).
После обработки данных
появятся результаты распознавания: список файлов, обработанное изображение, статистические
результаты, гистограмма распределения найденных частиц по размерам.
Сервис выдает результаты
найденных частиц в двух вариантах: 1) найденных нейронной сетью; 2) уточненные
контуры, полученные после применения процедуры фиттинга
профиля каждой частицы гауссовым 3D-распределением.
1. Список файлов:
- xxx.log – файл отчёта о ходе обработки (технический файл);
- xxx_Img_contours_predicted_fitted.bmp
– изображение с контурами (представлено слева от списка файлов), «predicted» (найденных нейронной
сетью, зеленым цветом) и fit (фиттинг
гауссовым 3D-распределением,
красным цветом);
- xxx_Img_masks_predicted.bmp
– изображение с масками найденных нейронной сетью частиц;
- xxx_Stat_bbox_predicted.csv
– таблица
(открывается в Excel) с данными
по обнаруженным частицам, содержащая столбцы: index -
номер частицы; bbox_center_x, bbox_center_y
– x и y координаты частицы; area_pixels – площадь частицы в пикселях; diameter_pixels – проектированный диаметр (статистический диаметр) частицы, рассчитываемый из предположения,
что частица представлена кругом, площадь которого равна площади частицы; area_nm2
– площадь частицы в нм (если загружался файл в
формате .txt с информацией о масштабе
изображения); diameter_nm – диаметр частицы в нм;
- xxx_Stat_bbox_predicted_commas.csv – аналогичен предыдущему
файлу, но использует запятую в качестве десятичного разделителя вместо точки; в зависимости
от настроек компьютера Excel открывает либо CSV-файлы с разделителями-точками,
либо с разделителями-запятыми;
- xxx_Stat_contours_predicted_fitted.csv
- таблица
(открывается в Excel) с данными
по обнаруженным частицам и уточненным контурам в пикселях. Таблица содержит
дополнительные столбцы: d_min_pred – минимальный
диаметр частицы, проведенный через центр масс, d_max_pred
– максимальный диаметр; area_fit – площадь частицы,
уточненной с помощью фиттинга профиля каждой частицы гауссовым 2D-распределением,
d_fit, d_min_fit, d_max_fit – минимальный и максимальный диаметры уточненных
частиц, проведенные через центр масс;
- xxx_Vis_Labelme_fitted.json
– файл в
формате программы Labelme, в которой возможно
провести корректировку контуров частиц, найденных нейронной сетью и уточненных
с помощью фиттинга профиля каждой частицы гауссовым 3D-распределением;
- xxx_Vis_Labelme_predicted.json – файл в формате
программы Labelme, в которой возможно провести корректировку контуров частиц, найденных
нейронной сетью;
- xxx_Vis_VGG_predicted_fitted.json файл в формате ресурса VGG Image Annotator (VIA, [4]), где можно он-лайн провести корректировку
контуров частиц, найденных нейронной сетью и уточненных с помощью фиттинга профиля каждой частицы гауссовым 3D-распределением;
2.
Статистические результаты:
Unique masks – статистика по контурам частиц, найденных нейронной сетью.
Average
particle area – средняя площадь частиц. Определена как S0=S/N;
Total
particles area – площадь всех частиц S;
Overlapping
area – площадь
перекрывания частиц;
Detected
particles –
количество частиц,
найденных нейронной сетью;
Particles
area – доля
изображения, занятая частицами (в %);
Mid-surface diameter – среднеповерхностный диаметр (d=(4S0/π)0,5);
Mid-surface
diameter std. dev. – стандартное отклонение среднеповерхностного диаметра;
Average
projected area diameter – среднее значение проектированного диаметра (статистического диаметра);
Average projected
area diameter std. dev. – стандартное отклонение среднего значения проектированного диаметра;
Density – количество частиц на
1000 пикселей;
Аналогичные результаты представлены
для контуров частиц, уточненных с помощью фиттинга
профиля каждой частицы гауссовым 3D-распределением (Fit masks
statistics);
3.
Гистограмма распределения частиц по размерам.
Для более детального статистического анализа рекомендуем воспользоваться более
профессиональными программными продуктами, например, ресурсом [5].
В случае, если пользователя не вполне устраивает
результат распознавания нейронной сетью, то существует возможность корректировки
контуров, добавления или удаления ошибочно найденных контуров с помощью внешних
программных продуктов – Labeme, [3]. После корректировки Web-cервис позволяет проводить
статистическую обработку по уточненным контурам. Для этого файл в формате xxx.json нужно загрузить на
главной странице и получить результат обработки.
Вы можете работать на
сайте без регистрации, в режиме гостя. В этом случае просим обратить внимание, что
вверху страницы появляется надпись «Save the link to this page. It
is only accessible through this link». Для дальнейшей работы с результатами распознавания необходимо сохранить
ссылку на своем компьютере, она будет служить вашим паролем к данной странице
(ссылку при необходимости можно передавать коллегам и открывать на любом
компьютере, как shared link в Dropbox или Google Drive). Также возможен
вариант, когда пользователь обращается к администратору и делает результат
распознавания «открытым», в этом случае ссылка появится на главной странице
сайта и сохранять её не потребуется.
Тем не менее, мы
рекомендуем зарегистрироваться на сайте. В этом случае вы сможете легко увидеть
все загруженные вами файлы.
Статистическая обработка нескольких изображений
Исключение границ из статистики
[1] A.G. Okunev, A.V. Nartova, A.V. Matveev, "Recognition of
Nanoparticles on Scanning Probe Microscopy Images using Computer Vision and
Deep Machine Learning," 2019 IEEE International Multi-Conference on
Engineering, Computer and Information Sciences (SIBIRCON), Novosibirsk, Russia, 2019, pp. 0940-0943 doi:10.1109/SIBIRCON48586.2019.8958363
[2] I. Horcas, R. Fernandez, J.M.
Gomez-Rodriguez, J. Colchero, J. Gomez-Herrero, A.M. Baro. WSXM: a software for scanning probe microscopy and a tool for
nanotechnology, Rev. Sci. Instrum., 78 (2007), 013705-1–013705-8, https://doi.org/10.1063/1.2432410
http://www.wsxm.es/download.html
[3] Ketaro
Wada, labelme: Image Polygonal Annotation with Python (2016), https://github.com/wkentaro/labelme
particlesnn.nsu.ru/data/static/tools/labelme.exe