Pablo Díaz Viñambres
MSc Informatics @ TUM
Efficient Neighbourhood Search in 3D Point Clouds Through Space-Filling Curves and Linear Octrees
This is my first research paper, written in collaboration with Miguel Yermo, Ph.D., Silvia R. Alcaráz, Ph.D., Óscar G. Lorenzo, Ph.D., Francisco F. Rivera, Prof. and José C. Cabaleiro, Prof. and available as a preprint in arXiv. It was developed as a continuation and expansion of my BSc Informatics thesis. The library developed in C++ is also available as open source in GitHub (see link above).
Abstract
This work presents an efficient approach for neighbourhood searching in 3D point clouds, combining spatial reordering leveraging Space-Filling Curves (SFC), specifically Morton and Hilbert curves, with a linear Octree implementation. We also propose specialised search algorithms for fixed-radius and kNN queries, based on our linear Octree structures. Additionally, we introduce the novel concept of kNN locality histogram, which can be easily computed to characterise locality in data accesses, and we found to be directly related to cache misses and search performance. Our experiments reveal that SFC reordering significantly improves access to spatial data, reducing the number of cache misses from 25% to 75% and runtime by up to 50%. Moreover, we compare our proposal with several widely used Octree and KDTree implementations. Our method achieves a significant reduction in search time, up to 10x faster than existing solutions. Additionally, we analysed the performance of our neighbourhood searches (parallelised using OpenMP), demonstrating high scalability with the number of cores and the problem size. Notably, we observed a speedup of up to 36x when executing fixed-radius searches in a system with 40 cores. The results obtained indicate that our methods provide a robust and efficient solution for applications that require fast access to large-scale 3D point neighbour sets.


