July 17, 2020

Створення 3D фотографії використовуючи Python

Для прикладу продемонструю кілька прикладів того, яки чином це все працює. Із звичайних фотографій можна зробити шість секунд паралаксу.

Львівський приклад відео
Кам'янецько-вокзальний приклад відео

Більше прикладів можна переглянути на ресурсі:
https://shihmengli.github.io/3D-Photo-Inpainting

Перш за все варто переглянути GitHub репозиторій з реалізацію наукової статті та скопіювати посилання для клонування репозиторію:

git clone https://github.com/vt-vl-lab/3d-photo-inpainting.git

Повинен бути встановлений Git Bash, якщо використовується Windows, на Linux все працює з коробки.

До того ж, для завантаження вже готових контрольних точок для моделей нейронних мереж використовується утиліта wget, що не є стандартною для Windows. На допомогу як завжди прийде Chocolatey в запущеному від імені адміністратора PowerShell, якщо говорити про Windows 10: choco install wget

Вікно PowerShell з виконаною командою

Після того, як закінчено з підготовкою потрібно виконати bash скрипт за допомогою команди sh download.sh при умові, що ви знаходитесь в директорії зі склонованим репозиторієм.

Вивід записів при виконанні download.sh

Також варто звернути увагу на завантаження необхідного пакету PyTorch. Є кілька варіантів використання цієї бібліотеки з CPU та GPU, встановити потрібно відповідну.

Для використання з GPU:

pip3 install torch==1.4.0+cu100 torchvision==0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html

Для використання з CPU:

pip3 install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

В принципі я запустив цю штуку під Windows, підредагував кілька файлів, аби завантажувалось cаме для CPU. Приблизно 10 хвилин на обробку одного файлу та створення 4 відео з різною анімацією.

На третьому зображенні відвалилась система і перший раз за весь час завис ноутбук, прийшлось відмовитись від цієї затії та перейти на Google Colab.

Приклад того, як виглядає директорія проекту

Щоб запустити це все, потрібно додати зображення для обробки в директорію image, результат буде у video після запуску скрипта:

python main.py --config argument.yml

В Google Colab все доступно одразу, варто лише завантажити цей ноутбук та виконати всі кроки, завантажити необхідне зображення і зачекати кілька хвилин.

Ось посилання:

https://colab.research.google.com/drive/14k-j3fY_gjN7PJCfJkPEhgvg_CIGFs1y?usp=sharing