Re[21]: Мои собеседования '2021 (C++ developer)
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 15.04.21 03:55
Оценка: 74 (10)
Здравствуйте, Тёмчик, Вы писали:

Тё>Не совсем. Тебе разжевали задачу, ты копаешь.


Кто разжевал мне задачу?! Учитывая, что я лет 10 точно руковожу процессом: мне максимум разжёвывают, что надо заказчику. А то бывает и наоборот — я говорю, что он может получить.

Тё>Не суть. Ты ушёл от ответа, чем отличается спарк от указанной тобой либы на расте. Сменил тему.


Я не сменил тему! Я сказал, что не в курсе про спарк. Ау! Я не пью коньяк по утрам — тут нет темы для разговора.

Тё>PS Потоки для моделирования траффика- это одна из лабораторок у студентов первых курсов. Не рокет саенс ни разу, делается за 1 день.


Ну, это совсем смешно. Знаешь, как может ставится задача в простейшем случае? "Что-то у нас на этом перекрёстке пробки, люди жалуются. Насколько вы можете улучшить ситуацию?" Вот она в максимально разжёванном виде. Дальше я сам говорю куда надо вешать камеры с какими характеристиками (с помощью проектировщиков с их ПО), это решение проходит несколько итераций с местными службами, потому что конкретный столб или здание могут относиться к разным службам.
Выясняется про сеть, про место для edge device (оно может быть как на столбе, так и в ситуационном центре). Надо подключиться к контроллеру светофора(ов), чтобы получать с него сигналы. Когда всё запущено и видео идёт увидеть, что грёбаные провода от троллейбуса сильно мешают где-то. Что ночью одну из камер засвечивает и ставить ИК-прожектор.
Система разворачивается на edge, распознаёт транспорт (а также его тип) и пешеходов (одна нейронка), всё трекается (тут классика + вторая нейронка для re-id), вычисляется скорость и ускорение, вычисляются географические координаты для отображения на карте, вычисляется приблизительный объём выбросов CO2 и других штук. Попутно определяется день/ночь для смены нейронок, применяются разные классические алгоритмы для решения мелких проблем. Это всё по одной камере. Далее для нескольких камер используется мультикамерный трекинг. Всё это агггрегируется и подаётся в Кафку. Вот эту часть делаю я. Что стоит за Кафкой по большей части другие. Но этого для заказчика мало, потому что не понятно, что делать с этими данными.
Далее берётся ПО типа SUMO для моделирования траффика, куда загружается реальный траффик, пишется алгоритм оптимального управления перекрёстком уже в рамках этого ПО. Вот тут как раз надо знать про потоки и всякие случайные процессы. На реальных данных и модельных показывается разница, что может принести система на их перекрёстке. Скорее всего, никто управлять самим перекрёстком программе не даст (а может и дадут, тогда надо будет реализовать), но будут принимать от неё рекомендации, чтобы сотрудники подстраивали вручную светофор с какой-то периодичностью.
Вот. Всё это свеженькое, работает неплохо и содержит несколько в процессе патентования идей, которые позволяют быть лучше конкурентов. Мир за пределами edge device (это, например, nvidia jetson), меня не сильно интересует. Мир за пределами условного SUMO тоже. Там всякие БД, аналитика пробок, дашборды, карты и другая штука, которую пишут не на С++ люди, прекрасно разбирающиеся в своём предмете.
Я с удовольствием посмотрю, как это делают студенты за одну лабораторную.

Это ещё только работа с одним перекрёстком, а не с несколькими. И не с сотнями — на уровень городской транспортной системы мы не вышли. Вот это уже наааамного сложнее. Ещё, кстати, есть проблема с адаптацией нейронок под конкретный перекрёсток. Так совпало, что как раз на дня NVidia на своей конференции выкатила инструмент для федеративного обучения (NVidia TAO) — тема в самом тренде.
Но это всё не отменяет тот факт, что я тупой сиплюплюсник. Пользуюсь чужими библиотеками в основном, да. Их десятки как минимум у меня в проектах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.