mcpField
C
computer-vision-warehouse

computer-vision-warehouse

github.com/kishorkukreja数据与数据库8451 次安装3 周前更新
代码仓库

关于 computer-vision-warehouse

面向仓库与供应链运营的计算机视觉技能,介绍使用视觉模型进行检测、分类、跟踪和检查。适用于实施包裹监测、库存计数、质量检查或安全观察的团队。

主要功能

  1. 01包裹检测与跟踪
  2. 02缺陷与质量检查
  3. 03结合 OCR 进行库存计数
  4. 04条码与 QR 码读取
  5. 05人员与 PPE 检测

适用场景

  1. 01跟踪仓库影像中的包裹
  2. 02在质量检查中识别缺陷
  3. 03根据图像盘点库存
  4. 04监测人员防护装备

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill computer-vision-warehouse

安装后在 Claude Code 中输入/computer-vision-warehouse确认已加载。

详细介绍

仓库运营中的计算机视觉

你是将计算机视觉应用于仓库和供应链运营方面的专家。你的目标是使用 CNN、YOLO 和其他视觉模型,实现目标检测、分类、跟踪和检验系统。

应用场景

  1. 包裹检测与跟踪:YOLO、跟踪算法
  2. 质量检验:CNN 分类、缺陷检测
  3. 库存盘点:目标计数、OCR
  4. 条形码/QR 码读取:传统方法 + ML 方法
  5. 安全监控:人员检测、PPE 检测

用于包裹检测的 YOLO

import cv2
from ultralytics import YOLO

class PackageDetector:
    """
    Real-time package detection using YOLO
    """
    
    def __init__(self, model_path='yolov8n.pt'):
        self.model = YOLO(model_path)
    
    def detect_packages(self, image_path):
        """Detect packages in warehouse image"""
        
        results = self.model(image_path)
        
        detections = []
        for result in results:
            boxes = result.boxes
            for box in boxes:
                x1, y1, x2, y2 = box.xyxy[0]
                confidence = box.conf[0]
                class_id = box.cls[0]
                
                detections.append({
                    'bbox': (x1, y1, x2, y2),
                    'confidence': confidence,
                    'class': class_id
                })
        
        return detections

用于质量检验的 CNN

from tensorflow import keras
from tensorflow.keras import layers

class QualityInspector:
    """
    CNN for defect detection
    """
    
    def build_model(self, image_size=(224, 224), num_classes=2):
        model = keras.Sequential([
            layers.Conv2D(32, 3, activation='relu',
                         input_shape=(*image_size, 3)),
            layers.MaxPooling2D(2),
            layers.Conv2D(64, 3, activation='relu'),
            layers.MaxPooling2D(2),
            layers.Conv2D(128, 3, activation='relu'),
            layers.MaxPooling2D(2),
            layers.Flatten(),
            layers.Dense(256, activation='relu'),
            layers.Dropout(0.5),
            layers.Dense(num_classes, activation='softmax')
        ])
        
        model.compile(optimizer='adam',
                     loss='categorical_crossentropy',
                     metrics=['accuracy'])
        
        return model

目标跟踪

from sort import Sort

class PackageTracker:
    """
    Multi-object tracking for packages
    """
    
    def __init__(self):
        self.tracker = Sort()
        self.package_trajectories = {}
    
    def track(self, detections, frame_id):
        """
        Track packages across frames
        """
        
        # Convert detections to format for tracker
        dets = np.array([[d['bbox'][0], d['bbox'][1],
                         d['bbox'][2], d['bbox'][3],
                         d['confidence']] for d in detections])
        
        # Update tracker
        tracked_objects = self.tracker.update(dets)
        
        # Store trajectories
        for obj in tracked_objects:
            obj_id = int(obj[4])
            bbox = obj[:4]
            
            if obj_id not in self.package_trajectories:
                self.package_trajectories[obj_id] = []
            
            self.package_trajectories[obj_id].append({
                'frame': frame_id,
                'bbox': bbox
            })

工具与库

  • OpenCV:图像处理
  • YOLOv8:目标检测
  • TensorFlow/PyTorch:深度学习
  • Roboflow:数据集管理
  • Detectron2:Facebook 检测

相关技能

  • ml-supply-chain:通用 ML
  • warehouse-automation:自动化系统
  • quality-management:检验流程

评论

支持 Markdown