We provide a new algorithm that consistently outperforms the state of the art.

Laptop: 1.5 GHz Pentium M (Dothan), 2 MB L2 cache, 2 GB RAM, 5400 RPM disk TPC-H (sf = 1) MonetDB/SQL v5.5.0/2.23.0 measured 3rd (& 4th) Cold run A cold run is a run of the query right after a DBMS is started and no (benchmark-relevant) data is preloaded into the system's main memory, neither by the DBMS, nor in filesystem caches. Such a clean state can be achieved via a system reboot or by running an application that accesses sufficient (benchmark-irrelevant) data to flush filesystem caches, main memory, and CPU caches.

Hot run

A hot run is a run of a query such that as much (query-relevant) data is available as close to the CPU as possible when the measured run starts. This can (e.g.) be achieved by running the query (at least) once before the actual measured run starts.

DBG configure --enable-debug --disable-optimize --enable-assert CFLAGS = "-g [-O0]"
OPT configure --disable-debug --enable-optimize --disable-assert CFLAGS = " -O6 -fomit-frame-pointer -finline-functions -malign-loops=4 -malign-jumps=4 -malign-functions=4 -fexpensive-optimizations -funroll-all-loops -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -DNDEBUG " Our problem-specific, hand-tuned, prototype X outperforms an out-of-the-box installation of a full-fledged off-the-shelf system Y ; in X , we focus on pure query execution time, omitting the times for query parsing, translation, optimization and result printing; Our problem-specific, hand-tuned, prototype X outperforms an out-of-the-box installation of a full-fledged off-the-shelf system Y ; in X , we focus on pure query execution time, omitting the times for query parsing, translation, optimization and result printing; we did not manage to do the same for Y . Our problem-specific, hand-tuned, prototype X outperforms an out-of-the-box installation of a full-fledged off-the-shelf system Y ; in X , we focus on pure query execution time, omitting the times for query parsing, translation, optimization and result printing; we did not manage to do the same for Y .

"Absolutely fair" comparisons virtually impossible But: Be at least aware of the the crucial factors and their impact, and document accurately and completely what you do. Purpose: have a very simple mean to obtain a test for the values You may omit working like this: In avgs.out, the first 15 lines correspond to xyzT, the next 15 lines correspond to xYZT, the next 15 lines correspond to Xyzt, the next 15 lines correspond to xyZT, the next 15 lines correspond to XyzT, the next 15 lines correspond to XYZT, and the next 15 lines correspond to XyZT. In each of these sets of 15, the numbers correspond to queries 1. 1,1.2,1.3,1.4,2.1,2.2,2.3,2.4,3.1,3.2,3.3,3.4,4.1,4.2,and 4.3

f 1 = v 1 , f 2 = v 2 , . . . , f k = v k Manolescu,

  Minimize ink: present as much information as possible with as little ink as possible Prefer the chart that gives the most information out of the same data Presenting too many alternatives on a single chart Rules of thumb, to override with good reason: A line chart should be limited to 6 curves A column chart or bar should be limited to 10 bars A pie chart should be limited to 8 components Each cell in a histogram should have at least five data points Presenting many result variables on a single chart Commonly done to fit into available page count :-(

  Not the minimum effort from youTry to be honest: how would you like to see it?

			250 250
							Memory Memory
							CPU CPU
	elapsed time per iteration elapsed time per iteration	[nanoseconds] [nanoseconds]	150 50 200 100 150 50 200 100
		0 year 0 year	1992 1992	1996 1996	1997 1997	1998 1998	2000 2000
	system system	Sun LX Sun LX	Sun Ultra Sun Ultra	SunUltra SunUltra	DEC Alpha DEC Alpha	Origin2000 Origin2000
	CPU type CPU type	Sparc Sparc	UltraSparc UltraSparc	UltraSparcII UltraSparcII	Alpha Alpha	R12000 R12000
	CPU speed CPU speed	50 MHz 50 MHz	200 MHz 200 MHz	296 MHz 296 MHz	500 MHz 500 MHz	300 MHz 300 MHz
	Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI)	Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences	EDBT 2009 EDBT 2009 EDBT 2009	44/1 45/1 50/1

  Try to use not-so-exotic hardware Try to use free or commonly available tools (databases, compilers, plotters...

	default: default: Purpose: another human equipped with the appropriate software better: better: Try to use not-so-exotic hardware Try to use not-so-exotic hardware
	Response time Human brain is a poor join processor λ R µ=1 µ=3 µ=2 Humans get frustrated by computing joins Arrival rate 1 job/sec 3 jobs/sec 2 jobs/sec Frequency Response time [0,2)[2,4)[4,6)[6,8)[8,10) [10,12) Response time [0,6)[6,12) Frequency 8 12 4 2 6 10 6 9 12 15 18 3 Frequency Response time [0,2)[2,4)[4,6)[6,8)[8,10) [10,12) Response time [0,6)[6,12) Frequency 8 12 4 2 6 10 6 9 12 15 18 3 Rule of thumb: each cell should have at least five points ⇒ set size ratio 0 x*1.5,y 3 Writing instructions divide by zero Not sufficient to uniquely determine what one should do. 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 19 22 relative execution time: DBG/OPT TPC-H queries 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 relative execution time: DBG/OPT TPC-H queries set size ratio 0 1,1 set size ratio 0 0.5,0.5 19 22 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 19 22 relative execution time: DBG/OPT TPC-H queries 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 19 22 relative execution time: DBG/OPT TPC-H queries set size ratio 0 1,1 set size ratio 0 0.5,0.5 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 19 22 relative execution time: DBG/OPT TPC-H queries 1 1.2 1.4 1.6 1.8 2 2.2 1 4 7 10 13 16 19 22 "We use a machine with 3.4 GHz." and hardware can repeat your experiments. Try to use not-so-exotic hardware Try to use not-so-exotic hardware Try to use not-so-exotic hardware Try to use not-so-exotic hardware Try to use free or commonly available tools (databases, compilers, Try to use free or commonly available tools (databases, compilers, "We use a machine with 3.4 GHz." ⇒ Under-specified! Your supervisor / your students Your colleagues Yourself, 3 months later when you have a new idea Yourself, 3 years later when writing the thesis or answering requests for that journal version of your conference paper Try to use free or commonly available tools (databases, compilers, plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) Try to use free or commonly available tools (databases, compilers, plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) You may omit using Try to use free or commonly available tools (databases, compilers, plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) You may omit using Try to use free or commonly available tools (databases, compilers, plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) You may omit using You may omit using plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) You may omit using Matlab as the driving platform for the experiments plotters...) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...) You may omit using Matlab as the driving platform for the experiments Parameters your code may depend on: credentials (OS, database, other) values of important environment variables (usually one or two) various paths and directories (see: environment variables) relative execution time: DBG/OPT TPC-H queries Rule of thumb for papers: width of plot = x\textwidth Future researchers (you get cited!) Making experiments repeatable means: 1 Making experiments portable and parameterizable /usr/bin/time to time execution, parse the output with perl, 2 Building a test suite and scripts Matlab as the driving platform for the experiments Matlab as the driving platform for the experiments 20-years old software that only works on an old SUN and is now unavailable Matlab as the driving platform for the experiments 20-years old software that only works on an old SUN and is now unavailable If you really love your code, you may even maintain it Matlab as the driving platform for the experiments 20-years old software that only works on an old SUN and is now unavailable If you really love your code, you may even maintain it Code maintenance 20-years old software that only works on an old SUN and is now unavailable (if you really love your code, you may even maintain it) 4-years old library that is no longer distributed and you do no longer have (idem) 20-years old software that only works on an old SUN and is now where the input comes from unavailable (if you really love your code, you may even maintain it) switches (pre-process, optimize, prune, materialize, plot . . .) 4-years old library that is no longer distributed and you do no longer have (idem) where the output goes
	Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI)	Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences	EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009	70/1 74/1 84/1 85/1 86/1 87/1 88/1 89/1 90/1 91/1 101/1 103/1 104/1 105/1 106/1 107/1 108/1 114/1

