Tạo ảnh có chứa QR code bằng Stable Diffusion

Tạo hình ảnh có chứa QR code khá mới mẻ, gây kích thích tò mò và hấp dẫn người xem. Bài viết này hướng dẫn cách thực hiện, chính xác là dịch lại bài từ link: https://stable-diffusion-art.com/qr-code/

Tóm tắt các bước thực hiện

  1. Tạo mã QR code
  2. Cài đặt Stable Diffusion
  3. Cài đặt ControlNet
  4. Nhập prompt để tạo ảnh

Bước 1: tạo mã QR code

Các bạn có thể dùng tool tạo mã QR code bất kỳ hoặc tại link: https://34qr.com/en/

Nhập nội dung các bạn muốn, lưu ý nên từ 30 ký tự trở lại như thigiacmaytinh.com. Dài hơn thì các square quá nhỏ, khó thành công. Nên nếu bạn có link dài thì nên sử dụng dịch vụ rút gọn link như bit.ly

Các bạn nhập text các bạn muốn, sau đó chọn Fault tolerance là 30%. Đây là tỷ lệ dữ liệu dùng để sửa lỗi QR code, tỷ lệ này cao thì khi sinh ảnh sẽ dễ thành công hơn.

Bước 2: cài đặt Stable Diffusion

Bước này phức tạp nên chia thành nhiều bước nhỏ. Thông tin về máy tính sử dụng:

  • Windows 10
  • GPU NVIDIA RTX 3060 12GB VRAM.
  • CPU: Intel core i5 4590
  • RAM: 16GB
  • SSD: Samsung 860 EVO 500GB SATA

2.1 Cài đặt phần mềm

2.2 Cài đặt Stable Diffusion

Clone repo tại link: https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

sau đó chạy file webui-user.bat. File này sẽ cài lib torch và các packages cần thiết khác. Nếu cài thành công bạn có thể truy cập bằng browser ở đường link http://127.0.0.1:7860

Mở brower nhập 127.0.0.1:7860 hoặc localhost:7860 sẽ hiện ra giao diện như bên dưới

2.3 Download ghostmix

Download checkpoint ghostmix tại link: https://civitai.com/models/36520/ghostmix.

Bạn sẽ download được file ghostmix_v20Bakedvae.safetensors dung lượng 2.24GB. Sau đó bỏ file vào thư mục stable-diffusion-webui\models\Stable-diffusion

Ở UI bạn ấn nút refresh sẽ thấy checkpoint mới hiện ra, chọn ghostmix là được:

Bước 3: cài đặt ControlNet

3.1 Cài đặt extension ControlNet

Tại tab Extensions, chọn tiếp tab con Install from URL và paste URL: https://github.com/Mikubill/sd-webui-controlnet

Sau khi cài thành công sẽ có thông báo, sau đó chuyển qua tab Installed sẽ thấy sd-webui-controlnet. Ấn nút Apply and restart UI

Trong trường hợp restart không thành công, bạn tắt cmd và chạy file webui.bat

3.2 Download ControlNet model

Download control_v11f1e_sd15_tile.pth (1.35GB) tại link https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

Sau đó đem file control_v11f1e_sd15_tile.pth vào folder stable-diffusion-webui\extensions\sd-webui-controlnet\models

Bước 4: nhập prompt để tạo ảnh

Nhập prompt đòi hỏi bạn phải có vốn từ vựng tiếng Anh nhiều và phải hiểu ngữ nghĩa chính xác của từ mà bạn muốn dùng.

Các bạn chọn qua tab img2img, nhập Prompt:
a cubism painting of a town with a lot of houses in the snow with a sky background, Andreas Rocha, matte painting concept art, a detailed matte painting

Nhập vào ô Negative prompt:
ugly, disfigured, low quality, blurry, nsfw

Upload ảnh QR code vào img2img canvas sau đó chọn các settings sau:

  • Resize mode: Just resize
  • Sampling method: DPM++2M Karras
  • Sampling step: 50
  • Width: 768
  • Height: 768
  • CFG Scale: 7
  • Denoising strength: 0.75

Tại section ControlNet v1.1.224 các bạn upload ảnh QR code, sau đó chọn các settings sau:

  • Enable: Yes
  • Control Type: Tile
  • Preprocessor: tile_resample
  • Model: control_v11f1e_sd15_tile.pth. Nếu không thấy model thì ấn nút reload, sau đó chọn combobox sẽ thấy
  • Control Weight: 0.87
  • Starting Control Step: 0.23
  • Ending Control Step: 0.9

Ảnh fullscreen các settings cho các bạn tham khảo

Khi chương trình chạy sẽ sử dụng 9GB VRAM

Thành quả

Các bạn scan sẽ thấy nội dung của ảnh