Segmentation d'images basée sur des méthodes d'apprentissage en profondeur

作者:WeisongZhao
来源:CSDN

链接:https://blog.csdn.net/weixin_41923961/article/details/80946586
编辑:王萌(深度学习冲鸭公众号)
著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理

La segmentation sémantique des images CNN est essentiellement cette routine :

1. Sous-échantillonnage + Suréchantillonnage : Convlution + Déconvlution/Redimensionnement

2. Fusion de fonctionnalités multi-échelles : ajout de fonctionnalités point par point / couture de dimension de canal de fonctionnalité

3. Obtenez la carte des segments au niveau du pixel : jugez la catégorie de chaque pixel

Même le DeepLab v3+ plus complexe est toujours cette routine de base.

e43a7ea35e927ab9aa11b2e5d81bfd02.png

Illustration 13 DeepLab v3+


Comparaison de la structure du réseau de segmentation d'image (segmentation d'image)

d9ab5a30f2a639cc42bb3b6272f7d5d3.png


Arbre généalogique de segmentation FCNImage

FCN

  • DeepLab

  • DéconvNet

    • SegNet

  • PSPNet

  • Masque-RCNN


Par objectif de segmentation

Division ordinaire

Séparez les régions de pixels appartenant à différents objets. 
Par exemple, le premier plan est séparé de l'arrière-plan et la zone du chien est séparée de la zone du chat et de l'arrière-plan.

Segmentation sémantique

Sur la base d'une segmentation ordinaire, la sémantique de chaque zone (c'est-à-dire quel objet est cette zone) est classée. 
Par exemple, tous les objets de l'image sont pointés vers leurs catégories respectives.

segmentation des instances

Sur la base d'une segmentation sémantique, chaque objet est numéroté. 
Par exemple, voici le chien A sur la photo, et voici le chien B sur la photo.

Recommandation de papier

La segmentation sémantique des images est une tâche très importante en vision par ordinateur. Son but est de classer chaque pixel de l'image. Si la segmentation des images peut être effectuée rapidement et avec précision, de nombreux problèmes seront résolus facilement. Par conséquent, ses domaines d'application incluent, mais ne sont pas limités à : la conduite autonome, l'embellissement d'image, la reconstruction 3D, etc.

f1ac6241f4025f9a579de3cbc8f66023.png

La segmentation sémantique est un problème très difficile, surtout avant l'apprentissage en profondeur. L'apprentissage en profondeur a beaucoup amélioré la précision de la segmentation d'images.Nous résumons ci-dessous les méthodes et les articles les plus représentatifs de ces dernières années.


Réseaux entièrement convolutionnels (FCN)

Le premier article que nous présentons est celui des réseaux entièrement convolutifs pour la segmentation sémantique, ou FCN en abrégé.

Cet article est le premier article à utiliser avec succès l'apprentissage en profondeur pour la segmentation sémantique d'images. Il y a deux contributions principales du papier:

Un réseau entièrement convolutif est proposé. Le réseau entièrement connecté est remplacé par un réseau convolutif, de sorte que le réseau peut accepter des images de n'importe quelle taille et produire une image de segmentation de la même taille que l'image d'origine. Ce n'est qu'alors qu'une classification peut être effectuée pour chaque pixel.

Des couches de déconvolution sont utilisées. La carte des caractéristiques du réseau neuronal de classification ne représente généralement qu'une fraction de la taille de l'image d'origine. Pour revenir à la taille d'image d'origine, la carte des entités doit être suréchantillonnée, ce qui est le rôle de la couche de déconvolution.

Bien que le nom soit couche de déconvolution, il ne s'agit pas en fait de l'opération inverse de la convolution. Un nom plus approprié est Transposed Convolution, qui est utilisé pour déployer de grandes cartes d'entités à partir de petites cartes d'entités.

C'est le travail pionnier du réseau de neurones pour la segmentation sémantique, qui doit être bien compris.


DeepLab

DeepLab a v1 v2 v3, le premier titre est DeepLab : Sémantique Image Segmentation avec Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs.

Cette série d'articles présente les méthodes importantes suivantes :

Le premier est la convolution avec des trous, le nom anglais est Dilated Convolution, ou Atrous Convolution. La convolution avec des trous est en fait quelques trous insérés au milieu du noyau de convolution ordinaire, comme le montre la figure suivante.

5dc791a8dbaefb36e1f206f024f16756.png

Son montant de calcul reste le même que celui de la convolution ordinaire, et l'avantage est que son "champ de vision est plus grand". Par exemple, le champ de vision du résultat de la convolution 3x3 ordinaire est de 3x3, et le champ de vision après l'insertion un trou est 5x5. L'augmentation du champ de vision a pour effet que lorsque la carte de caractéristiques est réduite au même multiple, des informations plus globales de l'image peuvent être saisies, ce qui est très important dans la segmentation sémantique.

6b9f972f48cc3fb51c4efc4f4f7c8bdc.png


Réseau d'analyse de scène pyramidale

La principale contribution de Pyramid Scene Parsing Network est le Global Pyramid Pooling, appelé Global Pyramid Pooling lorsqu'il est traduit en chinois. Il met à l'échelle la carte des entités à plusieurs tailles différentes, de sorte que les entités disposent de meilleures informations globales et multi-échelles, ce qui est très utile pour améliorer la précision.

51c0e0974f7a7860d4895681655440e6.png

En fait, non seulement la segmentation sémantique, mais aussi les fonctionnalités pyramidales multi-échelles sont très utiles pour divers problèmes visuels.

Masque R-CNN

Le masque R-CNN est le chef-d'œuvre du grand dieu He Kaiming, qui combine la détection d'objets et la segmentation sémantique. Ses contributions sont principalement les suivantes.

Tout d'abord , le réseau de neurones a plusieurs sorties de branche. Mask R-CNN utilise un cadre similaire à Faster R-CNN. La sortie de Faster R-CNN est la boîte englobante et la catégorie de l'objet, tandis que Mask R-CNN a une branche supplémentaire pour prédire la carte de segmentation sémantique de l'objet.

C'est-à-dire que le réseau de neurones apprend deux tâches en même temps et peut se promouvoir mutuellement.

Deuxièmement , utilisez le masque binaire dans la segmentation sémantique. La catégorie de prédiction de segmentation sémantique d'origine doit utiliser des nombres tels que 0 1 2 3 4 pour représenter chaque catégorie. Dans Mask R-CNN, la branche de détection prédit la classe. À ce stade, la segmentation n'a besoin d'utiliser que 0 1 pour prédire le masque de forme de l'objet.

Troisièmement , Mask R-CNN propose RoiAlign pour remplacer RoiPooling dans Faster R-CNN. L'idée de RoiPooling est de mapper n'importe quelle région de l'image d'entrée à la région correspondante dans la carte des caractéristiques du réseau neuronal.

RoiPooling utilise une approximation arrondie pour trouver les régions correspondantes, ce qui entraîne un écart de la correspondance par rapport à la situation réelle. Ce décalage est tolérable dans les tâches de classification, mais a un impact plus important sur une segmentation plus fine.

Pour résoudre ce problème, RoiAlign n'utilise plus d'opérations d'arrondi, mais utilise une interpolation linéaire pour trouver des régions correspondantes plus précises. L'effet est d'obtenir une meilleure correspondance.

Des expériences ont également prouvé que l'effet est bon. La comparaison avec la méthode précédente est présentée ci-dessous.L'image ci-dessous est le masque R-CNN, qui peut être vu comme beaucoup plus fin.

e72627871f5354acb188cd68fae70d8b.png

U-net

U-Net est un réseau de segmentation proposé par l'auteur original pour participer au Challenge ISBI, qui peut s'adapter à un très petit ensemble d'apprentissage (environ 30 images). U-Net et FCN sont tous deux de petits réseaux de segmentation, n'utilisant ni convolution atreuse ni suivi de CRF, et la structure est simple.

82505c0c7c8aab4499ed4c42bfed0ca2.png

Figure 9 Schéma de la structure du réseau U-Net

L'ensemble de la structure du réseau U-Net est illustré à la figure 9, qui est similaire à une grande lettre U : effectuez d'abord un sous-échantillonnage Conv + Pooling ; puis la déconvolution Deconv effectue un suréchantillonnage et la carte des caractéristiques de bas niveau avant la fusion du recadrage ; puis suréchantillonnez à nouveau .

Répétez ce processus jusqu'à ce que la carte des caractéristiques de la sortie 388x388x2 soit obtenue, et enfin la carte des segments de sortie est obtenue via softmax. D'une manière générale, cela ressemble beaucoup à l'idée du FCN.

Pourquoi parler d'U-Net ?

