SegBlocks : Réseaux à résolution dynamique par blocs pour une segmentation en temps réel

SegBlocks réduit le coût computationnel des réseaux de neurones existants en ajustant dynamiquement la résolution de traitement des régions d'une image en fonction de leur complexité. Notre méthode divise une image en blocs et sous-échantillonne les blocs à faible complexité, ce qui diminue le nombre d'opérations et la consommation mémoire. Un réseau de politique léger, entraîné par apprentissage par renforcement, sélectionne les régions complexes. En outre, nous introduisons plusieurs modules implémentés en CUDA pour traiter les images par blocs. Le plus important, notre nouveau module BlockPad prévient les discontinuités de caractéristiques aux frontières des blocs, problème auquel sont soumis les méthodes existantes, tout en maintenant la consommation mémoire sous contrôle. Nos expériences sur les jeux de données Cityscapes, CamVid et Mapillary Vistas pour la segmentation sémantique montrent qu’un traitement dynamique des images permet d’obtenir un meilleur compromis entre précision et complexité par rapport aux méthodes statiques de complexité similaire. Par exemple, notre méthode réduit de 60 % le nombre d’opérations à virgule flottante de SwiftNet-RN18 et accroît la vitesse d’inférence de 50 %, avec une baisse seulement de 0,3 % de la précision mIoU sur Cityscapes.