SwisTrack
SwisTrack — инструмент с открытым исходным кодом для отслеживания роботов и других объектов с использованием камеры или записанного видеоматериала в качестве входного источника. Основная разработка велась лабораторией распределённых интеллектуальных систем и алгоритмов (DISAL) и группой LPM Vision при EPFL (Лозанна, Швейцария)[1].
Общие сведения
| SwisTrack | |
|---|---|
| Тип | видеотрекинг |
| Разработчики | Nikolaus Correll, Pierre Roduit, Thomas Lochmatter и др. |
| Написана на | C++ |
| Интерфейс | wxWidgets |
| Операционные системы | Linux, Windows, Mac OS |
| Последняя версия | 4.0.0 (февраль 2008) |
| Лицензия | Adaptive Public License (открытое ПО) |
| Сайт | swistrack.sourceforge.net |
Архитектура
SwisTrack написан на C++ с использованием библиотеки wxWidgets для создания графического интерфейса и работы в сети. Для быстрой обработки изображений применяется библиотека OpenCV от Intel, а также реализованы интерфейсы для камер USB, FireWire и GigE, а также для файлов AVI[2].
Начиная с версии 4, конвейер обработки SwisTrack настраивается пользователем из компонентов, которые взаимодействуют между собой и передают данные через специальные каналы. Существует шесть каналов: входной, изображение в градациях серого, цветное изображение, бинарное изображение, частицы и треки. Отдельные компоненты могут работать только с некоторыми каналами данных. Для каждого используемого канал компонента поддерживается один из трёх режимов: чтение, запись и редактирование (то есть чтение и запись одновременно)[1].
В типовом конвейере изображение преобразуется в бинарное, затем объекты выделяются как "капли" (blobs), которые преобразуются в частицы; частицы формируют треки путём сопоставления последовательных кадров. Blob — это множество связанных пикселей с одинаковым значением[1].
SwisTrack может выводить данные либо в табличный файл с разделителями-табуляциями, либо через TCP-интерфейс с использованием протокола NMEA 0183. Последний также позволяет осуществлять удалённое управление[1].
Примечания
- ↑ 1 2 3 4 Lochmatter, Thomas. SwisTrack - A Flexible Open Source Tracking Software for Multi-Agent Systems // 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems : [англ.] / Thomas Lochmatter, Pierre Roduit, Chris Cianci … [et al.]. — 2008. — P. 4004–4010. — ISBN 978-1-4244-2057-5. — doi:10.1109/IROS.2008.4650937.
- ↑ Correll, Nikolaus. SwisTrack: A Tracking Tool for Multi-Unit Robotic and Biological Systems // 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems : [англ.] / Nikolaus Correll, Gregory Sempo, Yuri Lopez De Meneses … [et al.]. — 2006. — P. 2185–2191. — ISBN 1-4244-0258-1. — doi:10.1109/IROS.2006.282558.