Поверхность. Рентгеновские, синхротронные и нейтронные исследования, 2022, № 7, стр. 84-89

Методика аттестации трековых мембран с использованием компьютерного зрения

Н. В. Кузнецов a*, С. А. Бедин bc**

a Сколковский институт науки и технологий
121205 Москва, Россия

b Московский педагогический государственный университет
119992 Москва, Россия

c ФНИЦ “Кристаллография и фотоника” РАН
119333 Москва, Россия

* E-mail: nikuznetsoff@gmail.com
** E-mail: bserg5@gmail.com

Поступила в редакцию 11.10.2021
После доработки 14.12.2021
Принята к публикации 14.12.2021

Полный текст (PDF)

Аннотация

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

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

ВВЕДЕНИЕ

Трековые мембраны – это тонкие полимерные пленки толщиной 10–20 мкм с системой идентичных калиброванных пор диаметром от нескольких десятков нанометров до нескольких микрометров. На сегодняшний день существует развитая технология их производства путем облучения полимерной пленки ионами на ускорителе с последующей физико-химической обработкой [1, 2]. Трековые мембраны нашли применение в качестве высокоэффективных фильтров для очистки воды [3], плазмафереза крови [4]. Важно распределение пор на поверхности мембраны, что напрямую влияет на ее прочность и эксплуатационные характеристики [5].

Еще одно широкое применение трековые мембраны получили в качестве шаблонов для синтеза наноматериалов [6, 7], а именно ансамблей нанопроволок из металлов. В данном случае необходимо точно знать плотность пор мембран и их диаметр, которые во многом определяют свойства получаемых наноматериалов. Например, при получении магнитных нанопроволок важно знать ориентацию, размер и взаимное расположение пор в исходной мембране [8, 9]. И в случае близкого расположения нанопроволок наблюдается сильное влияние магнитных полей соседних проволок, не позволяющее их перемагничивать. Относительное расположение нанопроволок необходимо учитывать при использовании ансамблей нанопроволок из серебра в качестве активных подложек для поверхностно усиленного комбинационного рассеяния света [10]. В этом случае оно может значительно влиять на механизмы усиления сигнала.

Поверхностная плотность пор трековых мембран определяется условиями облучения полимерной пленки в процессе изготовления. Диаметр пор задается в процессе физико-химической обработки мембран и варьируется в пределах нескольких процентов. Распределение пор на поверхности готовой мембраны можно определить путем анализа данных оптической и электронной микроскопии. В основном расчет реализуется вручную, что связано со сложностью идентификации пор на изображениях, особенно при наличии на поверхности группы сливающихся пор. Это является неэффективным способом, так как из-за временных затрат нет возможности набрать хорошую статистику данных на большой площади поверхности.

Существуют готовые программные решения, которые упрощают процедуру получение характеристик трековых мембран, но и они имеют некоторые особенности. В качестве примера можно привести программу ImageJ [11], с помощью которой были получены качественные результаты [12]. При анализе изображений данная программа работает по пороговому принципу: все цвета, которые темнее или светлее заданного порога, отбрасываются, остаются только цвета из выбранного промежутка. Этот подход удобен в случаях контрастных, не цветных изображений, которым присуще явное бимодальное распределение цветов. Но в случаях, когда распределение отличается от бимодального, сложно выделить конкретную цветовую компоненту, из-за чего точность сегментации падает. Кроме того, программа не различает области слипшихся пор и определяет такие области как одну большую пору. Подобный алгоритм ускоряет обработку изображений в сравнении с ручным подходом, но в случае изображений с нетипичным распределением цветов может принципиально не работать. В настоящей работе предлагается использовать машинное обучение для решения этих двух проблем. Во-первых, обучаемая модель извлекает признаки необходимых объектов, поэтому инвариантна относительно распределения цветов. Во-вторых, из-за отсутствия ручной настройки можно получать маски большего числа изображений за меньшее время, что позволяет автоматизировать процесс.

ОБУЧЕНИЕ МОДЕЛИ

