Les Maths du Group Testing : Mélanger des Prélèvements pour Accélérer la Detection du COVID-19

English Version Here

 

Alors que la majorité de la population mondiale est désormais confinée pour lutter contre la propagation du nouveau coronavirus, il se pose la question de l’après. Une fois que les mesures de confinement seront progressivement levées, la clé pour éviter des deuxièmes et troisièmes vagues de la pandémie sera un dépistage massif et rapide, combiné avec un suivi des cas et des quarantaines ciblées. Hélas, la capacité de test de la plupart des pays est à l’heure actuelle loin d’être suffisante.

 

La semaine dernière, des chercheurs du service de don de sang de la croix rouge de Francfort et de l’institut de virologie médicale de l’hôpital universitaire de Francfort et de l’université Goethe ont réussi à développer une procédure qui rend possible une augmentation drastique et immédiate des capacités de dépistage mondiales pour le SARS-CoV-2, le virus derrière la maladie COVID-19. La procédure se base sur le test groupé (group testing), un principe aussi simple que génial, qui était déjà utilisé pour le dépistage de la syphilis pendant la deuxième guerre mondiale. Au lieu d’analyser individuellement les échantillons des patients (généralement des prélèvements muqueux du nez ou de la gorge), on en mélange plusieurs ensemble, disons 8, puis on effectue un test sur ce cocktail, appelé mini-groupe. Si le résultat est négatif, on peut conclure de façon fiable qu’aucun des 8 patients n’est infecté, en un seul test ! Si le test est positif, on divise les échantillons en deux groupes de 4 puis on répète la procédure, jusqu’à ce qu’un test négatif soit obtenu ou qu’un seul échantillon ne reste.

Figure 1. Dans cet exemple, 8 échantillons (dont 1 positif) sont entièrement analysés en n’effectuant que 6 tests, grâce au test groupé. Notons qu’on n’a pas eue besoin de tester le mini-groupe #5, car #4 a été testé négatif: on en déduit que #5 est positif, sans test. Entre 4 et 7 tests seront nécessaires pour cet exemple, en fonction de la position (inconnue) de l’échantillon positif.

Cette procédure pourrait d’ors et déjà être mise en oeuvre dans n’importe quel laboratoire du monde, sans besoin d’équipement supplémentaire. Etant donné qu’un seul test PCR pour le COVID-19 peut prendre plusieurs heures sur une machine dédiée, diviser leur nombre pourrait faire gagner un temps précieux dans la lutte contre SARS-CoV-2.

Mais combien de temps exactement ? Le graphique ci-dessous montre le nombre théorique moyen de tests par échantillon requis un utilisant le test groupé, en fonction du taux d’infection de la population, pour différentes tailles de mini-groupes (mini-pool):

Notons qu’utiliser des mini-groupes de taille 1 correspond au dépistage classique: un test par échantillon. Le graphique montre que si la proportion de personnes infectées au sein de la population est supérieure à 25%, le test groupé n’est pas avantageux par rapport au dépistage conventionnel. Cependant, dans un scénario ou de grandes campagnes de tests seront conduites sur des gens pris au hasard dans les villes de façon à isoler les cas positifs au COVID-19, il est raisonnable de supposer que moins de 10% de la population sera infectée à un instant donné. Voici une version zoomée du graphique précédent, pour des taux d’infections en dessous de 10%. On montre également à droite l’inverse du graphique, correspondant au gain de vitesse moyen apporté par le test groupé:

On peut voir que pour des taux d’infection autour de 5%, utiliser des mini-groupes de 4 augmente déjà la capacité de test d’un facteur 2,5, alors que pour des taux autour de 1%, des mini-groupes de 16 pourrait multiplier par 10 la vitesse des tests ! Il est aussi intéressant de noter que pour des taux d’infection au dessus d’environ 6%, utiliser des mini-groupes supérieure à 4 n’améliore pas significativement les résultats.

