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

AI-система автоматичного сортування продуктів харчування Ручне сортування продуктів — вузьке місце на виробництві. Оператор втомлюється через 40 хвилин і пропускає до 10% дефектних одиниць. При швидкості стрічки 300 об'єктів на хвилину це десятки тонн браку за зміну. Автоматизація на базі комп'ют

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

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

Ручне сортування продуктів — вузьке місце на виробництві. Оператор втомлюється через 40 хвилин і пропускає до 10% дефектних одиниць. При швидкості стрічки 300 об'єктів на хвилину це десятки тонн браку за зміну. Автоматизація на базі комп'ютерного зору вирішує проблему: нейромережа детектує та класифікує дефекти в реальному часі, а пневматичний актуатор здуває некондицію. Наш досвід — 10+ років в AI-рішеннях для харчової промисловості, сертифіковані моделі та гарантія точності до 98%. Сортувальна лінія з AI включає детекцію, класифікацію та управління фізичним актуатором з latency 20–50ms. Якщо затримка перевищує поріг, продукт їде повз сортувальну точку. Автоматизація скорочує частку браку на 50% та збільшує пропускну здатність лінії в 3–5 разів.

Як працює real-time сортування?

Основний цикл: камера захоплює кадр, нейромережа (YOLO) детектує об'єкти, класифікує дефекти, і система розраховує час активації актуатора з урахуванням швидкості стрічки та відстані від камери до актуатора. Нижче — приклад реалізації на Python з потоками та чергою команд.

import cv2 import numpy as np from ultralytics import YOLO import time from queue import Queue import threading class FoodSortingSystem: def __init__(self, config: dict): self.detector = YOLO(config['model_path']) self.belt_speed = config['belt_speed_ms'] self.camera_to_actuator_dist = config['cam_to_actuator_m'] self.actuator_delay = self.camera_to_actuator_dist / self.belt_speed self.actuator_queue = Queue() self.actuator_thread = threading.Thread(target=self._actuator_worker, daemon=True) self.actuator_thread.start() self.grade_to_lane = config['grade_to_lane'] def process_frame(self, frame: np.ndarray, frame_timestamp: float) -> list: start = time.perf_counter() results = self.detector(frame, conf=0.45) inference_ms = (time.perf_counter() - start) * 1000 sorting_commands = [] for box in results[0].boxes: cls = self.detector.model.names[int(box.cls)] bbox = list(map(int, box.xyxy[0])) conf = float(box.conf) belt_pos = (bbox[0] + bbox[2]) / 2 / frame.shape[1] dist_to_actuator = (1 - belt_pos) * self.belt_speed * self.camera_to_actuator_dist trigger_time = frame_timestamp + dist_to_actuator / self.belt_speed grade = self._classify_grade(cls, conf) lane = self.grade_to_lane.get(grade, 0) if lane > 0: cmd = {'trigger_time': trigger_time, 'lane': lane, 'grade': grade, 'class': cls, 'confidence': conf, 'inference_ms': inference_ms} self.actuator_queue.put(cmd) sorting_commands.append(cmd) return sorting_commands def _actuator_worker(self): while True: cmd = self.actuator_queue.get() now = time.time() wait = cmd['trigger_time'] - now if wait > 0: time.sleep(wait) self._trigger_actuator(cmd['lane']) self.actuator_queue.task_done() def _trigger_actuator(self, lane: int): pass def _classify_grade(self, defect_class: str, confidence: float) -> str: critical = ['mold', 'rot', 'foreign_object'] moderate = ['bruise', 'crack', 'large_scar'] if defect_class in critical: return 'Reject' if defect_class in moderate and confidence > 0.6: return 'Juice' if defect_class in moderate: return 'Standard' return 'Premium' 

Чому мультиспектральне сортування необхідне?

RGB-камери не бачать внутрішні дефекти. Для горіхів (пліснява всередині) і деяких фруктів використовують NIR (near-infrared) або гіперспектральні камери. NIR-діапазон (750–1100nm) проникає під шкірку, показуючи афлатоксин або внутрішні потемніння. Гіперспектральна камера (400–1000nm) знімає більше 100 спектральних каналів, що дозволяє виявити хімічний склад поверхні. Такі системи критичні для продуктів з тонкою шкіркою або прихованими вадами. Near-infrared spectroscopy широко застосовується в харчовій промисловості для контролю якості. Економія від впровадження мультиспектрального сортування досягає 1–2 млн грн на рік на середній лінії за рахунок скорочення невиявленого браку.

class NearIRSorter: """ NIR (750–1100nm): проникает под кожуру, показывает внутренние дефекты. Гиперспектральная камера (400–1000nm): 100+ спектральных каналов. """ def __init__(self, nir_model_path: str): self.model = torch.load(nir_model_path) def detect_internal_defect(self, nir_image: np.ndarray) -> dict: tensor = self._preprocess(nir_image) with torch.no_grad(): output = self.model(tensor) return { 'has_internal_defect': bool(output.argmax() == 1), 'defect_probability': float(torch.softmax(output, -1)[0][1]) } 

Як інтегрувати AI-сортування з існуючим PLC?

Інтеграція з промисловим контролером — ключовий етап. Система передає команди актуатору через Modbus TCP/RTU, OPC-UA або Profinet. Час від детекції до команди не повинен перевищувати 40ms — інакше об'єкт зміститься за межі зони здуву. Для цього пайплайн оптимізують: інференс на GPU, черга команд з часовими мітками, асинхронне відправлення. Ми налаштовуємо інтерфейс під ваш PLC, гарантуючи синхронізацію з конвеєром.

Етапи впровадження AI-сортування

  1. Аудит лінії: замір швидкості, освітлення, типу продуктів, поточних дефектів.
  2. Підбір обладнання: камера (RGB, NIR, гіперспектральна), об'єктив, освітлення, обчислювач.
  3. Збір та розмітка даних: мінімум 10 000 розмічених об'єктів на клас.
  4. Навчання моделі: YOLO для детекції, ResNet або EfficientNet для класифікації.
  5. Розробка пайплайну: код на Python з потоками, чергою, інтеграцією з PLC.
  6. Лабораторне тестування: прогін на стенді, коригування threshold.
  7. Пусконалагодження на виробництві: калібрування, навчання операторів.
  8. Моніторинг та підтримка: відстеження дрейфу моделі, щотижневе калібрування.

Продуктивність сортувальних систем

Параметр Значення
Продуктивність До 800 об'єктів/хв на потік
Latency (camera → actuator command) 15–40ms
Точність класифікації 93–98% (залежить від продукту)
Мінімальний розмір об'єкта ~15мм @ 1м від камери
Інтеграція з PLC Modbus TCP/RTU, OPC-UA, Profinet

AI-сортування вигідніше ручного контролю: в 3–5 разів ефективніше та знижує частку браку на 50%. Людина втомлюється через 40 хвилин, пропускаючи до 10% дефектів. Система працює стабільно 24/7. Окупність — 6–18 місяців за рахунок скорочення відходів та підвищення якості продукції. Середня економія на браку становить близько 1–2 млн грн на місяць на високопродуктивній лінії.

Типові помилки при впровадженні AI-сортування

  • Недостатня розмітка даних (менше 10 000 об'єктів на клас) → низька точність.
  • Ігнорування освітлення: відблиски та тіні різко погіршують детекцію.
  • Затримка більше 40ms через повільний пайплайн: продукт проскакує повз актуатор.
  • Відсутність калібрування після пуску: модель дрейфує, точність падає протягом тижня.
  • Інтеграція через застарілі протоколи (наприклад, тільки дискретні сигнали) без зворотного зв'язку.

Що входить в проект впровадження

До складу робіт з автоматизації входять: аудит лінії та підбір обладнання; збір та розмітка навчальних даних; навчання та валідація моделі; розробка real-time пайплайну з чергою команд; інтеграція з PLC через Modbus/OPC-UA; пусконалагоджувальні роботи та калібрування; документація та навчання персоналу; гарантійне обслуговування (6–12 місяців) та опція розширеної підтримки. Отримайте консультацію — ми оцінимо вашу лінію та запропонуємо оптимальне рішення.

Терміни та вартість

Вартість розраховується індивідуально після аудиту. Терміни — діапазоном:

Тип проекту Термін
Сортувальник одного продукту (2–3 категорії) 4–7 тижнів
Мультипродуктова лінія + PLC інтеграція 8–14 тижнів
Високошвидкісна лінія (> 500 од/хв) 10–18 тижнів

Зв'яжіться з нами для консультації. Замовте аудит вашої лінії — ми оцінимо проект та підберемо оптимальне рішення.