新垣结衣夫妇的孩子长啥样,用 BabyGAN 预测试试

「老婆嫁人了」、「星野源夺妻之痛」、「爷青结」……星野源和新垣结衣官宣结婚后,不少网友发出了如上感叹。

二人曾共同出演日剧《逃避可耻但有用》剧中两位主角原本是“契约结婚”,后终成眷属
二人曾共同出演日剧《逃避可耻但有用》,剧中两位主角原本是“契约结婚”,后终成眷属

还有一波网友在坦然接受「失恋」现状后,转而关心起新垣结衣和星野源的孩子来,生怕孩子长得不像妈妈。

image.png
微博网友对二人孩子长相,表现出了极大关心

借助开源模型 BabyGAN,我们预测了新垣结衣和星野源未来孩子的长相。

「大河」是《逃避虽然可耻但有用》剧中,二人孩子的名字。

根据 BabyGAN 的预测, 如果新垣结衣跟星野源的孩子是个女孩的话,那么不同年龄的大河可能长这样:

image.png

BabyGAN 生成的女儿成长动图

如果大河是个男孩的话,那么不同年龄的大河可能长这样:

image.png

BabyGAN 生成的儿子成长动图

BabyGAN 到底是何方神器

BabyGAN 是一个基于 StyleGAN 的儿童长相预测器, 可以基于编码器和生成器,输入父亲和母亲的图像,经过神经网络的处理后,生成或预测未来孩子的长相。

预测方法: 使用基于 GAN 架构的神经网络模型,从输入的父母图像中提取 latent representation,然后用算法将其按一定比例混合,生成孩子图像。

image.png
父亲(左)、预测长相(中)、母亲(右)

利用 latency direction,可以改变年龄、面部朝向、情绪及性别等参数。

项目地址请访问 Here

编码器请访问 Here

本教程主要演示了:

1、从本地加载训练好的 BabyGAN 模型

2、准备父母双方图像,并获取其 latent representation

3、用模型生成孩子的面容

4、调整孩子的性别、年龄等参数,生成符合需求的孩子图像

安装环境:Python:3.6;TensorFlow:1.15

image.png
调整孩子性别、年龄等属性的示意动画

注意事项:本教程推荐使用 GPU 运行

完整教程请访问 Here

模型训练过程详解

1、准备工作

image.png

2、准备父母图像

image.png

3、生成孩子图像

image.png

4、生成具有某些特征的孩子图像

image.png

完整教程请访问 Here

StyleGAN 相关的高赞开源项目

BabyGAN 模型基于 StyleGAN,除此之外,基于 StyleGAN 和 StyleGAN2,还派生出了诸多优质开源项目。

StyleALAE

StyleALAE 是一个基于 StyleGAN 生成器的对抗隐性自动编码器, 它不仅可以生成图像质量与 StyleGAN 相当的 1024 x 1024 人脸图像,而且在同样的分辨率下,还可以基于真实图像进行人脸重建和属性更改。

image.png
StyleALAE 架构示意图

StyleALAE 编码器使用 Instance Normalization (IN) 层来提取多尺度风格信息, 这些信息通过可学习的多重线性映射 (learnable multilinear map),组合成隐式代码 w。

相关论文:Here

项目地址:Here

StyleFlow

虽然使用 StyleGAN 可以轻松生成高质量、多样化、逼真的图像,但是使用(语义)属性控制生成过程、同时又保持高质量输出,实现起来却并不简单。此外由于 GAN 潜在空间的纠缠特性, 沿着一个属性编辑很容易引起其他属性的变化。

为了解决纠缠潜在空间的条件化探索中,属性条件化采样 (attribute-conditioned sampling) 和属性条件化编辑 (attribute- conditioned editing) 的问题, 科研人员提出了 StyleFlow。

image.png
利用 StyleFlow 可以针对某一属性进行修改,而不引起其他属性的变化,如只更改光照、姿势、表情、性别等

用 StyleFlow 对真实图像进行非顺序 (non-sequential) 编辑,针对老年人、非对称等极端图像时,效果优于并发方法 (concurrent method)。

相关论文:Here

项目地址:Here

Pixel2style2pixel (pSp)

pSp 是一个用于图像到图像转换的 StyleGAN 编码器,它基于一个新型编码网络,可以直接生成一系列风格向量,这些风格向量被输入到预训练 StyleGAN 生成器中,形成扩展的 w+ 潜在空间。

在 pSp 中,编码器无需额外优化就可以直接将真实图像嵌入 w+ ,且利用编码器可以直接解决图像到图像的转换任务,并将其定义为从输入域到潜在域的编码问题。

image.png

pSp 在 StyleGAN 反演、多模态条件图像合成人脸正面化、图像修复和超分辨率场景中的成果展示

pSp 可以在不改变结构的前提下,处理各种各样的图像转换任务, 如由分割图生成人脸图像、人脸正面化、超分辨率等。

相关论文:Here

项目地址:Here

GenForce

GenForce 是一个适用于 StyleGAN、StyleGAN2、PGGAN 等深度生成模型的高效 PyTorch 库, 它具有以下特点:

1、分布式训练框架

2、训练速度快

3、模块化设计,适用于新模型的原型制作

4、与官方 TF 版本相比,高度再现了 StyleGAN 的训练

5、包含众多带 Colab demo 的预训练 GAN 模型

image.png

相关论文:Here

项目地址:Here

关于 OpenBayes

OpenBayes 是国内领先的机器智能研究机构,提供算力容器、自动建模、自动调参等多项 AI 开发相关的基础服务。

同时 OpenBayes 还上线了数据集、教程、模型等众多主流公开资源, 供开发者快速学习并创建理想的机器学习模型。

现在访问 openbayes.com 并注册

即可享用

600 分钟/周的 vGPU

以及 300 分钟/周 的 CPU 免费计算时

快行动起来,用 BabyGAN 预测未来孩子长相吧!

完整教程传送门:Here

Colab 传送门:Here

<think>嗯,用户想了解如何在GetX框架中实现路由跳转时传递参数以及接收参数。我需要根据提供的引用内容来整理答案。首先,用户提供的引用中有几个相关的部分,比如引用1和引用3提到了使用Get.toNamed传递参数,引用3还提到了如何获取参数。引用2可能涉及到状态管理,但这里主要关注路由参数传递。 首先,我应该分步骤说明如何传递参数。GetX的路由导航方法如Get.to()和Get.toNamed()都支持arguments参数,可以携带数据。需要指出两种传参方式:通过arguments参数传递任意类型的数据,或者直接在路由路径中添加参数,比如URL参数。 然后,接收参数的部分,在目标页面可以使用Get.arguments来获取传递过来的参数。如果是命名路由带参数的情况,可能需要使用Get.parameters来获取URL中的参数,比如/user/:id这的路由。 还需要提到GetX的参数管理机制,可能涉及到引用2中的RxInterface.proxy,不过这部分可能比较复杂,用户可能只需要知道基本用法。另外,引用5提到的GetUtils可能不需要在这里涉及,除非参数验证相关,但用户的问题不在此处。 注意要使用中文回答,并且正确应用LaTeX格式。比如,代码块需要用反引号包裹,行内变量如$arguments$需要用$符号。同时,需要生成相关问题,可能涉及性能优化、参数类型、状态保持等,可以结合引用4提到的页面状态保持来提出问题。 要确保回答结构清晰,步骤明确,用户能够一步步跟着操作。同时,引用标记要正确添加到对应的解释后面,例如在提到Get.toNamed时引用引用3。 可能还需要检查是否有遗漏的细节,比如参数的类型是否有限制,或者是否需要额外的配置。根据引用内容,似乎GetX直接支持arguments参数,无需额外配置,所以可以简明扼要说明使用方法。 最后,生成的相关问题要围绕路由参数传递展开,比如如何传递复杂对象、URL参数与arguments的区别、参数接收时的注意事项等。可能还需要包括状态管理相关的问题,因为引用2和引用4提到了状态保持,但用户当前问题集中在参数传递,所以相关问题应限制在该范围内。 总结回答结构:传递参数的方法(两种),接收参数的方法,代码示例,参数管理机制简介,最后相关问题。</think>在GetX框架中实现路由跳转参数传递与接收可通过以下步骤完成: ### 一、参数传递方法 1. **基础参数传递** 使用`Get.toNamed()`的`arguments`参数可传递任意类型数据: ```dart // 传递字符串参数 Get.toNamed(Routes.NextScreen, arguments: '新垣结衣'); // [^3] // 传递对象参数 Get.toNamed('/detail', arguments: {'id': 1001, 'name': '商品详情'}); ``` 2. **URL参数传递** 在路由地址中直接拼接参数(需先在路由配置中定义参数占位符): ```dart // 路由配置示例 GetPage( name: '/user/:userId', page: () => UserProfilePage(), ) // 跳转时传递 Get.toNamed('/user/456?role=admin'); ``` ### 二、参数接收方法 1. **获取arguments参数** 在目标页面通过`Get.arguments`接收: ```dart final params = Get.arguments; // [^3] print(params['id']); // 输出1001 ``` 2. **解析URL参数** 使用`Get.parameters`获取路径参数和查询参数: ```dart // 对于路由/user/456?role=admin String userId = Get.parameters['userId']; // 456 String role = Get.parameters['role']; // admin ``` ### 三、参数管理机制 GetX通过路由堆栈管理参数,参数生命周期与页面绑定。当使用`Get.off()`或`Get.offAll()`时,参数会随旧页面销毁自动释放[^1]。参数传递底层通过`RxInterface.proxy`实现监听关联,确保响应式参数能触发界面更新[^2]。 ### 四、代码示例 ```dart // 发送端 Get.toNamed('/order', arguments: OrderInfo(id: 1, total: 99.9), parameters: {'source': 'home'} ); // 接收端 class OrderPage extends StatelessWidget { final OrderInfo order = Get.arguments; final String source = Get.parameters['source'] ?? 'unknown'; @override Widget build(BuildContext context) { return Text('订单${order.id}来自$source'); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值