-3
votes

redimensionnement des images de 64x64 à 224x224 pour le modèle VGG

Pouvons-nous redimensionner une image de 64x64 à 256x256 sans augmenter la taille et affecter la résolution est qu'un moyen d'ajouter zéro sur une nouvelle ligne et une nouvelle colonne dans la nouvelle sortie redimensionnée que je travaille sur VGG et je reçois une erreur en ajoutant mon 64x64 image d'entrée car VGGFace est un modèle pertraité comprenant une taille d'entrée de 224

code: xxx

erreur: ValueError: les opérandes n'ont pas pu être diffusées avec Formes remises en retrait [Original-> Remapped]: (512,14,14) -> (512, Newaxis, Newaxis) (14,14 512) -> (14, Newaxis, NewAxis) et la forme demandée (14,512)


3 commentaires

"Redimensionner [...] sans augmenter la taille" Quoi !?


Votre entrée doit être compatible avec les images utilisées pour former le modèle. Si ce n'est pas l'ajustement sera mauvais. Que vous voulez que vous devez comprendre ces images. Vous devrez peut-être utiliser un package d'image pour réduire correctement l'image. NUMPLY Remodape / Redimensez les fonctions ne fera pas le travail pour vous.


Question est oxymoron.


3 Réponses :


-1
votes

Je pense que vous voulez dire redimensionner (résolution) sans augmenter la taille (quantité de données) Et aussi au courant que je sache, la réponse serait non, car la résolution plus grandement serait littéralement un nombre de pixels plus élevé. Vous pouvez redimensionner la résolution sans augmenter la taille du fichier, il existe de nombreux programmes, sites Web et utilitaires de redimensionnement photo léger, vous pourriez peut-être mettre en œuvre l'utilisation d'un service comme tel dans votre code?


0 commentaires

4
votes

Je ne suis pas sûr de ce que vous voulez dire, voici ma solution pour vous. Première méthode, si je comprends clairement ce que vous voulez dire, pour ajouter un tampon avec une valeur zéro, vous devez utiliser numpy.pad pour chaque couche d'image.

 J'utilise cette image pour prendre l'exemple, sa forme est de 158x84x3 p>

J'utilise cette image pour prendre l'exemple, sa forme est de 158x84x3 p> xxx pré>

par ce code, je peux ajouter du remplissage dans l'image et avoir le résultat comme ceci. p>

 Entrez la description de l'image ici p>

Sa forme est 256x256x3 comme vous le souhaitez. Ou une autre méthode pour vous est d'utiliser une image de la bibliothèque d'oreillers. En utilisant cela, vous pouvez redimensionner la photo sans perdre trop d'informations avec un code très simple. P>

from PIL import Image
image = Image.fromarray(image)
img = image.resize((256, 256), Image.BILINEAR) 
mlt.imshow(img)


2 commentaires

Merci pour vous de répondre à ma solution consiste à configurer le module VGG pour obtenir une taille d'entrée égale à 64x64x3 Je vais essayer de le résoudre @francesco avoir la solution si elle ne fonctionne pas, je vais essayer votre méthode merci encore.


@ SambN04 Si vous utilisez Keras, je vous recommande d'utiliser la fonction de prétraitement de Keras, utilisée par à partir de keras.applications.vgg16 import PreProcess_input , il remodeler votre image à la bonne taille de modèle image = préprocess_input (image)



1
votes

Je pense que la meilleure façon de résoudre votre problème ne redimensionne pas l'image, mais plutôt de charger le modèle spécifiant la forme d'entrée de vos images. En supposant que vous utilisiez Keras:

model = VGG16(weights=..., include_top=False, input_shape=(64,64,3))


3 commentaires

Merci c'est exactement ce que je cherche, mais quand j'essaie mon code, j'ai reçu cette erreur TypeError: («argument de mots clés non compris: ',' Incluse_top '). Le code est affiché dans ma question


Des idées sur la version Keras


Vous n'avez pas besoin de rédiger l'architecture à la main. Vous voudrez peut-être regarder keras.io/applications et blog.keras.io/...