AI City Challenge 2019 — это соревнование, посвящённое разработке алгоритмов для отслеживания транспортных средств с использованием данных с нескольких камер. Команда-участник соревнования достигла второго места.
Все авторы работают в компании DiDi Chuxing — подразделении «DiDi rides» (滴滴出行).
Для корректной работы кода необходимо сохранить данные в соответствии со следующей структурой каталогов:
├─ aic19-track1-mtmc
│ ├─ train
│ │ ├─ S01
│ │ │ ├─ c001
│ │ │ │ ├─ det
│ │ │ │ ├─ gt
│ │ │ │ ├─ mtsc
│ │ │ │ ├─ segm
│ │ │ │ ├─ calibration.txt
│ │ │ │ ├─ roi.jpg
│ │ │ │ ├─ det_reid_features.txt
│ │ │ │ ├─ vdo.avi
│ │ │ ├─ c002
│ │ │ ├─ c003
│ │ │ ├─ c004
│ │ │ ├─ c005
│ │ ├─ S03
│ │ ├─ S04
│ ├─ test
│ │ ├─ S02
│ │ ├─ S05
│ └─ cam_timestamp
Обратите внимание, что файл det_reid_features.txt не является официальным и был создан в результате выполнения кода main_pipeline/1b_merge_visual_feature_with_other_feature.py.
На основе результатов обнаружения каждого видео обрезаются изображения транспортных средств и вычисляются их координаты GPS.
Входные данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test.
Выходные данные: для каждого видео создаётся файл det_gps_feature.txt, содержащий информацию о координатах GPS, а также все обрезанные изображения транспортных средств, которые сохраняются в папке ./aic19-track1-mtmc/adjust_c_cropped_imgs.
С помощью модели ReID для всех изображений в папке ./aic19-track1-mtmc/adjust_c_cropped_imgs извлекаются визуальные признаки.
Код для обучения и тестирования модели ReID взят из reid_baseline.
Объединяются признаки GPS и ReID в один файл.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл det_gps_feature.txt, созданный на шаге 1, и файл deep_features.txt, полученный на шаге 1а.
Выходящие данные: для каждого видео создаётся файл det_reid_features.txt.
Выполняется отслеживание нескольких целей для каждого видео.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл с номерами записей already_used_number.txt, который гарантирует уникальность номеров, и файлы det_reid_features.txt, созданные на шаге 3 или скачанные.
Выходящие данные: для каждого видео создаётся файл det_reid_track.txt.
Оптимизируются результаты отслеживания, в основном для решения проблемы потери цели.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл train_fps.txt и файлы det_reid_track.txt, полученные на шаге 4.
Выходящие данные: для каждого видео создаётся файл optimized_track.txt.
Из двух перекрывающихся блоков сохраняется только первый, чтобы соответствовать стандартам маркировки данных.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track.txt, полученные на шаге 5.
Выходящие данные: для каждого видео создаётся файл optimized_track_no_overlapped.txt.
Результаты отслеживания всех видео объединяются, и рассчитывается расстояние между треками ReID.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track_no_overlapped.txt, полученные на шаге 6.
Выходящие данные: файл расстояний ReID ranked.
Результаты отслеживания всех видео объединяются, извлекается взаимосвязь треков GPS, этот файл служит заполнителем в схеме процесса, фактическое выполнение должно быть в trajectory_processing/main.py.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track_no_overlapped.txt, полученные на шаге 6.
Выходящие данные: файл взаимосвязи треков gps_and_time_new.
Проводится сопоставление треков между камерами на перекрёстках.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файлы optimized_track_no_overlapped.txt, полученные на шаге 6, файл ranked, полученный на шаге 7, и файл gps_and_time_new, полученный на шаге 8.
Выходящие данные: результаты сопоставления submission_crossroad_train.
Проводится сопоставление треков между камерами на главных дорогах.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файлы optimized_track_no_overlapped.txt, полученные на шаге 6, файл ranked, полученный на шаге 7, и файл gps_and_time_new, полученный на шаге 8.
Выходящие данные: результаты сопоставления submission_normal_train.
Объединение результатов сопоставления из шагов 9 и 10 в единый файл.
Входящие данные: файлы submission_crossroad_train, полученные на шаге 9, и submission_normal_train, полученные на шаге 10.
Выходящие данные: объединённый файл submission.
Последующая обработка каждого ограничивающего прямоугольника (каждый прямоугольник расширяется на 25 пикселей), чтобы он соответствовал стандартам маркировки.
Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и объединённый файл submission, полученный на шаге 11.
Выходящие данные: адаптированный файл submission_adpt.
Настройка формата файла, чтобы его можно было правильно распознать тестовым кодом.
Входящие данные: адаптированный файл submission_adpt, полученный на шаге 12.
Выходящие данные: файл track1.txt. Но когда вы впервые используете этот проект, я рекомендую запустить весь процесс, начиная с 2. Ниже мы предоставили результаты выполнения 1b.
Вам необходимо поместить промежуточные результаты каждого видео в соответствующее место (согласно структуре уровней хранения данных, упомянутой выше) и переименовать их в det_reid_features.txt
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )