Computervisie aan de rand is een goed begin, maar het is niet genoeg. Het moet omgaan met vervormde beelden van groothoeklenzen, beeldstabilisatie, omstandigheden met weinig licht en andere beeldfuncties die we al zien in meer geavanceerde toepassingen. En dat moet hij blijven doen tegen lage kosten en weinig stroom.
Consumenten en bedrijven hebben altijd meer gewild voor minder en zullen dat altijd blijven doen; dit drijft onze markten en creëert onbegrensde kansen voor technologische innovators. In de systeemwereld betekent meer voor minder altijd één ding – hogere integratieniveaus. Door meer functionaliteit in een enkele chip te stoppen, worden de kosten verlaagd, waardoor oplossingen concurrerender worden in prijsgevoelige markten, en het vermindert ook het stroomverbruik, verlengt de levensduur van de batterij en vermindert onderhouds- of oplaadproblemen voor mobiele of externe toepassingen.
Bron: CEVA
We zijn al vertrouwd met AI-aangedreven computervisie (CV) in veel edge-apparaten. We zien meerdere ADAS-toepassingen, voor het vermijden van aanrijdingen (zowel vooruit als achteruit rijden), detectie van het verlaten van de rijstrook en nog meer in autonome en semi-autonome voertuigen. Drones zijn niet langer afhankelijk van ons om te navigeren en obstakels te detecteren en te vermijden. AR- en VR-apparaten hebben intelligentie nodig in combinatie met visie om onze positie en pose te voelen om een kwaliteitservaring met lage latentie te garanderen (om bewegingsziekte te minimaliseren). Op het lichaam gemonteerde camera's voor sport-/actiecamera's zijn geneigd om AI te gebruiken om interessante sequenties vast te leggen om de opslagbehoeften te beperken. En op dezelfde manier kunnen faciliteitsbeveiligingstoepassingen alleen significante sequenties vastleggen, zoals een persoon die zich in het frame beweegt, waardoor ook de opslagvereisten worden verminderd, maar belangrijker nog, de noodzaak voor constante menselijke bewaking wordt geëlimineerd.
Waarom zouden we beeldverwerking aan deze mogelijkheden willen toevoegen? Begin met elk geval waarin u een groothoekweergave wilt, misschien zelfs een 360o-weergave. We zijn al bekend met de enigszins spookachtige bovenaanzichtoptie die we in recente auto's kunnen selecteren op het vooruit-/achteruitkijkscherm. Hoe doen ze dat? Door twee of meer camerabeelden aan elkaar te naaien en vervolgens te corrigeren om een bepaald niveau van onvervormd beeld te produceren. Er zijn duidelijk verschillende kwaliteitsniveaus in die weergave – sommige van deze afbeeldingen zijn beduidend minder overtuigend dan andere. Een belangrijkere toepassing gebruikt de achteruitkijkcamera om obstakels te detecteren bij het achteruitrijden en om automatisch te remmen.
Dit brengt ons dichter bij het belang van beeldverwerking. OEM's willen niet meerdere achteruitkijkcamera's gebruiken (wat duur zou zijn), dus gebruik in plaats daarvan een enkele camera met een groothoeklens. Je hebt deze fisheye-lensafbeeldingen waarschijnlijk eerder gezien – interessant maar sterk vervormd. Corrigeren voor die vervorming (realtime adaptieve de-warping) is niet alleen voor esthetiek; het is ook belangrijk voordat het beeld wordt verwerkt via neurale netwerken voor objectdetectie. Dezelfde overweging kan van toepassing zijn op veel beveiligingstoepassingen; als je een enkele fish-eye-lens met correctie kunt gebruiken in plaats van meerdere camera's, is het hele apparaat goedkoper.
Beeldstabilisatie is een andere belangrijke toepassing, vooral voor sportgerichte consumenten. Als je van een skihelling afdaalt of van een rotsachtige berghelling fietst, wil je niet dat je op het hoofd gemonteerde camera elke schok en stuitering registreert. De meesten van ons zouden willen dat alle schokkerige acties worden gladgestreken. Beeldverwerking kan ook helpen bij contrastverbetering bij weinig licht en kan ook nuttig zijn bij autofocustoepassingen. Hoewel deze functies verschillende soorten verwerkingselementen vereisen, zorgt de combinatie ervan in één efficiënte ingebedde processor voor verdere prestatie- en stroomoptimalisaties in de kern, en nog belangrijker, kan de kosten voor veel prijsgevoelige toepassingen verlagen.
Dit klinkt allemaal goed, maar is er geen risico dat zo'n strak geïntegreerde oplossing achterhaald raakt bij de volgende productrevisie of erger nog bij de volgende trainingsupdate? De algoritmen van neurale netwerken evolueren immers heel snel. Hoe ben je toekomstbestendig tegen dit soort veranderingen? Ten eerste heb je absoluut de ondersteuning nodig van een grafiekcompiler die in staat is om van industriestandaard leerplatforms in kaart te brengen en te optimaliseren voor je doelnetwerken met je selecties voor vaste-puntbreedten per laag. En ten tweede moet je die neurale netwerkarchitectuur naar behoefte opnieuw kunnen ontwerpen en je updates kunnen simuleren om te karakteriseren voor kracht en prestaties, waarbij je de compiler opnieuw moet uitvoeren om het getrainde netwerk opnieuw toe te wijzen aan je bijgewerkte doel.
Het is mogelijk. zou ook ideaal zijn om een overvloed aan extra hoofdruimte te hebben voor beeldverwerking, zodat u kunt profiteren van de nieuwste ontwikkelingen zodra deze beschikbaar komen. Bekijk hoe de CEVA NeuPro-S-oplossing dit mogelijk kan maken.
Yair Siegel
Director of Segment Marketing, CEVA