"We use a machine with 3.4 GHz." 3400x ? Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences ) Clearly, scientific needs go first (joins on graphic cards; smart card research; energy consumption study...)

  Insert in the area B2-C3 a link to the file results-m1-n5.csv Insert in the area B2-C3 a link to the file results-m1-n5.csv 3 Create in the .xls file a graph out of the cells A1:B3, chose the layout, colors etc. Insert in the area B2-C3 a link to the file results-m1-n5.csv

	1 Data file results-m1-n5.csv: Java util.Properties Flexible management of parameters for Java projects Defaults + overriding You have: files containing numbers characterizing the parameter values and the results You have: files containing numbers characterizing the parameter values and the results 1 1234 1 Create an Excel file results-m1-n5.xls with the column 1 Create an Excel file results-m1-n5.xls with the column 1 Create an Excel file results-m1-n5.xls with the column 2 2467 labels: labels: labels: labels: 3 4623 A B C A B C A B C A B C How does it go: basic shell skills basic shell skills 1 Scale factor Execution time 1 Scale factor Execution time 1 Scale factor Execution time 1 Scale factor Execution time Properties extends Hashtable 2 . . . . . . 2 . . . . . . 2 . . . . . . . . . . . . 2 Properties is a map of (key, value) string pairs {"dataDir", "./data"} {"doStore", "true"} setProperty(String s1, String s2) Based on Excel or OpenOffice clone set title "Execution time for various scale factors" getProperty(String s) Based on Gnuplot set output "results-m1-n5.eps" Methods: set terminal postscript eps color Most frequently used solutions: set data style linespoints You need: graphs 3 . . . . . . 3 . . . . . . 3 . . . . . . 3 . . . . . .
	load(InputStream is) store(OutputStream os, String comments) set xlabel "Scale factor" Other solutions: R; Matlab (remember portability) set ylabel "Execution time (ms)"
	loadFromXML(. . .), storeToXML(. . .) plot "results-m1-n5.csv"
	Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI) Manolescu, Manegold (INRIA, CWI)	Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences Performance Evaluation: Principles & Experiences	EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009 EDBT 2009	115/1 118/1 126/1 127/1 128/1 130/1 132/1 133/1 134/1

2 2 2

  .You may omit working like this: In avgs.out, the first 15 lines correspond to xyzT, the next 15 lines correspond to xYZT, the next 15 lines correspond to Xyzt, the next 15 lines correspond to xyZT, the next 15 lines correspond to XyzT, the next 15 lines correspond to XYZT, and the next 15 lines correspond to XyZT. In each of these sets of 15, the numbers correspond to queries 1.1,1.2,1.3,1.4,2.1,2.2,2.3,2.4,3.1,3.2,3.3,3.4,4.1,4.2,and 4.3. ... either because you want to do clean work, or because you don't want this to happen:

	Manolescu, Manegold (INRIA, CWI)	Performance Evaluation: Principles & Experiences	EDBT 2009	136/1

Laptop: 1.5 GHz Pentium M (Dothan), 2 MB L2 cache, 2 GB RAM,

Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences EDBT 2009 55/1

Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences EDBT 2009 56/1

Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences EDBT 2009

Data file results-m1-n5.csv:

Call gnuplot plot-m1-n5.gnu Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences EDBT 2009 131/1

Create an Excel file results-m1-n5.xls with the column

Create in the .xls file a graph out of the cells A1:B3, chose the layout, colors etc.

When the .csv file will be created, the graph is automatically filled in. Manolescu, Manegold (INRIA, CWI) Performance Evaluation: Principles & Experiences EDBT 2009 135/1

Availability

Day of the week Day of the week 1 2 3 4 5

Abstract (Take 1)

We provide a new algorithm that consistently outperforms the state of the art.

Purpose: have a very simple mean to obtain a test for the values There is no single way how to do it right.

There are many ways how to do it wrong.

We provided some simple rules and guidelines what (not) to do.


domain: spi phys

text:
Thomas Delaite

Jocelyn Couetdic

´eric Glemet

Frederic Cassaing Dtis

Onera

Performance of an Optical COTS Station for the wide-field Detection of Resident Space Objects

Space Situational Awareness (SSA) becomes more critical as space gets more and more congested. Following the successful development of the GRAVES radar for LEO satellites, Onera is considering an optical ground station to track Resident Space Objects (RSOs), targeted primarily for altitudes above 2,000 km. Two main approaches are reported in the literature: streak detection in single long exposure frames and Track-before-Detect (TBD) algorithms applied to image stacks. The recent availability of efficient components like sCMOS cameras and GPUs makes on-the-fly TBD a realistic and affordable solution.

Our objective is to specify, optimize, integrate and validate the most efficient hardware and software components for a prototype ground station, ensuring optimal performance and reliability of the system. The performance of the system needs to be characterized to enable future orbit determination.

The first step of the workflow involves a detection algorithm based on a TBD method, which belongs to a class of tracking methods operating directly on raw temporal series of images. The proposed adapted version, inspired by exoplanet detection research, simultaneously estimates the position and velocity of faint satellites with high accuracy. While this approach typically demands increased computational power for real-time processing of incoming image data, the high acquisition frequency leads to simple motion and shape of the objects in the image, resulting in a fast and efficient algorithm. Furthermore, the resultant algorithm exhibits high parallelizability, leading to a considerable reduction in computation time through its implementation on GPUs.

The second step involves the accurate projection of the true state of an observed object into the measurement space. Achieving this requires precise temporal stamping of the data, which must account for the camera's reading mode. Plate solving is used to compute the projection function that maps pixels to the sky. Conventional methods from astronomy need to be analyzed and adapted to meet SSA requirements.

Finally, an extensive measurement campaign was performed to explore the performance of the system with on-sky data. The system accuracy is analysed in terms of residuals between our measurements and the projection of calibration satellites' states. Therefore, the analysis not only measures our detection accuracy, but the overall capacity of the system to track RSOs. It demonstrates subarcsecond precision in position and under the arcsecond per second in velocity. An emphasis is put on obtaining residuals over the full range of observations parameters. This allowed to highlight, for example, an increase in the error at low altitude. In addition, the system's empirical performance in low SNR conditions are investigated on faint objects taking advantage of the satellites' passage into eclipse. This characterisation of a reliable error model is the key to future orbit determination.

CONTEXT

In order to extend its expertise built up over many years on low Earth orbit with the GRAVES radar [START_REF] Michal | GRAVES: The new french system for space surveillance[END_REF], Onera currently completes the development of a robotic optical station. Installed in May 2022 in its Palaiseau center for integration, CICLOPE should be relocated in 2024 in a better place. The current instrumentation is intended to address detection and orbit determination of objects on medium to high Earth orbits, characterization (through photometric analysis or low-resolution spectroscopy), or innovative imaging methods [START_REF] Labriji | Shadow imaging of geostationary satellites: Experimental demonstration with accurate polychromatic modelling of diffraction and atmospheric disturbances[END_REF]. The station includes a Celestron ® RASA 14 tube completed by Astelco ® with a NTM-500 mount, a filter selector, a completely retractable enclosure and a Boltwood ® II cloud sensor; a Miratlas ® ISM including a full-sky camera; a cooled 6K×6K backside-illuminated sCMOS camera with 10 um pitch coupled to a DELL ® Linux server with 3 Nvidia ® GPU. The camera just covers the 60 mm diameter linear field from the tube, providing a 2.6 arcsec/pix scale over a 4.3°×4.3° angular field. The main objective of the prototyping phase, presented in this document, is to characterize both the detection capability and the precision of our system hardware and software, using real data.

