您的位置:首页 > 任务详情
招标模式 STM32N6570-DK 多线程人脸检测与面部RGB分析系统开发需求
  • 雇主:mike
  • 发布时间:2025-11-24
  • 分类:程序开发

¥ 4000.00

免责声明 该外包需求信息来源于站外平台,本站仅提供公开信息部分字段展示与订阅服务,更多请查看免责声明。

任务详情

ta charset="UTF-8"/> STM32N6570-DK 多线程人脸检测与面部RGB分析系统开发需求 STM32N6570-DK 多线程人脸检测与面部RGB分析系统开发需求 项目概述 基于STM32N6570-DK开发板,利用其内置NPU加速,开发一套完整的多线程人脸检测与面部RGB分析系统。系统需实现实时人脸检测、特征点提取、面部RGB均值计算,并确保摄像头30fps稳定输出,如果性能无法满足30fps,可适当降低帧率,15或者10帧。采用多线程架构设计,保证系统的实时性和稳定性。 检测部分stm32官方已有现成模型可供利用,直接使用即可。 系统架构要求 1. 多线程架构设计 主线程(Main Thread) ├── 相机采集线程(Camera Capture Thread) - 优先级: High ├── 人脸检测线程(Face Detection Thread) - 优先级: Normal   ├── 特征点分析线程(Landmark Analysis Thread) - 优先级: Normal ├── RGB计算线程(RGB Calculation Thread) - 优先级: Normal ├── 结果显示线程(Display Thread) - 优先级: Low └── 数据输出线程(Data Output Thread) - 优先级: Low 2. 线程间通信机制 消息队列 : 采用FreeRTOS消息队列进行线程间数据传输 信号量 : 使用二值信号量和计数信号量实现线程同步 事件标志组 : 实现线程间事件通知机制 详细功能需求 1. 相机采集线程 (Camera Capture Thread) 功能 : 负责摄像头数据采集和预处理 性能要求 : 稳定30fps采集,无丢帧 数据格式 : RGB888或YUV422,最好RGB888,因为最终需要计算每帧的rgb均值 分辨率 : 640x480@30fps,分辨率根据性能更大一点 缓冲区管理 : 实现双缓冲机制 错误处理 : 摄像头故障检测与恢复 2. 人脸检测线程 (Face Detection Thread) 模型 : 推荐STM32官方类似轻量级模型 NPU加速 : 利用STM32N6内置NPU进行推理 检测能力 : 最好可以支持多人脸检测(最多10人) 输出 : 人脸边界框坐标和置信度 性能 : 单帧检测时间<20ms 后处理 : NMS非极大值抑制算法 3. 特征点分析线程 (Landmark Analysis Thread) 特征点模型 : 68点或更少的面部特征点检测 输入 : 人脸检测线程输出的边界框 处理 : 对每个检测到的人脸进行特征点提取 输出 : 特征点坐标数组 精度 : 特征点位置误差<3像素 优化 : 利用NPU加速特征点推理 4. RGB计算线程 (RGB Calculation Thread) 计算区域 : 基于特征点的面部包围框 计算方法 : 对包围框内所有像素RGB分量分别求平均 输出格式 : typedef struct {     uint8_t R, G, B;     uint32_t timestamp;     uint16_t face_id;     float confidence; } FaceRGBData; 频率 : 每帧每人脸计算一次 精度 : RGB各分量精度±1 5. 结果显示线程 (Display Thread) 显示内容 : 实时视频流 人脸边界框(不同颜色区分) 特征点标注 RGB数值显示 帧率信息 显示格式 : LCD显示屏或HDMI输出 更新频率 : 30fps同步显示 UI设计 : 简洁直观的用户界面 6. 数据输出线程 (Data Output Thread) 输出接口 : USB CDC串口输出 可选以太网UDP输出 SD卡数据记录 输出频率 : 每帧输出或按设定间隔 数据格式 : JSON格式,包含所有检测和计算结果 实时性 : 数据输出不影响主流程性能 性能指标 1. 整体性能要求 指标 要求值 备注 系统帧率 30fps 稳定运行,性能不足可适当降低到15 帧或者10帧 ,最主要的需要帧率稳定 最大人脸数 2人 同时检测,性能不足可以降低至1人 CPU占用 <70% 整体CPU使用率 内存占用 <4MB 总内存使用 2. 单线程性能要求 线程 最大处理时间 备注说明 相机采集 33ms~ 100ms 30帧33ms,  10帧100ms 人脸检测 6ms 根据相机帧率不同而不同 特征点分析 10ms 根据相机帧率不同而不同 RGB计算 60ms 根据相机帧率不同而不同 结果显示 10ms 根据相机帧率不同而不同 数据输出 5ms 根据相机帧率不同而不同 重要提示 : 如果30fps性能无法满足,可适当降低帧率至15fps或10fps,但需保证系统稳定运行。 图像处理库集成 最好可以集成图像处理库。 1. 图像处理功能 几何变换 : 缩放、裁剪、旋转、仿射变换 2. 优化要求 NPU加速 : 支持NPU加速的图像处理操作 内存池管理 : 避免动态内存分配 缓存优化 : 充分利用CPU缓存 开发环境与交付内容 1. 开发环境要求 IDE : STM32CubeIDE 1.19.0或更新版本 固件包 : STM32CubeN6 V1.1.0或更新版本 AI工具 : STM32Cube.AI V10.0.0或更新版本 Edge AI : ST Edge AI Core V2.0.0或更新版本 RTOS : FreeRTOS V10.5.0或更新版本 编译器 : ARM GCC 12.2或更新版本 2. 完整交付清单 源代码,文件结构仅供参考,但项目结构需要分明 project/ ├── Core/ │   ├── Src/ │   │   ├── main.c │   │   ├── camera_thread.c │   │   ├── face_detection_thread.c │   │   ├── landmark_thread.c │   │   ├── rgb_calc_thread.c │   │   ├── display_thread.c │   │   ├── output_thread.c │   │   ├── image_processing.c │   │   ├── thread_communication.c │   │   └── system_config.c │   └── Inc/ ├── AI/ │   ├── face_detection_model.h5 │   ├── face_landmarks_model.h5 │   ├── model_config.h │   └── ai_inference.c ├── Middlewares/ │   ├── FreeRTOS/ │   ├── STM32_Cube_AI/ │   └── Image_Processing_Lib/ ├── Drivers/ ├── Utilities/ ├── Docs/ ├── Tests/ ├── sc ripts/ └── Tools/ 模型文件,可利用官方已有的 人脸检测模型(Int8量化) 特征点检测模型(Int8量化) 模型配置文件 模型性能评估报告 文档资料 系统架构设计文档 : 多线程架构详细设计 API参考手册 : 所有函数接口说明 性能优化指南 : 性能调优建议 测试报告 : 功能测试和性能测试结果 故障排除指南 : 常见问题解决方案 测试与验证 集成测试 : 多线程协作测试 性能测试 : 帧率、延迟、资源占用测试 稳定性测试 : 长时间运行测试(>24小时)

任务附件 (0)

暂无稿件哦!

预期中标

已中标

0

快去分享,提高任务的曝光率吧

  • 发布需求     2025.11.24
  • 服务商报价    
  • 选择服务商并托管资金    
  • 服务商工作    
  • 验收付款    
  • 评价