Deze blogpost is het resultaat van een samenwerking tussen Visidon, met hoofdkantoor in Finland en Imagination, gevestigd in het VK. Visidon wordt erkend als een expert op het gebied van algoritmen voor het verbeteren en analyseren van camerabeelden en Imagination heeft een reeks toonaangevende neurale netwerkversnellers (NNA) met prestaties tot 100 TOPS per seconde per core.

Het probleem dat in deze blogpost wordt aangepakt, is het ruisonderdrukken van beelden van conventionele kleurencamera's. De oplossing bestaat uit twee delen:

  • Algoritmen die de ruis verwijderen zonder beelddetails te beschadigen.
  • Een krachtige convolutie-engine die in staat is een getraind neuraal netwerk te laten draaien dat een kleurenafbeelding als invoer en voert een kleurenafbeelding zonder ruis uit.

     Visidon neuraal netwerk

    Een voorbeeld van een Visidon diep neuraal netwerk

Het proces van het verwijderen van ruis heeft een lange geschiedenis. De manier waarop moderne CMOS-imagers werken, kan worden gezien als een reeks fotonentellers. Fotonen komen met een gemiddelde snelheid bij de sensor: minder in donkere gebieden met relatief hoge fluctuaties, maar meer in lichtere gebieden met relatief lagere fluctuaties, oftewel een betere signaal-ruisverhouding. De fluctuaties zijn de ruis (met Poisson-statistieken) als gevolg van de fysica van licht en kunnen in het algemeen niet worden vermeden. We kunnen de ruis echter verwijderen met verdere verwerking. Het belangrijkste is om dit te doen zonder de beeldinhoud te beschadigen.

In de loop der jaren zijn er veel oplossingen voorgesteld. Deze omvatten het simpelweg een beetje wazig maken van een foto, geavanceerde benaderingen met een bilateraal filter, Beltrami-filters op basis van de theorie van de variëteiten, Kalman-filters op schaal-ruimte, enz.

De interessante punten over ruisonderdrukking zijn ten eerste dat ruis (voor ons) het duidelijkst is in vlakke delen van een afbeelding en dat ruis minder zichtbaar is (voor ons) in de buurt van randen. Randen worden echter het meest waarschijnlijk vervaagd of op een andere manier beschadigd door veel ruisonderdrukkingsalgoritmen. Beschadigde randen zijn perceptueel net zo slecht als ruis!

Visidon heeft een convolutioneel neuraal netwerkmodel (aangrenzend) gecreëerd dat precies de vereiste doelen bereikt: ruis verwijderen en tegelijkertijd randen behouden in kleurenafbeeldingen.

Imagination's IMG Series3NX en IMG Series4 multi-core NNA's bieden een krachtige rekenoplossing bij het uitvoeren van Visidon's ruisonderdrukkingsnetwerk, en zijn tegelijkertijd de beste in hun klasse voor laag stroomverbruik en weinig ruimte.

Een voorbeeldreeks resultaten wordt getoond in figuur 1. Alle afbeeldingen die in dit werk zijn gebruikt, waren 4.096 bij 3.072. Deze afbeelding heeft heldere witte en blauwe lichten op een donkere nachtelijke achtergrond; het origineel wordt getoond in figuur 1a en de RMS-fout voor elke pixel x100 in figuur 1b. De fout wordt genomen tussen een drijvende-kommaresultaat van het netwerk en een resultaat dat wordt gegenereerd door het netwerk te kwantificeren tot 16 bits en het netwerk uit te voeren op Imagination's Series3NX NNA.

Afbeelding 1 (hieronder) toont een bijzonder moeilijk beeld – niettemin is het maximale verschil in elk 8-bits kleurkanaal +/-1. We tonen ook (Fig. 1c) uitsneden van het originele beeld met ruis, d) uitvoer van het drijvende-kommanetwerk, e) het gekwantiseerde netwerk en f) een resultaat geleverd door Visidon's drijvende-komma-implementatie van het netwerk. Er is geen kleurvervorming, de ruis wordt effectief geëlimineerd en de randen blijven onbeschadigd.

Visidon fig1

Figuur 1. Een voorbeeld van een “moeilijke” afbeelding.

In de tien voorbeeldafbeeldingen die we hebben bekeken, volgen alle resultaten een soortgelijk patroon. In de daglichtscène getoond in figuur 2 traden geen fouten op van meer dan +/- 1 per pixel per kleurkanaal. Ruis in deze afbeelding is minder duidelijk, maar we hebben crops gekozen om aan te tonen dat de ruisonderdrukking geen artefacten veroorzaakt aan randen van welke kleur dan ook.

Visidon fig2

Afbeelding 2. Daglichtscène zonder rand- of kleurvervorming

In de volgende afbeelding (Afbeelding 3) laten we een helder verlichte testkaart zien. Nogmaals, er waren geen fouten groter dan +/- 1 en de gedetailleerde uitsnedes tonen het ontbreken van randartefacten die kenmerkend zijn voor het algoritme van Visidon.

Visidon fig3

Afbeelding 3. Visidon-resultaten: helder verlichte testkaart.

Het uiteindelijke beeldresultaat, (Figuur 4), toont een testkaart die bij weinig licht is genomen – nog een zeer moeilijke afbeelding. Hier zien we duidelijk de ruis (de signaal-ruisverhouding voor gegevens met Poisson-statistieken wordt slechter naarmate het gemiddelde niveau afneemt). In de details van de originele afbeelding (Fig. 6c) is de ernstige kleurruis duidelijk zichtbaar in zowel de heldere als de donkere gebieden. Dit is een gevolg van de niet-gecorreleerde fluctuaties in de afzonderlijke rode, groene en blauwe kanalen die willekeurige variaties in kleur produceren (ongeveer Riciaanse statistieken in drie dimensies). Het ruisonderdrukkingsalgoritme van Visidon elimineert de ruis in de luma (helderheid) en chroma (kleur) terwijl tegelijkertijd de randen behouden blijven. Opmerkelijk is dat er geen waarneembaar verschil is tussen de drijvende-kommaresultaten van het netwerk en de 16-bits gekwantiseerde resultaten van het netwerk en opnieuw is het maximale verschil tussen deze twee resultaten +/-1 bij elke pixel en elk kleurkanaal.

