Способ определения траектории движения автомобиля по видео для выявления нарушений правил дорожного движения
METHOD FOR DETERMINING THE TRAJECTORY OF A CAR BY VIDEO TO DETECT VIOLATIONS OF TRAFFIC RULES

Изобретение относится к области регулирования движения дорожного транспорта, а именно к способам выявления нарушений правил дорожного движения (ПДД) и может применятся для автоматического круглосуточного определения и регистрации транспортных средств, нарушивших ПДД.
При выявлении нарушений ПДД для нахождения автомобиля на видеокадре используется поиск изображения государственного регистрационного знака (ГРЗ). Далее перемещение машины определяется как перемещение найденного ГРЗ. При этом для определения нарушений правил парковки проверяется, что автомобиль не двигался в течение заданного времени, это описано в патентах RU 136616 U1 и RU 149201 U1, или же строится траектория движения автомобиля для идентификации таких нарушений, как не пропуск пешехода, указанном в патенте RU 2640668 С1, выезд на выделенную, запрещенную полосу или полосу для маршрутных транспортных средств, как написано в патенте RU 2652292 С1, проезд на запрещающий сигнал светофора по патенту RU 2637714 С1 или железнодорожный переезд (RU 2637066 С1).
Во всех перечисленных выше патентах для определения нарушений ПДД, при которых должна быть определена траектория транспортного средства (ТС), возникает проблема, что не на всей траектории движения ТС ГРЗ может быть хорошо распознан. Это может быть вызвано:
а) удаленностью;
б) тем, что ГРЗ временно закрыт другой машиной или пешеходом;
в) тем, что в каких-то местах ГРЗ дает блик от солнца, встречных фар, фонарей или, наоборот, находится в тени.
Для того, чтобы автоматически различать ГРЗ на большом удалении от камеры, приходится дополнительно к обзорной камере использовать отдельную распознающую камеру, что усложняет комплекс по выявлению нарушений ПДД и делает его более дорогим. Для борьбы с временными неблагоприятными условиями (блики) приходится применять более дорогую камеру с лучшим динамическим диапазоном, и все равно этот эффект, а также физическое закрытие ГРЗ, приводят к тому, что качество и надежность построения траектории, а вместе с ней и работы комплекса в целом, ухудшаются.
Задачей изобретения является создание способа выявления нарушений ПДД с помощью определения траектории движения ТС.
Предлагается способ построения траектории ТС в условиях, когда ГРЗ ТС распознается не на каждом кадре. Также данный способ позволяет снизить стоимость комплекса за счет применения менее мощного вычислительного устройства. Достигается это тем, что более ресурсоемкие поиск и распознавание ГРЗ делается не на каждом кадре, а только на каждом втором или каждом третьем, а на промежуточных кадрах траектория ТС достраивается с помощью предлагаемого способа.
Технический результат достигается за счет того, что способ определения траектории движения автомобиля по видео для выявления нарушений правил дорожного движения заключается в следующем: происходит нахождение положения ГРЗ автомобиля на видеокадре, на котором поиск ГРЗ программными средствами производился и ГРЗ был успешно распознан, затем восстанавливается положения ГРЗ автомобиля на видеокадрах, на которых его поиск не производился или он не был распознан, с помощью нахождения особых точек в окрестности номера на кадре, на котором ГРЗ был распознан или его положение было успешно найдено с помощью данного алгоритма, и их сопоставления с особыми точками, найденными на текущем кадре. Далее положение ГРЗ определяется путем вычисления медианных координат вершин векторов, построенных от особых точек, найденных на кадре, где ГРЗ не был распознан, и соответствующих особым точкам, находившимся в окрестности ГРЗ на кадре, где ГРЗ был распознан, и для которых значения указанных векторов были вычислены на кадре, где ГРЗ был распознан. В случае, если ГРЗ не распознан несколько кадров подряд, из рассмотрения исключаются особые точки, для которых данный вектор указывает на положение, далекое от медианного, а для остальных особых точек значение вектора заменяется вектором, указывающим на медианное положение. Также после того, как был ГРЗ распознан первый раз, происходит восстановление предшествовавшей траектории движения ТС до того момента, когда ГРЗ был распознан первый раз, путем применения аналогичного алгоритма к видеокадрам, предшествовавшим тому кадру, на котором ГРЗ был распознан впервые.
Известен целый ряд способов поиска на изображении особых (ключевых) точек и сопоставления особых точек, полученных на разных изображениях. Особой точкой является такая точка на изображении физического объекта, для которой на другом изображении того же предмета может быть наиболее достоверно найдена точка, изображающая ту же точку физического объекта. В качестве в качестве особых точек могут выбираться углы предметов, или какие-то другие характерные детали. Существует целый ряд алгоритмов поиска особых точек на изображении и сопоставления особых точек на различных изображениях одного и того же объекта: детектор Харриса, FAST, SIFT, SURF, ORB и др.
На фиг. 1, фиг. 2 и фиг. 3 изображен пример работы алгоритма на 3 последовательных кадрах, из которых на первом кадре (фиг. 1) ГРЗ был распознан (красная сплошная рамка), а на последующих (фиг. 2 и 3) положение ГРЗ восстанавливается с помощью описываемого алгоритма (красная пунктирная рамка). Крестиками с номерами возле них обозначены найденные особые точки, одинаковыми номерами на последовательных кадрах обозначены особые точки, сопоставленные друг с другом. Каждой особой точке сопоставлен вектор, указывающий на центр распознанного (фиг. 1) или предполагаемого (фиг. 2, 3) положения ГРЗ (зеленые стрелки).
Предлагаемый алгоритм включает нахождение особых точек на последовательных видеокадрах и их сопоставление. В результате формируются траектории особых точек. Среди них будут траектории точек, относящихся к неподвижным частям изображения (предметы пейзажа, дорожная разметка) и точек, находящихся на движущихся объектах (автомобили, пешеходы и др.). При этом из-за несовершенства алгоритма нахождения и сопоставления особых точек часть траекторий будет обрываться, часть продолжаться неверно. Например, особая точка на ТС может на каком-то кадре быть ошибочно сопоставлена с точкой на дорожной разметке, в результате траектория точки на движущемся ТС будет ошибочно продолжена как неподвижная. Также некоторые особые точки могут быть невидимы на следующем кадре, в результате чего траектории могут прерваться по объективным причинам.
В предлагаемом алгоритме на том кадре, где был распознан ГРЗ, выбирается область кадра вблизи него (в конкретной реализации - на прямоугольная область, включающая точки, удаленные не более 2 ширин ГРЗ по горизонтали и вверх и не более 1 ширины ГРЗ вниз, но эти параметры не являются существенными и могут быть уточнены). Отбираются особые точки, найденные на данном кадре в пределах данной области. Для каждой из найденных особых точек вычисляется и запоминается вектор от нее до центра найденного изображения ГРЗ (фиг. 1).
На следующем кадре, если данный ГРЗ не был найден алгоритмом поиска ГРЗ или по причинам, описанным в начале, или потому что алгоритм поиска ГРЗ не запускался для экономии вычислительных ресурсов, находится новое положение каждой из отобранных особых точек. Относительно него вычисляется ожидаемое положение центра ГРЗ, используя вектор направления, вычисленный выше (фиг. 1).
Поскольку часть траекторий особых точек могла быть продолжена неверно, часть найденных ожидаемых положений центра будет существенно отличаться от других.
Так, на фиг. 1 показан кадр, где успешно найден ГРЗ и 5 особых точек в его окрестности. На фиг. 2 показан следующий кадр, где ГРЗ не был обнаружен по какой-либо причине, найдены также 5 особых точек, причем 3 из них (1, 2 и 4) правильно сопоставлены с особыми точками с предыдущего кадра, а две (3 и 5) неправильно. Соответственно, вычисленное ожидаемое положение центра ГРЗ для этих точек будет далеко от правильного. Ожидаемые положение центра ГРЗ для правильно сопоставленных особых точек также могут не совпадать вследствие перспективных искажений, но их несоответствие друг другу будет намного меньше.
Для того, чтобы отделить верно продолженные траектории от неверных, алгоритм вычисляет медианное значение координат точек ожидаемого центра ГРЗ и отбрасывает траектории, которые дают ожидаемое положение, удаленное от медианного на расстояние более заданного порога. Таким образом, в приведенном примере будут отброшены траектории 3 и 5. Для остальных особых точек (в примере - 1, 2, 4) обновляются вектора, указывающие на центр ГРЗ значениями, указывающими на медианное значение.
Если на следующем кадре (фиг. 3) номер ГРЗ также не был распознан, операция повторяется. Вычисляется медианное значение координат ожидаемого положения ГРЗ, отбрасываются траектории, для которых вектор указывает на положение, далекое от идеального (точка 1 в примере) или для которых не найдено соответствие.
Процесс продолжается, пока или на очередном кадре ГРЗ вновь не будет успешно обнаружен (в этом случае траектория ГРЗ и, соответственно, автомобиля, продолжается далее по найденному положению), или количество траекторий особых точек, указывающих на положение ГРЗ близко к медианному, не окажется менее порогового (в последнем случае отслеживание траектории автомобиля прерывается).
Кроме того, при первом обнаружении ГРЗ с помощью данного алгоритма, примененного в обратном порядке (к предыдущим кадрам) можно восстановить траекторию автомобиля до того, как ГРЗ был обнаружен. Это позволяет детектировать такие нарушения, как выезд на встречную полосу и др. на дальности, на которой возможности видеокамеры не позволяют уверенно распознать ГРЗ.
Таким образом, использование изобретения позволяет:
1. Находить положения ГРЗ автомобиля на видеокадрах, на которых он не был распознан, с помощью нахождения особых точек в окрестности номера и их сопоставления с предыдущим кадром, на котором ГРЗ был распознан.
2. Находить положения ГРЗ путем вычисления медианных координат вершин векторов, построенных от особых точек, найденных на кадре, где ГРЗ не был распознан, и соответствующих особым точкам, находившимся в окрестности ГРЗ на кадре, где ГРЗ был распознан, и для которых значения указанных векторов были вычислены на кадре, где ГРЗ был распознан.
3. В случае, если ГРЗ не распознан несколько кадров подряд, из рассмотрения исключаются особые точки, для которых данный вектор указывает на положение, далекое от медианного, а для остальных особых точек значение вектора заменяется вектором, указывающим на медианное положение.
4. Применять аналогичный алгоритм к прошлым кадрам для восстановления предшествовавшей траектории движения ТС после того, как ГРЗ был распознан первый раз.