<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Points chauds on Boris Dupoux</title><link>https://borisdupoux.com/fr/tags/points-chauds/</link><description>Recent content in Points chauds on Boris Dupoux</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Thu, 20 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://borisdupoux.com/fr/tags/points-chauds/index.xml" rel="self" type="application/rss+xml"/><item><title>Anomalies thermiques des panneaux solaires sur orthophotos de drone</title><link>https://borisdupoux.com/fr/research/pv-panel-anomalies/</link><pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate><guid>https://borisdupoux.com/fr/research/pv-panel-anomalies/</guid><description>&lt;h2 id="ce-qui-est-original"&gt;&lt;a href="#ce-qui-est-original" class="header-anchor"&gt;&lt;/a&gt;Ce qui est original
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Relatif, pas absolu.&lt;/strong&gt; Chaque panneau est d&amp;rsquo;abord comparé à lui-même : les cellules d&amp;rsquo;un même panneau partagent le même soleil, le même angle et le même vent, donc un écart local en dit plus qu&amp;rsquo;une valeur brute.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Des annotations sans dessin manuel.&lt;/strong&gt; Les polygones d&amp;rsquo;entraînement viennent d&amp;rsquo;une chaîne de contours classique, puis chaque panneau est décliné en plusieurs vues tournées et cisaillées pour que le modèle ignore l&amp;rsquo;orientation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Des masques, pas des boîtes.&lt;/strong&gt; Le modèle détoure chaque panneau au pixel près : les statistiques excluent le sol entre les rangées, qui peut être bien plus chaud ou plus froid que les panneaux.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="comment-ça-marche"&gt;&lt;a href="#comment-%c3%a7a-marche" class="header-anchor"&gt;&lt;/a&gt;Comment ça marche
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart TB
 A["Orthophoto thermique de drone"] --&gt; B["Chaîne de contours classique"]
 B --&gt; C["Annotations automatiques&lt;br/&gt;plusieurs vues chacune"]
 C --&gt; D["Modèle de segmentation YOLO&lt;br/&gt;une classe : panneau solaire"]
 A --&gt; E["Inférence par tuiles&lt;br/&gt;sur toute l'orthophoto"]
 D --&gt; E
 E --&gt; F["Un masque et un extrait par panneau"]
 F --&gt; G["Statistiques de niveaux de gris par panneau"]
 G --&gt; H["Points chauds candidats&lt;br/&gt;(prototype)"]
 G -.-&gt; I["Zones froides&lt;br/&gt;(objectif)"]
 G -.-&gt; J["Panneau contre voisins&lt;br/&gt;(objectif)"]&lt;/pre&gt;&lt;p&gt;Un vol de drone fait de la centrale une seule orthophoto thermique. Les points chauds signalent en général des cellules défectueuses, des diodes de dérivation ou de l&amp;rsquo;encrassement ; les zones froides, de l&amp;rsquo;ombrage, des reflets ou des modules qui ne fonctionnent pas comme leurs voisins. Le modèle trouve chaque panneau sur des tuiles qui se recouvrent, puis une étape par panneau signale les pixels nettement au-dessus du niveau propre du panneau. Les flèches en pointillés sont des objectifs.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Détail d’orthophoto thermique, panneaux détourés en bleu et pics de points chauds signalés par des points" class="gallery-image" data-flex-basis="265px" data-flex-grow="110" height="776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://borisdupoux.com/research/pv-panel-anomalies/pv-hotspot-prototype.jpg" srcset="https://borisdupoux.com/research/pv-panel-anomalies/pv-hotspot-prototype_hu_94a830cea75f498c.jpg 800w, https://borisdupoux.com/research/pv-panel-anomalies/pv-hotspot-prototype.jpg 859w" width="859"&gt;
&lt;em&gt;Prototype de points chauds sur un détail de l&amp;rsquo;orthophoto : contours des panneaux (bleu) et pics signalés (points). Non vérifié par une inspection sur le terrain.&lt;/em&gt;&lt;/p&gt;
&lt;p class="bd-sources"&gt;&lt;span class="bd-sources-label"&gt;Sources :&lt;/span&gt; une orthophoto thermique de drone, 2025 · illustration tirée d&amp;rsquo;une présentation de projet&lt;/p&gt;