Obtenir les formules correspondant à ces graphiques est en fait un problème de maths assez amusant. Dans le reste de ce billet, j’essairai d’expliquer comment le faire de façon accessible. Mon but est de partager des maths à la fois fun et utile pour s’occuper pendant le confinement ! J’espère aussi secrètement que cela pourra aider à sensibiliser aux tests groupés sur le COVID-19, qui n’ont pas l’air d’avoir reçu beaucoup d’attention par les médias ou les politiciens jusqu’ici. Faisons passer le message ! 

1. Hypothèses

Premièrement, nous allons supposer que chaque test peut détecter un échantillon positif dans un mini-groupe avec 100% de précision (pas de faux-positifs ni de faux-négatifs). L’étude allemande sur le SARS-CoV-2 évoquée plus haut montre qu’il est possible d’utiliser des mini-groupes de 5 échantillons sans affecter la précision des tests. Ce papier récent de l’Institut Israélien de Technologie et du Campus Rambam pour la Santé (Haifa, Israel) suggère que des groupes contenant jusqu’à 32 ou même 64 échantillons pourraient être utilisés tout en gardant le taux de faux-négatifs relativement bas. Des cycles d’amplifications (conduire plusieurs tests) peuvent aussi être utilisés pour améliorer la fiabilité, mais nous n’étudierons pas ça ici.

Deuxièmement, nous supposerons que tous les échantillons ont la même probabilité indépendante P+ (entre 0 et 1) d’être positif, représentant le taux d’infection de la population étudiée. Notons que cette hypothèse d’indépendance n’est pas valide si l’on test, par exemple, un groupe de personne vivant dans le même logement. Ici, nous supposons que les échantillons sont pris aléatoirement et uniformément au sein d’une population infectée.

Enfin, pour la clarté de l’exposé, nous ne considèreront que des mini-groupes dont la taille N est une puissance de 2, par exemple, 23 = 2 x 2 x 2 = 8. Cela rend les claculs plus faciles et plus propres.

2. Pire cas pour le nombre de tests

Commençons par un exercice d’échauffement: Quel est le nombre maximum Tmax de tests nécessaires pour analyser un mini-groupe de N=2K échantillons ? Ceci correspond au « pire cas » où tous les mini-groupes sont testés positifs au long de la procédure, et doivent donc être divisés en deux sous groupes pour continuer l’analyse. Un exemple d’une telle situation est illustré ci-dessous:

Figure 2. Un « mauvais » exemple de test groupé, dans lequel 8 échantillons requièrent 15 tests.

En comptant le nombre de mini-groupes de taille >1, nous voyons que:

En utilisant la formule pour les sommes de séries géométriques, nous obtenons:

Mince! Dans le pire des cas, nous voyons qu’il faut donc conduire plus de tests qu’en testant chaque échantillon un par un. Le test groupé est-il vraiment si efficace, finalement ?

Et bien, tout dépend de la fréquence à laquelle ce pire cas peut se produire. Pour en avoir une idée, restons sur l’exemple de la Figure 2exactement la moitié des échantillons à tester sont positifs. Dans cette situation, le pire cas ne se produit que si les échantillons sont précisément dans l’ordre alterné +,,+,,… La probabilité que ça arrive est le nombre d’arrangements alternés divisé par le nombre total d’arrangements:

Pour ordonner N échantillons, il y’a N façons de choisir le premier, puis (N-1) façons de choisir le deuxième, (N-2) façons de choisir le troisième, etc.  Le nombre total d’arrangements est donc N x (N-1) x (N-2) x … x 1 = N! (« N factoriel »). Pour les arranger en alternance, il y a (N/2)! façons d’arranger les échantillons positifs, et (N/2)! façon d’arranger les échantillons négatifs, soit (N/2)! x (N/2)! = ((N/2)!)² façons en tout. On obtient donc:

où nous avons utilisé la notation combinatoire suivante:

prononcée « k parmi n ». Cette quantité compte le nombre de façons de placer k éléments identiques dans n emplacements. Voici un résumé de nos résultats pour différentes valeurs de N:

Taille du mini-groupe initial N Nombre maximum de tests Tmax Probabilité Ppire (pour la moitié d’infectés)
2 3 1/2
4 7 1/6
8 15 1/70
16 31 1/12,870
32 63 1/601,080,390

Comme on peut le voir, le pire cas n’arrive que très rarement lorsqu’on utilise des mini-groupes suffisamment larges. C’est rassurant !

3. Nombre moyen de tests

Intéressons-nous maintenant au problème plus général du nombre moyen de tests nécessaire pour un mini-groupe initial de taille N, et un taux d’infection P+. Pour aborder cette question, nous allons devoir introduire quelques notations utiles (c’est souvent la partie la plus difficile d’un problème de maths !). Nous désignerons par m(i) un mini-groupe de i échantillons. Les mini-groupes d’une taille donnée seront numérotés « de gauche à droite », comme indiqué dans l’exemple ci-dessous:

Figure 3. Numérotation des mini-groupes pour un mini-groupe initial de 8 échantillons.

Avec cette notation, les échantillons individuels sont donc désignés commes des « groupes de 1 », c’est à dire, m1(1), m2(1), … , mN(1). Nous désignerons par R+[m(i)] la positivité d’un mini-groupe, où R+[m(i)]=1 si m(i) contient un échantillon positif et R+[m(i)]=0 sinon. De la même manière, nous appellerons R[m(i)] = ( 1 – R+[m(i)] ) la négativité d’un mini-groupe.

Pour effectuer un test groupé, nous devons d’abord tester le mini-groupe initial, contenant tous les échantillons. Ensuite, à chaque fois qu’un mini-groupe est testé positif, nous le divisons en 2 sous-groupes de même taille et conduisons des tests supplémentaires sur chacun d’eux. Une première approche pour estimer le nombre de tests nécessaires est donc de compter deux fois le nombre de mini-groupes positifs de taille 2 ou plus. En utilisant nos notations, cela donne:

Ceci peut être écrit de façon plus compact en utilisant le symbole mathématique pour les sommes:

Cependant, cette formule oublie les « racourcis », comme celui montré dans la Figure 1. Lorsqu’un mini-groupe est testé positivement, si la première moitié de ce groupe est testé négativement, nous pouvons en déduire que la deuxième moitié est positive, sans avoir besoin de la tester. Pour enlever ces racourcis de notre comptage, il faut corriger la formule ci-dessus comme suit:

Ce nouveau terme enlève 1 à chaque fois que la première moitié d’un mini-groupe est négative alors que sa deuxième moitié est positive. Pour ce qui suit, il sera plus pratique de réécrire cette formule uniquement en fonction de la négativité des mini-groupes, comme ceci:

Nous voulons maintenant savoir quelle sera la valeur de T en moyenne, sachant que chaque échantillon individuel a une probabilité P+ d’être positif. Cette quantité moyenne est appelée « espérance de T » et nous la noterons E{T}. En utilisant le fait que l’espérance est linéaire et que l’espérance du produit de deux variables indépendantes est le produit de leurs espérances, on déduit de la formule précédente:

Il ne nous reste donc plus qu’à calculer les espérances des négativités des mini-groupes. D’après notre hypothèse, un échantillon seul est négatif avec une probabilité P=(1-P+) (le taux de non-infection). Nous avons donc:

pour tout n entre 1 et N. De plus, un mélange de i échantillons sera testé négatif si et seulement si tous les échantillons qui le composent sont négatifs. L’espérance de sa négativité est donc le produit des espérances de ses échantillons, soit (P) x (P) x (P) x … Cela donne:

En insérant le tout dans l’expression précédente de E{T}, on obtient:

Après simplification, on arrive enfin à la formule générale calculant le nombre moyen de tests en fonction de la taille du mini-groupe et du taux de non-infection:

Il est également utile d’exprimer le nombre moyen de tests par échantillon. Pour cela, il suffit de diviser l’expression ci-dessus par la taille du mini-groupe initial, N=2K :

Cette expression est un polynôme en P. Comme attendu, nous constatons que si la population est infectée à 100% (P= 0), le test groupé requiert environ deux fois plus de tests qu’une procédure classique (c’est le « pire cas » étudié dans la section précédente). Nous voyons aussi que le nombre de tests requis décroit avec le taux d’infection, comme montré dans les graphiques en haut de ce billet.

Voici un tableau détaillant quelques valeurs approchées du nombre moyen de tests par échantillon nécessaire en fonction du taux d’infection et de la taille du mini-groupe utilisé:

Taux d’infection ►
▼ Taille du Mini-Groupe
0.5% 1% 2% 3% 5% 8% 10% 20% 50%
2 0.51 0.51 0.53 0.54 0.57 0.62 0.64 0.78 1.12
4 0.26 0.28 0.31 0.34 0.39 0.48 0.53 0.77 1.30
8 0.15 0.17 0.21 0.25 0.33 0.45 0.52 0.82 1.41
16 0.09 0.12 0.18 0.23 0.33 0.46 0.54 0.87 1.47
32 0.07 0.10 0.17 0.23 0.34 0.48 0.57 0.90 1.51

4. Questions ouvertes

Il reste des questions ouvertes intéressantes à explorer. En particulier, si les tests ne sont pas 100% précis, quel est le meilleur moyen de réduire les erreurs en utilisants plusieurs tests croisés ? Comment généraliser ces formules à des mini-groupes qui ne sont pas des puissances de 2 ? Je laisse ces questions aux lecteurs intéressés, et je reviendrai peut être dessus dans un futur billet de blog 😉

Courage et prudence à tous !

The Maths of Group Testing: Mixing Samples to Speed Up COVID-19 Detection

Version Française Ici  

 

Now that a large part of the world’ population is in lockdown to fight against the global spread of the new coronavirus, the crucial question is: What’s next? As lock-down measures will progressively be lifted, the key to avoid second and third waves of the pandemics will be massive and rapid testing, combined with case tracking and targeted quarantining. Unfortunately, the testing capacity of most countries is currently not nearly enough.

 

Last week, researchers at the Frankfurt Red Cross Blood Donor Service and the Institute for Medical Virology at the University Hospital Frankfurt of Goethe University succeeded in developing a procedure that makes it possible to immediately and dramatically increase worldwide testing capacities for detecting SARS-CoV-2, the virus behind COVID-19. The procedure is based on pool testing (also called group testing), a principle as genius as simple, that was already used to detect syphilis during WWII. Rather than analysing individual patients’ samples (usually swabs from the throat or nose), one mixes a bunch of samples together, say 8, and runs the test on this cocktail, called a mini-pool. If the result is negative, you can reliably conclude that none of the 8 patients were infected, from one single test! If the test is positive, just divide your samples into two groups of 4 and repeat, until either a negative result is reached or a single sample is left.

Figure 1. In this example, 8 samples (including 1 positive) are fully analysed by running only 6 tests, thanks to group testing. Note that mini-pool #5 did not have to be tested since #4 was tested negative: we deduce its positivity without a test. Depending on the (unknown) position of the positive sample, between 4 and 7 tests will be needed in that example.

This procedure could readily be implemented by any laboratory in the world without the need for extra equipment. Given that running a single PCR test for COVID-19 takes several hours on dedicated machines, cutting down their number could save precious time in the ongoing fight against SARS-CoV-2.

But how much time exactly? The figure below shows the theoretical average number of test per sample needed using group testing as a function of the population’s infection rate for different mini-pool sizes:

