Алгоритм Real-Time-Person-Removal при помощи библиотеки Tensorflow.js удаляет людей из видео в реальном времени



    Веб-разработчик, программист, технический консультант и аналитик с творческим подходом Джейсон Мэйс (Jason Mayes) создал и выложил на GitHub свой алгоритм, разработанный с помощью библиотеки TensorFlow.js и JavaScript. С его помощью Джейсон смог научить нейросеть анализировать контур человека, а потом убирать его фигуру из видеопотока в режиме реального времени, например, при трансляции с веб-камеры в браузере, оставляя и дополняя в случае необходимости в кадре только объекты на заднем плане. Особенно интересно смотреть на то, как человек прошелся по какой-то мягкой поверхности, но его нет на видео, а следы появились.

    Для Мэйса этот проект является экспериментальным. Сам разработчик уточняет, что в процессе работы алгоритма конечно есть проблемные моменты, но все зависит от конкретного заднего плана. Чем больше общий фон насыщен различными деталями, тем более реальной получается итоговая картинка без человека. Сейчас после обработки видео кое-где в обработанной трансляции присутствуют различные артефакты. Джейсон далее планирует с помощью машинного обучения продолжить совершенствовать свой алгоритм, чтобы проект мог быстрее работать с разными типами элементов на заднем плане, компенсировать разный уровень освещенности при перемещении человека и даже мог бы удалять сразу несколько людей из видеоролика.

    Джейсон Мэйс опубликовал этот проект в режиме демонстрации на платформе Codepen.io и на портале Glitch.com. Там любой пользователь может из браузера (в настройках должен быть включен JavaScript) и с помощью веб-камеры попытаться удалить себя из видео.

    Также Мэйс разрешает использовать его алгоритм в других проектах. Сам же проект Real-Time-Person-Removal выпущен под лицензией Apache.

    «Не стесняйтесь использовать мой код в собственных проектах. Хотелось бы увидеть, что другие пользователи могут сделать с его помощью :-) Спасибо». — подытожил Джейсон Мэйс на GitHub.

    Пример работы алгоритма Real-Time-Person-Removal, в кадре вверху автор проекта.

    Комментарии 10

      +1
      О, теперь повсюду будут призраки :)
        +2
        Что-то у меня и близко таких чистых результатов нет, как у автора. На лице, допустим, борода мешает. Но поднятые руки не чистит вообще, а у автора — да.
          +2
          2030: Алгоритм Real-Time-Person-Removal при помощи библиотеки skynet.js удаляет людей из реальности.
            0
            Зачем ждать 10 лет? Роботизированная снайперская платформа с распознающей людей нейросетью может это делать уже сегодня.
            +2

            Прикольно было бы, скажем, кино типа терминатора через это пропустить :)

              0
              «в реальном времени» это громко сказано. На нижнем видео частота кадров по виду 3-4 в секунду.
                +8
                удалил из друзей

                image
                  0
                  Скорее фотомонтаж фото слева. Сталин, как известно, был небольшого роста.
                    0
                    Но это же не значит, что не было людей ниже его :)
                      0
                      У Сталина был маленький рост — 160 см (по другим сведениям, в полицейских досье 1904—1913 годов указан рост И. Джугашвили: 169 и 174 см, по сведениям историка Б. С. Илизарова до конца жизни Сталин весил около 70 кг при росте 170 см. Вики

                      Рост Ежова 151-152 см. Вики
                      Так что вполне выглядит.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое