AI-система візуального контролю якості продуктів харчування

Людське око втомлюється, і до кінця зміни дефекти на лінії починають вислизати від уваги. Ми розробляємо AI-системи візуального контролю, які інспектують кожен продукт цілодобово, без втрати концентрації. Наша команда реалізує проєкт під ключ — від аудиту та налаштування освітлення до впровадження машинного зору та подальшої підтримки.
Часті запитання

AI-візуальний контроль якості продуктів харчування

На виробничій лінії гниле яблуко в партії преміум-сорту може залишитися непоміченим — людське око втомлюється, увага падає до кінця зміни. Ми ставимо машинний зір на базі computer vision та YOLOv8, який інспектує кожен продукт 24/7 без знижок на втому. Автоматизований візуальний контроль знижує кількість помилково пропущених дефектів на 80% і скорочує частку ручної праці до мінімуму. Система використовує три камери (верх + два боки) для багаторакурсної зйомки, що критично для дефектів на кшталт забоїв яблук, видимих лише під певним кутом. Точність детекції — до 98% для типових дефектів. Окупність системи — від 6 до 12 місяців при продуктивності від 5 тонн за зміну.

Основні складнощі візуального контролю

Освітлення — ключовий фактор. Забій яблука видно лише при певному куті світла. Рішення — багаторакурсна зйомка (3–4 камери) або поляризоване світло, яке пригнічує відблиски. Без правильного освітлення модель не відрізнить свіжий плід від битого.

Суб’єктивний стандарт. Оцінка свіжості риби за кольором зябер або прозорістю очей потребує навченої моделі на вузьких ознаках. Ми використовуємо мультиспектральні камери (NIR) для м’яса та птиці — у ближньому ІЧ діапазоні крововиливи видно незалежно від кольору шкіри.

Швидкість конвеєра. При швидкості 0.3 м/с і ширині стрічки 1.2 м потрібно обробити кадр за 15–20 мс. На Jetson Orin ми вкладаємося в 12 мс для 720p — з детекцією YOLOv8m та кольоровою перевіркою.

Як AI справляється з варіаціями освітлення?

Модель навчається на синтетично змінених зображеннях: додавання шуму, зміна яскравості, контрасту, імітація різних джерел світла. Також застосовується адаптивна нормалізація гістограми перед інференсом. У production-системі ми фіксуємо калібрування освітлення та моніторимо відхилення через спектрофотометр.

Чому точність залежить від розміру датасету?

Модель має бачити всі варіації дефекту: різний розмір, орієнтацію, освітлення. На 4200 зображеннях яблук (3 сорти) ми досягли recall 98.7% по гнилі. Якщо датасет менше 2000, модель перевчається і погано узагальнює. Оптимальний обсяг — 3000–5000 розмічених кадрів на продукт.

Типові задачі та методи

Приклад програмного коду для інспекції
import cv2
import numpy as np
from ultralytics import YOLO
import segmentation_models_pytorch as smp
import torch
from PIL import Image

class FoodQualityInspector:
    def __init__(self, config: dict):
        self.detector = YOLO(config['detection_model'])
        self.seg_model = smp.Unet(
            encoder_name='efficientnet-b3',
            classes=3,  # good, defect, background
            activation='softmax2d'
        )
        seg_ckpt = torch.load(config['seg_model'])
        self.seg_model.load_state_dict(seg_ckpt)
        self.seg_model.eval()
        self.color_standards = config.get('color_standards', {})
        self.defect_area_threshold = config.get('max_defect_ratio', 0.03)

    def inspect(self, image: np.ndarray, product_type: str) -> dict:
        result = {
            'product_type': product_type,
            'passed': True,
            'defects': [],
            'grade': 'A'
        }
        det_results = self.detector(image, conf=0.4)
        defect_area_total = 0
        for box in det_results[0].boxes:
            cls = self.detector.model.names[int(box.cls)]
            bbox = list(map(int, box.xyxy[0]))
            area = ((bbox[2]-bbox[0]) * (bbox[3]-bbox[1]))
            img_area = image.shape[0] * image.shape[1]
            defect = {
                'type': cls,
                'bbox': bbox,
                'area_ratio': area / img_area,
                'confidence': float(box.conf)
            }
            result['defects'].append(defect)
            defect_area_total += area / img_area
        if product_type in self.color_standards:
            color_result = self._color_check(image, product_type)
            result['color_analysis'] = color_result
            if not color_result['in_range']:
                result['defects'].append({
                    'type': 'color_deviation',
                    'deviation': color_result['deviation']
                })
        critical_defects = [d for d in result['defects'] if d['type'] in ['mold', 'rot', 'foreign_object']]
        if critical_defects:
            result['passed'] = False
            result['grade'] = 'REJECT'
        elif defect_area_total > self.defect_area_threshold:
            result['grade'] = 'C'
        elif result['defects']:
            result['grade'] = 'B'
        return result

    def _color_check(self, image: np.ndarray, product_type: str) -> dict:
        hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
        standard = self.color_standards[product_type]
        lower = np.array(standard['hsv_lower'])
        upper = np.array(standard['hsv_upper'])
        mask = cv2.inRange(hsv, lower, upper)
        in_range_ratio = mask.sum() / 255 / mask.size
        return {
            'in_range': in_range_ratio > standard.get('min_ratio', 0.6),
            'ratio': float(in_range_ratio),
            'deviation': float(1 - in_range_ratio)
        }

