1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-mtmc-vt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CHINESE.md 9.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 05:54 380ef3a

AI City Challenge 2019 Track1 MTMC Task

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.

Пошаговое руководство по отслеживанию транспортных средств

Последовательное выполнение кода

  1. 1_crop_vehicle_img_from_vdo.py

На основе результатов обнаружения каждого видео обрезаются изображения транспортных средств и вычисляются их координаты GPS.

  • Входные данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test.

  • Выходные данные: для каждого видео создаётся файл det_gps_feature.txt, содержащий информацию о координатах GPS, а также все обрезанные изображения транспортных средств, которые сохраняются в папке ./aic19-track1-mtmc/adjust_c_cropped_imgs.

  1. 1a_extract_visual_feature_for_each_img.py

С помощью модели ReID для всех изображений в папке ./aic19-track1-mtmc/adjust_c_cropped_imgs извлекаются визуальные признаки.

Код для обучения и тестирования модели ReID взят из reid_baseline.

  1. 1b_merge_visual_feature_with_other_feature.py

Объединяются признаки GPS и ReID в один файл.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл det_gps_feature.txt, созданный на шаге 1, и файл deep_features.txt, полученный на шаге 1а.

  • Выходящие данные: для каждого видео создаётся файл det_reid_features.txt.

  1. 2_tracking.py

Выполняется отслеживание нескольких целей для каждого видео.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл с номерами записей already_used_number.txt, который гарантирует уникальность номеров, и файлы det_reid_features.txt, созданные на шаге 3 или скачанные.

  • Выходящие данные: для каждого видео создаётся файл det_reid_track.txt.

  1. 2a_post_process_for_tracking.py

Оптимизируются результаты отслеживания, в основном для решения проблемы потери цели.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файл train_fps.txt и файлы det_reid_track.txt, полученные на шаге 4.

  • Выходящие данные: для каждого видео создаётся файл optimized_track.txt.

  1. 2b_remove_overlap_boxes.py

Из двух перекрывающихся блоков сохраняется только первый, чтобы соответствовать стандартам маркировки данных.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track.txt, полученные на шаге 5.

  • Выходящие данные: для каждого видео создаётся файл optimized_track_no_overlapped.txt.

  1. 3a_track_based_reid.py

Результаты отслеживания всех видео объединяются, и рассчитывается расстояние между треками ReID.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track_no_overlapped.txt, полученные на шаге 6.

  • Выходящие данные: файл расстояний ReID ranked.

  1. 3b_trajectory_processing.py

Результаты отслеживания всех видео объединяются, извлекается взаимосвязь треков GPS, этот файл служит заполнителем в схеме процесса, фактическое выполнение должно быть в trajectory_processing/main.py.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и файлы optimized_track_no_overlapped.txt, полученные на шаге 6.

  • Выходящие данные: файл взаимосвязи треков gps_and_time_new.

  1. 4a_match_tracks_for_crossroad.py

Проводится сопоставление треков между камерами на перекрёстках.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файлы optimized_track_no_overlapped.txt, полученные на шаге 6, файл ranked, полученный на шаге 7, и файл gps_and_time_new, полученный на шаге 8.

  • Выходящие данные: результаты сопоставления submission_crossroad_train.

  1. 4b_match_tracks_for_arterialroad.py

Проводится сопоставление треков между камерами на главных дорогах.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test, файлы optimized_track_no_overlapped.txt, полученные на шаге 6, файл ranked, полученный на шаге 7, и файл gps_and_time_new, полученный на шаге 8.

  • Выходящие данные: результаты сопоставления submission_normal_train.

  1. 5a_merge_results.py

Объединение результатов сопоставления из шагов 9 и 10 в единый файл.

  • Входящие данные: файлы submission_crossroad_train, полученные на шаге 9, и submission_normal_train, полученные на шаге 10.

  • Выходящие данные: объединённый файл submission.

  1. 5b_adapt_boxes.py

Последующая обработка каждого ограничивающего прямоугольника (каждый прямоугольник расширяется на 25 пикселей), чтобы он соответствовал стандартам маркировки.

  • Входящие данные: папка с данными ./aic19-track1-mtmc/train или ./aic19-track1-mtmc/test и объединённый файл submission, полученный на шаге 11.

  • Выходящие данные: адаптированный файл submission_adpt.

  1. 5c_convert_to_submission.py

Настройка формата файла, чтобы его можно было правильно распознать тестовым кодом.

  • Входящие данные: адаптированный файл submission_adpt, полученный на шаге 12.

  • Выходящие данные: файл track1.txt. Но когда вы впервые используете этот проект, я рекомендую запустить весь процесс, начиная с 2. Ниже мы предоставили результаты выполнения 1b.

Вам необходимо поместить промежуточные результаты каждого видео в соответствующее место (согласно структуре уровней хранения данных, упомянутой выше) и переименовать их в det_reid_features.txt.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/didiopensource-mtmc-vt.git
git@api.gitlife.ru:oschina-mirror/didiopensource-mtmc-vt.git
oschina-mirror
didiopensource-mtmc-vt
didiopensource-mtmc-vt
master