La vi­sion haute per­for­mance au coeur de la ré­vo­lu­tion in­dus­trielle

Nous sommes au­jourd’hui à l’orée de la pro­chaine ré­vo­lu­tion in­dus­trielle où la vi­sion in­dus­trielle se­ra la prin­ci­pale source de chan­ge­ments, les sys­tèmes de vi­sion in­tel­li­gents étant dé­sor­mais ca­pables d’in­té­grer des al­go­rithmes d’ap­pren­tis­sage très ef­fic

Mesures - - Front Page - Dr. Lars As­plund et Dr. Fre­drik Bruhn, Uni­bap Ar­ticle adap­té par Pas­cal Coutance

Ini­tia­le­ment, la vi­sion in­dus­trielle uti­li­sait des cap­teurs d’image simples et des pro­ces­seurs de si­gnaux nu­mé­riques ( Di­gi­tal Si­gnal Pro­ces­sors, DSP). Au­jourd’hui, avec le dé­ve­lop­pe­ment de cap­teurs de haute per­for­mance à prix rai­son­nable –l’un des trois prin­ci­paux mo­teurs de la nou­velle ré­vo­lu­tion ro­bo­tique–, il est pos­sible de trou­ver des exemples d’ap­pli­ca­tions pour les­quelles la re­con­nais­sance vi­suelle n’est plus sim­ple­ment un moyen d’iden­ti­fier des sché­mas bien éta­blis se­lon un pro­cé­dé de type «dé­tec­tion-com­pa­rai­son-dé­ci­sion » (« sense-com­pare-de­cide »). En ef­fet, la ro­bo­tique ac­tuelle – des sys­tèmes sta­tion­naires simples jus­qu’aux vé­hi­cules au­to­nomes– se trans­forme pour abou­tir à un com­por­te­ment des ro­bots plus so­phis­ti­qué de type «dé­tec­tion-pla­ni­fi­ca­tion-ac­tion» (« sense-plan-act »).Ain­si, pour un ro­bot, un sys­tème de vi­sion peut être consi­dé­ré comme un «oeil» ex­trê­me­ment per­for­mant qui l’in­forme sur sa po­si­tion et sur son en­vi­ron­ne­ment (c’est la phase « dé­tec­tion »). Quant à la puis­sance de cal­cul des pro­ces­seurs em­bar­qués sur ce sys­tème de vi­sion et ba­sés sur une ar­chi­tec­ture sys­tème hé­té­ro­gène ( He­te­ro­ge­neous Sys­tem Ar­chi­tec­ture), comme le SOC ( Sys­tem-onC­hip) de la sé­rie G D’AMD, on peut en quelque sorte l’as­si­mi­ler à un « cer­veau» qui com­prend et in­ter­prète cet en­vi­ron­ne­ment (phase « pla­ni­fi­ca­tion»). C’est le deuxième mo­teur dé­ter­mi­nant de la ré­vo­lu­tion ro­bo­tique - le pro­ces­seur - qui dé­livre les per­for­mances re­quises avec une consommation d’éner­gie aus­si mo­dé­rée que pos­sible. En­fin, le troi­sième élé­ment per­met­tant de créer une ro­bo­tique in­tel­li­gente est ce­lui qui per­met au ro­bot d’agir (phase « ac­tion »). Et pour se mettre en ac­tion, ces ro­bots re­quièrent des bat­te­ries à haute den­si­té de puis­sance et des mo­teurs à haut ren­de­ment. Aus­si, les tech­no­lo­gies avan­cées de bat­te­ries et les mo­teurs à cou­rant conti­nu sans ba­lais de type BLDC ( Bru­sh­less DC) consti­tuent-ils ce troi­sième élé­ment. C’est la com­bi­nai­son de ces trois ca­ta­ly­seurs, et les tech­no­lo­gies avan­cées qui les ré­gissent, qui rendent les sys­tèmes de vi­sion et la ro­bo­tique si pro­met­teurs au­jourd’hui.

Des nou­veaux sys­tèmes de vi­sion in­tel­li­gents

Exa­mi­nons de plus près la par­tie vi­sion de cette ré­vo­lu­tion in­dus­trielle. Les yeux hu­mains sont re­liés par des nerfs au « cor­tex vi­suel » de notre cer­veau. De nos cinq sens, le cor­tex vi­suel re­pré­sente la plus grande par­tie du cer­veau. Par ana­lo­gie, des sys­tèmes de vi­sion

in­dus­trielle ba­sés sur le cal­cul pa­ral­lèle of­fert par un SOC hé­té­ro­gène, tels que L’IVS-70 dé­ve­lop­pé par la so­cié­té sué­doise Uni­bap ( voir pho­to page pré­cé­dente), sont les ca­ta­ly­seurs du cor­tex vi­suel ar­ti­fi­ciel dans les sys­tèmes de vi­sion in­dus­trielle. Leurs «yeux» sont des len­tilles et des cap­teurs op­tiques, et leurs « nerfs op­tiques», liés au cor­tex vi­suel ar­ti­fi­ciel, sont des connexions à haute vi­tesse entre les cap­teurs et les uni­tés de cal­cul. Ces sys­tèmes four­nissent non seule­ment une vi­tesse éle­vée et une haute ré­so­lu­tion pour concur­ren­cer la vi­sion hu­maine, mais ils pro­curent éga­le­ment des in­for­ma­tions spa­tiales pré­cises sur les en­droits où des re­pères et des ob­jets sont lo­ca­li­sés. Pour ce faire, la vi­sion sté­réo­sco­pique s’avère le choix na­tu­rel. Des ap­pli­ca­tions in­dus­trielles pour ce type de sys­tèmes de vi­sion se re­trouvent, par exemple, dans les ma­chines de sé­lec­tion d’ar­ticles à par­tir de bacs non triés. Mon­té sur un bras de ro­bot, un sys­tème de vi­sion peut ef­fec­tuer une «vi­sion as­ser­vie» à 50 images par se­conde et iden­ti­fier l’élé­ment le plus ap­pro­prié à pré­le­ver le temps que la pince du bras ro­bot s’ap­proche du bac. Ce­la rend le ba­layage –qui peut prendre quelques se­condes – et la re­pro­gram­ma­tion du bras du ro­bot su­per­flus. Les voi­tures au­to­nomes ain­si que les ro­bots do­mes­tiques sont quelques autres exemples d’ap­pli­ca­tions évi­dentes pour des tech­no­lo­gies de vi­sion sté­réo­sco­pique de ce type.

Cor­tex vi­suel ar­ti­fi­ciel

Comment ce pro­ces­sus fonc­tionne-t-il dans le dé­tail? Les pre­mières étapes du trai­te­ment de l’in­for­ma­tion sont stric­te­ment lo­ca­li­sées au ni­veau de chaque pixel, et sont donc exé­cu­tées par un FPGA ( Field-pro­gram­mable Gate Ar­ray). Le fait que les ca­mé­ras cou­leur «pensent» en RGB ( Red-green-blue, avec des pixels rouges, verts et bleus), tout comme l’oeil hu­main, est un point com­mun à toute vi­sion in­dus­trielle, mais cette mé­thode n’est pas adap­tée au cal­cul pré­cis d’une image.aus­si, l’in­for­ma­tion RGB doit-elle d’abord être conver­tie en don­nées HSI ( Hue, Sa­tu­ra­tion, In­ten­si­ty ou teinte, sa­tu­ra­tion, in­ten­si­té). La rec­ti­fi­ca­tion de l’image pour com­pen­ser la dis­tor­sion liée aux len­tilles consti­tue l’étape sui­vante, éga­le­ment né­ces­saire. En­suite, la cor­res­pon­dance sté­réo peut être ef­fec­tuée entre les deux ca­mé­ras. Ces étapes sont exé­cu­tées dans un FPGA qui as­siste le pro­ces­seur à coeur x86. Tous les cal­culs sui­vants sont spé­ci­fiques à l’ap­pli­ca­tion et exé­cu­tés de pré­fé­rence sur la pla­te­forme de pro­ces­seur x86 em­bar­quée hau­te­ment flexible et pro­gram­mable, qui doit rem­plir des tâches très com­plexes pour com­prendre et in­ter­pré­ter le conte­nu d’une image. Afin de se rendre compte de la com­plexi­té de ces tâches, il est né­ces­saire de com­prendre que l’in­ter­pré­ta­tion du conte­nu d’une image est ex­trê­me­ment com­plexe pour les pro­gram­meurs de lo­gi­ciels et que, jus­qu’à ré­cem­ment, le cor­tex vi­suel hu­main était su­pé­rieur à la tech­no­lo­gie informatique. Tou­te­fois, les pro­grès tech­no­lo­giques ré­cents changent ra­di­ca­le­ment la donne, à l’image de l’or­di­na­teur Al­pha­go de Google qui a réus­si à battre le meilleur

joueur de Go au monde. Ce­ci a été réa­li­sé en exé­cu­tant des al­go­rithmes de ré­seau neu­ro­naux. Mais est-ce vrai­ment si ré­vo­lu­tion­naire ? N’avons-nous pas dé­jà vu des al­go­rithmes de ré­seaux neu­ro­naux dans un pas­sé ré­cent ? Ef­fec­ti­ve­ment, les ré­seaux neu­ro­naux ne sont pas nou­veaux et consti­tuent l’une des nom­breuses mé­thodes de l’in­tel­li­gence ar­ti­fi­cielle ( Ar­ti­fi­cial In­tel­li­gence, AI). Mais alors qu’ils étaient consi­dé­rés comme très pro­met­teurs dans les an­nées 1990 (les pro­grès avaient tou­te­fois été frei­nés à l’époque en rai­son de per­for­mances li­mi­tées), ils le sont en­core plus au­jourd’hui car toutes les tech­no­lo­gies de base dis­posent au­jourd’hui de beau­coup plus de puis­sance de cal­cul. Plus pré­ci­sé­ment, la bar­rière est tom­bée en par­tie en rai­son d’un manque de puis­sance de cal­cul et aus­si de pro­blèmes avec des ré­seaux com­por­tant trop de couches ca­chées. Les mé­thodes ré­centes uti­lisent en­core plus de couches dans la construc­tion des ré­seaux de neu­rones et au­jourd’hui le terme «ap­pren­tis­sage en pro­fon­deur» si­gni­fie l’uti­li­sa­tion d’un ré­seau de neu­rones avec beau­coup plus de couches que pré­cé­dem­ment. De plus, l’ar­chi­tec­ture sys­tème hé­té­ro­gène des SOC mo- dernes per­met d’uti­li­ser ef­fi­ca­ce­ment ces al­go­rithmes d’ap­pren­tis­sage en pro­fon­deur. La tech­no­lo­gie de coeur x86 est éga­le­ment in­té­res­sante pour les sys­tèmes in­tel­li­gents de vi­sion sté­réo­sco­pique en rai­son de l’op­ti­mi­sa­tion de son «strea­ming» et de ses ins­truc­tions vec­to­rielles dé­ve­lop­pées sur une longue pé­riode de temps, ain­si que d’un éco­sys­tème lo­gi­ciel très éten­du et ma­ture, d’al­go­rithmes de sys­tème de vi­sion et d’une large base de pi­lotes. Qui plus est, de nou­velles ini­tia­tives comme la mé­moire vir­tuelle par­ta­gée ( Sha­red­vir­tual Me­mo­ry, SVM) et l’ar­chi­tec­ture sys­tème hé­té­ro­gène ( He­te­ro­ge­neous Sys­tem Ar­chi­tec­ture, HSA) offrent dé­sor­mais une ex­cel­lente tech­no­lo­gie com­plé­men­taire aux sys­tèmes x86 en aug­men­tant les ca­pa­ci­tés de dé­bit né­ces­saires à une vi­sion in­dus­trielle in­tel­li­gente.

L’HSA pour une uti­li­sa­tion ef­fi­cace des res­sources

Avec l’in­tro­duc­tion des SOC de dernière gé­né­ra­tion D’AMD, un éco­sys­tème ma­té­riel est main­te­nant en place qui ac­cé­lère les al­go­rithmes d’in­tel­li­gence ar­ti­fi­cielle dans une lo­gique de cap­teurs dis­tri­bués et hau­te­ment in­té­grés. Ain­si, les dé­ve­lop­peurs de lo­gi­ciels peuvent main­te­nant pro­fi­ter d’un com­po­sant de trai­te­ment puis­sant qui était jus­qu’alors sur la touche et mal­heu­reu­se­ment sou­su­ti­li­sé : le pro­ces­seur gra­phique (GPU). En fait, le pro­ces­seur gra­phique peut ac­com­plir des trai­te­ments pa­ral­lèles de cal­culs in­ten­sifs beau­coup plus ef­fi­ca­ce­ment que le CPU, ce qui est im­por­tant lorsque la charge de cal­culs in­ten­sifs pa­ral­lèles aug­mente si­gni­fi­ca­ti­ve­ment. La clé de tout ce­la est le dé­ve­lop­pe­ment et la dis­po­ni­bi­li­té de l’ar­chi­tec­ture HSA qui ont été prin­ci­pa­le­ment conduits par AMD pour ce qui concerne la tech­no­lo­gie x86, éga­le­ment re­joint par de nom­breux autres lea­ders de l’in­dus­trie. Les mi­croar­chi­tec­tures sup­por­tant L’HSA com­binent par­fai­te­ment les ca­pa­ci­tés spé­cia­li­sées du CPU, du GPU et de di­vers autres élé­ments de trai­te­ment sur une seule puce que l’on ap­pelle l’uni­té de trai­te­ment ac­cé­lé­ré ( Ac­ce­le­ra­ted Pro­ces­sing Unit, APU). En ti­rant par­ti du po­ten­tiel in­ex­ploi­té du GPU, L’HSA pro­met non seule­ment d’amé­lio­rer les per­for­mances, mais éga­le­ment de four­nir de nou­veaux ni­veaux de per­for­mance (et de per­for­mance par watt) qui vont trans­for­mer fon­da­men­ta­le­ment l’in­ter­ac­tion avec nos équi­pe­ments. Avec L’HSA, la pro­gram­ma­tion est éga­le­ment sim­pli­fiée, à l’aide d’ou­tils stan­dards ou­verts tels que Mat­lab ou les bi­blio­thèques Open­cl/opencv. Et le sys­tème de vi­sion n’est pas le seul à pou­voir ex­ploi­ter cette per­for­mance de trai­te­ment Hsa.toutes les formes d’informatique per­cep­tive jouent éga­le­ment un rôle, comme celles qui per­mettent à un ro­bot de com­prendre ce que nous di­sons. Au­jourd’hui, les sys­tèmes-sur-puce, tels que ceux de la sé­rie G D’AMD, sont com­pa­tibles avec tous les points évo­qués dans cet ar­ticle. Ils offrent une HSA en com­bi­nant une ar­chi­tec­ture x86 avec

un GPU puis­sant, une in­ter­face PCI Express (PCIE) et une mul­ti­tude d’en­trées/sor­ties. Les SOC sé­rie G D’AMD présentent tou­te­fois un avan­tage sup­plé­men­taire, peu cou­rant sur le mar­ché, mais par­ti­cu­liè­re­ment im­por­tant à l’heure où les exi­gences crois­santes en ma­tière de sé­cu­ri­té des ap­pli­ca­tions ne cessent de croître : une ré­sis­tance ex­trê­me­ment éle­vée aux rayon­ne­ments élec­tro­ma­gné­tiques pour une plus grande in­té­gri­té des don­nées. L’in­té­gri­té des don­nées ga­ran­tie est l’une des condi­tions préa­lables les plus im­por­tantes aux exi­gences de fia­bi­li­té et de sé­cu­ri­té les plus éle­vées.tout cal­cul et toute dé­ci­sion au­to­nome en dé­pendent. Aus­si est-il es­sen­tiel que, par exemple, les don­nées sto­ckées dans la mé­moire Ram soient pro­té­gées contre toute dé­té­rio­ra­tion et que les cal­culs ef­fec­tués dans le CPU et le GPU soient conformes au code. Ce­pen­dant, des er­reurs peuvent se pro­duire en rai­son d’évé­ne­ments ap­pe­lés « single events ». Ils sont cau­sés par le rayon­ne­ment neu­tro­nique na­tu­rel dû aux par­ti­cules de haute éner­gie pro­ve­nant du so­leil et de l’es­pace pro­fond, frap­pant les couches hautes de l’at­mo­sphère ter­restre et gé­né­rant un flot de neu­trons iso­tropes secondaires jus­qu’au ni­veau du sol ou de la mer. La pro­ba­bi­li­té qu’un évé­ne­ment unique se pro­duise au ni­veau de la mer est com­prise entre 10- 8 et 10- 2 dé­faillances par heure pour chaque com­po­sant élec­tro­nique cou­ram­ment uti­li­sé. Ce­la si­gni­fie que toutes les 100 heures, un évé­ne­ment unique peut po­ten­tiel­le­ment conduire à des com­por­te­ments in­dé­si­rables et com­pro­met­tants des com­po­sants élec­tro­niques. C’est là que les SOC em­bar­qués de la sé­rie G D’AMD four­nissent le plus haut ni­veau de ré­sis­tance aux rayon­ne­ments et, par consé­quent, de sé­cu­ri­té. Des tests ef­fec­tués par le Nasa God­dard Space Flight Cen­ter 1 ont mon­tré que ces SOC peuvent to­lé­rer une dose to­tale de rayon­ne­ment io­ni­sant de 17Mrad (Si). Ce­la sur­passe de loin les va­leurs maxi­males ad­mis­sibles ac­tuel­le­ment. Alors que pour les hu­mains, la dose lé­tale est de 400 rad en une se­maine, dans les pro­grammes spa­tiaux stan­dards, les com­po­sants sont ha­bi­tuel­le­ment te­nus de ré­sis­ter à « seule­ment » 300 krad. Même une mis­sion spa­tiale vers Ju­pi­ter ne de­man­de­rait qu’une ré­sis­tance à 1 Mrad. Qui plus est, AMD prend en charge la mé­moire à cor­rec­tion d’er­reurs avan­cée ( Ad­van­ced Er­ror Cor­rec­tion me­mo­ry, ECC Ram) qui est une autre ca­rac­té­ris­tique es­sen­tielle pour cor­ri­ger les er­reurs de don­nées dans la mé­moire cau­sées par des évé­ne­ments uniques. (1) Ken­neth A. La­bel et al, « Ad­van­ced Mi­cro De­vices (AMD) Pro­ces­sor: Ra­dia­tion Test Re­sults », Nasa Elec­tro­nic Parts and Pa­cka­ging Pro­gram Elec­tro­nics Tech­no­lo­gy Work­shop, MD, June 11-12, 2013 (2) F. Bruhn, K. Brun­berg, J. Hines, L. As­plund and M. Nor­gren, « In­tro­du­cing ra­dia­tion to­le­rant he­te­ro­ge­neous com­pu­ters for small sa­tel­lites », Ae­ros­pace Con­fe­rence, 2015 IEEE, Big Sky, MT, 2015 http://ieeex­plore.ieee.org/stamp/stamp.jsp?tp= &ar­num­ber=7119158&is­num­ber=7118873

Le sys­tème de vi­sion in­tel­li­gent ( In­tel­li­gent­vi­sion Sys­tem, IVS) sté­réo­sco­pique de mis­sion cri­tique dé­ve­lop­pé par la so­cié­té sué­doise Uni­bap (ré­fé­rence IVS-70) em­barque un trai­te­ment hé­té­ro­gène avan­cé de type HSA pour des per­for­mances amé­lio­rées en termes de puis­sance de cal­cul. Qui plus est, une cor­rec­tion d’er­reur éten­due est ac­ti­vée sur l’élec­tro­nique et en par­ti­cu­lier sur le SOC em­bar­qué de la sé­rie G D’AMD et le FPGA Smart­fu­sion2 de Mi­cro­se­mi.

Le sys­tème de vi­sion IVS-70 d’uni­bap in­té­gré, ici sur un bras ro­bo­ti­sé D’ABB, joue le rôle d’oeil et de cer­veau pour le ro­bot. Ce­la va dans le sens de l’évo­lu­tion de la ro­bo­tique ac­tuelle qui se trans­forme pour abou­tir à un com­por­te­ment des ro­bots plus so­phis­ti­qué de type «dé­tec­tion-pla­ni­fi­ca­tion-ac­tion» (« sense-plan-act »).

Fre­drik Bruhn, Pdg de la so­cié­té sué­doise Uni­bap (à gauche), et Fa­bian Kun­kel, in­gé­nieur de re­cherche (à droite).

Newspapers in French

Newspapers from France

© PressReader. All rights reserved.