这种方法首先使用深度学习模型从图片中识别出手部区域。然后它将手部 crops 出来,并利用一个生成对抗网络试图生成一个更加符合人体工学标准的手部形状。
GitHub:https://github.com/wenquanlu/HandRefiner/
论文:https://arxiv.org/abs/2311.17957
模型下载:https://huggingface.co/hr16/ControlNet-HandRefiner-pruned
更多作品:长期更新国内外,中英文AI人工智能作品
同时,它还识别出手部的姿态和手势,比如是握拳状还是指点状等。这些正确的手部形状和姿态信息将被编码成条件信息。
随后,生成对抗网络利用输入图像和条件信息联合生成一个修正后的新手部。关键是,新手部会保留原图其他非手部区域不变,只会修正手部形状。
通过这种条件修补的方法,HandRefiner能够很好地识别出手部的本质特征,如手指数量、关节位置等,同时兼顾到手部细节,生成出看起来更自然更真实的新手部,而不影响原图其他部分。
HandRefiner主要特点:
- 精确性:
HandRefiner能够精确地识别和修正生成图像中的畸形手部,提供了一种有效的后处理解决方案。同时也保持图像其他部分的一致性,不会影响图像的整体质量。 - 利用合成数据:
研究中发现了ControlNet中的一个相变现象,这使得HandRefiner能够有效地利用合成数据进行训练,而不会受到真实手和合成手之间域差异的影响。这意味着HandRefiner还能学习很多不同的手的样子,这样无论手有多怪,它都能找到合适的方式来修正。 - 适用性:
尽管HandRefiner主要针对手部图像,但其基本原理和技术可以适用于其他需要精细修正的图像生成任务。比如这种方法也可以用来修正其他部分,比如脚或者耳朵。
工作原理:
手部识别与重建:
- 首先,HandRefiner利用其训练模型对生成图像中的手部形状进行检测分析。如果发现手部形态不自然,会进行识别和判断。
- 随后,它会启动手部重构机制。通过学习正常手部样式的数据,HandRefiner能够绘制出一只新的手来取代畸形的那只。新手会呈现出正确的手势姿态。
条件修补:
- 然后,它采用了条件修正这一方法修补问题手部。HandRefiner会生成深度图,该图包含手部形状和位置的关键讯息。
- deepdepth图会送入ControlNet网络进行处理。ControlNet会将修正后的新手以深度图为指南整合回原始图像中,取代初代画作中的异形手部。除手部外,其他内容及风格不受影响,保留原貌。
通过这套识别-重建-修正流程,HandRefiner能有效检测并修复生成图像中的畸形手部问题。