что значит "ошибку для каждого изображения" ?
Имеется в виду ошибка проецирования общих точек.
это я понял, вопрос можно ли использовать не квадрат, если функция всегда положительна?
Можно. Можно составить любой функционал, описывающий вашу систему, но функционал, состоящий из суммы квадратов, легко распадается на систему уравнений, что приводит к более простому решению.
ну так я так и сделал, нашел корреляции между всеми возможными парами
Здесь непонятно, что вы имеете в виду. Что значит "корреляцию между всеми возможными парами"?
Вам надо искать максимум корреляции между кусочком одного тайла (это Template image), на втором тайле (Source image).
Я уже приводил ссылочку на реализацию этого механизма в
OpenCV. Положение максимума корреляции и определит сдвиг между тайлами. Если тайлы не пересекаются, то значение в максимуме будет низкое, а профиль функции корреляции в окрестности максимума будет пологим. По этим критериям можно отсечь "ложные" совпадения.
Например биологические снимки с микроскопа типа такого
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3312714/К сожалению, там нет снимков, либо они очень малы.
И обращаю ваше внимание на то, что для данной статьи не верно ваше утверждение:
у меня простейший случай когда только сдвиг, т.е.
т.е. изображения просто двигаются по плоскости.
В плоскости XY у них движется головка микроскопа, да и то с небольшим сдвигом по Z в процессе фокусировки.
Связь между координатами кадров (тайлами) описывается другими соотношениями.
Если у вас такой же принцип получения изображений, то вам следует обратить внимание на случай одного-двух изображений
Single View and Two-View Geometry Andrew Zisserman, и на книгу, на которую ссылаются в приведенной вами статье "Hartley R, Zisserman A. Cambridge: Cambridge University Press; 2003. Multiple View Geometry in Computer Vision" - весьма полезная книга по вашей теме.
использование SIFT кстати ничего не меняет, задача остаётся та же, мы всё равно имеет пары все со всеми
На моей практике, при применении SIFT и иже с ним, на снимках, не имеющих реального перекрытия, существенно меньше соответствий, нежели на снимках с реальным перекрытием, и расположенны они хаотично. Такие пары легко отсекаются алгоритмами вроде
RANSAC.
В работоспособности SIFT'а не следует сумлеваться - попробуйте. Благо реализаций полно. На одну из нах я уже давал ссылку.
Попробуйте скормить ваши снимки готовым программам вроде
ICE или
Hugin.
(это и называется bundle adjustment?)
Не совсем.
"bundle adjustment" на русский переводится как "уравнивание связок" - один из методов уравнивания блока изображений.