打开后图片不见了_PS教程:神奇的图片,明明是这张图点开却成了另一张图—幻影坦克...

不知道大家平时在上网或者QQ聊天的时候有没有遇到过这样一张图,看上去明明是这个画面,点开却是另外一个画面(如下图演示)

be04f05845391383897a4ddb4409ff5c.png

效果演示

那么这种图是怎么做的呢?首先我们来分析一下这种效果的原理。

目前我们所接触的大部分APP、网页、聊天工具的默认背景色都是纯白色,而点开图片后的背景色却是黑色,我们知道,在白色背景色下,图片中的透明区域和白色区域是看不见的,在黑色背景色下,图片中的透明区域和黑色区域是看不见的。由此可见,上图效果就是巧妙的运用了背景色的切换,使两个叠在一起的图片在不同背景色下显示不同的画面。

下面我就给大家详细的讲解一下用PS制作这种图的操作步骤。

首先:

打开PS,新建一个宽高都为2像素、背景内容为透明的页面

69d6a7b32e0baf8a75cff9bfef92360c.png

按快捷键ctrl+0(数字)使画布缩放为适合屏幕大小,找到工具栏的铅笔工具(快捷键B)

acdda2848bff8b5893a1926c89aada8c.png

在画布空白区域点击鼠标右键,打开设置窗口,将铅笔大小设置为1像素,硬度为百分之100,工具属性栏里面不透明度为百分之100

47252eed77e95918c4aafa7db1bbf863.png

选择黑色前景色,在画布上画出如下形状的图案,编辑—自定义图案,将该图案设置为自定义图案

e6943eaf8054b2a408da2a480dcdf33b.png

用同样的方法,使用白色前景色,画出如下图案,同时将该图案设置为自定义图案

12b4528633e526b4fdb4bddc68e580ad.png

然后:

我们预先准备了两张图(图片来源网络),图一为预览图,图二为点开后的效果

2ff67bc6e44cf0f83c0e95b27cd3da92.png

图1

179fdff76e46142b40333ee9cb81c3c1.png

图2

用PS打开图2,将图层命名为图2(命名的目的是为了让初学者更容易看懂),并双击图层缩略图后面空白区域使其解锁,按快捷键ctrl+shift+U,对图片进行去色

b5fc008e8eb4610fe6ea1ea935131081.png

打开通道面板,按住ctrl键同时鼠标点击通道面板里面的RGB通道使画面内容载入选区

e2e3a4c03b57c1aa8f7c53ef84492189.png
f9277961a72f804ce6ad68b6a7808470.png

返回图层面板,新建一个空白图层,命名为图2-1

d558203b0dfdb9fca00c358a6b07f56b.png

在图2-1空白图层上按快捷键shift+F5打开填充设置窗口,内容为图案,自定义图案里面找到刚刚设置的白色块的图案,确定,ctrl+D取消选区

dc6d9d02352cbd136e5d785387df195c.png

将图1拖入页面,在图层上鼠标右键,栅格化图层,同时点击图2和图2-1图层前面的小眼睛将这两个图层暂时隐藏

3e682c3b6d176c71889d3c26179214e8.png

按快捷键ctrl+shift+U去色,打开通道面板,按住ctrl键同时点击RGB通道使内容载入选区,按快捷键ctrl+shift+i反选

bec459b495ce9710f6e2e3b14ef791cf.png
8daed64eb6667bd8df0ac30e6714177f.png

返回到图层面板,新建一个空白图层,命名为图1-1

eed4fa4670ebc5a5f5cef41d3741150b.png

在图1-1图层上按快捷键shift+F5打开填充设置窗口,内容为图案,自定义图案选择刚刚设置的黑色块图案,确定,ctrl+D取消选区

19adceb1226b2a266a97778cd0cfb620.png
5db034157ad8fa7f0482210b55685085.png

在图层面板上点击图1前面的小眼睛将图层隐藏,点击图2-1前面的小方块打开小眼睛使图层显示

8444b269287b9ed0d2df0dbf64a25ad4.png

最后

按快捷键ctrl+shift+alt+s打开存储为web所用格式设置窗口,文件格式为PNG-24(也可以使用GIF格式,这两种格式都会保留透明通道),点击存储,制作完成。

07ede4877db077faeb609e26b31c4273.png
925382c4ade842fbce5911c1a89f0e82.png

制作完成

可以将制作好的图片以原图方式用QQ发送给好友或者发布在网络平台测试效果,大家可以发挥自己的想象,制作出各种有意思的图,有不明白之处,欢迎各位在评论区留言或者私信给我,感谢大家!

