Welcome everyone, and thank you for being here today. My name is Jérome Eertmans, and I will present my Ph.D. work on differentiable ray tracing for radio propagation modeling.
Title screen idle animation showing text elements shifting slightly.
To kick things off, let's watch a brief 4-minute teaser summarizing my Ph.D. journey, showing some of the advanced simulations and ray tracing clips generated throughout this work.
Let's watch a brief teaser video summarizing the Ph.D. journey.
Here is one of our 3D antenna models, specifically antenna 18, rotating around its vertical axis.
Have you ever wondered how we choose to position antennas?
Moreover, we do not have one unique type of antenna, but a multitude of antennas, with different pros and cons.
Okay, but maybe you don't actually care much about antennas.
Instead, let's consider a more familiar case: the design of optical lenses.
Here is a simple convex lens. How does light propagate through it?
This is a problem of modeling light propagation.
Or let's look at acoustics. Why does a concert hall have a very specific shape? How does sound propagate from the stage to the audience?
To answer these questions, we must be able to model sound propagation.
By tracking sound rays bouncing off the walls, we can predict exactly how sound travels.
We simulate multiple rays and filter for those that connect the transmitter to the listeners.
The results gives us an idea about how sound propagates to the different listeners: do they experience echoes? How clear is the sound? ...
Now let's apply this ray tracing technique back to lenses, changing 'Sound' back to 'Light'.
Thanks for ray tracing, we can now study the effect of the thickness on the light rays...
... but also the effect of the curvature on the light rays.
In both cases, we are modeling wave propagation. Let's change 'Light' to 'Wave'.
Specifically, we are using 'Ray Tracing for' wave propagation modeling.
In the context of wireless communications, we often refer to as waves as radio waves.
And finally, to conclude this thesis title, we have Differentiable Ray Tracing for Radio Propagation Modeling. However, the 'Differentiable' keyword will be explained later.
To understand wireless networks, we must model how radio waves travel from a transmitter to a receiver.
Radio signals propagate as waves. In a simplified model, the transmitter emits waves that radiate outward.
According to Huygens' principle, we can decompose any wavefront into countless secondary point sources propagating outward.
By considering these wavefronts individually, we can approximate the wave propagation as individual rays. This is Geometrical Optics, which simplifies wave propagation into individual straight ray paths.
For example, the direct path connecting the transmitter and receiver is the line-of-sight path.
Radio propagation bullet point.
Radio propagation bullet point.
In urban environments, direct line-of-sight is often blocked by buildings. Signals must bounce off other walls and structures to reach the receiver.
These reflections create a multipath channel, where the signal bounces off building walls to reach the receiver.
Reflections and obstacles bullet point.
Reflections and obstacles bullet point.
Reflections and obstacles bullet point.
To understand ray tracing, think of playing billiards.
Let's draw the billard: the cue ball is our transmitter (TX), the pocket is our receiver (RX), and the cushions are the building walls. Finding a valid ray path is just like finding the right angle for a cushion trick shot.
Billiard analogy bullet point 1.
Billiard analogy bullet point 2.
Billiard analogy bullet point 3.
Billiard analogy bullet point 4.
So the core challenge is: how do we find the right bounce angle?
We could try a random shot, but we have good changes to miss the pocket entirely.
Even launching many rays simultaneously — the ray-launching approach — only a tiny fraction will land in the pocket.
If we aim for accuracy, or simply cannot afford to fail, we need something else!
Instead of guessing randomly, the Image Method gives us the answer analytically.
To do so, we first mirror the transmitter across the target cushion to get a 'virtual' TX'.
Then draw a straight line from the receiver (RX) to this virtual TX'. Where that line intersects the cushion is exactly the right bounce point.
After the intersection point is found, we have found the reflection path! If we were to hit the ball toward the specular point, and there was no friction losses, we would hit the cue!
Reveal the key bullet points of the Image Method.
Reveal the key bullet points of the Image Method.
Reveal the key bullet points of the Image Method.
Reflecting across the left cushion gives one path. A different bounce ordering (left then bottom) gives a completely different path. Each ordering of cushions is a different 'candidate' we must test.
E.g., we can find the 1st order reflection path on the left wall.
Now apply two reflections in sequence: left cushion first, then bottom. This changes the path entirely.
Show what happens with the reverse order (bottom → left): an invalid path where the bounce point falls outside the cushion boundary.
If we move TX to another position, then the combination now gives a valid path.
Briefly present the bullet points.
Briefly present the bullet points.
Briefly present the bullet points.
Let's go back to our original setup.
The Image Method is elegant but breaks down for non-planar surfaces (curved walls) and diffractions. We need a more general approach.
First problem with image method.
Second problem with image method.
Let's zoom into an abstract representation of TX, RX, and an interaction point X₁ on a wall. The angle of incidence must equal the angle of reflection (specular constraint).
Fade in the transmitter, receiver, and interaction point on the wall.
Slide the interaction point along the wall to show angle variations.
We express the specular constraint as a cost function C = I + F, where I measures the angle mismatch and F measures whether X₁ is on the wall.
Show how the cost function values change with placement.
Move the interaction point off the wall to show the wall boundary penalty.
Bring the interaction point back to the wall, returning the penalty to zero.
Transition to the mathematical formulas for different interaction types.
The same framework applies to reflection on curved walls; the constraint now depends on the local surface normal at X₁.
Transform the flat wall into a curved arc to show MPT on non-planar surfaces.
And even edge diffraction, which is completely impossible with the Image Method.
Finally, refraction, modeled by Snell's law, completing the range of interaction types.
Going back to main canvas.
So we reformulate: each interaction becomes a constraint, and finding the ray path becomes a continuous minimization problem; this is the Min-Path-Tracing (MPT) method.
Reveal the final bullet point about zero gradient convergence issues.
Mathematical formulation.
By parameterizing the path with a reduced set of variables T, we can leverage implicit differentiation to skip through the solver steps when computing gradients.
Let's watch the minimizer converge on the billiard table. Starting from an arbitrary bounce point, gradient steps drive the residual to zero.
Showing iterations.
Highlighting final path.
Pausing to emphasize that we may want to apply to MPT method to complex scenes...
MPT also handles curved walls: here the bottom cushion morphs into a circle arc and the solver converges just as cleanly.
Let's solve for this new configuration.
Showing iterations.
Highlight final path.
Back to flat shape.
When a receiver moves slightly, the bounce sequence often stays the same. We can reuse the virtual TX' and just update the bounce point — this is dynamic ray tracing.
Show the initial ray path between transmitter and receiver.
Watch the bounce point shift smoothly as the receiver moves: no need to recompute which cushion to bounce off.
Bullet points on ray path reuse.
Bullet points on ray path reuse.
Bullet points on ray path reuse.
Introducting the MLM.
Showing MLM group 1.
Fading out MLM group 1.
Showing MLM group 2.
Fading out MLM group 2.
Showing MLM group 3.
Fading out MLM group 3.
Showing MLM group 4.
Fading our last MLM group.
Here are all double-reflection visibility regions at once. The union of their boundaries defines the Multipath Lifetime Map.
As the TX moves, all regions shift simultaneously. This shows how the MLM can be computed for any TX position.
Showing how all regions update simultaneously.
Fade out transmitter moving labels.
To compute the MLM, we mirror the cushions and overlay the visibility wedges. Key metrics include cell area (how large the stable region is) and the safe travel radius.
MLM bullets
MLM bullets
MLM bullets
MLM metrics intro
MLM metric 1
MLM metric 2
To trace all rays, we must check every combination of walls. Most candidate sequences lead to impossible paths: either the bounce point is outside the wall, or the path is blocked by an obstacle.
Let's test all candidates from order 0 to 3. We show them all first.
First filter: fade out all physically impossible or obstructed paths.
Reveal bullet point 1 of candidate explosion.
Reveal bullet point 2 of candidate explosion.
Reveal bullet point 3 of candidate explosion.
Reveal bullet point 4 of candidate explosion.
Reveal bullet point 5 of candidate explosion.
Our next contribution solves the candidate explosion using machine learning. We train a generative neural network to predict valid wall sequences directly, skipping the combinatorial search entirely.
Machine learning path sampling explanation.
Machine learning path sampling explanation.
Machine learning path sampling explanation.
Machine learning path sampling explanation.
Machine learning path sampling explanation.
Example of a trained generative path sampler output.
Something we are often interesting in for outdoor positioning is knowing what areas are reachable. What we can do is calculate the coverage map.
Coverage map
And the gradient of the coverage map gives us a vector field, indicating the direction of the strongest increase in coverage.
Display coverage map and gradient vector field for order 2.
Display coverage map and gradient vector field for order 1.
Display coverage map and gradient vector field for order 0.
However, in ray tracing, obstacles create sharp boundaries. A receiver goes from full coverage to zero coverage instantly. In our climber analogy, this is like climbing a staircase with flat terraces and vertical cliffs.
Discontinuity explanation bullet.
Discontinuity explanation bullet.
Discontinuity explanation bullet.
Discontinuity explanation bullet.
Shift the camera down to the sigmoid visualization.
Plot the step graph and set up transition approximation.
Show the step graph representing the sharp obstacle boundary.
Overlay the smooth sigmoid function.
Let's animate alpha.
Shift the camera frame back up to the billiard table.
Transition to the discontinuity smoothing bullet points.
Discontinuity - smoothness explanation bullet.
Discontinuity - smoothness explanation bullet.
Discontinuity - smoothness explanation bullet.
Discontinuity - smoothness explanation bullet.
Set up the dynamic alpha visualization for smoothed coverage.
Show the coverage map smoothing dynamically as alpha decreases.
Clear the coverage map and vector field objects from the screen.
Let us consider the optimization problem we want to solve.
The exact paths show that the transmitter is stuck in a blind spot.
Enable smoothing to reveal a continuous gradient field.
Transition to the gradient descent optimization phase.
Loop the optimization steps showing the transmitter converging.
While MPT is mathematically clean, its object-oriented design is inefficient for parallel GPU hardware. Think of storing sheets of paper: if you have sheets of various sizes, the container must fit the largest sheet (A0), wasting massive memory for smaller A4 sheets.
Show the object-oriented memory layout card, illustrating the problem that, if we want to handle arbitrary shapes, then we have to store the largest possible shape, using an analogy with a box containing sheets of paper.
By representing the scene strictly as uniform triangles, we can pack them perfectly without dynamic branching, matching the GPU architecture for peak execution efficiency.
Comparison between object-oriented and triangle-based implementations.
Comparison between object-oriented and triangle-based implementations.
Comparison between object-oriented and triangle-based implementations.
Comparison between object-oriented and triangle-based implementations.
Comparison between object-oriented and triangle-based implementations.
All of these contributions are implemented in open-source software. DiffeRT is the full 3D library, while DiffeRT2d is a lightweight 2D version I created for prototyping and teaching.
Software cards.
Open source bullet.
Open source bullet.
Open source bullet.
Open source bullet.
Open source bullet.
Beyond the scientific contributions, I am particularly proud of several achievements: ...
Proud achievement bullet.
Proud achievement bullet.
Thank you all for your attention. I am happy to take your questions.
Let us briefly look at the training procedure.
Discuss applying smoothing to 3D intersections and trade-offs.
Show Möller-Trumbore smoothed visualization and discuss pros/cons.
Smoothing 3D discussion bullet.
Smoothing 3D discussion bullet.
Smoothing 3D discussion bullet.
Smoothing 3D discussion bullet.
Let us briefly look at the model.
Let us briefly look at the training procedure.