СПОСОБ АВТОКАЛИБРОВКИ СТЕРЕОКАМЕР, ИСПОЛЬЗУЕМЫХ В ЦЕЛЯХ АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ ЛИЦА ЧЕЛОВЕКА
METHOD FOR AUTO CALIBRATION OF STEREO CAMERAS EMPLOYED FOR AUTOMATIC RECOGNITION OF HUMAN FACES

ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к области распознавания образов, а именно к способам идентификации личности человека с помощью видеокамер.
Изобретение также относится к области машинного зрения, и может использоваться в робототехнике.
УРОВЕНЬ ТЕХНИКИ
В настоящее время для распознавания лица человека с помощью двух стереокамер, расположенных на некотором расстоянии друг от друга, важно калибровать стереокамеры между собой. Из-за большого расстояния между стереокамерами элементы конструкции крепления камер могут быть подвержены вибрации, вследствие которой вносят случайные изменения в калибровку стереокамер. Поэтому важно уметь определять калибровку между стереокамерами автоматически, изменяя текущее значение калибровки в реальном времени, и не останавливая эксплуатацию системы распознавания лиц.
Существует много методов калибровки камер в стереоскопической системе, в том числе использование точки схода (vanishing points), нейронные сети, перпендикулярные плоскости (Calibration of stereo cameras from two perpendicular planes), метод Faugeras и Toscani, метод калибровки с помощью шахматной доски, метод калибровки камеры при помощи объектива с переменным фокусным расстоянием Марины Колесник. Все эти методы имеют общий недостаток - в процессе калибровки от пользователя требуется вручную выбирать контрольные точки, линии или плоскости, имеющиеся на изображениях, которые получены с помощью камер стереопары.
Известно решение (смотрите непатентный документ 1), в котором выполняют регистрацию набора изображений тест-объекта, после чего выполняют пороговую фильтрацию изображения, распознают тест-объект по размерам и форме, далее производят удаление фона, определяют положение четырех крайних точек, калибруют первую и вторую камеры, и в итоге производят калибровку системы в целом.
Недостатком решения является то, что для повышения точности калибровки необходимо увеличивать количество изображений тест-объектов, участвующих в калибровке системы (смотрите непатентный документ 2). Можно сделать вывод, что результат калибровки стабилизируется, если снимков больше двадцати, что повышает вычислительную нагрузку и снижает скорость работы способа.
Из уровня техники известен способ (смотрите патентный документ 1), в котором две или более стереокамер располагают на некотором расстоянии между собой, при этом каждая из стереокамер реконструирует свое трехмерное изображение части лица, потом отдельные части совмещают в одно общее трехмерное изображение, по которому производится распознавание. Для точного совмещения частей изображения из разных камер предложено калибровать стереокамеры одновременно по видимым общим элементам изображения.
В указанном патенте не конкретизируется способ автоматической калибровки стереокамер, а указано лишь, что калибровка осуществляется по видимым общим участкам изображения. В одном из вариантов предлагается совмещать реконструированные с помощью стереокамер части лица человека в общую трехмерную реконструкцию лица человека в абсолютном масштабе расстояний, для чего используют набор двух или более контрольных точек зоны наблюдения, абсолютные расстояния между которыми заранее известны.
Недостатками данного способа автокалибровки являются отсутствие на сцене набора двух или более контрольных точек зоны наблюдения, абсолютные расстояния между которыми заранее известны. Также очевидно, что использование всех видимых точек изображения является вычислительно затратным. Совмещение всех видимых точек в трехмерном пространстве опирается лишь на геометрическую информацию об объекте, при этом возможны ошибки совмещения. Возможны случаи, когда одна часть трехмерных точек из одной стереокамеры совмещается к другой части точек, видимых во второй стереокамере таким образом, что совмещенные трехмерные точки соответствуют различным участкам лица человека, такое совмещение приводит к искажениям формы лица и ухудшению распознавания.
[Non-patent document 1] Авторы: В.В. Коротаева, А.В. Краснящиха, С.Н. Ярышева, Х.В. Нгуена, название: МЕТОД АВТОМАТИЧЕСКОЙ КАЛИБРОВКИ СТЕРЕОСКОПИЧЕСКОЙ СИСТЕМЫ, Научно-технический вестник информационных технологий, механики и оптики, 2014, №4 (92). [Non-patent document 2] Крылов Д.В. Исследование метода фотограмметрической калибровки цифровых камер с использованием пространственного тест-объекта // Известия ВУЗов. Геодезия и аэрофотосъемка. 2011. №1. С. 57-62.
[Patent document 1] RU 2488882 «Способ идентификации личности человека», опубликовано 27.07.2013, патентообладатель ООО "Вокорд СофтЛаб" (Яи).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данное изобретение направлено на устранение недостатков, присущих существующим решениям.
Техническим результатом данного изобретения является повышение точности автокалибровки стереокамер между собой.
Данный технический результат достигается благодаря способу автокалибровки стереокамер, используемых в целях автоматического распознавания лица человека, в котором получают со стереокамер проекции трехмерного изображения с текстурой лица на двумерную поверхность, после чего определяют набор сопряженных точек на полученных проекциях изображения лица, соответствующих одинаковым участкам изображения на двух или более стереокамерах, причем некоторые из найденных сопряженных точек фильтруются для отбора наиболее надежных точек, затем выполняют трехмерную реконструкцию сопряженных точек, далее определяют углы поворота и трехмерного переноса для сопряженных точек в системе координат, общей для всех стереокамер, после чего вычисляют взаимное положение указанных стереокамер относительно друг друга, и в итоге выполняют калибровку стереокамер между собой по взаимному положению стереокамер относительно друг друга.
Поверхность проекции, на которой вычисляют сопряженные точки, является общей для двух или более стереокамер.
Поиск сопряженных точек может осуществляться с помощью функции корреляции в небольшом заданном окне, методом оптического потока, или с помощью специальных дескрипторов точек двумерного изображения.
Трехмерная реконструкция сопряженных точек выполняется в системе координат каждой из стереокамер.
Поверхность проекции является плоскостью.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения, примера реализации и прилагаемых чертежей, на которых:
Фиг. 1 - Расположение двух стереокамер (1, 2 - стереокамеры, 3, 4, 5, 6 - объективы видеокамер, входящих в состав стереокамер, 7 - несущие столбики, на которые устанавливаются стереокамеры, 8 - станина для крепления несущих столбиков).
Фиг. 2 - Пример 2D-изображений лица, получаемых камерами 3, 4, 5, 6 на Фиг. 1.
Фиг. 3 - Реконструированное поле 3D-точек лица с двух стереокамер (а) - для левой стереокамеры, (б) - для правой стереокамеры.
Фиг. 4 - Проекции 3D-изображения лица на плоскость.
(а) - для левой стереокамеры, (б) - для правой стереокамеры.
Фиг. 5 - Проекция всех 3D-участков лица на плоскость, соответствующая начальной калибровке камер, при существующей вибрации несущих столбиков, с искажениями пропорций на лице (нос стал уже).
Фиг. 6 - Эталонное изображение того же человека из базы данных, с которым производится сравнение изображения на Фиг. 6.
Фиг. 7 - Расстановка сопряженных точек на проекциях 3D изображений лица на заданную плоскость, (а) - для левой стереокамеры, (б) - для правой стереокамеры.
Фиг. 8 - Неискаженная проекция всех трехмерных участков лица на заданную плоскость, после процедуры автокалибровки согласно предлагаемому способу.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже будут описаны понятия и определения, необходимые для подробного раскрытия осуществляемого изобретения.
Стереокамера - тип видеокамеры с двумя или более съемочными объективами, создающими раздельные кадры на фотопленке или матрице.
Калибровка камеры - это задача получения внутренних и внешних параметров камеры по имеющимся фотографиям или видео, отснятыми ею.
Автокалибровка - получение калибровочных данных непосредственно по изображениям, причем в сцене не требуется присутствие специальных калибровочных объектов.
Сопряженные точки - точки, которые соответствуют одинаковым участкам изображения лица на разных стереопарах, которые автоматически определяются после построения проекций.
Данное изобретение в различных своих вариантах осуществления может быть выполнено в виде способа, в том числе реализуемого на компьютере, в виде системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд
Согласно изобретению, способ автокалибровки стереокамер, используемых в целях автоматического распознавания лица человека, включает следующие шаги:
получают со стереокамер проекции трехмерного изображения с текстурой лица на двумерную поверхность;
Видеокамеры располагают попарно, при этом синхронизируют друг с другом и калибруют между собой, образуя стереокамеру из двух видеокамер (Фиг. 1). Располагают стереокамеры на заданном расстоянии друг от друга в количестве двух или более, при этом каждая стереокамера осуществляет независимую трехмерную реконструкцию видимой ей части лица человека, совмещают реконструированные части лица человека в общую трехмерную реконструкцию лица человека, при этом производят непрерывную, либо периодическую калибровку стереокамер между собой. При этом становится возможным строить уже как минимум две независимые трехмерные реконструкции лица человека.
Изображения лица человека используются явно вместе с текстурой, образуемые на проекциях трехмерных изображений на некоторую поверхность. Указанная поверхность может быть выбрана независимо для каждой стереокамеры, либо быть общей для двух или более стереокамер. Полученные изображения проекции лица на выбранные поверхности вместе с текстурой изображены на Фиг. 4.
определяют набор сопряженных точек на полученных проекциях изображения лица, соответствующих одинаковым участкам изображения на двух или более стереокамерах, причем некоторые из найденных сопряженных точек фильтруются для отбора наиболее надежных точек;
На изображениях проекции автоматически определяют точки, которые соответствуют одинаковым участкам изображения лица на разных стереопарах. Число таких точек может быть значительно меньше общего числа всех точек проекции для повышения производительности вычислений.
Поиск сопряженных точек может осуществляться различными известными способами, например, с помощью функции корреляции в небольшом заданном окне (обычно используется небольшое окно размером 7-15 пикселов), методом оптического потока, или с помощью специальных дескрипторов точек двумерного изображения (SIFT, SURF и др), но, не ограничиваясь.
Некоторые из найденных сопряженных точек могут быть дополнительно отфильтрованы по определенным признакам (например, в указанной точке изображения низкий контраст, или ее трехмерный образ характеризуется высоким шумом в окрестности), тем самым, отбираются наиболее надежные сопряженные точки.
На Фиг. 7 белыми и черными точками показаны сопряженные точки на двух проекциях, а белыми отрезками соединены соответствующие сопряженные точки из двух стереокамер.
выполняют трехмерную реконструкцию сопряженных точек;
Поскольку все точки проекции получены в результате проективного преобразования из трехмерного изображения лица на некоторую поверхность для заданной стереокамеры, то для каждой из указанных сопряженных точек можно выполнить обратное преобразование и определить трехмерные координаты точки в системе координат заданной стереокамеры.
Трехмерная реконструкция выполняется в системе координат каждой из стереокамер.
Вследствие нарушения взаимной калибровки (например, вибрации несущих элементов конструкции крепления стереокамер), трехмерная реконструкция сопряженных точек одной стереокамеры может пространственно не совпадать с трехмерной реконструкцией другой камеры, если выбрать общую трехмерную систему координат для двух стереокамер.
определяют углы поворота и трехмерного переноса для сопряженных точек в системе координат, общей для всех стереокамер;
Для определения расхождения между сопряженными точками нескольких стереокамер, выполняется подбор такого угла поворота и перемещения в общей трехмерной системе координат, которые совмещают трехмерные сопряженные точки одной камеры в точки другой камеры.
Заранее известно, какие трехмерные точки должны быть совмещены, среди общего количества всех трехмерных точек на реконструированном трехмерном изображении лица, поскольку данные точки получены как сопряженные.
вычисляют взаимное положение указанных стереокамер относительно друг друга, на основе положения сопряженных точек в системе координат каждой стереокамеры, и положения сопряженных точек друг относительно друга в общей системе координат, которое было определено выше.
выполняют калибровку стереокамер между собой по взаимному положению стереокамер относительно друг друга;
Калибровку выполняют на основе вычисленного взаимного положения стереокамер относительно друг друга на предыдущем шаге и параметров калибровки камер внутри стереокамеры. Последние считаются заранее известными и могут быть определены при изготовлении стереокамеры независимым способом, например, с помощью калибровки по шаблону алгоритмом Tsai (A versatile camera calibration technique for high accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses - R.Y. Tsai ДЕЕЕ J. Robotics Automat., pages 323-344, Vol.RA-3, No. 41987)
Цель автокалибровки состоит в определении собственных данных, таких как дисторсия, фокусное расстояние, угол наклона, угол поворота вокруг оси, высота установки камеры, размер сенсора, разрешение сенсора, которые определяются автоматически с использованием известных методов калибровки [Л. Шапиро, Дж. Стокман. Компьютерное зрение. Москва: БИНОМ. Лаборатория знаний, 2006, стр. 567-578].
Преимуществом предложенного способа является использование текстурной информации на проекциях изображений лица, а не только геометрической информации трехмерной формы лица.
Предлагается использовать проекции изображения лица на одинаковую заданную плоскость для двух или более стереокамер. Такое решение обеспечивает сохранение геометрических пропорций всех элементов лица при правильной калибровке. При небольшом расхождении калибровки между стереокамерами расхождение проекций является незначительным, и в большинстве случаев сводится к смещению мелких участков изображения из одной проекции на другую, как показано на Фиг. 7, без значительных деформаций формы мелких участков изображения. Поэтому в данном способе может эффективно использоваться функция корреляции точек в небольшом заданном прямоугольном окне для поиска сопряженных точек.
Предложенный способ автокалибровки прошел экспериментальную проверку. Реконструкция была выполнена с использованием четырех синхронизированных по времени камер. Разрешение камер составляло: 1280×1024, частота кадров: 12 кадров/сек. Камеры были объединены в два стереомодуля (в две вертикальные пары, синхронизированные по времени и калиброванные друг с другом), расположенные на левой и правой стороне пропускной системы (см. Фиг 1). Расстояние между двумя камерами в паре составляло 20 см., между стереомодулями - порядка 1 м.
Автокалибровка предложенным способом проводилась в условиях минимальной освещенности (400-600 люкс) на расстоянии до 2 м от камер. Тестирование проводилось на базе данных лиц (текстуры + трехмерные модели), состоящей из примерно 1800 изображений около 600 людей.
В результате указанного способа удалось реализовать автокалибровку «на лету» для каждого проходящего человека.
С использованием вычислительной платформы CUDA время обработки для выполнения автокалибровки разработанным способом на графической карте GeForce GTX 680 (1536 ядер с частотой 1006 МГц) составило 80 мс, т.е. соответствует работе в реальном времени при частоте кадров 12 в сек.
Указанный способ позволил устранить расхождение автокалибровки стереомодулей в результате вибрации несущих элементов конструкции (столбиков крепления), в реальном времени для каждого нового входящего изображения лица.
На Фиг. 8 показано восстановленное фронтальное изображение лица, после автокалибровки стереокамер указанным способом, которое визуально имеет высокую степень похожести с эталоном на Фиг. 6..
Специалисту в данной области, очевидно, что конкретные варианты осуществления способа автокалибровки стереокамер, используемых в целях автоматического распознавания лица человека, были описаны здесь в целях иллюстрации, допустимы различные модификации, не выходящие за рамки и сущности объема изобретения.
Предложенный способ автокалибровки стереокамер, используемых в целях автоматического распознавания лица человека, рекомендован к использованию в аэропортах, вокзалах, метрополитене, для использования в системах идентификации личностей, статистического анализа, контроля попыток безбилетного прохождения турникетов, в правоохранительных органах для поиска правонарушителей в потоке людей, для идентификации пользователей компьютера, а также для идентификации личностей на предприятиях с пропускным режимом.