&lt;p&gt;&lt;img alt="Quatre tuiles d’entraînement montrant la même table de panneaux avec son polygone d’annotation en orange : simple, tournée, cisaillée, tournée et cisaillée ; dans la dernière, le polygone ne suit pas le panneau" class="gallery-image" data-flex-basis="240px" data-flex-grow="100" height="1296" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://borisdupoux.com/research/pv-panel-anomalies/pv-training-tiles.jpg" srcset="https://borisdupoux.com/research/pv-panel-anomalies/pv-training-tiles_hu_44a942e53d44934f.jpg 800w, https://borisdupoux.com/research/pv-panel-anomalies/pv-training-tiles.jpg 1296w" width="1296"&gt;
&lt;em&gt;Quatre vues générées à partir d&amp;rsquo;un panneau annoté automatiquement. Dans la dernière, l&amp;rsquo;annotation n&amp;rsquo;est pas tournée avec l&amp;rsquo;image, un défaut repéré à l&amp;rsquo;inspection.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="résultats"&gt;&lt;a href="#r%c3%a9sultats" class="header-anchor"&gt;&lt;/a&gt;Résultats
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Un modèle de segmentation YOLO affiné sur des panneaux annotés automatiquement, et une inférence par tuiles qui rend un extrait par panneau sur une orthophoto complète.&lt;/li&gt;
&lt;li&gt;Un prototype de points chauds par panneau, qui normalise chaque panneau par son propre niveau de gris et marque les pics candidats.&lt;/li&gt;
&lt;li&gt;Deux pistes annexes explorées pour trouver les panneaux sans entraînement : le regroupement de segments droits et Segment Anything.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="preuves--limites"&gt;&lt;a href="#preuves--limites" class="header-anchor"&gt;&lt;/a&gt;Preuves &amp;amp; limites
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aucune performance présentée.&lt;/strong&gt; Les résultats d&amp;rsquo;entraînement et d&amp;rsquo;évaluation restent sur la machine de calcul et ne sont pas disponibles ; ni la localisation des panneaux ni la détection des points chauds n&amp;rsquo;ont été évaluées ou vérifiées sur le terrain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Annotations et partage fragiles.&lt;/strong&gt; Les annotations héritent des oublis de la chaîne classique ; les vues d&amp;rsquo;un même panneau tombent dans plusieurs sous-ensembles, et entraînement, validation et test viennent tous d&amp;rsquo;une seule orthophoto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Des niveaux de gris, pas des températures.&lt;/strong&gt; L&amp;rsquo;orthophoto est un export en niveaux de gris non calibré : les seuils dépendent de l&amp;rsquo;échelle de couleurs choisie à l&amp;rsquo;export.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;étape thermique est un prototype.&lt;/strong&gt; Seuls les points chauds sont signalés, sur les contours propres au prototype et non sur les masques YOLO ; zones froides et comparaison aux voisins ne sont pas mises en œuvre.&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
&lt;summary&gt;Détails techniques&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Prochaines étapes.&lt;/strong&gt; Régénérer les vues tournées et cisaillées mal annotées, annoter tous les panneaux de chaque tuile, partager par panneau et tester sur d&amp;rsquo;autres sites ; masquer les zones sans données et fusionner les masques plutôt que les boîtes aux bords des tuiles ; calculer les statistiques thermiques dans les masques YOLO, ajouter un test robuste de zones froides et comparer chaque panneau à sa rangée.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pistes annexes.&lt;/strong&gt; Le regroupement de segments de Hough en parallélogrammes et Segment Anything sur tuiles ont été essayés pour trouver les panneaux sans annotation.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Détail de l’orthophoto avec des tables de panneaux en rangées ; beaucoup sont détourées en vert par la chaîne de contours classique, d’autres non" class="gallery-image" data-flex-basis="384px" data-flex-grow="160" height="1000" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://borisdupoux.com/research/pv-panel-anomalies/pv-classical-polygons.jpg" srcset="https://borisdupoux.com/research/pv-panel-anomalies/pv-classical-polygons_hu_4718c5694ce8fee.jpg 800w, https://borisdupoux.com/research/pv-panel-anomalies/pv-classical-polygons.jpg 1600w" width="1600"&gt;
&lt;em&gt;La chaîne de contours classique : ces polygones sont devenus les annotations d&amp;rsquo;entraînement. Certaines tables n&amp;rsquo;en ont pas, donc le modèle n&amp;rsquo;apprend que ce que la chaîne a trouvé.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Détail d’une seconde orthophoto où Segment Anything a détouré la plupart des tables en bleu ; des lignes droites marquent les limites des tuiles" class="gallery-image" data-flex-basis="384px" data-flex-grow="160" height="1000" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://borisdupoux.com/research/pv-panel-anomalies/pv-sam-contours.jpg" srcset="https://borisdupoux.com/research/pv-panel-anomalies/pv-sam-contours_hu_4247b8e8fca147b6.jpg 800w, https://borisdupoux.com/research/pv-panel-anomalies/pv-sam-contours.jpg 1600w" width="1600"&gt;
&lt;em&gt;Piste annexe : Segment Anything détoure la plupart des tables sans entraînement, mais laisse des coutures aux bords des tuiles et des contours sur la route et le sol.&lt;/em&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id="stack-technique"&gt;&lt;a href="#stack-technique" class="header-anchor"&gt;&lt;/a&gt;Stack technique
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Python&lt;/code&gt; · &lt;code&gt;OpenCV&lt;/code&gt; · &lt;code&gt;NumPy&lt;/code&gt; · &lt;code&gt;Ultralytics YOLO&lt;/code&gt; · &lt;code&gt;PyTorch&lt;/code&gt; · &lt;code&gt;Segment Anything&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>