The paper organization follows the main steps of the prototyping workflow depicted in Fig. 1. First, we develop the process used to detect resident space object (RSO) in temporal series of sky images. Then, we detail the direct projection of a RSO state into the measurement space, which is crucial to initiate orbit restitution. Finally, we present the results obtained on the observation of multiple GNSS satellites. The analysis of the residuals is conducted to quantify the bias and variance, and determine their potential source.

Figure 1: General workflow of prototyping.

METHOD FOR SATELLITE DETECTION

Several methods have been proposed to tackle the RSO detection with ground-based optical sensors. The primary approaches include streak-detection, particles, and shift-and-add methods. Streak detection relies on segment detection algorithm and work with single long-exposure images. While very fast and efficient for any orbital regime, a part of the signal-to-noise ratio is lost because during the integration time, the RSO shift dilutes the useful signal over several pixels while background noise is continuously integrated. Sequential method (Multi-Bernoulli [START_REF] Fujimoto | Statistical track-before-detect methods applied to faint optical observations of resident space objects[END_REF][4], particle algorithms [START_REF] Uetsuhara | Faint debris detection by particle based track-before-detect method[END_REF]) show very good results and converge faster than shift-add method [START_REF] Virani | Real-time multi-target detection & tracking of space objects using FiSSt methods[END_REF]. However, we found that there is no consistent model for the intensity evolution of all satellites. Fig. 2 shows two special cases, a vanishing satellite (Fig. 2a) a priori due to atmospheric conditions, and a flashing satellite (Fig. 2b). The short-term light curve, presented in Fig. 3 over a 10 seconds time-lapse and confirmed in individual frames, shows a common periodic behavior where the satellite turns black for several frames between peaks. A sequential processing is likely to trigger multiple detections, or will need special care for many special cases to fuse those detections. A global stacking method allows us to ignore any irregular fluctuation.

We develop here an adapted shift-and-add like algorithm that we introduced in [START_REF] Delaite | Détection au vol de cibles mobiles à faible rapport signal à bruit : Application à l'orbitographie[END_REF], that is able to estimate the position and velocity of RSOs in temporal series of telescope images.

The ground station is initially designed to target RSO population in MEO orbit. Introducing the Earth standard gravitational parameter µ, the satellite speed V sat , apparent angular velocity ω sat/obs and elevation h sat verify for circular orbit at zenith

V sat = ω sat/earth * (R earth + h sat ) = ω sat/obs * h sat = µ (R earth + h sat ) (1)
For GNSS satellites, solving Eq. 1 for the apparent angular speed leads to an angular speed of up to 40 arcsec/s, corresponding to 15 pixels/s.

Target Model

We first develop a simple model for the light distribution of RSOs, assuming we work with a sequence of images I(., k) timestamped T (k) (time of the k-th frame relative to an arbitrary origin T 0 ). The fraction of light on pixel at p p p = (x, y) at time T (k) of an object with position p p p 0 0 0 at T 0 and velocity v v v is noted s(p p p, T (k) ; p p p 0 0 0 , v v v).

The shape or light distribution s(p p p, T (k) ; p p p 0 , 0 0 0) of a static object at position p p p in frame I(., k), i.e. the PSF if we assume all RSOs to be unresolved, can be modelled as a Gaussian with width equal to the seeing, estimated on stars. Also, with enough data, an experimental effective PSF map can be integrated and replace the s function. Assuming that the exposure time T expo is short enough compared to the characteristic time it takes for a satellite to move along one pixel, i.e. T pix = θ pix /||v v v||, the light distribution is then just

s(p p p, T (k) ; p p p 0 0 0 , v v v) = PSF(p p p, T (k) ; p p p 0 0 0 ) if ||v v v|| < V max . (2)
The main assumption is that the light spatial distribution is independent of the satellite velocity, meaning a single kernel is sufficient to cover all hypothesis, thus drastically reducing the computing time. The maximum velocity V max for which this hypothesis holds is dependent on the acquisition frequency.

Over a short total exposure (less than a few tens of seconds), we use the classic assumption that the RSO has a constant velocity in the pixel space. This translates as the following equation

s(p p p, T (k) ; p p p 0 0 0 , v v v) = s(p p p -p p p 0 0 0 -v v v T (k), T (k) ; 0 0 0, 0 0 0). (3)
The actual image in one frame of each object is its shape multiplied by its mean intensity A i (k) over the exposure time. Each image sequence I(•, k) is always acquired with the telescope in sidereal tracking mode. After calibration, the images model can be written as

I(p p p, k) = ∑ i A i (T (k)) s(p p p, T (k); p p p 0,i , v v v i ) + BG(p p p, T (k)) + n(p p p, T (k)), (4)
where the residual noise n, mainly composed of the photon and detector noises, is assumed to be white and Gaussian. BG is the background, composed of stars, diffuse light, and other stationary sources.

Data and Pre-processing

The first step of the data processing consists in the classical removal of the master bias, bad (hot, defective or nonlinear) pixels and flattening of the raw images, which is already assumed in Eq. 4.

From the temporal series, the median and maximum image are computed as

I max (p p p) = max k (I(p p p, k)), I median (p p p) = med k (I(p p p, k)). (5)
The maximum image I max is used to create 2-dimensional images for illustration purpose, such as in Fig. 2.

Because the telescope is in sidereal tracking mode, and the researched objects are moving, the median image is an estimator of the background

BG(r, k) ≈ I median (r), (6)
which is removed from each frame.

The background estimation is used to compute a star mask. Stationary sources, such as stars, are detected and removed through a sigma clipping on the median image. A morphological filter is applied to the mask to eliminate star residuals due to the telescope tracking errors and atmospheric tilt.

Finally, the pixel noise map σ I (x, y) is computed using the read-noise σ read estimated as the standard deviation of the sequence used for the master bias frame, and the median image as the mean of the shot noise (for camera gain of 1). The noise map σ I is forced to infinite at the location of stars and defective pixels. For programming purpose, we actually set the inverse variance map σ -2 I to zero.

σ 2 I (x, y) = σ 2 read (x, y) + I median (x, y), σ -2 I (mask) = 0. (7)

Exposure time

The signal-to-noise ratio (SNR) per frame is maximized by minimizing the integrated background per pixel by setting the exposure close to the satellite pixel-crossing time. An analytic formula for the exposure time T opt that maximizes the SNR can be derived as a function of the target pixel time T pix , the light spread σ PSF , the read noise σ read and the background noise σ bg according to:

T opt ≃ T pix σ read σ bg 2σ PSF , (8)
which yields similar results as the sensitivity curve for the Space Surveillance Telescope (SST) [8, fig. 8]. The tradeoff between an optimal exposure time, the diverse target velocities and the point-shape assumption will be developed in a forthcoming paper.

Likelihood computation

The detection algorithm is similar to the "synthetic tracking" stacking method for near-earth objects (NEO) and RSO detection proposed in [START_REF] Shao | Finding very small near-earth asteroids using synthetic tracking[END_REF], [START_REF] Shao | Synthetic tracking on a small telescope[END_REF], but including additional knowledge, as done with the ANDROMEDA method used for exoplanet detection [START_REF] Cantalloube | Direct exoplanet detection and characterization using the ANDROMEDA method: Performance on VLT/NaCo data[END_REF]. Under the assumption that the noise is white and Gaussian, it can be shown that maximizing the likelihood ratio of a single target's parameters, p 0 and v, is equivalent to maximizing:

rS/N (p p p 0 , v v v) = ∑ k,p p p I(p p p,k) s(p p p,k;p p p 0 ,v v v) σ 2 I (p p p,k) ∑ k,p p p s 2 (p p p,k;p p p 0 0 0 ,v v v) σ 2 I (p p p,k) 1 2 . ( 9
)
which is written rS/N , as it is an estimator of the true SNR of the mean intensity estimator.

