diff --git a/README.md b/README.md index 9aa9496..0813dab 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [Portrait-Maker](https://github.com/THtianhao/ComfyUI-Portrait-Maker) This project is an adaptation of [EasyPhoto](https://github.com/aigc-apps/sd-webui-EasyPhoto), which breaks down the process of [EasyPhoto](https://github.com/aigc-apps/sd-webui-EasyPhoto) and will add a series of operations on human portraits in the future. -![](./images/easyphoto.png) +![](./images/easyphoto.jpg) English | [简体中文](./README_zh-CN.md) @@ -15,9 +15,10 @@ If you have any questions or suggestions, you can reach us through: ## V1.1.0 Update 1. faceskin adds blur option -2. Add PM_FaceShapMatch node. See node introduction for details. -3. Add PM_MakeUpTransfer node. See node introduction for details. -3. Add a super-resolution model to the PM_PortraitEnhancement node. This super-resolution model can not highlight faces. +2. Add PM_FaceShapMatch node. same as easyphot faceshap match +3. Add PM_MakeUpTransfer node. same as easyphoto makeup transfer. +4. Add a super-resolution model to the PM_PortraitEnhancement node. This super-resolution model can not highlight faces. +5. Add v1.1.0 workflow ## V1.0.0 Update 1. Added log for model downloads. diff --git a/README_zh-CN.md b/README_zh-CN.md index 049e85b..c855abf 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -2,7 +2,7 @@ 这个项目改编于[EasyPhoto](https://github.com/aigc-apps/sd-webui-EasyPhoto),对于[EasyPhoto](https://github.com/aigc-apps/sd-webui-EasyPhoto)进行了流程上的拆解,后续会加入其他项目处理人物头像上的系列操作。 -![](./images/easyphoto.png) +![](./images/easyphoto.jpg) English | [简体中文](./README_zh-CN.md) @@ -17,9 +17,10 @@ English | [简体中文](./README_zh-CN.md) ## v1.1.0 更新 1. faceskin 增加模糊选项 -2. 增加 PM_FaceShapMatch节点 详情查看节点介绍 -3. 增加 PM_MakeUpTransfer节点 详情查看节点介绍 -3. PM_PortraitEnhancement节点增加一种超分模型,此超分模型可以对人脸不做高光 +2. 增加 PM_FaceShapMatch节点 与easyphoto的FaceshapMatch一致 +3. 增加 PM_MakeUpTransfer节点 与easyphoto的MakeupTransfer一致 +4. PM_PortraitEnhancement节点增加一种超分模型,此超分模型可以对人脸不做高光 +5. 增加v1.1.0 workflow ## v1.0.0 更新 diff --git a/images/easyphoto.jpg b/images/easyphoto.jpg new file mode 100644 index 0000000..a5b81c3 Binary files /dev/null and b/images/easyphoto.jpg differ diff --git a/images/easyphoto.png b/images/easyphoto.png deleted file mode 100644 index 39e2da3..0000000 Binary files a/images/easyphoto.png and /dev/null differ diff --git a/workflows/easyphoto1_1.json b/workflows/easyphoto_v1_1_0.json similarity index 99% rename from workflows/easyphoto1_1.json rename to workflows/easyphoto_v1_1_0.json index 6021105..6571642 100644 --- a/workflows/easyphoto1_1.json +++ b/workflows/easyphoto_v1_1_0.json @@ -1,6 +1,6 @@ { "last_node_id": 231, - "last_link_id": 419, + "last_link_id": 424, "nodes": [ { "id": 50, @@ -443,7 +443,7 @@ "1": 46 }, "flags": {}, - "order": 79, + "order": 77, "mode": 0, "inputs": [ { @@ -486,7 +486,7 @@ "1": 46 }, "flags": {}, - "order": 76, + "order": 74, "mode": 0, "inputs": [ { @@ -620,7 +620,7 @@ "1": 82 }, "flags": {}, - "order": 75, + "order": 73, "mode": 0, "inputs": [ { @@ -663,7 +663,7 @@ "1": 246 }, "flags": {}, - "order": 78, + "order": 76, "mode": 0, "inputs": [ { @@ -724,7 +724,7 @@ "1": 166 }, "flags": {}, - "order": 77, + "order": 75, "mode": 0, "inputs": [ { @@ -793,7 +793,7 @@ "1": 166 }, "flags": {}, - "order": 80, + "order": 78, "mode": 0, "inputs": [ { @@ -856,7 +856,7 @@ "1": 474.0000305175781 }, "flags": {}, - "order": 81, + "order": 79, "mode": 0, "inputs": [ { @@ -907,33 +907,6 @@ "color": "#323", "bgcolor": "#535" }, - { - "id": 145, - "type": "PreviewImage", - "pos": [ - 4959.059430539544, - 2873.60691902383 - ], - "size": { - "0": 360.20330810546875, - "1": 542.2775268554688 - }, - "flags": {}, - "order": 83, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 246 - } - ], - "properties": { - "Node name for S&R": "PreviewImage" - }, - "color": "#323", - "bgcolor": "#535" - }, { "id": 147, "type": "LoraLoader", @@ -1239,7 +1212,7 @@ "1": 86 }, "flags": {}, - "order": 66, + "order": 64, "mode": 0, "inputs": [ { @@ -1356,7 +1329,7 @@ "1": 272.66497802734375 }, "flags": {}, - "order": 68, + "order": 66, "mode": 0, "inputs": [ { @@ -1383,7 +1356,7 @@ "1": 312.9284362792969 }, "flags": {}, - "order": 70, + "order": 68, "mode": 0, "inputs": [ { @@ -1410,13 +1383,13 @@ "1": 46 }, "flags": {}, - "order": 60, + "order": 58, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", - "link": 403 + "link": 420 }, { "name": "box", @@ -1483,7 +1456,7 @@ "1": 313.27972412109375 }, "flags": {}, - "order": 72, + "order": 70, "mode": 0, "inputs": [ { @@ -1510,7 +1483,7 @@ "1": 46 }, "flags": {}, - "order": 62, + "order": 60, "mode": 0, "inputs": [ { @@ -1554,7 +1527,7 @@ "1": 311.90179443359375 }, "flags": {}, - "order": 64, + "order": 62, "mode": 0, "inputs": [ { @@ -1812,51 +1785,6 @@ "color": "#323", "bgcolor": "#535" }, - { - "id": 144, - "type": "VAEDecode", - "pos": [ - 4652.0594305395425, - 2881.6069190238295 - ], - "size": { - "0": 210, - "1": 46 - }, - "flags": {}, - "order": 82, - "mode": 0, - "inputs": [ - { - "name": "samples", - "type": "LATENT", - "link": 244 - }, - { - "name": "vae", - "type": "VAE", - "link": 245 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 246, - 271, - 312 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEDecode" - }, - "color": "#323", - "bgcolor": "#535" - }, { "id": 178, "type": "PreviewImage", @@ -1893,7 +1821,7 @@ ], "size": { "0": 210, - "1": 26 + "1": 58 }, "flags": {}, "order": 110, @@ -1919,6 +1847,9 @@ "properties": { "Node name for S&R": "PM_PortraitEnhancement" }, + "widgets_values": [ + "pgen" + ], "color": "#2a363b", "bgcolor": "#3f5159" }, @@ -2061,13 +1992,13 @@ "1": 66 }, "flags": {}, - "order": 69, + "order": 67, "mode": 0, "inputs": [ { "name": "origin_image", "type": "IMAGE", - "link": 402 + "link": 421 }, { "name": "box_area", @@ -2112,7 +2043,7 @@ "1": 78 }, "flags": {}, - "order": 71, + "order": 69, "mode": 0, "inputs": [ { @@ -2158,7 +2089,7 @@ "1": 325.4287414550781 }, "flags": {}, - "order": 74, + "order": 72, "mode": 0, "inputs": [ { @@ -2185,7 +2116,7 @@ "1": 78 }, "flags": {}, - "order": 73, + "order": 71, "mode": 0, "inputs": [ { @@ -2378,7 +2309,7 @@ "1": 332.3785095214844 }, "flags": {}, - "order": 61, + "order": 59, "mode": 0, "inputs": [ { @@ -2672,7 +2603,7 @@ { "name": "image", "type": "IMAGE", - "link": 271 + "link": 423 }, { "name": "box", @@ -2968,7 +2899,7 @@ "1": 26 }, "flags": {}, - "order": 65, + "order": 63, "mode": 0, "inputs": [ { @@ -3033,7 +2964,7 @@ "1": 82 }, "flags": {}, - "order": 63, + "order": 61, "mode": 0, "inputs": [ { @@ -3095,8 +3026,8 @@ "id": 6, "type": "LoadImage", "pos": [ - 683, - 370 + 249.94248304953703, + 302.33370767033864 ], "size": { "0": 303.5721130371094, @@ -3301,7 +3232,7 @@ "1": 289.9919128417969 }, "flags": {}, - "order": 67, + "order": 65, "mode": 0, "inputs": [ { @@ -3459,10 +3390,10 @@ 2380, 1020 ], - "size": [ - 374.8711860380299, - 444.2354070414972 - ], + "size": { + "0": 374.8711853027344, + "1": 444.23541259765625 + }, "flags": {}, "order": 44, "mode": 0, @@ -3845,7 +3776,7 @@ { "name": "origin_image", "type": "IMAGE", - "link": 312 + "link": 424 }, { "name": "box_area", @@ -3932,10 +3863,10 @@ 7570.006255877076, 1602.40493563089 ], - "size": [ - 210, - 246 - ], + "size": { + "0": 210, + "1": 246 + }, "flags": {}, "order": 103, "mode": 0, @@ -4353,95 +4284,28 @@ "bgcolor": "#535" }, { - "id": 61, - "type": "VAEDecode", + "id": 145, + "type": "PreviewImage", "pos": [ - 3798, - -70 + 4605, + 2907 ], "size": { - "0": 210, - "1": 46 + "0": 360.20330810546875, + "1": 542.2775268554688 }, "flags": {}, - "order": 55, + "order": 81, "mode": 0, "inputs": [ { - "name": "samples", - "type": "LATENT", - "link": 79 - }, - { - "name": "vae", - "type": "VAE", - "link": 142 - } - ], - "outputs": [ - { - "name": "IMAGE", + "name": "images", "type": "IMAGE", - "links": [ - 82, - 419 - ], - "shape": 3, - "slot_index": 0 + "link": 246 } ], "properties": { - "Node name for S&R": "VAEDecode" - }, - "color": "#323", - "bgcolor": "#535" - }, - { - "id": 224, - "type": "PM_FaceShapMatch", - "pos": [ - 4244, - -66 - ], - "size": { - "0": 229.20001220703125, - "1": 66 - }, - "flags": {}, - "order": 58, - "mode": 0, - "inputs": [ - { - "name": "source_image", - "type": "IMAGE", - "link": 419 - }, - { - "name": "match_image", - "type": "IMAGE", - "link": 400 - }, - { - "name": "face_box", - "type": "BOX", - "link": 398 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 401, - 402, - 403 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "PM_FaceShapMatch" + "Node name for S&R": "PreviewImage" }, "color": "#323", "bgcolor": "#535" @@ -4450,8 +4314,8 @@ "id": 223, "type": "Reroute", "pos": [ - 4088, - -28 + 5004, + 2846 ], "size": [ 75, @@ -4484,19 +4348,158 @@ "color": "#323", "bgcolor": "#535" }, + { + "id": 61, + "type": "VAEDecode", + "pos": [ + 3798, + -70 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 55, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 79 + }, + { + "name": "vae", + "type": "VAE", + "link": 142 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 82, + 420, + 421 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 224, + "type": "PM_FaceShapMatch", + "pos": [ + 5097, + 2791 + ], + "size": { + "0": 229.20001220703125, + "1": 66 + }, + "flags": {}, + "order": 82, + "mode": 0, + "inputs": [ + { + "name": "source_image", + "type": "IMAGE", + "link": 422 + }, + { + "name": "match_image", + "type": "IMAGE", + "link": 400 + }, + { + "name": "face_box", + "type": "BOX", + "link": 398 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 401, + 423, + 424 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "PM_FaceShapMatch" + }, + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 144, + "type": "VAEDecode", + "pos": [ + 4678, + 2799 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 80, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 244 + }, + { + "name": "vae", + "type": "VAE", + "link": 245 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 246, + 422 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "color": "#323", + "bgcolor": "#535" + }, { "id": 225, "type": "PreviewImage", "pos": [ - 4148, - 101 - ], - "size": [ - 370.333740234375, - 482.09925079345703 + 5014, + 2933 ], + "size": { + "0": 370.333740234375, + "1": 482.0992431640625 + }, "flags": {}, - "order": 59, + "order": 83, "mode": 0, "inputs": [ { @@ -5201,14 +5204,6 @@ 1, "MASK" ], - [ - 271, - 144, - 0, - 159, - 0, - "IMAGE" - ], [ 272, 159, @@ -5385,14 +5380,6 @@ 2, "IMAGE" ], - [ - 312, - 144, - 0, - 168, - 0, - "IMAGE" - ], [ 319, 17, @@ -5737,22 +5724,6 @@ 0, "IMAGE" ], - [ - 402, - 224, - 0, - 131, - 0, - "IMAGE" - ], - [ - 403, - 224, - 0, - 112, - 0, - "IMAGE" - ], [ 414, 195, @@ -5794,20 +5765,52 @@ "IMAGE" ], [ - 419, + 420, 61, 0, + 112, + 0, + "IMAGE" + ], + [ + 421, + 61, + 0, + 131, + 0, + "IMAGE" + ], + [ + 422, + 144, + 0, 224, 0, "IMAGE" + ], + [ + 423, + 224, + 0, + 159, + 0, + "IMAGE" + ], + [ + 424, + 224, + 0, + 168, + 0, + "IMAGE" ] ], "groups": [ { "title": "Roop Image", "bounding": [ - 672, - 295, + 239, + 227, 333, 410 ],