Google открыл ключевую технологию Street View

    Google выложил в открытый доступ библиотеку C++ Ceres Solver, которая осуществляет моделирование и анализ сложных проблем нелинейной минимизации суммы квадратов.

    Метод наименьших квадратов используется в разных областях: от построения сложных кривых в статистике до построения 3D-моделей по фотографиям в системах компьютерного зрения. В Street View система используется для привязки ожидаемого положения автомобиля (модель) к реальным координатам (данные).



    В блоге Open Source at Google перечисляют основные особенности библиотеки.
    • Простые, выразительные API
    • Автоматическая дифференциация
    • Надёжная функция потерь
    • Локальная установка параметров
    • Интерпретаторы Якоби и линейная алгебра, всё работает в тредах
    • QR-разложение плотной матрицы (использует библиотеку Eigen)
    • Разложение Холецкого разреженной матрицы (использует SuiteSparse)
    • Специализированные методы для проблем 3D компьютерного зрения
    • Свободная лицензия (новая BSD)
    • Масштабируется от серверов до мобильных телефонов
    Support the author
    Share post

    Similar posts

    Comments 14

    • UFO just landed and posted this here
        +5
        Глядя на видео в 0:00 (самый первый кадр), создается впечатление, что они свое положение по звездам определяли…
          0
          В плотной застройке звёзды действительно могут быть эффективнее, чем GPS.
            0
            {источник?}
          0
          Интересно, яправильно понимаю, что эту библиотеку можно использовать в GPS-аппаратах для разных штук в том числе статистики, более точного указания местоположения на карте и тп?
            +1
            В gps-аппаратах врят ли, скорее на сервере обрабатывающем трек.
              0
              А почему?
              Там в фичах есть:
              Scales from servers to cell phones.
              0
              В GPS уже прошита целая пачка методов для решения системы нелинейных уравнений, там улучшать точность уже некуда )

              Применить для сглаживания треков — да, можно, но это задачка не для самого GPS (которое должно выдать мгновенные координаты), а для следующего уровня (анализирующее ПО, которое собирает статистику во времени).
                +1
                >> а для следующего уровня (анализирующее ПО, которое собирает статистику во времени).
                Я это и имею ввиду, ПО которое стоит на смартфоне выше ГПС модуля и его апи.
              +1
              можно поинтересоваться, что такое «интерпретатор Якоби» и «автоматическая дифференциация»?
                0
                больше похоже на самопиар… при том объеме данных, который ему приходится обрабатывать (как в видео), он обязан реализовывать методы на основе разреженных матриц — в библиотеке этого нет… не сказал бы, что API уж очень прозрачное… в OpenCV есть реализация метода левенберга-марквардта (внутри библиотеки, не для внешнего использования), мне кажется, там получше будет сделано
                  0
                  Я в детали не вникал, но «Sparse Cholesky factorization (using SuiteSparse) for large sparse problems» это не работа с разреженными матрицами?
                    0
                    поторопился с комментарием) себе минус
                      0
                      здесь тема немного другая, в нете очень много реализованной математики, в том числе для решения задачи минимизации — известный minpack… все кто работает в этой теме — знакомы с зарекомендовавшими себя открытыми (и не только) пакетами… поэтому говорить, что google делает жизнь людям легче не хотел бы… не нравится мне их донт би эвил

                  Only users with full accounts can post comments. Log in, please.