# GFJS-Agent-demo **Repository Path**: agent-project/gfjs-agent-demo ## Basic Information - **Project Name**: GFJS-Agent-demo - **Description**: 工服及角色识别算法 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-29 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工服及角色识别算法 ## 项目简介 本项目实现了一个基于YOLOv8n的工服及角色识别算法,通过API接口接收图片,检测人员上半身区域并输出标框结果。同时集成了外部AI模型进行工装识别,并将结果保存到本地日志文件。 ## 功能特性 - 支持本地图片路径输入 - 使用YOLOv8n模型进行人员检测 - 自动检测人员上半身区域 - 输出标框后的图片和坐标点 - 集成外部AI模型进行工装识别 - 自动保存识别结果到本地日志文件 - 提供RESTful API接口 - **新增功能:** - 解析外部API返回的工装识别结果 - 在图片上绘制检测框和工装状态信息 - 添加时间戳信息到标注图片 - 生成包含检测结果的标注图片 - 更新日志文件格式,包含图片和检测框信息 ## API接口说明 ### 接口地址 `POST /picture/analysis` ### 请求参数 - `sourceID`: 时间戳(字符串) - `source`: 图片地址,支持本地图片路径(字符串) ### 请求示例 ```json { "sourceID": "1703123456789", "source": "C:/path/to/image.jpg" } ``` ### 响应格式 ```json { "status": "success", "message": "检测完成", "data": { "coordinates": [[x1, y1, x2, y2]], "output_image": "base64_encoded_image", "external_api_result": { "外部AI模型的识别结果" }, "detection_results": [ { "conf": 0.8, "class": 1, "classStr": "people", "coordinate": [x1, y1, x2, y2], "workwear_status": "穿工装/未穿工装" } ], "annotated_image": "base64_encoded_annotated_image" } } ``` ## 外部API集成 项目集成了外部AI模型用于工装识别: - API地址:`http://192.168.3.53:55055/v1/chat/completions` - 模型:Qwen2-VL-7B-Instruct - 功能:判断上半身是否穿着蓝色/黑色工装 ## 图片标注功能 系统会自动在原始图片上绘制检测结果: - **检测框**:绿色框表示穿工装,红色框表示未穿工装 - **标签信息**:显示人员编号、工装状态和置信度 - **时间信息**:在图片左上角显示检测时间 - **输出格式**:生成包含所有标注信息的新图片 ## 日志文件 系统会自动将外部API的识别结果和标注图片保存到本地日志文件: - 文件名格式:`wbr_工服及角色识别算法+图片名称+时间戳.log` - 文件内容:包含时间戳、图片名称、API响应数据、标注图片base64和检测框信息 - 编码格式:UTF-8 - **新增日志格式**: ```json { "timestamp": "时间戳", "image_name": "图片名称", "api_response": "外部API响应", "image": "标注后的图片base64", "bbox": [ { "conf": 0.8, "class": 1, "classStr": "people", "coordinate": [x1, y1, x2, y2], "workwear_status": "穿工装/未穿工装" } ] } ``` ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 运行方式 ```bash python app.py ``` ## 技术栈 - Python 3.12+ - Flask (Web框架) - Ultralytics YOLOv8 (目标检测) - OpenCV (图像处理) - Pillow (图像处理) - Requests (HTTP请求)