在一些业务场景中,需要对人像图片添加特定光源,来增加氛围感,例如赛博朋克科技、海边夕阳余晖、以及红蓝相间的高冷;但实现这个功能的难点是:如何将光源与原图片融合,在图片上产生正常光的镜面反射;如RGB光在人脸上的科技光,阳光在人脸上的泛黄
开源项目 IC-Light 正是用于实现这一功能,专业名词为 image relighting;实现这一功能需要分别进行以下步骤操作:
- 1,对需要加光源的图片进行目标分割,生成Alpha Mask
- 2,生成表面法线图像(surface normal images)
- 3,提取目标光源的散射和镜面反射
- 4,最后,将以上信息进行融合,生成加完光源的目标图像
整个处理流程如下:
如果对 image relighting
处理原理,细节方面比较感兴趣的同学,可以参考论文《Total Relighting: Learning to Relight Portraits for Background Replacement》
下图是本人跑的样例结果,每张图共有四列,前三列分别为 原图、目标光源、加完光源的目标图片;最后一列是 基于第三列的目标光源图像, 又做了次扩图操作,关于【扩图】可以参考
图1
图2
图3
图4