Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,969

ОБРАБОТКА ДАННЫХ ПРИ АНАЛИЗЕ КАЧЕСТВА ДОРОЖНОГО ПОКРЫТИЯ

Артемов М.А. 1 Бабкин С.В. 1 Барановский Е.С. 1
1 ФГБОУ ВО «Воронежский государственный университет»
В настоящей статье обсуждается один метод обработки данных в рамках проблемы анализа качества дорожного покрытия. Для анализа покрытия используется сенсор Kinect. Это устройство предоставляет синхронизированные кадры цвета и глубины 24 раза в секунду. Слово «синхронизация» в данном контексте означает, что соответствующие пиксели на кадрах цвета и глубины описывают цвет и расстояние одного и того же объекта. Эта особенность позволяет обрабатывать не только кадры глубины, но также сохранять цветные кадры. Каждый кадр глубины представлен пикселями, которые описывают расстояние между сенсором и объектом. Из кадра глубины можно получить так называемое трехмерное облако точек. Данные должны обрабатываться в режиме реального времени, следовательно, выбранный метод должен быть способен обрабатывать 24 кадра в секунду. Выполнение этого условия – наиболее трудная часть задачи. Кроме того, метод должен каким-либо образом устранять шумы, которые присутствуют в кадрах глубины. Первый этап алгоритма заключается в повороте трехмерного облака. Для последующей обработки необходимо, чтобы облако было ориентировано параллельно двум осям координат. Чтобы добиться этого, необходимо применить матрицу поворота к каждой точке облака. Следующий этап – анализ облака точек. Тривиальные алгоритмы оказались недостаточно быстрыми, чтобы обрабатывать данные в режиме реального времени. В работе предложено решение, позволившее ускорить обработку и сделать временную сложность алгоритма линейной с малой скрытой константой. Благодаря этому появляется возможность обработки данных в режиме реального времени.
анализ данных
информационная система
дорожное покрытие
кадры глубины
трехмерное облако
временная сложность
1. Артемов М.А., Бабкин С.В. Организация хранения данных в рамках проблемы анализа качества дорожного покрытия // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии. – 2014. – № 4. – С. 5–11.
2. Артемов М.А., Бабкин С.В., Киргинцев М.В., Мельников В.М. Создание перспективного анализатора качества дорожного покрытия // Современное общество, образование и наука: сборник научных трудов по материалам Международной научно-практической конференции, 30 июня 2014 г., Тамбов. – Ч. 7. – Тамбов: ООО «Консалтинговая компания Юком», 2014. – C. 13–15.
3. Бабкин С.В., Артемов М.А., Барановский Е.С., Свиридов С.Г., Соломатин М.С. Перспективы развития существующих анализаторов качества дорожного покрытия // Информатика: проблемы, методология, технологии: материалы 15 Международной научно-методической конференции, 12–13 февраля 2015 г., г. Воронеж: в 4 т. – Воронеж, 2015. – Т. 1. – С. 34–36.
4. Бабкин С.В., Артемов М.А., Барановский Е.С. Выравнивание кадра глубины для анализа качества поверхности // Наука, образование, общество, проблемы и перспективы развития: сборник научных трудов по материалам Международной научно-практической конференции, 31 июля 2015 г, Тамбов. – Т. 4. – Тамбов: ООО «Консалтинговая компания Юком», 2015. – С. 10–12.
5. Бабкин С.В., Артемов М.А. Критерии оценки качества дорожного покрытия // Образование и наука: современное состояние и перспективы развития: сборник научных трудов по материалам Международной научно-практической конференции, 31 июля 2014 г., Тамбов. – Ч. 3. – Тамбов: ООО «Консалтинговая компания Юком», 2014. – C. 18–21.
6. Малыгин И.Г., Бобрик П.П. Развитие автодорожной сети в России: проблемы и пути решения // Аналитический вестник Совета Федерации Федерального Собрания РФ. – 2015. – № 3 (556). – С. 17–27.
7. Солодкий А.И. Современные проблемы развития дорожной сети России // Проблемы современной экономики. – 2008. – № 1. – C. 320–322.

