羚珑智能设计背后的图形处理

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 羚珑智能设计背后的图形处理 王勇 京东凹凸实验室 - 前端工程师
2. 2
3. 个人在京东负责过的业务 羚珑平台开发 广告图千人千面 推荐与生成算法 参与平台早期版本的开发 海量图片实时生成 负责图片推荐与智能生成
4. 01 智能设计之物料数字化 设计工具 - 效能提升 目录 C O N T E N T S 02 智能设计之生成与排版 Ai 设计师 - 机器能不能代替人 03 智能设计之推荐型设计 设计画像 - 探索用户审美的规律
5. 01/ 物料数字化
6. 痛点 【设计分发效率低】通过下发设计稿件给运营/需求方/开发 【设计资源分散化】设计稿件去中心化,未变为公司设计资产 【降低设计⻔槛】运营同学经常只需要改下文字却要等设计师排期
7. 解决方案 1 psd / sketch 设计稿件 2 parse 解析器 3 template 结构化数据 4 editor 图层拖拽 图片替换 文字录入 缩放翻转 文字效果 ...
8. 01 解析
9. 技术方案 开源解决方案 PSD.js 基于 PSD.rb Psdump 比较成熟的方案 输出对象太大 跨语言,前端不擅⻓
10. 技术方案 自研方案 Psd-parser 有追求的程序员 支持流式解析 支持色彩空间转换 支持更复杂的psd (100+图层) 输出更优雅的数据结构 更灵活
11. 从文档开始 二进制文件 本文档供第 3 方读取和写入 Photoshop 原生文件格式 官方文档 https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
12. Psd 文件构成 宽高、色彩模式、深度、颜色模式 颜色模式 icc 信息、路径、历史记录等 图层和蒙版信息 预览图 文件分 5 个部分
13. 流式解析 function* 可中断的 IO 读写流
14. Psd 解析 Signature 0x 4 字节 Version 2 Reserved 6 Chanel 2 Height 4 Width 4 Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4)
15. Psd 解析 Signature 0x 4 字节 Version 2 Reserved 6 Chanel 2 Height 4 Width 4 Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4) const version = yield* reader.readInt16()
16. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 Height 4 Width 4 Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4)
17. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 const channels = yield* reader.readUInt16() Height 4 Width 4 Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4)
18. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 const channels = yield* reader.readUInt16() Height 4 const height = yield* reader.readUInt32() Width 4 Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4)
19. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 const channels = yield* reader.readUInt16() Height 4 const height = yield* reader.readUInt32() Width 4 const width = yield* reader.readUInt32() Depth 2 Color mode 2 const signature = yield* reader.readUtf8(4)
20. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 const channels = yield* reader.readUInt16() Height 4 const height = yield* reader.readUInt32() Width 4 const width = yield* reader.readUInt32() Depth 2 const depth = yield* reader.readUInt16() Color mode 2 const signature = yield* reader.readUtf8(4)
21. Psd 解析 Signature 0x 4 字节 Version 2 const version = yield* reader.readInt16() Reserved 6 yield* reader.skip(6) Chanel 2 const channels = yield* reader.readUInt16() Height 4 const height = yield* reader.readUInt32() Width 4 const width = yield* reader.readUInt32() Depth 2 const depth = yield* reader.readUInt16() Color mode 2 const colorMode = (yield* reader.readUInt16()) as keyof type const signature = yield* reader.readUtf8(4)
22. Psd 解析 Parse Header Parse ColorMode Parse ImageSources Parse LayerMaskInfo Parse ImageData 逐个读取最后输出结构化数据
23. Sketch 解析 sketch是一种zip文件,只是后缀是 .sketch 解压缩 ├── document.json ├── images │ └── 30922da10xxxxxxxxxxxxxxx.png ├── meta.json ├── pages │ └── E591xxxxx.json ├── previews │ └── preview.png └── user.json
24. Sketch 解析 ├── document.json ├── images │ └── 30922da10xxxxxxxxxxxxxxx.png ├── meta.json ├── pages │ └── E591xxxxx.json ├── previews │ └── preview.png └── user.json
25. 色差难题 更暗 更亮 网⻚色彩空间:sRGB 不同色彩空间范围
26. 色差难题优化 解决思路 是否 sRGB 解析 是 否 给出提示 转成 rgb icc profile
27. 02 可视化渲染
28. 图层编辑器 tools 基于 React 开发 redux 组件通讯 插拔式设计 nav bar xxx panel config panel render
29. 渲染器 text1 text2 text3 edit layer image 2 image 3 image 4 image 5 Text Layer Edit Layer Image Layer Dom + Canvas
30. 关于字体渲染 自研一套字体切片服务 支持三种返回格式 TTF CSS Base64 支持提取字型数据 glyphs / ascent / unitsPerEm 缓存强化 缓存二进制数据、缓存字型数据、保证唯一性 Opentype.js
31. 关于版权 常规的防护方法:暗水印 高级的防护方法: 区块链技术
32. 关于编辑器 极致的体验,向 figma 致敬 升级 开发成本低 速度更快 灵活性更高 善于处理大量元素 像素级图像处理 更强的兼容性
33. 数字化成果 【过去】 这样保存设计稿 【现在】 所⻅即所得
34. 数字化成果 线上设计资产 输出设计作品 百万级 百亿级
35. 02/ 生成与排版
36. 业界方案:基于数据驱动的生成算法 完全以数据驱动,需要的训练样本量非常大,成本会非常高 数据驱动训练的模型的泛化能力缺乏精准性 结论:不可行
37. 业界方案:基于规则驱动的生成算法 基于简单知识规则库的演绎方法缺乏推理迁移的能力,生成出的图片大多千篇一律,缺乏内容的丰富性与层次 感 结论:不够丰富
38. 规则驱动 x 数据驱动
39. 智能创意引擎流程设计 生成海量图片 噪声器 对抗 训练 生成器 样本集 审核 下采样 训练 生成器的图片效果接近合格样本 判别器 判别器对海量的图片判别与评价 生成器负责合图的构图、配色、场景构建,因此生成器决定了合图的层次丰富程度,起关键作用。判别器负责评价优化。
40. 智能创意引擎元素库 第三方素材 自有素材 背景 文案 形状 渐变 曲线 纹理 复合素材 背景 商品装饰 素材建档 算法素材 按钮 类型:边元素/漂浮元素/商品 主题:几何/抽象/立体/线条
41. 智能创意引擎元素库 素材建档 类型:边元素/漂浮元素 主题:几何/抽象/立体/线条 氛围:热烈/静谧/神秘 树叶 树叶 边元素 浮动元素 右边 大小 大小 绿色 颜色 春天 春天 实物 实物
42. 智能创意引擎生成器 参数生成 尺寸 文案 商品 ⻛格 构图 排版逻辑 确认 图元类 型集确认 ⻛格推理 场景构建 配色 素材档案 搜索选择 图元配色 推理 渲染 图片合成 图元尺寸 调整与生成 智能配色
43. 智能创意引擎元素生成 支持解析svg 对其二次编辑并导出 实现路径和图层功能 矢量素材生成器 支持从0到1制作矢量图
44. 智能创意引擎元素生成 不规则边界 规则形状 圆形 分散 波
45. 智能创意引擎元素生成
46. 智能创意引擎文字排版
47. 智能创意引擎商品排版
48. 广告图合成效果展示
49. 广告图合成效果展示
50. 03/ 推荐型设计
51. 我们面临的疑问
52. 【设计画像】 探索不同人对设计的偏好
53. 设计画像是不同用户的审美差异 雍正的审美偏向极简,他走的是淡雅隽永⻛ 乾隆的审美则脱离了高冷的范畴,喜庆热闹、富丽堂皇
54. 设计偏好建模 实践详细步骤 按钮便好 颜色偏好 人群偏好 布局偏好 ⻛格偏好 字体偏好 1 用户个体行为建模 2 群体偏好建模 3 群体/个体融合
55. 个体偏好建模 问题定义 利用用户历史N-180天的平台行为,去预测用户未来N天对某类特征的广告图是否会产生点击 特征工程 模型训练 用户点击广告图的行为数据 基于统计学计算 用户对商品的行为数据 行为类型权重值 × 次数 × 时间衰减
56. 群体偏好建模 人群划分 群体偏好计算 同一人群具有相似的偏好 TGI指数 性别*年龄*婚姻*省份 *教育*职业 目标群体中具有某一特征的群体所占比例 / 总体中具有相同特征的群体所占比例
57. 群体/个体融合 行为丰富的用户 行为稀疏的用户 个人偏好数据 群体偏好数据 用户设计画像
58. 覆盖数亿用户 16W 用户群 近x亿 活跃用户 橘 橙 橘 紫 小镇⻘年 小镇中年 小镇中产 小镇家庭 学生一族 粉 橙 ⻩ 蓝 橙 红 都市Z世代 都市中产 都市蓝领 都市家庭 银发一族 金 紫 浅 粉 红 男|26-35岁|研究生|金融从 男|16-25岁|未婚|大学|学 男|36-45岁|已婚|农⺠|蓝 女|26-35岁|未婚|大学|白 女|36-45岁|已婚|大学|白 业者|土豪 生|高级白领 领 领|高级白领 领|高级白领 十 3000W 大 8000W 人 9000W 蓝 群 X 20+ 色系原子 细 分 人 群
59. 基于设计画像合成广告图 设计画像引擎 智能创意引擎 用户
60. The next 头图 ‣ [广告图内容] 内容是否与用户相关? ‣ [广告图设计] 设计手法是否符合用户审美偏好? ‣ [楼层动线] 用户更关注「楼层A」还是「楼层B」? 楼层A ‣ [UI 组件内容] 内容是否包含用户最关注的信息? ‣ [UI 组件设计] 元素排版是否让用户产生点击欲望? 组件A 广告图千人千面 色彩⻛格千人千面 楼层动线千人千面 组件B 楼层B UI组件千人千面 简约型组件 从众型组件
61. LING.JD.COM 在线设计平台 营销设计好帮手
62.

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