RU2582853C2 - Устройство для определения расстояния и скоростей объектов на основе стереоподхода - Google Patents

Устройство для определения расстояния и скоростей объектов на основе стереоподхода Download PDF

Info

Publication number
RU2582853C2
RU2582853C2 RU2012128904/08A RU2012128904A RU2582853C2 RU 2582853 C2 RU2582853 C2 RU 2582853C2 RU 2012128904/08 A RU2012128904/08 A RU 2012128904/08A RU 2012128904 A RU2012128904 A RU 2012128904A RU 2582853 C2 RU2582853 C2 RU 2582853C2
Authority
RU
Russia
Prior art keywords
unit
block
feature
receiving data
rectification
Prior art date
Application number
RU2012128904/08A
Other languages
English (en)
Other versions
RU2012128904A (ru
Inventor
Александр Александрович Пиминов
Владимир Викторович Уфнаровский
Тимофей Александрович Брыксин
Андрей Николаевич Терехов
Original Assignee
Общество с ограниченной ответственностью "Системы Компьютерного зрения"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Системы Компьютерного зрения" filed Critical Общество с ограниченной ответственностью "Системы Компьютерного зрения"
Priority to RU2012128904/08A priority Critical patent/RU2582853C2/ru
Priority to PCT/RU2012/000753 priority patent/WO2014003602A1/en
Priority to EP12880018.2A priority patent/EP2867612A4/en
Publication of RU2012128904A publication Critical patent/RU2012128904A/ru
Priority to US14/584,276 priority patent/US9930314B2/en
Application granted granted Critical
Publication of RU2582853C2 publication Critical patent/RU2582853C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • G01C11/12Interpretation of pictures by comparison of two or more pictures of the same area the pictures being supported in the same relative position as when they were taken
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/10Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument
    • G01C3/14Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument with binocular observation at a single point, e.g. stereoscopic type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)

Abstract

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

Description

Изобретение относится к вычислительной технике, применяемой в области машинного (компьютерного) зрения, анализа изображений, и может быть использовано для определения расстояний до различных объектов и их скоростей на транспорте, в строительстве, машиностроении и других областях.
В настоящее время существуют множество эффективных способов для распознавания объектов, в основе которых лежит возможность использования данных об удаленности элемента изображения (далее - буфер глубины) объектов относительно некоего датчика.
Наиболее распространенными способами получения буфера глубины являются радары, в том числе и лазерные, а также сенсоры различных видов. Например, Патент №2092869 «Радар безопасности движения автомобильного транспорта» (RU), Патент №113398 «Комплекс скорости движения и координат транспортных средств» (RU), Патент №112118 «Устройство защиты пешехода при наезде на него автомобиля» (RU), Патент №96951 «Навигатор, совмещенный с радаром» (RU), Патент №2452033 «Системы и способы наблюдения в ночное время» (RU), Патент №2449375 «Устройство для определения способности к предвидению у автомобиля» (RU) и др. Все известные решения требуют обязательного облучения исследуемого объекта. Основными недостатками таких технических решений можно назвать: чувствительность к фоновой засветке (яркое солнце и т.д.) - в зависимости от интенсивности засветки функциональность снижается; чувствительность к наличию рядом аналогичной системы (интерференция) - система ловит засветку от соседней системы и также снижает свою функциональность.
Другим направлением в распознавании объектов является стереоподход для получения буфера глубины. В этом случае буфер глубины восстанавливается на основе двух и более синхронных изображений объекта. Буфер глубины позволяет разделять объекты по глубине, но сам по себе не позволяет предсказывать их движение, для этого необходимо иметь представление о скорости объектов. Скорость может быть восстановлена путем обработки оптического потока изображения - перемещения объектов в пространстве изображения от кадра к кадру.
Наиболее близким техническим решением - прототипом - является схема, описанная в статье «Dense, Robust, and Accurate Motion Field Estimation from Stereo Image Sequences in Real-time»/» Плотные, надежные и точные оценки движения в реальной обстановке на основе стерео последовательности изображений в реальном времени» (http://www.6d-vision.de/9-literatur/rabe_eccv10/rabe10_eccv10.pdf?attredirects=0&d=1). Система позволяет определять перемещения объектов на основе информации со стереопары камер. Данная система состоит из следующих блоков: блок камер (а), блок дешифровки изображения (б), блок ректификации (в), блок вычисления диспаритета (расстояние между образом объекта в первом и втором изображении ректифицированной стереопары) (д), блок вычисления движения точек изображения (е), блок сглаживания шумов (ж), управляющий модуль (д). Система реализована в качестве программного прототипа с использованием ресурсов современных видеокарт.
Недостатком вышеописанной системы является то, что определение объектов и дальности до них производится только на основе сопоставления всех кадров, что занимает крайне много вычислительных мощностей и не позволяет реализовать систему в реальном времени на встроенной аппаратной платформе (ПЛИС), только на видеокарте. Не все использованные алгоритмы позволяют обеспечить высокую степень распараллеливания, что ограничивает возможности по ускорению работы системы и усложняет возможность разработать компактное устройство, работающее в реальном времени.
Задача изобретения - это создание компактного устройства для определения расстояния и скоростей объектов на основе стереоподхода, позволяющее преодолеть недостатки указанных технических решений, в частности возможность работы в реальном времени за счет реализации более оптимальных вариантов алгоритмов и разработки альтернативных подходов в блоках устройства, а также увеличение эффективности определения расстояния и скоростей объектов как за счет ускорения обработки информации, так и за счет устойчивости к изменениям условий освещенности, работающего полностью в пассивном режиме. Большая устойчивость к условиям освещенности в сравнении с доминирующими на рынке активными системами, достигается за счет пассивности работы (не требуется облучение исследуемого объекта), и использования камер с хорошо технологически отработанными классическими CMOS и CCD сенсорами.
Техническим результатом является повышение эффективности устройства за счет увеличения скорости определения расстояния и скоростей объектов на основе стереоподхода.
Технический результат достигается тем, что предлагается устройство для определения расстояния и скоростей объектов на основе стереоподхода (далее - Устройство), характеризующийся тем, что оно включает блок видеокамер, состоящий по крайней мере из двух видеокамер, направленных на анализируемый объект (1); первый интерфейсный блок, предназначенный для конверсии интерфейса блока видеокамер (1) в данные для переработки (2); блок нормализации и ректификации изображений (3); блок хранения корректирующей информации (4); блок извлечения признаков (5); блок ранжирования признаков (6); первый блок реорганизации признаков (7); блок сопоставления кадров (8); первый блок формирования гипотез (9); первый блок фильтрации (10), блок посторганизации признаков (11), блок сопоставления признаков (12), второй блок формирования гипотез (13), второй блок фильтрации (14), блок улучшения буфера (15), блок уточнения стерео (16); блок уточнения оптического потока (17); блок триангуляции (вычисление расстояния до объекта по диспаритету, фундаментальной матрице и стереобазе) (18); блок ректификации (19); блок хранения информации и признаках предыдущих кадров; (20); второй интерфейсный блок (21) (см. Фиг. 1).
Основные связи блоков выглядят следующим образом:
- Блоки 1 и 2 имеют асимметричную двустороннюю связь. Блок 1 передает в блок 2 информацию с пары видеокамер в формате, выдаваемом камерами, и получает от него корректирующие настройки, синхросигналы камер;
- Блок 3 получает от блока 2 информацию с пары видеокамер уже преобразованную во внутренний формат;
- Блок 3 получает от блока 4 в просчитанные вектора смещения для ректификации и сохраняет их в оперативной памяти;
- Блок 5 получает от блока 3 информацию с камер, уже преобразованную во внутренний формат;
- Блок 6 получает от блока 5 набор признаков и передает блоку 5 управляющую информацию;
- Блок 7 получает от блока 6 набор ранжированных признаков в бинаризированном виде;
- Блок 8 получает информацию от блока 2 (видеокадры) и таблицы признаков от блока 7;
- Блок 9 получает от блока 8 сопоставленную пару строк из правого и левого кадров;
- Блок 10 получает гипотезы от блока 9;
- Блок 11 берет таблицы признаков от блока 7;
- Блок 12 берет объединенные таблицы признаков от блока 11 и кадры от блоков 2 (текущий кадр) и 20 (предыдущий кадр);
- Блок 13 получает от блока 12 сопоставленные позиции в предыдущем и текущем кадре;
- Блок 14 получает гипотезы от блока 13;
- Блок 15 принимает от блока 14 отфильтрованные гипотезы;
- Блок 16 берет из блока 15 информацию о точках с проставленным диспаритетом у соседних точек;
- Блок 17 берет из блока 15 информацию о точках с проставленным диспаритетом у соседних точек;
- Блок 18 берет из блока 15 информацию о точках с проставленным диспаритетом у соседних точек;
- Блок 19 берет из блока 15 информацию о точках с проставленным диспаритетом у соседних точек;
- Блок 20 получает от блока 11 объединенные таблицы признаков;
- Блок 21 получает от блока 3 результат компенсации дисторсий оптической системы и ректификации, а также метаинформацию (отметки времени, настройки сенсоров, статистика о кадрах).
В описанном устройстве блок видеокамер (1) воспроизводит двумерные изображения анализируемого объекта. Первый интерфейсный блок (2) обеспечивает конверсию интерфейса блока (1) в структуры данных, удобные для обработки, также выдает камерам синхросигналы, если они поддерживают такую возможность. Блок нормализации, геометрической коррекции искажений, вносимых оптической системой, и ректификации (3), получая на вход стереоизображение, выдает на выходе ректифицированное (выравненное) изображение, те изображения, в которых образ одного объекта в правом и левом кадре находятся в строках с одним и тем же номером. Блок хранения корректирующей информации (4) хранит информацию о сферических искажениях и эпиполярных ограничениях. Блок извлечения признаков (5) производит операции с окрестностями отдельных пикселей, рассчитывая для каждой один или несколько векторов признаков, как содержимое набора признаков, так и каждый отдельный признак могут зависеть от параметров, введенных оператором или адаптивно вычисленных на основе статистической информации. Вектора признаков, обрабатываемые данным алгоритмом, эффективно обрабатываются в случае, если их информационная насыщенность составляет десятки бит (16-64). Такие вектора признаков могут эффективно храниться внутри машинного представления 32х, 64х, 128х (в дальнейшем и более) битного числа, разрядность структуры данных является параметром алгоритма и влияет на отношение робастность/точность/производительность. Алгоритм, способный напрямую выдавать такие признаки, это, например, преобразование Ценсуса (Census transform), им, однако, такие алгоритмы не ограничиваются. Для большого числа широко известных, но более информационно насыщенных признаков, таких как отклики на вейвлеты, свертки с классическими фильтрами Гаусса, Собеля и прочими, возможно использовать методы проекции и бинаризации для уменьшения их информационной насыщенности.
Блок ранжирования признаков (6), на основе статистической информации о признаках текущего и предыдущих кадров, проводит разделение признаков на три группы - первичные, вторичные и несущественные. Критерием может выступать популярность вектора признаков, его части или его свойств (принадлежность определенному подпространству) в предыдущих кадрах, однако устройство способно использовать произвольный критерий, который окажется вычислительно эффективным. После бинаризации вектора признаков передаются в первый блок реорганизации признаков (7). Первый блок реорганизации признаков (7) получает на вход вектора ранжированных признаков, а также информацию о координатах точек, откуда они были получены. Информация от последовательных наборов строк изображения обрабатывается отдельно, упомянутую последовательность первый блок реорганизации признаков (7) организует в таблицы по первичным признакам. Каждую из этих таблиц упорядочивает по вторичным признакам. В сценах с доминирующими вертикальными линиями, например лесу, первичными признаками могут быть свертки с градиентами, изменяющимися сверху вниз (горизонтальными), а вторичными - свертки с вертикальными градиентами. Разделение признаков на первичные и вторичные является важным фактором, что привносит вычислительные преимущества, поскольку частота встречаемости первичных признаков влияет на размер таблиц, оптимальным вариантом является идентичность размеров таблиц, а также алгоритмические преимущества, поскольку наиболее оптимально использовать в качестве первичных признаков наиболее явные, отчетливые признаки, которые однозначно различаются на изображениях. Предположим, что окрестностей с вертикальной границей очень много, тогда наличие/отсутствие свертков с горизонтальными границами позволят сразу различить окрестности и именно их логично использовать как первичные признаки.
После обработки блока (7) внутренние структуры данных раздельно хранят данные для блоков строк. В одной структуре лежат данные от строк с номерами [ni-1; ni), [ni; ni+1), [ni+1; ni+2) (в дальнейшем блоки строк). Параметры ni являются входными для алгоритма и влияют на отношение производительность/робастность. Блок сопоставления кадров (8) берет информацию о последовательных строках левого кадра и о последовательных строках правого кадра и, выбрав таблицы, соответствующие одному и тому же набору первичных признаков, сопоставляет ее по вторичным признакам, используя эффективные метрики (дискретные, расстояние хемминга, l_1, l_inf и подобные) и некое пороговое значение сопоставленную пару блок передает первому блоку формирования гипотез (9). Алгоритм, реализуемый блоком, позволяет выбрать структуры данных «левого» кадра, содержащие признаки из блока строк (с l по m), а из правого всех блоков, содержащих хоть одну строку с l по m. Это позволяет эффективно снизить пространство сопоставления признаков каждой строки со всего кадра до нескольких строк, что в геометрическом смысле означает поиск соответствий только в небольшой окрестности эпилинии. Это обеспечивается тем, что после ректификации эпилинии исходной конфигурации камер выстроились вдоль строк левого и правого изображений.
Первый блок формирования гипотез (9) отбрасывает вектора признаков и складирует только пары координат. Пара координат, сопоставленных на этом этапе с высокой вероятностью, является образом одного и того же объекта, зафиксированного двумя разными камерами, и такую пару мы называем гипотезой о диспаритете (там, где невозможна двойная трактовка - просто гипотезой). Гипотеза может также, кроме пары точек, содержать дополнительную информацию, явно (в переделах одно структуры данных) или неявно (в виде ссылки или индекса в другой структуре). Первый блок фильтрации (10) удаляет ложноположительные и корректирует ошибочные соответствия путем анализа гипотез о диспаритете, применения механизмы голосования, а также информацию от анализа изображений уменьшенного разрешения и информации с предыдущих кадров. Блок посторганизации признаков (11) берет данные, полученные от первого блока реорганизации признаков (7), и сливает таблицы для всех последовательных наборов строк, соответствующие одному набору первичных признаков в одну. Одна копия результата отправляется в блок сопоставления признаков (12), вторая копия сохраняется в базе второго блока выходного интерфейса (21) для использования на следующем кадре. Блок сопоставления признаков (12) аналогичен блоку сопоставления кадров (8), но работает не с информацией о последовательных строках правого и левого кадров, а с информацией о текущем и предыдущем кадрах целиком, поскольку для оптического потока нет эпиполярного ограничения. Второй блок формирования гипотез (13) функционально аналогичен первому блоку формирования гипотез (9), но получает на вход пары записей, содержащих координату и вектор признаков, а на выход выдается пара координат. Эта пара с высокой вероятностью является образом одного и того же объекта, зафиксированного камерой в предыдущем и текущем кадре, такую пару мы также будем называть гипотезой, в тех случаях, когда оба типа гипотез - о диспаритете и об оптическом потоке будут встречаться вместе будем явно указывать, о какой гипотезе идет речь. Подобно гипотезе о диспарителе, гипотеза о потоке может содержать дополнительную информацию, явно (в пределах одной структуры данных) или неявно (в виде ссылки или индекса в другой структуре).
Второй блок фильтрации (14) функционально аналогичен первому блоку фильтрации (10), но работает с гипотезами об оптическом потоке. В силу своего функционального сходства блоки (14) и (10) могут иметь общую реализацию. Блок улучшения буфера (15), используя отфильтрованные (выбранные) гипотезы о диспаритете, присваивает диспаритет соседним точкам. Блок уточнения стерео (16), используя результаты блока улучшения, субпиксельно (относящийся к измерениям, точнее, чем в один пиксель изображения), уточняет значение диспаритета используя KLT или сходный метод субпиксельного трекинга. Блок уточнения оптического потока (17), используя результаты блока улучшения (15), субпиксельно уточняет значение векторов оптического потока, используя KLT или сходный метод субпиксельного теркинга (отслеживание объектов и характерных точек изображения при смене кадров или при переходе от правого кадра к левому). Блок триангуляции (18) преобразует диспаритеты в глубины буфера (то есть информацию о распознанных точках объекта). Блок ректификации (19) на основании данных, полученных от блока улучшения буфера (15) в фоне работы цепочки основных блоков, реконструирует существенную и фундаментальную матрицы стереопары и вносит изменения в базу данных ректифицирующих преобразований. Блок хранения информации и признаи предыдущих кадров (20) содержит сведения о признаках, связанных с точками на предыдущем кадре. Второй интерфейсный блок (21) позволяет передать сформированные буферы глубины и оптического потока для дальнейшей обработки, а также получить настройки всех блоков.
Таким образом, поток обрабатываемых данных в Устройстве в значительной мере линеен, что позволяет большинство вычислений организовать с использованием подхода конвейеризации вычислений, что существенно ускоряет обработку данных и увеличивает быстродействие Устройства, что и приводит к достижению технического результата.
Предложенное Устройство может быть реализовано различными способами, как на процессорах общего назначения, таких как х86 и ARM, на специализированных массово параллельных процессорах, в частности процессорах, поддерживающих OpenCL, а также на разработанном специализированном процессоре (существующем в виде отдельной микросхемы или в виде программного ядра с возможностью встраивать в другие процессоры). В качестве источников данных могу использоваться как камеры оптического, так и ИК-диапазона, самых различных ценовых и качественных уровней - от популярных и дешевых веб-камер до высокочувствительных камер профессионального уровня, а также камер дальнего инфракрасного (теплового) и ближнего инфракрасного зрения.
Ниже представлен пример аппаратной реализации Устройства на базе ПЛИС (электронный компонент, используемый для создания цифровых интегральных схем) с сопроцессором на базе ядра ARM или PowerPC. Реализация Устройства на ПЛИС несет целый ряд преимуществ перед аналогичными системами, поскольку архитектура Устройства позволяет, с одной стороны, сильно распараллеливать поток вычислений, добиваясь высокой производительности и, за счет этого, работы в реальном времени с высокой эффективностью; а с другой стороны, некоторые составляющие блоки Устройства функционально схожи, что позволяет использовать для их реализации одни и те же физические ресурсы ПЛИС, экономя физические ресурсы ПЛИС и уменьшая энергопотребление и стоимость конечного устройства.
Управлением потоком данных и конфигурацией и переключением блоков занимается встроенное ядро, объемные пересылки данных реализуются через статическую или динамическую оперативную память.
Блоки (2), (3), (5), (6), (10), (14), (15), (16), (17), (18) обрабатывают изображения последовательно каждый раз, производя результат, зависящий от небольшой окрестности внутри обрабатываемого буфера. Это позволяет использовать одинаковую конвейерную архитектуру блоков.
Блок (2) реализуется в виде абстракции, которая скрывает за собой контроллер интерфейса камеры (CameraLink, GigE, UVC/USB и др.) или устройства симулирующего поток кадров, воспроизводимых из файлов.
Блок (2) принимает кадры, опционально декодирует их, собирает статистику о яркости и контрастности, отсылает корректирующие настройки обратно в блок (1), также в блок (1) посылаются синхросигналы для камер.
Блок (3) выбирает из хранилища вектора смещений для вычисления прообразов пикселей, скорректированных буферов (правого и левого кадра), и в соответствии с ними заполняет ректифицированные буфера, используя в зависимости от масштабного коэффициента и необходимого отношения производительность/качество, различные методы интерполяции и усреднения. На этом этапе единой операцией производится компенсация дисторсий оптической системы и собственно ректификация. Результат вычисления и метаинформация (отметки времени, настройки сенсоров, статистика о кадрах) передаются во второй блок интерфейса (21).
Блок хранения корректирующей информации (4) находится в оперативной памяти и компактно хранит предварительно просчитанные вектора смещения для ректификации.
Блок (5) исследует окрестность каждого пикселя каждого из буферов и вычисляет набор признаков (единицы десятков), каждый признак - это в общем случае вещественное число (в зависимости от целевой архитектуры можно представить его как целое, с плавающей или фиксированной точкой). Примерами признаков могут быть свертки с вейвлетами Хара, Габора или коэффициенты Фурье-разложения. Размер окрестности может выбираться адаптивно, чтобы обеспечить достаточную информационную насыщенность.
Блок (6) исследует статистику (текущего или для экономии времени предыдущего кадра) распределения признаков, выбирает наиболее информационно насыщенные и устойчивые к шуму. Единицы (1-5) самых значимых признаков называются первичными, следующие за ними - вторичными. Остальные отбрасываются. В качестве оптимизации блок (6) может дать команду блоку (5), самые слабые признаки в следующий раз не вычислять. Далее блоком (6) производится операция упаковки вектора признаков. Выбирается для каждого признака несколько последовательно возрастающих порогов и признак сравнивается с ними. Номера первых порогов, которые оказались больше очередного признака упаковываются затем в битовый вектор, становясь его элементами. Блок (6) стремится выбирать пороги так, чтобы во всем буфере для каждого признака элементы, в которые они были преобразованы, содержали отдельные кластеры значений, и одновременно каждый элемент встречался более-менее равномерно. К упакованному вектору первичных признаков и упакованному вектору вторичных признаков добавляется точка, в которой эти вектора были получены.
Блок (7) для небольших неперекрывающихся диапазонов строк строит таблицы по первичным признакам. Генерируется по одной таблице для каждого возможного значения вектора первичных признаков. Информация от наборов строк изображения заносится в данные таблицы. Каждая из этих таблиц далее упорядочивается по вторичным признакам. В таблицах также сохраняется значение вторичных признаков и координат. Таблицы могут далее обрабатываться параллельно. Блок (6) может быть спроектирован так, чтобы таблицы имели более-менее одинаковый размер.
Блок сопоставления стереокадров (8) берет последовательно информацию о диапазоне строк левого кадра, например строках [ni;ni+1) и три (или один в зависимости от точности ректификации), диапазона строк правого кадра [ni-1;ni), [ni;ni+1), [ni+1;ni+2), и, выбрав из диапазонов таблицы соответствующие одному и тому же набору первичных признаков, потом сопоставляет их по вторичным признакам, используя эффективные метрики (дискретные, расстояние хемминга, l_1, l_inf и подобные) и некое пороговое значение. Архитектура ПЛИС позволяет эффективно проводить сравнения параллельно, не увеличивая задержку на этом этапе. Менее производительные платформы могут быть ограничены дискретным точным сравнением, и использовать сортировку по вторичному признаку для ее осуществления. Блок (9) отбрасывает слишком популярные вектора признаков, а среди всех точных совпадений выбирает пару, основываясь на какой-нибудь эвристике, например - минимизации диспаритета или априорном знании ожидаемого диспаритета. В качестве эвристики можно использовать и грубые результаты работы описанного устройства на картинках уменьшенного размера и т.п. Сопоставленную пару блок передает блоку (9) для формирования блока гипотез.
Блоки (9) и (13) функционально идентичны и производят формирование гипотез, отбрасывает вектора признаков и складирует только пары координат, эффективным выходным представлением для этих блоков является буфер, содержащий координаты и соответствующий, например, правому кадру. Ячейки буфера заполнены специальными значениями там, где совпадения не найдено, а там, где оно найдено, хранятся его координаты.
Блоки (10) и (14) также функционально идентичны, принимая на вход буфер соответствий, они должны рассмотреть его как буфер гипотез о соответствии и убрать из него шум - неподкрепленные гипотезы. Для этого они исследуют окрестность каждого элемента буфера в поисках сходных гипотез, если подкреплений гипотезы оказывается достаточно, то она принимается. Пороги и настройки задаются в этом блоке пользователем на момент конфигурации системы.
Следует отдельно сказать, что для блока (14) под окрестностью можно понимать и окрестность по временной координате, то есть гипотезу о движении точки может поддержать тот факт, что не очень удаленная точка в прошлом двигалась со сходной скоростью в сходном направлении.
Блок (11) берет данные, полученные от блока (7), и сливает таблицы для всех последовательных наборов строк, соответствующие одному набору первичных признаков в одну. Одна копия результата отправляется в блок (12), вторая сохраняется в базе блока (21) для использования на следующем кадре. Эта операция может также выполняться параллельно для всех таблиц. На выходе блок (11) объединяет информацию о признаках со всего кадра.
Блок сопоставления оптического потока аналогичен блоку (8), но работает с информацией о текущем и предыдущем кадрах. Вычисления в этом блоке также могут выполняться параллельно, что позволяет его реализовать как внутри одной микросхемы ПЛИС, так и в нескольких микросхемах ПЛИС.
Блок улучшения буфера, опираясь на отфильтрованные гипотезы, пытается присвоить диспаритет соседними точкам. Для этого может использоваться триангуляция и интерполяция значений диспаритета, или простой перебор. Для проверки - верно ли сделано - предположение можно использовать кросс-корелляцию, метрику взаимной информации, сравнение векторов признаков или SAD. Последние два варианта наиболее вычислительно эффективны, но SAD требует точно сведенной яркости и контрастности двух изображений, что не всегда достижимо.
Блок уточнения оптического потока, используя результаты блока улучшения, субпиксельно уточняет значение векторов оптического потока, используя KLT или сходный метод субпиксельного трекинга. Следует отметить, что в зависимости от выбранных признаков, точность буферов до этого этапа составляет 1-2 пикселя, то есть трекер должен быть способен скорректировать такую ошибку.
Блок 19 получает карту двухмерных рассогласований и пытается подобрать оптимальную существенную или фундаментальную (в зависимости о нашем знании о модели камер) матрицу, робастно оптимизируя невязку. Вычислив существенную матрицу, блок (19) формирует ректифицирующее преобразование и преобразует его в матрицу сдвигов, сохраняя затем в базе 4.
В зависимости от требований к подвижности камер блок (19) может выполняться как каждый кадр, так и в фоновом, корректирующем режиме. Во втором случае блок (19) может выполняться на встроенном ядре, пока то простаивает.
Интерфейсный блок позволяет передать сформированные буфера глубины и оптического потока, передать для дальнейшей обработки по высокосортным интерфейсам таким, как USB 2.0, 3.0, Ethernet, PCI-E, а также получить настройки блоков.
Таким образом, предложено компактное «Устройство для определения расстояния и скоростей объектов на основе стереоподхода», позволяющее получать поток стереоизображений, проводящее их ректификацию и коррекцию, после чего извлекающее из изображений вектора признаков для каждой точки, затем эффективно сопоставляющее их внутри эпилиний для получения стереорассогласования и между следующими и предыдущим кадрами для получения оптического потока, позволяет получить высокую скорость определения расстояния и скоростей объектов, повысить эффективность распознавания объектов, жестов, вести контроль периметра, предупреждать столкновения транспортных средств между собой и с неподвижными препятствиями, картировать ландшафт, помещения и объекты, использоваться как датчик для автономных роботов и БПЛА (Беспилотный Летательный Аппарат) - производственных линий и подобного, включаться в системы помощи людям с ограниченными возможностями.

Claims (1)

  1. Устройство для определения расстояния и скоростей объектов на основе стереоподхода, характеризующееся тем, что оно включает: блок видеокамер, состоящий по крайней мере из двух видеокамер, направленных на анализируемый объект; первый интерфейсный блок, предназначенный для конверсии интерфейса блока видеокамер в данные для переработки; блок нормализации и ректификации изображений, получающий от первого интерфейсного блока информацию, полученную от блока видеокамер; блок хранения корректирующей информации, связанный с блоком нормализации и ректификации изображений, хранящий предварительно просчитанные вектора смещения для ректификации; блок извлечения признаков, получающий данные от блока нормализации и ректификации изображений и выполненный с возможностью обработки окрестностей отдельных пикселей и расчета для каждой окрестности одного или нескольких векторов признаков; блок ранжирования признаков, выполненный с возможностью разделения признаков на ранжированные группы, полученных от блока извлечения признаков; первый блок реорганизации признаков, обрабатывающий сгруппированные признаки, обработанные блоком ранжирования признаков, с помощью формирования таблиц признаков; блок сопоставления кадров, получающий данные от первого блока интерфейса и первого блока реорганизации и выполненный с возможностью сопоставления признаков, полученных от первого блока реорганизации, в пределах строк; первый блок формирования гипотез, характеризующих движение точек оптического потока, получающий пару строк из правого и левого кадров, обработанную блоком сопоставления кадров; первый блок фильтрации, выполненный с возможностью анализа сформированных гипотез и удаления ложноположительных и корректировки ошибочных соответствий; блок посторганизации признаков, обрабатывающий данные, полученные от первого блока реорганизации признаков, и выполненный с возможностью объединения таблиц для всех последовательных наборов строк, соответствующих одному набору первичных признаков, в одну; блок сопоставления признаков, получающий объединенные таблицы от блока посторганизации признаков и кадры от первого интерфейсного блока и блока хранения информации, и признаков предыдущих кадров; второй блок формирования гипотез движения координат точек оптического потока, получающий данные из блока сопоставления признаков, и второй блок фильтрации, получающий данные от второго блока формирования гипотез и выполненный с возможностью анализа сформированных гипотез вторым блоком формирования гипотез и удаления ложноположительных, и корректировки ошибочных соответствий; блок улучшения буфера, получающий данные от второго блока фильтрации отфильтрованные гипотезы и выполненный с возможностью присвоения диспаритета точкам; блок уточнения стерео, получающий данные от блока улучшения буфера и выполненный с возможностью субпиксельно уточнять значение диспаритета, используя метод субпиксельного трекинга; блок уточнения оптического потока, получающий данные от блока улучшения буфера и выполненный с возможностью субпиксельного уточнения значений векторов оптического потока, используя метод субпиксельного трекинга; блок триангуляции, получающий данные от блока улучшения буфера и выполненный с возможностью преобразования диспаритетов в глубины буфера; блок ректификации, получающий данные от блока улучшения буфера и выполненный с возможностью на основе полученных диспаритетов осуществлять реконструирование матриц стереопар; блок хранения информации и признаков предыдущих кадров, связанный с блоком посторганизации признаков и содержит сведения о признаках, связанных с точками на предыдущем кадре; второй интерфейсный блок, связанный с блоком нормализации и ректификации изображений и получающий от него данные результатов компенсации дисторсий оптической системы и ректификации и метаинформацию, причем второй интерфейсный позволяет передавать сформированные буферы глубин и оптического потока для дальнейшей обработки, а также получать настройки всех блоков.
RU2012128904/08A 2012-06-29 2012-06-29 Устройство для определения расстояния и скоростей объектов на основе стереоподхода RU2582853C2 (ru)

Priority Applications (4)

Application Number Priority Date Filing Date Title
RU2012128904/08A RU2582853C2 (ru) 2012-06-29 2012-06-29 Устройство для определения расстояния и скоростей объектов на основе стереоподхода
PCT/RU2012/000753 WO2014003602A1 (en) 2012-06-29 2012-09-05 Stereo-approach distance and speed meter
EP12880018.2A EP2867612A4 (en) 2012-06-29 2012-09-05 STEREO APPROXIMATION DISTANCE AND SPEED METER
US14/584,276 US9930314B2 (en) 2012-06-29 2014-12-29 Stereo-approach distance and speed meter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012128904/08A RU2582853C2 (ru) 2012-06-29 2012-06-29 Устройство для определения расстояния и скоростей объектов на основе стереоподхода

Publications (2)

Publication Number Publication Date
RU2012128904A RU2012128904A (ru) 2014-01-10
RU2582853C2 true RU2582853C2 (ru) 2016-04-27

Family

ID=49783591

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012128904/08A RU2582853C2 (ru) 2012-06-29 2012-06-29 Устройство для определения расстояния и скоростей объектов на основе стереоподхода

Country Status (4)

Country Link
US (1) US9930314B2 (ru)
EP (1) EP2867612A4 (ru)
RU (1) RU2582853C2 (ru)
WO (1) WO2014003602A1 (ru)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3432291A4 (en) * 2016-03-15 2019-03-27 Ricoh Company, Ltd. Image Processing Device, Object Recognition Device, Device Control System, Image Processing Method and Program
CN109029380B (zh) * 2018-09-14 2019-12-03 中国科学院西安光学精密机械研究所 基于镀膜式多光谱相机的立体视觉***及其标定测距方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU10905U1 (ru) * 1998-11-24 1999-08-16 Летно-исследовательский институт им.М.М.Громова Система обучения операторов для технического обслуживания летательных аппаратов
RU2369901C2 (ru) * 2004-01-07 2009-10-10 Майкрософт Корпорейшн Местная локализация с использованием быстрого согласования изображений
RU2370817C2 (ru) * 2004-07-29 2009-10-20 Самсунг Электроникс Ко., Лтд. Система и способ отслеживания объекта

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2092869C1 (ru) 1992-12-09 1997-10-10 Самарский государственный технический университет Радар безопасности движения автомобильного транспорта
JP3349121B2 (ja) * 1999-09-22 2002-11-20 富士重工業株式会社 ステレオカメラの取付構造
US20020012459A1 (en) * 2000-06-22 2002-01-31 Chips Brain Co. Ltd. Method and apparatus for detecting stereo disparity in sequential parallel processing mode
US7595817B1 (en) * 2003-02-12 2009-09-29 The Research Foundation Of State University Of New York Linear system based, qualitative independent motion detection from compressed MPEG surveillance video
US20050111705A1 (en) * 2003-08-26 2005-05-26 Roman Waupotitsch Passive stereo sensing for 3D facial shape biometrics
US7486803B2 (en) * 2003-12-15 2009-02-03 Sarnoff Corporation Method and apparatus for object tracking prior to imminent collision detection
KR100544677B1 (ko) * 2003-12-26 2006-01-23 한국전자통신연구원 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법
EP2284814A1 (en) 2005-01-03 2011-02-16 Vumii, Inc. Systems and methods for night time surveillance
US8108119B2 (en) * 2006-04-21 2012-01-31 Sri International Apparatus and method for object detection and tracking and roadway awareness using stereo cameras
SE529948C2 (sv) 2006-05-26 2008-01-15 Scania Cv Abp Anordning för bestämning av en förares förutseende förmåga
US8073196B2 (en) * 2006-10-16 2011-12-06 University Of Southern California Detection and tracking of moving objects from a moving platform in presence of strong parallax
KR100918480B1 (ko) * 2007-09-03 2009-09-28 한국전자통신연구원 스테레오 비전 시스템 및 그 처리 방법
US8098733B2 (en) * 2008-03-10 2012-01-17 Neomagic Corp. Multi-directional motion estimation using parallel processors and pre-computed search-strategy offset tables
RU96951U1 (ru) 2010-04-19 2010-08-20 Вячеслав Евгеньевич Виноградов Навигатор, совмещенный с антирадаром
RU112118U1 (ru) 2011-09-06 2012-01-10 Игорь Владимирович Долгих Устройство защиты пешехода при наезде на него автомобиля
RU113398U1 (ru) 2011-10-19 2012-02-10 Илья Викторович Барский Комплекс видеофиксации и измерения скорости движения и координат транспортных средств
JP5780142B2 (ja) * 2011-12-07 2015-09-16 富士通株式会社 画像処理装置、画像処理方法
US9092675B2 (en) * 2012-03-29 2015-07-28 The Nielsen Company (Us), Llc Methods and apparatus to count people in images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU10905U1 (ru) * 1998-11-24 1999-08-16 Летно-исследовательский институт им.М.М.Громова Система обучения операторов для технического обслуживания летательных аппаратов
RU2369901C2 (ru) * 2004-01-07 2009-10-10 Майкрософт Корпорейшн Местная локализация с использованием быстрого согласования изображений
RU2370817C2 (ru) * 2004-07-29 2009-10-20 Самсунг Электроникс Ко., Лтд. Система и способ отслеживания объекта

Also Published As

Publication number Publication date
EP2867612A4 (en) 2016-08-17
EP2867612A1 (en) 2015-05-06
US20150109421A1 (en) 2015-04-23
WO2014003602A1 (en) 2014-01-03
US9930314B2 (en) 2018-03-27
RU2012128904A (ru) 2014-01-10

Similar Documents

Publication Publication Date Title
US10769480B2 (en) Object detection method and system
Cheng et al. Noise-aware unsupervised deep lidar-stereo fusion
Braun et al. Pose-rcnn: Joint object detection and pose estimation using 3d object proposals
Clipp et al. Parallel, real-time visual SLAM
CN114127805A (zh) 深度网络的训练方法
WO2008020598A1 (fr) Dispositif et procédé de détection d'un nombre d'objets
WO2018227216A1 (en) Learning-based matching for active stereo systems
US11651581B2 (en) System and method for correspondence map determination
US9323989B2 (en) Tracking device
Garg et al. Look no deeper: Recognizing places from opposing viewpoints under varying scene appearance using single-view depth estimation
CN111160291A (zh) 基于深度信息与cnn的人眼检测方法
CN115588190A (zh) 一种成熟果实识别和采摘点定位方法及装置
Wang et al. Paul: Procrustean autoencoder for unsupervised lifting
RU2582853C2 (ru) Устройство для определения расстояния и скоростей объектов на основе стереоподхода
CN113160210A (zh) 基于深度相机的排水管道缺陷检测方法及装置
Gupta A survey of techniques and applications for real time image processing
KR101178015B1 (ko) 시차 맵 생성 방법
Raza et al. Depth extraction from videos using geometric context and occlusion boundaries
KR101220003B1 (ko) 시차 맵 생성 방법
Che et al. Traffic light recognition for real scenes based on image processing and deep learning
Lu et al. Road vanishing-point detection: A multi-population genetic algorithm based approach
Zhang et al. A unified saliency detection framework for visible and infrared images
Kim et al. AI and machine learning for computer vision applications in open world
Yin et al. Rethinking event-based human pose estimation with 3D event representations
Liu et al. Research on A Binocular Fish Dimension Measurement Method Based on Instance Segmentation and Fish Tracking

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant
FA92 Acknowledgement of application withdrawn (lack of supplementary materials submitted)

Effective date: 20151210

FZ9A Application not withdrawn (correction of the notice of withdrawal)

Effective date: 20160225

MM4A The patent is invalid due to non-payment of fees

Effective date: 20160704

NF4A Reinstatement of patent

Effective date: 20171213

MM4A The patent is invalid due to non-payment of fees

Effective date: 20190630

NF4A Reinstatement of patent

Effective date: 20201028