Using the assumption under Eq. ( 2) that the light distribution s is independent of the velocity hypothesis, the crosscorrelation (equivalent to a spatial adapted filter) of the images and object model is computed once for every velocity hypothesis:

I corr (p p p, k) = ∑ p p p ′ ′ ′ s(p p p ′ ′ ′ , k; p p p, 0) I(p p p ′ ′ ′ , k) σ 2 I (p p p ′ ′ ′ , k) , σ 2 corr (p p p, k) = ∑ p p p ′ ′ ′ s 2 (p p p ′ ′ ′ , k; p p p, 0) σ 2 I (p p p ′ ′ ′ , k) (10)
Injecting the assumption of rectilinear motion from Eq. ( 3), it can be shown that the maximization of the marginalized likelihood ratio is equivalent to maximizing

rs/b (p p p 0 , v v v) = ∑ k I corr (p p p 0 + k v v v T, k) ∑ k σ corr (p p p, k) . ( 11
)
Which is just a shifted-sum of the correlated images weighted by the noise. Finally, a detection is decided if the likelihood ratio is greater than some threshold τ. The choice of the threshold is up to the user, often as a function of the false alarm rate, and is discussed in [START_REF] Virani | Real-time multi-target detection & tracking of space objects using FiSSt methods[END_REF][9].

Faster targets / limiting velocity

One of the algorithm speedup comes from the assumptions that all targets have the same shape s, regardless of their velocity. But, obviously, satellites faster than the acquisition frequency will form streaks.

The maximum speed that we can optimally detect is mainly limited by hardware. Our camera read-out in full frame (6K×6K) fastest frequency is f max = 50 Hz. We found that the proposed method is still efficient up to RSO apparent velocity of 2 pixel/frame. At 50 Hz, with 2.6 arcsec/pixel, it corresponds to an angular velocity of ω max = v f max θ pix = 250"/s.

Solving Eq. ( 1) for h at ω max gives a maximum elevation of 3 000 km, corresponding to most of the MEO range, for the method to stay optimal. In practice, detections are still correct for faster targets, up to a few pixels per frame, but without an optimal SNR.

Likelihood reduction and output detections

The likelihood equation holds for a single satellites. We first assume the -most likely-case of an isolated satellite.

The rs/b function should present values over the threshold for parameters at and around the true (p p p 0 0 0 , v v v), but only the local maximum needs to be retrieved. A sub-pixel maxima can thus be found by fitting a polynomial.

The likelihood map can also be used for multiple detection. The minimum separation for two satellites to be detected is in the order of the seeing θ 0 in the position space, and θ 0 /T expo in the velocity space. The proposed method is thus able to separate two satellites as soon as at least one of the four coordinates involved sufficiently differ from these limits.

The algorithm uses relative time between frames, but a time reference needs to be chosen along with (p p p 0 0 0 , v v v) parameters, which is chosen as the mean time of the exposures. The exposure time has to be taken into account: with an exposure of T expo and a reference time T 0 , the centroid is the position of the satellite at

T 0 + T expo /2.
Last, the detected positions and velocities are used to extract the sequence sub-cubes, such as the one shown in Fig. 3, for further processing.

STATE PROJECTION

Even if the detection algorithm can provide milli-pixel accuracy, its usefulness is limited if we cannot precisely associate the detections with the satellite state. Here, a direct model M (or measure function) is developed from state to measure. This model will be valuable for solving the inverse problem from measure to state and refining the orbital parameters in the future.

For demonstration and quantification purpose, we chose the celestial frame as the common comparison space. Thus, detection in pixels, and satellite state, originally in an earth fixed frame (ITRF), are projected into the celestial apparent position (ICRF), to express residuals in this more perceivable space.

Our goal is to accurately compute the predicted apparent position and velocity (α, δ , α, δ ) pred = pro j(r rso , ṙrso , T obs ).

On the other hand, it is to compute the corresponding sky position and velocity of the measured pixel position and velocity (α, δ , α, δ ) obs from the detection outputs (p p p 0 , v v v, T obs ).

Astrometry, pixel to sky transformation

Using reference stars with known positions from a catalog, we can interpolate the apparent line-of-sight vector of an unknown source, in the chosen catalog reference frame. The method consists in fitting a transformation A : (x, y) -→ (α, δ ) that computes the apparent ICRS (if the input catalog is given in ICRS) position of pixel positions, using a set of known matches (x, y) I ↔ (α, δ ) cat . Only three matches are needed to get a linear solution, but usually we use more pixel-star matches to fit the transformation with a higher order polynomial through a least-square minimization. Our reference catalog is a made from Gaia DR3 [START_REF]The gaia mission[END_REF], from the European Space Agency (ESA) mission Gaia [START_REF]Gaia website[END_REF]. Using given proper motions, we are able to compute an up-to-date catalog for the dates of observation.

The astrometry.net software [START_REF] Lang | Astrometry.net: Blind astrometric calibration of arbitrary astronomical images[END_REF], [START_REF] Lang | Astrometry.net[END_REF] offers a great and complete solution to get a first solution for the pixel to sky transformation, along with the set of matches used for the estimation. Astrometry.net can provide an optional polynomial correction to correct for the different distortions that make the sky to image projection diverge from a simple orthoscopic projection. Since our tube has revolution symmetry, we can expect its distortion to be efficiently quantified by a single Seidel coefficient (S V or W 311 ), leading to a 3 rd order polynomial correction. Our distortion amounts to up to 5 arcsec at the border of the image.

The correction also has to account for external distortions, which are caused by non-homogeneous deformations of the apparent position of the star. The two main components are atmospheric differential refraction (up to more than 100 arcseconds for 4°field at 10°elevation [START_REF] Bangert | SOFA astrometry tools[END_REF], maximum at 0°elevation) and differential light aberration (up to a few arcsec, maximum in the direction of the earth apex and antiapex).

The variance of the astrometric reduction is estimated as the empirical variance using the set of pixel to (α, δ ) cat association. In our dataset, the mean variance is in the order of a few hundredths of arcseconds. Which means that further work is needed to improve the transformation. This may come from the coupling between the wide field and observed spectral bandwidth which leads to high chromatic aberration, that we plan to address. The high number of stars available, due to the wide field of view and the high sensitivity, should allow us to select a reduced set of stars which will reduce differential chromatic aberration and astrometric errors. Assuming that RSOs have a spectrum similar to that of the sun, we can select a list of reference stars from their spectral type, given in modern catalogs.

A is applied to each detected coordinates p p p 0 = (x 0 , y 0 ) to get a list of sky positions (α, δ ) obs . The apparent velocity ( α, δ ) obs is computed by finite difference, using the estimated pixel velocity v v v.

RSO predicted apparent sky position

Initial dating of each frame Modern cameras include an internal timer with microsecond accuracy. Each frame k start exposure is timestamped T cam (k) corresponding to seconds from the timer initial date T 0 UTC .

For each observation (sequence of images), we query the camera timestamps along with the system timestamps (UTC date synchronized through NTP). Each query is sequential (so not simultaneous) but only take several nanoseconds, so one query should suffice to get a good enough mapping between camera and UTC clocks. To verify the linearity of the internal camera clock, UTC and camera time are taken before and after acquisition and the time differences are verified to be approximately equal. We found a difference less than a few nanoseconds, under our measurement precision capacity.

The actual measurement date T obs (k) of a frame k is taken as the frame date plus half the exposure time. Assuming linear motion, it corresponds to the date when the satellite pixel position is the centroid of its integrated shape over the exposure, which is the expected output of the detection algorithm. The reference UTC date for each frame is then:

T obs (k) = T 0 UTC + T cam (k) + T expo 2 . ( 12
)
The analysis of residuals on calibration satellites over a long time should indicate if this timing method introduces systematic bias.

Light time delay

