Есть несколько сторонний приложений плееров типа PlayerXtreme(iOS/Android) и Liquid Player(iOS only). Достаточно удобно скачивать видео для просмотра потом. Я как раз разрабатываю последний. Заменяет ютуб премиум.
А у вас подход с отрисовкой линии работал во всех случаях корректно? Я в первой версии реализовывал подобный подход, но местами он себя показывал очень плохо. Возможно баг был. Решил проблему через написание собственного флаттенинга.
Если оставаться в кривых безъе от системы, то есть вот такая работа https://microbians.com/mathcode . Это лучшее что было найдено для рисования кривых безье с разным отступом.
А работа у вас масштабная проделана. Спасибо за статью!
Мы делаем подобный пайплайн, с несколькими этапами обработки. Основной затык оказался в скорости декодинга видео на GPU. Возможно после перехода из RGBA формата в YUV "упремся" в другой bottleneck. Пока NMS на CPU и перекидывание большого количества данных не не являются проблемой.
Вопрос хороший, скорость работы много из чего составляется.
При "стандартных" настройках она держится порядка 15 FPS и в основной своей части зависит только от желаемого количества точек, но выбор этого количества точек и остальной image processing завиист от площади изображения. Обычно мы используем HD разрешение для полученя проездов с не особо большим количеством точек т.к. нам важна траектория, а точки на знаках хоть какие-то будут (да, облако не такое плотное, как в статье, но оно и не нужно)
Работет в один поток, FPS представлен для Intel Core i7-8550U @ 8x 4GHz. На iPhone 8 отрабатывает 10 FPS. Потенциал намного выше, мы как раз сейчас занимаемся оптимизацией и переносом части обработки на GPU.
Скорость релокализации сложно назвать. Она зависит от того, насколько проезды пересекаются (т.е. сколько там реально точек пересечения траектории). Она практически не зависит от количества точек в облаке, т.к. большую часть занимают нейросети для обрабтки изображений. Релокализация, кстати, тоже по своей сути является неким direct подходом в нашем случае.
Видов айфонов меньше, мы можем откалибровать камеру для каждого существующего устройства.
Также из плюсов намного проще выжать всю мощь устройства. Тут и нейросети, и частичная обработка на GPU. Возможно сейчас андройд ни в чем не уступает, мы уже больше исторически ведем разработку на iOS.
Ну и в прошлом я iOS разработчик) Это тоже повлияло отчасти на выбор платформы для разработки
"Рыхлое" облако получается из-за искажений камер. Rolling Shutter очень сильно влияет на качество. Сейчас мы править это умеем, но все демки были сделаны без учета Rolling Shutter.
А насчет фич и да и нет. Во всех демках используется Direct подход. Облака строятся из точек, которые мы отследили между кадрами. Ничего дополнительного не используем.
Как вам идея выложить эту статью на все ресурсы? Но чтобы она ссылалась на саму же себя. При обновлении статистики, чтобы статья обновлялась автоматически на всех ресурсах.
Можно либо изображения в запросах обновлять. Либо еще можно прям скрипт сделать, который будет менять определенные участки статьи в определенный интервал.
Если ты разработчик не очень популярного мобильного приложения (окупается сертификат iOS-ника в год), то вроде все понятно. А вот если приложение вдруг «стрельнет», стоит ли ИП делать? С какой суммы стоит хобби превращать в «бизнес»?
На глаза влияет генетика, но мы и сами можем что-то исправлять. Например, я перестал использовать технику слепой печати. Иначе глаза начинают болеть уже через 10 минут такой деятельности. В игры тоже не играю, болят глаза. Читать… ну без этого сложно, так что переодически отвлекаюсь от монитора во время чтения.
Есть несколько сторонний приложений плееров типа PlayerXtreme(iOS/Android) и Liquid Player(iOS only). Достаточно удобно скачивать видео для просмотра потом. Я как раз разрабатываю последний. Заменяет ютуб премиум.
А у вас подход с отрисовкой линии работал во всех случаях корректно? Я в первой версии реализовывал подобный подход, но местами он себя показывал очень плохо. Возможно баг был. Решил проблему через написание собственного флаттенинга.
Если оставаться в кривых безъе от системы, то есть вот такая работа https://microbians.com/mathcode . Это лучшее что было найдено для рисования кривых безье с разным отступом.
А работа у вас масштабная проделана. Спасибо за статью!
А реализация NMS на GPU себя оправдала?
Мы делаем подобный пайплайн, с несколькими этапами обработки. Основной затык оказался в скорости декодинга видео на GPU. Возможно после перехода из RGBA формата в YUV "упремся" в другой bottleneck. Пока NMS на CPU и перекидывание большого количества данных не не являются проблемой.
А вы смотрели в сторону DeepStream? Он умеет делать все что вы описали. Кажется, что с DeepStream можно сэкономить и на разработке и на поддержке
А мы по старинке на ObjC осуществляем транзакции
Еще не разбивали на несколько потоков. На этапе разработки, делаем все в 1 поток.
Размер сетей небольшой. Опираемся чтобы это запускалось на мобильном устройстве. Точный размер не могу сказать.
1500 точек на кадр. 15 fps отрабатывает только SLAM.
На айфоне есть Metal для процесинга данных и изображений. Мы уже использовали его для ускорения DSO. На сколько ускорилось мы только не замерили.
Точки есть только на кейфреймах, релокализация работает на них. Верно.
Sensor Fusion работает только с GPS. IMU почти не используется. Оптимизатор не g2o, используем собственные наработки.
Вопрос хороший, скорость работы много из чего составляется.
При "стандартных" настройках она держится порядка 15 FPS и в основной своей части зависит только от желаемого количества точек, но выбор этого количества точек и остальной image processing завиист от площади изображения. Обычно мы используем HD разрешение для полученя проездов с не особо большим количеством точек т.к. нам важна траектория, а точки на знаках хоть какие-то будут (да, облако не такое плотное, как в статье, но оно и не нужно)
Работет в один поток, FPS представлен для Intel Core i7-8550U @ 8x 4GHz. На iPhone 8 отрабатывает 10 FPS. Потенциал намного выше, мы как раз сейчас занимаемся оптимизацией и переносом части обработки на GPU.
Скорость релокализации сложно назвать. Она зависит от того, насколько проезды пересекаются (т.е. сколько там реально точек пересечения траектории). Она практически не зависит от количества точек в облаке, т.к. большую часть занимают нейросети для обрабтки изображений. Релокализация, кстати, тоже по своей сути является неким direct подходом в нашем случае.
Видов айфонов меньше, мы можем откалибровать камеру для каждого существующего устройства.
Также из плюсов намного проще выжать всю мощь устройства. Тут и нейросети, и частичная обработка на GPU. Возможно сейчас андройд ни в чем не уступает, мы уже больше исторически ведем разработку на iOS.
Ну и в прошлом я iOS разработчик) Это тоже повлияло отчасти на выбор платформы для разработки
"Рыхлое" облако получается из-за искажений камер. Rolling Shutter очень сильно влияет на качество. Сейчас мы править это умеем, но все демки были сделаны без учета Rolling Shutter.
А насчет фич и да и нет. Во всех демках используется Direct подход. Облака строятся из точек, которые мы отследили между кадрами. Ничего дополнительного не используем.
deleted
Можно либо изображения в запросах обновлять. Либо еще можно прям скрипт сделать, который будет менять определенные участки статьи в определенный интервал.
youtu.be/Z_zmZ23grXE
Тем не менее статья отличная, спасибо!