XaLogic propose un HAT de Machine Learning pour les Pi Zero

La XAM3500 est une extension HAT pour Raspberry Pi Zero fabriquée par Xalogic et destinée à apporter un peu de Machine Learning à ces solutions. Il existe d’autres solutions de ce type mais c’est un format rare que celui d’une Pi Zero.

XaLogic propose avec son extension XAPIZ3500  de rajouter des fonctions d’Intelligence Artificielle à ces cartes très compactes utilisées dans beaucoup de solutions mobiles et  dans de nombreux projets de caméras embarquées. En intégrant leur module d’IA XAM3500 dans ce format, la marque propose donc une solution extrêmement compacte pour ajouter des fonctions de ce type.

2019-08-07 15_45_11-minimachines.net

Le XAM3500 n’est pas le module le plus performant qui soit en terme de machine learning, il s’agit d’un module double coeur Kendryte K210 RISC-V 64 Bits dédié à ce type de calcul. La marque indique qu’il pourra gérer 0.23 TOPS de puissance de calcul. Très peu si on considère les normes actuelles mais la solution peut le faire avec une consommation minimale de 300 milliwatts. Si vous avez déjà fait joujou avec ce type de puce vous avez surement pu constater la poussée de fièvre que peut provoquer un processeur dédié au Machine Learning. il s’agit souvent de solutions très ventilées ou coiffées d’un énorme dissipateur. La solution de XaLogic est certes moins performante mais également moins gourmande et par conséquent beaucoup moins encombrante.

Un choix intéressant pour des usages basiques de Machine Learning au sein de caméras embarquées par exemple mais également de solutions robotiques qui se satisferont des “maigres” performances de la machine car elles économiseront l’autonomie des engins. On imagine ainsi un capteur de caméra piège équipée d’une Raspberry Pi 3 et d’un XAPIZ3500  pouvant détecter quel type d’animal a été photographié avant d’envoyer une capture par SMS. Dans des usages de détection pour des caméras intérieures ou autre, le  format sera également ici important.

XaLogic annonce des performances, que la marque compte optimiser à l’avenir, de 3 images par seconde avec une Pi Zero et de 8 images par seconde avec une Pi 3B+. Cela veut dire que sur un flux constant filmé par la camera d’un module Pi il sera possible d’analyser 3 ou 8 de celles-ci et d’en prendre note. Pas énorme mais suffisant pour de nombreux usages comme de la reconnaissance d’objets, de QRCode ou d’autres informations.

Point intéressant, la carte est proposée à 25.74€ sans frais de port pour la France avec une expédition depuis Singapour. Un tarif abordable pour une intégration dans différents projets existants ou futurs. La carte ouvre également une porte vers l’apprentissage et la maîtrise de ce type d’outil même si des solutions Movidius d’Intel ou les Jetson Nano de Nvidia restent également largement accessibles.

Plusieurs ressources sont accessibles sur le Github de la marque, d’autres concernant le SoC Kendryte K210 qui dispose lui aussi d’une page GitHub. L’image d’un système pour Raspberry Pi afin d’exploiter la carte est disponible à cette adresse.

