ОПТИЧЕСКИЕ СИСТЕМЫ И ТЕХНОЛОГИИ
OPTICAL ENGINEERING
УДК 681.786
МЕТОД АВТОМАТИЧЕСКОЙ КАЛИБРОВКИ СТЕРЕОСКОПИЧЕСКОЙ
СИСТЕМЫ
В.В. Коротаев3, А.В. Краснящих3, С.Н. Ярышев3, Х.В. Нгуена
а Университет ИТМО, Санкт-Петербург, Россия, ngvietvn@gmail.com
Аннотация. Предлагается новый метод автоматической калибровки стереоскопической системы, использующий тестовый объект. Сущность метода состоит в регистрации с помощью двух камер стереоскопического изображения специально подобранного эталонного объекта в виде шахматной доски с дополнительным полем - рамкой вокруг шахматной доски. Алгоритм, реализующий данный метод, включает семь этапов: регистрация набора изображений тест-объекта; пороговая фильтрация изображения; распознавание тест-объекта по размерам и форме; удаление фона; определение положения четырех крайних точек; калибровка первой и второй камер; калибровка системы в целом. При этом процесс калибровки первой и второй камер и системы выполняется с помощью программы, разработанной Jean-Yves Bouguet.
Проведено математическое и физическое моделирование с использованием двух измерительных камер и программного пакета MATLAB. Путем моделирования проведено сравнительное исследование погрешности определения координат тестовых точек в ручном и автоматическом режиме, а также погрешности калибровки в зависимости от количества изображений, полученных стереопарой.
Ключевые слова: автоматическая калибровка, стереоскопическая система, тест-объект, шахматная доска, алгоритм
AUTOMATIC CALIBRATION METHOD FOR STEREOSCOPIC SYSTEM V.V. Korotaevа, A.V. Krasnyaschikh% S.N. Yaryshev", H.V. Nguyen"
а ITMO University, Saint Petersburg, Russia, ngvietvn@gmail.com
Abstract. The paper deals with a new method of automatic calibration for stereoscopic system using test object. The idea of the method is to register stereoscopic image of specially selected reference object in the form of a chessboard with an extra field - a frame around chessboard - by means of two cameras. An algorithm implementing this method consists of seven stages: registration of set of images for a test object; image threshold filtering; recognition of test object by size and shape; background removal; position determination of four edge points; calibrating of the first and the second cameras; calibrating of stereoscopic system on the whole. The calibration process for the first and the second cameras and the system is performed by using a program developed by Jean-Yves Bouguet. Mathematical and physical modeling is done by means of two measuring cameras and MATLAB software package. Comparative error study for determination of the coordinates of test points in manual and automatic mode is carried out by modeling, as well as calibration error depending on the number of images obtained by stereo pair.
Keywords: automatic calibration, stereoscopic system, test object, chessboard, algorithm
Введение
В связи с ростом спроса на системы автоматического расположения трехмерных объектов стерео-камеры все шире применяются в задачах компьютерного зрения [1-3]. При этом калибровка стереоскопической системы является важным этапом настройки оборудования, от которой зависит погрешность определения положения измеряемых объектов. Калибровка стереокамеры - это задача получения внутренних и внешних параметров камер по имеющимся изображениям объекта. В настоящее время существует много методов калибровки камер в стереоскопической системе, в том числе использование точки схода (vanishing points) [4, 5], нейронные сети [6], перпендикулярные плоскости (Calibration of stereo cameras from two perpendicular planes) [7], метод Faugeras и Toscani [8, 9], метод калибровки с помощью шахматной доски [8, 10, 11], метод калибровки камеры при помощи объектива с переменным фокусным расстоянием Марины Колесник [8]. Все эти методы имеют общий недостаток - в процессе калибровки от пользователя требуется вручную выбирать контрольные точки, линии или плоскости, имеющиеся на изображениях, которые получены с помощью камер стереопары.
В настоящей работе на основе метода, предложенного Jean-Yves Bouguet [8], в котором в качестве тестового объекта используется объект в виде шахматной доски, авторы предлагают метод автоматической калибровки стереоскопической системы, использующий в качестве тестового объекта шахматную доску с дополнительным полем - черной рамкой вокруг шахматной доски. Кроме того, путем проведения физического моделирования оценивается качество распознавания тестового объекта, определяются координаты крайних точек и необходимое количество кадров для калибровки стереоскопической системы в автоматическом режиме.
2
Теоретическое обоснование
Стереоскопическая система состоит из двух произвольно ориентированных камер. Внутренние параметры каждой камеры представляются в виде матрицы А, которая содержит параметры оптической системы и (
ютоприемного устройства камеры [12-15]:
f / w 0 u0
A =
f / h 0
1
где/- фокусное расстояние объектива, м> и к - масштабы вдоль осей Ох и Оу соответственно; и0, у0 - координаты главной точки относительно начала координат фотоприемника (в системе координат фотоприемника). В качестве внешних параметров стереоскопической системы принимаются матрица поворота Я и вектор переноса ^
Я = К«' V К, ,
1 = Ох, Гу, )Т ,
где Ка, Кр, Ку - матрицы поворота вокруг осей Ох, Оу, Ог на углы а, в, у; 4, у 4 - значения переноса вдоль осей Ох, Оу, Ог; Т - знак транспонирования.
Задача калибровки стереоскопической системы состоит в определении матрицы К, вектора 1 и матрицы А каждой камеры. Чтобы определить эти параметры, необходимо решить следующее уравнение:
Ье = е , (1)
где матрица Ь состоит из координат N точек в пространстве (X, У,, 2) и координат их проекций в плоскости изображения камеры (и,, у,); е - неизвестный вектор, обусловленный наличием ошибок измерений; с - калибровочный вектор.
L
х, y z 0 0 0
1 0
0 х,
0
Y
Х„ Y
0
N 0
1 0 0
0 Xn YN
0 z,
0 z
0 -Mj'XJ
1 -VÄ
WjYJ Wj^Zj
-v/Y.
-v[Z,
0 UNXN UNYN UNZN UN
1
-vNxN
, С34 -
-vNYN -vNzN -vN
c =
После решения уравнения (1) вектор t, матрицы R и А могут состоять из членов вектора с [12]. Принцип работы алгоритма автоматической калибровки стереоскопической системы
В 2010 г. Jean-Yves Bouguet предложил программу калибровки стереоскопической системы [8], написанную в пакете MATLAB. При работе с этой программой пользователям необходимо выбирать вручную точки на изображениях. Этот трудоемкий процесс занимает много времени. Для облегчения процесса калибровки стереоскопической системы авторы предлагают новый вид тест-объекта, а также алгоритм обработки полученного изображения и определения координат тестовых точек. Предложенный тест-объект имеет вид шахматной доски с контрастной рамкой (рис. 1) (в данном случае использована черная рамка). Она позволяет легко отделить тест-объект от фона.
Рис. 1. Изображение тест-объекта
Разработанное программное обеспечение работает по алгоритму, включающему 7 этапов:
1. регистрация набора изображений тест-объекта;
2. пороговая фильтрация изображения;
3. распознавание тест-объекта по размерам и форме;
4. удаление фона;
5. определение положения четырех крайних точек;
6. калибровка первой и второй камер;
7. калибровка системы в целом. При этом процесс калибровки первой и второй камер и системы, выполняется с помощью программы Jean-Yves Bouguet.
Эксперимент
Экспериментальный стенд включает в себя два телевизионных датчика - A4Tech PKS-730G с разрешением 640x480 пикселей, размер одного пикселя 3,6*3,6 мкм, расстояние между камерами 106,5 мм, фокусное расстояние оптической системы камеры 3,0 мм. Тестовый объект представляет собой поле, состоящее из 9*7 чередующихся черных и белых квадратов, при этом размер квадрата составляет 28*28 мм. Оба датчика регистрируют тест-объект в 50 произвольных положениях. После получения набора изображений проводится определение координат крайних точек с помощью разработанного авторами программного обеспечения, также выполняется калибровка камер и системы в целом с использованием разных наборов изображений.
На рис. 2 показан результат работы программного обеспечения на разработанном авторами алгоритме. После ввода с камеры изображения тест-объекта (рис. 2, а) изображение обрабатывается пороговым фильтром, результат работы которого показан на рис. 2, б. На данном этапе результат обработки представляет собой бинарное изображение, на котором фон имеет черный цвет. Контрастная рамка тест-объекта после фильтрации становится фоном, а шахматная доска - объектом, который не соприкасается с другими объектами на изображении. Контрастная рамка выполняет функцию отделения шахматной доски от других объектов на изображении. С помощью встроенного в пакет MATLAB средства toolbox Blob Analysis можно выделить все объекты на изображении. Этим средством изображение шахматной доски выделяется на исходном изображении. Результат данного этапа показан на рис. 2, в. На следующем этапе происходит удаление фона для каждого из выделенных объектов. Результат этапа показан на рис. 2, г. Для каждого изображения объекта из предыдущего этапа используется пороговая фильтрация и средство toolbox Blob Analysis для выделения объекта и определения координат крайних точек (рис. 2, д). По результатам анализа формы полученного объекта и сравнения площади данного объекта с площадью объекта, полученной на предыдущем этапе (рис. 2, в), можно определить, что данной объект является шахматной доской. После получения набора координат крайних точек можно выполнить калибровку каждой отдельной камеры, результат которой показан на рис. 2, ж. После калибровки каждой отдельной камеры можно выполнить калибровку стереоскопической системы, результат которой показан на рис. 2, з. Калибровка выполняется с помощью средства Camera Calibration Toolbox, предложенного Jean-Yves Bouguet [8].
Было проведено исследование факторов, влияющих на погрешности определения координат крайних точек и погрешности калибровки системы, в зависимости от количества изображений. Для проверки погрешности определения координат крайних точек были сформированы 50 изображений тест-объекта в разных позициях и определены координаты в ручном и автоматическом режиме. Погрешность автоматического определения координат крайних точек по оси Ох и по оси Оу составляет 1,2 пикселя. Этот результат получен путем обработки серии из 50 изображений, полученных с каждой из камер, составляющих стереопару. Рис. 3 иллюстрирует результаты работы программного обеспечения в зависимости от количества изображений, полученных стереопарой.
Для оценки погрешности калибровки было использовано 50 изображений тест-объекта в разных произвольных положениях объекта. При этом использовалось фиксированные значения расстояния между камерами tx (рис. 3, а) и параметров камеры f и w (рис. 3, в) (на графиках отмечены как истинные значения), с которыми сравнивается результат калибровки. Из этих графиков видно, что погрешность убывает с увеличением количества изображений тест-объекта, участвующих в калибровке системы [16]. Можно сделать вывод, что результат калибровки стабилизируется, если снимков больше двадцати. Таким образом, в практических применениях предложенного алгоритма для получения приемлемых результатов достаточно ограничится набором из 20 изображений тест объекта.
Заключение
В работе авторы предложили метод автоматической калибровки стереоскопической системы с помощью модифицированного авторами тест-объекта. По результатам эксперимента, погрешность определения координат крайних точек на тест-объекте в автоматическом режиме составляет не более 1,2 пикселя. Экспериментальный результат показывает, что для получения стабильных параметров каждой камеры и стереоскопической системы в целом, достаточно использовать 20 изображений тест-объекта в различных позициях.
О
№
I
> а -i ш
1
50 0 -50 -100 -150 -200 -200
1
-100
Внешние параметры
4
О,
хв
>lш
f. j ~ ~
y,
100 0
100
200
300
ж
400
500
600
700
800
900
1000
б
а
г
д
е
0
Внешние параметры
50 0 -50 -100 -150 -200 -200
1000
-100
0
100
Рис. 2. Визуализация результата калибровки: пример изображения тестового объекта, полученный камерой (а); результат применения пороговой фильтрации (б); результат определения тестового объекта по внешней рамке (в); результат удаления внешнего фона (г); определение координат крайних точек (д); определение положения шахматного поля (е); результат калибровки одной камеры (ж); результат
калибровки стереоскопической системы (з)
114
112 110 108 106 104 102 100 98
j.
X
0
10
15 20 25 30 Количество снимков
— Истинное значение -■ï- Результат калибровки а
35
40
45
50
900
800
750
700
650
.ltd ..... ГТ ■ r-гТТТ" TrrTXl 1+1 J JjT- П
-Г 1 1 J L тТтШ' Н-Ц^-^-Ц-1-1 1 1 ■ Q-lrB
10
15
20 25 30
Количество снимков
35
40
45
50
— Истинное значение Результат калибровки б
Рис. 3. Результаты калибровки камеры в зависимости от количества полученных изображений тест-объекта от 2 до 50; расстояния между камерами ^ (а); параметров камеры (б); 1 - фокусное расстояние объективов камер, мм, и/ - размер пикселя матричного фотоприемника, мкм, Ъ - расстояние между двумя
камерами, мм
з
5
0
5
Литература
1. Волкович А.Н., Жук Д.В., Тузиков А.В. Восстановление трехмерных моделей объектов по стереоизображениям с учетом распараллеливания // Научно-технический вестник СПбГУ ИТМО. 2008. № 13 (58). С. 3-10.
2. Malik A.S., Choi T.-S., Nisar H. Depth Map and 3D Imaging Applications: Algorithms and Technologies. IGI Global, 2012. 648 p.
3. Szeliski R. Computer Vision: Algorithms and Applications. Springer, 2011. 812 p.
4. Capril B., Torre V. Using vanishing points for camera calibration // International Journal of Computer Vision. 1990. V. 4. N 2. P. 127-139.
5. Cipolla R., Drummond T., Robertson D.P. Camera calibration from vanishing points in images of architectural scenes // Proc. of British Machine Vision Conference. Nottingham, UK. 1999. V. 2. P. 382-391.
6. Chen B., Wang W., Qin Q. Stereo vision calibration based on GMDH neural network // Applied Optics. 2012. V. 51. N 7. P. 841-845.
7. Hu Z., Tan Z. Calibration of stereo cameras from two perpendicular planes // Applied Optics. 2005. V. 44. N 24. P. 5086-5090.
8. Козырева А.В. О некоторых способах калибровки видеокамеры [Электронный ресурс]. Режим доступа: http://db.iis.nsk.su/preprints/articles/pdf/sbor_kas_13_kozyreva_2.pdf, свободный. Яз. рус. (дата обращения 13.05.2014).
9. Ali-Bey M., Moughamir S., Manamanni N. Calibration method for multiview camera with coplanar and de-centered image sensors // Journal of Electronic Imaging. 2013. V. 22. N 2. Art. N023021.
10. Zhang Z. Flexible new technique for camera calibration // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2000. V. 22. N 11. P. 1330-1334.
11. Bouguet J.-Y. Camera Calibration Toolbox for Matlab [Электронный ресурс]. Режим доступа: http://www.vision.caltech.edu/bouguetj/calib_doc/, свободный. Яз. англ. (дата обращения 13.05.2014).
12. Грузман И.С., Киричук В.С., Косых В.П., Перетягин Г.И., Спектор А.А. Цифровая обработка изображений в информационных системах. Новосибирск: НГТУ, 2002. 352 с.
13. Hartley R., Zisserman A. Multiple View Geometry in Computer Vision. Cambridge University Press, 2004. 670 p.
14. Forsyth D.A., Ponce J. Computer Vision: a Modern Approach. 2nd ed. Prentice Hall, 2011. 792 p.
15. Shapiro L.G., Stockman G.C. Computer Vision. Prentice Hall, 2001. 608 p.
16. Крылов Д.В. Исследование метода фотограмметрической калибровки цифровых камер с использованием пространственного тест-объекта // Известия ВУЗов. Геодезия и аэрофотосъемка. 2011. № 1. С. 57-62.
Коротаев Валерий Викторович Краснящих Андрей Владимирович Ярышев Сергей Николаевич Нгуен Хоанг Вьет
Valery V. Korotaev Andrey V Krasnyaschikh Sergey N. Yaryshev Hoang Viet Nguyen
доктор технических наук, профессор, декан факультета, Университет ИТМО, Санкт-Петербург, Россия, korotaev@grv.ifmo.ru кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, Россия, crus@mail.ru
кандидат технических наук, доцент, доцент, Университет ИТМО, Санкт-Петербург, Россия, ysn63@mail.ru
аспирант, Университет ИТМО, Санкт-Петербург, Россия, ngvietvn@gmail.com
D.Sc., Professor, Dean, ITMO University, Saint Petersburg, Russia, korotaev@grv.ifmo.ru
PhD, Associate Professor, ITMO University, Saint Petersburg, Russia, crus@mail.ru
PhD, Associate Professor, Associate Professor, ITMO University, Saint Petersburg, Russia, ysn63@mail.ru
postgraduate, ITMO University, Saint Petersburg, Russia, ngvietvn@gmail.com
Принято к печати 08.05.14 Accepted 08.05.14