0% ont trouvé ce document utile (0 vote)
34 vues38 pages

PFA2

Transféré par

youbomar9
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues38 pages

PFA2

Transféré par

youbomar9
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Nationale Supérieure d’Informatique et d’Analyse des

Systèmes - RABAT

Filière : Business Intelligence & Analytics

Rapport de projet fin d’année :


Générateur de Légendes pour Images

Réalisé par :
Encadré par :
RAKI Wiame
M. OUHEJJOU Omar
YOUB Omar

Année universitaire 2023/2024


Générateur de légendes pour images

Table des matières

Table des figures 3

Introduction générale 4

1 Contexte général du projet 5


1.1 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Démarche du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Analyse et spécification 10
2.1 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Analyse de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Critère d’évaluation : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Recueil de besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Cadrage fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Cadrage technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Conception de la solution 15
3.1 Architecture :VGG16 et LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Architecture : Xception et LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Xception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Embeddings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Mise en oeuvre 22
4.1 Prétraitement des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1 Prétraitement des légendes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2 Prétraitement d’images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2.1 Modèle VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2.2 Modèle Xception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Embeddings :GloVe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Architecture de modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3.1 VGG16 + LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3.2 Xception + LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 Entraînement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Page 1
5 Résultats et Discussion 30
5.1 Qualité d’ajustement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Temps d’entraînement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 Qualité de prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.4 Comparaison des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Conclusion générale et perspectives 35


Générateur de légendes pour images

Table des figures

1.1 Composants de générateur de légende d’image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


1.2 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1 Structure MSCOCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


2.2 Structure Flicker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Illustration modèle CNN-RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 VGG16 et LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


