Нейросеть для удаления лишнего с видео
SlavegirlВ сети появилось приложение, которое умеет удалять лишние объекты с видео. Для этого достаточно выделить нежелательный объект, нарисовав рамку вокруг него. Приложение само отследит и удалит информацию внутри рамки, а затем восстановит изображение, чтобы заполнить «дыру».
Утилита использует нейросеть, которая обрабатывает видео покадрово, заменяя ненужный объект фоном. Пока что этот метод обработки видео неидеален: на месте удалённого объекта может остаться след. Все зависит от фона — чем он проще и однороднее, тем «чище» получается результат.
При разработке приложения его авторы опирались на два проекта — SiamMask и Deep Video Inpainting. SiamMask может создавать маски сегментации объектов и обрабатывать видео со скоростью 55 кадров в секунду. Deep Video Inpainting, в свою очередь, предназначен для заполнения «дыр» видео контентом.
Инструкция по работе с приложением
All the code has been tested on Ubuntu 16.04, Python 3.5, Pytorch 0.4.0, CUDA 8.0, GTX1080Ti GPU.
- Download pretrained models of SiamMask and Inpainting
- Put them in
cp/
folder - Then just run:
python demo.py --data data/Human6
It also supports video file.
python demo.py --data data/bag.avi
Another optional parameter : --mask-dilation
python demo.py --data data/Human6 --mask-dilation 24
This parameter controls the size of the dilation kernel used for the mask. The role is to expand the range of the mask to avoid edge problems. Please see inpainting/davis.py
for more details.
1. Just draw a bounding box like this:
2. The objected will be removed and the inpainted video will be saved in results/inpainting
folder.