Проблема мониторинга состояния дорожного покрытия и своевременного ремонта дорог остается к настоящему времени весьма актуальной [1, 6, 7]. Для успешного решения данной проблемы необходимо разработать принципиально новую концепцию анализаторов дорог.

Одним из современных комплексов, применяемых для анализа качества покрытия, является программно-аппаратный комплекс видеопаспортизации дорог «СВПД». Этот комплекс обладает рядом преимуществ перед более ранними анализаторами, а именно: привязка к GPS, видеообработка, анализ рельефа, обработка в реальном времени. Тем не менее имеются два серьезных недостатка: высокая цена и отсутствие синхронизации видеокамеры с лазерным сканером рельефа дороги.

При создании перспективного программно-аппаратного комплекса, позволяющего анализировать качество дороги, сохранять результаты анализа в базу данных, а также представлять полученные результаты в наглядном виде, можно использовать в качестве сенсора устройство Kinect [1–3]. Анализ данных, приходящих от Kinect, осуществляется на стандартном офисном компьютере.

Сенсор Kinect удовлетворяет всем требованиям, предъявляемым к анализатору. Этот сенсор имеет стандартную видеокамеру, позволяющую снимать видео в формате вплоть до FULL HD. Стандартная видеокамера нужна для получения цветовых кадров, которые можно сохранять в базу данных для последующего отображения на карте. Определяющим фактором, из-за которого в качестве сенсора был выбран Kinect, является наличие так называемой камеры глубины, которая состоит из инфракрасного приемника и передатчика. Передатчик излучает уникальную инфракрасную матрицу, а приемник получает искаженное изображение и на основе искажений определяет расстояние до каждой конкретной точки. Более того, данные, поступающие от стандартной камеры, и данные камеры глубины синхронизированы. Синхронизация дает возможность найти расстояние до объектов, изображенных на кадре, полученном от обычной камеры.

Kinect закреплен спереди (на базе автомобиля) и направлен вниз (в сторону движения автомобиля). Для того чтобы начать процедуру анализа покрытия дороги, оператору необходимо нажать на компьютере одну кнопку, после чего двигаться со скоростью не более 40 км/ч. При большей скорости возрастает уровень шумов сенсора и, следовательно, вероятность ошибки. При этом оператору не нужно «специально» въезжать в ямы, так как комплекс анализирует кадры цвета и глубины, а не колебания сенсора.

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

Целью работы является нахождение оптимального метода обработки данных глубины для определения качества дорожного покрытия. Наиболее трудная часть задачи, которую предстояло решить, связана с увеличением скорости работы алгоритма. Данные требуется обрабатывать со скоростью 24 кадра в секунду. Такая скорость необходима для того, чтобы была возможность обрабатывать каждый кадр, приходящий от сенсора Kinect. Тривиальные алгоритмы (например, обработка каждой точки глубины для каждого возможного положения колеса) оказались недостаточно быстрыми, чтобы обрабатывать данные в режиме реального времени. В работе предложен подход, позволивший ускорить обработку данных и сделать временную сложность алгоритма линейной с малой скрытой константой. При этом можно обрабатывать данные в режиме реального времени. В результате появляется возможность не сохранять большой объем «сырых» данных, требующих последующей обработки.

pic_1.tif

Рис. 1. Система координат сенсора Kinect

Преобразование кадра глубины

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

