**SD-09 ControlNet應用-以室內空屋照片為底稿** ![ControlNet應用-以照片為底稿](https://hackmd.io/_uploads/Hy-q8o7O6.png) **ControlNet應用-以空屋照片為底稿** 對於建築設計者而言,要掌控並提升AI生成結果的準確性(AI生成原理是將文字和原圖一一對比),通常可以透過以下方式實現: 1. 底圖簡單塗鴉: 在底圖上以簡單的方式塗鴉,以色塊或素描的形式將設計構想勾勒出來。 2. 使用ControlNet:把繪製好的草圖放入ControlNet,選擇合適的預處理器(preprocessor)和模型(model)。在進行運算之前,調整控制權重參數,以提高生成的結果準確性。 3. PS繪製的色塊:如果是使用Photoshop等工具繪製的色塊,建議將其塗成實心的色塊,無需過於注重形狀的美感。保持色塊的顏色盡量與文字描述中的元素一致,例如,白色窗簾、黑色沙發等。對於不同元素的色塊,建議增加顏色區別,以提高AI的辨識準確性。 4. 控制生成權重:當底圖相對草率(例如手繪草圖)時,可以降低生成權重,給予AI更多發揮的空間。相反,當底圖相對準確(例如3D圖)時,應增加生成權重,以使AI生成更加貼近底圖。 ![螢幕擷取畫面 2024-01-04 100408](https://hackmd.io/_uploads/Hkkrf9QuT.png) 透過這些方式,建築設計者可以有效地引導AI生成,提高生成結果的準確性,並更好地表現出設計概念。 ![image](https://hackmd.io/_uploads/rkyptf6wT.png) **讓AI發揮:** 1.將ControlNet Weight權重值降低。 2.將精確的線稿改為草圖(sketch),色塊(segmentation) 或深度圖(depth)的算法。 3.增加CFG scale值(對原圖改變的程度)。 **更貼近底圖:** 1.將ControlNet Weight權重值增加。 2.將線稿(lineart)或邊緣線(canny)等換成草圖、色塊或深度圖的算法。 3.降低CFG scale值。 4.多生成幾張,以量取勝再進行迭代。 5.提高關鍵的提示詞權重,如關鍵詞(*:1.3)。 6.採用蒙版(mask): 在img2img中的inpaint upload上傳底圖及mask,修改的區域(mask)適當加大一點,範圍儘量完整,不要太瑣碎,因為被蒙版覆蓋範圍,AI完全不會改變,所以交界面會有些不搭配,可再將生成的圖發送至圖生圖,用較小的CFG值重新生成,整張圖的效果將會被潤飾。 **以空屋照片為例** Prompt: modern simple style,[white|black],a bedroom with a bed and 2 windows, 更多臥室細節的描述 bookshelf,couch,indoors,plant,potted_plant,window,day,pillow,book,no_humans,bed,table,sunlight,curtains,scenery,wooden_floor,lamp,bedroom, 室內照片底圖(512x384) ![L02](https://hackmd.io/_uploads/BJwiyN6Dp.jpg) **第一種方法** 使用二個ControlNet,一個使用lineart(控制空間架構),另一個使用Inpaint,先將不能變動的門窗之外的地方,用inpaint 塗起來,以確保窗戶位置不變之下進行運算,在先前迭代時,要確保空間尺度不會大改動,所以不要將圖的size放大,也不要高解析度修正。 ![image](https://hackmd.io/_uploads/rJ7Rg4TD6.png) ![image](https://hackmd.io/_uploads/rJd0eVTD6.png) 運氣好的話,很快可以運算出房間的配置,建議從中挑出較滿意的,再進行之後的調整,譬如:色調 材質 燈光等等。 ![image](https://hackmd.io/_uploads/HySw-46Dp.png) ![image](https://hackmd.io/_uploads/S1zd-NTvp.png) ![螢幕擷取畫面 2024-04-25 151712](https://hackmd.io/_uploads/r13i7tP-C.png) ![螢幕擷取畫面 2024-04-25 144807](https://hackmd.io/_uploads/SJ8WRuwbC.png) **第二種方法** 使用二個ControlNet,一個使用Inpaint,另一個放入一張設計的手繪圖並選用Lineart or Sketch皆可,參數可以適時調整,如控制權重降低一點,Starting & Ending控制步數調整等等。 ![image](https://hackmd.io/_uploads/SJrvMVava.png) ![image](https://hackmd.io/_uploads/BkAwGNawp.png) ![image](https://hackmd.io/_uploads/HJomV4pv6.png) ![image](https://hackmd.io/_uploads/HkGN44aDT.png) **第三種方法** 在圖生圖中,使用inpaint upload及一張遮罩Mask(可以先用PS或其他軟體,先製作一張窗戶範圍的遮罩),再加上喜歡的室內Lora model來進行運算。 ![image (12)](https://hackmd.io/_uploads/SkjHl4TDT.png) 上傳底圖及蒙版(mask)控制空間中不能更動的元素。 ![image](https://hackmd.io/_uploads/ryVxrVTvp.png) ![image](https://hackmd.io/_uploads/r1kZHNpv6.png) ![image](https://hackmd.io/_uploads/r1KaLVTwT.png) **第四種方法** Prompt: masterpiece,best quality,bedroom,room,simple style:1.2,white wall,sofa,standing lamp,2 windows,Simple style ceiling indirect lighting,[dark|grey],<lora:Mizuiro:0.5>, ![bedroom_1](https://hackmd.io/_uploads/SyUQhM_DA.png) ControlNet選擇Depth:depth_leres ![螢幕擷取畫面 2024-07-07 220219](https://hackmd.io/_uploads/Byc-g7dwR.png) ![00213-1279565634](https://hackmd.io/_uploads/H1JY0fOPC.jpg) ![00210-851162142](https://hackmd.io/_uploads/SkVA6Muv0.jpg) ![00203-1000173617](https://hackmd.io/_uploads/HJ7N3zdPA.jpg) ![00218-189464996](https://hackmd.io/_uploads/HJ7517dvR.jpg) **改為廚房空間** Prompt:best quality,masterpiece,a kitchen{gray|powderblue},2windows,ceiling design,architecture photo,scenery,table,chair,sink,kitchen,plant,indoors,refrigerator,frying pan,bottle,shelf,spatula,basket,plate,cup,stool,floor,interior photo, ![螢幕擷取畫面 2024-03-23 105057](https://hackmd.io/_uploads/rJDo7poR6.png) ![螢幕擷取畫面 2024-03-23 105733](https://hackmd.io/_uploads/B16XrTiCp.png) ![螢幕擷取畫面 2024-03-23 104103](https://hackmd.io/_uploads/BJ7J4piC6.png) 底圖(512x384) 運算時將size x2 縮放模式 選擇Crop and Resize 這是將運算的像素放大2倍 讓AI在比較大的像素空間中將更多細節表達出來 ![螢幕擷取畫面 2024-03-23 105130](https://hackmd.io/_uploads/S1NTXpiCp.png) ![螢幕擷取畫面 2024-03-23 105905](https://hackmd.io/_uploads/ByPqHTjRp.png) ![00104-2027837527](https://hackmd.io/_uploads/H1UO7poRa.jpg) ![00097-2655874620](https://hackmd.io/_uploads/S1rhG6sR6.jpg) ![00096-2167613558](https://hackmd.io/_uploads/HJWjgasCT.jpg) 這是直接用SDXL model+<lora:JAPAN_Kitchen_SDXL_V1:0.8> ![00016-3715004180](https://hackmd.io/_uploads/SyP6qt3qp.jpg)