欢迎参加 昊喆智能 AI算法工程师实习岗位线上任务比拼!本次比拼将基于我们的核心项目"AI魔法棒"手势识别系统,全面考察你的AI模型理解、API开发、前端技能和Git协作能力。
通过实际项目开发,展示你在以下方面的能力:
- CNN深度学习模型的理解与应用
- Python后端API服务开发
- 前端界面开发与用户体验设计
- Git版本控制与团队协作
- 问题解决能力与创新思维
"AI魔法棒"是一个基于IMU传感器数据的手势识别系统,能识别13种不同的手势动作。由于参赛者没有实际硬件设备,我们将提供模拟数据和完整的项目框架。
📋 建议的任务执行顺序: 由于项目缺少预训练模型文件,建议按以下顺序进行:
- 先完成任务四(模拟数据生成器)- 为模型训练提供数据
- 再进行任务一(模型理解与分析)- 分析并训练模型
- 然后完成任务二(API服务完善)- 完善后端服务
- 接着进行任务三(前端界面开发)- 开发用户界面
- 最后完成任务五(Git协作与部署)- 整合部署
目标:深入理解现有CNN模型架构并进行优化分析
具体要求:
-
模型架构分析 (10分)
- 阅读
CNNTrainRaw.py中的模型定义 - 绘制模型架构图(可使用工具或手绘扫描)
- 分析每层的作用和参数量
- 计算模型的总参数数量
- 阅读
-
性能优化建议 (10分)
- 分析当前模型的优缺点
- 提出至少3个具体的优化建议
- 解释优化方案的理论依据
-
数据处理流程 (5分)
- 梳理从原始IMU数据到模型输入的完整流程
- 识别数据预处理中的关键步骤
-
模型训练 (额外要求)
- 由于项目缺少预训练模型,需要先运行训练脚本生成模型
- 可使用模拟数据进行训练测试
提交物:
model_analysis.md- 模型分析报告model_architecture.png/jpg- 模型架构图model.h5- 训练好的模型文件
目标:基于现有的FastAPI框架,完善API服务功能
具体要求:
-
代码理解与重构 (15分)
- 理解
main.py中的API结构 - 重构代码,提高可读性和可维护性
- 添加详细的中文注释
- 理解
-
新增功能接口 (10分)
- 添加批量预测接口
/api/v1/predict_batch - 添加模型统计信息接口
/api/v1/stats - 添加手势数据上传接口
/api/v1/upload_gesture
- 添加批量预测接口
-
错误处理与日志 (5分)
- 完善异常处理机制
- 添加结构化日志记录
- 实现请求限流功能
提交物:
- 完善的
main.py文件 api_documentation.md- API接口文档
目标:开发一个用户友好的Web界面来展示手势识别功能
具体要求:
-
主页面设计 (10分)
- 创建响应式主页面
- 包含项目介绍和功能展示
- 美观的UI设计,体现"魔法"主题
-
手势识别界面 (10分)
- 实时手势识别展示页面
- 支持上传IMU数据文件进行识别
- 显示识别结果和置信度
- 可视化显示13种手势类型
-
数据可视化 (5分)
- IMU数据的实时波形图
- 预测概率的柱状图/雷达图
- 历史识别记录展示
技术要求:
- 可使用任何前端框架(React, Vue, 原生JS等)
- 必须与后端API正确交互
- 移动端友好的响应式设计
提交物:
- 完整的前端项目文件夹
frontend/ frontend_guide.md- 前端说明文档
目标:由于没有实际硬件,开发IMU数据模拟器
具体要求:
-
数据模拟器 (7分)
- 创建
data_simulator.py - 模拟13种手势的IMU数据
- 数据格式与原始硬件输出一致
- 支持添加噪声和变化
- 创建
-
WebSocket实时数据流 (3分)
- 实现WebSocket接口推送模拟数据
- 支持实时手势识别演示
提交物:
data_simulator.py- 数据模拟器simulator_guide.md- 使用说明
目标:展示版本控制和项目部署能力
具体要求:
-
Git使用规范 (5分)
- 清晰的commit message
- 合理的分支策略
- 完整的README.md文件
-
Docker化部署 (5分)
- 编写Dockerfile
- 创建docker-compose.yml
- 一键启动整个系统
提交物:
- 规范的Git仓库
Dockerfile和docker-compose.yml- 完善的
README.md
| 任务模块 | 分值 | 评分重点 |
|---|---|---|
| 模型理解与分析 | 25分 | 技术深度、分析质量、创新思维 |
| API服务完善 | 30分 | 代码质量、功能完整性、性能优化 |
| 前端界面开发 | 25分 | UI/UX设计、交互体验、技术实现 |
| 模拟数据生成器 | 10分 | 实用性、数据质量、技术创新 |
| Git协作与部署 | 10分 | 规范性、完整性、易用性 |
- 超额完成所有任务要求
- 代码质量高,有创新性改进
- 技术理解深入,分析透彻
- UI设计精美,用户体验优秀
- 完成大部分任务要求
- 代码结构清晰,功能正确
- 技术理解正确,分析合理
- UI界面美观,功能完整
- 完成基本任务要求
- 代码可运行,基本功能实现
- 技术理解基本正确
- 界面简洁,基本可用
- 未完成核心任务
- 代码无法运行或错误较多
- 技术理解有明显错误
- 界面缺失或无法使用
-
克隆项目仓库
git clone [项目仓库地址] cd magicwand-challenge -
安装依赖
pip install -r requirements.txt
注意:
- 项目包含TensorFlow、FastAPI等多个框架的依赖
- 如果遇到NNOM本地依赖安装问题,可先注释掉
./nnom-master行 - 建议使用Python 3.8-3.11版本以确保兼容性
-
训练模型(首次运行必需)
# 首先需要准备训练数据或使用模拟数据 python CNNTrainRaw.py -
启动API服务
python main.py
重要提示:
- 由于项目中缺少预训练模型文件,首次运行需要先训练模型
- 如果没有真实训练数据,建议先完成"任务四:模拟数据生成器"来生成训练数据
magicwand-challenge/
├── main.py # FastAPI主服务
├── CNNTrainRaw.py # 模型训练脚本
├── CNNTestSerialRaw.py # 模型测试脚本
├── Serial_Read.py # 串口数据读取
├── requirements.txt # 依赖包列表
└── submissions/ # 你的提交文件夹(需要创建以下文件)
├── model_analysis.md # 模型分析报告
├── model_architecture.png # 模型架构图
├── api_documentation.md # API接口文档
├── frontend/ # 前端项目文件夹
├── frontend_guide.md # 前端说明文档
├── data_simulator.py # 数据模拟器
├── simulator_guide.md # 模拟器使用说明
├── Dockerfile # Docker容器配置
├── docker-compose.yml # Docker编排配置
└── README.md # 项目说明文档
注意事项:
- 预训练模型文件
model.h5需要通过训练脚本生成 - 训练数据集需要自行准备或使用模拟数据
- 所有提交物都应放在
submissions/目录下
祝你在这次比拼中取得优异成绩,期待你加入HuboAI Studio大家庭! ��✨
"让AI创造像魔法一样简单"