Visidon fig4

Figuur 4. Visidon-resultaten: testkaart bij weinig licht.

IMG Series3NX en IMG Series4 multi-core

De IMG Series3NX NNA in figuur 5 heeft zestien convolutie-engines die kunnen worden geconfigureerd om elk 128-brede MAC-engines (multiply-accumulate) te hebben op 16-bits, of zestien 256-brede MAC-engines op 8-bits, wat een totaal van 4.096 oplevert. MAC's per klokcyclus.

Visidon-figuur 5

Figuur 5. Bereken eenheden in 3NX NNA

 

Visidon Figuur 6

Afbeelding 6. Schema van een IMG 4NX-MC8

De IMG 4NX-MC8 in Afbeelding 6 is vergelijkbaar, met geavanceerde architectuurkenmerken en wordt geleverd in een reeks multi-core versies, elke kern een verbeterde Series3NX zijn. De 4NX-MC1 heeft een enkele kern met 16 convolutie-engines die in staat zijn tot ~12 TOPS (1 TOPS = 1 miljoen, miljoen bewerkingen per seconde). Een 4NX-MC2 heeft twee van deze kernen, enz.

Het Visidon-ruisonderdrukkingsnetwerk, schematisch weergegeven bovenaan de post, vereist ~5 x 1011 MAC's per 4096 bij 3072 afbeelding die moet worden ongedaan gemaakt. De prestaties van de Series3NX-, 4NX-MC1-, 4NX-MC4- en 4NX-MC6-kernen van Imagination worden weergegeven in tabel 1 hieronder.

Inferenties/s Bandbreedte/inferentie (MB) Lokale OCM+ Gedeelde OCM (MB)
3NX 1.3 11000 1 + 0
4NX-MC1 1.7 11200 1 + 0
4NX-MC4 5.2 10600 2 + 4
4NX-MC6 9.5 9000 3 + 6

Tabel 1. Prestaties en configuratie van Imagination NNA-kernen op het Visidon Denoising-netwerk ([email protected] MHz, 4NX-MC @1500MHz)

De prestatieresultaten van Tabel 1 zijn gegenereerd met de Imagination-standaard (beschikbare) gereedschapsketting. We vermeden het gebruik van prototypetools of tools die beschikbaar zijn in onderzoek. 4NX-MC6 benadert een inferentiesnelheid van ~10 inferenties per seconde bij 1.500 MHz en is beschikbaar op 16nm, 7nm en 5nm functiegroottes.

De geheugenconfiguraties worden weergegeven. Voor multi-core versies van 4NX heeft elke kern van zestien convolutie-engines lokaal on-chip geheugen (OCM) en een gedeeld-OCM dat beschikbaar is voor alle kernen. Dit netwerk is computergebonden en de resultaten laten een bijna lineaire versnelling zien met toenemende cores. 4NX-MC6 behaalt ongeveer 93% van de voorspelde snelheid als 4NX-MC1 wordt opgeschaald met een factor zes (klokfrequentie en OCM hebben ook een impact).

Conclusie

Samenvattend, dit is een zeer interessant voorbeeld van een diep-convolutief neuraal netwerk dat een beeld produceert als output van een beeld als input.

De prestaties op het gebied van beeldkwaliteit zijn opmerkelijk omdat ruisonderdrukking een moeilijk probleem is bij het omgaan met afbeeldingen van hoge kwaliteit. De getrouwheid van de resultaten weerspiegelt de kwaliteit van het algoritme van Visidon en in het bijzonder hun keuze voor netwerkarchitectuur en de manier waarop deze is getraind. Het toont ook heel duidelijk aan dat een gekwantiseerd netwerk, in dit geval 16-bits, resultaten kan geven die bijna identiek zijn aan een zwevend-kommanetwerk.

Vermeldenswaard is hier dat we wel naar lagere bitdieptes hebben gekeken. De fouten in de meeste neurale netwerken zullen een beetje toenemen wanneer ze in 8-bits worden uitgevoerd. Afhankelijk van de toepassing kan een kleine toename van de fout acceptabel zijn. In de context van hoogwaardige beeldverbetering wordt een zeer kleine fout zichtbaar voor een menselijke waarnemer. Banding in vlakke gebieden was duidelijk met 8-bit data (activeringen) en kleurvervorming was duidelijk met 8-bit gewichten. Beide artefacten zijn uitstekend zichtbaar voor onze gevoelige ogen.

Als je het netwerk laat draaien met 16-bits gegevens en 16-bits gewichten, zijn er helemaal geen zichtbare artefacten en zijn de verschillen +/- 1 in elke pixel en kleur in de output beelden.

Met maximaal 10 gevolgtrekkingen per seconde op 4.096 bij 3.072 RGB-beelden, draaiend op Visidon's ruisonderdrukkingsnetwerk, demonstreren de prestaties van Imagination's NNA zijn mogelijkheden die verder gaan dan conventionele AI-toepassingen en zijn toepasbaarheid op beeldverbetering.

Tim Atherton
Directeur onderzoek in AI, Imagination Technologies

James Imber
Research Manager, IMG Labs, Imagination Technologies

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *