Проблема ручного підрахунку на будівництві
Інвентаризація матеріалів на будівництві вручну — джерело помилок і втрат. Арматура, цегла, мішки з цементом, труби, листи фанери — все це можна перерахувати автоматично за фото з телефона або камери дрона. Ми розробляємо системи комп'ютерного зору для AI-підрахунку будматеріалів під ключ: від збору датасету до інтеграції з вашою WMS або 1С. Замовники економлять до 80% часу на інвентаризації та виключають людський фактор.
Як AI-система обробляє щільні штабелі?
Класичний детектор (наприклад, YOLOv8) збоїть, коли об'єкти лежать впритул: IoU > 0.6, NMS подавляє правильні детекції. Точність падає до 60–70%. Для таких випадків використовуємо density estimation — підхід, запозичений з підрахунку натовпу. Мережа передбачає карту щільності, сума пікселів якої ≈ кількість об'єктів. Для мішків у штабелях точність піднімається до 91–95%. Density estimation перевершує YOLO детекцію в 1.3–1.5 раза за точністю на щільних штабелях. Density estimation — метод, адаптований для промислового обліку.
class DensityBasedCounter: """ CSRNet або CrowdCounting підхід, адаптований для матеріалів. Замість детекції кожного об'єкта передбачаємо карту щільності. Сума пікселів карти щільності ≈ кількість об'єктів. """ def __init__(self, model_path: str): import torchvision.models as models # VGG16 backbone + density head self.model = self._build_csrnet() self.model.load_state_dict(torch.load(model_path)) self.model.eval() @torch.no_grad() def count(self, image: np.ndarray) -> dict: from torchvision import transforms transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) tensor = transform(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) tensor = tensor.unsqueeze(0) density_map = self.model(tensor)[0, 0].numpy() # Сума карти щільності = кількість об'єктів count = float(density_map.sum()) return { 'method': 'density_estimation', 'count': round(count), 'count_float': count, 'density_map': density_map } Чому density estimation точніше детектора для мішків?
Для насипних матеріалів та об'єктів у щільних рядах класичний детектор збоїть. YOLO детекція програє density estimation: точність падає до 60–70% проти 91–95% у методу щільності. Density map approach дає більш стабільні результати на об'єктах, що перекриваються. В основі — архітектура CSRNet, спочатку розроблена для підрахунку людей на зображеннях, але чудово працює і для будматеріалів.
Як ми збираємо та розмічаємо датасет?
Для навчання потрібно 1000–3000 розмічених фотографій матеріалів у різних ракурсах та умовах. Ми допомагаємо з організацією зйомки або приймаємо готові знімки. Чим різноманітніший датасет, тим вища точність. Розмітка виконується вручну кваліфікованими операторами з використанням полігональної розмітки. На кожен матеріал — цегла, арматура, мішки, труби — ми створюємо окрему навчальну вибірку. Це дозволяє моделі точно визначати кількість об'єктів навіть при частковому перекритті.
Кейс: інвентаризація складу арматури (наш клієнт)
Крупний дистриб'ютор будматеріалів зі складом 800 т арматури в пачках, 6 типорозмірів (d8 до d32). Ручна інвентаризація: 2 особи, 8 годин на місяць. Після впровадження: оператор фотографує торці пачок на планшет (20–30 фото за годину). Модель підраховує кількість прутків у кожній пачці: Hough circles для d12–d25, density estimation для d8.
- Точність підрахунку: ±2% від ручного перерахунку
- Час інвентаризації: 1.5 години vs. 8 годин вручну
- Інтеграція з 1С: автоматичне оновлення залишків
| Тип матеріалу | Метод | Точність |
|---|---|---|
| Цегла в піддоні | YOLO детекція | 93–97% |
| Арматура (торець) | Hough circles | 95–98% |
| Мішки в штабелі | Density estimation | 91–95% |
| Листи OSB/фанера | YOLO + segmentation | 96–99% |
| Труби (торець) | Ellipse fitting | 94–97% |
Як налаштувати AI-підрахунок для ваших матеріалів?
Процес впровадження включає кілька етапів. Спочатку ми проводимо аудит вашого складу та типів матеріалів. Потім організовуємо фотосесію з різних точок і розмічаємо датасет. Після навчання моделі та тестування на контрольній вибірці розгортаємо рішення на вашому сервері або на edge-пристрої. Інтеграція з обліковою системою — фінальний крок. На кожному етапі ми надаємо звіт про точність та рекомендації щодо донавчання.
Що входить у розробку AI-системи підрахунку
- Аудит процесу: аналіз поточних методів обліку, типів матеріалів та умов зйомки
- Збір та розмітка датасету: 3000+ зображень з полігональною розміткою
- Навчання моделі: підбір архітектури (YOLOv8, CSRNet, SAM) та гіперпараметрів
- Розробка API: REST або gRPC для інтеграції з вашою WMS/1С
- Тестування: A/B тест на реальних даних, звіт про точність
- Розгортання: сервер (Docker, Kubernetes) або edge (Jetson, Raspberry Pi)
- Документація та навчання: інструкція для операторів, сесія 1 година
- Підтримка: 3 місяці гарантійного супроводу
Типові складнощі при впровадженні
- Різноманітність освітлення: від яскравого сонця до сутінків складу — потрібна аугментація датасету.
- Перекриття та забруднення: бруд на об'єктах знижує точність — використовуємо попередню обробку та фільтрацію.
- Різні партії: відтінки цегли можуть відрізнятися — модель повинна узагальнювати на колірні варіації.
Терміни та вартість
| Тип проекту | Термін |
|---|---|
| Лічильник одного типу матеріалу | 2–4 тижні |
| Мультиматеріальна система (5+ типів) | 5–9 тижнів |
| З інтеграцією в WMS/1С | 7–12 тижнів |
Вартість розробки розраховується індивідуально і залежить від кількості типів матеріалів, якості даних та складності інтеграції. Інвестиції зазвичай окупаються за 6–12 місяців за рахунок скорочення людино-годин та зниження помилок. Ми гарантуємо точність не нижче 90% на пілотному проекті. Зв'яжіться з нами для консультації — наш інженер оцінить ваше завдання і запропонує оптимальне рішення. Замовте безкоштовну попередню оцінку, щоб обговорити деталі вашого проекту.