3.2 Architecture VGG16[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Cellule LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Aechitecture LSTM et Xception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Architecture Xception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.6 Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1 PCA de VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24


4.2 Exemple de classes (VGG16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 PCA Xception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Exemple de classes (Xception) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5 Architecture VGG16 + LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.6 Architecture Xception + LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.1 Qualité d’ajustement (Xception + LSTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


5.2 Qualité d’ajustement (VGG16 + LSTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 5 premiéres prédiction (Xception + LSTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.4 5 premiéres prédiction (VGG16 + LSTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Page 3
Générateur de légendes pour images

Introduction générale

La légende d’image [2, 3, 4], qui génère automatiquement des descriptions en langage na-
turel pour les images, a une large gamme d’applications, telles que la recherche d’images, l’aide
aux personnes malvoyantes et l’interaction intelligente entre l’homme et l’ordinateur. Depuis
des décennies, il s’agit d’une tâche interdisciplinaire difficile impliquant à la fois la vision par
ordinateur et le traitement du langage naturel.

Notre travail est motivé par l’un des cadres les plus populaires suivant le pipeline encodeur-
décodeur proposé par Vinyals et al. [5], qui combine les Réseaux Neuronaux Convolutifs (CNN)
pour obtenir un vecteur de caractéristiques visuelles et les réseaux LSTM [6] pour décoder le
vecteur en phrases en langage naturel.

Le présent rapport détaille notre démarche de conception et d’implémentation.........

Notre objectif ultime est de fournir un modèle qui non seulement reconnaît les éléments
visuels d’une image mais les interprète également de manière contextuelle pour produire des
légendes informatives et pertinentes.

Page 4
Générateur de légendes pour images

Chapitre 1

Contexte général du projet

Dans l’ère actuelle de l’information numérique,


la quantité de données visuelles disponibles sur
Internet et dans diverses bases de données a
fortement augmenté. Cette abondance d’images
représente une richesse d’information poten-
tielle mais pose également d’importants défis en
termes de gestion, de recherche et d’accessibilité
du contenu. Pour répondre à ces défis, les tech-
nologies d’intelligence artificielle, en particulier
celles liées au traitement et à l’analyse d’images,
ont pris une importance cruciale.
Ce chapitre vise à explorer le contexte général
entourant le développement des générateurs de
légendes pour images, en examinant les avan-
cées technologiques qui ont permis leur émer-
gence ainsi que les enjeux pratiques et théo-
riques qu’ils soulèvent.

Page 5
Générateur de légendes pour images

1.1 Présentation du projet


L’attente selon laquelle les machines comprendront le monde visuel au niveau de l’acuité
humaine a accru le besoin d’une identification et d’une interprétation visuelles efficaces dans
le monde d’aujourd’hui où le contenu visuel domine. Identifier automatiquement et extraire
automatiquement le contenu d’une image donnée en utilisant le langage naturel est appelé lé-
gende d’image. L’objectif ici est de produire la phrase qui décrit le mieux l’image d’échantillon
sémantiquement. La création de légendes à partir d’images est considérée comme une combi-
naison de vision par ordinateur et de traitement du langage naturel. Par conséquent, créer une
légende d’image ne concerne pas seulement la compréhension du contenu de l’image, mais aussi
trouver un sous-titre correct en extrayant les relations sémantiques entre les objets de manière
syntaxique et sémantique et en capturant les détails de l’image. Le processus de compréhen-
sion du contenu visuel créé par des objets complexes et son association avec le langage est
une tâche très difficile pour l’ordinateur, mais elle joue un rôle important dans de nombreuses
applications. [7]
Le générateur de légendes pour l’image a également une forte composante sociale, car il peut
significativement améliorer l’expérience des utilisateurs malvoyants en leur fournissant des des-
criptions textuelles de contenus visuels, rendant ces contenus plus accessibles. De plus, dans les
médias sociaux et les plateformes de partage de photos, les légendes générées automatiquement
peuvent aider les utilisateurs à comprendre rapidement le contenu des images sans nécessiter
un examen visuel détaillé.

1.2 Problématique
Avec l’augmentation exponentielle des contenus visuels disponibles sur internet et dans
diverses bases de données, la capacité de les annoter automatiquement avec des descriptions
précises devient essentielle pour améliorer l’accessibilité, la recherche et la gestion de l’informa-
tion. Les générateurs de légendes pour images utilisent des modèles d’IA tels que les réseaux de
neurones convolutionnels (CNN) pour l’analyse d’image et les réseaux de neurones récurrents
(RNN) ou les transformers pour la génération de texte. Ces technologies permettent au système
de comprendre le contenu d’une image et de formuler des légendes qui reflètent non seulement
les objets présents mais aussi leur contexte et leurs interactions.

Figure 1.1 – Composants de générateur de légende d’image.

Cela soulève plusieurs questions essentielles :


Précision des Modèles d’IA : Comment améliorer la précision des modèles d’intelligence
artificielle, notamment les réseaux de neurones convolutionnels (CNN) pour l’analyse visuelle
et les réseaux de neurones récurrents (RNN) ou les transformers pour la génération de texte,
afin qu’ils puissent non seulement reconnaître les objets dans les images mais aussi comprendre

Page 6
Générateur de légendes pour images

leurs interactions et leur contexte ?


Accessibilité et Utilisation : Comment rendre les technologies d’annotation d’images plus
accessibles aux utilisateurs non techniques, et quelles interfaces ou outils peuvent être dévelop-
pés pour permettre aux utilisateurs de facilement rechercher, gérer et exploiter les annotations
générées ?

1.3 Objectifs
Ce projet vise à développer un système capable de générer automatiquement des des-
criptions textuelles pour des images, fusionnant des avancées en vision par ordinateur et en
traitement du langage naturel (NLP) :
1. Amélioration de la Précision des Modèles d’IA : L’objectif principal est d’amélio-
rer la précision des modèles d’intelligence artificielle, notamment les réseaux de neurones
convolutionnels (CNN) pour l’analyse visuelle et les réseaux de neurones récurrents (RNN)
ou les transformers pour la génération de texte. Cela implique de développer des archi-
tectures plus avancées capables de comprendre non seulement les objets dans les images,
mais aussi leur contexte et leurs interactions.
2. Accessibilité et Utilisation : Un autre objectif important est de rendre les technologies
d’annotation d’images plus accessibles aux utilisateurs non techniques. Cela peut être
réalisé en développant des interfaces conviviales et des outils intuitifs permettant aux
utilisateurs de facilement rechercher, gérer et exploiter les annotations générées.
3. Comparaison des Modèles : Enfin, une analyse comparative des modèles utilisés pour
la génération de légendes sera effectuée. Cette analyse visera à identifier les forces et les
faiblesses de chaque modèle, en se basant sur des critères tels que la précision, la rapidité,
et la facilité d’implémentation, afin de recommander le modèle le plus adapté selon les
besoins spécifiques du projet.

1.4 Démarche du projet


Avant de démarrer le projet, il est essentiel de prévoir une planification de sa mise en
œuvre. L’objectif du planning d’un projet est, d’une part, le découpage de ce dernier en plusieurs
phases intermédiaires afin de permettre une meilleure estimation de la durée totale du projet
et des ressources nécessaires.

Page 7
Générateur de légendes pour images

Figure 1.2 – Diagramme de Gantt


Page 8
Générateur de légendes pour images

1.5 Conclusion
En somme, ce chapitre définit le cadre du projet de générateur de légendes pour images,
mettant en évidence son importance dans le paysage technologique et son potentiel de trans-
formation de l’interaction avec les données visuelles. La problématique et les objectifs sont
clairement exposés, préparant le terrain pour les développements à venir.

Page 9
Générateur de légendes pour images

Chapitre 2

Analyse et spécification

Ce chapitre est dédié à l’analyse et à la spé-


cification nécessaires pour concevoir un géné-
rateur de légendes pour les images. Nous ex-
plorerons les bases de données disponibles, les
critères d’évaluation pertinents, ainsi que les
besoins fonctionnels et techniques du système.
Cette analyse approfondie jettera les bases pour
la mise en œuvre efficace du générateur de lé-
gendes.

Page 10
Générateur de légendes pour images

2.1 Etude de l’existant


2.1.1 Analyse de base de données
On a le choix entre deux jeux de données pour alimenter notre générateur de légendes
pour les images :
— MSCOCO : [8]Développée par l’équipe Microsoft, cette technologie vise la compréhen-
sion de scènes, capture des images de scènes quotidiennes complexes et peut être utilisée
pour effectuer plusieurs tâches telles que la reconnaissance d’images, la segmentation et la
description. Le jeu de données utilise le service "Mechanical Turk" d’Amazon pour géné-
rer artificiellement au moins cinq phrases pour chaque image, soit un total de plus de 1,5
million de phrases. L’ensemble d’entraînement contient 82 783 images, l’ensemble de vali-
dation en compte 40 504 et l’ensemble de test comprend 40 775 images. La version 2014
des données comprend environ 20 milliards d’images et environ 500 millions de fichiers
d’annotations qui marquent la correspondance entre une image et ses descriptions.

Figure 2.1 – Structure MSCOCO


— Flickr8k/Flickr30k :[9, 10] Les images de Flickr8k proviennent du site d’album photo
de Yahoo, Flickr, et comprennent 8 000 photos, dont 6 000 pour l’entraînement, 1 000
pour la vérification et 1 000 pour les tests. Flickr30k contient 31 783 images collectées sur
le site Flickr, représentant principalement des personnes participant à un événement. Pour
chaque image, il existe toujours cinq phrases d’étiquetage manuel correspondantes.

Page 11
Générateur de légendes pour images

Figure 2.2 – Structure Flicker

Étant donné nos ressources limitées et dans le but de minimiser le temps d’entraînement,
nous utiliserons la base de données Flickr8k. Cependant, cela pourrait affecter la qualité des
résultats.

2.1.2 Critère d’évaluation :


Lors de l’évaluation des résultats de génération de phrases, on utilise généralement BLEU,
ROUGE et CIDEr comme indices :
— BLEU :[11] Utilisé pour évaluer la qualité des traductions automatiques en analysant
la corrélation des n-grammes entre les traductions candidates et les références. BLEU
prend en compte la similarité des n-grammes, ce qui permet d’évaluer la pertinence des
traductions produites par rapport aux références.
— ROUGE :[12] Conçu pour évaluer les performances des algorithmes de résumé de texte
en mesurant la similarité entre les résumés produits et les références. ROUGE utilise
différentes mesures telles que ROUGE-N (pour les n-grammes), ROUGE-L (pour les plus
longues séquences communes) et ROUGE-W (pour les séquences de mots en fenêtre).
— CIDEr :[13] Spécifiquement conçu pour les problèmes d’annotation d’images, CIDEr me-
sure la cohérence des annotations en tenant compte de l’importance des mots à l’aide de
calculs TF-IDF. Cela permet d’évaluer la qualité des descriptions générées par rapport
aux descriptions de référence en prenant en considération l’importance des mots dans la
similarité.
En raison de sa simplicité, de sa rapidité de calcul et de son adoption étendue dans le domaine
de la génération de texte, BLEU constitue un choix robuste et fiable pour l’évaluation de notre
générateur de légendes d’images.

Page 12
Générateur de légendes pour images

2.2 Recueil de besoins


— Génération de légendes : Le système doit être capable de générer automatiquement
des descriptions textuelles pour des images fournies.
— Précision des légendes : Les légendes générées doivent être précises, reflétant non seule-
ment les objets présents dans l’image mais aussi leurs interactions et le contexte global.
— Performance : Le système doit être capable de traiter et de générer des légendes en temps
réel ou en quasi-temps réel.
— Scalabilité : Le système doit pouvoir évoluer pour gérer un grand nombre d’images si-
multanément sans dégradation des performances.

2.3 Cadrage fonctionnel


— Chargement d’images : Les utilisateurs doivent pouvoir charger des images dans le
système.
— Analyse et traitement des images : Une fois les images chargées, le système doit
utiliser des modèles de vision par ordinateur (comme les CNN) pour analyser le contenu
visuel et identifier les objets présents, leurs relations et le contexte global.
— Génération de légendes textuelles : Après l’analyse des images, le système doit uti-
liser des modèles de traitement du langage naturel (comme les RNN ) pour générer des
descriptions textuelles précises et cohérentes.

2.4 Cadrage technique


— Frameworks de vision par ordinateur : TensorFlow et Keras sont deux frameworks
largement utilisés pour le développement de modèles CNN (Convolutional Neural Net-
works). TensorFlow, développé par Google, est connu pour ses performances élevées et ses
capacités de calcul distribué, permettant d’optimiser les modèles pour une exécution rapide
sur des GPU et des TPU. Keras, intégré à TensorFlow, fournit une API de haut niveau qui
simplifie la construction et l’entraînement des modèles CNN. Les deux frameworks offrent
des modules pré-entraînés pour des architectures populaires telles que ResNet, VGG et In-
ception, facilitant l’extraction de caractéristiques complexes des images et leur intégration
dans des projets d’apprentissage profond.
— Frameworks de traitement du langage naturel : Pour le développement de modèles
RNN (Recurrent Neural Networks), TensorFlow et Keras sont des outils puissants et po-
lyvalents. TensorFlow propose une vaste gamme de bibliothèques et d’outils, comme Ten-
sorFlow Text et TensorFlow Addons, spécialement conçus pour le traitement du langage
naturel. Keras, en tant qu’API de haut niveau de TensorFlow, permet de créer et d’en-
traîner des modèles RNN de manière simple et intuitive. Grâce à son interface conviviale,
Keras facilite l’implémentation de modèles avancés comme les LSTM (Long Short-Term
Memory) et les GRU (Gated Recurrent Unit), pour des tâches de génération de texte, de
traduction automatique et de réponse aux questions.

Page 13
Générateur de légendes pour images

Figure 2.3 – Illustration modèle CNN-RNN

Dans le modèle, l’encodeur est un réseau de neurones convolutionnels, et les caracté-


ristiques de la dernière couche entièrement connectée ou de la couche convolutionnelle sont
extraites en tant que caractéristiques de l’image. Le décodeur est un réseau de neurones récur-
rents, principalement utilisé pour la génération de descriptions d’images.

2.5 Conclusion
En conclusion, ce chapitre a permis une analyse approfondie des besoins et des spécifica-
tions pour notre générateur de légendes. Nous avons examiné les bases de données, les critères
d’évaluation et recueilli les besoins du système. Cette analyse fournit un cadre clair pour la
conception et l’implémentation du générateur de légendes. Nous sommes prêts à passer à la
prochaine étape du développement.

Page 14
Générateur de légendes pour images

Chapitre 3

Conception de la solution

Dans ce chapitre, nous présentons les archi-


tectures utilisées pour le projet de générateur
de légendes pour images. Nous détaillons deux
approches distinctes, chacune intégrant des mo-
dèles de réseaux de neurones convolutionnels
(CNN) pour l’extraction des caractéristiques
des images et des modèles de réseaux de neu-
rones récurrents (RNN), notamment LSTM,
pour la génération de légendes. La première ap-
proche utilise l’architecture VGG16 combinée
avec un modèle LSTM, tandis que la seconde
utilise l’architecture Xception, également com-
binée avec un modèle LSTM.

Page 15
Générateur de légendes pour images

3.1 Architecture :VGG16 et LSTM

Figure 3.1 – VGG16 et LSTM

3.1.1 VGG16
Un réseau neuronal convolutif, ou ConvNet, est un type de réseau neuronal artificiel
comprenant une couche d’entrée, une couche de sortie et plusieurs couches cachées. VGG16, un
modèle CNN, est reconnu comme l’un des meilleurs en vision par ordinateur. Il est capable de
classer 1000 images dans 1000 catégories différentes avec une précision de 92,7 %. Les créateurs
de VGG16 ont amélioré les performances en augmentant la profondeur à 16-19 couches de poids,
utilisant de petits filtres de convolution (3×3), aboutissant à environ 138 millions de paramètres
entraînables. VGG16 est également populaire pour la classification d’images et facile à utiliser
avec l’apprentissage par transfert.[14]

Figure 3.2 – Architecture VGG16[1]

L’architecture de VGG16 est conçue pour la reconnaissance d’images. Il se compose de


plusieurs couches de traitement, disposées de la manière suivante :
1. Couche d’entrée : Cette couche prend en entrée des images de taille 224x224x3 (hauteur,
largeur, canaux de couleur).
2. Couches de convolution : VGG16 utilise une série de couches de convolution avec

Page 16
Générateur de légendes pour images

des filtres de petite taille (3x3), ce qui permet de capturer les caractéristiques locales de
l’image. Il y a 13 couches de convolution au total, organisées en groupes. Chaque groupe
de couches de convolution est suivi par une couche de regroupement (max pooling) pour
réduire la taille des données.
3. Couches de regroupement (Max Pooling) : Ces couches réduisent la dimension spa-
tiale de l’image après chaque groupe de convolutions, tout en conservant les informations
les plus importantes.
4. Couches entièrement connectées : Après les couches de convolution et de pooling,
l’architecture inclut trois couches entièrement connectées, dont la dernière est une couche
de sortie avec une fonction d’activation softmax pour la classification.
Le résumé de la structure est comme suit :
— Entrée : Image 224x224x3
— 2 Convolutions 3x3, Max Pooling
— 2 Convolutions 3x3, Max Pooling
— 3 Convolutions 3x3, Max Pooling
— 3 Convolutions 3x3, Max Pooling
— 3 Convolutions 3x3, Max Pooling
— 2 Couches entièrement connectées
— 1 Couche de sortie (softmax)
On a VGG16 pour l’extraction de caractéristiques, d’où l’élimination de la dernière couche
de sortie parce qu’elle est spécifique à la tâche de classification pour laquelle le modèle a été
entraîné. Pour l’extraction de caractéristiques, nous sommes intéressés par les caractéristiques
générales de l’image qui sont capturées par les couches de convolution précédentes, et non par
les scores de classification finaux.
En supprimant la couche de sortie et en utilisant les caractéristiques extraites des couches
précédentes, on obtient une représentation plus générale et plus utile des images, qui peut être
utilisée comme entrée LSTM.

3.1.2 LSTM
Les LSTM (Long Short-Term Memory) sont un type de réseau de neurones récurrents
(RNN) conçu pour traiter et prédire des séquences de données sur de longues périodes. Ils sont
particulièrement utiles pour résoudre le problème du gradient qui disparaît, un défi courant dans
les RNN traditionnels où les gradients deviennent extrêmement petits et rendent l’apprentissage
inefficace.

Page 17
Générateur de légendes pour images

Figure 3.3 – Cellule LSTM

L’architecture d’une cellule LSTM est composée de plusieurs composants clés :


— Cellule de mémoire : Stocke les informations sur une longue période.
— Porte d’entrée (Input Gate) : Contrôle combien des nouvelles informations doivent
être stockées dans la cellule.
— Porte de sortie (Output Gate) : Détermine quelle partie des informations stockées
doit être utilisée pour produire la sortie à ce pas de temps.
— Porte d’oubli (Forget Gate) : Décide quelles informations stockées dans la cellule
doivent être oubliées.
Ainsi le fonctionnement de LSTM est comme suit :
— Oubli : La porte d’oubli décide de quelles informations de l’état de la cellule précédente
doivent être conservées ou oubliées.
— Ajout de nouvelles informations : La porte d’entrée décide quelles nouvelles informa-
tions seront stockées dans l’état de la cellule actuelle.
— Mise à jour de l’état de la cellule : L’état de la cellule est mis à jour en combinant
l’information conservée et les nouvelles informations.
— Production de la sortie : La porte de sortie détermine quelles informations de l’état de
la cellule seront utilisées pour produire la sortie à cette étape de temps.

Page 18
Générateur de légendes pour images

3.2 Architecture : Xception et LSTM

Figure 3.4 – Aechitecture LSTM et Xception

3.2.1 Xception

Un réseau neuronal convolutif, ou ConvNet, est un type de réseau neuronal artificiel com-
prenant une couche d’entrée, une couche de sortie et plusieurs couches cachées. Xception, une
architecture CNN, est reconnue pour sa performance en vision par ordinateur. Elle améliore
l’architecture Inception en utilisant des convolutions séparables en profondeur, permettant de
décomposer une convolution classique en une convolution spatiale suivie d’une convolution de
point (1x1). Cette approche réduit le nombre de paramètres et de calculs tout en augmentant
les performances.

Figure 3.5 – Architecture Xception

Page 19
Générateur de légendes pour images

L’architecture de Xception est conçue pour la reconnaissance d’images et se compose de


plusieurs couches de traitement, disposées de la manière suivante :
1. Couche d’entrée : Cette couche prend en entrée des images de taille 299x299x3 (hauteur,
largeur, canaux de couleur).
2. Couches de convolution : Xception utilise des convolutions séparables en profondeur,
décomposant une convolution classique en une convolution spatiale suivie d’une convo-
lution de point (1x1). Cette méthode permet de capturer les caractéristiques locales de
l’image tout en réduisant le nombre de paramètres. Il y a 36 couches de convolution au
total, organisées en modules.
3. Couches de regroupement (Max Pooling) : Ces couches réduisent la dimension spa-
tiale de l’image après certains modules de convolution, tout en conservant les informations
les plus importantes.
4. Couches entièrement connectées : Après les couches de convolution et de pooling,
l’architecture inclut une ou plusieurs couches entièrement connectées, dont la dernière est
une couche de sortie avec une fonction d’activation softmax pour la classification.
Le résumé de la structure est comme suit :
— Entrée : Image 299x299x3
— Modules de convolution : Convolutions séparables en profondeur suivies de convolutions
de point (1x1)
— Max Pooling : Réduction de la dimension spatiale après certains modules
— Couches entièrement connectées : Couches finales pour la classification
— Couche de sortie : Fonction d’activation softmax pour la classification
En utilisant des convolutions séparables en profondeur, Xception offre une représentation
plus efficace et précise des caractéristiques d’une image, facilitant ainsi l’extraction de caracté-
ristiques utiles pour des tâches variées de vision par ordinateur.

3.3 Embeddings
Les embeddings de mots jouent un rôle crucial en transformant les mots en vecteurs numé-
riques continus de dimension fixe, permettant au modèle de traiter efficacement les données
textuelles. Les embeddings capturent les relations sémantiques et contextuelles entre les mots,
ce qui est essentiel pour comprendre et générer des légendes cohérentes et contextuellement
appropriées. Dans ce contexte, le choix de GloVe (Global Vectors for Word Representation) est
particulièrement pertinent. GloVe est un modèle d’embedding de mots qui est pré-entraîné sur
de grands corpus de texte, comme Wikipedia ou Common Crawl, et est capable de capturer
des relations sémantiques subtiles en se basant sur les co-occurrences de mots dans un contexte
global.
Le fonctionnement de GloVe repose sur l’idée que les relations entre les mots peuvent être re-
présentées par des différences de vecteurs dans un espace de haute dimension. Par exemple, la
différence entre les vecteurs de "roi" et "homme" est similaire à celle entre "reine" et "femme".
En utilisant GloVe, nous bénéficions de vecteurs d’embeddings pré-entraînés qui encapsulent

Page 20
Générateur de légendes pour images

une riche représentation sémantique, ce qui permet au modèle de générer des légendes plus pré-
cises et nuancées. De plus, l’utilisation de GloVe permet de démarrer l’entraînement du modèle
avec des embeddings déjà optimisés, accélérant ainsi la convergence et améliorant potentielle-
ment la performance du modèle sur des tâches de compréhension et de génération de langage
naturel.

Figure 3.6 – Embedding

3.4 Conclusion
En conclusion, ce chapitre a présenté les architectures utilisées pour le générateur de
légendes pour images, en se concentrant sur deux approches : VGG16 et Xception, toutes
deux combinées avec des modèles LSTM. Ces architectures montrent comment les réseaux de
neurones convolutionnels peuvent être utilisés pour extraire des caractéristiques visuelles, tandis
que les réseaux LSTM sont employés pour générer des descriptions textuelles à partir de ces
caractéristiques. Cette combinaison permet de créer des modèles efficaces pour la génération
automatique de légendes d’images.

Page 21
Générateur de légendes pour images

Chapitre 4

Mise en oeuvre

Ce chapitre présente les défis et les solutions


liés à la génération automatique de légendes
pour images dans un monde où le contenu
visuel abonde. Nous explorons les avancées
technologiques en intelligence artificielle qui
rendent possible cette fusion de vision par
ordinateur et de traitement du langage naturel,
ainsi que les enjeux pratiques de leur applica-
tion.

Page 22
Générateur de légendes pour images

4.1 Prétraitement des données


4.1.1 Prétraitement des légendes
Pour le prétraitement on a définit une fonction ‘text_clean‘ qui effectue une série d’opéra-
tions de nettoyage sur le texte. Tout d’abord, la fonction crée et applique une table de traduction
pour supprimer toute la ponctuation du texte d’origine. Ensuite, la fonction appelle deux autres
fonctions, ‘remove_single_character‘ et ‘remove_numeric‘, qui suppriment respective-
ment les caractères à caractère unique et les caractères numériques du texte nettoyé. Enfin,
la fonction renvoie le texte final après ces différentes étapes de nettoyage. Ces opérations ont
réduit le vocabulary size from 8918 to 8763 .

def text_clean(text_original):
translation_table = str.maketrans('', '', string.punctuation)
text = text_original.translate(translation_table)
text = remove_single_character(text)
text = remove_numeric(text)
return(text)

Après text cleaning on a ajouter ’startseq’ au debut de chaque caption et ’endseq’ à sa fin.

we need to know why the vocab_size dropped during tokenization

4.1.2 Prétraitement d’images


4.1.2.1 Modèle VGG16

Lors du chargement du model, deux paramètres importants sont utilisés :

modelvgg = VGG16(include_top=True, weights='imagenet')


modelvgg = models.Model(inputs=modelvgg.inputs, outputs=modelvgg.layers[-2].output)

— weights=’imagenet’ : spécifie que les poids pré-entraînés sur la base de données Ima-
geNet sont utilisés pour initialiser le modèle. ImageNet est une vaste base de données
d’images étiquetées qui a permis d’entraîner de nombreux modèles performants de vision
par ordinateur.
— include_top=True : indique que le modèle complet, y compris la couche de classification
finale, est chargé.
Cependant, pour utiliser VGG16 comme extracteur de caractéristiques pour la génération
de légendes, nous ne voulons pas conserver la couche de classification finale, qui est spécifique à
la tâche de classification. C’est pourquoi la deuxième ligne de code crée un nouveau modèle en
utilisant les couches d’entrée du modèle VGG16 original, mais en éliminant la dernière couche
de classification, en définissant la sortie sur modelvgg.layers[-2].output.
Pour vérifier si l’extraction des caractéristiques est cohérente, nous avons tracé la PCA de
la sortie de VGG16 :

Page 23
Générateur de légendes pour images

Figure 4.1 – PCA de VGG16

Ensuite, nous avons sélectionné manuellement trois clusters.

Figure 4.2 – Exemple de classes (VGG16)

Sur la base de ce graphique, nous constatons que l’extraction des caractéristiques est co-
hérente puisque le premier cluster concerne les chiens, le deuxième la neige et le dernier les
sports.

Page 24
Générateur de légendes pour images

4.1.2.2 Modèle Xception

Lors du chargement du model, trois paramètres importants sont utilisés :

model_xception = Xception(include_top=False, pooling='avg', weights='imagenet')

— include_top=False : Cela signifie que la dernière couche entièrement connectée (dense)


du modèle Xception, qui est spécifique à la tâche de classification, est exclue. Cela permet
d’utiliser le modèle pour extraire des caractéristiques génériques des images, plutôt que de
sortir des probabilités de classification .
— pooling=’avg’ : Cette option ajoute une couche de pooling global moyen à la fin du
modèle. Cela permet de réduire les dimensions des caractéristiques extraites à un vecteur
de caractéristiques de taille fixe (par exemple, 2048 pour Xception), indépendamment de
la taille spatiale de l’entrée.
— weights=’imagenet’
Pour vérifier si l’extraction des caractéristiques est cohérente, nous avons tracé la PCA de
la sortie de Xception :

Figure 4.3 – PCA Xception

Ensuite, nous avons sélectionné manuellement quatres clusters :

Page 25
Générateur de légendes pour images

Figure 4.4 – Exemple de classes (Xception)

Sur la base de ce graphique, nous constatons que l’extraction des caractéristiques par Xcep-
tion et moins performante que celle de VGG16.

4.2 Embeddings :GloVe


On a utilisé GloVe avec une dimensionnalité de 200. Cette taille offre un bon équilibre entre
la richesse des informations capturées par les vecteurs d’embeddings et la complexité compu-
tationnelle. Les vecteurs de dimension plus élevée (par exemple, 300) pourraient capturer plus
d’informations, mais nécessiteraient plus de mémoire et de temps de calcul. En revanche, des
dimensions plus faibles (par exemple, 50 ou 100) pourraient ne pas capturer autant de nuances.

La matrice d’embedding ainsi créée sera intégrée dans un modèle de réseau de neurones en
tant que couche d’embedding initialisée avec les vecteurs pré-entraînés de GloVe. Cela permet
au modèle de bénéficier des connaissances préalables sur les relations entre les mots, ce qui
améliore la performance des modèles basés sur LSTM.

4.3 Architecture de modèles


— Dropout :Applique une régularisation par abandon avec un taux de 0.4 pour réduire le
surapprentissage.
— Dense : Ajoute une couche dense avec 256 neurones et une activation ReLU pour ap-
prendre des combinaisons complexes des caractéristiques d’image et de texte.

Page 26
Générateur de légendes pour images

— Dense output : Ajoute une couche dense avec une activation softmax pour générer les
probabilités de chaque mot du vocabulaire, définissant ainsi la sortie du modèle.

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

On compile les deux modèles, en utilisant comme fonction de perte l’entropie croisée catégorielle,
l’optimiseur Adam, et les métriques à surveiller lors de l’entraînement est la précision.

4.3.1 VGG16 + LSTM

Figure 4.5 – Architecture VGG16 + LSTM

Page 27
Générateur de légendes pour images

4.3.2 Xception + LSTM

Figure 4.6 – Architecture Xception + LSTM

4.4 Entraînement
On lance l’entraînement des deux modèles de réseau de neurones qui prend en compte à
la fois des données d’images et de texte. Pendant cinq epoches, les modèles sont entraînés
sur un ensemble d’entraînement, où chaque lot contient 64 exemples. Pendant l’entraînement,
une validation est effectuée à la fin de chaque époque sur un ensemble de validation distinct
pour évaluer les performances des modèles sur des données qu’il n’a pas vues auparavant. Le
niveau de détails des informations affichées pendant l’entraînement est réglé sur un niveau
modéré (verbose=2), affichant une barre de progression par époque. Cette approche permet
de développer un modèle capable de comprendre et de traiter simultanément des informations
provenant de différentes sources, telles que des images et du texte.

Page 28
Générateur de légendes pour images

4.5 Conclusion
En conclusion, ce chapitre a exploré les dynamiques complexes et les avancées technologiques qui sous-tendent
les générateurs de légendes pour images, soulignant leur importance croissante dans un monde dominé par le
contenu visuel numérique. Les défis en termes de précision des modèles d’IA, d’accessibilité des technologies
et de compréhension contextuelle des images ont été discutés. En avançant, il devient essentiel de continuer
à améliorer ces technologies pour rendre les données visuelles non seulement plus accessibles mais aussi plus
utiles, offrant ainsi des outils puissants pour la gestion de l’information visuelle dans divers secteurs.

Page 29
Générateur de légendes pour images

Chapitre 5

Résultats et Discussion

Dans ce chapitre, nous concluons notre


exploration des modèles Xception-LSTM et
VGG16-LSTM, utilisés pour générer automati-
quement des légendes à partir d’images. Nous
avons analysé leur performance à travers divers
critères, notamment la qualité des légendes
générées, le temps d’entraînement nécessaire
et la capacité des modèles à éviter le surap-
prentissage. Cette synthèse vise à évaluer les
avantages et les limites de chaque configuration,
permettant ainsi de mieux comprendre leur ap-
plicabilité dans des scénarios réels d’utilisation.

Page 30
Générateur de légendes pour images

5.1 Qualité d’ajustement

Figure 5.1 – Qualité d’ajustement (Xception + LSTM)

Figure 5.2 – Qualité d’ajustement (VGG16 + LSTM)

On remarque que pour les deux modèle, la perte d’entraînement diminue de manière signifi-
cative avec chaque époque, indiquant que le modèle s’améliore sur les données d’entraînement.
La perte de validation diminue également au début, mais semble se stabiliser et même augmen-
ter légèrement vers la fin, ce qui peut indiquer un début de surapprentissage (overfitting) du
modèle.

5.2 Temps d’entraînement


Nous avons mesuré le temps nécessaire pour entraîner deux configurations de modèles sur 5
époques :
— Xception et LSTM : Temps d’entraînement de 0.85 minutes.
Le modèle Xception combiné avec un LSTM a un temps d’entraînement très court, ce qui
suggère une architecture efficace et une bonne optimisation pour les tâches de génération de
texte. Ce modèle utilise probablement des techniques d’optimisation avancées et bénéficie
d’une meilleure utilisation des ressources matérielles.

Page 31
Générateur de légendes pour images

— VGG16 et LSTM : Temps d’entraînement de 10.30 minutes.


Le modèle VGG16 associé à un LSTM nécessite un temps d’entraînement beaucoup plus
long. VGG16 est connu pour sa profondeur et la complexité de ses couches convolution-
nelles, ce qui peut expliquer le temps d’entraînement plus élevé. Bien que performant, ce
modèle semble moins efficace en termes de temps d’entraînement par rapport à la combi-
naison Xception-LSTM

5.3 Qualité de prédiction


Tou d’abord, on évalue les prédictions de légendes d’images en utilisant une boucle pour
itérer sur un ensemble de données de test. À chaque itération, il génère une légende prédite
pour une image donnée, calcule le score BLEU pour comparer la légende prédite avec la légende
vraie, et stocke ce score dans une liste. Les prédictions avec des scores BLEU élevés (supérieurs
à 0,7) sont enregistrées comme bonnes, tandis que celles avec des scores faibles (inférieurs à 0,3)
sont enregistrées comme mauvaises, avec une limite de cinq prédictions pour chaque catégorie.
Ensuite, on calcul leur moyenne :

print("Mean BLEU {:4.3f}".format(np.mean(bleus)))

— Xception et LSTM : Mean BLEU de 0.408 indique que les textes générés par ce modèle
sont en moyenne très similaires aux textes de référence, ce qui suggère une bonne perfor-
mance dans la génération de textes cohérents et pertinents par rapport aux attentes.
— VGG16 et LSTM : Mean BLEU de 0.399 montre que ce modèle génère des textes qui
sont également de bonne qualité, mais légèrement moins similaires aux textes de référence
par rapport au modèle Xception-LSTM.

Figure 5.3 – 5 premiéres prédiction (Xception + LSTM)

Page 32
Générateur de légendes pour images

Figure 5.4 – 5 premiéres prédiction (VGG16 + LSTM)

5.4 Comparaison des performances


— Le modèle Xception-LSTM est beaucoup plus rapide à entraîner, prenant seulement 0.85
minutes pour 5 époques, contre 10.30 minutes pour le modèle VGG16-LSTM. Cette dif-
férence significative peut avoir des implications pratiques importantes, surtout pour des
applications nécessitant des itérations rapides ou un déploiement en temps réel.
— Pour des tâches où le temps d’entraînement est crucial, comme dans des environnements
de développement rapide ou de prototypage, le modèle Xception-LSTM est clairement plus
avantageux. Il permet des ajustements rapides et une mise en production plus efficace.
— Dans des situations où des ressources computationnelles limitées sont disponibles, Xception-
LSTM serait le choix préféré pour minimiser les coûts et le temps de calcul.
— Le modèle Xception-LSTM a obtenu un Mean BLEU légèrement supérieur (0.408) par rap-
port au modèle VGG16-LSTM (0.399). Bien que la différence de performance soit minime,
elle suggère que le modèle Xception-LSTM est légèrement meilleur pour la génération de
texte dans ce contexte particulier.
— Cette différence peut être due à la capacité supérieure de Xception à extraire des caracté-
ristiques visuelles plus pertinentes, ce qui peut améliorer la qualité des séquences de texte
générées par le LSTM.

Page 33
Générateur de légendes pour images

5.5 Conclusion
En conclusion, bien que les deux modèles soient performants en termes de génération de texte,
le modèle Xception-LSTM non seulement offre une meilleure qualité de génération (comme
indiqué par un Mean BLEU légèrement supérieur), mais il est également beaucoup plus efficient
en termes de temps d’entraînement. Cela en fait une option plus attractive pour les applications
pratiques où le temps et les ressources de calcul sont des facteurs critiques.

Page 34
Générateur de légendes pour images

Conclusion générale et perspectives :

Page 35
Générateur de légendes pour images

Bibliographie

[1] GeeksforGeeks. Vgg-16 | cnn model. GeeksforGeeks, 2024.


[2] Xinwei He, Baoguang Shi, Xiang Bai, Gui-Song Xia, Zhaoxiang Zhang, and Weisheng Dong. Image caption
generation with part of speech guidance. Pattern Recognition Letters, 119 :229–237, 2019. Deep Learning
for Pattern Recognition.
[3] Philip Kinghorn, Li Zhang, and Ling Shao. A hierarchical and regional deep learning architecture for
image description generation. Pattern Recognition Letters, 119 :77–85, 2019. Deep Learning for Pattern
Recognition.
[4] Somak Aditya, Yezhou Yang, Chitta Baral, Yiannis Aloimonos, and Cornelia Fermüller. Image understan-
ding using vision and reasoning through scene description graph. Computer Vision and Image Understan-
ding, 173 :33–45, 2018.
[5] Oriol Vinyals, Alexander Toshev, Samy Bengio, and Dumitru Erhan. Show and tell : A neural image
caption generator. In Proceedings of the IEEE conference on computer vision and pattern recognition,
pages 3156–3164, 2015.
[6] Sepp Hochreiter and Jürgen Schmidhuber. Long Short-Term Memory. Neural Computation, 9(8) :1735–
1780, 11 1997.
[7] İsa Ataş. Image caption generator with cnn and lstm. 10 2023.
[8] Xinlei Chen, Hao Fang, Tsung-Yi Lin, Ramakrishna Vedantam, Saurabh Gupta, Piotr Dollar, and C. Law-
rence Zitnick. Microsoft coco captions : Data collection and evaluation server, 2015.
[9] Micah Hodosh, Peter Young, and Julia Hockenmaier. Framing image description as a ranking task : Data,
models and evaluation metrics. Journal of Artificial Intelligence Research, 47 :853–899, 2013.
[10] Bryan A Plummer, Liwei Wang, Chris M Cervantes, Juan C Caicedo, Julia Hockenmaier, and Svetlana
Lazebnik. Flickr30k entities : Collecting region-to-phrase correspondences for richer image-to-sentence
models. In Proceedings of the IEEE international conference on computer vision, pages 2641–2649, 2015.
[11] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu : a method for automatic evaluation
of machine translation. In Proceedings of the 40th annual meeting of the Association for Computational
Linguistics, pages 311–318, 2002.
[12] Chin-Yew Lin. Rouge : A package for automatic evaluation of summaries. In Text summarization branches
out, pages 74–81, 2004.
[13] Ramakrishna Vedantam, C Lawrence Zitnick, and Devi Parikh. Cider : Consensus-based image description
evaluation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4566–
4575, 2015.
[14] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recogni-
tion, 2015.
[15] Cyrus Rashtchian, Peter Young, Micah Hodosh, and Julia Hockenmaier. Collecting image annotations
using amazon’s mechanical turk. In Proceedings of the NAACL HLT 2010 workshop on creating speech and
language data with Amazon’s Mechanical Turk, pages 139–147, 2010.

Page 36
Générateur de légendes pour images

[16] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, and B Leibe. Computer vision–eccv 2016. In
European conference on computer vision, page 645. Springer, 2016.
[17] Satanjeev Banerjee and Alon Lavie. Meteor : An automatic metric for mt evaluation with improved
correlation with human judgments. In Proceedings of the acl workshop on intrinsic and extrinsic evaluation
measures for machine translation and/or summarization, pages 65–72, 2005.
[18] Haşim Sak, Andrew Senior, and Françoise Beaufays. Long short-term memory based recurrent neural
network architectures for large vocabulary speech recognition, 2014.

Page 37

Vous aimerez peut-être aussi