Method for motion detecting in the frame and large-sized object identification
- Authors: Lopatina V.V.1
-
Affiliations:
- Federal Research Center “Computer Science and Control,” Russian Academy of Sciences
- Issue: No 4 (2024)
- Pages: 139-147
- Section: ARTIFICIAL INTELLIGENCE
- URL: https://bakhtiniada.ru/0002-3388/article/view/274264
- DOI: https://doi.org/10.31857/S0002338824040097
- EDN: https://elibrary.ru/UDYVBJ
- ID: 274264
Cite item
Full Text
Abstract
A method for motion detecting in a frame and large-sized object identification is described in the article. The use-case of the method is illustrated by the example from the maritime transport industry. The example shows the solution of the task of monitoring the position of an autonomous marine large-tonnage ship relative to the berth when performing loading and unloading operations and mooring operations. The paper incudes description of the structure of a measuring complex which includes optical meters. An operating principle of the complex is based on the method of motion detecting in a frame and large-sized object identification. A diagram of the algorithm for motion detecting in the frame and large-sized object identification is presented in the paper. The performance of the software implementation of the algorithm for motion detecting in the frame and large-sized object identification has been assessed in the article.
Full Text
Введение. Высокоточные системы проводки и позиционирования используются для стабилизации положения подвижных объектов в различных транспортных системах, для обеспечения контроля положения и, как следствие, повышения безопасности. Такие высокоточные системы применяются, например, для контроля положения автономного морского судна относительно причала при выполнении погрузо-разгрузочных работ и швартовных операций; для контроля стоянки грузового автомобиля относительно складского грузового терминала; позиционирования вагонов на путях необщего пользования в процессах налива цистерн или загрузки сыпучим грузом.
Повышение безопасности эксплуатации транспортной системы позволяет увеличить интенсивность транспортного потока и пропускную способность транспортной сети, что повышает экономическую эффективность всей отрасли.
Высокоточные системы позиционирования пространственно-распределенных объектов применимы не только на транспорте, но и в промышленности. Например, при сцепке деталей, когда точность совмещения деталей влияет на прочность, герметичность и надежность функционирования промышленного изделия. Одна деталь – база, другая – распределенный пространственный объект, который нужно расположить относительно базы, обеспечив минимальное усилие или минимальную нагрузку на элементы конструкции в процессе совмещения деталей.
Представленный в статье метод определения движения в кадре и идентификации крупногабаритного площадного объекта иллюстрируется на примере из морской транспортной отрасли, в задаче контроля положения автономного морского крупнотоннажного судна относительно причала при выполнении погрузо-разгрузочных работ и швартовных операций. Задача сводится к отслеживанию морского судна в процессах подхода и швартовки к причалу, а также к определению его пространственно-скоростных параметров.
1. Постановка задачи. Целевой средой исполнения программной реализации рассмотренного метода является программно-аппаратный комплекс высокоточного определения положения объектов относительно стационарной базы. Комплекс включает оптические измерители, каждый из которых состоит из камеры компьютерного зрения и лазерного дальномера. Если в комплексе задействуется два и более измерителя, компьютер включается в состав только управляющего измерителя, оборудование управляемого измерителя подключается к компьютеру управляющего. Измерители устанавливаются на неподвижное основание, в прямой видимости измерителей находится объект измерений.
В задаче контроля положения автономного морского судна относительно причала, измерители устанавливаются на причале на неподвижном основании в непосредственной близости от края причала (рис. 1), но, как правило, не более 30 см от края, чтобы не допустить перекрытия луча лазера и объектива камеры работниками порта, транспортными средствами и причальными сооружениями. В прямой видимости находится измеряемый объект – морское крупнотоннажное судно.
Рис. 1. Схема установки комплекса из двух оптических измерителей на причале
Для выполнения независимых измерений для носа и кормы судна устанавливается комплекс из двух измерителей. Границы области отслеживания судна относительно причала составляют от 2 до 500 м в продольном, поперечном и вертикальном направлениях, что обусловлено требованиями к дистанции последнего маневра морского судна.
Согласно постановлениям по морским портам России на 2024 г. скорость движения судна во время швартовных операций не превышает 3 узлов (5.556 км/ч). Назначение измерителей – это высокоточные измерения продольного (горизонтального), поперечного и вертикального смещения объектов, измерения скоростей движения, определение типа движения (например, смещение, поворот), прогнозирование будущих пространственно-скоростных параметров измеряемого объекта.
Измерение поперечного смещения выполняет лазерный дальномер, установленный в оптический измеритель. Метод измерения основан на сравнении фаз сигнала лазера и сигнала, отраженного от объекта. Задержка при распространении волны создает сдвиг фаз, который измеряется. Лазер работает постоянно, его излучение амплитудно модулируется сигналом определенной частоты [1–3]. Фаза отраженного сигнала сравнивается с фазой опорного сигнала [4, 5].
Измерения вертикального и горизонтального смещения выполняются методами компьютерного зрения. Метод измерения включает анализ кадров видеоряда с камеры оптического измерителя для определения подвижных областей изображения, оценки их характеристик, определения характера движения и выбора объектов (участков изображения), которые потенциально могут принадлежать корпусу морского судна или его палубным конструкциям. Выбранные объекты отслеживаются в реальном времени [6], рассчитывается скорость и разность их смещения, определяются траектории движения.
По смещению объектов на изображении (отслеживаемых участков изображения) рассчитываются пространственно-скоростные параметры отслеживаемого крупногабаритного площадного объекта – морского крупнотоннажного судна. Изображение судна на разных дистанциях от камеры занимает разную часть кадра. Если на 500 м судно полностью помещается в кадр, то по мере приближения судна к причалу фрагмент судна занимает большую часть кадра или весь кадр (рис. 2).
Рис. 2. Морские крупнотоннажные суда на различных расстояниях от причала
В зависимости от типа причала (например, пирс или набережная стенка), его расположения, особенностей выполнения швартовных операций в кадр могут попадать буксиры, другие суда, причальные сооружения. Отслеживание смещения судна относительно причала начинается на этапе подхода судна к причалу, продолжается во время швартовки судна, стоянки, выполнения погрузо-разгрузочных работ и отшвартовки. Границы области отслеживания судна относительно причала составляют от 2 до 500 м в продольном, поперечном и вертикальном направлениях. Скорость движения судна во время швартовных операций не превышает 3 узлов (5.556 км/ч), но комплекс начинает работать еще на этапе подхода судна к причалу, когда судно находится на расстоянии 300–500 м, на этом этапе скорость судна может достигать 5 узлов.
2. Предлагаемый подход.
2.1. Основная идея. Метод определения движения в кадре и идентификации крупногабаритного площадного объекта предполагает два этапа обработки и анализа изображений. На первом этапе определяется движение в кадре путем оценки разницы между соседними кадрами. Вторым этапом является выделение связных компонент (контуров), их анализ и составление карты движущихся участков изображения.
2.2. Оценка разницы между соседними кадрами. Под объектами понимаются части кадра, содержащие изображения таких объектов, как суда, причальные сооружения, небо, вода и быстро движущиеся объекты, случайно попавшие в кадр (птицы, насекомые и т.д). Далее по тексту алгоритм означает систему последовательных операций реализующих метод определения движения в кадре и идентификации крупногабаритного площадного объекта. Движение в кадре определяется с целью сегментации объектов кадра, выбора объекта отслеживания, сопровождения этого объекта и последующей работы с ним.
На протяжении всего рабочего цикла оптического измерителя поиск движения в кадре выполняется постоянно, но с разной частотой. На первой последовательности кадров обнаружение движения в кадре необходимо для того, чтобы собрать информацию о присутствующих в кадре движущихся объектах и выбрать объект отслеживания, подходящий по критериям соответствия морскому крупнотоннажному судну. По мере работы оптического измерителя выбранный для отслеживания объект уточняется, поскольку некоторые части объекта выходят за границы кадра, скорость объекта меняется, возможно частичное перекрытие объекта, изменение его формы, так как по мере приближения судна к причалу судно может выполнить разворот. При этом на заднем плане может появится схожий объект с похожими скоростными параметрами отслеживаемого.
На первом этапе делается оценка разницы между двумя соседними кадрами. Из текущего кадра попиксельно вычитается предыдущий кадр. Перед этим значения яркости пикселей обоих кадров нормализуются в диапазон [0;1] (рис. 3) и сглаживаются прямоугольным фильтром низких частот со скользящим окном размером 5×5. Это позволяет сгладить на изображении мелкие незначащие на этом этапе детали (рис. 4):
.
Рис. 3. Визуализация яркости пикселей изображения, нормализованных в диапазоне [0;1]; X, Y – продольная и вертикальная координаты пикселей
Рис. 4. Визуализация в разных проекциях яркости пикселей изображения после применения прямоугольного фильтра низких частот; X, Y – продольная и вертикальная координаты пикселей
Матрица коэффициентов k – это маска фильтра, применяемая для вычисления пространственной корреляции с целью получения необходимого уровня сглаживания. Вычисляется сумма произведений значений элементов маски и значений пикселей, на которые попадают соответствующие элементы маски, для всех точек изображения.
Для оптимизации времени исполнения программной реализации алгоритма метод, реализующий отдельную операцию, может быть заменен на аналогичный. Например, для низкочастотной фильтрации в зависимости от требований к производительности программной реализации алгоритма можно выбрать либо метод, представленный в статье, либо его более оптимизированный аналог.
К изображению применяется пороговое преобразование: яркость всех пикселей, имеющих значение больше m, приравнивается к m, значения яркости остальных пикселей не меняются (рис. 5).
Рис. 5. Визуализация в разных проекциях яркости пикселей изображения после применения порогового преобразования; X, Y – продольная и вертикальная координаты пикселей
Значение параметра m подбирается в зависимости от условий работы. По результатам анализа тестовой выборки видеофайлов с различными вариантами подходов и швартовок судов к целевому причалу было установлено, что оптимальное значение m = 1, которое является средним значением яркости предобработанного изображения (глобальный порог). Под целевым причалом понимается причал, на который устанавливаются оптические измерители.
Использование готовых программных реализаций алгоритмов порогового преобразования осложняется подбором параметров, а также непредсказуемостью результатов. Из текущего кадра попиксельно вычитается предыдущий кадр (рис. 6, 7). Пикселы отличные от нуля – это подвижные участки изображения. Далее они приравниваются к единице. Таким образом, результатом первого этапа обработки становится бинаризованное изображение.
Рис. 6. Визуализация разности двух соседних кадров; X, Y – продольная и вертикальная координаты пикселей
Рис. 7. Визуализация разности соседних кадров на примере судов разного размера, с разной скоростью движения и на различных расстояниях от причала
Группы пикселей, выделенные на первом этапе, двигаются с разной скоростью: часть пикселей не сдвигается дальше своего участка изображения (как правило, эти области принадлежат таким объектам, как бакены, буи, волны) и характер их движения определяется как движение в окрестности заданного центра; некоторые пиксели пропадают от кадра к кадру и появляются снова со смещением; и пиксели, которые смещаются постоянно и имеют четко отслеживаемую траекторию движения. Последняя группа пикселей в соответствии с характером движения может принадлежать судну или его палубным конструкциям.
2.3. Анализ подвижных участков изображения. Вторым этапом является выделение связных компонент (контуров), их анализ и составление карты движущихся участков изображения. Для определения контуров используется алгоритм топологического структурного анализа [7]. Программная реализация алгоритма взята из библиотеки OpenCV 4.7.0. Под контуром подразумевается кривая, соединяющая все непрерывные точки вдоль границы белого объекта на черном фоне. Извлекаются только внешние контуры и сохраняются конечные точки линий, образующих контур (рис. 8). Внутренние контуры не задействуются.
Рис. 8. Визуализация контурного анализа
Найденные контуры сортируются от большего к меньшему, и первые 10 из них сохраняются для дальнейшего анализа. Для каждого контура из 10 сохраненных рассчитывается средневзвешенное значение яркости пикселей внутри этого контура, а также центр масс [8], ширина и высота контура (на основе минимальной прямоугольной области, охватывающей контур). На каждом последующем кадре список из 10 контуров анализируется: рассчитывается допустимая величина сдвига по X, Y центра масс контура, величина сдвига составляет 40% от ширины и высоты минимальной прямоугольной области, охватывающей контур: если контур попал в область, вычисленную, на предыдущем шаге, сравниваются размеры контуров, допустимая разница в размерах контуров составляет 30%; иначе контур идентифицируется как новый.
Процентные соотношения и другие величины, подобраны для использования в задаче позиционирования морского крупнотоннажного судна относительно причала. В задачах позиционирования других крупногабаритных площадных объектов (например, железнодорожных вагонов, грузовых автомобилей) следует выполнить подбор значений указанных величин в соответствии со спецификой задачи (размерами объекта, условиями работы измерителей).
С момента определения контуров в кадре составляется карта движущихся участков изображения и обновляется с каждой новой итерацией программной реализации алгоритма (далее алгоритма). В каждой итерации учитывается количество кадров, прошедшее с момента запуска алгоритма, когда контур идентифицировался в кадре, что позволяет исключить случайно попавшие в кадр движущиеся объекты (птицы, люди). Общая схема алгоритма представлена на рис. 9.
Рис. 9. Схема алгоритма определения движения в кадре и идентификации крупногабаритного площадного объекта. ФНЧ – фильтр низких частот
Работа алгоритма проверялась на выборке данных, включающей варианты подхода и швартовок морских крупнотоннажных судов к целевому причалу, на который устанавливаются оптические измерители. Среднее время подхода и швартовки судна (один рабочий цикл оптического измерителя) составляет 25 мин, визуализация работы алгоритма представлена на рис. 10.
Рис. 10. Примеры движущихся областей изображения (слева) и движущихся областей, потенциально принадлежащих судну и его палубным конструкциям (справа)
Время работы программной реализации алгоритма определения движения в кадре и идентификации крупногабаритного площадного объекта на языке Python версии 3.10.10 составляет в среднем 10.1 мс на 1000 кадров (640×360) при измерении времени функцией Win32 QueryPerformanceCounter, которая возвращает часы, прошедшие с момента первого вызова этой функции, в виде числа с плавающей запятой.
Заключение. Результаты измерений высокоточного измерительного комплекса в соответствии с требованиями стандартов метрологии [9] должны быть детерминированными, т.е. каждый шаг алгоритма должен быть последователен и заранее определен, а используемые методы – верифицируемыми.
Использование в алгоритмическом аппарате высокоточного измерительного комплекса готовых программных реализаций некоторых алгоритмов [10–14] (например, алгоритмы оптического потока, кластеризации, порогового преобразования, поиска границ) или алгоритмов, в основе которых лежит случайный выбор объектов отслеживания, осложняется подбором параметров, непредсказуемостью результатов работы и ложными срабатываниями. Это было подтверждено в ходе испытаний на тестовой выборке видеофайлов, содержащих более чем 50 вариантов подходов и швартовок судов к причалу.
Представленный метод определения движения в кадре и идентификации крупногабаритного площадного объекта позволяет найти координаты подвижных регионов изображения, их размеры, характеристики, необходимые для последующей обработки и вычислений. Полученные подвижные регионы могут быть использованы для выбора объектов отслеживания (подвижных участков изображения) и расчета по смещению этих объектов пространственно-скоростных параметров крупногабаритного площадного объекта – морского крупнотоннажного судна.
Способ решения задачи определения движения в кадре и идентификации крупногабаритного площадного объекта является новым. Реализация отдельных элементов метода выполняется с применением известных подходов, например, поиск связных компонент с помощью топологического структурного анализа. Новой также будет как последовательность действий, обеспечивающая результат, так и отдельные компоненты метода.
Метод определения движения в кадре и идентификации крупногабаритного площадного объекта позволяет определить области изображения с постоянным движением и исключить случайно попавшие в кадр подвижные объекты. Он имеет высокий потенциал применения для построения систем компьютерного зрения, обеспечивающих обратную связь для высокоточного позиционирования крупногабаритных объектов в пространстве, что является востребованным для повышения эффективности многих отраслей экономики.
About the authors
V. V. Lopatina
Federal Research Center “Computer Science and Control,” Russian Academy of Sciences
Author for correspondence.
Email: int00h@mail.ru
Russian Federation, Moscow
References
- Poujouly S., Journet B. A Twofold Modulation Frequency Laser Range Finder // J. Optics A: Pure and Applied Optics. 2002. № 4. P. 356–363.
- Zheng X.Y., Zhao C., Zhang H.Y., Zheng Z., Yang H.Z. Coherent Dual-frequency Lidar System Design for Distance and Speed Measurements // Intern. Conf. on Optical Instruments and Technology: Advanced Laser Technology and Applications. International Society for Optics and Photonics. Beijing, China, 2018. V. 10619.
- Jia F.X., Yu J.Y., Ding Z.L., Yuan F. Research on Real-time Laser Range Finding System // Applied Mechanics and Materials. 2013. V. 347.
- Beraldin J.A., Steenaart W. Overflow Analysis of a Fixed-Point Implementation of the Goertzel Algorithm // IEEE Transactions on Circuits and Systems. 1989. V. 36. № 2. P. 322–324.
- Finlayson D.M., Sinclair B. Advances in Lasers and Applications // Boca Raton, Florida, USA. CRC Press, 1998. P. 346.
- Lopatina V.V. Method of Fragment Based Tracking of Displacement of a Large Areal Object in Images // J. Phys.: Conf. Ser. 2021. V. 2061. P. 012113. https://doi.org/10.1088/1742-6596/2061/1/012113.
- Suzuki S., Keiichi A. Topological Structural Analysis of Digitized Binary Images by Border Following // Comput. Vis. Graph. Image Process. 1985. V. 30. P. 32–46.
- OpenCV 4.7.0. Open Source Computer Vision Library, 2022.
- ГОСТ Р 8.1030-2024.
- Lucas B.D., Kanade T. An Iterative Image Registration Technique with an Application to Stereo Vision // Intern. Joint Conf. on Artificial Intelligence. Vancouver, B.C., Canada, 1981.
- Farnebäck G. Two-Frame Motion Estimation Based on Polynomial Expansion // Image Analysis (SCIA). Lecture Notes in Computer Science, Eds J. Bigun, T. Gustavsson. Berlin, Heidelberg: Springer, 2003. V. 2749.
- Jain A., Murty M., Flynn P. Data Clustering: A Review // ACM Computing Surveys. 1999. V. 31. P. 264–323.
- Otsu N. A Threshold Selection Method from Gray-level Histograms // IEEE Trans. Sys., Man., Cyber. J. 1979. V. 9. P. 62–66.
- Гонсалес Р., Вудс Р. Цифровая обработка изображений. Изд. 3-е, исправ. и доп. М.: Техносфера, 2019. 1104 с. ISBN 978-5-94836-331-8.
Supplementary files
