Matlab Автоматическое сопоставление двух изображений с разным разрешением - PullRequest
0 голосов
/ 16 января 2019

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

Однако, если между движущимися и фиксированными изображениями происходят большие изменения масштаба, мультимодальная регистрация на основе интенсивности не работает.

Я пытался использовать сопоставление функций просеивания / прибоя для восстановления масштаба, но, поскольку эти два изображения получены с очень разных устройств, я не смог получить правильные результаты. Я думал о подходе глубокого обучения, но не уверен, как начать. Любые идеи или предложения приветствуются.

Я приложил свой код ниже, чтобы вы могли свободно его протестировать.

moving = imread('moving.png');
fixed = imread('fixed1.png');

figure
subplot(311)
imshowpair(fixed,moving,'montage')
title('Before Registration')

 % Optimizer and Metric setting
optimizer = registration.optimizer.OnePlusOneEvolutionary;
optimizer.GrowthFactor = 1.05; %1.0001
optimizer.Epsilon = 1.5e-06;
optimizer.InitialRadius = 0.00625; %0.0022 0.0015
optimizer.MaximumIterations = 200; %500


metric = registration.metric.MattesMutualInformation;
metric.NumberOfSpatialSamples = 500;
metric.NumberOfHistogramBins = 25; 


tformRigid = affine2d([1 0 0;0 1 0; 0 0 1]);
[movingRegistered,~,tform] = imregister2(moving,fixed,'affine',optimizer,metric,'DisplayOptimization',false);


subplot(312)
imshowpair(fixed,movingRegistered,'montage')
title('After Rigid Transform (Fix Spatial Difference)')

1 Ответ

0 голосов
/ 23 января 2019

Я вижу объект параллелепипеда, а не куб. Я бы придерживался классического CV, а не DL, и работал с геометрическим компьютерным зрением.

То, что вы пытаетесь сделать, - это найти преобразование (функцию), которое сделало бы два объекта инвариантами (т.е. они одинаковы). В резюме вы можете работать с различными аспектами изображения (цвет, интенсивность, градиенты, мип-карты и т. Д.); То, что я вижу, является общим, то есть то, что поможет вам найти вашу функцию, это форма (2D и 3D), геометрия ваших объектов.

Я бы посоветовал вам попробовать несколько алгоритмов из геометрического компьютерного зрения [1] и просмотреть геодезические методы [2], [3], последнее позволит вам иметь дело с различными объемными формами, а не только с определенной плоской формой (например, прямоугольник с соотношением: = ширина / высота). Я бы пошел на эти шаги:

  • подготовить изображения, чтобы сделать их максимально похожими (фактически сделать их пространство выражения максимально похожим) ( уменьшение размера ; например, нормализовать контраст и яркость, добавить фильтр нижних частот, определить границы )
  • и затем приступить к обучению с помощью классификатора (SVM, AdaBoost ...); вам нужно подготовить основную истину, обучающий набор и набор тестов (для этого есть множество ссылок).

Регистрация может быть полезна для этапа подготовки; это зависит от вашего конвейера.

Что связано с DL, так это то, что все создается сразу (это неудобно, если вы ищете модульность, и преимущество, если вы хотите «более простую» подготовку), но это также требует действительно больших наборов и очень интенсивно использует компьютер ( нужно время и вычислительная мощность). В зависимости от ваших требований (время, деньги, качество результатов) вы можете найти один метод, который лучше подходит для вашего проекта, но вы все же хотите попробовать другой или все из них (например, тест / обзор).

[1] Элементы геометрического компьютерного зрения, Андреа Фузиелло http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/FUSIELLO4/tutorial.html

[2] Геодезические методы в компьютерном зрении и графике, Габриэль Пейре, Микаэль Пешо, Рено Керивен и Лоран Д. Коэн https://www.researchgate.net/publication/47523356_Geodesic_Methods_in_Computer_Vision_and_Graphics

[3] https://scholar.google.com/scholar?hl=en&num=100&ie=UTF-8&q=computer+vision+geodesic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...