Convolutional Neural Networks effectief voor video herkenning

Deep learning architecturen hebben verschillende varianten. Convolutional Neural Networks (CNN’s of ConvNets) worden al decennia lang bestudeerd en zijn al effectief gebleken voor beeldanalyse en classificatie. CNN’s bieden state-of-the-art resultaten voor beeldherkenning, detectie en segmentatie. Maar ook voor video classificatie problemen laten zij veelbelovende resultaten zien.

Convolutional Neural Networks

Beweging in video’s kan worden gevisualiseerd door het laten zien van meerdere afbeeldingen in een korte tijdsspanne. Het menselijke brein moet meerdere seconden van beweging zien om in staat te zijn de beweging met zekerheid te herkennen. Dezelfde vereisten gelden voor machines. Er zijn vele neurale netwerk architecturen met een vorm van geheugen zoals Recurrent Neural Networks (RNN’s). RNN’s gebruiken feedback loops om eerdere data te mixen met huidige input, zodat er een begrip van de beweging gevormd kan worden. In tegenstelling gebruiken CNN’s hiervoor convolutions (bepaalde wiskundige berekeningen). Bij 2D convolution wordt de ruimtelijke data van een input overwogen ten opzichte van de laatste functies. Bij 3D convolution wordt de mix van ruimtelijke en tijdelijke data gebruikt om beweging te leren begrijpen. Het gebruik van 3D convolutions maakt het mogelijk om ruimtelijke informatie in de tijd op te vangen van de video data stream door opeenvolgende video frames in acht te nemen.

CNN’s zijn een gespecialiseerd soort neuraal netwerk voor het verwerken van input data dat een natuurlijke structuur heeft, een rooster-achtig karakter, waarin nabijgelegen items (zoals pixels) met elkaar samenhangen, zoals geldt voor audio data, afbeeldingen en video. CNN’s zijn geïnspireerd op biologische processen in de zin dat het verbindingspatroon tussen neuronen lijkt op de organisatie van de dierlijke visuele cortex. Individuele corticale neuronen reageren alleen op stimuli in een beperkte regio van het visuele veld dat bekend staat als het receptieve veld. Dit levert een hoop voordeel op.

Voordelen CNN’s versus andere deep feed-forward netwerken

Deep feed-forward netwerken die geheel bestaan uit volledig verbonden lagen hebben de neiging om geen aannames te doen over de geleverde input aan de eerste laag. De enige aanname die ze doen is dat elk element betekenisvol is voor de taak. Zo’n netwerk architectuur houdt geen rekening met de ruimtelijke structuur van data. Input pixels die ver van elkaar liggen worden hetzelfde behandeld als pixels die dicht bij elkaar liggen.

Doordat pixels die dicht bij elkaar liggen vaak met elkaar samenhangen, valt hier dus een grote efficiëntie slag te behalen. In tegenstelling profiteren CNN’s wel van lokale ruimtelijke samenhang die aanwezig is in natuurlijke afbeeldingen. Door het exploiteren van de sterke lokale ruimtelijk correlatie die aanwezig is in natuurlijke afbeeldingen, in de vorm van convolutions, verlichten CNN’s de uitdagingen die gesteld worden door traditionele multilayer perceptron (MLP) modellen.

Hoewel volledig verbonden feed-forward neurale netwerken gebruikt kunnen worden om zowel functies te leren als data te classificeren, is het niet praktisch om deze architectuur toe te passen op afbeeldingen. Er komt een hoop verspilling kijken bij volledige connectiviteit van neuronen voor doeleinden zoals beeldherkenning die gedomineerd worden door ruimtelijk lokale input patronen. Een zeer hoog aantal neuronen zou nodig zijn, zelfs is een ondiepe architectuur, vanwege de grote input groottes die bij afbeeldingen komen kijken, waar elke pixel een relevante variabele is. Terwijl traditionele multilayer perceptron (MLP) modellen succesvol werden gebruikt voor beeldherkenning, lijden zij aan dimensionaliteits problemen vanwege de volledige connectiviteit tussen nodes. Die modellen schalen niet goed naar afbeeldingen met een hogere resolutie. De convolution berekening brengt een oplossing voor dit probleem, aangezien het de hoeveelheid vrije parameters drastisch verlaagt omdat sommige parameters gedeeld worden. Hierdoor worden de geheugenvereisten voor het draaien van het netwerk verlaagd, wordt het trainen van de netwerken makkelijker, en is het mogelijk om diepere, krachtigere netwerken te trainen.

Over het algemeen, als er gebruik gemaakt wordt van volledig verbonden netwerken, zal een machine learning ontwerper moeten nadenken over de relevante functies voor de gegeven taak en elk van deze moeten toewijzen aan een element van de input vector. CNN’s, daarentegen, gebruiken relatief weinig voorbewerking vergeleken met andere beeld classificatie algoritmen. Een CNN zal de neiging hebben om zulke functies automatisch af te leiden, omdat elementen lokaal worden gecorreleerd. Dit betekent dat het netwerk de filters leert die in traditionele algoritmen handmatig uitgevoerd werden. Deze onafhankelijkheid van voorafgaande kennis en menselijke inspanning bij het ontwerp is een belangrijk voordeel. Dit wordt ongelofelijk bruikbaar voor taken als object herkenning, waarbij het moeilijk is voor menselijke machine learning ontwerpers om relevante functies te bedenken voor de taak.

CNN’s zijn bijzonder geschikt voor het extraheren van relevante informatie tegen lage kosten. Het is gebleken dat CNN’s algemene en robuuste modellen voor beeld- of video herkenning problemen kunnen bieden met minimaal handwerk, en dat ze gemakkelijk kunnen worden uitgerekt naar verschillende soorten scenario’s, zoals beeld classificatie, gezichtsherkenning, beeld labeling, object tracking, voetgangersdetectie en spraakherkenning.

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s