Кривизна и анализ дискретных поверхностей. Порядок операций при сегментации. Структуры хранения точек в трехмерном изображении. Применение метода пороговой фильтрации. Язык и платформа разработки программы. Средства визуализации и работы с матрицами.
Аннотация к работе
В работе рассматривается выделение объектов в трехмерных медицинских изображениях. Основываясь на изображениях таких образований, может быть принято решение о проведении дополнительных процедур для определения злокачественности образования. Процесс выделения сегментов, содержащих замкнутые объекты, или сегментация, похож на трехмерную вариацию алгоритма заливки двумерной области цветом. Существуют и другие подходы к сегментации, но в данной работе за основу был взят именно этот по причинам, рассмотренным далее. Человеческий организм состоит из множества различных тканей, и нет гарантии, что на изображении не окажется тканей со схожей плотностью, но не имеющих отношения к выделяемому объекту.Алгоритм использует только яркость точки для определения принадлежности к сегменту Алгоритм использует яркость, окружение точки и заранее известную информацию о предполагаемой форме выделяемого объекта, например, математическое описание этой формы Отложенные алгоритмы теоретически могут быть применимы, но нежелательны, поскольку если алгоритм требует много времени и больших вычислительных мощностей, то быстрее и менее затратно провести сегментацию вручную. Говоря о степени автономности алгоритма, нужно учитывать, что, для того чтобы использовать полностью автоматически алгоритм, нужно быть уверенным, что он сработает с достаточной точностью на любых входных параметрах. В работе [10], как и в [7], в качестве двух основных подходов к сегментации определяются анализ цветового пространства изображения и наращение региона.Общая формула подсчета кривизны выглядит таким образом: Для трехмерного случая, подсчитываются минимальная и максимальная кривизна по всем направлениям, эти значения называются главными кривизнами, и на их основе вычисляются метрики средней и полной кривизны (кривизны Гаусса) Принцип работы оператора Собеля заключается в том, что область изображения подвергается свертке с матрицей оператора и результирующая матрица содержит значения производных в каждой из точек по направлению, заданному матрицей оператора. Если для какой-либо точки не существует соседей: необходимых для подсчета (например, точки с координатами i-1,j,k), то есть точка находится на краю изображения хотя бы по одному из измерений, то существует несколько способов разрешения такой проблемы. Для каждой из точек-кандидатов вычисляется метрика кривизны поверхности, и если она оказывается выше порогового значения, точка добавляется к объекту. В описании операций под «белой» точкой подразумевается точка бинарного изображения, в которой значение равно единице, а «черной» точкой называется точка с значением ноль.Также, наличие ориентированных на производительность библиотек работы с матрицами, с похожим на Matlab программным интерфейсом, позволяет минимизировать сложность переноса кода. Для работы изображениями в формате серий матриц было рассмотрено несколько инструментов. Эта библиотека показывает превосходство в скорости, благодаря оптимизации операций работы с сегментами матриц, а также минимизации числа временных значений и цепному выполнению операций. Поэтому было принято решение использовать самописные классы и функции для хранения целого объекта изображения, но операции по сегментации проводить на отдельных частях изображения, преобразованных в Armadillo-массивы. Для измерения производительности работы отдельных алгоритмов, операций и программы в целом были использованы средства профилирования и отладки Visual Studio, а также библиотека ctime.В этой главе приводится описание практических экспериментов, проведенных в процессе написания ВКР, и результатов этих экспериментов Первоначальные эксперименты по проверке работоспособности основного алгоритма сегментации с контролем кривизны были проведены на искусственно созданных бинарных изображениях различной геометрической формы. Основной задачей данных экспериментов было проверить, возможно ли при помощи контроля кривизны нейтрализовать влияние дефектов на результат сегментации. Второе изображение - куб с несколькими дефектами - служит для проверки работы алгоритма в случае, когда форма выделяемого объекта не близка к сферической, но тем не менее результат должен быть таким же - объект должен быть выделен исключая дефектные выбросы. Эксперименты с этими двумя изображениями, а также другими формами входных данных позволили выбрать наиболее подходящий алгоритм контроля кривизны из изученных.Сегментация изображений, в том числе медицинских - важная задача графической обработки, имеющая множественные применения. Эта задача не имеет универсального решения, и существует большое количество различных алгоритмов сегментации. В рамках выполнения ВКР была разработана программа, реализующая комбинацию нескольких алгоритмов для сегментации медицинских изображений в реальном времени. Алгоритм пороговой фильтрации с использованием нечетких множеств 2 типа позволяет снизить влияние шума изображения, и провести грубое первичное разделение изображения на фон и значимые объекты.