InstantID是中國的團隊做出來的功能,專注在人像的風格轉換上。
官方github網址:https://github.com/InstantID/InstantID
在ComfyUI使用上有提供三個非官方的節點組可以選擇如下:
以上三個節點除了cubiq的版本外,其他兩個都因為需要使用diffusers的關係,所以安裝後容易報錯,而cubiq的版本安裝很簡單且可以順利運行,所以三個都安裝過後,最終我留下並使用的是cubiq的版本,cubiq同時也是IPAdapter Plus的作者。
下圖是根據cubiq提供的基本工作流稍作調整修改,我加入Get resolution節點,直接讀取來源圖片的寬高,然後輸入到Empty Latent Image固定生成圖像的尺寸與來源圖像相同。
cubiq在他的InstantID節點頁面有說明因為InstantID在訓練時採用1024*1024的圖像,所以在生成1024*1024的圖像時會容易出現浮水印,所以他建議使用1016*1016的生成尺寸。
因為我只是測試節點作用,所以採用來源圖像跟生成圖像的尺寸相同的做法。
可以看出使用InstantID後,人物的長相一致性比IPAdapter FaceID還要更高,而且受到文字提示詞與選用模型的影響,風格順利轉換成另外一種。
下圖是加入控制圖像的工作流(局部),跟基本工作流的差異是在Image_kps輸入控制圖像。
在cubiq最初的版本是加入臉部偵測的controlnet去控制生成人臉的位置,在後來的改版就提供了上圖看到的簡化,只要簡單的在Image_kps輸入圖像,就可以改變生成圖像的臉部位置。
InstantID可以串接IPAdapter使用,下圖是上面的工作流串接之後的效果。
這邊使用的是新版的IPAdapter中的style transfer (SDXL)功能,這個功能可以讓IPAdapter專注在風格上面,但畫質表現上略差。
InstantID提供了較為單純的使用方式,強化了生成人物的長相一致性,還可以搭配controlnet跟IPAdapter去調整人物姿勢跟畫面風格,還可以使用SDXL Turbo/Lighting等加速模型。
如果只是看InstantID在github的頁面介紹,可能會讓人誤會InstantID只是做到很多手機app都可以做到的濾鏡效果。
另外cubiq還分享了可以在一張圖片中生成兩人的工作流,實測下來生成時間如其所言較長且不容易成功,cubiq說會再花時間優化,就不多做測試了。