{"id":2508,"date":"2026-09-29T12:34:49","date_gmt":"2026-09-29T10:34:49","guid":{"rendered":"https:\/\/cogita.ai\/?p=2508"},"modified":"2026-09-29T12:34:50","modified_gmt":"2026-09-29T10:34:50","slug":"building-ai-for-technical-drawings-with-drawing2data-bench","status":"publish","type":"post","link":"https:\/\/cogita.ai\/de\/building-ai-for-technical-drawings-with-drawing2data-bench\/","title":{"rendered":"Entwicklung einer&nbsp;KI f\u00fcr&nbsp;technische Zeichnungen mit&nbsp;Drawing2Data-Bench"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Eine&nbsp;technische Zeichnung enth\u00e4lt weit mehr als nur ein&nbsp;Bild eines&nbsp;Bauteils. Sie beschreibt Ma\u00dfe, Toleranzen, Bohrungen, Gewinde, Oberfl\u00e4chenbeschaffenheit und&nbsp;Fertigungsanweisungen. Um diese Informationen in verwertbare Daten umzuwandeln, m\u00fcssen kleine Markierungen gefunden, korrekt gelesen und&nbsp;ihre Position auf der&nbsp;Seite beibehalten werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese letzte Anforderung ist entscheidend. Ein&nbsp;System k\u00f6nnte beispielsweise Folgendes: <code>50 \u00b1 0,2<\/code> korrekt auslesen, aber einem&nbsp;falschen Element zuweisen. Bei&nbsp;Software, die&nbsp;Konstruktions- oder&nbsp;Angebotsablaufprozesse unterst\u00fctzt, reicht die&nbsp;Zahl allein nicht aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\" rel=\"nofollow noopener\" target=\"_blank\">Drawing2Data-Bench<\/a> ist das&nbsp;Toolkit von&nbsp;COGITA zur&nbsp;Entwicklung und&nbsp;Bewertung von&nbsp;KI f\u00fcr&nbsp;dieses Problem. Es verbindet drei Teile der&nbsp;Arbeit miteinander: die&nbsp;Erstellung beschrifteter Zeichnungen aus CAD&#8209;Dateien, das&nbsp;Testen von&nbsp;Bild-Sprache-Modellen und&nbsp;das&nbsp;Trainieren eines&nbsp;speziellen Detektors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;dokumentierten Experimente zeigen ein&nbsp;aufschlussreiches Muster: Allzweckmodelle k\u00f6nnen zwar einen&nbsp;Gro\u00dfteil des&nbsp;Textes erkennen, doch die&nbsp;pr\u00e4zise Lokalisierung bleibt schwierig. Ein&nbsp;spezieller RF&#8209;DETR&#8209;Detektor erzielt in dem&nbsp;vorgestellten Vergleich die&nbsp;h\u00f6chste Box-Pr\u00e4zision, w\u00e4hrend Gemini 3.5 Flash den&nbsp;h\u00f6chsten Box-F1&#8209;Wert erreicht. Das&nbsp;Verst\u00e4ndnis dieses Unterschieds hilft zu erkl\u00e4ren, warum das&nbsp;Toolkit alle drei Komponenten enth\u00e4lt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was das&nbsp;Repository enth\u00e4lt<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Komponente<\/th><th>Was es bewirkt<\/th><th>Warum das&nbsp;wichtig ist<\/th><\/tr><\/thead><tbody><tr><td><code>Generation\/<\/code><\/td><td>Wandelt 3D&#8209;CAD&#8209;Modelle in 2D&#8209;Zeichnungen und&nbsp;zugeh\u00f6rige Beschriftungen um.<\/td><td>Erstellt Trainingsbeispiele, ohne dass jede Annotation manuell markiert werden muss.<\/td><\/tr><tr><td><code>Benchmarks\/<\/code><\/td><td>F\u00fchrt Modelle auf Zeichnungen aus und&nbsp;wertet deren strukturierte Vorhersagen aus.<\/td><td>Trennt die&nbsp;Qualit\u00e4t der&nbsp;Textextraktion von&nbsp;der&nbsp;F\u00e4higkeit, Annotationen zu finden.<\/td><\/tr><tr><td><code>Extraktion\/<\/code><\/td><td>Trainiert und&nbsp;wendet den&nbsp;RF&#8209;DETR&#8209;Large-Detektor an.<\/td><td>Bietet ein&nbsp;spezielles Modell zum&nbsp;Auffinden von&nbsp;Annotationsbereichen.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der&nbsp;Arbeitsablauf beginnt mit&nbsp;einem&nbsp;CAD&#8209;Modell. Der&nbsp;Generator erzeugt ein&nbsp;Bild und&nbsp;die&nbsp;dazugeh\u00f6rigen Referenzbeschriftungen. Diese Paare k\u00f6nnen dann sowohl zum&nbsp;Trainieren eines&nbsp;Detektors als auch zum&nbsp;Bewerten von&nbsp;Modellen anhand bekannter Antworten verwendet werden. Die&nbsp;Beschreibung jeder Komponente befindet sich in der&nbsp;<a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Repository-\u00dcbersicht<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Beschriftete 2D&#8209;Zeichnungen aus 3D&#8209;CAD&#8209;Daten generieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um ein&nbsp;Bildmodell zu trainieren, ben\u00f6tigt man Beispiele daf\u00fcr, was es erkennen soll. Bei&nbsp;einer&nbsp;technischen Zeichnung k\u00f6nnte das&nbsp;beispielsweise ein&nbsp;Rechteck um eine&nbsp;Bema\u00dfung, eine&nbsp;Beschriftung, die&nbsp;angibt, um welche Art von&nbsp;Bema\u00dfung es sich handelt, sowie den&nbsp;darin enthaltenen Text sein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das&nbsp;Erstellen dieser Beschriftungen von&nbsp;Hand ist zeitaufwendig. Eine&nbsp;einzige Seite kann Dutzende kleiner Annotationen enthalten, und&nbsp;die&nbsp;Person, die&nbsp;die&nbsp;Beschriftungen anbringt, muss sich mit&nbsp;der&nbsp;technischen Notation auskennen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der&nbsp;Generator des&nbsp;Repositorys, <strong>AutoDraft<\/strong>, erstellt die&nbsp;Zeichnung und&nbsp;die&nbsp;dazugeh\u00f6rigen Beschriftungen gemeinsam. Es akzeptiert <strong>STEP, IGES und&nbsp;BREP<\/strong> Dateien, in denen 3D&#8209;CAD&#8209;Geometrie gespeichert ist. Anhand dieser Geometrie w\u00e4hlt das&nbsp;Programm Ansichten aus, zeichnet das&nbsp;Bauteil, f\u00fcgt Bema\u00dfungen und&nbsp;Beschriftungen hinzu und&nbsp;ordnet diese auf einem&nbsp;Blatt an. Das&nbsp;Ergebnis ist ein&nbsp;<strong>PNG&#8209;Bild<\/strong> und&nbsp;<strong>COCO&#8209;Annotationen<\/strong>. COCO ist ein&nbsp;g\u00e4ngiges Datensatzformat, das&nbsp;Objekte, deren Kategorien und&nbsp;deren Positionen in einem&nbsp;Bild erfasst.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/COGITA&#8209;AI\/drawing2data-bench\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/generation\/assets\/generated_sheet_with_boxes.png\" alt=\"Generated technical drawing with reference annotation boxes in red\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Eine&nbsp;generierte Zeichnung mit&nbsp;ihren Referenzbeschriftungen. Die&nbsp;roten Boxen stammen aus den&nbsp;Datens\u00e4tzen von&nbsp;Annotationen des&nbsp;Generators; sie stellen die&nbsp;Antworten dar, die&nbsp;ein&nbsp;Detektor lernen soll.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AutoDraft unterst\u00fctzt 12 Annotationskategorien, darunter Bema\u00dfungen, Radien, Fasen, Bohrungen, Gewinde, Symbole f\u00fcr&nbsp;Oberfl\u00e4chenbeschaffenheit, Anmerkungen, Tabellen und&nbsp;Ansichtsbeschriftungen. Au\u00dferdem umfasst es <strong>GD&amp;T<\/strong>, oder&nbsp;geometrische Bema\u00dfung und&nbsp;Tolerierung, sowie Bezugselemente (Datums) <strong>Datumsangaben<\/strong>, die&nbsp;Referenzmerkmale, anhand derer Ma\u00dfe und&nbsp;Toleranzen festgelegt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine&nbsp;Annotation umfasst ihre Kategorie, ihren Text und&nbsp;ihren Begrenzungsrahmen. In zus\u00e4tzlichen Feldern werden Informationen wie der&nbsp;Messwert, die&nbsp;Ansicht und&nbsp;die&nbsp;Angabe, ob eine&nbsp;Bema\u00dfung k\u00fcnstlich erzeugt wurde, gespeichert. Bei&nbsp;den&nbsp;meisten Rahmen steht die&nbsp;Annotation selbst im&nbsp;Mittelpunkt und&nbsp;nicht die&nbsp;L\u00e4ngsma\u00dfangabe oder&nbsp;die&nbsp;F\u00fchrungslinie um sie herum. Eine&nbsp;Tabelle wird durch einen&nbsp;Rahmen dargestellt, der&nbsp;den&nbsp;gesamten Block umgibt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Abwechslung hilft einem&nbsp;Modell, mehr als nur ein&nbsp;Layout zu lernen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AutoDraft bietet zehn Zeichnungsstile mit&nbsp;unterschiedlichen Blattlayouts, Pfeilspitzen, Textplatzierungen, Toleranzen und&nbsp;Titelbl\u00f6cken. Das&nbsp;Programm kann Schnittansichten erstellen, die&nbsp;innere Merkmale sichtbar machen, sowie vergr\u00f6\u00dferte Detailansichten und&nbsp;separate Ansichten von&nbsp;K\u00f6rpern in einer&nbsp;Baugruppe. Auch die&nbsp;Darstellungsdetails variieren innerhalb eines&nbsp;Stils.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dies ist von&nbsp;Bedeutung, da ein&nbsp;Modell, das&nbsp;anhand eines&nbsp;festen Layouts trainiert wurde, m\u00f6glicherweise nur lernt, wo Beschriftungen \u00fcblicherweise erscheinen, anstatt sie zu erkennen. Eine&nbsp;gr\u00f6\u00dfere Bandbreite an Layouts bietet Entwicklern eine&nbsp;bessere Ausgangsbasis f\u00fcr&nbsp;das&nbsp;Training von&nbsp;Modellen, die&nbsp;2D&#8209;Zeichnungen verarbeiten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da die&nbsp;Beschriftungen Text enthalten, k\u00f6nnten die&nbsp;generierten Daten auch f\u00fcr&nbsp;zuk\u00fcnftige OCR- oder&nbsp;Vision-Language-Fine-Tuning-Prozesse genutzt werden. Der&nbsp;derzeit in diesem Repository bereitgestellte Trainingscode konzentriert sich auf die&nbsp;Objekterkennung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt einen&nbsp;wichtigen Unterschied zu beachten: Einige Spezifikationen sind synthetisch. Werte f\u00fcr&nbsp;die&nbsp;Oberfl\u00e4chenbeschaffenheit werden generiert, und&nbsp;bestimmte andere Annotationen k\u00f6nnen ebenfalls generiert werden, wenn die&nbsp;CAD&#8209;Datei keine&nbsp;eingebetteten Fertigungsinformationen enth\u00e4lt. Diese Elemente werden gekennzeichnet. Sie k\u00f6nnen einem&nbsp;Modell zwar vermitteln, wie ein&nbsp;Symbol oder&nbsp;eine&nbsp;Beschriftung aussieht, doch sollten ihre fiktiven Werte nicht als echte Anforderungen an das&nbsp;Originalbauteil behandelt werden. Siehe die&nbsp;<a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/generation\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Dokumentation<\/a> zur&nbsp;Generierung zu den&nbsp;unterst\u00fctzten Konventionen und&nbsp;Einschr\u00e4nkungen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Messen, was Gemini und&nbsp;GPT tats\u00e4chlich extrahieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein&nbsp;<strong>Vision-Language-Modell<\/strong>, auch bekannt als VLM, akzeptiert sowohl Bilder als auch Text. Drawing2Data-Bench enth\u00e4lt neben dem&nbsp;lokalen Detektor auch Adapter f\u00fcr&nbsp;Gemini- und&nbsp;GPT&#8209;Modelle \u00fcber OpenRouter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der&nbsp;Benchmark fordert jedes VLM auf, strukturierte Merkmale zur\u00fcckzugeben: den&nbsp;Text der&nbsp;Annotation, die&nbsp;Kategorie, den&nbsp;Begrenzungsrahmen und&nbsp;den&nbsp;Konfidenzwert. Die&nbsp;Vorhersagen werden als JSON gespeichert und&nbsp;anschlie\u00dfend mit&nbsp;den&nbsp;Referenzlabels verglichen. \u00dcber eine&nbsp;YAML&#8209;Konfiguration werden der&nbsp;Datensatz, die&nbsp;Modelle, die&nbsp;Metriken und&nbsp;die&nbsp;Anzahl der&nbsp;Beispiele ausgew\u00e4hlt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dadurch lassen sich drei separate Fragen stellen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Hat das&nbsp;Modell die&nbsp;Annotation gefunden?<\/strong> Die&nbsp;vorhergesagte Box muss sich ausreichend mit&nbsp;der&nbsp;Referenzbox \u00fcberschneiden.<\/li>\n\n\n\n<li><strong>Hat das&nbsp;System die&nbsp;Annotation korrekt gelesen und&nbsp;klassifiziert?<\/strong> Der&nbsp;Text und&nbsp;die&nbsp;Kategorie m\u00fcssen \u00fcbereinstimmen.<\/li>\n\n\n\n<li><strong>Hat es beides am&nbsp;selben Ort gemacht?<\/strong> Der&nbsp;Text, die&nbsp;Kategorie und&nbsp;die&nbsp;Position m\u00fcssen alle korrekt sein.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr&nbsp;das&nbsp;Box-Matching verwendet der&nbsp;Benchmark <strong>Intersection over Union<\/strong>, oder&nbsp;IoU: die&nbsp;gemeinsame Fl\u00e4che zweier Rechtecke, geteilt durch die&nbsp;von&nbsp;ihnen insgesamt abgedeckte Fl\u00e4che. F\u00fcr&nbsp;eine&nbsp;\u00dcbereinstimmung ist ein&nbsp;IoU&#8209;Wert von&nbsp;\u00fcber 0,5 erforderlich. Dadurch ist die&nbsp;Bewertung strenger als die&nbsp;einfache \u00dcberpr\u00fcfung, ob sich ein&nbsp;Rechteck in der&nbsp;N\u00e4he der&nbsp;richtigen Zahl befindet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Der&nbsp;dargestellte Vergleich<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In der&nbsp;Benchmark-Dokumentation wird ein&nbsp;Lauf mit&nbsp;dem&nbsp;Namen <code>benchmark_15<\/code>, unter Verwendung von&nbsp;15 generierten Zeichnungen. Die&nbsp;folgende Tabelle gibt die&nbsp;Lokalisierungsergebnisse wieder. Alle drei Werte sind umso besser, je h\u00f6her sie sind.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Modell<\/th><th>Box-Genauigkeit<\/th><th>Box-Trefferquote (Recall)<\/th><th>Box F1<\/th><\/tr><\/thead><tbody><tr><td>Lokaler RF&#8209;DETR&#8209;Detektor (<code>benutzerdefiniert<\/code>)<\/td><td><strong>0.9777<\/strong><\/td><td>0.6050<\/td><td>0.7474<\/td><\/tr><tr><td>Gemini 3.1 Flash Lite<\/td><td>0.6525<\/td><td>0.6381<\/td><td>0.6453<\/td><\/tr><tr><td>Gemini 3.5 Flash<\/td><td>0.7762<\/td><td><strong>0.7569<\/strong><\/td><td><strong>0.7664<\/strong><\/td><\/tr><tr><td>GPT-5.6 Luna*<\/td><td>0.2066<\/td><td>0.2029<\/td><td>0.2047<\/td><\/tr><tr><td>GPT-5.6 Terra<\/td><td>0.5363<\/td><td>0.3674<\/td><td>0.4361<\/td><\/tr><tr><td>GPT-5.6 Sol<\/td><td>0.5430<\/td><td>0.5580<\/td><td>0.5504<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Quelle: <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md#benchmark-results-benchmark_15\" rel=\"nofollow noopener\" target=\"_blank\">dokumentierte Benchmark-Ergebnisse<\/a>. Lunas Ergebnisse umfassen 14 Ausgaben, da eine&nbsp;Antwort die&nbsp;maximale Ausgabel\u00e4nge \u00fcberschritten hat. Die&nbsp;Modellnamen sind dem&nbsp;Repository zu entnehmen.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pr\u00e4zision<\/strong> gibt an, wie hoch der&nbsp;Anteil der&nbsp;vorhergesagten Boxen ist, die&nbsp;mit&nbsp;den&nbsp;Referenzannotationen \u00fcbereinstimmen. <strong>R\u00fcckruf<\/strong> gibt an, wie viel vom Referenz-Annotationsbestand gefunden wurde. <strong>F1<\/strong> kombiniert beides, sodass ein&nbsp;Modell keinen&nbsp;hohen F1&#8209;Wert erzielen kann, indem es lediglich einige wenige, sehr genaue Boxen zur\u00fcckgibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;Pr\u00e4zision des&nbsp;lokalen Detektors von&nbsp;<strong>97.77%<\/strong> ist h\u00f6her als die&nbsp;jedes VLM in diesem Durchlauf. <strong>60.50%<\/strong>Die&nbsp;Trefferquote (Recall) von&nbsp;60.50% zeigt jedoch, dass dabei immer noch viele Annotationen \u00fcbersehen werden. Gemini 3.5 Flash findet mehr davon und&nbsp;erzielt das&nbsp;beste Gleichgewicht zwischen Pr\u00e4zision und&nbsp;Recall.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Boxscores ignorieren Text und&nbsp;Kategorie. Ein&nbsp;korrekt lokalisiertes Rechteck kann als Treffer gewertet werden, selbst wenn sein Text leer ist oder&nbsp;seine Klasse falsch ist.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Das&nbsp;Lesen des&nbsp;Textes ist nur ein&nbsp;Teil des&nbsp;Problems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;Merkmalsmetriken erg\u00e4nzen die&nbsp;Bewertung um Text und&nbsp;Kategorie. In der&nbsp;ersten Spalte unten wird die&nbsp;Position nicht ber\u00fccksichtigt; in der&nbsp;zweiten muss die&nbsp;Annotation zudem an der&nbsp;richtigen Stelle stehen.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>VLM<\/th><th>Genauer Text + Kategorie F1<\/th><th>Genauer Text + Kategorie + Ort F1<\/th><\/tr><\/thead><tbody><tr><td>Gemini 3.1 Flash Lite<\/td><td>0.8352<\/td><td>0.5922<\/td><\/tr><tr><td>Gemini 3.5 Flash<\/td><td><strong>0.8615<\/strong><\/td><td><strong>0.6797<\/strong><\/td><\/tr><tr><td>GPT-5.6 Luna*<\/td><td>0.8279<\/td><td>0.1869<\/td><\/tr><tr><td>GPT-5.6 Terra<\/td><td>0.7246<\/td><td>0.4033<\/td><\/tr><tr><td>GPT-5.6 Sol<\/td><td>0.8529<\/td><td>0.5041<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Quelle: dieselbe <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md#benchmark-results-benchmark_15\" rel=\"nofollow noopener\" target=\"_blank\">Benchmark-Ergebnisse<\/a>, mit&nbsp;derselben Ausnahme f\u00fcr&nbsp;Luna, die&nbsp;14 Ausg\u00e4nge umfasst. Beim exakten Abgleich werden der&nbsp;gespeicherte Text und&nbsp;die&nbsp;Kategorie miteinander verglichen. Tabellenfunktionen verwenden Bezeichnungen wie <code>TITELBLOCK<\/code>; bei&nbsp;diesem Durchlauf wird nicht die&nbsp;Transkription jeder einzelnen Tabellenzelle ausgewertet.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jedes Modell verliert an Boden, sobald der&nbsp;Standort zu einem&nbsp;Anforderungskriterium wird. Bei&nbsp;Gemini 3.5 Flash sinkt die&nbsp;Punktzahl von&nbsp;<strong>0,8615 bis 0,6797<\/strong>. Bei&nbsp;GPT-5.6 Sol sinkt er von&nbsp;<strong>0,8529 bis 0,5041<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese L\u00fccke ist f\u00fcr&nbsp;Entwickler die&nbsp;wertvollste Erkenntnis. Ein&nbsp;Modell kann zwar viele korrekte Beschriftungen zur\u00fcckgeben, ohne diese jedoch zuverl\u00e4ssig auf der&nbsp;Zeichnung zu platzieren. Eine&nbsp;\u00fcberzeugende Textantwort belegt daher nicht, dass die&nbsp;Zeichnung korrekt extrahiert wurde. Selbst eine&nbsp;korrekte Lokalisierung der&nbsp;Beschriftungen ist nur ein&nbsp;Schritt auf dem&nbsp;Weg, jede Beschriftung mit&nbsp;dem&nbsp;physischen Merkmal zu verkn\u00fcpfen, das&nbsp;sie beschreibt.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/COGITA&#8209;AI\/drawing2data-bench\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/assets\/inference_comparison_sample_0.png\" alt=\"Predicted annotation boxes from six models on the same generated drawing\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Der&nbsp;Vergleich von&nbsp;sechs Modellen in einer&nbsp;Zeichnung aus dem&nbsp;Repository. Es handelt sich hierbei um Modellvorhersagen, nicht um Referenzrahmen. Die&nbsp;Abbildungen veranschaulichen Unterschiede hinsichtlich der&nbsp;Abdeckung und&nbsp;der&nbsp;Platzierung; die&nbsp;Tabellen oben fassen den&nbsp;berichteten Durchlauf zusammen.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Einen&nbsp;spezialisierten RF&#8209;DETR&#8209;Detektor trainieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;<code>Extraktionskomponente<\/code> verwendet <strong>RF&#8209;DETR Large<\/strong>, einen&nbsp;Objektdetektor, der&nbsp;darauf trainiert wurde, Annotationsbereiche zu finden und&nbsp;zu klassifizieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seine Aufgabe besteht darin, Rahmen um Objekte wie Bema\u00dfungen, Anmerkungen und&nbsp;Tabellen zu erstellen. <strong>Es gibt ihren Text nicht wieder.<\/strong> Der&nbsp;Benchmark-Adapter gibt f\u00fcr&nbsp;jede Erkennung ein&nbsp;leeres Textfeld zur\u00fcck, was die&nbsp;Nullwerte des&nbsp;Detektors bei&nbsp;den&nbsp;ausgewiesenen Textmetriken erkl\u00e4rt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In der&nbsp;Dokumentation zur&nbsp;Datenextraktion wird ein&nbsp;generierter Datensatz beschrieben, der&nbsp;aus <strong>9.378 Bilder und&nbsp;228.327 Annotationen<\/strong>, aufgeteilt wie folgt:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Split<\/th><th>Bilder<\/th><th>Annotationen<\/th><\/tr><\/thead><tbody><tr><td>Training<\/td><td>6,513<\/td><td>158,727<\/td><\/tr><tr><td>Validierung<\/td><td>1,886<\/td><td>45,942<\/td><\/tr><tr><td>Test<\/td><td>979<\/td><td>23,658<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Trainingsbeispiele dienen dem&nbsp;Training des&nbsp;Modells; Validierungsbeispiele dienen der&nbsp;\u00dcberwachung seines Fortschritts; Testbeispiele werden zur&nbsp;Bewertung beiseite gelegt. Diese Datensatzzahlen beschreiben die&nbsp;dokumentierte Trainingsarbeit, w\u00e4hrend der&nbsp;obige VLM&#8209;Vergleich die&nbsp;separate Benchmark-Konfiguration mit&nbsp;15 Stichproben verwendet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der&nbsp;beschriebene Trainingslauf umfasste 20 Epochen, d.\u202fh. 20 Durchl\u00e4ufe durch die&nbsp;Trainingsdaten. Das&nbsp;Trainingsskript wendet zudem Transformationen wie Rotation, perspektivische Verzerrung, Unsch\u00e4rfe, Rauschen und&nbsp;Komprimierung an, um den&nbsp;Detektor mit&nbsp;weniger makellosen Bildern zu konfrontieren.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/COGITA&#8209;AI\/drawing2data-bench\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/extraction\/assets\/training_metrics.png\" alt=\"RF&#8209;DETR training curves showing improving validation scores and decreasing loss\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Die&nbsp;mit&nbsp;dem&nbsp;Repository bereitgestellten, aufgezeichneten Trainingskurven. Die&nbsp;Erkennungswerte verbessern sich im&nbsp;Laufe des&nbsp;Durchlaufs, w\u00e4hrend die&nbsp;Trainings- und&nbsp;Validierungsfehler im&nbsp;Allgemeinen abnehmen.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;Dokumentation berichtet einen&nbsp;abschlie\u00dfenden Validierungswert von&nbsp;<strong>0,9352 f\u00fcr&nbsp;mAP@50<\/strong> und&nbsp;<strong>0,7245 f\u00fcr&nbsp;mAP@50:95<\/strong> bei&nbsp;den&nbsp;gemittelten Modellgewichten. Hierbei handelt es sich um Objekt-Erkennungswerte: Der&nbsp;zweite bewertet die&nbsp;\u00dcbereinstimmung von&nbsp;Rahmen unter einer&nbsp;Reihe von&nbsp;zunehmend strengeren \u00dcberlappungsanforderungen. Sie stammen aus einem&nbsp;anderen Bewertungsaufbau und&nbsp;sollten getrennt von&nbsp;den&nbsp;F1&#8209;Werten des&nbsp;kleinen Benchmarks betrachtet werden. Die&nbsp;<a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/extraction\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Dokumentation zur&nbsp;Extraktion<\/a> bietet die&nbsp;vollst\u00e4ndigen Trainingsdaten sowie die&nbsp;Ergebnisse pro Kurs.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/COGITA&#8209;AI\/drawing2data-bench\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/extraction\/assets\/inference_result.png\" alt=\"RF&#8209;DETR predictions on a generated technical drawing\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Das&nbsp;Beispiel zur&nbsp;eigenst\u00e4ndigen Inferenz enth\u00e4lt 14 Erkennungen bei&nbsp;einem&nbsp;Konfidenzschwellenwert von&nbsp;0,5. Es zeigt die&nbsp;erkannten Bereiche ohne OCR&#8209;Transkription. Es handelt sich um ein&nbsp;eigenst\u00e4ndiges Beispiel, das&nbsp;nicht Teil des&nbsp;oben genannten Vergleichs der&nbsp;sechs Modelle ist.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im&nbsp;vorgestellten Benchmark \u00fcbertrifft der&nbsp;Detektor vier der&nbsp;f\u00fcnf VLMs bei&nbsp;Box F1 und&nbsp;alle f\u00fcnf bei&nbsp;der&nbsp;Box-Pr\u00e4zision. Dies untermauert einen&nbsp;praktischen Ansatz f\u00fcr&nbsp;die&nbsp;weitere Arbeit: Verwenden Sie ein&nbsp;spezialisiertes Modell, um vielversprechende Bereiche zu identifizieren, und&nbsp;leiten Sie diese Ausschnitte anschlie\u00dfend zur&nbsp;Erkennung an ein&nbsp;OCR&#8209;System oder&nbsp;ein&nbsp;VLM weiter. Das&nbsp;Repository stellt den&nbsp;Detektor und&nbsp;die&nbsp;Auswertungswerkzeuge bereit; diese kombinierte Erkennungs-Pipeline bleibt ein&nbsp;n\u00e4chster Schritt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">So k\u00f6nnen Sie das&nbsp;Toolkit ausprobieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Klonen Sie zun\u00e4chst das&nbsp;Repository und&nbsp;installieren Sie dessen Abh\u00e4ngigkeiten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench.git\ncd drawing2data-bench\npython -m pip install -r requirements.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Erstellen Sie einen&nbsp;kleinen Datensatz anhand der&nbsp;mitgelieferten CAD&#8209;Beispiele:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m generation.cli \"generation\/examples\/models\/*.step\" -o dataset<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcberpr\u00fcfen Sie die&nbsp;generierten Labels vor dem&nbsp;Training:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m generation.tools.coco_view dataset\/train<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sofern ein&nbsp;geeigneter Datensatz und&nbsp;eine&nbsp;CUDA&#8209;GPU zur&nbsp;Verf\u00fcgung stehen, lautet der&nbsp;Einstiegspunkt f\u00fcr&nbsp;das&nbsp;Training:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m extraction.train \\\n  --dataset-dir .\/dataset \\\n  --epochs 20 \\\n  --batch-size 8 \\\n  --grad-accum-steps 2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das&nbsp;mitgelieferte Trainingsskript w\u00e4hlt CUDA direkt aus. Die&nbsp;wenigen enthaltenen CAD&#8209;Beispiele sind hilfreich, um den&nbsp;Generator kennenzulernen; zur&nbsp;Reproduktion der&nbsp;dokumentierten Trainingsergebnisse sind der&nbsp;gr\u00f6\u00dfere Datensatz und&nbsp;die&nbsp;entsprechende Konfiguration erforderlich.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr&nbsp;die&nbsp;VLM&#8209;Auswertung erl\u00e4utert der&nbsp;<a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Benchmark-Leitfaden<\/a> die&nbsp;Konfiguration und&nbsp;die&nbsp;Einstellung von&nbsp;<code>OPENROUTER_API_KEY<\/code> . Benchmark-Befehle werden ausgef\u00fchrt von&nbsp;<code>Benchmarks\/<\/code>. Der&nbsp;generierte Benchmark-Datensatz hat einen&nbsp;eigenen erwarteten Speicherort, <code>benchmarks\/datasets\/generated\/data\/<\/code>; die&nbsp;blo\u00dfe Erstellung des&nbsp;Trainingsdatensatzes f\u00fchrt noch nicht dazu, dass dieser mit&nbsp;Daten gef\u00fcllt wird.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das&nbsp;Repository enth\u00e4lt einen&nbsp;Link zu einem&nbsp;<a href=\"https:\/\/drive.google.com\/drive\/folders\/1rHwoiXBxIVY4zxsPVJP3d27EiWnvynUY\" rel=\"nofollow noopener\" target=\"_blank\">einem&nbsp;gemeinsamen Artefaktordner<\/a> f\u00fcr&nbsp;gr\u00f6\u00dfere Dateien. Das&nbsp;\u00fcberpr\u00fcfte Git-Checkout enth\u00e4lt den&nbsp;Quellcode, Beispiel-CAD&#8209;Dateien, Dokumentation und&nbsp;Abbildungen, jedoch nicht den&nbsp;vollst\u00e4ndigen Trainingsdatensatz, Checkpoints oder&nbsp;Rohdaten <code>benchmark_15<\/code> Ausgaben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was diese Ergebnisse belegen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Drawing2Data-Bench bietet einen&nbsp;konkreten Ausgangspunkt f\u00fcr&nbsp;die&nbsp;Generierung von&nbsp;Trainingsdaten und&nbsp;die&nbsp;Bewertung spezifischer Aufgaben zum&nbsp;Verst\u00e4ndnis von&nbsp;Zeichnungen. Die&nbsp;vorgestellten Ergebnisse zeigen, warum Textqualit\u00e4t, Lokalisierungsgenauigkeit und&nbsp;Annotationsabdeckung separat bewertet werden m\u00fcssen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die&nbsp;derzeitigen Erkenntnisse weisen zudem deutliche Grenzen auf. Der&nbsp;Vergleich basiert auf einer&nbsp;kleinen synthetischen Stichprobe, und&nbsp;laut Dokumentation l\u00e4sst sich der&nbsp;Detektor nur in geringem Ma\u00dfe auf echte gedruckte Zeichnungen \u00fcbertragen. Alle VLMs verwenden eine&nbsp;gemeinsame Eingabeaufforderung und&nbsp;Koordinatenkonvention, sodass es sich um einen&nbsp;Vergleich unter diesen Rahmenbedingungen handelt. Unterschiedliche Eingabeaufforderungen oder&nbsp;Vorverarbeitungsschritte k\u00f6nnten die&nbsp;Rangfolge ver\u00e4ndern. Die&nbsp;Zahlen in diesem Artikel geben die&nbsp;im&nbsp;Repository dokumentierten Experimente wieder; sie wurden f\u00fcr&nbsp;diesen Artikel nicht unabh\u00e4ngig neu durchgef\u00fchrt. Eine&nbsp;neue Reproduktion sollte zudem die&nbsp;Koordinatenskalierung und&nbsp;die&nbsp;Kategorizierung in den&nbsp;aktuellen Adaptern \u00fcberpr\u00fcfen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr&nbsp;Teams, die&nbsp;technische Software entwickeln, macht das&nbsp;Toolkit die&nbsp;n\u00e4chsten Experimente greifbar: Beispiele generieren, die&nbsp;Beschriftungen \u00fcberpr\u00fcfen, Modelle anhand repr\u00e4sentativer Zeichnungen vergleichen und&nbsp;messen, welche Verbesserungen sich ergeben, wenn Erkennung und&nbsp;Textlesung kombiniert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entdecken Sie den&nbsp;Code und&nbsp;die&nbsp;Dokumentation im&nbsp;<a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\" rel=\"nofollow noopener\" target=\"_blank\">\u201eDrawing2Data-Bench\u201c-Repository von&nbsp;COGITA<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>A technical drawing contains much more than a picture of a part. It describes dimensions, tolerances, holes, threads, surface finish and manufacturing instructions. Turning that information into usable data means finding small marks, reading them correctly and preserving their position on the page. That last requirement matters. A system might read 50 \u00b10.2 correctly but [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2508","post","type-post","status-publish","format-standard","hentry","category-ai-in-business"],"acf":[],"_links":{"self":[{"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/posts\/2508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/comments?post=2508"}],"version-history":[{"count":2,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/posts\/2508\/revisions"}],"predecessor-version":[{"id":2530,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/posts\/2508\/revisions\/2530"}],"wp:attachment":[{"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/media?parent=2508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/categories?post=2508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cogita.ai\/de\/wp-json\/wp\/v2\/tags?post=2508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}