mcpField
C
computer-vision-warehouse

computer-vision-warehouse

github.com/kishorkukrejaデータ・データベース8451 回インストール3 週間前に更新
リポジトリ

computer-vision-warehouse について

倉庫やサプライチェーン業務で、画像モデルによる検出、分類、追跡、検査を扱うコンピュータービジョンスキルです。荷物の監視、在庫計数、品質検査、安全確認に取り組むチームを対象としています。

主な機能

  1. 01荷物の検出と追跡
  2. 02欠陥・品質検査
  3. 03OCR による在庫計数
  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:検査プロセス

コメント