{"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\/pl\/building-ai-for-technical-drawings-with-drawing2data-bench\/","title":{"rendered":"Tworzenie sztucznej inteligencji do rysunk\u00f3w technicznych za pomoc\u0105 Drawing2Data-Bench"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Rysunek techniczny to znacznie wi\u0119cej ni\u017c tylko obraz cz\u0119\u015bci. Zawiera on opisy wymiar\u00f3w, tolerancji, otwor\u00f3w, gwint\u00f3w, wyko\u0144czenia powierzchni oraz instrukcje produkcyjne. Przekszta\u0142cenie tych informacji w dane, kt\u00f3re mo\u017cna wykorzysta\u0107, wymaga odnalezienia niewielkich oznacze\u0144, ich prawid\u0142owego odczytania oraz zachowania ich po\u0142o\u017cenia na stronie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ten ostatni wym\u00f3g ma znaczenie. System mo\u017ce odczyta\u0107 <code>50 \u00b1 0,2<\/code> poprawnie, ale umie\u015bci\u0107 go obok niew\u0142a\u015bciwego elementu. W przypadku oprogramowania obs\u0142uguj\u0105cego procesy in\u017cynieryjne lub zwi\u0105zane z przygotowywaniem ofert sama liczba nie wystarczy.<\/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> jest zestawem narz\u0119dzi firmy COGITA s\u0142u\u017c\u0105cym do opracowywania i oceny rozwi\u0105za\u0144 opartych na sztucznej inteligencji w odniesieniu do tego problemu. \u0141\u0105czy on trzy etapy pracy: generowanie oznaczonych rysunk\u00f3w na podstawie plik\u00f3w CAD, testowanie modeli wizualno-j\u0119zykowych oraz szkolenie dedykowanego detektora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zdokumentowane eksperymenty wskazuj\u0105 na interesuj\u0105c\u0105 prawid\u0142owo\u015b\u0107: modele og\u00f3lnego przeznaczenia s\u0105 w stanie odtworzy\u0107 znaczn\u0105 cz\u0119\u015b\u0107 tekstu, jednak precyzyjna lokalizacja pozostaje trudna. Specjalistyczny detektor RF&#8209;DETR osi\u0105ga najwy\u017csz\u0105 precyzj\u0119 wyznaczania prostok\u0105t\u00f3w w opisanym por\u00f3wnaniu, podczas gdy Gemini 3.5 Flash osi\u0105ga najwy\u017cszy wska\u017anik F1 dla prostok\u0105t\u00f3w. Zrozumienie tej r\u00f3\u017cnicy pomaga wyja\u015bni\u0107, dlaczego zestaw narz\u0119dzi zawiera wszystkie trzy komponenty.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co zawiera repozytorium<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Komponent<\/th><th>Jak to dzia\u0142a<\/th><th>Dlaczego to ma znaczenie<\/th><\/tr><\/thead><tbody><tr><td><code>pokolenie\/<\/code><\/td><td>Przekszta\u0142ca modele CAD 3D w rysunki 2D wraz z odpowiadaj\u0105cymi im&nbsp;opisami.<\/td><td>Tworzy przyk\u0142ady szkoleniowe bez konieczno\u015bci r\u0119cznego zaznaczania ka\u017cdej adnotacji.<\/td><\/tr><tr><td><code>testy por\u00f3wnawcze\/<\/code><\/td><td>Uruchamia modele na rysunkach i analizuje ich ustrukturyzowane prognozy.<\/td><td>Oddziela jako\u015b\u0107 wyodr\u0119bniania tekstu od mo\u017cliwo\u015bci lokalizowania adnotacji.<\/td><\/tr><tr><td><code>ekstrakcja\/<\/code><\/td><td>Obs\u0142uguje i eksploatuje detektor RF&#8209;DETR typu Large.<\/td><td>Zapewnia specjalistyczny model s\u0142u\u017c\u0105cy do wyszukiwania region\u00f3w adnotacji.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Proces rozpoczyna si\u0119 od modelu CAD. Generator tworzy obraz wraz z etykietami odniesienia. Pary te mo\u017cna nast\u0119pnie wykorzysta\u0107 zar\u00f3wno do szkolenia detektora, jak i do oceny modeli na podstawie znanych odpowiedzi. Ka\u017cdy element jest opisany w <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">przegl\u0105d repozytorium<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Generowanie opatrzonych opisami rysunk\u00f3w 2D na podstawie modeli 3D CAD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aby wyszkoli\u0107 model obrazowy, potrzebne s\u0105 przyk\u0142ady tego, co ma on wykrywa\u0107. W przypadku rysunku technicznego mo\u017ce to oznacza\u0107 prostok\u0105t otaczaj\u0105cy wymiar, etykiet\u0119 okre\u015blaj\u0105c\u0105 rodzaj adnotacji oraz tekst umieszczony wewn\u0105trz tego prostok\u0105ta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">R\u0119czne tworzenie tych oznacze\u0144 zajmuje sporo czasu. Na jednej stronie mo\u017ce znajdowa\u0107 si\u0119 kilkadziesi\u0105t drobnych adnotacji, a osoba zajmuj\u0105ca si\u0119 ich nanoszeniem musi rozumie\u0107 notacj\u0119 techniczn\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generator repozytorium, <strong>AutoDraft<\/strong>, tworzy rysunek wraz z podpisami. Akceptuje <strong>STEP, IGES i BREP<\/strong> pliki zawieraj\u0105ce geometri\u0119 3D w formacie CAD. Program wykorzystuje t\u0119 geometri\u0119 do wybierania widok\u00f3w, rysowania cz\u0119\u015bci, dodawania wymiar\u00f3w i obja\u015bnie\u0144 oraz rozmieszczania ich na arkuszu. Wynikiem jest <strong>Obraz w formacie PNG<\/strong> oraz <strong>Adnotacje COCO<\/strong>. COCO to popularny format zbioru danych, w kt\u00f3rym rejestruje si\u0119 obiekty, ich kategorie oraz ich po\u0142o\u017cenie na obrazie.<\/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>Wygenerowany rysunek wraz z etykietami odniesienia. Czerwone ramki pochodz\u0105 z rekord\u00f3w adnotacji generatora; s\u0105 to odpowiedzi, kt\u00f3rych detektor ma si\u0119 nauczy\u0107.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Program AutoDraft obs\u0142uguje 12 kategorii adnotacji, w tym wymiary, promienie, fazowania, otwory, gwinty, symbole wyko\u0144czenia powierzchni, uwagi, tabele i podpisy widok\u00f3w. Obejmuje on r\u00f3wnie\u017c <strong>GD&amp;T<\/strong>, czyli geometryczne wymiarowanie i tolerancje, oraz <strong>punkty odniesienia<\/strong>, elementy odniesienia s\u0142u\u017c\u0105ce do okre\u015blania wymiar\u00f3w i tolerancji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adnotacja zawiera kategori\u0119, tekst oraz ramk\u0119 ograniczaj\u0105c\u0105. Dodatkowe pola zawieraj\u0105 takie informacje, jak zmierzona warto\u015b\u0107, widok oraz informacj\u0119, czy specyfikacja zosta\u0142a wygenerowana sztucznie. Wi\u0119kszo\u015b\u0107 ramek skupia si\u0119 na samej adnotacji, a nie na jej najwi\u0119kszym wymiarze lub linii wska\u017anikowej wok\u00f3\u0142 niej. Tabela jest przedstawiona za pomoc\u0105 jednej ramki otaczaj\u0105cej ca\u0142y blok.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00f3\u017cnorodno\u015b\u0107 pomaga modelowi nauczy\u0107 si\u0119 wi\u0119cej ni\u017c jednego uk\u0142adu<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Program AutoDraft oferuje dziesi\u0119\u0107 styl\u00f3w rysunkowych, charakteryzuj\u0105cych si\u0119 r\u00f3\u017cnymi uk\u0142adami arkuszy, rodzajami grot\u00f3w strza\u0142ek, sposobami rozmieszczenia tekstu, tolerancjami oraz polami tytu\u0142owymi. Umo\u017cliwia on tworzenie widok\u00f3w przekrojowych ukazuj\u0105cych elementy wewn\u0119trzne, powi\u0119kszonych widok\u00f3w szczeg\u00f3\u0142owych oraz oddzielnych widok\u00f3w element\u00f3w w zespole. Szczeg\u00f3\u0142y prezentacji r\u00f3\u017cni\u0105 si\u0119 r\u00f3wnie\u017c w obr\u0119bie danego stylu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ma to znaczenie, poniewa\u017c model wytrenowany na jednym sta\u0142ym uk\u0142adzie mo\u017ce nauczy\u0107 si\u0119 rozpoznawa\u0107 miejsca, w kt\u00f3rych zazwyczaj pojawiaj\u0105 si\u0119 etykiety, zamiast nauczy\u0107 si\u0119 je rozpoznawa\u0107. Szerszy zakres uk\u0142ad\u00f3w zapewnia programistom lepszy punkt wyj\u015bcia do trenowania modeli przetwarzaj\u0105cych rysunki 2D.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Etykiety zawieraj\u0105 tekst, wi\u0119c wygenerowane dane mog\u0105 r\u00f3wnie\u017c pos\u0142u\u017cy\u0107 do przysz\u0142ego dostrajania modeli OCR lub modeli wykorzystuj\u0105cych przetwarzanie obrazu i j\u0119zyka. Kod szkoleniowy udost\u0119pniony obecnie w tym repozytorium skupia si\u0119 na wykrywaniu obiekt\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nale\u017cy pami\u0119ta\u0107 o jednym rozr\u00f3\u017cnieniu: niekt\u00f3re specyfikacje maj\u0105 charakter syntetyczny. Warto\u015bci dotycz\u0105ce wyko\u0144czenia powierzchni s\u0105 generowane, a niekt\u00f3re inne adnotacje mog\u0105 by\u0107 generowane, gdy plik CAD nie zawiera osadzonych informacji produkcyjnych. Elementy te s\u0105 oznaczone. Mog\u0105 one wskaza\u0107 modelowi, jak wygl\u0105da dany symbol lub etykieta, ale ich wygenerowane warto\u015bci nie powinny by\u0107 traktowane jako rzeczywiste wymagania dotycz\u0105ce oryginalnej cz\u0119\u015bci. Zobacz <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/generation\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">dokumentacja dotycz\u0105ca generacji<\/a> w celu zapoznania si\u0119 z obs\u0142ugiwanymi standardami i ograniczeniami.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Sprawd\u017a, jakie dane faktycznie pozyskuj\u0105 Gemini i GPT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>model wizyjno-j\u0119zykowy<\/strong>, czyli VLM, obs\u0142uguje zar\u00f3wno obrazy, jak i tekst. Drawing2Data-Bench zawiera adaptery do modeli Gemini i GPT za po\u015brednictwem OpenRouter, a tak\u017ce lokalny detektor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W ramach testu por\u00f3wnawczego ka\u017cdy model VLM ma za zadanie zwr\u00f3ci\u0107 ustrukturyzowane cechy: tekst adnotacji, kategori\u0119, prostok\u0105t ograniczaj\u0105cy oraz poziom pewno\u015bci. Wyniki prognoz s\u0105 zapisywane w formacie JSON, a nast\u0119pnie por\u00f3wnywane z etykietami referencyjnymi. Konfiguracja w formacie YAML okre\u015bla zbi\u00f3r danych, modele, metryki oraz liczb\u0119 pr\u00f3bek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dzi\u0119ki temu mo\u017cna zada\u0107 trzy odr\u0119bne pytania:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Czy model znalaz\u0142 adnotacj\u0119?<\/strong> Jego przewidywany prostok\u0105t musi w wystarczaj\u0105cym stopniu pokrywa\u0107 si\u0119 z prostok\u0105tem odniesienia.<\/li>\n\n\n\n<li><strong>Czy poprawnie odczyta\u0142o i sklasyfikowa\u0142o adnotacj\u0119?<\/strong> Tekst i kategoria musz\u0105 by\u0107 zgodne.<\/li>\n\n\n\n<li><strong>Czy obie te rzeczy mia\u0142y miejsce w tym samym miejscu?<\/strong> Tekst, kategoria i pozycja musz\u0105 by\u0107 poprawne.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku dopasowywania p\u00f3l test por\u00f3wnawczy wykorzystuje <strong>przeci\u0119cie nad sum\u0105<\/strong>, czyli IoU: pole wsp\u00f3lne dla dw\u00f3ch prostok\u0105t\u00f3w podzielone przez ca\u0142kowite pole przez nie zajmowane. Aby uzna\u0107 dopasowanie za prawid\u0142owe, warto\u015b\u0107 IoU musi wynosi\u0107 powy\u017cej 0,5. Dzi\u0119ki temu ocena jest bardziej rygorystyczna ni\u017c zwyk\u0142e sprawdzenie, czy prostok\u0105t znajduje si\u0119 gdzie\u015b w pobli\u017cu w\u0142a\u015bciwej liczby.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Przedstawione por\u00f3wnanie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W dokumentacji testu por\u00f3wnawczego odnotowano przebieg o nazwie <code>benchmark_15<\/code>, wykorzystuj\u0105c 15 wygenerowanych rysunk\u00f3w. Poni\u017csza tabela przedstawia wyniki lokalizacji. Wszystkie trzy wyniki s\u0105 lepsze, im&nbsp;wy\u017csze.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Model<\/th><th>Dok\u0142adno\u015b\u0107 oblicze\u0144<\/th><th>Wycofanie produktu z rynku<\/th><th>Pole F1<\/th><\/tr><\/thead><tbody><tr><td>Lokalny detektor RF&#8209;DETR (<code>niestandardowy<\/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>\u0179r\u00f3d\u0142o: <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md#benchmark-results-benchmark_15\" rel=\"nofollow noopener\" target=\"_blank\">udokumentowane wyniki test\u00f3w por\u00f3wnawczych<\/a>. Wyniki Luny obejmuj\u0105 14 wynik\u00f3w, poniewa\u017c jedna odpowied\u017a przekroczy\u0142a limit d\u0142ugo\u015bci wyniku. Nazwy modeli s\u0105 zgodne z nazwami w repozytorium.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Precyzja<\/strong> podaje, jaka cz\u0119\u015b\u0107 przewidywanych p\u00f3l pokrywa si\u0119 z adnotacjami referencyjnymi. <strong>Przypomnij sobie<\/strong> informuje nas, jaka cz\u0119\u015b\u0107 bazy adnotacji referencyjnych zosta\u0142a odnaleziona. <strong>F1<\/strong> \u0142\u0105czy te dwa podej\u015bcia, wi\u0119c model nie mo\u017ce osi\u0105gn\u0105\u0107 wysokiego wska\u017anika F1 wy\u0142\u0105cznie poprzez zwracanie kilku bardzo precyzyjnych prostok\u0105t\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dok\u0142adno\u015b\u0107 detektora lokalnego wynosz\u0105ca <strong>97.77%<\/strong> jest wy\u017cszy ni\u017c w przypadku ka\u017cdego modelu VLM w tej serii. Jego wsp\u00f3\u0142czynnik odtworzenia <strong>60.50%<\/strong>, jednak\u017ce, pokazuje, \u017ce wci\u0105\u017c pomija wiele adnotacji. Gemini 3.5 Flash wykrywa ich wi\u0119cej i osi\u0105ga najlepsz\u0105 r\u00f3wnowag\u0119 mi\u0119dzy precyzj\u0105 a odzyskiem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W tych zestawieniach wynik\u00f3w nie uwzgl\u0119dnia si\u0119 tekstu ani kategorii. Prawid\u0142owo zlokalizowany prostok\u0105t mo\u017ce zosta\u0107 uznany za trafienie, nawet je\u015bli nie zawiera tekstu lub ma nieprawid\u0142ow\u0105 klas\u0119.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Czytanie tekstu to tylko cz\u0119\u015b\u0107 problemu<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wska\u017aniki cech uwzgl\u0119dniaj\u0105 w ocenie tekst oraz kategori\u0119. Pierwsza kolumna poni\u017cej nie bierze pod uwag\u0119 pozycji; druga wymaga ponadto, aby adnotacja znajdowa\u0142a si\u0119 we w\u0142a\u015bciwym miejscu.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>VLM<\/th><th>Dok\u0142adny tekst + kategoria F1<\/th><th>Dok\u0142adny tekst + kategoria + lokalizacja 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>\u0179r\u00f3d\u0142o: to samo <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md#benchmark-results-benchmark_15\" rel=\"nofollow noopener\" target=\"_blank\">wyniki test\u00f3w por\u00f3wnawczych<\/a>, z tym samym wyj\u0105tkiem dotycz\u0105cym 14 wynik\u00f3w w przypadku Luny. Dok\u0142adne dopasowanie polega na por\u00f3wnaniu zapisanych tre\u015bci i kategorii. Funkcje tabeli wykorzystuj\u0105 etykiety, takie jak <code>BLOK TYTU\u0141OWY<\/code>; w tym przebiegu nie jest sprawdzana transkrypcja ka\u017cdej kom\u00f3rki tabeli.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy model traci na znaczeniu, gdy lokalizacja staje si\u0119 jednym z wymaga\u0144. W przypadku Gemini 3.5 Flash wynik spada z <strong>od 0,8615 do 0,6797<\/strong>. W przypadku GPT-5.6 Sol warto\u015b\u0107 ta spada z <strong>od 0,8529 do 0,5041<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ta rozbie\u017cno\u015b\u0107 stanowi najbardziej przydatny wniosek dla programist\u00f3w. Model mo\u017ce zwr\u00f3ci\u0107 wiele poprawnych etykiet, nie umieszczaj\u0105c ich jednak w spos\u00f3b wiarygodny na rysunku. Przekonuj\u0105ca odpowied\u017a tekstowa nie stanowi zatem dowodu na to, \u017ce rysunek zosta\u0142 poprawnie wyodr\u0119bniony. Nawet prawid\u0142owe umiejscowienie adnotacji to jedynie jeden krok w kierunku powi\u0105zania ka\u017cdej etykiety z fizyczn\u0105 cech\u0105, kt\u00f3r\u0105 opisuje.<\/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>Por\u00f3wnanie sze\u015bciu modeli na jednym rysunku, udost\u0119pnione w repozytorium. S\u0105 to prognozy modeli, a nie ramki odniesienia. Panele ilustruj\u0105 r\u00f3\u017cnice w zasi\u0119gu i rozmieszczeniu; powy\u017csze tabele zawieraj\u0105 podsumowanie zg\u0142oszonego przebiegu.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Wyszkol dedykowany detektor RF&#8209;DETR<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ten <code>wydobycie<\/code> zastosowania komponentu <strong>RF&#8209;DETR \u2013 du\u017cy<\/strong>, detektor obiekt\u00f3w wyszkolony do wykrywania i klasyfikowania obszar\u00f3w oznaczonych adnotacjami.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jego zadaniem jest zwracanie ramek wok\u00f3\u0142 obiekt\u00f3w, takich jak wymiary, adnotacje i tabele. <strong>Nie dokonuje transkrypcji ich tekstu.<\/strong> Adapter testowy zwraca puste pole tekstowe dla ka\u017cdego wykrytego elementu, co wyja\u015bnia zerowe wyniki detektora w zakresie podanych wska\u017anik\u00f3w tekstowych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W dokumentacji dotycz\u0105cej ekstrakcji opisano wygenerowany zbi\u00f3r danych zawieraj\u0105cy <strong>9 378 obraz\u00f3w i 228 327 adnotacji<\/strong>, w nast\u0119puj\u0105cym podziale:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Split<\/th><th>Zdj\u0119cia<\/th><th>Adnotacje<\/th><\/tr><\/thead><tbody><tr><td>Szkolenie<\/td><td>6,513<\/td><td>158,727<\/td><\/tr><tr><td>Walidacja<\/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\">Przyk\u0142ady szkoleniowe s\u0142u\u017c\u0105 do uczenia modelu; przyk\u0142ady walidacyjne pozwalaj\u0105 \u015bledzi\u0107 jego post\u0119py; przyk\u0142ady testowe s\u0105 odk\u0142adane na bok w celu oceny. Liczby dotycz\u0105ce tych zbior\u00f3w danych odnosz\u0105 si\u0119 do udokumentowanych prac szkoleniowych, natomiast w powy\u017cszym por\u00f3wnaniu modeli VLM wykorzystano odr\u0119bn\u0105 konfiguracj\u0119 testow\u0105 obejmuj\u0105c\u0105 15 pr\u00f3bek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W opisanym przebiegu szkolenia wykorzystano 20 epok, co oznacza 20 przej\u015b\u0107 przez dane szkoleniowe. Skrypt szkoleniowy stosuje r\u00f3wnie\u017c przekszta\u0142cenia, takie jak obr\u00f3t, zniekszta\u0142cenie perspektywiczne, rozmycie, szum i kompresja, aby detektor mia\u0142 do czynienia z obrazami o gorszej jako\u015bci.<\/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>Wraz z repozytorium dostarczono zarejestrowane krzywe szkoleniowe. Wyniki wykrywania poprawiaj\u0105 si\u0119 w trakcie przebiegu, podczas gdy wska\u017aniki b\u0142\u0119du szkoleniowego i walidacyjnego zasadniczo malej\u0105.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W dokumentacji podano, \u017ce przeprowadzono ko\u0144cow\u0105 walidacj\u0119 <strong>mAP@50 wynosz\u0105ce 0,9352<\/strong> oraz <strong>mAP@50:95 wynosz\u0105ce 0,7245<\/strong> dla u\u015brednionych wag modelu. S\u0105 to wyniki wykrywania obiekt\u00f3w: drugi z nich ocenia dopasowanie prostok\u0105t\u00f3w przy r\u00f3\u017cnych, coraz bardziej rygorystycznych wymaganiach dotycz\u0105cych nak\u0142adania si\u0119. Wyniki te pochodz\u0105 z innego zestawu testowego i nale\u017cy je traktowa\u0107 oddzielnie od wynik\u00f3w F1 z ma\u0142ego zestawu testowego. <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/extraction\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">dokumentacja dotycz\u0105ca wydobycia<\/a> zawiera pe\u0142ne ustawienia treningowe oraz wyniki poszczeg\u00f3lnych zaj\u0119\u0107.<\/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>Ten samodzielny przyk\u0142ad wnioskowania zawiera 14 wykrytych obszar\u00f3w przy progu ufno\u015bci wynosz\u0105cym 0,5. Przedstawia on wykryte obszary bez transkrypcji OCR. Jest to przyk\u0142ad niezale\u017cny od powy\u017cszego por\u00f3wnania sze\u015bciu modeli.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W przedstawionym te\u015bcie por\u00f3wnawczym detektor osi\u0105ga lepsze wyniki ni\u017c cztery z pi\u0119ciu modeli VLM w zadaniu F1 oraz ni\u017c wszystkie pi\u0119\u0107 w zadaniu precyzyjnym. Potwierdza to praktyczny kierunek dalszych prac: wykorzystanie wyspecjalizowanego modelu do wyszukiwania obiecuj\u0105cych obszar\u00f3w, a nast\u0119pnie przekazanie tych wyodr\u0119bnionych fragment\u00f3w do OCR lub modelu VLM w celu odczytania. Repozytorium udost\u0119pnia detektor oraz narz\u0119dzia ewaluacyjne; kolejnym krokiem pozostaje stworzenie zintegrowanego procesu odczytu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak wypr\u00f3bowa\u0107 zestaw narz\u0119dzi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zacznij od sklonowania repozytorium i zainstalowania jego zale\u017cno\u015bci:<\/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\">Wygeneruj niewielki zbi\u00f3r danych na podstawie do\u0142\u0105czonych przyk\u0142ad\u00f3w CAD:<\/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\">Przed rozpocz\u0119ciem szkolenia sprawd\u017a wygenerowane etykiety:<\/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\">Je\u015bli dysponujemy odpowiednim zbiorem danych i procesorem graficznym z obs\u0142ug\u0105 CUDA, punktem wyj\u015bcia do szkolenia jest:<\/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\">Dostarczony skrypt szkoleniowy wybiera bezpo\u015brednio CUDA. Kilka do\u0142\u0105czonych przyk\u0142ad\u00f3w CAD jest przydatnych do zapoznania si\u0119 z generatorem; odtworzenie udokumentowanych wynik\u00f3w szkolenia wymaga wi\u0119kszego zbioru danych i odpowiedniej konfiguracji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W celu oceny VLM, <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\/blob\/e11863fde8e31b30cafc73405dd24cd0348b34ed\/benchmarks\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">przewodnik po testach por\u00f3wnawczych<\/a> wyja\u015bnia konfiguracj\u0119 oraz <code>OPENROUTER_API_KEY<\/code> ustawienie. Polecenia test\u00f3w por\u00f3wnawczych uruchamiane z <code>testy por\u00f3wnawcze\/<\/code>. Wygenerowany zbi\u00f3r danych testowych ma swoj\u0105 przewidywan\u0105 lokalizacj\u0119, <code>benchmarks\/zbiory danych\/wygenerowane\/dane\/<\/code>; samo utworzenie zbioru danych szkoleniowych nie powoduje jego wype\u0142nienia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Repozytorium zawiera link do <a href=\"https:\/\/drive.google.com\/drive\/folders\/1rHwoiXBxIVY4zxsPVJP3d27EiWnvynUY\" rel=\"nofollow noopener\" target=\"_blank\">wsp\u00f3lny folder z plikami<\/a> w przypadku wi\u0119kszych plik\u00f3w. Sprawdzona kopia repozytorium Git zawiera kod \u017ar\u00f3d\u0142owy, przyk\u0142adowe pliki CAD, dokumentacj\u0119 i ilustracje, ale nie obejmuje pe\u0142nego zbioru danych szkoleniowych, punkt\u00f3w kontrolnych ani surowych danych <code>benchmark_15<\/code> wyniki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co wynikaj\u0105 z tych wynik\u00f3w<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Drawing2Data-Bench stanowi konkretny punkt wyj\u015bcia do generowania danych szkoleniowych i oceny konkretnych zada\u0144 zwi\u0105zanych z rozumieniem rysunk\u00f3w. Przedstawione wyniki pokazuj\u0105, dlaczego jako\u015b\u0107 tekstu, precyzja lokalizacji i zakres adnotacji wymagaj\u0105 odr\u0119bnej oceny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Obecne dane maj\u0105 r\u00f3wnie\u017c wyra\u017ane ograniczenia. W por\u00f3wnaniu wykorzystano niewielk\u0105 pr\u00f3bk\u0119 syntetyczn\u0105, a dokumentacja wskazuje na s\u0142ab\u0105 przenoszalno\u015b\u0107 detektora na rzeczywiste wydrukowane rysunki. Wszystkie modele VLM korzystaj\u0105 ze wsp\u00f3lnego promptu i konwencji wsp\u00f3\u0142rz\u0119dnych, wi\u0119c jest to por\u00f3wnanie przeprowadzone w ramach tej konfiguracji. Zastosowanie innych podpowiedzi lub inne przetwarzanie wst\u0119pne mog\u0142yby zmieni\u0107 ranking. Dane liczbowe przedstawione w niniejszym artykule odzwierciedlaj\u0105 eksperymenty udokumentowane w repozytorium; nie zosta\u0142y one ponownie przeprowadzone niezale\u017cnie na potrzeby tego artyku\u0142u. Nowe odtworzenie eksperyment\u00f3w powinno r\u00f3wnie\u017c zweryfikowa\u0107 skalowanie wsp\u00f3\u0142rz\u0119dnych i mapowanie kategorii w obecnych adapterach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dla zespo\u0142\u00f3w tworz\u0105cych oprogramowanie in\u017cynierskie zestaw narz\u0119dzi ten pozwala w praktyce przeprowadzi\u0107 kolejne eksperymenty: generowa\u0107 przyk\u0142ady, sprawdza\u0107 etykiety, por\u00f3wnywa\u0107 modele na reprezentatywnych rysunkach oraz mierzy\u0107, co ulega poprawie po po\u0142\u0105czeniu funkcji wykrywania i odczytu tekstu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zapoznaj si\u0119 z kodem i dokumentacj\u0105 w <a href=\"https:\/\/github.com\/COGITA&#8209;AI\/drawing2data-bench\" rel=\"nofollow noopener\" target=\"_blank\">Repozytorium Drawing2Data-Bench firmy 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\/pl\/wp-json\/wp\/v2\/posts\/2508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/comments?post=2508"}],"version-history":[{"count":2,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/posts\/2508\/revisions"}],"predecessor-version":[{"id":2530,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/posts\/2508\/revisions\/2530"}],"wp:attachment":[{"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/media?parent=2508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/categories?post=2508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cogita.ai\/pl\/wp-json\/wp\/v2\/tags?post=2508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}