<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Leonardo Venturoso</title><link href="https://leoventuroso.github.io/" rel="alternate"/><link href="https://leoventuroso.github.io/feed.xml" rel="self"/><id>https://leoventuroso.github.io/</id><updated>2026-08-27T09:00:00+02:00</updated><entry><title>Automatic weld seam segmentation for industrial quality control</title><link href="https://leoventuroso.github.io/blog/automatic-weld-seam-segmentation-industrial-quality-control/" rel="alternate"/><published>2026-08-27T09:00:00+02:00</published><updated>2026-08-27T09:00:00+02:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2026-08-27:/blog/automatic-weld-seam-segmentation-industrial-quality-control/</id><summary type="html">&lt;p&gt;Visual inspection of welded components is still mostly done manually in many industrial production processes. This is especially true for custom operator cabins for special-purpose machinery, where weld seams have to be checked across different components and under different conditions.&lt;/p&gt;
&lt;p&gt;In South Tyrol, computer vision is still not widely used …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Visual inspection of welded components is still mostly done manually in many industrial production processes. This is especially true for custom operator cabins for special-purpose machinery, where weld seams have to be checked across different components and under different conditions.&lt;/p&gt;
&lt;p&gt;In South Tyrol, computer vision is still not widely used by SMEs to tackle this kind of problem. There are not that many people with the right expertise, and from a company's point of view it can be difficult to justify investing in a technology when the return is not immediately obvious .
This is where the &lt;a href="https://noi.bz.it/it/chi-siamo/gli-attori-del-noi/dih-edih"&gt;EDIH&lt;/a&gt; funding helped. It gave us the chance to work directly with an SME, take a real production problem, and see how far we could get with a computer vision solution outside a controlled lab environment.&lt;/p&gt;
&lt;p&gt;Together with Simone Garbin and Marco Todescato, we worked on automatic weld seam segmentation using both RGB and polarimetric imaging. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://leoventuroso.github.io/images/polar.jpg"&gt;Six polarimetric maps of a weld, with the ground-truth outlines&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The work was carried out in our labs at &lt;a href="https://www.fraunhofer.it/"&gt;Fraunhofer Italia - IEC&lt;/a&gt;, comparing CNN-based models such as YOLOv8 and YOLOv11 with transformer-based architectures including RF-DETR and Mask2Former.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://leoventuroso.github.io/images/comparison_yolo_transformers.jpg"&gt;Comparison between YOLOv11 and RF-DETR on a close-range weld&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the first things we realised was that the same weld can look very different depending on how and where the image is taken. With controlled RGB images, the CNN models reached a mean mask mAP50 of up to 0.87. Once we moved to images taken under less controlled conditions, performance dropped quite a lot.&lt;/p&gt;
&lt;p&gt;So the acquisition setup turned out to matter almost as much as the model itself. We also tested polarimetric imaging, which was much less affected by the uncontrolled conditions and reached a mean mask mAP50 of up to 0.93.&lt;/p&gt;
&lt;p&gt;Then came another problem: what happens when the camera moves? We tested the models on a close-range dataset acquired at around 10 cm from the weld, corresponding to the geometry expected for a robot-mounted camera. This was probably the clearest difference we found between the architectures: transformer-based models, especially RF-DETR, retained high accuracy, while the CNN models struggled to generalize to the new viewpoint.&lt;/p&gt;
&lt;p&gt;The preprint is now available &lt;a href="https://arxiv.org/abs/2608.25465"&gt;here&lt;/a&gt;&lt;/p&gt;</content><category term="articles"/></entry><entry><title>An internal AI journal club, is it possible?</title><link href="https://leoventuroso.github.io/blog/internal-ai-journal-club/" rel="alternate"/><published>2026-07-15T09:00:00+02:00</published><updated>2026-07-15T09:00:00+02:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2026-07-15:/blog/internal-ai-journal-club/</id><summary type="html">&lt;p&gt;A while back, Marco Todescato and I got tired of that nagging feeling that we were falling behind on AI research. There's just too much coming out, too fast, and doom-scrolling papers on the train wasn't cutting it. So we started an internal AI journal club at Fraunhofer Italia - IEC …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A while back, Marco Todescato and I got tired of that nagging feeling that we were falling behind on AI research. There's just too much coming out, too fast, and doom-scrolling papers on the train wasn't cutting it. So we started an internal AI journal club at Fraunhofer Italia - IEC, and unlike most good intentions, this one actually stuck.&lt;/p&gt;
&lt;p&gt;Here's the format that ended up working: one meeting a month, no more. One person presents, everyone else just listens and jumps in with questions, no slide-heavy lecture, no pressure to prepare something polished. Keeping it monthly and low-key is exactly why people keep showing up instead of quietly dropping off after the second session.&lt;/p&gt;
&lt;p&gt;&lt;img alt="descrizione immagine" src="https://leoventuroso.github.io/images/journal_club_1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Our group spans computer vision, robotics, and human-centered tech, so the topics wander depending on who's presenting. I opened things up with diffusion models for defect segmentation, and at our last session Tommaso Tubaldo walked us through Vision-Language Models in robotics, from transformer basics to using neuro-symbolic supervision for robot policies.&lt;/p&gt;
&lt;p&gt;The best part is the discussion afterward: someone always spots a connection to their own project, or gets saved from repeating a mistake a colleague already made. And yes, there's pizza at the end, which might be doing more for attendance than I'd like to admit.&lt;/p&gt;
&lt;p&gt;&lt;img alt="descrizione immagine" src="https://leoventuroso.github.io/images/journal_club_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Turns out an internal journal club is possible. You just have to keep it small and low-effort enough that nobody dreads it.&lt;/p&gt;</content><category term="articles"/></entry><entry><title>LTS-BikePlan is out</title><link href="https://leoventuroso.github.io/blog/lts-bikeplan-published/" rel="alternate"/><published>2026-06-02T09:00:00+02:00</published><updated>2026-06-02T09:00:00+02:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2026-06-02:/blog/lts-bikeplan-published/</id><summary type="html">&lt;p&gt;Our paper "&lt;a href="/publications/"&gt;LTS-BikePlan: A Data-Driven Tool for Enhancing Cycling Infrastructure and Safety&lt;/a&gt;" is now published in the &lt;em&gt;Journal of Urban Technology&lt;/em&gt;. It's a data-driven tool for evaluating and improving cycling infrastructure, grown out of open data and my master's thesis work.&lt;/p&gt;
&lt;p&gt;The code is &lt;a href="https://github.com/dclfbk/LTSBikePlan"&gt;on GitHub&lt;/a&gt;, for anyone who wants …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Our paper "&lt;a href="/publications/"&gt;LTS-BikePlan: A Data-Driven Tool for Enhancing Cycling Infrastructure and Safety&lt;/a&gt;" is now published in the &lt;em&gt;Journal of Urban Technology&lt;/em&gt;. It's a data-driven tool for evaluating and improving cycling infrastructure, grown out of open data and my master's thesis work.&lt;/p&gt;
&lt;p&gt;The code is &lt;a href="https://github.com/dclfbk/LTSBikePlan"&gt;on GitHub&lt;/a&gt;, for anyone who wants to poke around. In short: it's a Python CLI pipeline that pulls a city's street network straight from OpenStreetMap, layers a DEM on top to get slope, and classifies every edge and node by Level of Traffic Stress (LTS), basically a proxy for "would a normal person actually feel safe cycling here". Run something like &lt;code&gt;ltsbikeplan run-full --city "Bolzano, Italy" --with-report&lt;/code&gt; and it spits out stress maps, a choropleth, gap/cluster/network analysis, and even an accident overlay if you feed it the data, all wrapped up in a Markdown/HTML report.&lt;/p&gt;
&lt;p&gt;Under the hood it leans on &lt;code&gt;geopandas&lt;/code&gt;, &lt;code&gt;osmnx&lt;/code&gt;, &lt;code&gt;networkx&lt;/code&gt; and &lt;code&gt;rasterio&lt;/code&gt; for the geospatial heavy lifting and &lt;code&gt;scikit-learn&lt;/code&gt; for the analysis bits, and it's released under the WTFPL, about as permissive as licenses get.&lt;/p&gt;
&lt;p&gt;&lt;img alt="descrizione immagine" src="https://leoventuroso.github.io/images/lts_bikeplan_1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Let me know what you think about it!&lt;/p&gt;</content><category term="articles"/></entry><entry><title>Joining Fraunhofer Italia</title><link href="https://leoventuroso.github.io/blog/joining-fraunhofer-italia/" rel="alternate"/><published>2024-02-01T09:00:00+01:00</published><updated>2024-02-01T09:00:00+01:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2024-02-01:/blog/joining-fraunhofer-italia/</id><summary type="html">&lt;p&gt;A few days ago I officially joined &lt;a href="https://www.fraunhofer.it/"&gt;Fraunhofer Italia&lt;/a&gt; as an Applied AI Researcher. Fraunhofer is Europe's largest organization for applied research (yes, the same institution that co-developed the MP3 format), and Fraunhofer Italia is its branch here in Bolzano, based at the NOI Techpark, bringing that same industry-facing, applied …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A few days ago I officially joined &lt;a href="https://www.fraunhofer.it/"&gt;Fraunhofer Italia&lt;/a&gt; as an Applied AI Researcher. Fraunhofer is Europe's largest organization for applied research (yes, the same institution that co-developed the MP3 format), and Fraunhofer Italia is its branch here in Bolzano, based at the NOI Techpark, bringing that same industry-facing, applied research approach to South Tyrol.&lt;/p&gt;
&lt;p&gt;&lt;img alt="descrizione immagine" src="https://leoventuroso.github.io/images/fhi_1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;I've joined the M.IN.D. (Machine Intelligence Development) team, whose job is to take state-of-the-art machine learning methods and turn them into things that actually work on real, messy, real-world computer vision problems, not just benchmarks in a paper. Expect a lot of rigorous, reproducible evaluation along the way: I've never been a fan of results that only work once, on someone's laptop, under perfect lighting.&lt;/p&gt;
&lt;p&gt;Desk claimed, badge sorted out, first meetings done.&lt;/p&gt;
&lt;p&gt;&lt;img alt="descrizione immagine" src="https://leoventuroso.github.io/images/fhi_2.jpg"&gt;&lt;/p&gt;
&lt;p&gt;More on what I'm actually building soon, once there's something worth showing.&lt;/p&gt;</content><category term="articles"/></entry><entry><title>Joining the FBK Digital Commons Lab</title><link href="https://leoventuroso.github.io/blog/fbk-digital-commons-lab/" rel="alternate"/><published>2023-02-01T12:30:00+01:00</published><updated>2023-02-01T12:30:00+01:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2023-02-01:/blog/fbk-digital-commons-lab/</id><content type="html">&lt;p&gt;I've started collaborating with the Digital Commons Lab at Fondazione Bruno Kessler on a project on network analysis, sustainable mobility, and tactical urbanism. 📍 🚲&lt;/p&gt;</content><category term="articles"/></entry><entry><title>First D-grade boulder</title><link href="https://leoventuroso.github.io/blog/first-boulder-milestone/" rel="alternate"/><published>2022-10-05T21:59:00+02:00</published><updated>2022-10-05T21:59:00+02:00</updated><author><name>Leonardo Venturoso</name></author><id>tag:leoventuroso.github.io,2022-10-05:/blog/first-boulder-milestone/</id><summary type="html">&lt;p&gt;I just climbed my first boulder route level D difficulty. 🧗🏻‍♂️&lt;/p&gt;
&lt;p&gt;At my gym, boulder problems are graded on a letter scale, from easiest to hardest. D-level routes are where things start to get serious: fewer and smaller holds, more technical footwork, and moves that require real precision rather than just …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I just climbed my first boulder route level D difficulty. 🧗🏻‍♂️&lt;/p&gt;
&lt;p&gt;At my gym, boulder problems are graded on a letter scale, from easiest to hardest. D-level routes are where things start to get serious: fewer and smaller holds, more technical footwork, and moves that require real precision rather than just brute strength. Closing one clean, top to top without falling, felt like a genuine step up from the more forgiving lower grades I'd been climbing until then.&lt;/p&gt;</content><category term="articles"/></entry></feed>