Note that using mini-pools of size 1 corresponds to classical testing: one test per sample. The graph shows that if the proportion of infected people is larger than about 25% in the tested population, group testing is not advantageous compared to conventional testing. However, in a scenario where large campaigns of tests are conducted on random people in cities in order to track and isolate positive cases, it is reasonable to assume that no more than 10% of the population will be infected by COVID-19 at any given time. Here is a zoomed version of the above graph for infection rates below 10%. We also show on the right the inverse of the graph, which represents the average speed-up brought by group testing:

We see that for infection rates around 5%, using mini-pools of 4 already boosts testing capacities by a factor of 2.5, while for infection rates around 1% mini-pools of 16 may speed up tests by a factor of 10 or more ! It is also interesting to note that for infections rates above 6%, using pools of more than 4 samples does not significantly improve results.

Deriving the formulas for those graphs is actually a quite fun maths  problem! In the rest of this blog post, I will try to explain how to do it in an accessible way. My goal is to provide an example of interesting and useful maths exercise to enjoy during lockdown. I also secretly hope that it can help raising awareness in group testing, which does not seem to have received a lot of attention as of yet by politicians or media. Let’s spread the word together!

1. Hypotheses

First, we will assume that each test can detect a positive sample inside a mini-pool with 100% accuracy (no false positives or false negatives). The German study on SARS-CoV-2 mentioned earlier showed that mini-pools of 5 samples can be used without degrading accuracy. This recent paper from the Israel Institute of Technology and the Rambam Health Care Campus (Haifa, Israel) suggests that pools of up to 32 or even 64 samples could be used while keeping the false-negative rate relatively low. Amplification cycles (running multiple tests) can also be used to improve reliability, but this will not be investigated here.

Second, we will suppose that all samples have the same independent probability P+ (between 0 and 1) of being positive, representing the population’s infection rate. Note that this independence assumption does not hold if we test, e.g., a group of people leaving in the same house. Here, we assume that samples are taken uniformly at random in an infected population.

Finally, for the sake of exposure, we will only consider mini-pools of size N where N is a power of 2, e.g., 23 = 2 x 2 x 2 = 8. This will make computations easier and cleaner.

2. Worst-case number of tests

As a warm up exercise, let us find what is the maximal number of tests Tmax needed to analyse an initial mini-pool of N=2K samples. This corresponds to the « worst case » where every mini-pool along the procedure is tested positive and hence has to be split into two and further analysed. An example of this situation is illustrated below:

Figure 2. A « bad » example where pool-testing 8 samples requires 15 tests.

By counting the number of positive mini-pools of size >1, we see that:

Using the formula for sums of geometrical series, we obtain:

Shoot, in the worst case, we have to run more tests than when simply testing the N samples individually! Is pool-testing really that good after all?

Well, it all depends on how often this worst situation happens. To get an idea of this, let us stick to the example of Figure 2 where exactly half of the samples to be tested are positive. Then, the worst case only happens when the samples are precisely in the alternated order +,,+,,… The probability of this to happen is the number of alternated orderings divided by the total number of orderings:

To order N samples, there are N ways of choosing the first one, then (N-1) ways of choosing the second one, (N-2) ways of choosing the third one, etc. The total number of orderings is hence N x (N-1) x (N-2) x … x 1 = N! (« N factorial »). To order them alternately, there are (N/2)! ways to order positive samples and (N/2)! ways to order negative samples, hence (N/2)! x (N/2)! = ((N/2)!)² ways in total. We obtain:

where we used the following combinatorics notation:

pronounced « n choose k ». This counts the number of ways of placing k identical elements into n available positions. Here is a summary of our results for different values of N:

Initial mini-pool size N Maximum number of tests Tmax Probability Pworst (for 50% infection)
2 3 1/2
4 7 1/6
8 15 1/70
16 31 1/12,870
32 63 1/601,080,390

As can be seen, the worst case happens very rarely when using sufficiently large mini-pools. That’s reassuring!

3. Average number of tests

Let us now look at the more general problem of the average number of tests needed when using mini-pools of size N, for a given infection rate P+. To tackle this we will need to introduce appropriate notations (which is often the most difficult part of real-world maths problems). We will denote by m(i) a mini-pool of i samples, i.e., a pool of i. The mini-pools of a given size will be numbered « from left to right », as shown in the example below:

Figure 3. Numbering of mini-pools for an initial mini-pool of 8 samples.

With this notation, the individual samples are hence written as pools of 1, that is, m1(1), m2(1), … , mN(1). We will use R+[m(i)] to denote the positivity of a pool, where R+[m(i)]=1 if m(i) contains a positive sample and R+[m(i)]=0 otherwise. Similarly we will denote by R[m(i)] = ( 1 – R+[m(i)] ) the negativity of a pool.

When doing a group test, we first need to test the initial mini-pool containing all samples. Then, whenever a mini-pool is tested positive, we split it into 2 pools of equal size and run further tests on them. A first approach to estimate the number of test needed is hence to count twice the number of positive mini-pools of size 2 or more. Following our notations, this gives:

This can be written in a more compact way using the mathematical symbol for sums:

However this formula is missing « shortcuts », such as the one showed in Figure 1. When a mini-pool is tested positive, if the first half of it is tested negative, then there is no need to test the second half: we know it must be positive. To remove these shortcuts in our count, we need to correct the above formula as follows:

The new term removes one test whenever the first half of a pool is negative while the second half is positive. For what follows, it will be convenient to rewrite this formula only in terms of the negativity of mini-pools:

We now want to know how much T will be in average, given that each individual sample has a probability P+ of being positive. This quantity is called the « expectation of T » and we note it E{T}. Using the fact that the expectation is linear and that the expectation of the product of two independent variables is the product of their expectations, we have from  the previous formula:

We are left with the problem of computing the expectations of the mini-pools’ negativities. By our hypothesis, a single sample is negative with probability P=(1-P+). Hence, we have:

for any n between 1 and N. In addition, a mixture of i samples will be tested negative if and only if every sample in it is negative. Its expected negativity is hence the product of the expected negativity of each sample, i.e., (P) x (P) x (P) x … This gives:

Inserting these in the previous expression of E{T} we obtain:

After simplification, we finally obtain the following general formula for the average number of tests:

It is also convenient to express the average number of test per sample. To do this, we divide the above expression by the initial size of the mini-pool, N=2K:

This expression is a polynomial in P. As expected, we see that if the population is 100% infected (P= 0), pool-testing requires about twice as many tests as the regular procedure (the « worst-case » situation studied in the last section). We also see that the number of needed tests decreases with the infection rate, as showed in the graphs at the beginning of this post.

Here is a table detailing mean numbers of tests per samples as a function of infection rate and initial mini-pool size:

Infection rate ►
▼ Initial mini-pool size
0.5% 1% 2% 3% 5% 8% 10% 20% 50%
2 0.51 0.51 0.53 0.54 0.57 0.62 0.64 0.78 1.12
4 0.26 0.28 0.31 0.34 0.39 0.48 0.53 0.77 1.30
8 0.15 0.17 0.21 0.25 0.33 0.45 0.52 0.82 1.41
16 0.09 0.12 0.18 0.23 0.33 0.46 0.54 0.87 1.47
32 0.07 0.10 0.17 0.23 0.34 0.48 0.57 0.90 1.51

4. Open questions

There are still interesting open questions left to explore. In particular, if the tests are not 100% accurate, what is the best way to reduce errors using multiple cross tests? How to generalise these formulas to initial pools which are not powers of two? I leave these questions to the interested readers, and maybe I’ll come back to it in a future blog post!

Stay safe everyone!

The Adventures of Robi the Robot 2019

In 2019, I continued to use Robi the Robot to demonstrate to young audiences some of the science behind robot audition and artificial intelligence. Robi is essentially a Microsoft Kinect mounted on a Turtlebot. It looks like this:

With the help of team LARSEN, I developed on it a sound source localisation demo using the 4 microphones of the Kinect, making Robi spin towards sounds in its environment. After presenting it at the Serbia Science Festival 2018, I took it to different classes and events in 2019:

  • 5 different classes from 5th grade (CM2) to 12th grade (Terminal) in different primary schools, collèges and lycée of the Nancy area in January. This emerged from a partnership with the theatre La Manufacture around the theatre play Robots.
  • The Nuit des Chercheurs of Belgrade (Serbia).
  • 4 different school classes in different cities of Serbia (Novi-Sad, Zrenjanin, Belgrade).
  • The Fête de la Sciences 2019 of Nancy (October 11th and 12th).
  • The special edition of Nuit des Chercheurs in Nancy celebrating the 80th anniversary of CNRS.

Here are some pictures of my adventures with Robi:

Signal Processing Cup 2019

I had the pleasure and honour to initiate and coordinate the IEEE Signal Processing Cup 2019 on the theme « Search & Rescue with Drone-Embedded Sound Source Localization ». The SPCup is an international competition aiming at promoting real world applications of signal processing amongst undergraduate students . It took place from November the 14th 2018 to May the 13th 2019.

The three finalist teams of the SPCup 2019 at ICASSP, Brighton, UK.

The goal was for participating teams to build a system capable of localizing a sound source based on audio recordings made with a microphone array embedded in an unmanned aerial vehicle (UAV). The first phase of the competition was open to teams of undergraduate students and ended on March the 11th 2019, while the final took place at ICASSP (Birghton, UK) on May the 13th 2019 between the three finalist teams. The data used in both phases was based on the DREGON dataset which we recently released.

The data of the competition, including the ground truth, evaluation scripts and baseline, are now publicly available on the DREGON website.

In addition, the website now hosts UAV-embedded recordings of drone egonoise that the participants sent. Annotated noise-only recordings from 11 different drones using microphone arrays of 1 to 16 channels are freely available there. Go check them out!

Serbia Science Festival 2018

From November 29th to December 1st, I had the great joy and honor to introduce a young audience to some of the science behind robots, artificial intelligence and sounds at the 12th edition of Serbia Science Festival (Festival Nauke). I gave four lectures each in front of 450 people, most of them pupils between 5 and 15 years old. The slides of the presentation can be found here.

The DREGON dataset

Martin Strauss, Pol Mordel, Victor Miguet and myself just released the DREGON dataset. DREGON stands for DRone EGonoise and localizatiON. It consists in sounds recorded with an 8-channel microphone array embedded into a quadrotor UAV (Unmanned Aerial Vehicle). The recordings are annotated with the precise 3D position of the sound source relative to the drone as well as additional internal characteristics of the drone state such as motor speed and intertial measurements. It aims at promoting research in UAV-embedded sound source localization, notably for the application of semi-autonomous search-and-rescue with drones.

The VAST project

VAST stands for virtual acoustic space traveling and is a new paradigm for learning-based sound source localization and audio scene geometry estimation. Most existing methods that estimate the position of a sound source or other audio geometrical properties are either based on an approximate physical model (physics-driven) or on a specific-purpose calibration set (data-driven). With VAST, the idea is to learn a mapping from audio features to desired geometrical properties using a massive dataset of simulated room impulse responses. The dataset is designed to be maximally representative of the potential audio scenes the considered system may be evolving in while remaining reasonably compact. The aim is to demonstrate the good generalizability of mappings learned on a virtual datasets  to real-world data and to provide a useful tool for research teams interested in sound source localization.

 

Clément Gaultier, Saurabh Kataria, Diego Di Carlo and myself are working on the release of datasets for VAST. Two binaural datasets are already available on the project website. We co-authored two publications demonstrating this paradigm for binaural 3D sound source localization and wall absorption estimations using these datasets.