EfficientDet vs. YOLOv6.0 : Une comparaison technique complète
Dans le paysage évolutif de la vision par ordinateur, le choix de la bonne architecture de détection d'objets est essentiel pour un déploiement réussi. Cette comparaison explore les distinctions techniques entre EfficientDet, un modèle de Google axé sur la recherche, et YOLOv6.0, un détecteur de qualité industrielle de Meituan. Alors qu'EfficientDet a introduit des concepts d'efficacité révolutionnaires tels que l'échelonnement composé, YOLOv6.0 a été conçu spécifiquement pour les applications industrielles à faible latence, mettant en évidence le passage des benchmarks académiques au débit du monde réel.
Comparaison des mesures de performance
Les repères suivants sur l'ensemble de donnéesCOCO illustrent le compromis entre l'efficacité architecturale et la latence de l'inférence. YOLOv6.0 démontre une vitesse supérieure sur le matériel GPU , en s'appuyant sur des techniques de reparamétrage, tandis qu'EfficientDet maintient une précision compétitive à des coûts de calcul plus élevés.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
EfficientDet : Efficacité évolutive
EfficientDet a représenté un changement de paradigme dans la conception des modèles en optimisant systématiquement la profondeur, la largeur et la résolution du réseau. Construit sur l'épine dorsale EfficientNet, il a introduit le Bi-directional Feature Pyramid Network (BiFPN), qui permet une fusion facile des caractéristiques à plusieurs échelles.
- Auteurs: Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation: Google
- Date: 2019-11-20
- Arxiv : https://arxiv.org/abs/1911.09070
- GitHub :google
- Docs :google
Innovations architecturales
Le cœur d'EfficientDet est le BiFPN, qui permet aux informations de circuler à la fois de haut en bas et de bas en haut, en fusionnant de manière répétée des caractéristiques à différentes échelles. Cela contraste avec les réseaux pyramidaux de caractéristiques (FPN) plus simples souvent utilisés dans les détecteurs plus anciens. En outre, EfficientDet utilise la méthode Compound Scaling, qui permet d'échelonner uniformément les réseaux backbone, BiFPN et class/box à l'aide d'un coefficient composé unique $\phi$. Cette approche structurée garantit que les ressources sont équilibrées entre les différentes dimensions du modèle, ce qui permet d'éviter les goulets d'étranglement que l'on trouve souvent dans les architectures conçues manuellement.
Points forts et faiblesses
EfficientDet excelle dans l'efficacité des paramètres, atteignant des taux élevés de mAP élevé avec relativement moins de paramètres que ses contemporains tels que YOLOv3. Il est particulièrement efficace pour les tâches de classification et de détection d'images où la taille du modèle (stockage) est une contrainte mais où la latence est négociable. Cependant, les connexions irrégulières complexes de la couche BiFPN et l'utilisation intensive de convolutions séparables en profondeur peuvent être inefficaces sur les GPU standard, ce qui entraîne une latence d'inférence plus élevée malgré des nombres de FLOP plus faibles.
Latence vs. FLOPs
Bien qu'EfficientDet ait un faible nombre d'opérations en virgule flottante (FLOP), cela ne se traduit pas toujours par une vitesse plus élevée sur les GPU. Les coûts d'accès à la mémoire de ses convolutions séparables dans le sens de la profondeur peuvent freiner les performances par rapport aux convolutions standard utilisées dans les modèles YOLO .
En savoir plus sur EfficientDet
YOLOv6.0 : Vitesse industrielle
YOLOv6.0 s'éloigne des mesures purement académiques pour se concentrer sur le débit dans le monde réel, en optimisant spécifiquement les contraintes matérielles rencontrées dans les environnements industriels.
- Auteurs : Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu et Xiangxiang Chu
- Organisation : Meituan
- Date : 2023-01-13
- Arxiv : https://arxiv.org/abs/2301.05586
- GitHub :YOLOv6
- Docs :ultralytics
Architecture et conception
YOLOv6.0 utilise une épine dorsale EfficientRep, qui utilise le reparamétrage (style RepVGG) pour découpler les architectures du temps d'apprentissage et du temps d'inférence. Pendant l'apprentissage, le modèle utilise des blocs complexes à branches multiples pour améliorer le flux de gradient ; pendant l'inférence, ces blocs se transforment en convolutions uniques de 3 fois 3 $, maximisant ainsi la capacité du GPU pour maximiser la densité de calcul du GPU. La version 3.0 a également intégré des stratégies avancées telles que l'apprentissage conscient de la quantification (QAT) et l'autodistillation, ce qui permet au modèle de conserver sa précision même lorsqu'il est quantifié avec une précision INT8 pour être déployé sur des appareils périphériques.
Cas d'utilisation idéaux
Grâce à sa conception adaptée au matériel, YOLOv6.0 est idéal pour :
- Fabrication à grande vitesse: Détection des défauts sur les bandes transporteuses à mouvement rapide où la vitesse d'inférence n'est pas négociable.
- Automatisation de la vente au détail: Alimentation des systèmes de caisse sans caissier qui nécessitent une reconnaissance d'objets à faible latence.
- Analyse des villes intelligentes: Traitement de plusieurs flux vidéo pour l'analyse du trafic ou les systèmes de sécurité.
Analyse comparative
La divergence de philosophie de conception entre ces deux modèles crée des avantages distincts en fonction du matériel de déploiement.
Précision en fonction de la vitesse
Comme le montre le tableau, YOLOv6.0l atteint un mAP (52,8) comparable à celui d'EfficientDet-d6 (52,6) mais fonctionne presque 10 fois plus vite sur un GPU T4 (8,95 ms contre 89,29 ms). Cet écart considérable met en évidence l'inefficacité des convolutions en profondeur sur du matériel à haut débit par rapport aux convolutions denses de YOLOv6. EfficientDet conserve un léger avantage en termes de précision absolue avec sa plus grande variante D7, mais à un coût de latence qui interdit l'inférence en temps réel.
Formation et polyvalence
EfficientDet s'appuie fortement sur l'écosystème TensorFlow et l'accélération TPU pour une formation efficace. En revanche, YOLOv6 s'inscrit dans l'écosystème PyTorch , ce qui le rend plus accessible aux chercheurs en général. Cependant, les deux modèles sont principalement conçus pour la détection d'objets. Pour les projets nécessitant une segmentation des instances ou une estimation de la pose, les utilisateurs doivent souvent rechercher des fourches externes ou des architectures alternatives.
L'avantage Ultralytics
YOLOv6.0 et EfficientDet sont des modèles performants, Ultralytics YOLO11 représente la prochaine évolution dans le domaine de la vision par ordinateur, en s'attaquant aux limites de ses deux prédécesseurs grâce à un cadre unifié et centré sur l'utilisateur.
Pourquoi choisir Ultralytics YOLO11 ?
- Facilité d'utilisation et écosystème: Contrairement aux référentiels fragmentés de modèles de recherche, Ultralytics offre une expérience transparente. Une APIPython cohérente vous permet d'entraîner, de valider et de déployer des modèles en quelques lignes de code seulement.
- Une polyvalence inégalée: YOLO11 ne se limite pas aux boîtes de délimitation. Il prend en charge en mode natif Classification des images, Segmentation d'instances, Estimation de la poseet boîtes englobantes orientées (OBB)ce qui en fait une solution unique pour les pipelines d'IA complexes.
- Efficacité de la formation: Les modèles Ultralytics sont optimisés pour les besoins en mémoire, convergeant souvent plus rapidement et utilisant moins de VRAM que les architectures plus anciennes ou lourdes en transformateurs. Cette accessibilité démocratise le développement de l'IA haut de gamme pour ceux qui ne disposent pas de clusters de calcul massifs.
- Un écosystème bien entretenu: Soutenu par une communauté active et des mises à jour fréquentes, l'écosystème Ultralytics assure la pérennité de vos projets, avec des intégrations faciles dans des outils d'annotation de données, de journalisation et de déploiement.
Développement rationalisé
Avec Ultralytics, passer de la détection d'objets à la segmentation d'instances est aussi simple que de changer le nom du modèle (par exemple, yolo11n.pt à yolo11n-seg.pt). Cette flexibilité réduit considérablement le temps de développement par rapport à l'adaptation de différentes architectures comme EfficientDet pour de nouvelles tâches.
Exemple de code
Découvrez la simplicité de l'API Ultralytics par rapport aux codes de recherche complexes :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
Conclusion
EfficientDet reste un point de repère dans la théorie de la mise à l'échelle des modèles, idéal pour la recherche académique ou le traitement hors ligne où la précision est la seule métrique. YOLOv6.0 repousse les limites de l'IA industrielle, offrant une excellente vitesse sur le matériel pris en charge.
Cependant, pour une solution holistique qui concilie les performances de pointe et la productivité des développeurs, Ultralytics YOLO11 est le choix recommandé. Son intégration de diverses tâches de vision, sa faible empreinte mémoire et son système d'assistance robuste permettent aux développeurs de passer du prototype à la production en toute confiance.
Explorer d'autres modèles
Si vous souhaitez aller plus loin, vous pouvez consulter ces comparaisons dans notre documentation :