icevision's People
icevision's Issues
Подготовка submission фаила
По разметке в cvat формате сформировать фаил для посылки в тестирующую систему
Знаки с текстом
Подумать, как и чем разпознавать, к примеру, название города на соответствующем знаке. Кроме того, как обходится со знаком ограничения скорости. Вводить отдельный класс для каждого такого знака как-то не очень.
Можем использовать tesseract, либо что-то еще.
Аугментации
Подумать и подобрать параметры цветовых аугментаций изображений. Аугментации не должны быть слишком жесткими.
Предлагается использовать следующие библиотеки.
https://github.com/albu/albumentations
https://github.com/UjjwalSaxena/Automold--Road-Augmentation-Library
Также подумать о возможности отражения картинки относительно вертикали. Есть три типа знаков:
- симметричные - никаких проблем при флипах нет
- нессиметричные
а. при флипе класс знака меняется
б. при флипе получается несуществующий знак
Разреженное предсказание
Нужно реализовать возможность делать предсказания сетью не только для каждого кадра, а с шагом в k кадров. При этом результаты для недостающих кадров получать интерполяцией.
Кроме того, для тестирования необходимо иметь возможность имея предсказания для каждого кадра сымитировать разреженные предсказания.
DataLoader для cvat формата
Написать загрузчик для cvat формата
Обучение на RTSD
Обучить сеть на всех данных, на все классы в RTSD + 8.22 #9
Конвертация predictions.pth в cvat
Фаил predictions.pth содержит результат инференса сети. Написать скрипт для его конвертации в .xml для просмотра в cvat
Разметить классы 8.22.* в RTSD
Получить фаил формата cvat для RTDS датасета, содержащий знаки 8.22.*
Конвертация формата RTSD в cvat
Написать скрипт, который из фаила формата gt-full.csv сформирует .xml фаил, совместимый с cvat.
Обучение на кропах
Данные в icevision идут в 2k, в то время как в сеть стоит отправлять картинки 1k.
Вместо того, чтобы все изображения приводить к размеру 1k, предлагается вырезать из исходного изображения прямоугольник (случайный, или выбирать из предопределенных) нужного размера (обязательно содержащий хотя бы один знак) и обучаться на смеси кропа и исходных изображений.
bug in the function find_tubelets in icevision/seq_bbox_matching.py
The function find_tubelets in icevision/seq_bbox_matching.py, won't add the tubelet which end up with the last frame. So I suggest to add the following code before return tubelets
for tubelet in current_tubelets:
tubelets.append(tubelet)
Конвертация icevision в cvat
Написать скрипт, котрый из разметки в наборе .csv фаилов формата соревнования icevision сформирует .xml фаил, совместимый с cvat
Фильтрация predictions.pth от лишних боксов
Нужно выкинуть сильно перекрывающиеся боксы, выделяя в каждой компоненте наиболее вероятный. Выход скрипта - фаил в таком же формате.
TTA
Подумать над аугментациями времени выполнения. Как для всей сети, так и только для proposals. Поддержка последнего, похоже, уже реализована в коде facebook-research/maskrcnn-benchmark.
Генерация масок по боксу и классу знака
Написать скрипт, котороый разметку в cvat формате, содержащую только боксы, расширит полигональными масками.
Аналитика
Для всех данных из icevision, для которых есть разметка нужно определить следующее:
- Распределение классов
- Распределения размеров боксов. По каждой из сторон и по площади.
- Распределение отношения сторон боксов.
- Карту вероятности обнаружения бокса на изображении. Чем выше вероятность, тем выше интенсивность пикселя на карте.
Отчет в виде востроизводимого сверху вниз jupyter notebook с готовыми картинками в репозиторий.
Для визуализаций использовать matplotlib и seaborn. В последней есть методы countplot(для пункта 1) и distplot(для 2 и 3).
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.