[PYTHON] J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [1]. (La profondeur peut maintenant être modifiée en PNG.)

Aperçu

** Une photo ** ** Image 3D de haute précision ↓ Création facile **.

(↓ Cela n'a aucun sens, mais cette pizza est un traitement précis de la profondeur PNG. Il y a une partie où l'image est traînée, mais je me demande si c'est une pizza ...)

Voici les papiers et github.

https://arxiv.org/pdf/2004.04727.pdf Papier "Photographie 3D utilisant la peinture en profondeur en couches sensible au contexte" Meng-Li Shih1 et autres

github est ci-dessous. https://github.com/vt-vl-lab/3d-photo-inpainting

Résumé de l'article (maman de traduction Google)

738/5000 Nous suggérons comment convertir une seule image d'entrée RVB-D en photo 3D. Il s'agit d'une nouvelle représentation multicouche de composition de vue qui comprend des structures de couleur et de profondeur illusoires dans les zones bloquées par la vue d'origine. En utilisant une image de profondeur en couches avec des connexions de pixels explicites comme représentation de base, nous présentons un modèle de réparation basé sur l'apprentissage qui synthétise de nouveaux contenus de couleur et de profondeur locaux dans une zone fermée d'une manière sensible au contexte spatial. .. La photo 3D résultante peut être efficacement rendue en mouvement paralux à l'aide d'un moteur graphique standard. Validez l'efficacité de la méthode dans une variété de situations quotidiennes difficiles et réduisez les artefacts par rapport à la technologie de pointe.

Ce sera une note supplémentaire, 2020/05/23 ** Il y a environ 3 jours, la profondeur pouvait être modifiée en PNG. ** ** Je l'ai essayé.

Je l'ai essayé (travail)

(Le code github fonctionnait facilement dans mon environnement Windows. J'ai peut-être besoin d'un GPU. Je n'ai pas besoin d'un bon GPU. Le temps de traitement était d'une minute ou deux.)

En tant que procédure de création, Mettez l'image que vous souhaitez traiter dans le dossier image Tapez simplement la commande suivante.

python main.py --config argument.yml

Pour publication ici, la photo originale est "Matériel d'image libre de haute qualité" https://pixabay.com/ja/ Obtenu à partir de. (Similaire à King Kong dans l'aperçu)

Déplacer des objets d'une photo? Puisqu'il est (tremblant), bien sûr, il y a une partie où il n'y a pas d'information **, mais il semble qu'elle soit générée de force. génial.

** Je suis désolé, l'affichage peut prendre environ 30 secondes. .. .. ** **

** Toutes les entrées sont une image fixe ** ** 1 feuille! **

ダウンロードgr.gif

ダウンロードgirl.gif

ダウンロードcar.gif

ダウンロード66a.gif

ダウンロードbeach.gif

Je l'ai essayé (travail supplémentaire)

** Metropolitan Museum ** Utilisez les peintures de la collection.

ダウンロードart2.gif

ダウンロードart3.gif

ダウンロードart1.gif

Je l'ai essayé (échec, travail de CG, etc.)

Encore une fois, la photo originale est "Matériel d'image libre de haute qualité" https://pixabay.com/ja/ Obtenu à partir de.

↓ ** Échec? **. (Plutôt, même lorsque les ordinateurs sont incompatibles ...)

ダウンロードdoragon.gif

↓ ** Échec **. ** Système Escher . En outre, le ballon est également difficile. Vous pouvez l'appeler " Balloon Problem **". Cependant, la photo est magnifique. .. ..

ダウンロードeee.gif

↓ D'une manière ou d'une autre, la texture. .. .. Échec. ダウンロードkuma.gif

↓ Panne normale. ダウンロードdog.gif

(2020/05/23) Il y a environ 3 jours, la profondeur pouvait être modifiée en PNG.

J'ai édité la profondeur.

Étape 1: Dans argument.yml Remplacez depth_format par png et exécutez.


・ ・ ・ depth_format: '.png' ・ ・ ・


Ensuite, la profondeur sera enregistrée au format PNG. (Je ne veux pas du tout afficher ce png ↓ en grande taille, mais ... Il est probablement affiché en grande taille le long de la route ...)

![graffiti-745071 -copie.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635153/41ecdffa-b58a-ffbc-da3c-3dfecd66025f.png)



Étape 2:
Modifier le PNG.
(Au bas de la voiture, créez la partie où la profondeur est peu profonde plus profonde (= noir).)
Voir les résultats ci-dessous pour voir si une telle modification approximative est acceptable.

![graffiti-745071.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635153/e0f227c8-37a6-b6e0-68df-1f6d206c95ec.png)



Étape 3:
require_Définissez midas sur False pour que le PNG modifié soit utilisé.

require_midas: False


Puis réexécutez la conversion.

![Télécharger modifier.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635153/64bb82f9-d9c7-3e90-0b39-07766e2b011d.gif)

Comme prévu, la profondeur au bas de la voiture est plus profonde. Cependant, cela ressemble à PNG,
L'édition grossière du PNG ne l'a pas nettoyée.
Si vous pouvez traiter la peinture normalement, je pense que c'est correct. Je ne peux pas. Avec un pinceau
Je l'ai peint correctement. .. ..
Vous ne pourrez peut-être pas dire ce que vous avez fait car le travail est compliqué, mais lorsque vous n'êtes pas satisfait de la profondeur détectée automatiquement, vous pouvez modifier la profondeur exprimée en PNG sous forme d'image.

#Informations qui peuvent être utiles
・ GFORCE GTX1050Ti (mémoire GPU dédiée 4).0GB)Puis
  **Cela peut ne pas fonctionner en raison d'une mémoire insuffisante du GPU**。
c'est,**Plutôt que de compter sur la taille de l'image**、
Peut-être quelque chose lié à la quantité de mémoire nécessaire pour représenter la 3D dans le contenu de l'image.
Je n'ai pas trouvé de solution. Il peut être possible de gérer en modifiant les paramètres.
Voiture rouge, mémoire GPU tellement dédiée 3.Environ 4 Go, le blanc est 2.Environ 7 Go ont été utilisés.
Pour ce problème de mémoire, pourquoi ne pas utiliser Google Colab pour le moment?
-J'ai montré l'édition des informations de profondeur avec PNG, mais la valeur par défaut est sûrement numpy?。
Ces données(numpy)Si vous pouvez gérer le cliquetis, vous pouvez le modifier.

#Résumé

Je ne comprends pas à quel point c'est génial techniquement.
Cependant, je me demande si cela ressemble à une force.
(En premier lieu, la perception des gens lorsqu'ils regardent l'image est également forcée, donc ...)
J'étudierai la technologie.
(Pour le moment, je comprends l'habitude de traiter, donc je pense que je peux faire un travail un peu plus amusant.)
À ce stade, je n'ai aucune idée à quoi cela peut servir.
**Veuillez l'essayer vous-même. "Autoportrait en intérieur" est recommandé**

#Résumé 2
Décrit après "je l'ai essayé (travail supplémentaire)".
Malheureusement,**J'en ai eu assez de le voir en un rien de temps. .. .. ..**
C'est difficile si vous n'avez pas de but et de résultat. .. .. ..
simple**effet**Je veux dire. .. .. Ensuite, vous en avez assez. De plus, nous nous attendons au prochain niveau de technologie.
J'en ai assez, mais je m'intéresse à la technologie, même si je ne la comprends pas encore. .. ..
Il était facile de modifier la profondeur.

#à partir de maintenant
Je pense qu'il vaut mieux afficher le nom de l'auteur de pixabay, séparément.
Existe-t-il une manière différente d'afficher l'image traitée? ?? ?? Je pense que c'est simple.
Si vous avez des commentaires, veuillez.

référence.
[J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [2].(Essayez de traiter la profondeur avec numpy)](https://qiita.com/torinokaijyu/items/e761c00c87d6a00b8c30)
[J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [3]. Seulement la profondeur sans permission feat. intel-de isl.](https://qiita.com/torinokaijyu/items/6889598b732851c2e8fd)


Recommended Posts

J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [1]. (La profondeur peut maintenant être modifiée en PNG.)
J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [2]. (Essayez de traiter la profondeur avec numpy)
J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [3]. MiDaS de feat. Intel-isl seulement profondeur sans permission.
Créer facilement une image 3D très précise avec une seule photo! (Vous pouvez désormais modifier la profondeur en PNG.) [1-E]
J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [0]. (Confirmé comment capturer l'espace, l'ombre)
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo Partie 02 Chargement d'images et dessin de sommets
J'ai essayé de créer une classe pour rechercher des fichiers avec la méthode Glob de Python dans VBA
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
J'ai essayé de créer un article dans Wiki.js avec SQL Alchemy
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo Partie 04 Générer des polygones
J'ai essayé d'utiliser PI Fu pour générer un modèle 3D d'une personne à partir d'une image
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
J'ai trouvé un moyen de créer un modèle 3D à partir de photos Partie 01 Créer un environnement
J'ai essayé de créer des taureaux et des vaches avec un programme shell
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
Comment créer facilement une image CG comme une photo de jouet "Ubuntu / Linux" ・ Rendu photo réaliste avec LeoCAD & Blender
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
Créez une application Web qui peut être facilement visualisée avec Plotly Dash
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo.
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Development] (2/3)
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Execution] (3/3)
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python
ConSinGAN: J'ai essayé d'utiliser le GAN qui peut être généré à partir d'une image
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Setup] (1/3)
J'ai essayé de créer un linebot (préparation)
Je voulais créer rapidement un serveur de messagerie utilisable librement avec postfix + dovecot sur EC2
Je voulais faire un programme de notation polonaise inversée en Python (détermination de savoir si une chaîne de caractères peut être convertie en valeur numérique)
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
J'ai essayé de prédire les chevaux qui seront dans le top 3 avec LightGBM
[Azure] J'ai essayé de créer une machine virtuelle Linux avec Azure de Microsoft Learn
J'ai essayé d'extraire le dessin au trait de l'image avec Deep Learning
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
J'ai essayé d'implémenter ce qui semble être un outil de snipper Windows avec Python
Un débutant en apprentissage automatique a tenté de créer une IA de jugement Sheltie en un jour
J'ai essayé de créer une API de reconnaissance d'image simple avec Fast API et Tensorflow
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
Je souhaite créer facilement un modèle de bruit
Je veux créer une fenêtre avec Python
J'ai essayé d'intégrer Keras dans TFv1.1
Vous pouvez facilement créer une interface graphique même avec Python
Vous pouvez boire Zoom! !! J'ai essayé de créer un jeu de devinettes de thème coopératif à un seul style avec Flask + Heroku
J'ai essayé de générer automatiquement la chaîne de caractères à entrer dans M. Adjustment avec Python
J'ai essayé de créer un environnement d'apprentissage amélioré pour Othello avec Open AI gym
J'ai trouvé un moyen de créer un modèle 3D à partir d'une photo.0 Projection vers l'espace 3D
[Python] J'ai essayé de créer automatiquement un rapport quotidien de YWT avec la messagerie Outlook
J'ai essayé de faire une application mémo qui peut être pomodoro, mais un enregistrement de réflexion
J'ai essayé de créer un cadre de données pandas en grattant les informations de rappel d'aliments avec Python
Je veux faire la transition avec un bouton sur le ballon
J'ai essayé d'implémenter un pseudo pachislot en Python
Je souhaite créer manuellement une légende avec matplotlib
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
J'ai essayé d'implémenter SSD avec PyTorch maintenant (Dataset)
J'ai essayé d'automatiser "un cœur même séparé" à l'aide d'un algorithme génétique en Python
Je veux voir le graphique en 3D! Je peux réaliser un tel rêve.