Зміст
Радіографічний контроль зварного шва вже дає цифрове зображення, на якому дефект інколи займає десяток пікселів на кадрі в тисячі пікселів. Помилка тут коштує не «незручного інтерфейсу»: пропущена тріщина або непровар іде в висновок, а з висновку — у допуск обладнання. ШІ тут доречний як помічник дефектоскопіста, а не як кнопка «придатний / не придатний».
Нижче — інженерна мапа контуру: постановка як задача комп'ютерного зору (CV, Computer Vision), набір даних і розмітка, публічний набір GDXray Welds, ролі CNN, YOLO, сегментації, CRNN і ViT, шар нормативних правил і інтерфейс експерта. Це не обіцянка готової промислової системи і не звіт із заводськими метриками. Цифри трудовитрат — орієнтовна оцінка, не норматив. Матеріал спирається на ту саму дисципліну, що в пілоті рукописних бланків УЗТ і в розборі згорткових мереж на цифрах: спочатку контракт задачі й дані, потім модель.
Ключові висновки
Модель не ухвалює рішення про придатність. Вона пропонує факт, клас, координати й упевненість. Допуск за нормативом — окремий шар правил плюс дефектоскопіст.
Головний ресурс — не графічний процесор, а розмічені знімки з метаданими. Без висновку експерта і без опису об'єкта модель вчиться на плямах конкретної плівки.
Наївне стискання кадру вбиває дрібний дефект. Кадр 4096 × 2048 не можна бездумно стискати в 640 × 640, якщо несуцільність займає 8 × 12 пікселів. Потрібні область шва, нарізка на фрагменти з перекриттям і зшивка відповідей.
Публічні 88 знімків GDXray Welds — навчальний набір для пілота, не заводська вибірка. Частина серій перетинається, розмітка є не на всіх кадрах, обладнання й епоха зйомки не збігаються з вашим цехом.
CNN на 5–30 млн параметрів уже серйозна основа. YOLO закриває «що і де». Сегментація потрібна, коли рахуєте площу й геометрію. CRNN — гіпотеза для протяжного шва, не універсальна заміна детектору.
Найдорожча помилка — хибнонегативна: пропущений реальний дефект. Висока частка хибних тривог дратує експерта; пропуск несуцільності ламає сенс контролю.
Розділяйте знімок на навчання і тест до нарізки на фрагменти. Інакше сусідні тайли однієї рентгенограми опиняться і в навчанні, і в тесті — метрика бреше.
Чому радіографічний контроль — задача з дорогою помилкою
Радіографічний контроль (РК) — один із методів неруйнівного контролю (НРК). Результат давно живе як цифрове зображення: оцифрована плівка або знімок із цифрового детектора. На підприємстві архіви таких кадрів рахуються тисячами й десятками тисяч. Кожен кадр читає людина, кваліфікація якої впливає на повноту і стабільність висновку.
Автоматизація тут цікава не тому, що «нейромережі вміють картинки», а тому що обсяг росте швидше, ніж число досвідчених дефектоскопістів, а ціна пропуску дефекту вища за ціну зайвої перевірки. Той самий принцип — тестувати й автоматизувати пропорційно ціні відмови — розібрано в економіці вартості збою. Для зварного шва відмова — це не «баг у формі», а несуцільність, яка може дійти до експлуатації.
Що саме намагаються побачити на знімку, залежить від технології зварки, матеріалу й нормативу, але типовий словник несуцільностей упізнаваний: пористість, шлакові включення, непровар, несплавлення, тріщини, підрізи, пропали та інші несуцільності. Уже на цьому кроці не можна змішати п'ять різних контрактів в один:
| Контракт | Питання | Що видає модель |
|---|---|---|
| Виявлення | Чи є дефект на кадрі? | GOOD / DEFECT або ймовірність |
| Класифікація | Який це тип? | клас або розподіл за класами |
| Локалізація | Де він? | обмежувальна рамка |
| Сегментація | Які пікселі? | маска |
| Вимірювання | Який розмір і форма? | довжина, ширина, площа, орієнтація |
| Придатність | Чи придатний шов за нормою? | не вихід моделі, а правило + експерт |
ШІ, який одразу ставить штамп «придатний», змішує статистичний детектор із юридично значущим висновком. Норматив оперує типом дефекту, розміром, розташуванням відносно кореня й поверхні, кількістю на одиницю довжини шва. Ці правила змінюються стандартом і договором, а не вагами мережі. Тому рушій правил краще тримати зовні навчання: модель можна донавчити на нових знімках, не переписуючи стандарти ISO і внутрішні карти контролю.
Рівні складності: від класу до нормативного висновку
Має сенс нарощувати постановку сходинками, а не починати з «автоматичного висновку на весь архів».
Перша сходинка — бінарна: знімок нормальний або на ньому є дефект. Це дешева розмітка і чесний пілот: зрозуміло, чи живе сигнал узагалі. Друга — тип дефекту на весь кадр. Вона ламається, щойно на одному шві трапляються і пори, і включення: одна мітка на зображення бреше. Третя — координати: кілька об'єктів на одному кадрі, у кожного клас і впевненість. Четверта — піксельна маска. П'ята — вимірювання за маскою або за рамкою. Шоста — чернетка висновку. Сьома — зіставлення з нормативними порогами.
Класифікація згортковою мережею виглядає просто: рентгенограма → CNN → ймовірності класів. На виході можна побачити, наприклад, пористість 0.91, шлак 0.04, тріщину 0.02, норму 0.03. Плюс такого контуру — швидкість, відносно дешева розмітка, зрозумілий базовий рівень. Мінус — немає координат, немає розміру, конфлікт кількох дефектів, чутливість до стискання кадру. Для архівного «відсіювання явно чистих» класифікатор корисний. Для вимірювання і допуску — ні.
Виявлення об'єктів (YOLO і споріднені детектори) відповідає на три питання одразу: що, де, наскільки модель упевнена. Результат — список рамок. На одному знімку шва це природно: пори серією, включення поруч, підріз на крайці. Розмітка рамками дорожча за бінарну, але все ще дешевша за повну маску. Слабке місце — дрібний об'єкт на величезному кадрі і рамка, яка погано пасує до витягнутої тріщини вздовж осі шва.
Сегментація (U-Net, Mask R-CNN і сучасні маскові мережі) дає піксельний контур. Рамка каже «дефект десь у цьому прямокутнику». Маска каже «ось ці пікселі». Площа, еквівалентний діаметр, витягнутість, відстань до краю шва рахуються за маскою, а не за рамкою. Платити за це доводиться найдорожчою розміткою: полігон або пензель на кожному дефекті.
CRNN у цій задачі — не перенесення оптичного розпізнавання символів (OCR) один в один. У розпізнаванні тексту послідовність — символи. На зварному шві послідовність — ділянки вздовж осі шва: локальні ознаки згортки, далі GRU/LSTM дивиться на сусідів. Так можна ловити слабкі протяжні зміни, які на одному тайлі виглядають як шум. Це гіпотеза архітектури, а не заміна детектору. Механіку CNN → послідовність ми вже розбирали для рукописних цифр; геометрію шва туди механічно не кладуть.
ViT ріже кадр на патчі й зв'язує їх увагою. Глобальний контекст корисний, коли дефект читається лише відносно всього шва. Ціна — дані. На маленькій вибірці трансформер зору з нуля вчить шум плівки. Має сенс лише донавчання попередньо навченого кодувальника і порівняння з CNN на незалежній вибірці, а не «бо так модно у 2026».
Чим рентгенограма шва ламає наївний конвеєр
Типовий промисловий кадр — не квадрат 224 × 224 з ImageNet. Роздільність порядку 4096 × 2048 трапляється регулярно. Дефект при цьому може бути 8 × 12 пікселів. Якщо просто стиснути все зображення до входу детектора 640 × 640, дрібний об'єкт зникає в усередненні. Модель чесно вчиться не бачити те, що ви самі викинули попередньою обробкою.
Робоча схема інша. Спочатку знаходять область шва (окрема модель або геометрія оснастки), потім ріжуть її на тайли. Розмір тайла обирають так, щоб дефект лишався об'єктом, а не точкою: часто 1024 × 1024 або близько, з перекриттям 20–30%, щоб об'єкт на межі не розрізався навпіл. Відповіді зшивають: рамки сусідніх тайлів зливають, маски склеюють, дублікати прибирають. Ресайз усередині тайла все ще відбувається, але масштаб уже інший.
flowchart TB
src[Radiograph]
src --> roi[WeldROI]
roi --> tiles[TilesWithOverlap]
tiles --> det[CNN_or_YOLO]
det --> stitch[StitchAndNMS]
stitch --> out[DefectCandidates]
Динамічний діапазон — друга пастка. Вихідник часто 12 або 16 біт: TIFF або DICOM, не «звичайний JPEG». Такий файл ріже гістограму, додає артефакти стиснення і може сховати слабкоконтрастну тріщину. Нормалізація гістограми і кероване підвищення контрасту потрібні, але це окремий, відтворюваний крок конвеєра, а не «зберегти з переглядача як JPG». Правило просте: не перетворюйте високобітну рентгенограму на JPEG без потреби. Якщо для розмітки потрібен 8-бітний попередній перегляд — зберігайте його поряд із вихідником, а навчання годуйте вихідною глибиною або контрольованим перетворенням 16→8 із записаними параметрами.
Артефакти модель охоче приймає за дефект: шум детектора, подряпини плівки, маркування, цифри експозиції, особливості конкретної установки, сліди оцифрування. Звідси окремий набір складних негативних прикладів: кадри, де модель кричала «дефект», а експерт сказав «ні». Без них промисловий детектор тоне в хибних тривогах і втрачає довіру зміни.
Набір даних важливіший за графічний процесор: розмітка і активне навчання
Схема корисного прикладу така: рентгенограма + метадані зйомки й об'єкта + висновок експерта + розмітка дефектів. Без метаданих ви не відрізните зсув домену від «модель слабка». Мінімум, який варто тягнути поряд зі знімком: діаметр труби, товщина стінки, матеріал, спосіб зварки, тип з'єднання, метод радіографії, обладнання, детектор або плівка, параметри експозиції, проекція, дата, оператор. Ці поля пояснюють, чому мережа, навчена на одному цеху, падає на іншому: інша плівка, інший кіловольт, інший шов.
Дисципліна «набір даних як продукт» — з власником, маніфестом і розділенням навчання й оцінки — та сама, що в інженерії наборів даних. Тут домен інший, правило те саме: спочатку контракт прикладу, потім обсяг і архітектура.
Розмітку не потрібно робити однаково дорогою на всіх кадрах. Чотири рівні закривають різні питання і різний бюджет.
| Рівень | Що розмічаємо | Навіщо | Орієнтир частки |
|---|---|---|---|
| 1 | весь кадр → норма / дефект | відсів, пілот, дешевий обсяг | усі знімки |
| 2 | тип дефекту на кадр | словник класів, груба статистика | частина архіву |
| 3 | рамка: x, y, w, h + клас |
навчання детектора | тисячі, не десятки тисяч |
| 4 | піксельна маска | вимірювання і геометрія | ще менше: найцінніші й спірні |
Приклад розподілу, не норматив: 50 000 кадрів із бінарною міткою, 15 000 із класом, 5 000 із рамкою або маскою. Дорогу геометрію вішають на кадри, які змінюють рішення моделі, а не на весь архів «про всяк випадок».
Вручну розмітити все не можна і не потрібно. Цикл активного навчання виглядає так: тисяча розмічених кадрів → навчання → модель проганяє нерозмічений архів → експерту показують невпевнені приклади → розмітка → донавчання. Якщо модель дає 0.99 «норма» і 0.98 «пористість», ці кадри майже не вчать. Кадри з 0.51 / 0.48 на межі класів — якраз ті, де експерт найдешевше купує нову інформацію.
Складні негативні приклади — окрема черга, не «ще одна пачка кадрів». Модель сказала «дефект», експерт відхилив. Цей кадр кладуть у явний набір хибних тривог і повертають у навчання. У промисловій радіографії це критично: маркування і подряпина повторюються частіше, ніж рідкісна тріщина, і без жорстких негативних прикладів мережа оптимізує «схоже на пляму».
Еталонний набір для оцінки краще вести окремо від навчального архіву — та сама логіка, що в золотого набору для RAG: вимірювати поведінку, а не підганяти її тим самим файлом, яким учили.
Навчальний набір зварних швів: не заводський контур
GDXray (і пізніша колекція GDXray+) — публічна база рентгенівських зображень для НРК і комп'ютерного зору, зібрана групою GRIMA. У статті 2015 року Мері та співавтори описують групи виливків, зварних швів, багажу, природних об'єктів і налаштувань зйомки. Група зварних швів містить 88 зображень у трьох серіях; знімки надав інститут BAM (Берлін). Це важливо проговорити вголос, бо в презентаціях «відкритий набір зварки» часто звучить як «можна одразу в цех».
Серія W0001 — 10 знімків, вибраних із ширшої серії, з анотаціями дефектів (у публікації вказані обмежувальні рамки й еталон для сотень несуцільностей). W0002 — бінарні еталонні маски тих самих 10 кадрів. W0003 — колекція оцифрованих радіограм кругового тесту BAM з розпізнавання дефектів у швах: близько 68 файлів, вихідна глибина 12 біт, далі лінійно приведена до 8 біт. Зйомка за класом A стандарту ISO 17636-1, оцифрування за ISO 14096-2. Уже тут видно обмеження: ви працюєте не з «сирим» промисловим 16-бітом вашого детектора, а з історично стисненим навчальним матеріалом.
Чому 88 кадрів ≠ 88 незалежних заводських випадків. W0001 — підмножина W0003, тобто кореляція між серіями вбудована в набір. Обсяг малий для стійкого детектора дрібних об'єктів. Варіативність обладнання, матеріалів і експозицій не покриває ваш цех. Дані старі відносно сучасних цифрових панелей. Ліцензія колекції орієнтована на дослідження й освіту; комерційне поширення зазвичай заборонене — це потрібно перевірити за актуальною сторінкою набору до вбудовування в продукт.
Як використовувати набір чесно:
GDXray Welds
→ пілот і перевірка коду завантаження
→ базовий рівень архітектури
→ експерименти з нарізкою і детектором
→ попереднє навчання / перенесення, якщо доречно
→ свої заводські знімки як справжня вибірка
Публічний набір відповідає на питання «чи живе конвеєр». На питання «чи можна ставити в цех» відповідає лише незалежна вибірка вашого підприємства, знята на вашому обладнанні, з вашим словником дефектів і вашим експертом.
Кому яка роль: згортка, детектор, сегментація, послідовність
Згорткова мережа все ще доречна, бо дефект на рентгенограмі — локальна текстура, межа, форма, контраст відносно сусідніх пікселів. Параметрів відносно небагато, індуктивне зміщення збігається з фізикою плями на шві. ResNet-50 — близько 25 млн параметрів, DenseNet-121 — близько 8 млн, родина EfficientNet і легкий MobileNet закривають спектр від сервера до скромнішого заліза. Починати навчання з нуля на парі тисяч промислових кадрів зазвичай гірше, ніж узяти кодувальник, попередньо навчений на ImageNet, і донавчити верхні шари на швах: низькорівневі фільтри меж переносяться, високорівневі «коти й собаки» — ні, їх якраз і змінюють.
YOLO («дивишся один раз») за один прохід дає клас, рамку й упевненість. Для шва це збігається з реальністю кадру: кілька несуцільностей, потрібні координати, розмітка рамками відносно підйомна, вивід швидкий. Дрібний об'єкт лишається проблемою: без нарізки і без багатомасштабних голів детектор дивиться на шов як на пейзаж. Практичний контур: великий кадр → тайл 1024 × 1024 → YOLO → зшивка. Альтернатива детектора — RT-DETR та інші трансформерні детектори; їх має сенс порівнювати на тій самій нарізці й тому самому незалежному тесті, а не в абстрактній таблиці з інтернету.
Сегментація вмикається, коли бізнес питає «скільки міліметрів» і «яка площа», а не лише «є червоний квадрат». U-Net добре живе на медичних і промислових масках; важчі маскові моделі мають сенс, якщо одночасно потрібні детекція і маска. Рахувати геометрію за рамкою — самообман для витягнутої тріщини і для ланцюжка пор.
Гібрид, який варто поставити як експериментальний контур, а не як догму:
flowchart TB
xray[DICOM_or_TIFF]
xray --> pre[Preprocess]
pre --> weld[WeldROI]
weld --> tile[Tiling]
tile --> yolo[YOLO]
tile --> cnn[CNN_features]
yolo --> fuse[Fusion]
cnn --> crnn[CRNN_along_weld]
crnn --> fuse
fuse --> seg[OptionalSegmentation]
seg --> meas[Measurements]
meas --> rules[RuleEngine]
rules --> ui[ExpertUI]
ui --> al[ActiveLearning]
al --> ds[Dataset]
Плюс: детектор дає кандидатів, згортка і послідовність уздовж шва додають контекст, правила не вшиті у ваги. Мінус: більше рухомих частин, більше способів непомітно протекти даними, складніше налагодження. Такий контур виправданий після того, як простий YOLO на тайлах уже виміряний і зрозумілі його сліпі зони.
Окрема мережа на кожен тип дефекту (CNN лише для пор, інша лише для тріщин) виглядає охайно на слайді і погано масштабується: спільний шар попередньої обробки, спільний шов, спільна плутанина класів, помножені розгортання. Одна голова з кількома класами — вихідний варіант. Спеціалізована модель виправдана пізніше, якщо один рідкісний клас (наприклад тріщина) системно програє в спільній голові і на нього зібрана окрема вибірка складних прикладів. Це виняток, який доводять метриками, а не смаком.
Зв'язок із уже наявною експертизою CNN/CRNN такий: кодувальник і навичка роботи з послідовністю переносяться, постановка — ні. У розпізнаванні тексту вісь часу — порядок символів. На шві вісь — геометрія зварного з'єднання. Перенести ваги з бланка УЗТ на рентгенограму «як є» не можна; перенести інженерну звичку (спочатку геометрія і нарізка, потім модель, потім людина) — можна. Це той самий урок, що в польових нотатках щодо бланків УЗТ.
Контур системи: детекція, правила, експерт
Конвеєр машинного навчання закінчується кандидатами, а не штампом у журналі НРК.
DICOM/TIFF → попередня обробка → область шва → нарізка
→ виявлення → класифікація → (сегментація) → вимірювання
→ рушій правил → інтерфейс експерта → зворотний зв'язок у набір
Шар правил приймає тип, розмір, положення, інколи кількість на одиницю довжини — і порівнює з картою контролю. Вихід цього шару — інженерна чернетка: «пористість, довжина ланцюжка X, відносно порога Y — на перевірку». Не «придатний». Розбіжність «модель бачить дефект, правило каже допустимо» має бути видимою, а не схованою в одному числі впевненості.
Інтерфейс експерта — частина продукту, не «екран адміністратора потім». На знімку — рамка або контур, тип, розмір, упевненість. Дії: прийняти, відхилити, виправити клас або геометрію. Кожна дія — розмічений приклад для наступного циклу. Без цього активного навчання немає: є лише разове «розмітили в CVAT і забули».
Спеціалізований вебінтерфейс має сенс, бо універсальні інструменти розмітки слабко вміють рентген: 16 біт, сильне збільшення, керований контраст, словник дефектів НРК, підтвердження передбачення моделі. Стек тут нудний і достатній: клієнт на React, API, сервіс виводу на Python, версія набору в об'єктному сховищі. У перспективі один контур служить і розміткою, і робочим місцем дефектоскопіста, і чергою активного навчання. Поки пілот не довів словник класів і якість детектора, достатньо CVAT або Label Studio — власний інтерфейс не повинен ставати способом відкласти навчання.
Зв'язка з оцінкою ризику обладнання — окрема розмова, не функція першої версії. Кандидат дефекту може пізніше живити модуль інспекції на основі ризику (RBI), але лише після того, як у несуцільності є тип, розмір, місце і людське підтвердження. Інакше в контур ризику поїде хибна тривога. Логіка програми цілісності описана в нотатках щодо інспекції на основі ризику; міст «знімок → ризик» — тема наступних статей серії, не стартовий обсяг робіт.
Метрики, витік даних і зсув домену
Частка правильних відповідей на незбалансованому архіві («більшість швів придатні») — небезпечна метрика: модель, яка завжди каже «норма», виглядає сильною і непотрібна. Дивляться точність (precision), повноту (recall), гармонійне середнє, площу під кривою помилок і під кривою точність-повнота, для детектора — mAP, для масок — IoU і коефіцієнт Dice, окремо частки хибнопозитивних і хибнонегативних. Для промислового контролю повнота за критичними класами (тріщина, непровар) важливіша за красиве середнє. Хибна тривога коштує часу експерта. Пропуск дефекту коштує сенсу всього контуру.
Найпідступніша помилка постановки експерименту — витік через тайли.
Неправильно: одну рентгенограму нарізали на 20 фрагментів, 15 поїхали в навчання, 5 — у тест. Сусідні тайли майже однакові: текстура плівки, експозиція, геометрія шва. Модель «впізнає» не дефект, а цей знімок. Правильно: спочатку ділять за об'єктом, швом, інспекцією, партією або підприємством, потім ріжуть на тайли. Якщо в навчанні цех A, у тесті має бути цех B або хоча б інша партія й інший апарат — інакше ви вимірюєте запам'ятовування установки, а не узагальнення.
Зсув домену тут не абстракція. Мережа легко вивчає конкретний апарат, плівку, детектор, звичку оператора ставити маркування, типову експозицію. Ідеальний експеримент жорсткий: навчання на підприємстві A й обладнанні A, тест на підприємстві B й обладнанні B. Якщо другого підприємства немає, хоча б тримайте повністю незайману відкладену вибірку за часом і за зміною.
Синтетичні дефекти («ідеальний шов + намальовані пори») годяться для попереднього навчання і для перевірки, що конвеєр не падає. Вони не рівні реальним несуцільностям: фізика розсіювання, краї, накладання на корінь шва інші. Ризик — вивчити нереалістичний артефакт і отримати красивий пілот на синтетиці. Схема чесна: синтетика → попереднє навчання → донавчання на реальних радіограмах → оцінка лише на реальних незалежних кадрах.
Трудовитрати, стек і перший експеримент
Орієнтири нижче — інженерна оцінка, не кошторисний норматив і не обіцянка календаря. Вони потрібні, щоб не планувати «навчити детектор за вихідні» і не забути основного платника часу — експерта.
| Стадія набору | Обсяг кадрів (порядок) | Людино-години (порядок) | Мета |
|---|---|---|---|
| Пілот | 1 000–2 000 | 100–300 | чи живе конвеєр, який базовий рівень |
| Робочий прототип | 5 000–10 000 | 400–1 000 | стійкий детектор, матриця помилок |
| Орієнтир на виробництво | 20 000–50 000+ | 1 500–3 000+ | незалежний тест, рідкісні класи |
Розробка конвеєра — десятки годин (умовно 40–100). Перший базовий рівень навчання — ще десятки (30–80). Підбір гіперпараметрів — 30–100. Розбір помилок — 50–150 і зазвичай більше, ніж хочеться. Ітерації розмітки з'їдають основний час. Час графічного процесора відносно дешевий. Час дефектоскопіста — ні.
Стек, якого достатньо, щоб не винаходити платформу в перший місяць: Python, PyTorch, OpenCV, Albumentations, NumPy, pandas; детектор YOLO (порівняння з RT-DETR — окремий прогін); сегментація U-Net; облік прогонів у MLflow або аналогу; розмітка в CVAT / Label Studio до власного інтерфейсу; вихідники DICOM/TIFF в об'єктному сховищі з версією набору. Це не «єдино правильний список», а спосіб не почати з навчання ViT і написання розмітчика одночасно.
Практичний план першого експерименту вкладається в чотири фази.
Фаза 1, один–два тижні. Зібрати 500–1000 кадрів. Зафіксувати словник класів. Описати формат розмітки. Зібрати попередню обробку без втрати бітності. Навчити базовий CNN-класифікатор на тайлах або на області шва. Мета — не точність для цеху, а відповідь: «сигнал є / сигналу немає».
Фаза 2, один–два тижні. Рамки. YOLO на тайлах із перекриттям. Матриця помилок. Розбір хибних тривог і пропусків. Набір складних негативних прикладів заводиться тут, не «потім».
Фаза 3. Порівняння: детектор проти CNN+CRNN уздовж шва; сегментація на підмножині, де потрібні розміри; ViT лише якщо обсяг і незалежний тест уже дозволяють чесне порівняння.
Фаза 4. Активне навчання, ріст набору, повністю незалежний тест (інша партія / інший апарат). Лише після цього розмова про шар правил і робоче місце експерта як про продукт, а не про демо.
Типові помилки
Змішати виявлення і допуск. Мережа видає «придатний», бо так зручніше вписати в акт. Потім змінюється норматив — і потрібно донавчати те, що мало бути таблицею порогів.
Стиснути весь кадр до входу ImageNet. Дрібний дефект зникає. Метрика на великих порах виглядає пристойно, тріщини немає.
Розрізати тайли раніше, ніж розділити вибірки. Сусіди однієї рентгенограми опиняються в навчанні й у тесті. Пілот «перемагає», заводський знімок — ні.
Навчати лише на GDXray і показувати це замовнику як готовність. 10 еталонних масок і круговий тест BAM не замінюють ваш детектор, вашу плівку і вашого експерта.
Окрема модель на кожен клас із першого дня. Чотири розгортання, чотири контури попередньої обробки, та сама плутанина пор і шлаку в чотирьох копіях.
Оптимізувати частку правильних відповідей. На архіві придатних швів вона висока в константи «все нормально».
Викинути хибні тривоги як «сміття». Це навчальний матеріал про маркування і подряпини. Без нього експерт вимкне систему на другій зміні.
Перенести CRNN з розпізнавання тексту без зміни осі. Послідовність символів ≠ послідовність ділянок шва. Кодувальник можна перевикористати як ідею, не як знімок ваг.
Що зробити сьогодні
Якщо у вас уже є архів рентгенограм, не починайте з вибору «детектор чи трансформер зору». Зробіть чотири речі, які завтра не доведеться викидати.
Зафіксуйте контракт: що вважається дефектом у вашому словнику і що модель не має права вирішувати (допуск). Випишіть це поряд із картою контролю, не в ноутбуці.
Зберіть 200–500 кадрів із бінарною міткою і метаданими апарата, товщини і методу зварки. Навіть без рамок це вже пілот класифікації і перевірка, що вихідники читаються як DICOM/TIFF, а не як вивантажений JPEG.
Розділіть вибірку за швом або інспекцією до будь-якої нарізки. Заведіть окрему теку, яку моделі не можна бачити до фінального звіту.
Проженіть один дурний базовий рівень: область шва → тайли → маленький CNN. Збережіть список найупевненіших помилок — це чернетка набору складних негативних прикладів і порядок денний розмови з дефектоскопістом.
Часті питання
Чи можна одразу ставити ШІ на лінію радіографічного контролю?
Ні, не як єдиного автора висновку. Спочатку пілот на архіві, незалежний тест, шар правил і обов'язкове підтвердження людиною. Інакше ви автоматизуєте підпис, а не контроль.
Скільки знімків потрібно, щоб «уже працювало»?
Залежить від словника дефектів і різноманітності обладнання. Порядок для пілота — тисячі, для стійкого детектора — десятки тисяч із дорогою розміткою лише на частині. Точне число без вашого архіву — ворожіння; таблиця вище — оцінка трудовитрат, не гарантія якості.
Чим YOLO кращий за звичайну CNN на весь кадр?
Класифікатор не каже, де дефект і скільки їх. Детектор дає рамки й класи на одному шві. Якщо потрібне лише відбраковування «зовсім чистий / дивитися очима», класифікатора може вистачити як першого фільтра.
Навіщо сегментація, якщо є рамки?
Рамка погано вимірює витягнуту тріщину і площу пористості. Маска потрібна, коли норматив оперує розміром і формою, а не фактом «десь у квадраті».
Чи варто починати з ViT?
На типовому заводському обсязі перших місяців — ні. Спочатку згортка і детектор із попереднім навчанням, потім порівняння трансформера на тому самому незалежному тесті. Інакше ви порівнюєте недонавчені моделі, а не індуктивні зміщення.
Чому не можна розрізати зображення і випадково розкидати тайли між навчанням і тестом?
Сусідні фрагменти однієї радіограми майже дублікати. Модель запам'ятовує знімок, а не дефект. Ділити потрібно об'єкти контролю, а різати — вже всередині частини.
Чи можна замінити дефектоскопіста шаром правил?
Ні. Правила кодують пороги нормативу. Експерт закриває сумнівні випадки, артефакти, конфлікт проекцій і відповідальність висновку. Модель і правила звужують його роботу до спірного, а не скасовують її.
Що почитати далі
Сусідні матеріали на сайті закривають шматки тієї самої дисципліни в інших доменах — їх не потрібно переказувати тут.
Як улаштовані CNN і CRNN на послідовності — рукописні цифри: від згортки до трансформера. Як промисловий пілот тримає людину в контурі — бланк УЗТ і чому однієї моделі мало. Як не плутати навчання й оцінку — інженерія наборів даних і еталонний набір для RAG. Навіщо рахувати ціну пропуску, а не лише зручність автоматизації — економіка вартості збою. Куди дефект може піти після підтвердження експертом — інспекція на основі ризику.
Наступні статті цієї лінійки логічно розібрати по одній осі: перший експеримент на GDXray Welds, навчання YOLO на дефектах шва, CNN+CRNN уздовж шва, активне навчання з дефектоскопістом, сегментація проти рамок для вимірювань, ViT проти CNN, збір заводського набору і міст до оцінки ризику.
Висновок
Автоматичний аналіз рентгенограм зварки — це не «завантажити велику модель». Це контур: високобітний вихідник, область шва, нарізка, детектор і класифікатор розумного розміру, за потреби маска й вимірювання, окремо правила допуску, окремо людина, окремо цикл розмітки. CNN на мільйонах параметрів і YOLO на тайлах уже дають серйозний пілот. CRNN корисний як гіпотеза протяжного контексту. ViT — альтернативний кодувальник на великому наборі, не старт. Публічний GDXray Welds перевіряє код, а не готовність цеху.
Практичний крок на цьому тижні: взяти пачку реальних кадрів, заборонити собі JPEG як єдине сховище, розрізати вибірку за швом і навчити найпростіший класифікатор на тайлах. Список його впевнених помилок скаже про ваш архів більше, ніж таблиця архітектур. У лабораторії коду це виглядає як збирання контуру зі стиками, які можна перевірити, а не як купівля «ШІ для НРК» одним контрактом.


