前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【云+社区年度征文】AI算法落地之数据链

【云+社区年度征文】AI算法落地之数据链

原创
作者头像
flavorfan
修改2020-12-14 17:25:46
7600
修改2020-12-14 17:25:46
举报
文章被收录于专栏:范传康的专栏范传康的专栏

前言

机器学习之初,可以在各种开源数据集玩各种模型、玩各种参数,机器学习工程被称为“炼丹”。那时候,数据是规则,目标是明确,世界是如此简单和令人振奋。虽然也有一些杂音划耳而过,“机器学习算法的90%都是数据处理”,“数据清洗”、“数据增广”……直到自己进行AI算法解决实际工程问题,原来恩达老师讲的都是真的——算法工程的大部分实践都和数据“大泥巴”搅合在一起,数据要对齐、样本不平衡、数据标定等等。

笔者1年左右时间完成2个模型,算法开发满打满算1个月,大部分时间花在解决数据采集问题,其次数据标定上。在采集数据上,客串了部分的老本行嵌入式开发,Android开发、数据库设计。这篇文章希望能加强下AI算法实践中数据的重要性,对实践中的数据链构建有系统性的预见;如果在工程之初看到这方面文章,应该会顺畅很多。大部分工具链是笔者手搓的,有参考一些google数据pipeline思想,但是最大的不同点是:不像NLP等热点领域,数据集是现成的,笔者所面临问题域是AI的西部荒漠,需要自己定义数据,采集数据...当然由于大部分是笔者自己想当然的实现,一定不是最优的方案,如果有更好、或者其他相当的方案,请告知。

AI算法应用开发数据链

开门见山,先给个当前的数据链的系统框图,如下:

image.png
image.png

数据流

模型开发的流程:

① 耳标嵌入式、采集APP、数据采集后台共同配合,完成数据采集,将数据保存到数据平台;

② 标定平台读取数据平台的采集数据,根据视频信息标注acc数据记录,回写标注数据到数据平台;

③ 算法平台读取标注数据,进行数据分析、样本抽取、数据集构建、模型设计&训练,完成模型开发。

模型验证的流程:

  1. 在原始采集数据记录上,运行开发的模型,将算法模型推断结果以合适的形式回写数据平台(使用TFList-Micro框架,其计算过程和嵌入式部署的计算过程完全一致);
  2. 数据标定平台可以读取标定值、算法结果统合显示,直观的方式显示算法效果,配合视频播放,主要用来说服老板;
  3. 模型转换为C语言实现、或者用tflite-micro框架到处tflite模型文件放入嵌入式实现,算法结果可以直观的有Android APP屏幕得到直观的反馈。
  • 备注:原始采集数据我称为“记录”,经过等长时序等转换为“样本”,详见我的另外一个技术博客。

主要模块/组件

主要构成从图中可以清晰了解:

1 嵌入式方面:

需要有采集、模型验证的开关接口,基于命令响应的。

2 Android APP:

同理需要配合嵌入式有采集、模型验证接口。

3 数据平台:

分为采集数据后台,数据展示后台,以数据库的数据存储为核心;数据采集后台和Android APP通信,接受采集的数据;数据展示后台相应数据标定前台数据接口。

4 数据标定,展示:

基于web访问的数据标注,需要实现视频的按帧播放和视频、acc数据的多标签标注功能;数据展示需要能接受多通道数据来源,多模式数据展示格式。

5 模型开发

数据分析、数据处理的工具链;生成用于训练的中间数据集。

主要难点

数据采集工具

最大的问题是时间对齐:最大的遗憾是未能推断基于蓝牙的类似NTP的时间同步(实在抽不出时间来自己实现),现在采集的数据和视频时间估计有1秒左右的差别,对与当前应用是合格的,但是技术上应该可以达到ms级别的误差。

其次是采集效率,未能推动自动化采集方案(泛用摄像头和嵌入式设备的时间同步基础上进行数据的连续采集);用手机进行数据采集效率太低:一需要人到现场,人手限制;二,有人在旁边,牲畜表现不自然,很难采集一些姿态;三,限于手机性能,每次智能采集4分钟(这里面应该可以提升),为了上传方面,画质也不好。没有做到技术允许的极致,颇为遗憾。

数据标定

需要人工标注,枯燥乏味;理想的是应该用算法预标注,然后人工调整;基于web的标注也响应有些迟钝,没有优化上传数据的时机。

其次,没有对标注格式统一的思考,扩展性不够。

结语

机器学习领域应用拓荒,自定义数据格式、采集工具,构建领域的数据链是需要的。笔者见识不广,如果有泛用的采集工具链、框架可以提高效率,还望告知。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • AI算法应用开发数据链
    • 数据流
      • 主要模块/组件
      • 主要难点
        • 数据采集工具
          • 数据标定
          • 结语
          相关产品与服务
          数据保险箱
          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档