В задачах, связанных с машинным обучением, ключевым фактором является набор данных, на котором происходит обучение. В настоящей работе модель обучали на наборе из 608 изображений трековых мембран, сделанных с помощью электронного микроскопа (рис. 1). В работе использовали трековые мембраны, изготовленные в ОИЯИ (г. Дубна), диаметром 0.1 (рис. 1а) и 0.2 мкм (рис. 1б). Изначально в распоряжении имелось 37 изображений, но путем аугментации удалось увеличить набор данных примерно в 16 раз. Далее изображения сжимали до размера 256 × 256 пикселей для непосредственной загрузки в модель.

Рис. 1.

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

В работе была использована модель UNet++ [13] из библиотеки Segmentation Models [14]. Структурно она похожа на модель UNet [15], принцип работы которой заключается в следующем: архитектура модели состоит из сжимающего пути, где изображение сворачивается с помощью операций свертки, после чего следует разжимающий путь, во время которого применяется операция pooling для расширения карты признаков. Инновационной чертой данной модели являются пропускные соединения (skip-connections), которые соединяют слои сжимающего и разжимающего путей для расширения карты признаков модели, что помогает обучать модели на меньшем наборе данных. Модель же UNet++ имеет два основных отличия. Во-первых, наличие слоев свертки на месте пропускных соединений, что позволяет избежать семантического разрыва между картами признаков в начале и в конце модели. Во-вторых, наличие полносвязных соединений на месте пропускных соединений, что улучшает градиентную оптимизацию. Различия между моделями показаны на рис. 2 (круг соответствует операции свертки, пунктирная линия – пропускное соединение, L – функция потерь).

Рис. 2.

Архитектура: а – UNet++; б – UNet.

Еще одним ключевым моментом в машинном обучении является функция потерь, потому что именно ее минимизация позволяет обучить модель и достичь желаемого результата. В работе использовали функцию бинарной кросс-энтропии (BCELoss), которую применяют для количественной оценки разницы между двумя распределениями вероятностей, т.е. предсказанную вероятность элемента изображения сравнивают с его фактическим классом (фон или пора), и затем вычисляют поправку, с помощью которой можно улучшить результат.

Чтобы понять, насколько качественно обучилась модель, необходимо оценить сделанные ей предсказания. Для этого была использована такая метрика, как мера Жаккара. Суть метрики заключается в том, что сравнивают маску изображения из набора данных и маску, полученную моделью. После выполняют операцию деления площади пересечения белых областей на площадь их объединения. В идеальном случае такое отношение будет равно единице, потому что области полностью совпадут, и пересечение будет равно объединению. В результате обучения модели в работе было достигнуто значение метрики 0.99.

АНАЛИЗ ИЗОБРАЖЕНИЙ

Результатом загрузки изображения в модель является бинарная маска. На рис. 3 представлены такие маски для трековых мембран, изображенных на рис. 1. Так как эти изображения содержат только два цвета, где белые области представляют собой поры, легко рассчитать необходимые характеристики мембран с помощью классических алгоритмов. Например, расчет пористости мембраны представляет из себя следующие простые действия: подсчет количества белых пикселей; подсчет общего числа пикселей; деление первого на второе. Таким образом можно высчитать, какой процент занимают поры от общей площади, что и является пористостью.

Рис. 3.

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

Следующим шагом является анализ белых областей. Для этого используется библиотека OpenCV [16]. С помощью функции findCountor были найдены контуры всех белых областей, а затем рассчитаны их площади с помощью функции contourArea. Затем были построены распределения площадей (рис. 4). После выбора медианной площади (медиана полученного распределения площадей) найденные раннее контуры фильтровали исходя из условия, что площадь контура должна быть больше половины медианной площади (данный порог вводится эвристически). Отобранные области изображены на рис. 5 (цвета инвертированы, использован фрагмент маски, отмеченный пунктирной рамкой на рис. 1а). Точки внутри областей означают центры масс этих областей и рассчитываются с помощью функции moments. В случае одиночной поры эта точка будет равна ее центру, но в случае слипшихся пор это не так. Здесь проявляется ограничение алгоритма, которое связано со сложностью определения центра индивидуальной поры в ансамбле пересекающихся пор, поэтому полученное значение характеризует именно центр масс всей области.

