Платформа «Агрориск»Управление рисками в АПК

Статья журнала

ВЕБ-СЕРВИС ДЛЯ ОБНАРУЖЕНИЯ И КЛАССИФИКАЦИИ ДЕФЕКТОВ МЕТАЛЛОПРОКАТНОЙ ПРОДУКЦИИ НА БАЗЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Цитирование

ФИЛИППОВ , П.. ВЕБ-СЕРВИС ДЛЯ ОБНАРУЖЕНИЯ И КЛАССИФИКАЦИИ ДЕФЕКТОВ МЕТАЛЛОПРОКАТНОЙ ПРОДУКЦИИ НА БАЗЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА / П.. ФИЛИППОВ // Управление рисками в АПК. – 2024. – № S3 (53). – C. -. – .

Аннотация

Статья посвящена разработке веб-сервиса, предоставляющего удобный интерфейс к нейросети, решающей задачу анализа изображений или видео с целью обнаружения дефектов на поверхности стальных листов. Этот проект направлен на повышение эффективности контроля качества в производстве металлопроката. Проведена разработка нейросети, ее валидация. Разработан API на базе фреймворка Flask.

Ключевые слова

веб-сервис, нейросеть, компьютерное зрение, дефектоскопия, металлопрокат, Flask

Введение

Введение Дефектоскопия является неотъемлемым этапом производства металлопрокатной продукции [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.

Обсуждение

В заключение, представленный веб-сервис для обнаружения и классификации дефектов металлопрокатной продукции демонстрирует значительный потенциал применения искусственного интеллекта в промышленном секторе. Разработка и реализация данного сервиса основывается на глубоком анализе и обработке данных с использованием нейронных сетей, что позволяет достигать высокой точности в определении различных типов дефектов. Этапы подготовки данных, их аннотирования, а также последующее обучение нейросети являются ключевыми моментами в создании эффективного инструмента для контроля качества продукции. Важность данной разработки также заключается в возможности её применения не только для обнаружения дефектов, но и для предотвращения возможного производственного брака на ранних этапах производственного процесса. Веб-интерфейс сервиса обеспечивает удобный доступ для пользователей, делая процесс анализа быстрым и эффективным.

Выводы

Результаты, полученные в ходе работы над проектом, подтверждают высокую эффективность использования методов искусственного интеллекта в области контроля качества промышленной продукции. Однако следует отметить, что для дальнейшего повышения точности и надежности системы необходимо продолжать работу по расширению и уточнению обучающих датасетов, а также оптимизации алгоритмов работы нейронной сети. Таким образом, предложенный веб-сервис является перспективным направлением в области применения искусственного интеллекта для задач контроля качества. Он открывает новые возможности для повышения эффективности производственных процессов и минимизации потерь от бракованной продукции, что имеет важное значение для устойчивого развития промышленности.

Источники

  1. Библиографический список:
  2. 1. Эдер, А. В. Теоретические аспекты модернизации АПК в условиях перехода к цифровой экономике / А. В. Эдер, В. Т. Водянников // Материалы Международной научной конференции молодых учёных и специалистов, посвящённой 135-летию со дня рождения А.Н. Костякова : сборник статей, Москва, 06–08 июня 2022 года. Том 1. – Москва: Российский государственный аграрный университет - МСХА имени К.А. Тимирязева, 2022. – С. 588-593. – EDN RHLQHQ.
  3. 2. Марукович Е. И., Патук Е. М., Марков А. П., Сергеев С. С., Старовойтов А. Г., Бондарев О. Ю. Спектрально-фотометрическая дефектоскопия поверхностей отливок и проката // Литьё и металлургия. 2014. №4 (77). URL: https://cyberleninka.ru/article/n/spektralno-fotometricheskaya-defektoskopiya-poverhnostey-otlivok-i-prokata (дата обращения: 11.04.2024).
  4. 3. ГОСТ Р 52079-2003. Прокат листовой и широкополосный из низколегированной и углеродистой стали для холодного формования. Технические условия. – М.: Издательство стандартов, 2004. – 15 с.
  5. 4. ГОСТ 27809-95. Контроль неразрушающий. Термины и определения. – М.: Издательство стандартов, 1996. – 12 с.
  6. 5. Рашка С. Python и машинное обучение : машинное и глубокое обучение с использованием Python, scikit-learn и TensorFlow2 / С. Рашка, В. Мирджалили. – Санкт-Петербург : Диалектика, 2020. – 848 с. – Текст: электронный.
  7. 6. Flask [Электронный ресурс]. URL: License — Flask 0.10.1.post20150816 documentation (flask-dev.readthedocs.io) (дата обращения: [15.03.2024]