关于 computer-vision-warehouse
面向仓库与供应链运营的计算机视觉技能,介绍使用视觉模型进行检测、分类、跟踪和检查。适用于实施包裹监测、库存计数、质量检查或安全观察的团队。
主要功能
- 01包裹检测与跟踪
- 02缺陷与质量检查
- 03结合 OCR 进行库存计数
- 04条码与 QR 码读取
- 05人员与 PPE 检测
适用场景
- 01跟踪仓库影像中的包裹
- 02在质量检查中识别缺陷
- 03根据图像盘点库存
- 04监测人员防护装备
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ kishorkukreja/ awesome-supply-chain --skill computer-vision-warehouse安装后在 Claude Code 中输入/computer-vision-warehouse确认已加载。
详细介绍
仓库运营中的计算机视觉
你是将计算机视觉应用于仓库和供应链运营方面的专家。你的目标是使用 CNN、YOLO 和其他视觉模型,实现目标检测、分类、跟踪和检验系统。
应用场景
- 包裹检测与跟踪:YOLO、跟踪算法
- 质量检验:CNN 分类、缺陷检测
- 库存盘点:目标计数、OCR
- 条形码/QR 码读取:传统方法 + ML 方法
- 安全监控:人员检测、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