Введение
Введение Дефектоскопия является неотъемлемым этапом производства металлопрокатной продукции [1]. Искусственный интеллект, включая машинное обучение (ML) и компьютерное зрение (CV), играет важную роль в промышленности, помогая решать разнообразные задачи. Эти технологии находят применение во многих областях, включая производство металлопроката, где они используются для выявления дефектов, управления качеством и оптимизации производственных процессов. Производство металлопроката включает несколько этапов, начиная с подготовки сырья и заканчивая отгрузкой готовой продукции. На каждом этапе возможно появление дефектов, таких как трещины, царапины, вмятины или коррозия. Традиционно для выявления таких дефектов используются методы визуального осмотра, однако этот процесс трудоемкий и может не всегда обеспечивать высокую точность [2-4]. Для ускорения процесса контроля качества и повышения его точности было предложено использовать данные с фото/видео устройств, размещенных около прокатных станков, с последующей обработкой с помощью алгоритмов компьютерного зрения. Эти алгоритмы способны анализировать полученные изображения на предмет наличия дефектов, выделяя и классифицируя их типы.
Методология
Применение такого подхода позволяет значительно сократить время на контроль качества металлопроката и повысить точность выявления дефектов. Это, в свою очередь, способствует уменьшению количества брака и оптимизации производственных процессов. Целью статьи является разработка прототипа веб-сервиса, который использует нейронные сети для анализа изображений или видео с целью обнаружения дефектов на поверхности стальных листов. Этот проект направлен на повышение эффективности контроля качества в производстве металлопроката.
Результаты
Материалы и методы Предлагаемый веб-сервис построен на основе применения нейронной сети, которая, в ходе применения детекции дефектов металлопроката, выдает заключение о наличии или отсутствии производственного брака. Следовательно, этапы разработки были следующие: - подготовка и аннотирование датасетов; - обучение нейросети; - разработка веб-интерфейса для сервиса. Для обеспечения эффективного обучения нейронной сети, собранные изображения были разделены на три набора: обучающий, валидационный и тестовый [5]. Каждый набор содержал изображения всех шести классов дефектов, с количеством 276 обучающих, 12 валидационных и 12 тестовых изображений для каждого класса. Данные были подготовлены и аугментированы (рис. 1) Рисунок 1 – Фрагмент кода (аугментация данных) Эти параметры аугментации были выбраны для имитации возможных вариаций в реальных условиях эксплуатации металлопроката, что позволяет улучшить обобщающую способность модели. Далее используются генераторы данных для создания потоков изображений для обучения и валидации (рис. 2). Рисунок 2 – Фрагмент кода (использование генераторов) Проанализируем результаты, полученные после обучения сверточной нейронной сети. Используя библиотеку matplotlib, были визуализированы кривые точности и потерь во время обучения и валидации (рис. 3).
Результаты
Рисунок 3 – Точность модели на обучающих и валидационных данных Точность обучения плавно увеличивается с 0.18 до 0.94, что указывает на эффективное обучение модели. Точность модели на валидационных данных растет рывками от 0.35 до 0.98, показывая, что модель хорошо обобщает на новых данных. Потери обучения плавно уменьшаются с 1.75 до 0.19, что свидетельствует о минимизации ошибки модели во время обучения. Потери модели на валидационных данных снижаются с 1.7268 до 0.0609, что демонстрирует хорошую производительность модели на валидационном наборе данных. Для оценки производительности модели на тестовом наборе данных используется следующий код (рис.4): Рисунок 4 – Фрагмент кода (точность нейронной сети на тестовых данных) Выход кода показывает точность на тестовых данных, равную 0.931, что является высоким результатом и подтверждает эффективность модели. Далее была произведена визуальная оценка точности прогнозов модели путём вывода 16 случайных изображений из тестового набора данных, их предсказанные и истинные классы (рис. 5). Рисунок 5 – Предсказание нейронной сети с изображениями Текст заголовка окрашен в зеленый цвет, если класс предсказан верно, и в красный, если модель ошиблась. В данном случае модель ошиблась в двух прогнозах из шестнадцати, что демонстрирует высокую точность классификации. Далее был разработан API, используя Python с фреймворком Flask, который обеспечит прием изображений, их обработку и возврат результатов классификации.
Обсуждение
Был создан файл app.py , включающий следующий код: from flask import Flask, request, jsonify import tensorflow as tf from PIL import Image import io app = Flask(__name__) # Загрузка обученной модели model = tf.keras.models.load_model('model.h5') @app.route('/predict', methods=['POST']) def predict(): if 'file' not in request.files: return jsonify({'error': 'no file'}), 400 file = request.files['file'] # Преобразование изображения в формат, подходящий для модели image = Image.open(io.BytesIO(file.read())).resize((224, 224)) image = tf.keras.preprocessing.image.img_to_array(image) image = tf.expand_dims(image, 0) # Добавление размерности batch predictions = model.predict(image) # Преобразование вывода модели в полезную информацию predicted_class = tf.argmax(predictions, axis=1).numpy() # Возврат результата классификации return jsonify({'class': str(predicted_class[0])}) if __name__ == '__main__': app.run(debug=True) Этот код создает простое API с одним эндпоинтом /predict, который принимает изображения через POST-запросы. Изображение обрабатывается и подается в модель для предсказания. Результат предсказания возвращается клиенту в формате JSON.
Обсуждение
В заключение, представленный веб-сервис для обнаружения и классификации дефектов металлопрокатной продукции демонстрирует значительный потенциал применения искусственного интеллекта в промышленном секторе. Разработка и реализация данного сервиса основывается на глубоком анализе и обработке данных с использованием нейронных сетей, что позволяет достигать высокой точности в определении различных типов дефектов. Этапы подготовки данных, их аннотирования, а также последующее обучение нейросети являются ключевыми моментами в создании эффективного инструмента для контроля качества продукции. Важность данной разработки также заключается в возможности её применения не только для обнаружения дефектов, но и для предотвращения возможного производственного брака на ранних этапах производственного процесса. Веб-интерфейс сервиса обеспечивает удобный доступ для пользователей, делая процесс анализа быстрым и эффективным.
Выводы
Результаты, полученные в ходе работы над проектом, подтверждают высокую эффективность использования методов искусственного интеллекта в области контроля качества промышленной продукции. Однако следует отметить, что для дальнейшего повышения точности и надежности системы необходимо продолжать работу по расширению и уточнению обучающих датасетов, а также оптимизации алгоритмов работы нейронной сети. Таким образом, предложенный веб-сервис является перспективным направлением в области применения искусственного интеллекта для задач контроля качества. Он открывает новые возможности для повышения эффективности производственных процессов и минимизации потерь от бракованной продукции, что имеет важное значение для устойчивого развития промышленности.