Het doel van dit protocol is om vooraf gebouwde convolutional neurale netten te gebruiken om gedragstracking te automatiseren en gedetailleerde gedragsanalyse uit te voeren. Gedragstracking kan worden toegepast op alle videogegevens of sequenties van afbeeldingen en is generaliseerbaar om elk door de gebruiker gedefinieerd object bij te houden.
Inzicht in gedrag is de eerste stap naar echt begrijpen neurale mechanismen in de hersenen die het rijden. Traditionele gedragsanalyse methoden vaak niet vangen de rijkdom die inherent is aan het natuurlijke gedrag. Hier geven we gedetailleerde stapsgewijze instructies met visualisaties van onze recente methodologie, DeepBehavior. De DeepBehavior toolbox maakt gebruik van deep learning frameworks gebouwd met convolutional neurale netwerken om snel te verwerken en te analyseren gedragsvideo’s. Dit protocol toont drie verschillende frameworks voor detectie van één object, detectie van meerdere objecten en driedimensionale (3D) menselijke gezamenlijke pose tracking. Deze frameworks geven cartesiaanse coördinaten van het object van belang voor elk frame van de gedragsvideo terug. Gegevens verzameld uit de DeepBehavior toolbox bevatten veel meer detail dan traditionele gedragsanalysemethoden en bieden gedetailleerde inzichten in de gedragsdynamiek. DeepBehavior kwantificeert gedragstaken op een robuuste, geautomatiseerde en nauwkeurige manier. Na de identificatie van gedrag wordt nabewerkingscode verstrekt om informatie en visualisaties uit de gedragsvideo’s te extraheren.
Een gedetailleerde analyse van gedrag is de sleutel tot het begrijpen van de hersenen en gedragsrelaties. Er zijn veel opwindende vooruitgang in methodologieën voor het registreren en manipuleren van neuronale populaties met een hoge temporele resolutie, echter, gedragsanalyse methoden hebben niet ontwikkeld in hetzelfde tempo en zijn beperkt tot indirecte metingen en een reductionistische aanpak1. Onlangs zijn deep learning gebaseerde methoden ontwikkeld om geautomatiseerde en gedetailleerde gedragsanalyse uit te voeren2,3,4,5. Dit protocol biedt een stapsgewijze implementatiehandleiding voor de DeepBehavior toolbox.
Traditionele gedragsanalysemethoden omvatten vaak handmatig labelen van gegevens door meerdere beoordelaars, wat leidt tot variantie in de manier waarop onderzoekers een gedrag definiëren6. Handmatig labelen van de gegevens vergt tijd en middelen die onevenredig toenemen tot de hoeveelheid verzamelde gegevens. Bovendien verminderen handmatig gelabelde gegevens de gedragsresultaten in categorische metingen die de rijkdom van het gedrag niet vastleggen en subjectiefer zullen zijn. Zo kunnen de huidige traditionele methoden worden beperkt in het vastleggen van de details in het natuurlijke gedrag.
De DeepBehavior toolbox presenteert een nauwkeurige, gedetailleerde, zeer temporele en geautomatiseerde oplossing met behulp van deep learning voor gedragsanalyse. Deep learning is snel toegankelijk geworden voor iedereen met open-source tools en pakketten. Convolutional neurale netwerken (CNN’s) zijn bewezen zeer effectief te zijn in objectherkenning en tracking taken7,8. Met behulp van moderne CN’s en krachtige grafische verwerkingseenheden (GPU’s) kunnen grote beeld- en videodatasets snel worden verwerkt met hoge precisie7,9,10,11. In DeepBehavior zijn er drie verschillende convolutional neurale net architecturen, TensorBox, YOLOv3, en OpenPose2.
Het eerste framework, Tensorbox, is een veelzijdig raamwerk dat veel verschillende CNN-architecturen bevat voor objectdetectie12. TensorBox is het meest geschikt voor het detecteren van slechts één objectklasse per afbeelding. De resulterende uitgangen zijn omsluitende vakken van het object van belang (figuur 1) en de cartesiaanse coördinaten van het selectiekader.
De tweede CNN kader is YOLOv3, wat staat voor “You Only Look Once”13. YOLOv3 is voordelig wanneer er meerdere interessantvoorwerpen zijn die afzonderlijk moeten worden bijgehouden. De uitvoer van dit netwerk omvat het selectiekader met de klasse van het bijbehorende objectlabel en de cartesian-coördinaten van het object in het videoframe (figuur 2).
De vorige twee kaders zijn voordelig voor gegeneraliseerde gedragsgegevens verzameld uit standaard laboratoriumexperimenten bij proefpersonen. De laatste CNN kader is OpenPose14,15,16 die wordt gebruikt voor menselijke gezamenlijke pose schatting. OpenPose detecteert menselijke lichaam, hand, gezicht, en voet belangrijke punten op beelden. De uitgangen van het kader zijn gelabeldbeelden van het menselijke onderwerp, evenals de coördinaten van alle 25 belangrijke punten in het lichaam en 21 belangrijke punten van elke hand (figuur 3).
Deze gedetailleerde stapsgewijze handleiding voor de implementatie van onze recent ontwikkelde open-source DeepBehavior toolbox maakt gebruik van state-of-the-art convolutional neurale netten om dierlijk gedrag (bijvoorbeeld beweging van een poot) of menselijk gedrag (bijvoorbeeld het bereiken van taken) te volgen. Door het gedrag te volgen, kunnen nuttige kinematica worden afgeleid uit het gedrag, zoals positie, snelheid en versnelling. Het protocol legt de installatie van elke CNN-architectuur uit, laat zien hoe u trainingsgegevensmaakt, hoe u de netwerken trainen, hoe u nieuwe video’s op het getrainde netwerk verwerken, hoe de gegevens uit het netwerk op de nieuwe video’s kunnen worden geëxtraheerd en hoe u na het proces van de uitvoergegevens om het nuttig te maken voor verdere analyse.
Hier bieden we een stapsgewijze handleiding voor de implementatie van DeepBehavior, onze recent ontwikkelde deep learning gebaseerde toolbox voor dier- en menselijke gedragsbeeldvormingsgegevensanalyse2. We geven gedetailleerde uitleg voor elke stap voor de installatie van de frameworks voor elke netwerkarchitectuur en bieden koppelingen voor de installatie van de open-source vereisten om deze frameworks te kunnen uitvoeren. We laten zien hoe je ze installeert, hoe je trainingsgegevens maakt, hoe …
The authors have nothing to disclose.
We willen Pingping Zhao en Peyman Golshani bedanken voor het verstrekken van de ruwe gegevens voor twee-muis sociale interactie tests gebruikt in het oorspronkelijke papier2. Deze studie werd ondersteund door NIH NS109315 en NVIDIA GPU subsidies (AA).
CUDA v8.0.61 | NVIDIA | n/a | GPU Software |
MATLAB R2016b | Mathworks | n/a | Matlab |
Python 2.7 | Python | n/a | Python Version |
Quadro P6000 | NVIDIA | n/a | GPU Processor |
Ubuntu v16.04 | Ubuntu | n/a | Operating System |