AI在设计稿生成代码平台imgcook中的应用场景和落地实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. AI在设计稿生成代码平台imgcook 中的应用场景和落地实践 常艳芳(苏川) 阿里巴巴 高级前端开发工程师
2.
3. 常艳芳(苏川) 2017 年底加入阿里巴巴淘系技术部 智能生成代码平台 imgcook 核心开发 目前负责 imgcook 的产品建设
4. 1、设计稿生成代码平台 imgcook 介绍 2、机器学习技术在 D2C 领域的应用场景 3、前端视⻆下,D2C 领域机器学习实践落地 4、D2C 双 11 零研发工程实践 5、未来展望
5. 设计稿智能生成代码平台 imgcook 将设计稿 (Sketch、Figma、PSD、图片) 一键生成可维护的前端代码(HTML、React、Vue、小程序、Flutter 等) imgcook 1.0 imgcook 2.0 imgcook 3.0 从 0 到 1 建设 2019.1 正式对外开放 产品链路基本完善 引入机器学习技术 技术体系完善 智能化程度提升 覆盖双 11 新增模块 90.4%,智能生成代码可用率 79.26%,编码效率提升 68%
6. imgcook 3.0 技术原理 设计稿输入 (描述设计稿文件的 JSON Schema) 机器学习算法 设计稿协议 程序算法 通过人工设置设计稿协议规范 通过有限的规则/步骤实现的程序算法 通过机器学习算法学习UI特征训练模型 标记设计稿 自动识别设计稿 智能识别设计稿 D2C JSON Schema (具有合理的嵌套布局结构和代码语义的 JSON 描述) 前端代码 (React、Vue、小程序、Flutter 等)
7. 机器学习算法在 imgcook 中的应用场景
8. 人工智能、机器学习与深度学习 输入样例 机器学习 输入大量的学习资料 人工智能 机器学习 深度学习 人为设计特征 机器学习特征 机器学习 算法 模型 输出结果 类似的任务 人类学习 一定的样本资料 学习、归纳 整理、总结 知识、经验 行动、决定
9. 机器学习解决的问题类型 (a) 图片分类任务 (b) 目标检测任务 (c) 语义分割任务 (c) 实体分割任务 计算机视觉(CV) 4 大基本任务 (a) 序列标注任务 句子关系判断任务 (c) (c) 句子关系判断任务 (b) 文本分类任务 (d) 生成式任务 (d) 生成式任务 自然语言处理(NLP) 4 大基本任务
10. imgcook 中 UI 语义识别 图标 返回back、更多 more、… 图标识别 图片 品牌logo、头像 avatar、… 图片识别 文本 店铺名shop-title、商品名item-title、… 组件 按钮 button、tabbar、… 组件识别 模块 店铺、内容、商品、… 模块识别 文本识别
11. 模型识别结果的应用场景 模块化 无障碍属性 Class 命名 引用外部组件 循环结构 字段绑定
12. 前端视⻆下,D2C 领域机器学习实践落地
13. 使用机器学习技术解决问题的一般步骤 问题定义 样本准备 算法选型 模型训练 模型服务部署 模型应用
14. 组件识别的问题定义 要解决什么业务问题?是否适合使用机器学习? 引入 antd-mobile input Ant Design Input input button 组件识别 Button 代码表达
15. 组件识别的问题定义 确定属于机器学习能解决的哪一种任务类型? input input input input button button button 目标检测任务 图像分类任务
16. 样本准备 图像分类任务 问题定义 样本准备 算法选型 模型训练 模型服务部署 模型应用
17. 如何收集组件样本数据? 确定需要识别的组件类别 进度条 progressbar button seachbar stepper input switch tabbar button 0.15 searchbar 0.6 stepper 0.1 input 0.15 switch 0.05 tabbar 0.05
18. 如何收集组件样本数据? 收集⻚面、获取组件截图、样本打标 Payment Explore Card Number Find your location... Enter your card number Enjoy your traveling Exp Date mm/yy Winter in Portugal Lisbon Log In 7 day 143 $3 000 Country winter United states Capital of Thailand Email CCV 30°C Bangkok, Thailand Sesimbra e Arrabida Sesimbra, Lisbon $5 000 3 day Dabit Card $2 000 1397 summer Password $10 000 Service Japan Most Unique Country Forgot Password? Sesimbra, Lisbon Log In Bangkok, Thailand’s capital, is a large city known for ornate shrines and vibrant street life. The boat-filled Chao Phraya River feeds its network of canals, flowing past the Rattanakosin royal district, home Or to opulent Grand Palace and its sacred Wat Phra Kaew Temple. earby is Wat Pho Temple with an enormous reclining Buddha and, Log In With Google Sign Up Here Exp Date Hasan Mahmud on the opposite shore. 3 day winter $3 000 Confirm Payment 7/21
19. 如何收集组件样本数据? 收集⻚面、获取组件截图、样本打标 样本标注耗时:14000⻚面 * 2个类别 == 11 个小时 样本不均衡: 25647张⻚面 == 7757个button + 1177个 switch + … Find your location... Enter your card number Log In mm/yy 143 标注 样本类型 dataset.zip United states Confirm Payment 组件截图 组件图像分类样本
20. 如何收集组件样本数据? 使用无头浏览器 puppeteer 自动生成组件样本 收集⻚面 组件截图提取 组件样本打标 样本类型标记 样式随机生成 随机生成组件⻚面 组件随机生成逻辑 数据集生成
21. 如何收集组件样本数据? 使用 Puppeteer 自动生成组件样本 基于有限规则生成的样本特征不够发散,且与真实样本相比有些差异 自动生成的样本一般仅用做真实样本较少时的补充 Puppeteer 访问⻚面 提取组件并截图保存 生成的组件样本 访问⻚面随机生成组件
22. 算法选型 图像分类任务 问题定义 样本准备 算法选型 数据集 dataset.zip 模型训练 模型服务部署 模型应用
23. 算法选型 图像分类经典算法 几种图像分类算法的模型效果比较
24. 模型训练 图像分类任务 问题定义 ResNet50 算法 样本准备 算法选型 数据集 dataset.zip 模型训练 模型服务部署 模型应用
25. 模型训练 模型训练工作流 数据收集 数据接入 数据处理 模型定义 模型训练 模型评估 模型部署 下载数据集 数据集格式转换 数据集处理 训练集/测试集拆分 数据收集 数据接入 数据处理 用Resnet算法 定义图像分类模型 模型定义 模型训练 用训练集 训练模型 用测试集做 模型准确度评估 模型评估 模型部署
26. 模型训练 数据收集 前端工程师如何训练模型? Node.js 数据接入 数据处理 服务端 工程师 模型定义 前端 工程师 机器学习 工程师 模型训练 PipCook 模型评估 前端机器学习框架 PipCook https://github.com/alibaba/pipcook $ pipcook run pipeline.json
27. 本地测试模型识别效果 模型训练结果本地测试 Pipcook 训练产物 本地预测脚本
28. 模型服务部署 图像分类任务 问题定义 ResNet50 算法 PipCook 算法选型 模型训练 样本准备 数据集 dataset.zip 模型服务部署 模型文件 model 模型应用
29. 模型服务部署 http://pai-eas-vpc.cn- shanghai.aliyuncs.com /api/predict/component_detect 模型文件 阿里云控制台上传部署
30. 模型应用 PipCook 图像分类问题 问题定义 样本准备 算法选型 dataset.zip 模型训练 模型服务部署 模型文件 model RESTful API http://pai-eas-vpc.cn-shanghai.aliyuncs.com/api/predict/component_detect VPC 地区 模型名称 模型应用
31. 模型应用 调用模型识别服务识别组件 input input 裁剪 组件 图片 识别 button button 更新 Schema
32. 模型应用 组件识别结果应用于代码生成 用户配置的 Ant Design 组件信息 import antd-mobile ? <Input /> <Button /> D2C Schema React 代码 自定义 React DSL 转换函数
33. 实践过程回顾 图像分类问题 问题定义 Step by Step 练习 ResNet50 算法 样本准备 算法选型 PipCook 模型训练 dataset.zip • 实践1:在 Colab 中使用 PipCook 分类图片中的前端组件 • 实践2:前端如何快速训练一个表单识别模型? • 实践3:现在开始:用你的Mac训练和部署一个前端组件图片分类模型 模型应用 模型服务部署 模型文件 model 模型识别服务 RESTful API 识别组件 生成代码
34. D2C 双 11 零研发工程实践
35. 业务逻辑代码生成 此模块有哪些业务逻辑? 循环逻辑 这里被识别为1个1排2循环 结构,可以生成 map 循环 绑定商品标题字段 这里文本被识别为商品标题, 可以绑定到商品标题字段 ⻚面跳转 数据埋点 识别到这是一个商品, 点击会跳转到商品详情⻚ 绑定商品图字段 这里图片被识别为商品图, 可以绑定到商品图字段
36. 业务逻辑代码生成 智能识别结果如何用于业务逻辑代码生成? 业务逻辑库 D2C Schema 带有业务逻辑的 D2C Schema
37. 业务逻辑代码生成 每一条业务逻辑都由一个识别器和一个表达器组成 商品标题字段绑定 业务逻辑识别器 商品标题字段绑定 业务逻辑表达器
38. 业务逻辑代码生成 智能识别结果如何用于业务逻辑代码生成? Map 循环代码 ⻚面跳转 无障碍属性 绑定 itemImage 字段 DSL 转换函数 绑定 itemTitle 字段 带有业务逻辑的 D2C Schema 业务逻辑代码
39. 未来展望 多状态UI、微动效和复杂 UI 等代码生成问题的探索 多状态 UI 示例 微动效示例
40. 未来展望 构建 D2C 底层认知理论体系,基于产品设计方法智能理解设计产物
41. Q & A 设计稿智能生成代码 www.imgcook.com
42.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 21:33
浙ICP备14020137号-1 $Map of visitor$