白皮书下载

背 景

1. 政策概述

为提升中小学实验教学水平与教学质量,深化教育改革,2019年11月,教育部发布了《教育部关于加强和改进中小学实验教学的意见》(教基〔2019〕16号),就加强和改进中小学实验教学提出了目标和意见,目标是2023年前要将实验操作纳入初中学业水平考试,考试成绩纳入高中阶
段学校招生录取依据。
链接如下:
教育部关于加强和改进中小学实验教学的意见 - 中华人民共和国教育部政府门户网站:

http://www.moe.gov.cn/

2021年5月,中国教育装备行业协会团体标准委员会颁发了《实验操作 考 评 系 统 技 术 规 范 》 (T / J Y B Z 013-2021)。

链接如下:
全国团体标准信息平台:http://www.ttbz.org.cn/

2. 背景介绍

当前市场状态和用户痛点:

  • 前全国超过2 0个省份教育部门 发 布 了 理 化 生 实 验 相 关 细 节 意见,对将理化生实验考试纳入初中学业水平考试和高中招生考试提出进一步规划。
  • 随着各地政策发布和推广,传统的理化生实验考试方案对监考老师的大量需求很难得到满足。

通常一个理化生实验考试教室中有24个学生同时参加考试,采用人力对学生操作进行评估和打分具
有一定挑战性。目前部分学校采取的方案是,一个考试教室安排12位老师来记录每名学生的考试操作过程,对其进行 打 分 并 将 分 数 上 传 到 评 分 系 统(每个实验桌同时有2名学生进行不同考试)。另外有些学校采用摄像设备来拍摄并存储整个实验过程的视频数据,考试结束后请老师们
重新播放录制的视频,并参考评分规则来打分。

  • 对 学 生 实 验 操 作 进 行 评 估 和 打分也需要投入老师们非常多的工作量,这对很多学校来说同样非常具有挑战性。

在 以 上 两 种 场 景 下 , 评 估 和打 分 都 非 常 耗 时 , 并 且 整 个 过 程中 很 容 易 引 入 错 误 , 不 容 易 大 范围推广。
正 是 由 于 以 上 种 种 原 因 , 将大 数 据 和 人 工 智 能 技 术 应 用 于 智慧 理 化 生 实 验 室 的 评 估 和 打 分 过程 中 正 在 成 为 一 个 关 键 的 差 异 化策 略 , 这 不 仅 可 以 做 到 效 率 大 幅
提 升 , 保 证 评 分 过 程 的 公 平 性 ,同 时 还 支 持 基 于 视 频 的 大 数 据 分析 。 另 外 ,A I赋 能 的 解 决 方 案 还支 持 日 常 实 验 教 学 中 的 应 用 。 很多 解 决 方 案 供 应 商 都 在 研 发A I赋能 的 评 估 和 打 分 方 案 , 其 中 有 的方 案 已 经 进 行 试 点 , 其 价 值 已 经得到学校和用户的高度认可。

产品介绍

在过去两年中,包括阅面科技在内的一些合作伙伴正在与英特尔合作,开发AI赋能的模块化解决方案来辅助理化生实验评估和打分任务。在各方的共同努力下,阅面已经为最常用的考试开发出产品化的算法,已支持的实验包括:天平实验、测量小灯泡的电功率、氯化钠溶液配置实验。



AI赋能的模块化解决方案,其核心是依据评分规则和过程从实验测试视频中提取关键帧,这样老师只需要重新查看关键帧,即可进行评分。据统 计 , 该 方 案 可 以 帮 助 教 师 节 省50%左右的评分时间。鉴于评分的敏感性,我们目前将最终评分部分留给老师来完成,但随着时间的推移,在完成更多数据的收集和训练后,系统也会开发高精度的人工智能评分解决方案,以完全取代手动评分。

我们的解决方案是一个端到端的解决 方 案 , 为 合 作 伙 伴 和 终 端 用 户 提 供3种系统架构供选择,方案的具体信息如下:

我们能提供的:

  • 免费提供给客户3个最高频考试实验的产品级SDK/API和演示Demo。
  • 提供文档指导如何将SDK集成到应用并落地。
  • 推荐的硬件和软件配置。
  • 极域提供的演示Demo作为参考。
  • 基于IA分布式架构的端到端性能参数参考和评估建议。
  • 爱数提供给合作伙伴和学校的自动标注工具/流程,以便基于SDK更快捷地开发出新的实验。
     