<think>嗯,用户问的是CycleGAN训练日志中各个指标的含义,比如epoch、iters、time、data这些,还有D_A、G_A、cycle_A、idt_A等等。首先,我需要回忆一下CycleGAN的基本原理,这样才能解释清楚每个指标对应的部分。CycleGAN是生对抗网络的一种,用于无监督的像到像转换,比如把马变斑马,或者将照片变油画风格。它的结构包括两个生器和两个判别器,分别对应两个域A和B。 接下来,用户提供的日志里的各个字段需要逐一解释。首先是epoch,这应该是指训练轮数,表示整个数据集被遍历的次数。然后是iters,即迭代次数,可能每个epoch里有多个iter,因为数据是分批处理的。time可能是指每次迭代的时间,data可能是指数据加载的时间。但需要确认这些术语在CycleGAN中的具体定义。 然后是D_A和D_B,这应该对应两个判别器,判别器A和判别器B的损失值。G_A和G_B是生器A和生器的损失吗?或者可能是生器对抗判别器的损失?CycleGAN的生器损失通常包括对抗损失、循环一致性损失和身份损失。所以cycle_A和cycle_B可能是循环一致性损失,idt_A和idt_B是身份损失。 用户提供的引用中有提到lambda_identity参数,用于调整身份损失的权重,这支持了身份损失的存在。引用[4]里提到lambda_identity默认是0.5,说明身份损失在总损失中的比例。因此,idt_A和idt_B应该对应生器A和B的身份损失。 接下来,每个指标的具体含义需要详细说明。比如,D_A的值越低,可能表示判别器A越难区分真实和生像,生器的效果越好。而G_A可能代表生器A的对抗损失,希望这个值更低。循环一致性损失cycle_A和cycle_B衡量的是重建像与原的差异,所以数值低表示循环一致性好。 外,用户可能想知道这些指标在训练过程中的变化趋势,比如如何判断模型是否收敛,或者是否出现了模式崩溃。这时候需要结合各个损失的变化情况来分析,比如如果D_A迅速降为零,可能说明判别器太强,生器无法学习,这时候可能需要调整学习率或者其他参数。 还有可能用户在使用CycleGAN训练时遇到了问题,比如损失值波动大或者不下降,想通过日志指标来诊断问题。这时候需要解释每个指标的正常范围以及异常情况下的表现。例如,如果cycle_A损失一直很高,可能说明循环一致性没有得到满足,生器没有正确转换像。 外,用户提供的引用中有命令行参数,比如--lambda_identity,这可能会影响idt_A和idt_B的值。如果用户调整了这个参数,身份损失的权重会变化,训练日志中的数值也会相应变化。需要提醒用户注意这些参数对指标的影响。 总结来说,回答需要逐个解释日志中的每个指标,结合CycleGAN的结构和训练过程,说明它们的含义以及如何根据这些指标调整训练。同时,可能需要指出哪些指标是关键,比如循环一致性损失和对抗损失的平衡,以及身份损失的作用。</think>### CycleGAN训练日志指标解析 #### 基础指标 1. **epoch** 训练轮次,表示整个训练数据集被完整遍历的次数。例如,`epoch: 25` 表示当前正在进行第25轮训练[^1]。 2. **iters** 迭代次数(iteration),每个epoch中根据批次大小(batch size)划分的步骤数。例如,若数据集有1000,批次大小为10,则1个epoch对应100次迭代。 3. **time** 单次迭代的耗时(单位:秒),反映计算效率。若数值过高可能需检查硬件或代码优化。 4. **data** 数据加载耗时(单位:秒),衡量数据预处理和加载的效率。若占比过高,需优化数据管道(如使用多线程加载)[^2]。 --- #### 核心损失函数指标 CycleGAN包含**两个生器(G_A、G_B)**和**两个判别器(D_A、D_B)**,损失函数由以下四部分组: | 指标 | 含义 | 典型值范围 | |------------|-----------------------------------------------------------------------------------------|------------| | **D_A** | 判别器A的损失,衡量其对域A真实像与生像的区分能力。值越低表示判别器越难区分真假。 | 0.1~1.5 | | **G_A** | 生器A的对抗损失,反映生器欺骗判别器D_A的能力。值越低表示生像越逼真。 | 0.5~2.0 | | **cycle_A**| 从A→B→A的循环一致性损失,衡量重建像与原的差异(如L1/L2距离)。值越低表示循环一致性越好。 | 0.01~0.5 | | **idt_A** | 生器A的身份损失(Identity Loss),要求生器A对域A输入像保持原样。由`--lambda_identity`参数控制权重[^4]。 | 0.0~0.2 | | **D_B** | 判别器B的损失,功能同D_A,作用于域B。 | 0.1~1.5 | | **G_B** | 生器B的对抗损失,功能同G_A。 | 0.5~2.0 | | **cycle_B**| 从B→A→B的循环一致性损失,功能同cycle_A。 | 0.01~0.5 | | **idt_B** | 生器B的身份损失,功能同idt_A。 | 0.0~0.2 | --- #### 训练状态分析 - **理想情况**: - D_A/D_B和G_A/G_B呈动态平衡(如D_A=0.8,G_A=1.2)。若D_A趋近于0,说明判别器失效;若G_A趋近于0,可能生器过强导致模式崩溃。 - **循环一致性损失**: 若cycle_A/cycle_B持续较高(如>1.0),可能需增大循环一致性权重(默认值$\lambda_{cycle}=10$)。 - **身份损失**: 若输入域像本身有相似性(如照片↔油画),可设置`--lambda_identity 0.5`以增强色彩一致性。 --- #### 示例日志解读 ``` epoch: 25 iters: 400 time: 0.5 data: 0.1 D_A: 0.6 G_A: 1.8 cycle_A: 0.3 idt_A: 0.1 D_B: 0.7 G_B: 1.5 cycle_B: 0.2 idt_B: 0.05 ``` - 判别器D_A/D_B的损失值适中,生器G_A/G_B仍有优化空间。 - 循环一致性损失(cycle_A=0.3, cycle_B=0.2)表明模型能较好地保持内容一致性。 - 身份损失(idt_A=0.1, idt_B=0.05)较低,说明生器对输入域的固有特征保留较好。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值