Первая трудность, которую необходимо преодолеть, связана с произвольной ориентацией облака точек [4]. Можно утверждать, что облако точек будет с некоторым допуском находиться в пределах некоторой плоскости (идеально ровная поверхность), но нельзя гарантировать, что эта плоскость будет параллельна сразу двум осям координат. Этого невозможно добиться, поскольку Kinect закреплен спереди автомобиля и направлен не перпендикулярно вниз к плоскости дороги, а наклонен вперед, в сторону движения. Тем не менее сенсор закреплен горизонтально, что гарантирует параллельность поверхности к оси OX. Следовательно, чтобы облако точек оказалось сориентированным параллельно сразу двум осям, нужно повернуть пространство вокруг оси OX. При этом целесообразно сделать такой поворот, чтобы облако расположилось параллельно плоскости XOY.

pic_2.tif

Рис. 2. Проекция облака точек на плоскость YOZ

На рис. 2 изображена проекция на плоскость YOZ. Черными точками обозначено облако точек. Прямая, изображенная штриховым пунктиром, – это проекция идеальной поверхности, вдоль которой расположены точки. Пространство необходимо повернуть на такой угол, чтобы идеальная поверхность оказалась на месте прямой, изображенной точечным пунктиром.

Перед тем как осуществить поворот пространства, нужно вычислить положение идеальной поверхности. Для этого необходимо найти координаты пары ключевых точек A и B на плоскости YOZ. Эти координаты невозможно найти точно. В зависимости от метода вычисления координаты точек, а следовательно, и положение плоскости могут отличаться. Более того, важно учесть, что данные от сенсора содержат погрешности, в них присутствуют шумы. Таким образом, нельзя взять две произвольные точки из облака и считать их ключевыми. Чтобы избежать влияния шумов, можно вычислить координаты ключевой точки следующим образом:

1) из облака делается выборка точек с граничными значениями координаты Y;

2) вычисляется среднее арифметическое координат выбранных точек.

Посчитав координаты ключевых точек, можно вычислить угол, на который необходимо осуществить поворот пространства:

artemov01.wmf

Чтобы осуществить соответствующий поворот пространства, применяется матрица поворота:

artemov02.wmf

Алгоритм анализа качества покрытия

Выровняв облако точек по горизонтали, необходимо его проанализировать на дефекты и искривления. Методы, основанные на прямом анализе взаимного расположения точек трехмерного облака, не подходят для решения данной задачи, так как, во-первых, являются недостаточно быстрыми, а во-вторых, очень чувствительны к шумам Kinect, а также к узким ямам и трещинам на дороге, которые автомобиль проезжает практически незаметно. Рассмотрев различные способы анализа трехмерного облака точек, было принято решение использовать метод моделирования движения колеса (рис. 3) [5].

pic_3.tif

Рис. 3. Траектория движения колеса

Здесь траектория колеса изображена пунктирной линией. Этот метод имеет ряд существенных преимуществ и позволяет получить наиболее реалистичные оценки качества покрытия. Например, узкие «провалы» практически не повлияют на финальную оценку, так как траектория колеса не сильно меняется при этом. Более того, шумы, выдаваемые сенсором, также будут слабо влиять на оценку благодаря специфике метода.

При моделировании движения колеса важно учитывать следующий момент. Трехмерные точки облака расположены с различной плотностью в разных частях пространства. Там, где дорога была ближе к сенсору, плотность наивысшая, а там, где дальше – самая низкая. Из-за этого нельзя моделировать движение непосредственно по облаку точек, так как невозможно однозначно утверждать, какие точки принадлежат выбранной траектории движения. Точнее говоря, это невозможно сделать за 1/24 секунды. Дело в том, что от сенсора каждый раз приходит 640480 = 307200 трехмерных координат и обрабатывать их за квадратичное время, очевидно, нельзя. В данном случае подойдет алгоритм, работающий не медленнее O(n log(n)), где n – это количество точек.

Сначала необходимо построить по облаку точек карту высот колеса с заданной частотой дискретизации. В данном случае частота 5 см будет достаточной. Тогда для хранения такой карты высот будет достаточно двумерного массива размером 8080, так как область дороги, попавшая в поле зрения сенсора, будет не более 44 м.

Одно из простых решений с линейной сложностью предполагает следующие шаги:

1. Инициализация карты высот отрицательными значениями.

2. Для каждой трехмерной точки вычисляется, на какие положения колеса она влияет.

3. Для каждого положения колеса вычисляется высота, если бы колесо стояло на заданной точке.

4. В карте высот сохраняется максимальное значение высоты.

Несмотря на линейную сложность, этот алгоритм слишком медленный, так как содержит большую внутреннюю константу. Действительно, каждая точка может влиять на (20 / 5)(60 / 5) = 48 различных положений колеса при ширине колеса 20 см и диаметре 60 см. В результате сложность алгоритма составляет O(48n). Кроме того, нужно проанализировать карту высот, на что времени уже не остается.

Усовершенствовать данный алгоритм возможно благодаря следующей особенности. Рассмотрим движение колеса вперед. В любой момент времени колесо опирается не более чем на 2 точки. Оно может соприкасаться и с большим количеством точек, но в рамках рассматриваемой задачи этим можно пренебречь. Движение колеса представляет собой последовательные переходы между состояниями, когда колесо стоит на двух точках. Во время перехода колесо находится только на передней точке, которая после перехода становится задней. Исходя из этого можно сделать вывод, что если колесо во время движения в какой-то момент времени перестало лежать на заданной точке, то в дальнейшем оно никогда не будет лежать на ней.

Необходимо принять во внимание, что благодаря определенному расположению Kinect точки в облаке будут упорядочены по направлению движения. Другими словами, можно с уверенностью сказать, что точка, полученная с нижнего пикселя глубины, будет расположена ближе точки, полученной с верхнего пикселя. Это значит, что возможно обрабатывать облако точек последовательно вдоль (или против) направления движения. Последовательная обработка, в свою очередь, позволяет пересчитывать положения колеса только до тех пор, пока колесо еще может стоять на обрабатываемой точке. Если же в некотором положении колесо находится на уже обработанной точке и не опирается на текущую, то можно утверждать, что последующие положения колеса никак не могут опираться на текущую точку.

Проделав обработку облака точек вдоль и против направления движения, получаем точную карту расположения колеса с заданной частотой дискретизации. При этом среднее количество положений колеса, вычисляемое для каждой точки по оси движения, не будет превышать 4 в подавляющем большинстве случаев. В результате для каждой точки будет посчитано в среднем (20 / 5)4 = 16 положений.

Для того чтобы дополнительно ускорить алгоритм, можно вычислить заранее сдвиг колеса по высоте в зависимости от относительного расположения колеса и точки опоры (рис. 4).

В наших обозначениях нужно искать расстояние СН. Оно зависит от расстояния АН и вычисляется по следующей формуле:

artemov03.wmf

pic_4.tif

Рис. 4. Положение колеса на смещенной точке опоры

Вычислив заранее СН для различных значений АН, можно не вычислять это расстояние каждый раз по формуле, а использовать соответствующее приближенное значение.

Выводы

В настоящей работе предложен метод обработки данных глубины, позволяющий анализировать дорожное покрытие, обрабатывая поступающие данные в режиме реального времени. Благодаря найденным закономерностям, удалось ускорить выполнение работы в три раза. Дополнительное ускорение работы можно получить при предварительном подсчете сдвигов по высоте. Кроме того, найденный метод обработки данных позволяет значительно уменьшить влияние шумов от Kinect. Это достигается за счет моделирования проезда колеса: траектория движения будет слабо изменяться из-за узких «провалов», вызванных неточностями входных данных.


Библиографическая ссылка

Артемов М.А., Бабкин С.В., Барановский Е.С. ОБРАБОТКА ДАННЫХ ПРИ АНАЛИЗЕ КАЧЕСТВА ДОРОЖНОГО ПОКРЫТИЯ // Современные наукоемкие технологии. – 2016. – № 5-2. – С. 215-219;
URL: http://top-technologies.ru/ru/article/view?id=35886 (дата обращения: 27.06.2019).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.252