Данный репозиторий посвящен распознаванию классов линий с помощью размеченных изображений из Carla
python3.9 -m venv env
source env/bin/activate
pip install -r requirements.txt
Запуск осуществляется с помощью команды
python main.py --conf config.yaml
В файле config.yaml можно заменить поля source_rgb
, source_mask
и destination_to_save
на свои собственные.
Папка data существуюет для примера. В папках data/rgb и data/mask лежат примеры входные данных для main.py
. В папке data/outputs/ результат работы main.py
, а именно
- mask --- в точности то, что лежало в data/mask
- rgb --- в точности то, что лежало в data/rgb
- result --- результат работы в виде картинки
- line_info --- размеченные типы линий дорожной разметки.
- main.py:
запускает процесс обработки в 3 этапа
- парсит config.yaml, вытаскивает пути и переменные
- процесс обработки изображений (весь функционал в CV_algs) на текущий момент результат не записывается если не нашлась полоса (чтобы поменять надо удалить один if) это было встроено для улечшения данных для обучения Также содержит функцию упрощенной классификации, которая снижает количество классов, на его основе можно делать свой
- строит csv файл для обучения
- documentation.ipynb: это копия main.py только с возможностью визуализации каждого процесса Каждый шаг имеет документацию, поэтому подробнее о алгоритме смотри в самом файле.
- configs.py файл configs содержит конфигурационные параметры для обработки изображения CLASSES, SIDES не менять, остальное можно менять. Совет: изменения проверять с помощью documentation.ipynd, включив флаги visualisation = True diagnostics = True везде где это возможно.
В CV_algs есть возможность создания кеша для сохранения и переиспользования предыдущих результатов, но она выключена внутри, так как не закончили настроку замыкания данных где то снаружи.
Не настроена классификация разницы между SOLID_DASH и DASH_SOLID, требуется дополнительная настройка
Допустим фит параметров из configs, точная настройка имеет место.
Не настроен перевод из пикселей в метры, пока это работает "на глаз"