12 commentaires sur ce sujet.
  • 7 août 2019 - 16 h 59 min

    Je suis très peu informé sur les capacités de machine learning, et je suis interloqué à l’idée de rajouter un hat avec un SoC dédié, alors que la Pi Zéro a un processeur ARM sur puissant sûrement capable de machine learning, non?

    Quelqu’un peut m’expliquer pourquoi adjoindre un copro ML au ARM de la PIZero ? Voire le ratio de performance entre les 2 ? Merciiiiiiiiii!

    Répondre
  • 7 août 2019 - 19 h 37 min

    @StarDreamer: “la Pi Zéro a un processeur ARM sur puissant”

    Tu serais pas Marseillais ?^^

    Répondre
  • 7 août 2019 - 20 h 36 min

    C’est le Breton qui se moquer d’un marseillais ?
    Sinon pour la reco d’images il y a le module jevois dans le même ordre de prix. Beaucoup plus puissant.

    Répondre
  • 7 août 2019 - 21 h 30 min

    @Le Breton: Même pas vrai. Si je dis que le proc de la Pi est surpuissant, c’est avant tout pour les usages qui en sont fait => souvent, la Pi est utilisée comme un Arduino, et 1GHz pour bagotter 3 leds, c’est juste surpuissant.
    De même, le K210 est un dual risc à 400Mhz, soit moins de puissance brut qu’une Pi Zero.

    Donc, oui, la Pi a un proc ARM surpuissant par rapport au K210.
    Et ça ne répond donc toujours pas à ma question ….

    Répondre
  • 7 août 2019 - 22 h 04 min

    @StarDreamer: L’Ia demande demande d’éffectuer des opérations vectorielles exécutées de façon massivement parallèle, chose qu’un processeur généraliste peut faire, mais pour lesquelles il n’est pas du tout optimisé et est donc relativement lent et/ou energivore. En somme un processeur généréraliste pour exécuter des opérations d’IA, c’est comme utiliser un processeur généraliste pour les calculs graphiques à la place d’un GPU. Ça le fait, mais ce n’est pas du tout optimal.

    L’interêt de ce Hat est d’ailleur surtout axé sur le ratio consomation/performances, plus que sur les performances pures. Le Pi seul pourrait effectivement faire bien mieux, mais pas du tout dans cette enveloppe thermique. Par exemple le module jevois que cite Maurice en est un bel exemple. Avec un petit cpu généraliste (Allwiner A33), il est plus performant mais fonctionne en permanence au bord de l’asphixie et se transforme en chaufferette malgrè qu’il soit coiffé d’un ventilateur.

    Ce Hat permet de faire de L’ia sans mettre le cpu à genoux.

    Répondre
  • 7 août 2019 - 22 h 49 min
  • bob
    8 août 2019 - 5 h 01 min

    Comme dit dans la video, l’interet est de garder à disposition le flux 720p ou 1080p de la camera, pour un streaming en sortie (avec encoder hw des raspPi bien supporté) et dedié la detection en basse resolution au K210.
    Sans ce besoin de sortie h264, le K210 se debrouille bien tout seul à un bout de chandelle moins cher (15$) : https://www.seeedstudio.com/Sipeed-Maixduino-Kit-for-RISC-V-AI-IoT-p-4047.html
    Le K210 est a priori incapable de sortir du h264, seul le robot “voit” mais l’humain derriere peut bien devenir aveugle ou alors s’adapter en vision noir et blanc.
    Ce coté IA faible sans remplir le cloud, commence à devenir vraiment sympathique!

    Répondre
  • 8 août 2019 - 10 h 11 min

    Merci Pierre pour la découverte, c’est commandé. Effectivement la forme et la faible conso sont de bons arguments pour de petits projets maison.

    Répondre
  • 8 août 2019 - 12 h 22 min

    @bob: Tiens je connaissais pas ce kit :)

    Répondre
  • 8 août 2019 - 16 h 14 min

    @StarDreamer:

    D’où viennent tes stat sur l’utilisation d’un Pi pour 3 leds ?

    J’ai 3 Pi chez moi, un avec LibreElec et un hat Digi pro, un qui me sert d’access point wifi/dns/dhcp et un autre pour piloter un module caméra….j’ai pas de leds :)

    Si je veux piloter des leds ou des relais, j’utiliserais un arduino.

    Du coup il m’intéresse ce hat pour essayer la reconnaissance.

    Répondre
  • 8 août 2019 - 21 h 16 min

    @Laurent Simon: Merci pour la réponse. Effectivement, en expliquant la part de calculs massifs, il est clair qu’un circuit spécialisé est tout de suite plus performant !

    @bob: Oui, vive l’IA embarquée et autonome, et arrêtons les délires avec les clouds.

    @DeVille: J’ai pas voulu lancer de polémique, mais il s’agit juste d’une remarque généraliste : il suffit juste de suivre le blog hackaday depuis des années pour s’en rendre compte.

    En gros, une PiZ coute moins cher qu’un arduino officiel, et la première chose que tu apprends sur les workshop de la fondation, c’est de piloter des GPIO (et derrière une breadboard ben des leds quoi) avec un script python. Puis après les amusements du début, quand on se rend compte qu’il faut réfléchir très dur pour apprendre la programmation et faire des vrais trucs avec une Pi, ben ça fini rapido en media center sous la télé.

    Bon, après, chacun fait ou pense ce qu’il veut, je serais le dernier à partir faire de l’évangélisation ni au contraire me battre contre les préjugés des autres.

    (à la base, pour mon premier commentaire, je voulais juste traverser un pont … euh, avoir une réponse à ma question :) )

    Répondre
  • 9 août 2019 - 11 h 33 min

    @StarDreamer:
    Le jour où le SoC utilisé pour le RPi sera équipé d’un NPU (Neural Processor Unit) oui, ce genre d’addon sera inutile (sauf si le NPU intégré est pourri). Mais ce n’est pas le cas aujourd’hui. Donc c’est nécessaire afin de ne pas utiliser le processeur central qui n’est pas optimisé pour cela. Tout comme il n’est pas optimisé pour faire du graphique et c’est la raison pour laquelle il y a un GPU.
    db

    Répondre
  • LAISSER UN COMMENTAIRE

    *

    *