Informations

Quelle configuration matérielle est couramment utilisée pour la stimulation audio à faible latence ?

Quelle configuration matérielle est couramment utilisée pour la stimulation audio à faible latence ?

Je dois contrôler soigneusement la latence et le timing de la stimulation auditive dans une expérience à venir. Cela dépend en partie du logiciel, mais ma question concerne spécifiquement Matériel, Conducteurs et Noyau du système d'exploitation. En d'autres termes, je ne cherche pas de conseils sur les langages de programmation ; J'ai cette partie couverte.

Pilote et système d'exploitation

Je connais un peu la suite de pilotes ASIO4ALL sous Windows, mais je comparais cela à l'option d'utiliser une distribution Linux (par exemple Ubuntu) avec un noyau en temps réel installé. Ma préoccupation est que le son est notoirement problématique sous Linux. Il me semble que l'audio en temps réel était pratiquement impossible si vous travaillez avec ALSA. Est-ce la même chose pour Pulseaudio ? Quelqu'un a-t-il réussi à configurer une sortie audio à faible latence sous Linux ?

Matériel

Quelles cartes son sont couramment utilisées ? Quelqu'un peut-il suggérer du matériel spécialisé? Idéalement, j'aimerais m'en tenir à une carte PCI quelconque et ne pas avoir recours à des cartes son externes encombrantes, mais je pourrais être influencé si ces cartes offrent des avantages significatifs.

Merci!


Il est généralement utile de fournir une sorte de spécification sur la façon dont vous souhaitez contrôler le timing. Il existe 4 ordres de grandeur de différence entre la précision de synchronisation de 100 ms requise pour que les stimuli auditifs et visuels soient jugés simultanément (Zampini et al. 2005) et la précision de synchronisation de 0,1 ms requise pour que les stimuli binauraux soient jugés simultanément (Hershkowitz et Durlach 1969) . Il existe deux types de latence en matière de stimulation audio, ce que j'appellerai les latences en cours et d'apparition.

Latence en cours

Imaginez une étude sur la réalité virtuelle où l'orientation de la tête du sujet est suivie en temps réel. Le son présenté dépend de l'orientation. Dans ce type d'étude, il n'est pas possible de charger le son à l'avance sur le dispositif sonore. Si le périphérique audio nécessite 1000 ms de son à l'avance afin de ne pas perdre d'échantillons, il y aura un décalage notable entre le déplacement de la tête et la mise à jour de la position du son. Scarpaci et al. (2005) ont constaté que pour ces types d'études, une latence globale inférieure à 32 ms est souhaitable. Cette latence globale doit inclure le temps nécessaire pour lire la position actuelle ainsi que générer le son, puis tamponner le son. En fonction de la vitesse des autres appareils et du temps de traitement requis, cela peut ne laisser que 5 à 10 ms pour la mise en mémoire tampon du son. Les mouvements de la tête sont relativement lents et notre sensibilité à l'emplacement d'un son est relativement faible, et d'autres expériences peuvent nécessiter des latences beaucoup plus faibles.

Un appareil audio parfait aurait une latence continue inférieure à celle d'un échantillon. Avec une fréquence d'échantillonnage de 10 kHz, le matériel audio a 0,1 ms par échantillon, mais à 100 kHz, il n'a que 0,01 ms par échantillon. Par conséquent, lors du choix d'un périphérique audio, il est important de prendre en compte la fréquence d'échantillonnage. Les systèmes standard avec PortAudio peuvent fournir des latences continues de l'ordre de 10 ms. La PsychToolbox corrige PortAudio et peut réduire les latences continues. Scarpaci et al. (2005) ont obtenu une latence continue du sous-échantillon avec une fréquence d'échantillonnage de 44,1 kHz en utilisant un noyau Linux en temps réel et une carte DA dédiée. Les systèmes personnalisés de TDT peuvent fournir une latence continue de sous-échantillon avec une fréquence d'échantillonnage de 200 kHz.

Latence d'apparition

Imaginez une étude EEG dans laquelle on veut commencer à enregistrer à partir des électrodes EEG en même temps que le son commence à jouer. Contrairement à la latence continue, il est possible de charger le stimulus sur le dispositif sonore à l'avance. Le but est alors de faire démarrer le dispositif sonore le plus rapidement possible. À mon avis, il est plus important de minimiser la variabilité de cette latence plutôt que de minimiser la latence elle-même. S'il faut entre 99 et 101 ms (forte latence, faible variabilité) pour démarrer le son, alors si les enregistrements EEG sont retardés de 100 ms, le début du son et des enregistrements se fera dans les +/-1 ms. Si toutefois cela prend entre 0 et 20 ms (faible latence, grande variabilité) et que les enregistrements EEG sont retardés de 10 ms, alors l'asynchronie d'apparition peut atteindre 10 ms. Le cas où la latence d'apparition compte vraiment est lorsque le début du son est déclenché de l'extérieur. Par exemple, si un sujet appuie sur un bouton pour démarrer le son, avoir un "long" délai serait problématique.

Semblable aux latences continues, les systèmes standard peuvent fournir des latences d'apparition de l'ordre de 10 ms et PsychToolbox peut descendre à environ 5 ms (peut-être moins). Scarpaci et al. (2005) n'ont pas mesuré la latence d'apparition et les performances sont probablement médiocres car le système n'a pas été optimisé pour cet aspect de la diffusion du son. Les systèmes TDT fournissent un déclencheur externe et peuvent fournir des latences d'apparition jusqu'à des niveaux qui rendent difficile la mesure (inférieure à la microseconde). CRS fournit du matériel personnalisé qui peut être déclenché de l'extérieur et devrait donc fournir des latences d'apparition extrêmement faibles, mais le système nécessite que le stimulus soit chargé à l'avance, de sorte qu'il a essentiellement une latence continue infinie.


Discussion

Alors que la réalité virtuelle immersive offre d'énormes possibilités d'étudier la propriété et l'agence du corps, la conception et la mise en œuvre d'un système capable de créer des EV complexes, de fournir des stimulations multimodales ainsi que de mesurer l'effet des illusions induites sur les participants doivent être soigneusement examinées. En effet, un tel système VR consiste à combiner plusieurs composants matériels et logiciels hétérogènes tout en garantissant des performances temps réel optimales. Ce document sert de guide pour ceux qui souhaitent créer leurs propres expériences ou applications de réalisation virtuelle et pour aider à choisir une configuration appropriée à la fois en termes de composants matériels et logiciels.

Cet article traite d'un système technologique VR dédié à l'étude à la fois de l'induction et de l'évaluation de l'incarnation virtuelle. Nous préconisons une architecture de système modulaire qui permet l'inclusion de diverses techniques de stimulation multimodale et de mesures physiologiques.

Notez que tout au long du document, nous n'abordons pas la communication en réseau, un aspect essentiel de tout système de réalité virtuelle. Le système modulaire présenté dans cet article est basé sur l'hypothèse que les modules sont capables d'échanger des données de manière transparente via les communications réseau (c'est-à-dire sans aucun retard induit par un problème lors du transfert de données sur le réseau, par exemple un réseau 10/100 Gb). Cette hypothèse est relativement facile à appliquer dans un environnement de recherche où chaque ordinateur et appareil est susceptible d'appartenir au même réseau de communication, qui peut prendre en charge le transfert de données à grande vitesse.

Nous divisons le système de réalisation virtuelle en un système central, qui est capable d'expériences de réalisation virtuelle de base, et des modules de stimulation multimodaux qui peuvent être utilisés pour améliorer le BOI et permettre des scénarios plus compliqués. Pour chaque module, nous discutons des compromis entre diverses solutions possibles et fournissons des exemples concrets de systèmes logiciels et matériels que les auteurs ont utilisés et mis en œuvre pour effectuer des expériences de réalisation virtuelle. De plus, nous proposons une liste de critères importants qui doivent être pris en compte lors du choix d'une installation VR pour une incarnation virtuelle. Enfin, nous présentons quelques résultats obtenus avec un système VR pour des expériences de réalisation afin de mettre en évidence des exemples concrets d'un tel système.


Résultats de recherche

SpamTitan bloque le spam, les virus, les logiciels malveillants, les ransomwares, les tentatives de phishing et autres menaces par courrier électronique.

Licence, contrôle et gestion du SD-WAN multi-appliqué pour fournir des services gérés multi-cloud

Studio OBS

Logiciel open source pour la diffusion et l'enregistrement en direct

Éditeur vidéo OpenShot

Logiciel de montage vidéo Open Source primé

Spleeter

Bibliothèque de séparation de sources Deezer comprenant des modèles pré-entraînés

Hurleur.js

Bibliothèque audio Javascript pour le web moderne

Pour les organisations de toutes tailles, faites confiance à LabWare pour rationaliser leurs processus de documentation de laboratoire.

Serveur Nextcloud

Une maison sûre pour toutes vos données

Tone.js