Специфіка за категоріями продуктів

Фрукти та овочі

Основні дефекти — гниль, забої, тріщини, сторонні включення. Ключова складність — забій яблука видно лише при певному освітленні. Рішення: багаторакурсна зйомка (3–4 камери) або поляризоване світло.

М’ясо та птиця

Крововиливи, забруднення, неповна обробка. Мультиспектральна камера (NIR діапазон) краще стандартного RGB для виявлення крововиливів.

Хліб та випічка

Тріщини скоринки, сторонні включення, недопік. Задача висококонтрастна — працює добре.

Риба

Свіжість визначається за кольором зябер, прозорістю очей. Потребує навченої моделі на специфічних ознаках.

Порівняння методів детекції за продуктами

Продукт Основні дефекти Рекомендована модель Додаткові датчики
Яблука Гниль, забій, тріщина YOLOv8 + ResNet Поляризоване світло
Курка Крововилив, неповна обробка EfficientDet NIR камера
Хліб Тріщини скоринки, включення YOLOv8 Стандартне RGB
Риба Колір зябер, прозорість очей EfficientNet-b4 NIR + висока роздільна здатність

Кейс: лінія сортування яблук, 8 т/год (з нашої практики)

Конвеєрна стрічка 1.2м шириною, швидкість 0.3 м/с, 3 камери (верх + 2 бокових). Задача — сортування на 3 категорії: Premium (без дефектів), Standard (дрібні), Juice (великі дефекти).

  • Модель: YOLOv8m, донавчений на 4200 зображеннях яблук (3 сорти)
  • Класи: bruise, rot_spot, scar, crack, size_small, size_large
  • Продуктивність: обробка 1 кадру 720p за 12ms на Jetson Orin

Результати після 2 тижнів експлуатації:

  • Точність класифікації Premium/Standard: 96.2%
  • Точність виявлення гнилі (recall): 98.7%
  • Втрати від неправильного сортування знизилися на 68% порівняно з ручним контролем, що призводить до значної економії

Що входить у роботу: доставка "під ключ"

  1. Аудит виробничої лінії — оцінка освітлення, швидкості конвеєра, доступного місця
  2. Збір та розмітка датасету — від 2000 зображень з анотаціями дефектів
  3. Навчання моделі — YOLOv8, EfficientNet або Transformer-based архітектура (вибір залежить від вимог до швидкості та точності)
  4. Інференс-інжиніринг — оптимізація для запуску на Jetson, GPU-сервері або хмарі (Triton, ONNX)
  5. Інтеграція з конвеєром — синхронізація камер, пульсація сортувальників, протоколи OPC UA/Modbus
  6. Документація та навчання операторів — інструкції, регламенти, дашборд
  7. Гарантія — 6 місяців підтримки моделі (донавчання при появі нового дефекту)

Терміни розробки

Продукт Термін розробки
Детектор дефектів одного продукту 4–6 тижнів
Мультипродуктова система (3–5 видів) 8–12 тижнів
З інтеграцією у виробничу лінію 10–16 тижнів

Консультація та пілотний проєкт

Для оцінки вашого проєкту зв’яжіться з нами — проведемо аудит лінії та запропонуємо рішення під ваш бюджет і терміни. Замовте пілотний проєкт на два тижні, щоб побачити точність на своїй продукції. Отримайте консультацію щодо впровадження AI-інспекції на вашій лінії.

Наш досвід: 10 впроваджених систем у харчовій промисловості, сертифікати на відповідність ISO 9001 та HACCP.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142