Study and improvement of octree structures' performance for neighbour search in 3D point clouds
In my Informatics BSc thesis, I developed fast algorithms for spatial queries in 3D point clouds . The tasks are quite simple, given a center , we either find all points within a given distance (fixed-radius queries) or we find the closest points (kNN queries). These two neighbourhood-finding operations are extremely common and often become a computational bottleneck in large cloud processing for remote sensing and photogrammetry. We develop two approaches to make them as fast as possible:
- Point cloud reordering via Space Filling Curves (SFCs), where we alter the order of the cloud in-memory to reduce cache misses and improve performance by as much as 75%.
- An optimized linear octree data structure with a novel algorithm for fast point retrieval in fixed-radius searches, and an adaptation of a known algorithm for kNN searches to it. Both of these algorithms excel in performance and even beat SoTA libraries in terms of performance (up to 10x faster, better scalability on and ), memory usage (70% less, compact layout) and construction time (parallel construction, up to 30x faster).
The thesis received the maximum grade (10/10) and was recognized with honors as one of the best BSc Thesis in the class. After my graduation, me and my supervisors kept working on this project and we expanded it to a short paper for the SARTECO Parallelism Conference 2025 and a full journal paper submitted and available in arXiv. Check the research project entry for more details.
The Fast Fourier Transform
The topic I chose for my Mathematics BSc thesis was Fourier Transforms, a mathematical tool that has fascinated me for years and that I wanted to explore as deeply as possible. This work starts with a compilation of important results on spaces, particularly , where we first define the (continuous) Fourier Transform (FT). We later prove the Plancherel theorem for extension to and hint at multi-dimensional FT construction and properties.
During the second part of the work, we provide a solid mathematical framework for the Discrete FT (DFT). This DFT can be thought of as a sampling of a continuous FT, and can be defined neatly via roots of unity and Fourier matrices. With the DFT defined, we can start talking about Fast FT (FFT) algorithms for its efficient computation. First, we introduce the most common Cooley-Tukey algorithm, both in its Decimation-In-Time (DIT) and Decimation-In-Frequency (DIF) approaches, that use the common algorithmic idea of divide and conquer to reduce the complexity of computing an N-point DFT from to , for , that allows for very fast convolutions on the frequency domain through the discrete convolution theorem. Other FFT algorithms exist, such as split-radix FFTs and Rader or Bluestein FFTs for prime .
To conclude the work, we review important applications on signal processing (low, high and band pass filters, spectral analysis of guitar chords) and image compression (the JPEG format). Overall, I learned a great deal and had a lot of fun writing this thesis. The work received a very high grade (9.8/10). I thank Lucía López Somoza for her great supervision!
Project PUMA
Along with some members of RoboTUM and Maxwell Robotics, we developed a software stack for the Deep Robotics M20 Lynx quadruped robot. This model originally comes with a proprietary software stack that is not easy to extend, so we rewrote it from scratch to improve its capabilities. We first built a ROS2 interface layer that interacts with robot telemetry, sends motion commands, and reads data streams from the two cameras and LiDAR sensors. On top of this, we built an autonomy stack for mapping and waypoint following. This was my first project as a member of RoboTUM and a great initiation to the world of robotics!
Introduction course to Python and its role in Data Analysis
During our last semester at Universidade de Santiago de Compostela, Xiana Carrera and I decided to give back to the faculty of Mathematics and organize a small-scale course. We decided to focus on one of the topics that is not covered on the standard BSc Mathematics curriculum, but that is extremely important to a large amount of students, Python programming and Data Analysis.
The course contents were thoroughly organized and curated to be able to teach as much as possible in 8 sessions spanning a total of 16 teaching hours. We coded interactive slides using reveal.js for students to follow during class. Topics included a basic introduction to python programming constructus (control flow, functions, data types, I/O, lambdas, OOP, ) and how to use the most fundamental packages for data analysis (NumPy, Pandas, matplotlib, seaborn and scikit-learn). We wrapped up the course with a data analysis project on the role of music streaming on psychological parameters.
Overall, the course received a lot of interest, having to select 30 students among 100+ applications, and a satisfaction survey highlighting the quality of the teaching received, as well as the materials prepared.
What geometry does not tell you: The Squaring of the Circle
The Emmy Noether Awards was a mathematics outreach video competition run by popular youtuber Mike Mates in 2023. I chose to participate along with Xiana Carrera and create a video on the classic problem of Squaring the Circle for it.
Having completed a course on our previous semester on Galois Theory, where we learnt about topics like the algebraic unsolvability of quintics and constructible numbers, we felt motivated to create an entry on a related problem. The approach was to start with classical rule-and-compass constructions, such as those found at Euclid’s Elements, and arrive at modern number theory, in particular, at the proof that is a transcendental number, which demonstrates the impossibility of the circle-squaring problem.
On the visual side, we decided for a hybrid approach, combining timelapses were we draw with an actual ruler and compass and animations made with 3blue1brown’s manim library.
Our video was a great hit! At the time of writing, it accumulates over 137.000 views and earned us one of the awards in the competition. For us, however, the greatest reward was the flood of positive comments on it, and the feeling of having inspired many young mathematicians with it.
Zone+
For HackaTUM 2025, I teamed up with David Atanasoski, Vinicius Agreste Martines dos Santos and Merve Öztekin to participate on the Logitech track and build a wellness plugin for Logitech Actions+ ecosystem. The plugin featured interactions with webcams, haptic mouses and the Options+ input panel. We included multiple features, such as:
- Social media time spent trackers.
- Notion tasks management.
- Energy level and stretch reminders.
- Pomodoro timer.
- Drowsiness detection.
Although we did not win any prize for this, we were among the shortlisted teams on the track, and we had a lot of fun creating this over the weekend!
University Hack 2024
For this data analysis competition, my teammates Pablo Landrove Pérez-Gorgoroso and Xiana Carrera and I developed an end-to-end pipeline for predicting the final production yield of biomanufacturing bioreactors. We were tasked with taking large, disjointed datasets, ranging from general batch logs to high-frequency sensor readings, and transforming them into a unified format to understand exactly what drives a successful cultivation process.
We first cleaned the data across multiple manufacturing phases (pre-inoculation, inoculation and final cultivation) and selected the most salient features driving the production. After this, we trained a predictive machine learning model to estimate the yields and applied interpretability tools. We found that factors like minimum glucose levels, changes in fluid turbidity, and even the ambient humidity in the cultivation room were among the strongest predictors of manufacturing success.
Our team achieved the 1st place on the USC local phase of the competition, qualifying to the national phase. Personally, this project helped me deepen my understanding of classical Machine Learning models and workflows for complex data analysis.
Sentikelia
Sentikelia was our winning entry for the Kelea track at HackUDC 2025, developed with Pablo Landrove Pérez-Gorgoroso, Nicolás Rosales Gómez and Robert Ostrozhinskiy. Our task was to develop a comprehensive digital companion that provides a safe space for self-reflection, daily logging and builds a dynamic psychological profile. It then uses this information to offer tailored advice, essentially serving as a virtual coach that guides users through their own thoughts and helps them identify long-term mental health patterns. Some of the key features are:
- Smart Journaling: An intuitive daily diary to safely log thoughts, feelings, and personal experiences.
- Personality Analysis: Continuously evaluates journal entries to understand your unique emotional states and personality traits over time.
- Virtual Coach: Delivers personalized, actionable guidance and support based on your evolving psychological profile.
- AI-Powered Reflection: Leverages artificial intelligence to analyze your past records and prompt you with meaningful questions, helping you gain deeper self-awareness.
The project was built with a modern stack, featuring a frontend with Vite and TailwindCSS, a Backend using FastAPI with Uvicorn and a MongoDB+PyMongo database and ORM model. Regarding AI, we used gpt-4o-mini as a general-purpose LLM as well as finetuned BERT models for personality and sentiment analysis.
Tabster
Tabster was a full-stack web development project done for the Software Atelier 3: The web course at USI. Our team, consisting of Pablo Landrove Pérez-Gorgoroso, Elvira Baltasar, Vladyslav Kotov, Guglielmo Daniele Mazzesi, Eduard Bilous and me developed a website for rendering, uploading and playing interactive guitar tablatures, in an attempt to recreate and expand on popular website Songsterr.
This project idea was pitched by Pablo Landrove and myself to the professor Cesare Pautasso. We are both electric guitar players and thought of building something related to one of out biggest hobbies! After a couple months of grinding, we arrived at a consistent and clean design, that had great performance and a simple to use interface.
Overall, this was one of the class projects I have had the most fun with, and taught me a great deal about software engineering and web development in practice. The project was selected as one of the best on the class and presented in front of hundreds of people during the faculty day!