Рис. 4.

Распределение площадей пор, изображенных на рис. 1.

Рис. 5.

Отбор пор на изображении, их контуры и центры масс.

Для подсчета количества пор можно ввести еще один эвристический алгоритм: будем считать, что поры пересеклись, если площадь области больше трех вторых от медианной площади. Брать просто площадь одной поры не совсем правильно, так как мембраны облучаются под углом, в связи с чем форма поры больше похожа на эллипс. Из-за этого пора может занимать чуть большую площадь, чем идеально круглая пора. Таким образом можно найти все области, удовлетворяющие введенному условию и, поделив площадь области на медианную площадь и округлив до целого в сторону бóльших значений, посчитать, сколько пор находится в данной области. Результат данного подхода показан на рис. 6 (цвета инвертированы, использован фрагмент маски, отмеченный пунктирной рамкой на рис. 1а).

Рис. 6.

Отбор областей пересечения пор (выделены контуром).

ОБСУЖДЕНИЕ РЕЗУЛЬТАТОВ

Для начала сравним результаты подсчетов, полученных ручным способом и с помощью обученной модели. Были рассчитаны такие характеристики, как пористость и количество пор. Результаты представлены в табл. 1. Из таблицы видно, что для изображения трековой мембраны на рис. 1а характеристики рассчитаны с небольшой разницей, в то время как для рис. 1б различия в характеристиках достаточно весомые. Этот факт легко объяснить. Для начала стоит описать методику ручного подсчета пористости: на изображении вручную считают поры, диаметры этих пор известны и не сильно варьируются, т.е. возможно посчитать примерную площадь одной поры, после чего умножить полученное значение на количество пор и разделить на всю площадь изображения, получив процент площади, занимаемый порами. В случае рис. 1а довольно много единичных пор и мало ансамблей пересекающихся пор, что обеспечивает маленькую разницу при разных способах подсчета. На рис. 1б, наоборот, ансамбли пор превалируют над единичными порами. Поэтому при подсчете вручную получается, что несколько пересекающихся пор занимают бóльшую площадь, чем на самом деле, потому что при ручном подсчете не учитывается факт пересечения пор. При подсчете с помощью модели не важно расположение и пересечение пор, так как считается только количество пикселей, относящихся к порам в маске. Поэтому можно сделать вывод, что подсчет пористости с помощью обученной модели более точный, нежели подсчет вручную.

Таблица 1.  

Сравнение предложенной методики с ручным подсчетом

Изображение Способ подсчета Пористость, % Количество пор
Рис. 1а Подсчет с помощью модели 12.14   633
Ручной подсчет 13.73   624
Рис. 1б Подсчет с помощью модели 19.32 1257
Ручной подсчет 39.80 1426

Обратная ситуация возникает в случае подсчета количества пор. Из описанного раннее подхода к подсчету данной характеристики очевидно, что не всегда в области находится число пор, кратное медианной площади, так как поры могут пересекаться в разных отношениях и, например, площадь двух пересекшихся пор может быть равна площади трех таких пор. В случае рис. 1а разница невелика все по той же причине – на изображении мало пересекающихся пор. Но в случае рис. 1б пересекающиеся поры встречаются намного чаще, поэтому разница в результатах так велика. При подсчете данной характеристики точнее оказывается ручной метод в случае большого количества пересекающихся пор на изображении.

ЗАКЛЮЧЕНИЕ

