Anubhav2506/occlusion-aware-vision-intelligence

GitHub: Anubhav2506/occlusion-aware-vision-intelligence

基于 YOLOv8、B-VAE 和场景图神经网络的遮挡感知视觉智能系统,用于推理被遮挡物体、分析人体意图与威胁等级。

Stars: 0 | Forks: 0

# 遮挡感知视觉智能 ![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg) ![PyTorch](https://img.shields.io/badge/PyTorch-2.0+-ee4c2c.svg) ![YOLOv8](https://img.shields.io/badge/YOLO-v8-yellow.svg) ![License: MIT](https://img.shields.io/badge/License-MIT-green.svg) 一个先进的两阶段场景理解与智能流水线,通过非模态补全、肢体语言和面部表情,对部分遮挡的物体进行推理,推断人类意图,并检测潜在威胁。 ## ✨ 核心功能 - **非模态场景补全**:检测隐藏/被遮挡的物体,推断其完整的非模态边界框,并使用定制的 B-VAE(变分自编码器)和生成式填充来重建被遮挡的区域。 - **意图与威胁检测**:通过分析肢体语言 (YOLOv8-Pose) 以及通过图神经网络 实现的物体与人类交互,推断人类意图(例如,通行、就餐、工作、聚集、冲突)并检测潜在的物理暴力。 - **面部表情分析**:评估可见的人脸以衡量情绪状态(高兴、愤怒、惊讶、平静),从而增强整体的威胁和异常评分。 - **丰富的交互式 UI**:一个综合性的 Gradio Web 应用程序,将复杂的 AI 输出拆分为 3 个独立且易于理解的视觉仪表板。 ## 🏗️ 架构流水线 ``` Input Image | Stage 1 -- Scene Completion & Feature Extraction |-- YOLOv8n Backbone + FPN |-- Modal Head -> visible bboxes |-- Amodal Head -> full bboxes + 56x56 masks |-- B-VAE Refiner -> latent z + vae_confidence + blended mask |-- Pose Analyzer -> YOLO-Pose body keypoints & striking flags |-- Face Analyzer -> Emotion extraction & facial flags | Stage 2 -- Graph Reasoning & Generative Reconstruction |-- Scene Graph Builder -> PyG Data (Nodes: 217-d, Edges: 9-d) |-- SceneGNN -> 64-d scene embedding via SAGEConv/GATConv |-- Intent & Anomaly -> 8-class intent inference + Threat Level scoring |-- Gen-Fill Recon -> Visual reconstruction of top occluded objects | Final Output Combiner ``` ## 📊 3 输出仪表板 在运行交互式 Web UI (`app.py`) 时,系统会将复杂的流水线数据解析为 3 个易于阅读的视觉输出: 1. **输出 1:场景补全** - 可视化显示隐藏内容的非模态边界框、遮挡比例,以及对遮挡部分的生成式重建。 2. **输出 2:意图与威胁** - 突出显示异常、整体场景意图(例如,就餐、工作、冲突),以及基于身体姿态和武器接近程度的颜色编码威胁警告。 3. **输出 3:面部表情分析** - 映射检测到的人脸,显示情绪状态和置信水平,以进一步阐明场景的上下文。 ### 原始 JSON 输出 API 对于批处理或 API 使用,系统返回一个统一的 JSON 字典: ``` { "scene_status": "normal | abnormal | uncertain", "confidence": 0.85, "intent": "idle | transit | dining | working | loading | gathering | conflict | unknown", "reason": "Human-readable explanation of the scene", "anomaly_score": 0.12, "threat_level": "NONE | LOW | ELEVATED | HIGH | CRITICAL", "object_count": 5, "top_classes": "person, car, traffic light", "body_language_flags": ["aggressive_posture", "raised_hand"], "facial_analysis": [{"emotion": "angry", "confidence": 0.92}] } ``` ## 🚀 设置与安装 ``` # 创建并激活环境 conda create -n vision_sys python=3.10 -y conda activate vision_sys # 安装带 CUDA 的 PyTorch(为 RTX 4060 / 8GB VRAM 构建) pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 # 安装依赖 pip install ultralytics pycocotools albumentations torch-geometric gradio opencv-python ``` ## 💻 使用方法 ### 1. 交互式 Web 演示(推荐) 启动 Gradio UI,在本地或网络摄像头图像上测试 3 输出仪表板。 ``` python app.py # 在浏览器中打开 http://localhost:7860 ``` ### 2. 批量评估流水线 处理图像目录并保存视觉/JSON 结果。 ``` python scripts/batch_run.py ``` ### 3. Python API ``` from src.pipeline import run result = run("path/to/image.jpg", debug=False) analysis = result['analysis'] print(f"Status: {analysis['scene_status']}") print(f"Intent: {analysis['intent']}") print(f"Threat Level: {analysis['threat_level']}") ``` ## 📂 项目结构 ``` project/ |-- src/ | |-- dataset.py # COCOA dataset loader | |-- model.py # YOLOv8n + Modal/Amodal heads | |-- vae.py # B-VAE amodal mask refinement | |-- graph_builder.py # Scene graph PyG constructor | |-- gnn.py # SceneGNN (SAGE + GAT) | |-- face_analyzer.py # Facial expression inference | |-- pose_analyzer.py # Body language / threat assessment | |-- pipeline.py # End-to-end integration |-- reconstruction/ # Generative fill logic |-- checkpoints/ # Trained weights |-- app.py # Gradio 3-Output interactive demo |-- README.md ``` ## ⚙️ 意图类别 | 意图 | 描述 | |------------|------------------------------------------| | `idle` | 静态场景,无明显活动 | | `transit` | 车辆/行人处于移动状态 | | `dining` | 存在食物/就餐物品 | | `working` | 检测到与工作相关的物品 | | `loading` | 装载/卸载活动 | | `gathering` | 多人聚集 | | `conflict` | 威胁姿态或武器类物体 | | `unknown` | 数据不足,无法分类 |
标签:Amodal Completion, GATConv, Gradio, Jenkins, Python, PyTorch, SAGEConv, VAE, YOLOv8, 人体姿态估计, 凭据扫描, 变分自编码器, 图推理, 图神经网络, 场景图神经网络, 场景重建, 姿态识别, 威胁评估, 异常检测, 情感分析, 意图识别, 无后门, 智能安防, 机器视觉, 深度学习, 目标检测, 目标跟踪, 视频监控分析, 计算机视觉, 逆向工具, 遮挡感知, 面部表情分析