Содержание
Радиографический контроль сварного шва даёт цифровое изображение, на котором дефект иногда занимает десяток пикселей на кадре в тысячи пикселей. Ошибка здесь стоит не «неудобного интерфейса»: пропущенная трещина или непровар уходит в заключение, а от заключения — в допуск оборудования. ИИ здесь уместен как помощник дефектоскописта, а не как кнопка «годен / не годен».
Ниже — инженерная карта контура: постановка как задача компьютерного зрения (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 как единственное хранилище, разрезать выборку по шву и обучить самый простой классификатор на тайлах. Список его уверенных ошибок скажет про ваш архив больше, чем таблица архитектур. В лаборатории кода это выглядит как сборка контура со стыками, которые можно проверить, а не как покупка «ИИ для НК» одним контрактом.