C'est parce que U-Net adopte une méthode de fusion de fonctionnalités complètement différente de FCN : l'épissage !

2d48a75635ccf0a72c192e4f9adf3140.png

Figure 10 Méthode de fusion des caractéristiques U-Net concat

Différent de l'ajout point par point de FCN, U-Net utilise des caractéristiques de couture ensemble dans la dimension du canal pour former des caractéristiques plus "épaisses".

Par conséquent, le réseau de segmentation sémantique dispose également de deux méthodes de fusion de caractéristiques :

1. Ajout point par point de style FCN, correspondant à la couche EltwiseLayer de caffe, correspondant à tf.add() de tensorflow

2. Épissage et fusion de dimension de canal de style U-Net, correspondant à la couche ConcatLayer de caffe, correspondant à tf.concat() de tensorflow

Présentation Présentation

 La segmentation sémantique d'image, en termes simples, consiste à classer chaque pixel sur l'image donnée une image

À partir de l'image, nous devons diviser le graphe de scène réel en les graphes de segmentation suivants :

31c947d48677a6a1d575c4968a104120.png

Différentes couleurs représentent différentes catégories. Après avoir lu "beaucoup" d'articles et examiné le serveur d'évaluation des performances du PASCAL VOC Challenge, j'ai découvert que la segmentation sémantique des images était introduite dans cette tâche (FCN) depuis l'apprentissage en profondeur jusqu'à présent, et un cadre général a été grossièrement déterminé. lequel est:

  • FCN - Réseau entièrement convolutionnel

  • CRF - Champ aléatoire conditionnel

  • MRF - Champ aléatoire de Markov

7f0bb4ac71de53f56ede6562d1018ffd.png

Le frontal utilise FCN pour l'extraction approximative des caractéristiques, et le back-end utilise CRF/MRF pour optimiser la sortie du frontal, et obtient enfin la carte de segmentation.

l'extrémité avant

Pourquoi avez-vous besoin de FCN ?

Le réseau que nous utilisons pour la classification connecte généralement plusieurs couches entièrement connectées à la fin, ce qui aplatira la matrice bidimensionnelle d'origine (image) en une dimension, perdant ainsi des informations spatiales, et s'entraînera finalement à produire un scalaire, qui est notre classification Étiqueter.

Le résultat de la segmentation sémantique de l'image doit être une carte de segmentation, quelle que soit sa taille, mais au moins bidimensionnelle.

Par conséquent, nous devons supprimer la couche entièrement connectée et la remplacer par une couche entièrement convolutive, et il s'agit d'un réseau entièrement convolutif.

Pour des définitions spécifiques, veuillez vous référer au document :

Réseaux entièrement convolutifs pour la segmentation sémantique

Structure frontale

FCN

Le FCN se réfère ici spécifiquement à la structure proposée dans l'article sur les réseaux entièrement convolutifs pour la segmentation sémantique, plutôt qu'à un réseau entièrement convolutif généralisé.

Le FCN de l'auteur utilise principalement trois techniques :

  • convolutif

  • Suréchantillonnage (suréchantillonnage)

  • Ignorer le calque

convolution

La convolution consiste à éliminer la couche entièrement connectée du réseau de classification ordinaire, comme VGG16, ResNet50/101 et d'autres réseaux, et à la remplacer par la couche convolutive correspondante.

1cfc821c640487e7ce7017cf9f888970.png

suréchantillonnage

Le suréchantillonnage ici est la déconvolution. Bien sûr, le nom est différent selon les frameworks, il s'appelle Deconvolution dans Caffe et Kera, et conv_transpose dans tensorflow.

Dans le cours CS231n, il est dit qu'il est plus approprié d'appeler conv_transpose.

Comme nous le savons tous, la mise en commun ordinaire (veuillez voir ci-dessous pourquoi il s'agit d'une mise en commun ordinaire) réduira la taille de l'image. Par exemple, après cinq mises en commun VGG16, l'image est réduite de 32 fois. Afin d'obtenir une image segmentée aussi grande que l'image d'origine, nous avons besoin d'un suréchantillonnage/déconvolution.

Semblable à la convolution, la déconvolution est une opération de multiplication et d'addition. Mais ce dernier est plusieurs-à-un, et le premier est un-à-plusieurs. La propagation avant et arrière de la déconvolution ne peut être utilisée que pour inverser la propagation avant et arrière de la convolution.

Il n'y a donc aucun problème avec l'algorithme d'optimisation ou de rétropropagation. Le schéma est le suivant :

15c8ef36f01b1a5024ad37324a947d7b.png 

Cependant, bien que le texte indique qu'il s'agit d'une déconvolution apprenable, le code réel de l'auteur ne lui permet pas d'apprendre, probablement à cause de cette relation logique un-à-plusieurs. code afficher comme ci-dessous:

layer {
  name: "upscore"
  type: "Deconvolution"
  bottom: "score_fr"
  top: "upscore"
  param {
    lr_mult: 0
  }
  convolution_param {
    num_output: 21
    bias_term: false
    kernel_size: 64
    stride: 32
  }
}

Vous pouvez voir que lr_mult est défini sur 0.

structure de saut

(Ce nom étrange est traduit par moi, il semble s'appeler ignorer la structure de connexion en général) La fonction de cette structure est d'optimiser le résultat, car le résultat obtenu en suréchantillonnant directement le résultat après la convolution complète est très approximatif, donc l'auteur sera différent. Le résultat de la couche de regroupement est suréchantillonné pour optimiser la sortie. La structure spécifique est la suivante :

f595e707f98cedb07d30d69fd64dd0b5.png

Les résultats obtenus avec différentes structures de suréchantillonnage sont comparés comme suit :

49ab82a41b3fc7a804e1c4365b694be9.png

Bien sûr, vous pouvez également suréchantillonner la sortie de pool1 et pool2. Cependant, les auteurs disent que l'amélioration des résultats obtenus de cette manière n'est pas grande.

Il s'agit de la première structure et du travail pionnier d'apprentissage profond appliqué à la segmentation sémantique d'images, elle a donc remporté le meilleur article du CVPR2015. Cependant, il reste encore des endroits difficiles à gérer, et la comparaison spécifique avec ces derniers sera connue.

SegNet/DeconvNet

Une telle structure est résumée ici, mais je pense que la structure est plus élégante, et le résultat qu'elle obtient n'est pas nécessairement meilleur que le précédent.

SegNet

fdc2b2bba13bc9996578484dd9370201.png

 DéconvNet

e9d2ef1418f2a89f2b0a5f7580dde297.png 

Une telle structure symétrique donne l'impression d'être un auto-encodeur, encodant d'abord puis décodant. De telles structures utilisent principalement la déconvolution et la mise en commun. lequel est:

40ad574a97f55e8596c2fd343e4ba2b2.png  a2cffd533d58ea64e7479c0aa4cb3a16.png

Déconvolution comme ci-dessus. La mise en œuvre de la mise en commun consiste principalement à mémoriser la position de la valeur de sortie pendant la mise en commun, puis à remplir la valeur à la position d'origine pendant la mise en commun, et à remplir 0 pour que les autres positions soient OK.

DeepLab

Ensuite, une structure très mature et élégante est introduite, de sorte que bon nombre des améliorations actuelles sont basées sur cette structure de réseau.

Tout d'abord, nous soulignerons la rugosité de la première structure FCN : afin de s'assurer que la taille de la sortie ne sera pas trop petite, l'auteur de FCN a directement ajouté 100 padding à l'image originale dans la première couche. seront introduits.

Et comment pouvons-nous nous assurer que la taille de sortie n'est pas trop petite sans ajouter 100 padding ?

Certaines personnes peuvent dire qu'il ne suffit pas de réduire la couche de regroupement, ce qui est théoriquement possible, mais cela modifie directement la structure disponible d'origine, et le point le plus important est que les paramètres de structure précédents ne peuvent pas être utilisés pour un réglage fin.

Par conséquent, Deeplab utilise ici une approche très élégante : changez la foulée de la mise en commun à 1 et ajoutez 1 rembourrage. De cette manière, la taille de l'image regroupée n'est pas réduite et les caractéristiques des fonctionnalités d'intégration regroupées sont toujours conservées.

Cependant, les choses ne sont pas encore terminées. Étant donné que la couche de regroupement a changé, le champ récepteur de la convolution suivante a également changé en conséquence, de sorte qu'un réglage fin ne peut pas être effectué. C'est pourquoi Deeplab a proposé une nouvelle convolution, la convolution à trous : Atrous Convolution.

9e29c383b51a39b75cd78cd1e9680ff6.png

 Les modifications spécifiques du champ réceptif sont les suivantes :

f80c93c921eb27798a234800344cbb5e.png

a est le résultat d'une mise en commun ordinaire, et b est le résultat d'une mise en commun "élégante". Nous imaginons qu'une convolution normale avec une taille de noyau de convolution de 3 est effectuée sur a, et la taille de champ récepteur correspondante est de 7. Lorsque la même opération est effectuée sur b, le champ récepteur correspondant devient 5. Le champ récepteur est réduit.

Mais si vous utilisez Atrous Convolution avec un trou de 1, le champ réceptif est toujours de 7.

Par conséquent, Atrous Convolution peut garantir que le champ récepteur après une telle mise en commun reste inchangé, de sorte qu'il puisse affiner et garantir que les résultats de sortie sont plus raffinés. lequel est:

3011f2b35c0569d50a4b2bcf799b7ce4.png

Résumer

Trois structures sont présentées ici : FCN, SegNet/DeconvNet, DeepLab. Bien sûr, il existe d'autres méthodes structurelles, telles que l'utilisation de RNN, il existe des méthodes plus pratiques faiblement supervisées, etc.

extrémité arrière

Enfin arrivé à l'arrière-plan. L'arrière-plan parlera de quelques champs, impliquant des choses mathématiques. Ma compréhension n'est pas particulièrement profonde, donc les plaintes sont les bienvenues.

Champ aléatoire conditionnel entièrement connecté (DenseCRF)

Pour chaque pixel , il outside_default.pngexiste une étiquette de classe outside_default.pnget une valeur d'observation correspondante outside_default.png, de sorte que chaque pixel est utilisé comme nœud et que la relation entre les pixels est utilisée comme bord, ce qui constitue un champ aléatoire conditionnel.

Et on en déduit l'étiquette de catégorie correspondant au outside_default.pngpixel en observant la variable . Le champ aléatoire conditionnel est le suivant :outside_default.pngoutside_default.png

76fdc0870eddcf4cfc83fc5d0a558278.png 

Le champ aléatoire conditionnel est conforme à la distribution de Gibbs : (voici outside_default.pngla valeur observée mentionnée ci-dessus)

outside_default.png

outside_default.pngest la fonction énergétique. Pour simplifier, les observations globales sont omises ci-dessousoutside_default.png :

outside_default.png

La fonction de potentiel unaire outside_default.pngest la sortie du FCN frontal. La fonction de potentiel binaire est la suivante :

outside_default.png

La fonction de potentiel binaire décrit la relation entre les pixels et encourage les pixels similaires à se voir attribuer la même étiquette, tandis que les pixels avec une grande différence se voient attribuer des étiquettes différentes, et la définition de cette "distance" est liée à la valeur de couleur et à la distance relative réelle .

Ainsi, ce CRF peut faire en sorte que l'image soit divisée autant que possible à la frontière.

La différence du champ aléatoire conditionnel entièrement connecté est que la fonction de potentiel binaire décrit la relation entre chaque pixel et tous les autres pixels, elle est donc appelée "connexion complète".

N'hésitez pas à comprendre ce tas de formules ... et il est plus gênant de calculer directement ces formules (je pense que c'est aussi gênant), donc la méthode d'approximation du champ moyen est généralement utilisée pour le calcul.

Et l'approximation du champ moyen est un tas de formules, je ne le donnerai pas ici (je ne pense pas que tout le monde soit prêt à le lire), les étudiants qui veulent comprendre peuvent lire directement le papier.

CRFasRNN

Au début, DenseCRF était utilisé directement après la sortie de FCN, ce qui est relativement approximatif.

Et dans l'apprentissage en profondeur, nous recherchons tous des systèmes de bout en bout, donc cet article CRFasRNN combine vraiment DenseCRF en FCN.

Cet article utilise également la méthode d'approximation du champ moyen, car chaque étape de la décomposition consiste en des calculs de multiplication et d'addition, ainsi qu'en une addition et une soustraction ordinaires (voir l'article pour la formule spécifique), il est donc pratique de décrire chaque étape comme une Les couches sont calculé comme des convolutions.

Cela peut être incorporé dans le réseau neuronal, et il n'y a aucun problème de propagation vers l'avant et vers l'arrière.

Bien sûr, l'auteur l'itère également ici, et les résultats obtenus par différentes itérations sont également différents en degré d'optimisation (généralement le nombre d'itérations dans les 10), donc l'article dit que c'est comme RNN.

Les résultats d'optimisation sont les suivants :

d04a9c774b998fc4a2740e60c8eae3a9.png

Champ aléatoire de Markov (MRF)

MRF est utilisé dans Deep Parsing Network, et sa formule est similaire à CRF, mais l'auteur a modifié la fonction de potentiel binaire :

outside_default.png

Parmi eux, l'auteur a ajouté l' outside_default.pngétiquette contexte, car elle outside_default.pngne définit que la fréquence de deux pixels apparaissant en même temps, et outside_default.pngcertaines situations peuvent être sanctionnées, par exemple, des personnes peuvent être à côté de la table, mais la possibilité d'être sous le table est moins.

Ainsi, cette quantité peut apprendre la probabilité de différentes situations. La distance d'origine outside_default.pngne définit que la relation entre deux pixels.L'auteur ajoute ici une triple pénalité, c'est-à-dire que les outside_default.pngvoisins sont également introduits outside_default.png, de sorte que la description de la relation tripartite est commode pour obtenir un contexte local plus suffisant. La structure spécifique est la suivante :

c6f3e07c5c7f62877d1799c82e1aeae2.png

Les avantages de cette structure sont :

  • Construire le champ moyen dans un CNN

  • Entraînement conjoint et inférence en une passe sans itération

Champ aléatoire conditionnel gaussien (G-CRF)

Cette structure utilise CNN pour apprendre respectivement la fonction de potentiel unaire et la fonction de potentiel binaire. Cette structure est celle que nous préférons :

8bfc9f50b38a27d7cd23e7a011b0b637.png

Et la fonction énergétique ici est différente d'avant:

outside_default.png

Et lorsqu'il outside_default.pngs'agit d'un temps positif symétrique, trouver outside_default.pngla valeur minimale équivaut à résoudre :

outside_default.png

Les avantages du G-CRF sont :

  • L'énergie secondaire a un impact global clair

  • Beaucoup plus facile à résoudre linéairement 

compréhension

FCN est plus une astuce. Des progrès continus sont réalisés à mesure que les performances des réseaux de base (par exemple VGG, ResNet) s'améliorent.

Deep Learning + modèles graphiques probabilistes (PGM) est une tendance. En fait, DL consiste à extraire des caractéristiques, et PGM peut bien expliquer la relation entre l'essence des choses à partir de la théorie mathématique.

Mise en réseau de modèles graphiques probabilistes. Étant donné qu'il n'est généralement pas pratique d'ajouter PGM au modèle DL, une fois le PGM mis en réseau, les paramètres PGM peuvent être appris par eux-mêmes et un système de bout en bout peut être formé en même temps.

citation

[1]Réseaux entièrement convolutifs pour la segmentation sémantique

[2]Réseau d'apprentissage de déconvolution pour la segmentation sémantique

[3] Inférence efficace dans les CRF entièrement connectés avec des potentiels de bord gaussiens

[4]Segmentation sémantique des images avec des réseaux convolutifs profonds et des CRF entièrement connectés

[5]Champs aléatoires conditionnels en tant que réseaux de neurones récurrents

[6]DeepLab : Segmentation d'images sémantiques avec des réseaux à convolution profonde, une convolution atreuse et des CRF entièrement connectés

[7]Segmentation sémantique des images via un réseau d'analyse approfondie

[8]Inférence rapide, exacte et multi-échelle pour la segmentation d'images sémantiques avec des CRF gaussiens profonds

[9] Segnet

Lecture recommandée:

Mon partage de recrutement scolaire Internet 2022

Mon résumé 2021

Parler de la différence entre la publication d'algorithme et la publication de développement

Récapitulatif des salaires en recherche et développement en recrutement scolaire sur Internet

Pour les séries chronologiques, tout ce que vous pouvez faire.

Qu'est-ce que le problème de séquence spatio-temporelle ? Quels modèles sont principalement utilisés pour de tels problèmes ? Quelles sont les principales applications ?

Numéro public : voiture escargot AI

Restez humble, restez discipliné, restez progressiste

39cabf69105b482f2b5fde380f69dadc.png

Envoyez [Snail] pour obtenir une copie de "Hands-on AI Project" (AI Snail Car)

Envoyez [1222] pour obtenir une bonne note de brossage leetcode

Envoyez [AI Four Classics] pour obtenir quatre livres électroniques classiques sur l'IA

Je suppose que tu aimes

Origine blog.csdn.net/qq_33431368/article/details/123492137
conseillé
Classement