Un framework Web Audio pour faire de la musique interactive dans le navigateur

Outil de ligne de commande et bibliothèque pour transférer des données avec des URL

Tensor2Tensor

Bibliothèque de modèles et d'ensembles de données d'apprentissage profond

Framework de composants Web pour la création d'annonces, d'e-mails, de sites Web, etc.

Pour toute organisation qui souhaite une solution d'évaluation des risques et de surveillance de la santé


Exigences générales et installation

Le o_ptb est une boîte à outils fonctionnant sur MATLAB 2016b ou supérieur (The MathWorks Inc.). Il nécessite une version actuelle de la Psychophysics Toolbox. Il utilise uniquement les fonctions fournies par MATLAB et le PTB en son cœur. Il fonctionne ainsi sous Windows, Mac et Linux. Certains périphériques pouvant être utilisés avec o_ptb peuvent nécessiter l'installation d'autres logiciels et/ou pilotes sur le système. Comme ces pilotes peuvent ne pas être disponibles pour toutes les plates-formes, certaines restrictions peuvent s'appliquer.

Le o_ptb est publié sous la licence publique générale 3 (GPL Free Software Foundation, 2007). La dernière version peut être téléchargée sur https://gitlab.com/thht/o_ptb. En supposant que MATLAB et le PTB ont déjà été installés sur l'ordinateur, il suffit de copier le contenu de l'o_ptb dans un dossier arbitraire sur le disque dur de l'ordinateur. Des instructions plus détaillées sont disponibles dans la documentation à l'adresse https://o-ptb.readthedocs.io/en/latest/install.html.


Notes de bas de page

1 Dans une section ultérieure, nous décrivons comment le nDélai Le paramètre a également été délibérément manipulé afin de tester la capacité de changement de formant d'Audapter avec un délai de traitement plus court.

2 Cela suppose une fréquence d'échantillonnage d'origine de 48 kHz et une taille de mémoire tampon de 96 échantillons, ce qui fait que chaque taille de trame est de 2 ms.

3 Une distinction pourrait être faite entre la latence due à la conception du logiciel (par exemple, placer des échantillons dans une mémoire tampon) et le traitement réel (par exemple, effectuer des calculs et des manipulations spectrales, qui pourraient dépendre de la vitesse du processeur informatique et du type spécifique de manipulation du signal) . Cependant, les résultats présentés plus loin dans cet article démontrent que, dans Audapter, la latence déterminée par nDélai englobe toute latence de traitement distincte. Par conséquent, nous utilisons les termes « latence totale du logiciel » et « latence de traitement du logiciel » de manière interchangeable.

4 Bien sûr, si un système de perturbation de rétroaction auditive donné a un délai « supplémentaire » avant que la perturbation ne soit réellement mise en œuvre après l'apparition du signal de rétroaction, les chercheurs doivent alors signaler à la fois la latence du signal comme indiqué dans cet article et la latence supplémentaire jusqu'à ce que la perturbation soit efficace. apparaît dans ce signal. Dans Audapter, même le premier échantillon du signal de retour est passé par toutes les étapes de traitement. Ainsi, il n'y a pas de latence de perturbation supplémentaire au-delà de la latence du signal de retour.

Notes de l'auteur

Divulgation: Les auteurs ont déclaré qu'il n'existait aucun intérêt concurrent au moment de la publication.


Introduction

Danser sur de la musique ou taper sur le rythme de notre air préféré semble sans effort, mais constitue une compétence humaine remarquablement complexe. Aligner nos mouvements avec des stimuli périodiques externes est un exploit rare dans le domaine animal (Patel et al., 2009 ). Cette capacité est étudiée dans des expériences de synchronisation sensorimotrice (SMS), où les participants sont invités à taper du doigt avec un signal périodique, par exemple un métronome (Repp, 2005 Repp & Su, 2013). Il existe une abondante littérature sur cette capacité, mais la plupart des configurations utilisent des outils coûteux et dont les performances de synchronisation sont discutables (Schultz, 2019). Auparavant, une plate-forme a été introduite basée sur le microcontrôleur Arduino  qui pouvait fournir un retour auditif très fiable  (Schultz & van Vugt, 2016). Un microcontrôleur est un petit ordinateur, d'une taille souvent de quelques centimètres seulement, qui peut être programmé pour collecter de manière autonome des données de tapotement du doigt et les communiquer à un ordinateur PC ou Mac. TapArduino devient de plus en plus populaire et a inspiré des travaux qui ont intégré avec succès le matériel Arduino dans les configurations de test existantes (Scheurich et al., 2020). Cependant, TapArduino est limité en ce qu'il ne peut pas fournir de signal de stimulation de métronome et il n'y a pas d'interface utilisateur prête à l'emploi qui permette d'exécuter une expérience entière.

Le présent article présente un cadre construit autour du microcontrôleur Teensy, qui est capable de présenter un signal de métronome, d'enregistrer des coups de doigt à l'aide d'une résistance sensible à la force (FSR) et de fournir des signaux de rétroaction auditive. Le framework comprend une interface utilisateur graphique qui permet de spécifier la fréquence du métronome et d'autres paramètres à la volée, et permet de capturer et d'enregistrer les données dans un format facile à importer dans les principaux logiciels, rendant ainsi possible l'exécution des expériences entières en utilisant TeensyTap et un PC/Mac. Dans l'ensemble, cela forme une solution peu coûteuse et conviviale pour une multitude d'expériences sensorimotrices tout en ne nécessitant que quelques connaissances techniques et en s'appuyant exclusivement sur des logiciels open source. Alors que TeensyTap peut exécuter une variété d'expériences telles quelles, il n'est pas conçu pour couvrir toutes les expériences possibles sur le terrain sans aucun ajustement. Au contraire, la simplicité de conception et la transparence ont été privilégiées pour permettre aux chercheurs ayant une expertise technique d'adapter facilement TeensyTap à d'autres expériences, même celles qui n'ont pas encore été envisagées en ce moment.

Le présent article décrit la conception du framework TeensyTap & présente les résultats d'une expérience validant la précision de synchronisation de l'appareil. Des enregistrements externes des tapotements et des sons fournis par TeensyTap ont été réalisés afin d'établir quand le début des sons et des tapotements s'est réellement produit (vérité terrain), afin qu'il puisse être comparé à ce que TeensyTap a rapporté à l'expérimentateur.& #x000a0Plus précisément, nous avons étudié (a) la précision du signal du métronome dans le temps, (b) la rapidité avec laquelle l'appareil produit un son de rétroaction lorsque le sujet tape sur la résistance sensible à la force, et (c) la fiabilité de la  tap les horaires sont qui sont enregistrés par l'appareil.


Installer

Cette section résume le matériel utilisé dans l'expérience décrite. Le cas échéant, nous renvoyons aux descriptions précédentes du Virtual Jumpcube. En particulier, nous décrivons le système olfactif et les trois composants tactiles utilisés pour la stimulation cutanée.

Le Jumpcube Virtuel

Le Virtual Jumpcube [20] a été construit comme objet de démonstration des potentiels de la réalité virtuelle dans le contexte du 200e anniversaire de la TU Wien à l'hiver 2014/2015. Dans [4], nous donnons une introduction du système original comprenant le cadre, le système de suspension et l'équipement et le logiciel de réalité virtuelle. Depuis, le système s'est enrichi de modules de stimulation olfactive et haptique ainsi que de divers contenus et scénarios (à l'origine, parachutisme, maintenant aussi plongée, voyage dans l'espace et course aérienne). Pourtant, l'objectif fondamental reste le même : fournir une infrastructure pour le saut libre et le vol dans des environnements virtuels. La suspension est basée sur un système de cordes, de poulies et de contrepoids équilibrés par des disques excentriques qui cartographient la courbe de force non linéaire du saut sur les contrepoids statiques.

Sauter en liberté tout en étant enfermé dans un environnement virtuel constitue une situation de perte de contrôle qui devrait influencer la perception du contenu virtuel, le rendant, espérons-le, plus excitant. Les principaux aspects de l'installation sont l'utilisation de flux multimédias riches, une sécurité manifestement visible et la portabilité/modularité de l'ensemble de l'installation. L'utilisation de médias riches signifie que si les pistes audio de certains contenus contiennent également des effets sonores, de la musique de fond et, le cas échéant, la voix d'un instructeur, la couche visuelle est toujours composée de modèles 3D aussi complexes que possible, d'effets spéciaux et d'une couche pour le jeu, combattant ainsi l'inconvénient fondamental de la réalité virtuelle (par rapport aux films 3D - l'autre type de média 3D familier à la plupart des utilisateurs) que la scène doit être rendue ad hoc.

Étant donné que le cadre du cube est relativement grand (320 cm dans chaque dimension), il peut accueillir confortablement les modules matériels pour de nouveaux stimuli. Nous avons donc trouvé qu'il s'agissait d'une plate-forme appropriée pour évaluer les idées mentionnées ci-dessus selon lesquelles l'odorat et le toucher pourraient augmenter l'immersion et l'excitation tout en réduisant le risque de nausée. La seule difficulté que nous avons rencontrée était le fait que nous ne trouvions pas de ready-made pour les stimulations que nous avions en tête. Par conséquent, nous avons dû construire nos propres prototypes. Ils sont décrits dans les Sectes. 2.3 et 2.4. Avant cela, la section suivante présente l'architecture générale de la configuration Jumpcube.

Au cœur du Virtual Jumpcube se trouvent deux contrôleurs d'application, l'un basé sur le moteur de jeu Unity, l'autre sur Unreal. Les applications telles qu'un saut en parachute virtuel sont gérées par les contrôleurs d'application. Ils reçoivent les données des capteurs et de la base de données de contenu. La sortie audiovisuelle est fournie par un équipement VR standard. Les odeurs et les sorties tactiles sont créées par des unités de production (par exemple, des ventilateurs, des éléments chauffants) gérées par des unités de contrôle auto-développées. Tous les contrôleurs utilisent le même protocole propagé sur un réseau local via une interface socket. Une console basée sur un navigateur permet de remplacer les applications ainsi que d'étalonner et de configurer les unités de contrôleur

Architecture du système

Le système Jumpcube se compose de composants d'entrée, de traitement et de sortie. La figure 2 illustre l'interaction des composants. L'élément central est le contrôleur d'application qui gère les composants d'entrée et de sortie ainsi que les applications de réalité virtuelle. Le contrôleur d'application existe en deux implémentations : l'une est basée sur le moteur de jeu Unity, l'autre sur Unreal. Les deux consomment du contenu sous forme de modèles 3D à partir de la base de données de contenu jointe. L'entrée sensorielle est acquise à partir de capteurs connectés, en particulier les ordinateurs de poche du visiocasque HTC Vive utilisé et un capteur de mouvement auto-développé basé sur l'accélération pour les applications de vol. La sortie audiovisuelle est propagée du contrôleur d'application au visiocasque et aux écouteurs connectés.

Tous les autres composants de sortie, ceux qui fournissent les stimuli tactiles et olfactifs qui l'accompagnent, comprennent une unité de production et un contrôleur de gestion. Les unités de production comprennent des ventilateurs, des réchauffeurs, un dispositif de refroidissement, un système de propagation des odeurs et un moteur de simulation de force. Tous les contrôleurs de gestion ont été développés au cours du projet. Chacun se compose d'un processeur intégré (principalement des cartes Raspberry Pi et Arduino) et d'un logiciel de contrôle individuel avec une interface logicielle commune. L'interface commune est basée sur un protocole de contrôle auto-défini. Le protocole définit un dialecte JSON propriétaire simple pour le contrôle des unités de production (démarrage/arrêt) et le paramétrage (attributs et plages de valeurs). Les messages sont propagés sur un réseau local via une interface socket. De plus, à des fins d'étalonnage et de configuration, nous fournissons une console basée sur un navigateur.

L'architecture du système comprend une exception notable. Le système de suspension est indépendant de tous les autres composants et purement mécanique. Pour les utilisateurs pesant env. De 30 à 150 kg et d'une hauteur de 130 à 196 cm, il ne nécessite aucune configuration ni calibrage. Fabriqué à partir d'équipements de voile et d'alpinisme de haute qualité, il assure une suspension sans retard notable et le découplage du reste du système garantit le respect des exigences légales de sécurité.

Le développement de l'architecture du système a progressé dans un processus de conception évolutif ascendant au cours des étapes suivantes : tout d'abord, nous avons défini l'architecture des composants des contrôleurs dédiés pour des unités de production de stimuli spécifiques. Dans la deuxième étape, nous avons formulé un protocole basé sur TCP qui est suffisamment général pour gérer une variété d'unités de production différentes. Ce protocole a été implémenté dans une bibliothèque de logiciels accessible depuis les deux moteurs de jeu considérés et fournit une interface de console basée sur le Web. Sur la base du matériel de production, de contrôleur et de réseau, les deux contrôleurs d'application ont ensuite été implémentés. Dans ce processus, un accent particulier a été mis sur la tâche importante de la gestion de contenu 3D. Enfin, l'ensemble du système a été affiné de manière itérative lors du développement des trois premières applications pour le parachutisme, les voyages spatiaux (à la fois basés sur l'unité) et les courses aériennes (basées sur un réel).

L'architecture actuelle du système s'est avérée efficace dans sa capacité à intégrer de nouveaux composants de stimulation. Les contrôleurs utilisent le protocole de contrôle mis en œuvre. La bibliothèque de logiciels actuelle est accessible à partir de la plupart des processeurs et cartes embarqués de pointe. Étant donné que les contrôleurs encapsulent les unités de production, presque tout matériel de stimulation imaginable peut facilement être intégré dans l'environnement en branchant simplement le contrôleur sur le réseau local et en l'enregistrant via la console. Les deux sections suivantes décrivent les plus importants de ces composants pour la stimulation olfactive et tactile dans le Virtual Jumpcube.

Le système Vragrancer est intégré dans un boîtier mobile (une). Une cartouche se compose de six odeurs qui peuvent être sélectionnées dans une liste de 5000 (b). La cartouche est chargée dans le contrôleur d'odeur (c), qui est contrôlé par un Raspberry Pi (). Grâce à un tube, les odeurs arrivent au nez dans un tube circulaire ouvert qui est connecté via un connecteur en forme de T en haut du visiocasque (e)

Stimuli olfactifs : le système Vragrancer

La figure 3 illustre les différents éléments du Vragrancer, le fournisseur d'odeurs dans le Virtual Jumpcube. Il est basé sur un produit nommé contrôleur d'odeur développé par une société allemande dans les années 1990 pour une utilisation dans les cinémas olfactifs. Pourtant, il n'a jamais été lancé et nous ne l'avons trouvé que par hasard. Le contrôleur d'odeur est chargé de cartouches de six odeurs, chacune encapsulée dans un flacon scellé où l'odeur liquide est retenue par des cristaux. Sur demande, la société en développement (qui opère désormais dans le domaine du marketing) nous a fourni un stock de cartouches olfactives pour trois expériences virtuelles : parachutisme, voyage dans l'espace et course aérienne. Les odeurs incluent le moteur à combustion, la fumée, le café et les fleurs. Toutes les odeurs sont synthétiques, parfois pas particulièrement agréables mais thématiquement reconnaissables. Plus important encore, ils sont approuvés comme inoffensifs par les autorités européennes.

Pour l'utilisation du contrôleur d'odeur dans notre système, nous avons construit un contrôleur, basé sur un microprocesseur Raspberry Pi et un Arduino pour le contrôle des vannes. La communication entre le moteur de jeu et le contrôleur s'effectue via un socket TCP basé sur le protocole JSON mentionné précédemment. Les odeurs se propagent en envoyant de l'air comprimé à travers des vannes, puis sur des tuyaux (regroupés avec les câbles du visiocasque) jusqu'au nez où une ouverture dans le tuyau délivre l'air enrichi d'odeurs directement sous le nez. L'ensemble du système avec une pression d'un seul bar et une longueur de tuyau d'environ cinq mètres a une latence étonnamment faible d'environ 100 ms. Intégré dans un boîtier compact et mobile, le système Vragrancer peut être configuré avec des combinaisons d'odeurs arbitraires et peut être utilisé dans des applications de réalité virtuelle (semi-)statiques arbitraires.

Le modèle d'utilisation est essentiel pour le Vragrancer. De l'échec mentionné ci-dessus d'Aroma-Rama et des projets connexes - où les odeurs étaient constamment utilisées comme thèmes pour coder des situations et des acteurs - nous avons conclu que l'odeur est un stimulus essentiellement différent de l'audiovisuel. Bien que nous soyons habitués à une application permanente holistique de ce dernier type de stimulus, un flux constant d'odeurs pourrait surcharger le consommateur. Au contraire, les odeurs doivent être utilisées de manière sélective et uniquement dans des situations où elles sont bien motivées et reconnaissables. Pour une telle application, des cartouches de six odeurs chacune semblaient suffisantes pour les expériences de cinq minutes du Jumpcube.

Stimulations haptiques

Trois modules haptiques ont été utilisés dans la présente évaluation : le système de suspension de saut, le système météorologique et un système de simulation de force. Ils sont décrits ci-dessous. Un quatrième composant haptique disponible dans le Jumpcube, le système de vibration qui affecte les mains et les hanches, n'est pas décrit car il ne faisait pas partie de l'évaluation. De tels modèles de vibration sont, par exemple, utilisés pour rendre les explosions plus réalistes et pour simuler la résistance à l'eau dans une application de plongée récifale.

Le système de suspension doit éliminer les forces dans le sens avant-bas (une, b). Les forces sont équilibrées par des disques excentriques et des contrepoids reliés par câble (c). La combinaison de saut sur mesure contribue également à l'élimination de la force ()

Système de suspension de saut

La figure 4 illustre l'effet du système de suspension de saut. Il a été décrit en détail dans [4] et l'idée centrale des disques excentriques (une forme d'ordinateur analogique) a été esquissée ci-dessus. Nous considérons le système de suspension comme un module haptique car il permet le saut qui est une expérience haptique. Par ailleurs, il comprend également un treuil de remontée du sujet volant (par exemple, lors de l'ouverture du parachute) qui sert également à la simulation de turbulences pendant le vol. Un dernier composant du système de suspension est la combinaison de vol qui contribue de manière significative à la perception tactile du Virtual Jumpcube. Plusieurs des questions étudiées (énumérées dans la section 3.1) sont ciblées sur le système de suspension.

Actuellement, le système météorologique se compose d'éléments pour le vent (une, b, ), chauffer (élément supérieur droit dans une, éléments latéraux dans b) et vaporisez (élément inférieur central dans b, c). Un composant supplémentaire pour l'air froid est en cours de développement

Système météo : vent, embruns, chaleur, froid

Le système météo (voir Fig. 5) du Jumpcube est en grande partie intégré au sol du cube. Il se compose d'éoliennes à différentes positions du cube, de sources de chaleur, d'aérosols et d'une source d'air froid. Tous les composants sont contrôlés par l'application via le moteur de jeu et les contrôleurs connectés. Les paramètres sont la vitesse de rotation, la température et la quantité de pulvérisation injectée dans le flux de vent. Le même type de contrôleur et de système de communication que pour le Vragrancer est utilisé pour le système météo et encore une fois, les latences sont minimes. Dans la présente évaluation, seuls les sous-systèmes vent et embruns ont été utilisés. Le spray est, par exemple, utilisé pour rendre les nuages ​​plus réalistes et lorsqu'il touche une surface d'eau pendant la course aérienne. L'air chaud et l'air froid, par exemple employés pour exprimer la froideur de l'espace et la chaleur du soleil, feront l'objet d'une évaluation future.

Le système de simulation de force se compose d'un moteur à réponse rapide qui est connecté à des cordes via un embrayage magnétique (une). Les cordes traînent au niveau de la ceinture abdominale du sauteur, créant ainsi l'impression de forces centrifuges (b, c). Dans le Jumpcube, le système de simulation de force est attaché à l'un des leviers du système de suspension ()

Simulation de force

Le troisième composant haptique considéré dans la présente évaluation est un système de simulation des forces centrifuges. Il se compose d'un moteur, d'un embrayage électrique et d'un système de cordes qui tirent au niveau des hanches du sujet volant. Déclenchés par l'application, les changements de direction de vol sont exprimés visuellement (et parfois, de manière audible) et soutenus par une forte traction au niveau des hanches et un lent glissement pendant le temps du bouclage. L'embrayage n'est qu'une mesure de sécurité : lorsque l'extrémité du câble de commande est atteinte, l'embrayage s'ouvre, découplant ainsi le moteur. Ensuite, grâce à la gravitation, le sujet et le système de suspension reviennent à une position centrale stable.

Le système de simulation de force est le seul composant Jumpcube qui utilise deux contrôleurs. Le premier sert d'interface au protocole de contrôle, décodant et propageant les messages de contrôle du contrôleur d'application ou de la console. Le deuxième contrôleur, fourni par le fabricant du moteur, effectue la gestion du moteur en mode CAN normalisé. Comme on peut le voir sur la figure 6, le système de simulation de force est monté sur l'un des leviers utilisés dans le système de suspension pour l'étalonnage. Malgré cela, il s'agit d'un système indépendant qui pourrait également être utilisé en dehors du Jumpcube.


Exigences générales et installation

Le o_ptb est une boîte à outils fonctionnant sur MATLAB 2016b ou supérieur (The MathWorks Inc.). Il nécessite une version actuelle de la Psychophysics Toolbox. Il utilise uniquement les fonctions fournies par MATLAB et le PTB en son cœur. Il fonctionne ainsi sous Windows, Mac et Linux. Certains périphériques pouvant être utilisés avec o_ptb peuvent nécessiter l'installation d'autres logiciels et/ou pilotes sur le système. Comme ces pilotes peuvent ne pas être disponibles pour toutes les plates-formes, certaines restrictions peuvent s'appliquer.

Le o_ptb est publié sous la licence publique générale 3 (GPL Free Software Foundation, 2007). La dernière version peut être téléchargée sur https://gitlab.com/thht/o_ptb. En supposant que MATLAB et le PTB ont déjà été installés sur l'ordinateur, il suffit de copier le contenu de l'o_ptb dans un dossier arbitraire sur le disque dur de l'ordinateur. Des instructions plus détaillées sont disponibles dans la documentation à l'adresse https://o-ptb.readthedocs.io/en/latest/install.html.


Résultats de recherche

SpamTitan bloque le spam, les virus, les logiciels malveillants, les ransomwares, les tentatives de phishing et autres menaces par courrier électronique.

Licence, contrôle et gestion du SD-WAN multi-appliqué pour fournir des services gérés multi-cloud

Studio OBS

Logiciel open source pour la diffusion et l'enregistrement en direct

Éditeur vidéo OpenShot

Logiciel de montage vidéo Open Source primé

Spleeter

Bibliothèque de séparation de sources Deezer comprenant des modèles pré-entraînés

Hurleur.js

Bibliothèque audio Javascript pour le web moderne

Pour les organisations de toutes tailles, faites confiance à LabWare pour rationaliser leurs processus de documentation de laboratoire.

Serveur Nextcloud

Une maison sûre pour toutes vos données

Tone.js

Un framework Web Audio pour faire de la musique interactive dans le navigateur

Outil de ligne de commande et bibliothèque pour transférer des données avec des URL

Tensor2Tensor

Bibliothèque de modèles d'apprentissage en profondeur et d'ensembles de données

Framework de composants Web pour la création d'annonces, d'e-mails, de sites Web, etc.

Pour toute organisation qui souhaite une solution d'évaluation des risques et de surveillance de la santé


Discussion

Fournir une rétroaction déclenchée par des événements en temps réel est l'un des outils les plus puissants des neurosciences. De la rétroaction optogénétique en boucle fermée à la réalité virtuelle déclenchée par le comportement, certaines des plus grandes connaissances des neurosciences des systèmes ont été obtenues en testant de manière causale la relation entre le comportement et le cerveau (Kim et al., 2017 Chettih et Harvey, 2019 Jazayeri et Afraz, 2017 ). Bien que les outils pour sonder à la fois le cerveau et pour mesurer le comportement soient devenus plus avancés, il est toujours nécessaire que de tels outils puissent interagir de manière transparente. Ici, nous avons cherché à fournir un système capable de fournir un retour d'information en temps réel basé sur les progrès de l'estimation de pose basée sur l'apprentissage en profondeur. Nous fournissons de nouveaux outils de calcul pour le faire avec des vitesses élevées et une faible latence, ainsi qu'une suite complète de tests d'analyse comparative (et le site Web associé : https://deeplabcut.github.io/DLC-inferencespeed-benchmark/), qui, nous l'espérons, permet une science expérimentale de plus en plus sophistiquée.

Travaux connexes

DeepLabCut and related animal pose estimation tools reviewed in Mathis and Mathis, 2020 have become available starting in early 2018, and two groups have built tools around real-time applications with DeepLabCut. However, the reported speed and latencies are slower than what we were able to achieve here: Forys et al., 2020 achieved latencies of 30 ms using top-end GPUs, and this delay increases if the frame acquisition rate is increased beyond 100 frames per second. Schweihoff et al., 2019 also achieve latencies of 30 ms from frame acquisition to detecting a behavior of interest (round-trip frame to LED equivalent was not reported). We report a 2–3x reduction in latency (11 ms/16 ms from frame to LED in the ‘Optimize Latency’/‘Optimize Rate’ mode of DLG) on a system that uses a less powerful GPU (Windows/GeForce GTX 1080) compared to these studies, and equivalent performance (29 ms/35 ms from frame to LED in the ‘Optimize Latency’/‘Optimize Rate’ mode of DLG) on a conventional laptop (MacBook Pro with Intel Core-i7 CPU). Although we believe such tools can use the advances presented in this work to achieve higher frame rates and lower latencies, our new real-time approach provides an improvement in portability, speed, and latency.

Animal pose estimation toolboxes, like DeepLabCut, have all benefited from advances in human pose estimation research. Although the goals do diverge (reviewed in Mathis and Mathis, 2020) in terms of required speed, the ability to create tailored networks, and accuracy requirements, competitions on human pose estimation benchmarks such as PoseTrack (Andriluka et al., 2018) and COCO Lin et al., 2014 have advanced computer vision. Several human pose estimation systems have real-time options: OpenPose (Cao et al., 2017) has a real-time hand/face pose tracker available, and PifPaf (Kreiss et al., 2019) reaches about 10 Hz on COCO (depending on the backbone Lin et al., 2014). On the challenging multi-human PoseTrack benchmark (Andriluka et al., 2018), LightTrack (Ning et al., 2020) reaches less than 1 Hz. However, recent work achieves 3D multi-human pose estimation at remarkable frame rates (Chen et al., 2020), in particular they report an astonishing 154 FPS for 12 cameras with four people in the frame. State of the art face detection frameworks, based on optimized architectures such as BlazeFace can achieve remarkable speeds of >500 FPS on GPUs of cell phones (Bazarevsky et al., 2019). The novel (currently unpublished) multi-animal version of DeepLabCut can also be used for feedback, and depending on the situation, tens of FPS for real-time applications should be possible. Inference speed can also be improved by various techniques such as network pruning, layer decomposition, weight discretization or feed-forward efficient convolutions (Zhang et al., 2019). Plus, the ability to forward predict postures, as we show here, can be used to compensate for hardware delays.

Scalability, affordability, and integration into existing pipelines

If neuroscience’s embrace of studying the brain in its natural context of complex, contingent, and open-ended behavior (Krakauer et al., 2017 Mathis and Mathis, 2020 Datta et al., 2019) is smashing the champagne on a long-delayed voyage, the technical complexity of the experiments is the grim spectre of the sea. Markerless tracking has already enabled a qualitatively new class of data-dense behavioral experiments, but the heroism required to simultaneously record natural behavior from 62 cameras (Bala et al., 2020) or electrophysiology from 65,000 electrodes (Sahasrabuddhe et al., 2020), or integrate dozens of heterogeneous custom-built components (Findley et al., 2020) hints that a central challenge facing neuroscience is scale.

Hardware-intensive experiments typically come at a significant cost, even if the pose estimation tools are ‘free’ (developed in laboratories at a non-significant expense, but provided open source). Current commercial systems are expensive–up to $10,000–and they have limited functionality these systems track the location of animals but not postures or movements of experimenter-defined points of the animal, and few to none offer any advanced deep learning-based solutions. Thus, being able to track posture with state-of-the-art computer vision at scale is a highly attractive goal.

DeepLabCut-Live! experiments are a many-to-many computing problem: many cameras to many GPUs (and coordinated with many other hardware components). The Autopilot experiment we described is the simplest 2-computer case of distributed applications of DeepLabCut-Live! , but Autopilot provides a framework for its use with arbitrary numbers of cameras and GPUs in parallel. Autopilot is not prescriptive about hardware configuration, so for example if lower latencies were needed users could capture frames on the same computer that processes them, use more expensive GPUs, or use the forward-prediction mode. Along with the rest of its hardware, experimental design, and data management infrastructure, integration of DeepLabCut in Autopilot makes complex experiments scalable and affordable.

Thus, here we presented options that span ultra-high performance (at GPU cost) to usable, affordable solutions that will work very well for most all applications (i.e. up to 90 FPS with zero to no latency if using our forward-prediction mode). Indeed, the Jetson experiments that we performed used simple hardware (inexpensive webcam, simple LED circuit) and either the open source DLC-Live! GUI or AutoPilot.

In addition to integration with Autopilot, we introduce integration of real-time DeepLabCut into Bonsai, a popular framework that is already integrated into many popular neuroscience tools such as OpenEphys (Siegle et al., 2017), BonVision (Lopes et al., 2020), and BpodDeveloped by Sanworks: https://www.sanworks.io/index.php. The merger of DeepLabCut and Bonsai could therefore allow for real-time posture tracking with sophisticated neural feedback with hardware such as NeuroPixels, Miniscopes, and beyond. For example, Bonsai and the newly released BonVision toolkit (Lopes et al., 2020) are tools for providing real-time virtual reality (VR) feedback to animals. Here, we tested the capacity for a single GPU laptop system to run Bonsai-DLC with another computational load akin to what is needed for VR, making this an accessible tool for systems neuroscientists wanting to drive stimuli based on potentially sophisticated postures or movements. Furthermore, in our real-time dog-feedback utilizing the forward-prediction mode we utilized both posture and kinematics (velocity) to be able to achieve sub-zero latency.

Sharing DLC models

With this paper we also introduce three new features within the core DeepLabCut ecosystem. One, the ability to easily export trained models without the need to share project folders (as previously) two, the ability to load these models into other frameworks aside from DLC-specific tools and three, we modified the code-base to allow for frozen-networks. These three features are not only useful for real-time applications, but if users want to share models more globally (as we are doing with the DeepLabCut Model Zoo Project Mathis et al., 2020b), or have a easy-install lightweight DeepLabCut package on dedicated machines for running inference, this is an attractive option. For example, the protocol buffer files are system and framework agnostic: they are easy to load into TensorFlow (Abadi et al., 2016) wrappers based on C++, Python, etc. This is exactly the path we pursued for Bonsai’s plugin via a C#-TensorFlow wrapperTensorFlowSharp: (https://github.com/migueldeicaza/TensorFlowSharp). Moreover, this package can be utilized even in offline modes where batch processing is desirable for very large speed gains (Mathis and Warren, 2018 Mathis et al., 2020a).

Benchmarking DeepLabCut-Live! GUI performance

Importantly, the DLG benchmarking data described above was collected by loading images from a pre-recorded video at the same rate that these images were originally acquired, effectively simulating the process of streaming video from a camera in real-time. This method was chosen for a few reasons. First, using a pre-recorded video standardized the benchmarking procedure across different platforms – it would have been extremely difficult to record nearly identical videos across different machines. Second, reading images from the video in the same exact manner that a video would be recorded from a physical camera in real-time exposed the same delays in DLG as we would observe when recording from a camera in real-time. The delays that we report all occur after images are acquired. Thus, if the desired frame rate is achieved, these benchmarking results are exactly equivalent to the delays that would be observed when recording from a physical camera. The possible frame rates that can be achieved by different cameras are documented by camera manufacturers and the software used to record video from cameras relies on libraries provided by camera manufacturers (e.g. The Imaging Source, The Imaging Source Libraries on GitHub: https://github.com/TheImagingSource) or well-documented open-source projects (e.g. OpenCV,https://github.com/opencv/opencv and Aravis, https://github.com/AravisProject/aravis Bradski, 2000). Additional delays caused by recording from a physical camera are therefore specific to each individual type of camera. Finally, by making the videos used for benchmarking available, DLG users can replicate our benchmarking results, which will help in diagnosing the cause of performance issues.

Choosing to optimize pose estimation rate vs. latency in the DeepLabCut-Live! IHM graphique

When using DLG, if the rate of pose estimation is faster than the rate of image acquisition, pose estimation will run in synchrony with image acquisition (in parallel processes). However, if the pose estimation rate is slower than image acquisition, users have the choice of one of two modes: ‘Optimize Rate’ or ‘Optimize Latency.’ In the ‘Optimize Rate’ mode, pose estimation and image acquisition are run asynchronously, such that pose estimation is run continuously, but pose estimation for a given image does not necessarily start at the time the image was acquired. Thus, the delay from image acquisition to pose estimation is the delay from image acquisition until pose estimation begins plus the time it takes DeepLabCut to estimate the pose. In the ‘Optimize Latency’ mode, after the pose estimation process finishes estimating the pose on one frame, it will wait for the next frame to be acquired to get back in sync with the image acquisition process. This minimizes the latency from image acquisition to pose estimation, but results in a slower rate of pose estimation, and over course of an experiment, fewer estimated poses. Because the ‘Optimize Latency’ mode results in fewer estimated poses, we recommend using the ‘Optimize Rate’ mode for most applications. However, the ‘Optimize Latency’ mode may be particularly useful for applications in which it is critical to minimize delays to the greatest extent possible and it is not critical to sometimes miss the behavior of interest. One example in which a user may consider the ‘Optimize Latency’ mode could be to stimulate neural activity upon detecting the tongue exiting the mouth on a subset of trials in a licking task. In this example, the ‘Optimize Latency’ mode will provide a lower latency from when the image that detects the tongue was acquired to stimulating neural activity. However, the slower pose estimation rate will make it more likely that, on a given trial, the first image in which the tongue is present will not be analyzed. Thus, the ‘Optimize Latency’ mode will provide the shortest delays on trials in which this image is analyzed, and users can choose to not stimulate on trials in which the tongue is too far outside of the mouth when it is first detected by DeepLabCut.

Feedback on posture and beyond

To demonstrate the feedback capabilities of DeepLabCut-Live! we performed a set of experiments where an LED was triggered based on the confidence of the DeepLabCut network and the posture of the animal (here a dog, but as is DeepLabCut, this package is animal and object agnostic). We also provide a forward-prediction mode that utilizes temporal information via kinematics to predict future postural states. In this demonstration, we used a Kalman filter to obtain filtered estimates of the position, velocity and acceleration at each point in time, and then predicted the future pose via quadratic approximation. We chose this approach for a few reasons: (i) it requires no prior training and (ii) with simple modifications to 2–3 parameters, it can be tailored to suit a wide variety of applications. Since this approach relies on a quadratic approximation, it can be successfully applied to any application for which it is possible to obtain accurate measurements of the position, velocity, and acceleration using a Kalman filter. The performance of the Kalman filter predictor will critically depend on how far into the future one wishes to predict and how quickly the velocity and acceleration of the keypoints change. If there are substantial changes in the velocity or acceleration of the keypoint within the time frame of the forward prediction, or if a keypoint is not present in most images but suddenly appears (e.g. detecting the appearance of the tongue during a lick sequence), the forward prediction will be inaccurate. This was evident in the dog feedback experiment where we were predicting ≈ 80 ms into the future during a rapid movement. Using a mouse reaching dataset with movements on a similar timescale, but with video recorded at a much higher rate (150 FPS for mouse reaching vs. 30 FPS for dog), and a mouse open field dataset with video recorded at the same rate as the dog ‘rearing’ experiment, but with slower movements, we demonstrated that the Kalman filter works extremely well in predicting the future pose at a shorter timescale, and demonstrated the way in which it’s predictions become inaccurate as it predicts the pose further into the future. However, despite the inaccurate predictions when the time to predict is longer than the timescale at which velocity and acceleration are changing, the Kalman filter still provides great promise to improve the time to detect the onset of rapid movements.

Additionally, we would like to emphasize that the Kalman filter is only one possible approach to predict the future pose. In addition to demonstrating its utility for forward prediction, the source code for the Kalman filter Processor provides a blueprint for implementing different methods of forward prediction using the DeepLabCut-Live! framework tailored for the specific tracking problem. For instance, one can imagine applications to rhythmic movements, where one predicts future behavior from many past cycles. Other time series models such as LSTMs, or neural networks can also be integrated in the predictor class. Furthermore, the simple comparison of the position of 2–3 keypoints is only one possible strategy for detecting the time to trigger peripheral devices. For example, one can build Processor objects to trigger on joint angles, or more abstract targets such as being in a particular high dimensional state space. We believe the flexibility of this feedback tool, plus the ability to record long-time scale videos for ‘standard’ DeepLabCut analysis makes this broadly applicable to many applications.

Conclusion

We report the development of a new light-weight Python pose estimation package based on DeepLabCut, which can be integrated with behavioral control systems (such as Bonsai and AutoPilot) or used within a new DLC-Live! GUI. This toolkit allows users to do real-time, low-latency tracking of animals (or objects) on high-performance GPU cards or on low cost, affordable and scalable systems. We envision this being useful for precise behavioral feedback in a myriad of paradigms.


Discussion

While immersive VR offers tremendous opportunities to study body ownership and agency, the design and implementation of a system capable of creating complex VEs, delivering multimodal stimulations as well as measuring the effect of the illusions induced on the participants has to be carefully considered. Indeed, such a VR system involves combining several heterogeneous hardware and software components while ensuring optimal real-time performance. This paper serves as a guide for those wishing to create their own virtual embodiment experiments or applications and to help in choosing a suitable setup both in terms of hardware and software components.

This paper discusses a VR technological system dedicated to the study of both the induction and the evaluation of virtual embodiment. We advocate a modular system architecture that enables the inclusion of various techniques for multimodal stimulation and physiological measurements.

Note that throughout the paper we do not tackle networking communication, a critical aspect of every VR system. The modular system presented in this paper is based on the hypothesis that modules are able to exchange data seamlessly via network communications (i.e., without any delay induced by problem during data transfer over network – e.g. a 10/100 Gb network). This hypothesis is relatively easy to enforce in a research environment where every computer and device is likely to belong to the same communication network, which can support high-speed data transfer.

We divide the virtual embodiment system into a core system, which is capable of basic virtual embodiment experiments, and multimodal stimulation modules that can be used to enhance the BOI and enable more complicated scenarios. For each module, we discuss the trade-offs among various possible solutions and provide concrete examples of software and hardware systems the authors have used and implemented for performing virtual embodiment experiments. Moreover, we propose a list of important criteria that have to be taken into account when deciding on a VR installation for virtual embodiment. Finally, we present some results obtained with a VR system for embodiment experiments in order to highlight concrete examples of such a system.


Notes de bas de page

1 In a later section, we describe how the nDelay parameter was also deliberately manipulated in order to test Audapter's formant shift capability with a shorter processing delay.

2 This assumes an original sampling rate of 48 kHz and a buffer size of 96 samples, making each frame size 2 ms.

3 A distinction could be made between latency that is due to software design (e.g., placing samples in a buffer) versus actual processing (e.g., doing spectral calculations and manipulations, which could depend on computer processor speed and the specific type of signal manipulation). However, results presented later in this article demonstrate that, in Audapter, the latency determined by nDelay encompasses any separate processing latency. Hence, we use the terms “total software latency” and “software processing latency” interchangeably.

4 Of course, if a given auditory feedback perturbation system has “additional” delay before the perturbation is actually implemented after onset of the feedback signal, then researchers should report both the signal latency as discussed in this article and the additional latency until the perturbation effectively appears in that signal. In Audapter, even the first sample of the feedback signal has gone through all processing steps. Thus, there is no additional perturbation latency beyond the feedback signal latency.

Author Notes

Divulgation: The authors have declared that no competing interests existed at the time of publication.


Contenu

An evoked potential is the electrical response of the brain to a sensory stimulus. Regan constructed an analogue Fourier series analyzer to record harmonics of the evoked potential to flickering (sinusoidally modulated) light. Rather than integrating the sine and cosine products, Regan fed the signals to a two-pen recorder via lowpass filters. [5] This allowed him to demonstrate that the brain attained a steady-state regime in which the amplitude and phase of the harmonics (frequency components) of the response were approximately constant over time. By analogy with the steady-state response of a resonant circuit that follows the initial transient response he defined an idealized steady-state evoked potential (SSEP) as a form of response to repetitive sensory stimulation in which the constituent frequency components of the response remain constant with time in both amplitude and phase. [5] [6] Although this definition implies a series of identical temporal waveforms, it is more helpful to define the SSEP in terms of the frequency components that are an alternative description of the time-domain waveform, because different frequency components can have quite different properties. [6] [7] For example, the properties of the high-frequency flicker SSEP (whose peak amplitude is near 40–50 Hz) correspond to the properties of the subsequently discovered magnocellular neurons in the retina of the macaque monkey, while the properties of the medium-frequency flicker SSEP ( whose amplitude peak is near 15–20 Hz) correspond to the properties of parvocellular neurons. [8] Since a SSEP can be completely described in terms of the amplitude and phase of each frequency component it can be quantified more unequivocally than an averaged transient evoked potential.

It is sometimes said that SSEPs are elicited only by stimuli of high repetition frequency, but this is not generally correct. In principle, a sinusoidally modulated stimulus can elicit a SSEP even when its repetition frequency is low. Because of the high-frequency rolloff of the SSEP, high frequency stimulation can produce a near-sinusoidal SSEP waveform, but this is not germane to the definition of a SSEP. By using zoom-FFT to record SSEPs at the theoretical limit of spectral resolution ΔF (where ΔF in Hz is the reciprocal of the recording duration in seconds) Regan and Regan discovered that the amplitude and phase variability of the SSEP can be sufficiently small that the bandwidth of the SSEP's constituent frequency components can be at the theoretical limit of spectral resolution up to at least a 500-second recording duration (0.002 Hz in this case). [9] Repetitive sensory stimulation elicits a steady-state magnetic brain response that can be analysed in the same way as the SSEP. [7]

The "simultaneous stimulation" technique Edit

This technique allows several (e.g., four) SSEPs to be recorded simultaneously from any given location on the scalp. [10] Different sites of stimulation or different stimuli can be tagged with slightly different frequencies that are virtually identical to the brain, but easily separated by Fourier series analyzers. [10] For example, when two unpatterned lights are modulated at slightly different frequencies (F1 and F2) and superimposed, multiple nonlinear cross-modulation components of frequency (mF1 ± nF2) are created in the SSEP, where m and n are integers. [7] These components allow nonlinear processing in the brain to be investigated. By frequency-tagging two superimposed gratings, spatial frequency and orientation tuning properties of the brain mechanisms that process spatial form can be isolated and studied. [11] [12] Stimuli of different sensory modalities can also be tagged. For example, a visual stimulus was flickered at Fv Hz and a simultaneously presented auditory tone was amplitude modulated at Fa Hz. The existence of a (2Fv + 2Fa) component in the evoked magnetic brain response demonstrated an audio-visual convergence area in the human brain, and the distribution of this response over the head allowed this brain area to be localized. [13] More recently, frequency tagging has been extended from studies of sensory processing to studies of selective attention [14] and of consciousness. [15]

The "sweep" technique Edit

The sweep technique is a hybrid frequency domain/time domain technique. [16] A plot of, for example, response amplitude versus the check size of a stimulus checkerboard pattern plot can be obtained in 10 seconds, far faster than when time-domain averaging is used to record an evoked potential for each of several check sizes. [16] In the original demonstration of the technique the sine and cosine products were fed through lowpass filters (as when recording a SSEP ) while viewing a pattern of fine checks whose black and white squares exchanged place six times per second. Then the size of the squares was progressively increased so as to give a plot of evoked potential amplitude versus check size (hence "sweep"). Subsequent authors have implemented the sweep technique by using computer software to increment the spatial frequency of a grating in a series of small steps and to compute a time-domain average for each discrete spatial frequency. [17] [18] A single sweep may be adequate or it may be necessary to average the graphs obtained in several sweeps with the averager triggered by the sweep cycle. [19] Averaging 16 sweeps can improve the signal-to-noise ratio of the graph by a factor of four. [19] The sweep technique has proved useful in measuring rapidly adapting visual processes [20] and also for recording from babies, where recording duration is necessarily short. Norcia and Tyler have used the technique to document the development of visual acuity [17] [21] and contrast sensitivity [22] through the first years of life. They have emphasized that, in diagnosing abnormal visual development, the more precise the developmental norms, the more sharply can the abnormal be distinguished from the normal, and to that end have documented normal visual development in a large group of infants. [17] [21] [22] For many years the sweep technique has been used in paediatric ophthalmology (electrodiagnosis) clinics worldwide.

Evoked potential feedback Edit

This technique allows the SSEP to directly control the stimulus that elicits the SSEP without the conscious intervention of the experimental subject. [5] [19] For example, the running average of the SSEP can be arranged to increase the luminance of a checkerboard stimulus if the amplitude of the SSEP falls below some predetermined value, and to decrease luminance if it rises above this value. The amplitude of the SSEP then hovers about this predetermined value. Now the wavelength (colour) of the stimulus is progressively changed. The resulting plot of stimulus luminance versus wavelength is a plot of the spectral sensitivity of the visual system. [6] [19]

Sensory evoked potentials (SEP) are recorded from the central nervous system following stimulation of sense organs, for example, visual evoked potentials elicited by a flashing light or changing pattern on a monitor, [23] auditory evoked potentials by a click or tone stimulus presented through earphones), or tactile or somatosensory evoked potential (SSEP) elicited by tactile or electrical stimulation of a sensory or mixed nerve in the periphery. Sensory evoked potentials have been widely used in clinical diagnostic medicine since the 1970s, and also in intraoperative neurophysiology monitoring (IONM), also known as surgical neurophysiology.

There are three kinds of evoked potentials in widespread clinical use: auditory evoked potentials, usually recorded from the scalp but originating at brainstem level visual evoked potentials, and somatosensory evoked potentials, which are elicited by electrical stimulation of peripheral nerve. Examples of SEP usage include: [4]

  • SSEP can be used to locate lesions such as peripheral nerve or spinal cord.
  • VEP and BAEP can supplement neuroimaging as part of workups to diagnose diseases such as multiple sclerosis.
  • Short latency EPs such as SSEP, VEP, and BAEP can be used to indicate prognosis for traumatic and anoxic brain injury. Early after anoxic brain injury, no response indicates mortality accurately. In traumatic brain injury, abnormal responses indicates failure to recover from coma. In both types of injury, normal responses may indicate good outcome. Moreover, recovery in responses often indicates clinical recovery.

Long and Allen [24] were the first investigators to report the abnormal brainstem auditory evoked potentials (BAEPs) in an alcoholic woman who recovered from acquired central hypoventilation syndrome. These investigators hypothesized that their patient's brainstem was poisoned, but not destroyed, by her chronic alcoholism.

Visual evoked potential Edit

Visual evoked potential (VEP) is an evoked potential elicited by presenting light flash or pattern stimulus which can be used to confirm damage to visual pathway [25] including retina, optic nerve, optic chiasm, optic radiations, and occipital cortex. [26] One application is in measuring infant's visual acuity. Electrodes are placed on infant's head over visual cortex and a gray field is presented alternately with a checkerboard or grating pattern. If the checker's boxes or stripes are large enough to be detected, VEP is generated otherwise, none is generated. It's an objective way to measure infant's visual acuity. [27]

VEP can be sensitive to visual dysfunctions that may not be found with just physical examinations or MRI, even if it cannot indicate etiologies. [26] VEP may be abnormal in optic neuritis, optic neuropathy, demyelinating disease, multiple sclerosis, Friedreich’s ataxia, vitamin B12 deficiency, neurosyphilis, migraine, ischemic disease, tumor compressing the optic nerve, ocular hypertension, glaucoma, diabetes, toxic amblyopia, aluminum neurotoxicity, manganese intoxication, retrobulbar neuritis, and brain injury. [28] It can be used to examine infant's visual impairment for abnormal visual pathways which may be due to delayed maturation. [26]

The P100 component of VEP response, which is the positive peak with the delay about 100 ms, has a major clinical importance. The visual pathway dysfunction anterior to the optic chiasm maybe where VEPs are most useful. For example, patients with acute severe optic neuritis often lose the P100 response or have highly attenuated responses. Clinical recovery and visual improvement come with P100 restoration but with an abnormal increased latency that continues indefinitely, and hence, it maybe useful as an indicator of previous or subclinical optic neuritis. [29]

In 1934, Adrian and Matthew noticed potential changes of the occipital EEG can be observed under stimulation of light. Ciganek developed the first nomenclature for occipital EEG components in 1961. During that same year, Hirsch and colleagues recorded a visual evoked potential (VEP) on the occipital lobe (externally and internally), and they discovered amplitudes recorded along the calcarine fissure were the largest. In 1965, Spehlmann used a checkerboard stimulation to describe human VEPs. An attempt to localize structures in the primary visual pathway was completed by Szikla and colleagues. Halliday and colleagues completed the first clinical investigations using VEP by recording delayed VEPs in a patient with retrobulbar neuritis in 1972. A wide variety of extensive research to improve procedures and theories has been conducted from the 1970s to today and the method has also been described in animals. [30]

VEP Stimuli Edit

The diffuse-light flash stimulus is rarely used nowadays due to the high variability within and across subjects. However, it is beneficial to use this type of stimulus when testing infants, animals or individuals with poor visual acuity. The checkerboard and grating patterns use light and dark squares and stripes, respectively. These squares and stripes are equal in size and are presented, one image at a time, via a computer screen.

VEP Electrode Placement Edit

Electrode placement is extremely important to elicit a good VEP response free of artifact. In a typical (one channel) setup, one electrode is placed 2.5 cm above the inion and a reference electrode is placed at Fz. For a more detailed response, two additional electrodes can be placed 2.5 cm to the right and left of Oz.

VEP Waves Edit

The VEP nomenclature is determined by using capital letters stating whether the peak is positive (P) or negative (N) followed by a number which indicates the average peak latency for that particular wave. For example, P100 is a wave with a positive peak at approximately 100 ms following stimulus onset. The average amplitude for VEP waves usually falls between 5 and 20 microvolts.

Normal values are depending on used stimulation hardware (flash stimulus vs. cathode ray tube or liquid crystal display, checkerboard field size, etc.).

Types of VEP Edit

  • Monocular pattern reversal (most common)
  • Sweep visual evoked potential
  • Binocular visual evoked potential
  • Chromatic visual evoked potential
  • Hemi-field visual evoked potential
  • Flash visual evoked potential
  • LED Goggle visual evoked potential
  • Motion visual evoked potential
  • Multi-channel visual evoked potential
  • Multi-frequency visual evoked potential
  • Stereo-elicited visual evoked potential

Auditory evoked potential Edit

Auditory evoked potentials (AEP) can be used to trace the signal generated by a sound through the ascending auditory pathway. The evoked potential is generated in the cochlea, goes through the cochlear nerve, through the cochlear nucleus, superior olivary complex, lateral lemniscus, to the inferior colliculus in the midbrain, on to the medial geniculate body, and finally to the cortex. [31]

Auditory evoked potentials (AEPs) are a subclass of event-related potentials (ERPs). ERPs are brain responses that are time-locked to some "event", such as a sensory stimulus, a mental event (such as recognition of a target stimulus), or the omission of a stimulus. For AEPs, the "event" is a sound. AEPs (and ERPs) are very small electrical voltage potentials originating from the brain recorded from the scalp in response to an auditory stimulus, such as different tones, speech sounds, etc.

Brainstem auditory evoked potentials are small AEPs that are recorded in response to an auditory stimulus from electrodes placed on the scalp.

AEPs serve for assessment of the functioning of the auditory system and neuroplasticity. [32] They can be used to diagnose learning disabilities in children, aiding in the development of tailored educational programs for those with hearing and or cognition problems. [33]

Somatosensory evoked potential Edit

Somatosensory Evoked Potentials (SSEPs) are EP recorded from the brain or spinal cord when stimulating peripheral nerve repeatedly. [34] SSEPs are used in neuromonitoring to assess the function of a patient's spinal cord during surgery. They are recorded by stimulating peripheral nerves, most commonly the tibial nerve, median nerve or ulnar nerve, typically with an electrical stimulus. The response is then recorded from the patient's scalp.

Although stimuli such as touch, vibration, and pain can be used for SSEP, electrical stimuli are most common because of ease and reliability. [34] SSEP can be used for prognosis in patients with severe traumatic head injury. [35] Because SSEP with latency less than 50 ms is relatively independent of consciousness, if used early in comatose patient, it can predict outcome reliably and efficiently. [36] For example, comatose patients with no responses bilaterally has 95% chance of not recovering from coma. [37] But care should be taken analyzing the result. For example, increased sedation and other CNS injuries such as the spinal cord can affect SEP. [34]

Because of the low amplitude of the signal once it reaches the patient's scalp and the relatively high amount of electrical noise caused by background EEG, scalp muscle EMG or electrical devices in the room, the signal must be averaged. The use of averaging improves the signal-to-noise ratio. Typically, in the operating room, over 100 and up to 1,000 averages must be used to adequately resolve the evoked potential.

The two most looked at aspects of an SSEP are the amplitude and latency of the peaks. The most predominant peaks have been studied and named in labs. Each peak is given a letter and a number in its name. For example, N20 refers to a negative peak (N) at 20ms. This peak is recorded from the cortex when the median nerve is stimulated. It most likely corresponds to the signal reaching the somatosensory cortex. When used in intraoperative monitoring, the latency and amplitude of the peak relative to the patient's post-intubation baseline is a crucial piece of information. Dramatic increases in latency or decreases in amplitude are indicators of neurological dysfunction.

During surgery, the large amounts of anesthetic gases used can affect the amplitude and latencies of SSEPs. Any of the halogenated agents or nitrous oxide will increase latencies and decrease amplitudes of responses, sometimes to the point where a response can no longer be detected. For this reason, an anesthetic utilizing less halogenated agent and more intravenous hypnotic and narcotic is typically used.

Clinical Uses Edit

SEP findings do not by themselves lead to a specific diagnosis, and organic diseases cannot necessarily be excluded with normal SEP findings. Findings must be interpreted in the context of the patient’s clinical presentation. Evaluating the peripheral responses with SEPs could contribute to the diagnosis of peripheral nerve damage.

Furthermore, SEPs could be abnormal in different pathologies such as multiple sclerosis (MS), hereditary spinocerebellar degenerations, hereditary spastic paraplegia, AIDS and vitamin B12 or vitamin E deficiency. In patients with MS, evoked potential findings often complement findings on MRI.

In the acute stage after a traumatic spinal injury or brain trauma, the absence of SEP responses do not correlate with prognosis. However, an early return to normal or preserved cortical responses in the subacute stage correlate with a positive outcome.

SEPs can be helpful to evaluate subcortical and cortical function in comatose patients and are less sensitive to sedative drugs than EEG. SEP´s and BAEP´s together are the best tools to assist in the confirmation of brain death in comatose patients

Clinical consideration in children Edit

As in the adult, SEP findings in combination with the clinical assessment and EEG findings can contribute to the determination of prognosis in comatose children. In high risk newborns, tracking SEP findings over time can be helpful for outcome prognostication. Several neurodegenerative disorders have abnormal findings in spinal and cortical SEP components. Moreover, compressive lesions on the spine (e.g. Arnold-Chiari malformation or mucopolysaccharidosis) are associated with abnormal SEPs, which may precede abnormalities on MRI.

Laser evoked potential Edit

Conventional SSEPs monitor the functioning of the part of the somatosensory system involved in sensations such as touch and vibration. The part of the somatosensory system that transmits pain and temperature signals is monitored using laser evoked potentials (LEP). LEPs are evoked by applying finely focused, rapidly rising heat to bare skin using a laser. In the central nervous system they can detect damage to the spinothalamic tract, lateral brain stem, and fibers carrying pain and temperature signals from the thalamus to the cortex. In the peripheral nervous system pain and heat signals are carried along thin (C and A delta) fibers to the spinal cord, and LEPs can be used to determine whether a neuropathy is located in these small fibers as opposed to larger (touch, vibration) fibers. [38]

Motor evoked potentials (MEP) are recorded from muscles following direct stimulation of exposed motor cortex, or transcranial stimulation of motor cortex, either magnetic or electrical. Transcranial magnetic MEP (TCmMEP) potentially offer clinical diagnostic applications. Transcranial electrical MEP (TCeMEP) has been in widespread use for several years for intraoperative monitoring of pyramidal tract functional integrity.

During the 1990s, there were attempts to monitor "motor evoked potentials", including "neurogenic motor evoked potentials" recorded from peripheral nerves, following direct electrical stimulation of the spinal cord. It has become clear that these "motor" potentials were almost entirely elicited by antidromic stimulation of sensory tracts—even when the recording was from muscles (antidromic sensory tract stimulation triggers myogenic responses through synapses at the root entry level). [ éclaircissements nécessaires ] TCMEP, whether electrical or magnetic, is the most practical way to ensure pure motor responses, since stimulation of sensory cortex cannot result in descending impulses beyond the first synapse (synapses cannot be backfired).

TMS-induced MEPs have been used in many experiments in cognitive neuroscience. Because MEP amplitude is correlated with motor excitability, they offer a quantitative way to test the role of various types of intervention on the motor system (pharmacological, behavioral, lesion, etc.). TMS-induced MEPs may thus serve as an index of covert motor preparation or facilitation, e.g., induced by the mirror neuron system when seeing someone's else actions. [39] In addition, MEPs are used as a reference to adjust the intensity of stimulation that needs to be delivered by TMS when targeting cortical regions whose response might not be as easily measurable, e.g., in the context of TMS-based therapy.

Somatosensory evoked potentials provide monitoring for the dorsal columns of the spinal cord. Sensory evoked potentials may also be used during surgeries which place brain structures at risk. They are effectively used to determine cortical ischemia during carotid endarterectomy surgeries and for mapping the sensory areas of the brain during brain surgery.

Electrical stimulation of the scalp can produce an electric current within the brain that activates the motor pathways of the pyramidal tracts. This technique is known as transcranial electrical motor potential (TcMEP) monitoring. This technique effectively evaluates the motor pathways in the central nervous system during surgeries which place these structures at risk. These motor pathways, including the lateral corticospinal tract, are located in the lateral and ventral funiculi of the spinal cord. Since the ventral and dorsal spinal cord have separate blood supply with very limited collateral flow, an anterior cord syndrome (paralysis or paresis with some preserved sensory function) is a possible surgical sequela, so it is important to have monitoring specific to the motor tracts as well as dorsal column monitoring.

Transcranial magnetic stimulation versus electrical stimulation is generally regarded as unsuitable for intraoperative monitoring because it is more sensitive to anesthesia. Electrical stimulation is too painful for clinical use in awake patients. The two modalities are thus complementary, electrical stimulation being the choice for intraoperative monitoring, and magnetic for clinical applications.


Peripheral Process

11.2.2 Axons and Schwann cells

Axons are the long peripheral processes of neurons whose cell bodies lie more centrally in either sensory or autonomic ganglia or in the spinal cord. They are associated along their entire length with Schwann cells. Broadly speaking, axons >2 μm diameter have a 1 : 1 relationship with their Schwann cells and are myelinated by these cells, whereas smaller axons are ensheathed in groups within Schwann cells and remain unmyelinated. Neighbouring Schwann cells overlap at nodes of Ranvier along myelinated axons, and their individual territories define myelinated internodes.

Schwann cells, once assumed to be cellular tabulae rasae under neuronal control, are now known to display myelinating/non-myelinating and sensory/motor phenotypes ( Höke et al., 2006 ). All axons and their associated Schwann cells are surrounded by tubes of laminin-rich basal lamina which are secreted by the Schwann cells and which extend continuously from the CNS/PNS interface to the target organs innervated by each axon (neuromuscular junctions, sensory corpuscles, etc.). In so doing, they isolate individual Schwann cell-axon units from their neighbours and from the endoneurial extracellular matrix.

The functional relationship between axons and their ensheathing Schwann cells is normally tightly regulated by reciprocal signalling ( Jessen and Mirsky, 1998 Taveggia et al., 2005 ). The way in which Schwann cells respond to the loss of that relationship, as a result of either segmental demyelination (when axonal integrity is maintained but myelin is removed) or axonal degeneration, plays a critical role in the injury response in the PNS. Manipulation of acutely denervated Schwann cells in order to facilitate axonal regrowth is a key strategy in the design of tissue-engineered conduits.