The satellite apparent position differs from its geometrical position (true position at the instant of measure) due to the finite speed of light. The light time correction accounts for 2 arcsec for a GEO orbit, and up to 5 arcseconds for low orbit (400 km) satellites. A classic iterative algorithm is used to find the light time delay δt lt . The observed position of the object at T obs is then the RSO position r r r rso at T obs -∆t.

Rolling Shutter Correction Our camera uses a rolling shutter, which adds distortion to the image when used on dynamic scenes.

The camera line delay in given to be 7.8 µs for the imaging mode used in production. For a satellite travelling 100 pixels during the 10 seconds sequence, the maximal time distortion between both end of the tracklet is in the order of 0,1 ms. We therefore assume that locally the rolling shutter effect is negligible. However, the measure time has to be corrected w.r.t. to the time of the first line, which is given by the internal camera clock. Indeed, for a wide camera with 6K pixels the time difference between the first and last line is 20 ms, which is not negligible.

While not written explicitly after for simplicity, a correction term ∆t rs is embedded in the T obs value. It is computed by first projecting the object state into the pixel space using the initial T obs -∆t lt to get the predicted line position y rso .

The rolling shutter delay ∆t rs could be computed through an iterative solution similar to the light time delay correction.

In practice, a single iteration is sufficient and we take ∆t rs = y rso × line delay.

If one does not trust or want to verify the line delay given by the camera supplier, a minimization of the residuals w.r.t. to the measure date should show a correlation with the Y-axis pixel coordinates of the image (or the X-axis of the camera if it is read column by column), with a slope corresponding to the line delay. Performing this analysis gave us a compliant value (10% departure from the specified value, using data described in section 4).

Spatial correction

The measure will be given in a celestial frame relative to stars, therefore one has to take into account light aberrations that affect stars but not the satellite, so only annual aberration is taken into account. We invert the light aberration at the position of the object r rso to get its apparent position among the stars.

Velocity projection

The overall projection is a non-linear function of time and observer position. Thus, we chose to estimate the apparent velocity ( α, δ ) pred by finite difference of predicted positions.

VALIDATION

In order to validate our detection, but more importantly to characterize the bias and variance of the overall process, ground truth data from calibration satellite states is used. The data we used is mainly retrieved from the Center for Orbit Determination in Europe (CODE) [START_REF] Prange | Overview of CODE's MGEX solution with the focus on galileo[END_REF], as it offers ephemeris for almost all GNSS constellations. CODE also provides both observed and predicted (future) satellite position, which allow us to precisely point at our selected targets during observation campaigns.

GNSS data

Interpolation The GNSS position is provided as ephemeris with a temporal resolution of 5 minutes. To estimate the satellite's state at any date and time, we use spline interpolation.

The ephemeris are provided in an International Terrestrial Reference Frame (ITRF). However GNSS orbits exhibit greater smoothness, thus lower interpolation errors, in the inertial Geocentric Celestial Reference Frame (GCRF). Moreover, the GCRS position is just a step away from the catalogs reference frame.

The accuracy of the interpolation of the ephemeris using splines has been checked by downsampling ephemeris from 5-minutes to 15-minutes, constructing an interpolator from the downsampled ephemeris and computing the difference with the original 5-minutes ephemeris at the sample points. We found a maximum error of 20 cm, which corresponds to 2 mas at 20 000 km, which is negligible compared to the obtained precision of a few hundred mas. Therefore, the interpolated GNSS data are taken as the ground truth for the satellites states.

Observation -measure association Even if we point toward the target GNSS, multiple detections might occur, so the projected state (prediction) is associated with the nearest neighbor detection (measure). The distance between a measure and the projection is taken as their angular distance, ignoring velocity for now.

The sparsity of the RSO distribution, in relation to the precision of our measurements, which are on the order of a few hundred milliarcseconds, results in an extremely low probability of false associations. Furthermore, GNSS satellites do not exhibit any known companions that might introduce systematic errors to our residual measurements.

The set of measure-prediction association is then filtered, to keep only 'true positive'. If the prediction to nearest detection residual is less than a certain threshold, it is considered a true positive. Obviously, if detections are made all over the parameters space, the detection rate would be 100%. Therefore, a true positive is decided if one and only one detection has a residual of less than 10 arcsec in position and 3 arcsec/s in velocity, then the residual is accounted as an actual residual. Those values are chosen low enough such that it is very unlikely that a false association is made with a close-by object, but high enough compared to our precision such that we don't artificially improve our empirical precision. The average PSF width is 2 pixels, so excluding associations over 10 arcseconds should not artificially improve our precision.

Observation campaign

We conducted observations of multiple GNSS satellites (5 here) over several nights to obtain measurements with a variety of observation parameters. A set of visible satellites was selected and regularly observed. The telescope is pointed toward the predicted position and image sequences are taken.

The acquisition parameters were:

• 50 ms exposure per frame.

• 100 frames per sequence. It is a trade-off between signal accumulation, computing time and available memory.

The detection algorithm is implemented in CUDA and runs on an A40 GPU. The velocity parameter space is sampled with a 1.5 arcsec/s spacing, and the position space with a 1 pixel spacing (2,6 arcsec).

State estimation precision

One of the key objectives in the prototyping is to explore potential correlations between residuals and observation parameters such as the elevation, azimuth, Earth velocity to line-of-sight angle, right ascension, declination, X and Y pixel coordinates of the measurements, etc. By incorporating a wide range of measurements, these correlations can be identified and included in the noise model, or lead the user to appropriate corrections.

Position residuals In figure 4, the histogram of around 1000 residuals projected on the ra-dec (ICRF) axes are shown. We found no per-satellite specific bias, thus all observations are analysed as a whole. In the celestial axes, residuals show a negligible systematic bias, and a standard-deviation of 250 milliarcsec in both angular directions. In this projection, we find a desired non-biased, Gaussian shaped distribution, that enables our result to be integrated in orbit restitution algorithms. This corresponds to a 0, 1 pixel error, which is commonly taken as a basis for the expected error for centroid estimation algorithms, and is comparable to some high-precision astrometric measurements obtained on GEO satellites, with better sampling (1 arcsec/pixel) and in satellite tracking mode [START_REF] Skuljan | High-precision astrometric measurements of calibration satellites[END_REF].

However, by projecting into the azimuth-elevation frame, the residuals plotted on Fig. 5 present a notable increase trend in the elevation bias at low elevations, while the azimuth estimation stays unbiased, leading us to think that the high bias at low elevation is due to atmospheric effect. It may come from badly corrected differential refraction along with a lack of proper astrometric reference stars in the lower elevation part of the images. Other atmospheric effects are to be investigated. More observations are needed to confirm the trend, especially we need to confirm the trend for objects in other orbital regimes. It can be noted that we are able to detect satellite at the lowest elevations for our site, where the view is obstructed by trees and building under 4°. The decrease in precision with elevation is due to the decrease in SNR for both the satellite (detection precision loss) and the stars (astrometric reduction precision loss) which is explained by an increase in atmospheric extinction.

Although, for SSA application, it is questionable to even observe under 10°elevation. However, this effects seem to be the next wall limiting our precision. Velocity estimation The velocity parameter space has been discretized with a 1,5 arcsec/s step, equivalent to a step of 0.6 pixels per second. The residuals histograms in the celestial frame are shown in Fig. 6. We found no systematic bias, and a standard deviation of 340 milliarcsec/s in each direction. Contrary to the position residuals, there is no evidence for a correlation w.r.t. to the elevation, which is to be expected as the bias is cancelled through differentiation.

To the authors' knowledge, no comparable velocity estimation analysis have been found in the literature.

Limiting Magnitude

The knowledge of satellite position allows the validation of very-low SNR detection. We propose a consistent method to estimate the experimental limiting magnitude of our system.

