<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: carlos vega</title>
    <description>The latest articles on DEV Community by carlos vega (@carvega82).</description>
    <link>https://dev.to/carvega82</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3461083%2Fe2b0b6e2-9380-4840-87c1-bf5c79907f02.png</url>
      <title>DEV Community: carlos vega</title>
      <link>https://dev.to/carvega82</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/carvega82"/>
    <language>en</language>
    <item>
      <title>Tech in Roofing: Drones, CV, and LLMs that ship better inspections tags: ai, drones, computervision, construction, casestudy</title>
      <dc:creator>carlos vega</dc:creator>
      <pubDate>Wed, 27 Aug 2025 06:22:27 +0000</pubDate>
      <link>https://dev.to/carvega82/tech-in-roofing-drones-cv-and-llms-that-ship-better-inspections-tags-ai-drones-4ibj</link>
      <guid>https://dev.to/carvega82/tech-in-roofing-drones-cv-and-llms-that-ship-better-inspections-tags-ai-drones-4ibj</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; We use drones + computer vision + a lightweight LLM workflow to turn roof photos into clean, client-ready repair scopes. Faster site time, safer data capture, fewer callbacks.&lt;br&gt;
&lt;strong&gt;Why bring tech to roofs?&lt;/strong&gt;&lt;br&gt;
Roofs fail at the details—flashing, fasteners, edges. Traditional inspections miss things when access is sketchy or time is tight. Drones + CV give us coverage and repeatability; an LLM turns raw notes into a report homeowners understand.&lt;br&gt;
&lt;strong&gt;The stack (lightweight + field-tested)&lt;/strong&gt;&lt;br&gt;
• &lt;strong&gt;Capture:&lt;/strong&gt; DJI drone (auto-grid + obliques), 20MP stills; optional FLIR for heat anomalies.&lt;br&gt;
• &lt;strong&gt;Geo:&lt;/strong&gt; Photogrammetry (OpenSfM/Metashape) to get an orthomosaic + mesh when needed.&lt;br&gt;
• &lt;strong&gt;Vision:&lt;/strong&gt;&lt;br&gt;
o   YOLOv8 for object/defect detection (vents, skylights, lifted tabs, exposed fasteners).&lt;br&gt;
o   Segment Anything/simple U-Net for roof-plane segmentation &amp;amp; valley/edge regions.&lt;br&gt;
o   Rule-based checks over masks (ridgeline straightness, valley debris detection).&lt;br&gt;
• &lt;strong&gt;QA assistant:&lt;/strong&gt; Small LLM prompt converts findings + photos to a scoped checklist (materials, flashing sequence, ventilation math, optional Title 24 cool-roof path).&lt;br&gt;
• &lt;strong&gt;Ops:&lt;/strong&gt; Gradio internal tool → pushes to Airtable/Notion for tracking.&lt;br&gt;
&lt;strong&gt;What actually improved&lt;/strong&gt;&lt;br&gt;
• -30–45% field time on complex roofs (fewer ladder moves).&lt;br&gt;
• +20–30% defect capture in “hard” zones (ridges/edges).&lt;br&gt;
• Clearer reports: photos + callouts → fewer back-and-forth emails.&lt;br&gt;
&lt;strong&gt;Tiny pipeline sketch&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;imgs = capture_folder("/drone_mission")
detections = yolo.predict(imgs)
masks = segmentor.segment_batch(imgs)

findings = []
for img, det, mask in zip(imgs, detections, masks):
    issues = ruleset.evaluate(det, mask)  # e.g., lifted ridge caps near edges
    findings.append({"img": img, "issues": issues})

report = llm("Summarize defects, propose flashing/ventilation steps.", findings)
export_pdf(report, with_photos=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Data notes devs might care about&lt;/strong&gt;&lt;br&gt;
• Glare &amp;amp; salt-air patina: we augment with specular highlights + haze; CLAHE helps.&lt;br&gt;
• Small objects: exposed nails are tiny—tilt obliques and fly closer; train with mixed scales.&lt;br&gt;
• Thermal drift: schedule FLIR passes in tight windows; compare ΔT vs. control regions.&lt;br&gt;
• Privacy: blur plates/faces in post; store only job-needed frames.&lt;br&gt;
&lt;strong&gt;Case snap (South Bay)&lt;/strong&gt;&lt;br&gt;
Wind complaint, suspected ridge issues. Drone pass + model flagged a wavy ridgeline and sidewall flashing gaps. Crew rebuilt step + counter-flashing, corrected ridge nailing, cleaned valley debris, and documented everything. No callbacks after the next wind event.&lt;br&gt;
&lt;strong&gt;Open problems we’re poking at&lt;/strong&gt;&lt;br&gt;
• Better valley segmentation in heavy shade.&lt;br&gt;
• On-device iOS/Android inference for quick, offline triage.&lt;br&gt;
• Robust “ponding ring” detection on low-slope membranes from DSM curvature&lt;br&gt;
If you’re building tooling for field work, I’d love to swap notes on data labeling, augmentations, or compact models. And if you’re in SoCal and just need a straight answer on your roof, we’re a &lt;a href="https://torranceroofingmasters.com/" rel="noopener noreferrer"&gt;Torrance roofing contractor&lt;/a&gt; who loves turning photos into actionable scopes.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>casestudy</category>
      <category>computervision</category>
    </item>
  </channel>
</rss>