性能指标参考如下:

  • 采购成本:我们为实验室提供三种不同的解决方案,与很多竞品方案相比,我们所提供的三种方案均具备非常高的性价比。
  • 延迟:基于您需要何时进行评估与打分、录制测试视频的大小等因素,我们的算法可以提供延迟在 50 毫秒内的实时推理。我们的方案不仅支持考试场景,还可以支持日常教学、实时操作提醒等。
  • 精度:我们承诺提供的视频帧可用于辅助评分,并确保所有与评分规则相关的关键帧都被捕获并提取出来供教师评分。
  • 效率提升:基于我们的评估结果,相比人工打分方式,使用我们的AI辅助模型后教师评分时间可以至少节省50%。
  • 帧率:目前推荐的3种架构在输入视频帧率为25FPS的情况下,AI推理可以达到20FPS以上。
  • 可扩展性:我们的解决方案非常易于落地和推广,提供多种方式灵活实现或基于传统方案进行扩展支持AI。

关于推荐架构的更多详细信息、相关配置和性能数据,请浏览下文。

推荐配置

1. 系统架构

  •  系统架构图

  •  推荐系统方案

2. 系统组成

主要设备及配置信息如下:

3.NUC硬件配

  • 配置1(i5)

  • 配置2(i7)

4. 服务端硬件配置

5. 软件配置

流程框图

1. SDK模块框图

2. 模块介绍

1) 离线视频解析模块
获取视频流并在后续的算法推理模块之前完成解码任务。
2) 目标检测模块
实验进行中检测画面中的目标物体,输出检测到的物体类别和位置信息。
3) 行为检测模块
分析实验操作过程,对操作行为进行检测,并输出行为开始和结束时点。
4) 多视角融合模块
基于多路摄像头的结果,分析关键帧结果并整合输出。
5) 通用处理模块
完成通用处理流程并输出最终结果。

3. 算法工作流图

部署需求

性能参数

1. 算法精度评估

2. 性能评估

2.1 NUC与服务端一体方案

  • NUC 性能参数

  • 服务端性能参数

2.2 单独NUC方案

  • 配置1

  • 配置2

2.3 单独服务端方案

演示介绍

1. 关于演示

本演示Demo为客户提供实例,来展示如何在产品中使用智慧实验室
SDK及其界面效果。


2. 演示Demo下载

演示Demo的下载链接如下:百度网盘 请输入提取码

3. 演示Demo运行

1) 准备服务器主机,并安装ubuntu20.04版本操作系统
获取视频流并在后续的算法推理模块之前完成解码任务。
2) 安装docker

curl -s https://get.docker.com | sudo bash –

3) 将用户加入docker组并重新登录

sudo usermod -a -G docker $(whoami)
logout

4) 安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/
1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/
docker-compose sudo chmod 755 /usr/local/bin/docker-compose

4. 安装步骤

1) 解压smartlab_demo.tar.gz

tar xzvf smartlab_demo.tar.gz

2) 进入解压目录

cd smartlab_demo/msp_AILab

3) 解压docker images

bash ./.init.sh load-images

4) 启动container

bash ./.init.sh start

5) 在浏览器中打开以下链接http://serverip:12080/web-ai/

具体信息请参考Demo压缩包中的doc/SmartLab Demo使用说明.doc

SDK部署参考

1. 接口调用流程

备注: 如需sample源码,请至第9章下载SDK压缩包获取。

2. Redis + Boost(NUC)

left video backbone
std::stringstream ss0;
boost::archive::text_oarchive oa0(ss0);
oa0 << left_video_backbone_features_;
redis.set("lvbf", ss0.str());
left_video_backbone_features_.clear();
std::stringstream dd0;
auto value0 = redis.get("lvbf");
dd0 << *value0;
boost::archive::text_iarchive ia0(dd0);
ia0 >> left_video_backbone_features_;

3. MySQL Database(Server)

1) MySQL initialization
 

start_time = std::chrono::system_clock::now();
 const char* host = "127.0.0.1"; 
 const char* user = "root"; 
 const char* pwd = "123456"; 
 const char* dbName = "smartlab";
 int port = 3306; 
 // Create mysql object
 MYSQL* sql = nullptr;
 sql = mysql_init(sql);
 if (!sql) {
 std::cout << "MySql init error!" << std::endl;
 }
 // connect mysql
 sql = mysql_real_connect(sql, host, user, pwd, dbName, port, nullptr, 0);
 if (!sql) {
 std::cout << "MySql Connect error!" << std::endl;
 }

2) Run SQL Statement

char buffer[100];
sprintf(buffer, "insert int key_snippets values(%s,%d,%d,%d,%f)", 
"\'student_no_1\'",
 snippet_with_object.snippet.frame_start, snippet_with_object.snippet.frame_end, 
snippet_with_object.snippet.label, snippet_with_object.snippet.score);
 mysql_query(sql, buffer);

Logo

为开发者提供丰富的英特尔开发套件资源、创新技术、解决方案与行业活动。欢迎关注!

更多推荐