В работе был представлен подход к анализу изображений трековых мембран с использованием методов машинного обучения, а также классических алгоритмов компьютерного зрения. С помощью обученной модели сегментации удалось получить значение меры Жаккара, равное 0.99. Было показано, что при подсчете пористости мембраны обученная модель дает достаточно точный результат, в некоторых случаях даже точнее, чем ручной подсчет. Также было показано, что в случаях, когда на изображении много пересекающихся пор, алгоритм подсчитывает количество пор с меньшей точностью, чем это делает человек, но лучше, чем это делает описанная программа ImageJ, так как в предложенном подходе хоть и приближенно, но возможно рассчитать количество пор в областях их пересечения. Подсчет количества пор в области их пересечения является отдельной задачей классификации, которую планируется реализовать в дальнейших работах для повышения точности анализа изображений с целью подсчета характеристик мембран.

Список литературы

  1. Флеров Г.Н., Барашенков В.С. // Успехи физических наук. 1974. Т. 114. № 10. С. 351. https://doi.org./10.3367/UFNr.0114.197410e.0351

  2. Apel P. // Rad. Measur. 2001. V. 34. № 1. P. 559. https://doi.org./10.1016/S1350-4487(01)00228-1

  3. Francis M.R., Sarkar R., Roy S., Jaffar S., Mohan V.R., Kang G., Balraj V. // Am. J. Tropical Medicine Hygiene. 2016. V. 95. № 5. P. 1192. https://doi.org./10.4269/ajtmh.15-0675

  4. Siami G.A., Siami F.S. // Ther. Apher. Dial. 2001. V. 5. № 4. P. 315. https://doi.org./10.1046/j.1526-0968.2001.00316.x

  5. Gumirova V.N., Abdurashidova G.S., Bedin S.A., Zabalueva N.P., Kuvaitseva M.A., Razumovskaya I.V. // Phys. Solid State. 2015. V. 57. № 2. P. 344. https://doi.org./10.1134/S1063783415020134

  6. Martin C.R. // Chem. Mater. 1996. V. 8. № 8. P. 1739. https://doi.org./10.1021/cm960166s

  7. Spohr R. Ion Tracks and Microtechnology: Principles and Applications / Wiesbaden: Vieweg–Teubner Verlag, 1990. 274 p. https://doi.org./10.1007/978-3-322-83103-3

  8. Бизяев Д.А., Бухараев А.А., Хайбуллин Р.И., Лядов Н.М., Загорский Д.Л., Бедин С.А., Долуденко И.М. // Микроэлектроника. 2018. № 3. С. 212. https://doi.org./10.7868/S0544126918030055

  9. Долуденко И.М., Муслимов А.Э., Хайбуллин Р.И., Загорский Д.Л., Черкасов Д.А. // Физика твердого тела. 2020. Т. 62. № 9. С. 1531. https://doi.org./10.21883/FTТ.2020.09.49782.28H

  10. Kozhina E.P., Bedin S.A., Nechaeva N.L., Podoynitsyn S.N., Tarakanov V.P., Andreev S.N., Grigoriev Y.V., Naumov A.V. // Appl. Sci. 2021. V. 11. № 4. P. 1375. https://doi.org./10.3390/app11041375

  11. Rueden C.T., Schindelin J., Hiner M.C., DeZonia B.E., Walter A.E., Arena E.T., Eliceiri K.W. // BMC Bioinformatics. 2017. V. 18. № 1. P. 529. https://doi.org./10.1186/s12859-017-1934-z

  12. Haeri M., Haeri Moh. // J. Open Res. Soft. 2015. V. 3. p. e1. https://doi.org./10.5334/jors.bn

  13. Zhou Z., Rahman Siddiquee M.M., Tajbakhsh N., Liang J. // Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support / Ed. Stoyanov D. et al. Cham: Springer, 2018. P. 3. https://doi.org./10.1007/978-3-030-00889-5_1

  14. Yakubovskiy P. Segmentation Models Pytorch. GitHub Repository. 2020.

  15. Ronneberger O., Fischer P., Brox T. U // Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015 / Ed. Navab N. et al. Cham: Springer, 2015. P. 234. https://doi.org./10.1007/978-3-319-24574-4_28

  16. Bradski G. // Dr. Dobb’s J. Soft. Tools. 2000. V. 120. P. 122.

Дополнительные материалы отсутствуют.