GNSS satellite are much brighter than detection limit. In order to observe faint GNSS, we observed their eclipse, when the satellite travel through the earth shadow. The GPS satellite NAVSTAR 74 eclipse was observed during the nights of 16 and 30 January 2023, its relative flux is shown in Fig. 7. Although the telescope is pointed in the right direction by the ephemeris knowledge, the detection algorithm is not aware of this. Fig. 7 plots the flux associated with the closest detection from the expected position. In addition, points are labelled as true detection (orange disk) only when the angular error is less than 3 arcsec and the velocity error is less than 1 arcsec/s, making it very unlikely that the actual detection corresponds to a wrong detection with this four-dimensional constraint. Otherwise, we mark with a red-cross the dates of observation when we were not able to detect the satellite, despite its presence in the field of view.

We found that we can follow and detect a target with a flux that goes from 1 to 0, 01 of it's flux before the eclipse. The detection threshold had to be set very low, increasing the false alarm rate higher than a typical SSA system 'in production' would tolerate. However, it demonstrates the capability of a small telescope to detect very faint objects, using adapted software.

CONCLUSION

In this work, we developed the global process of detection and state projection using an optical ground station, which are the basis of Space Surveillance and Tracking. Our residuals show promising results, with an astrometric dispersion about 250 miliarcseconds, which is equivalent to or better than some of the best results found in the literature [START_REF] Skuljan | High-precision astrometric measurements of calibration satellites[END_REF]. In addition, the extraction of data cubelets around the satellite tracklet opens the door to SSA through refined processing (close-objects separation, temporal light analysis).

The proposed approach combine precision and magnitude limit considerations with a large field of view, while incorporating a streamlined on-the-fly processing approach. We show consistent results from measurement of multiple satellites. Still, the state projection involves a number of factor that are not easy to model or quantify. The combina-tion of the non-linear process of time correction, astrometry and others make the whole transformation self-convoluted. Especially, The missing part of the model for low elevation is still to be investigated.

Finally, we presented an easy solution to estimate the limiting magnitude of any RSO detection system, using eclipse. We demonstrated the ability of our method to detect very faint satellite.

The characterisation of the whole chain, in terms of precision and dispersion, should now allow us to integrate our measurements in an orbit determination system.

  (a) Temporary vanishing satellite at low elevation (NAVSTAR 54). (b) Flashing satellite (PALABA 4B).

Figure 2 :

 2 Figure 2: Synthetic long-exposure frames (cf I max hereafter) of satellites with highly varying intensities. Background and stars (black points) have been removed.

  (a) Light curve sampled at 20 Hz. (b) Flashing satellite sequence, using detection to register the images. Processed frames (after master bias, flat, background removal, and adapted filter) recorded at 10 Hz.

Figure 3 :

 3 Figure 3: Temporal and spatial behavior of a flashing satellite (the GEO satellite PALABA 4B).

Figure 4 :

 4 Figure 4: Right ascension and declination residuals between our observations and GNSS projection (800 points).

Figure 5 :

 5 Figure 5: Elevation (blue) and azimuth (orange) residuals w.r.t. elevation. 800 observations of 5 different GPS satellites.

  motion residuals = 0.01 /s = 0.33 /s (a) Right ascension proper motion residuals.

  006 /s = 0.348 /s (b) Declination proper motion residuals.

Figure 6 :

 6 Figure 6: Proper motion residuals.

Figure 7 :

 7 Figure 7: Flux evolution and detection during eclipse of NAVSTAR 74. Seconds starting from 23h07 on the 16th of January 2023. Red crosses indicate that a sequence pointing the satellite was taken, but no detection was validated.

ACKNOWLEDGMENTS

The authors would like to thank the astrometry.net team for the free usage of their great software suite and Y. Auger, A. Bernard-Brunel, Q. Haegel, E. Laneel, L. Mugnier, S. Reynaud, M. Sanfourche, D. Savary-Martinez and G. Terrien for their contribution to the CICLOPE development.

This work has made use of data [12], from the European Space Agency (ESA) mission Gaia [13], processed by the Gaia Data Processing and Analysis Consortium (DPAC) [19]. Funding for the DPAC has been provided by national institutions, in particular the institutions participating in the Gaia Multilateral Agreement. This work is supported by PhD Grant DGA/AID 2021305.


Ismail Khalfaoui-Hassani
email: ismail.khalfaoui-hassani@univ-tlse3.fr

Timothée Masquelier
email: timothee.masquelier@cnrs.fr

Thomas Pellegrini
email: thomas.pellegrini@irit.fr

Audio classification with Dilated Convolution with Learnable Spacings

Dilated convolution with learnable spacings (DCLS) is a recent convolution method in which the positions of the kernel elements are learned throughout training by backpropagation. Its interest has recently been demonstrated in computer vision (ImageNet classification and downstream tasks). Here, we show that DCLS is also useful for audio tagging using the AudioSet classification benchmark. We took two state-of-the-art convolutional architectures using depthwise separable convolutions (DSC), ConvNeXt and ConvFormer, and a hybrid one using attention in addition, FastViT, and drop-in replaced all the DSC layers by DCLS ones. This significantly improved the mean average precision (mAP) with the three architectures without increasing the number of parameters and with only a low cost on the throughput. The method code is based on PyTorch and is available at https://github.com/K-H-Ismail/DCLS-Audio.

Introduction

The very popular ConvNeXt model [START_REF] Liu | A convnet for the 2020s[END_REF], a fully convolutional model designed for vision tasks, has been successfully adapted to audio classification on AudioSet [START_REF] Pellegrini | Adapting a ConvNeXt Model to Audio Classification on AudioSet[END_REF] by transforming audio samples to log-mel spectrograms and adapting the stem of the ConvNeXt model to fit the input audio extracts. This has improved the state of the art of audio classification using convolutional neural networks by achieving better accuracy than PANN-type models [START_REF] Kong | Panns: Large-scale pretrained audio neural networks for audio pattern recognition[END_REF], while having fewer learnable parameters. Furthermore, when used as a backbone for downstream tasks, the ConvNeXt-audio model has achieved positive, if not state-of-the-art, results for the audio captioning and audio retrieval tasks.

Separately, the Dilated Convolution with Learnable Spacings (DCLS) method has already proven itself in several computer vision tasks [START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings[END_REF]. Through a simple drop-in replacement of the model's DSC with DCLS (which can be done automatically for all layers of a model via this script 7), the DCLS convolution method has empirically proven its effectiveness for several computer vision tasks using ImagNet1k [START_REF] Deng | Imagenet: A large-scale hierarchical image database[END_REF] trained models as backbones. This resulted in a ConvNeXt-dcls model [START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings[END_REF] and a ConvFormer-dcls model [START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings: beyond bilinear interpolation[END_REF], depending on the model chosen in the study, by performing the replacement in the ConvNeXt and ConvFormer models, respectively.

Our aim in the present article is to show empirically that a drop-in replacement of the DCLS method in the same fully convolutional models can improve their accuracy for the task of audio classification on the AudioSet dataset without much effort, demonstrating once again the interest of the method not only on the reference benchmark for image classification but also on the reference benchmark for audio classification (AudioSet [START_REF] Gemmeke | Audio set: An ontology and human-labeled dataset for audio events[END_REF]). Furthermore, we add a third test model that differs slightly from the other two in that it's a hybrid model (having both DSC layers and multi-head self-attention layers, depending on the stage to which the layer belongs): FastVit [START_REF] Vasu | Fastvit: A fast hybrid vision transformer using structural reparameterization[END_REF], and again, replacing the DSC layers by DCLS improves results. This article does not claim to be the absolute state of the art on the task of classification on AudioSet, but rather tries to provide an objective comparison between known and proven convolutional models and those equipped with a DCLS convolution that would make them more efficient.

Related work

Audio tagging systems were mainly based on convolutional neural networks until recently, with the adaptation of vision transformers to audio processing. The PANN-based models (e.g., CNN14), in particular, comprise blocks of plain 3 × 3 kernel convolution layers [START_REF] Kong | Panns: Large-scale pretrained audio neural networks for audio pattern recognition[END_REF]. In [START_REF] Verbitskiy | Eranns: Efficient residual audio neural networks for audio pattern recognition[END_REF], PANN-like models were enhanced, in terms of accuracy, model size and inference speed, by adding residual connections, and by modifying the kernel sizes, the stride and padding, using a "decreasing temporal size parameter". Other efficient CNN architectures, such as EfficientNet [START_REF] Gong | PSLA: Improving audio tagging with pretraining, sampling, labeling, and aggregation[END_REF], were also tested in audio tagging. In [START_REF] Singh | E-PANNs: Sound Recognition Using Efficient Pretrained Audio Neural Networks[END_REF], efficient PANNs (E-PANN) were obtained by using filter pruning. In [START_REF] Drossos | Sound event detection with depthwise separable and dilated convolutions[END_REF], DSC layers were used, which resulted in large reductions in model complexity, together with performance gains. In [START_REF] Pellegrini | Adapting a ConvNeXt Model to Audio Classification on AudioSet[END_REF], doing so in PANN's CNN14 also yielded significant model size reduction (about 60% relative), whilst observing a gain in performance. In this last study, ConvNeXt was adapted to perform the audio tagging task in AudioSet. It performed better or on par with the transformer-based architectures AST [START_REF] Gong | AST: Audio Spectrogram Transformer[END_REF] and PaSST-S [START_REF] Koutini | Efficient training of audio transformers with patchout[END_REF].

Methods

Dataset and configuration

Dataset. In all the experiments in this article, we used AudioSet [START_REF] Gemmeke | Audio set: An ontology and human-labeled dataset for audio events[END_REF], the reference dataset in audio classification. It contains about 2 million video clips downloaded from the YouTube platform. We are only interested in the audio portion of these clips and are not using the video dataset. The audio clips available in AudioSet can vary in size, but most are 10 seconds long. If a sample is longer than that, we truncate it; if shorter, we pad it with zeros. The classification task in AudioSet consists of assigning each sample to the class or classes to which it belongs among the 527 available labels. It is thus a multi-label classification task. The majority of the excerpts correspond to one of the two classes "speech" and "music" (often both), due to their predominance on the aforementioned video hosting site. This latter fact leads to an imbalance in the dataset, with several classes being poorly represented while a few classes account for most of the dataset. We downloaded the data in 2018, and some of the YouTube links have been broken since then. Our AudioSet data contains 1,921,982 clips (unbalanced train), 21,022 clips (balanced train), and 19,393 clips (evaluation).

Metrics. We report the usual evaluation metric for AudioSet tagging: mean average precision (mAP) which is typically the metric of interest in audio tagging. All DCLS-equipped models studied here outperform their respective baselines using this metric.

No weighted sampler. Given the unbalanced nature of the dataset, many state-of-the-art models make good use of a weighted random sampler [START_REF] Kong | Panns: Large-scale pretrained audio neural networks for audio pattern recognition[END_REF][START_REF] Gong | Contrastive audio-visual masked autoencoder[END_REF][START_REF] Huang | Masked audio-video learners[END_REF], where each class in the dataset is weighted by its frequency of occurrence in the dataset. This is a classic machine learning approach to mitigate data imbalance. However, as pointed out by [START_REF] Moore | Dataset balancing can hurt model performance[END_REF], these approaches based on a weighted sampler whose oversampling rate is adjusted as a training hyperparameter seem to overfit the dataset more than anything else and do not favor the rarest classes. Since in this article, we are only interested in the comparative study between baseline models and the same models augmented with the DCLS method, we have chosen not to include weighted samplers in our training phases, even if this means losing a few points in mAP, thereby allowing a comparison that is less noisy due to the effects of sampling. Furthermore, the naive use of Mixup augmentation [START_REF] Zhang | mixup: Beyond empirical risk minimization[END_REF] in conjunction with a weighted sampler may turn out to be a source of undesirable behavior, since proceeding in this way could destroy the weighted sampling that was originally intended, as the Mixup acts randomly by drawing two samples without taking balancing into account. Weighting-aware approaches to Mixup such as [START_REF] Ramasubramanian | Selmix: Selective mixup fine tuning for optimizing non-decomposable metrics[END_REF] should be better investigated and implemented in order to better take advantage of both methods. [START_REF] Oord | WaveNet: A generative model for raw audio[END_REF][START_REF] Dai | Very deep convolutional neural networks for raw waveforms[END_REF][START_REF] Akbari | Vatt: Transformers for multimodal self-supervised learning from raw video, audio and text[END_REF], while a growing number of state-of-the-art models use spectrograms, taking advantage of the signal's periodic aspect by using the Short-time Fourier transform [START_REF] Kong | Panns: Large-scale pretrained audio neural networks for audio pattern recognition[END_REF][START_REF] Koutini | Efficient training of audio transformers with patchout[END_REF][START_REF] Huang | Masked audio-video learners[END_REF]. We prefer this second choice in order to use computer vision baselines. Additionally, the obtained spectrograms are often filtered using the mel psychoacoustic scale [START_REF] Stevens | A scale for the measurement of the psychological magnitude pitch[END_REF]. We use the latter filtering to obtain mel-frequency spectrograms, which we transform from the power/amplitude scale to the decibel scale. A comprehensive enumeration of the hyperparameters used to perform these transformations is given in Table 2.

Spectrogram resolution. Many audio classification models use raw audio signals

The final spectrogram size obtained is (F = 128, T = 1001). In the course of our experiments, we noticed that the larger the size of the spectrograms (in both frequency and time), the greater the mAP the models, but to the detriment of their throughput. This is a well-known phenomenon in computer vision, where higher input image resolution often leads to better vision model accuracy but also to higher computational time costs. We believe that this resolution provides a good trade-off in mAP-throughput and argue that there is a sweet spot between resolution and stem size that offers optimal performance regarding mAP-throughput.

Adapting the stem. The three neural networks used in this study all come from the world of computer vision. It is therefore essential to adapt the stem of these models in order to process no longer natural images made up of three channels corresponding to the RGB colors, but instead a spectrogram with a single channel and a size different from the crop images initially designed for vision tasks. To this end, we used a basic stem, common to all three studied models, namely a convolution layer with a kernel size = (2, 16) and a stride = [START_REF] Dai | Very deep convolutional neural networks for raw waveforms[END_REF][START_REF] Liu | A convnet for the 2020s[END_REF]. This stem produces maps of size (64, 62) from input spectrograms of size (128, 1001). This type of stem is similar to that originally found in the ConvNeXt model, while the ConvFormer model featured a slightly more sophisticated stem with a kernel size larger than the stride size. The FastVit model, on the other hand, came with a much more complex stem consisting of several layers based on the MobileOne block [START_REF] Vasu | Mobileone: An improved one millisecond mobile backbone[END_REF].

Imposing a common stem on all the models in the study means that, on the one hand, we can compare the models more accurately, knowing that the input resolution will be the same for all of them. On the other hand, in the absence of an optimal stem adapted to audio spectrograms, we use a coarse stem with which we can conduct our study. Note that the search for an ideal stem is a study in itself and that the stem presented here can always be refined and improved.

Pretraining on ImageNet1k. Using pre-trained models on ImageNet [START_REF] Deng | Imagenet: A large-scale hierarchical image database[END_REF] as a better initialization to solve the tagging task on AudioSet is common practice [START_REF] Gong | AST: Audio Spectrogram Transformer[END_REF][START_REF] Koutini | Efficient training of audio transformers with patchout[END_REF][START_REF] Pellegrini | Adapting a ConvNeXt Model to Audio Classification on AudioSet[END_REF]. In the first few epochs, models initialized in this way have a clear advantage over those initialized randomly. However, this advantage is quickly regained over the course of training, and randomly initialized models often end up performing similarly to or slightly worse than pre-trained ones. We only use pre-trained models on ImageNet1k when they are available and do not cost us anything to train. Therefore, we use the symbol ‡ to designate models that have not been pre-trained on ImageNet.

Configuration. In Table 2 is a comprehensive list of the hyperparameters and augmentations used in this study. These are largely similar to the hyperparameters used in [START_REF] Liu | A convnet for the 2020s[END_REF]. Note that a high drop path (0.4) is used in this work to overcome the overfitting problem encountered with the tagging task on AudioSet and that large effective batch sizes were used (4096) to speed up training. However, some instabilities during training were noted, particularly for the ConvFormer model. These instabilities are known from [START_REF] Yu | Metaformer baselines for vision[END_REF] and were resolved by using the LAMB optimizer [START_REF] You | Large batch optimization for deep learning: Training bert in 76 minutes[END_REF], while we used AdamW [START_REF] Loshchilov | Decoupled weight decay regularization[END_REF] for the other two models.

Models

We used three different models from computer vision that we adapted to audio inputs to corroborate our results. The first one is a fully convolutional model: ConvNeXt-tiny [START_REF] Liu | A convnet for the 2020s[END_REF]. The second one is also a purely convolutional model that outperforms the ConvNext model on the ImageNet classification task: ConvFormer-S18 [START_REF] Yu | Metaformer baselines for vision[END_REF]. The DCLS method as a replacement for DSC has already been successfully used in the latter two models for various vision tasks, including image classification on ImageNet1k [START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings[END_REF][START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings: beyond bilinear interpolation[END_REF]. The third model we used is more recent and achieves the current state-of-the-art throughputaccuracy trade-off in image classification on the ImageNet dataset: FastVit-SA24 [START_REF] Vasu | Fastvit: A fast hybrid vision transformer using structural reparameterization[END_REF]. The latter is a so-called hybrid model, i.e., it contains DSC layers as well as and multi-head self-attention layers.

DCLS substitution

Considering the baseline models discussed in the previous section, we carried out the following study: we trained the baselines on the concatenation of the unbalanced train and the balanced train sets of AudioSet, then evaluated them on the evaluation subset. We repeated the same process with the same models, except that this time we replaced all DSC layers having a kernel size equal to 7 with a DCLS convolution layer. In all test cases, we used exactly the same training configuration to avoid attributing performance gains to any reason other than the replacement of the DSC layers by DCLS ones. Also, to learn the positions (and standard deviations for DCLS-Gauss) of each kernel element, we followed the same training techniques as those listed in [START_REF] Khalfaoui-Hassani | Dilated convolution with learnable spacings: beyond bilinear interpolation[END_REF]. This gave us 6 test cases to examine in total, for which we measure the mAP metric mentioned in Section 3.1 averaged over three different seeds (seeds 0, 1, and 2).

Results

The results presented in Table 1 demonstrate the performance of the three models mentioned in Section 3.2 on the 128 × 1001 spectrograms, where the convolution method used varies. Notably, we observe that when comparing each baseline model with its DCLS-equipped counterpart, the use of DCLS-Gauss with a kernel size of 23 2 and a kernel count of 26 stands out, achieving a higher mAP (+0.6 on average) with an equal or lower number of parameters. This result highlights the effectiveness of DCLS-Gauss in enhancing classification performance. DCLS does, however, introduce a reduction in throughput (13% for ConvNeXt-T and FastVit-SA24 and 23% for ConvFormer-S18) due to the use of larger kernels. The results of a previous study on ConvNeXt [START_REF] Pellegrini | Adapting a ConvNeXt Model to Audio Classification on AudioSet[END_REF] show that an mAP of 47.1 can be achieved, but here we only reach 44.8 for the baseline; this is due to the fact that in that previous study, a higher spectrogram resolution was used (224 × 1001 versus 128 × 1001 in this work) and that a stem size of 4 × 4 instead of 2 × 16 here was used to produce larger feature maps, which is reflected both in the large memory required to run this model and in the model ' 1: Classification mean average precision (mAP) on the evaluation set of AudioSet. For the baselines using DSC and the DCLS-Gaussian cases, the results have been averaged over 3 distinct seeds and presented in the format mean ± standard deviation. † : trained using LAMB, ‡ : no ImageNet pretraining. The throughputs were calculated with a single NIVIDIA V100 32-GB gpu.

Conclusion

In conclusion, this article has demonstrated the efficacy of Dilated Convolution with Learnable Spacings (DCLS) as a method with promising applications beyond the computer vision field. By exploiting DCLS in the audio tagging task on AudioSet, we have demonstrated tangible improvements in accuracy when compared to models employing traditional DSC methods. While this work does not claim to establish an absolute state-of-the-art benchmark, it does contribute valuable insights into the potential of DCLS convolution in audio classification. This research underscores the significance of exploring novel convolutional techniques, like DCLS, and adapting them to various domains beyond their initial design. As the field of deep learning continues to evolve, such methods pave the way for broader and more efficient applications, thereby advancing the state of the art in deep learning. [START_REF] Ko | Audio augmentation for speech recognition[END_REF] rates = (0.5, 1.5), p = 0.5 RandomErasing [START_REF] Zhong | Random erasing data augmentation[END_REF] p = 0.25

  . bias is not None , 38 ) 39 nn . init . normal_ ( dcls_conv . weight , std =0.02) 40 if module . bias is not None :

  s throughput. Table

	model	ker. size / count	method	# param.	mAP	throughput (sample / s)
	CNN14 [13]		Conv.	80.7M	43.1	378.2
	PaSST-S [14]		MHS. Attention.	87M	47.1	88.7
	ConvNeXt-T [21]	7 2 / 49	Depth. Conv.	28.2M	47.1	153.6
	ConvFormer-S18 †	7 2 / 49	Depth. Conv.	26.8M	43.14 ± 0.03	513.3
	ConvFormer-S18 †	23 2 / 26	DCLS-Gauss	26.8M	43.68 ± 0.02	396.8
	FastVIT-SA24 ‡	7 2 / 49	Depth. Conv.	21.5M	43.82 ± 0.05	633.6
	FastVIT-SA24 ‡	23 2 / 26	DCLS-Gauss	21.5M	44.4 ± 0.07	551.7
	ConvNeXt-T	7 2 / 49	Depth. Conv.	28.6M	44.83 ± 0.14	591.4
	ConvNeXt-T	23 2 / 26	DCLS-Gauss	28.6M	45.52 ± 0.05	509.4

Table 2 :

 2 Training hyper-parameters. 7 Appendix B: How to replace all model's DSC by DCLS ones ? Helper function that replaces all ". int ." patterns 6 # by "[ int ]" in a character string 7 def re place_ dots_ bracke ts ( name ) : Helper function that replaces all the 15 # 2 D depthwise separable convolution in 16 # a model by synchronized Dcls2d ones 17 def r ep lac e_d ep thw is e_d cl s (

	1 import copy
	2 from torch import nn
	3 from DCLS . construct . modules import Dcls2d
	4
	5 # 8	name_split = name . split ( " . " )
	9	name_split = [
	10	" [ " + i + " ] " if i . isdigit () else " . " + i for i in name_split
	11	]
	12	return " " . join ( name_split [: -1]) , name_split [ -1][1:]
	13
	14 #

18 model , dilated_kernel_size =23 , kernel_count =26 , version = " gauss " ) : 19 in_channels , P , SIG = 0 , None , None 20 # Loop over all model modules 21 for name , module in model . named_modules () : 22 # if the module is a depthwise separable Conv2d module 23 if ( isinstance ( module , nn . Conv2d ) 24 and module . groups == module . in_channels == module . out_channels

Acknowledgments

This work was performed using HPC resources from GENCI-IDRIS (Grant 2023-[AD011013219R1]). Support from the ANR-3IA Artificial and Natural Intelligence Toulouse Institute is gratefully acknowledged. We would also like to thank the region of Toulouse Occitanie.