디자인 QR코드 만들기 | 스테이블 디퓨전으로 모양 바꾸기

QR 코드는 과거 1차원 바코드(barcode)를 대체하는 2차원 코드로, 스마트폰 보급과 함께 모두가 카메라와 인터넷을 편하게 사용할 수 있게 되면서 급성장한 분야입니다. 보통 검은 색상의 정사각형 형태를 한 밋밋한 QR코드를 스테이블 디퓨전을 활용하면 디자인 QR코드로 바꿀 수 있습니다. 본문에서는 스테이블 디퓨전으로 QR코드 모양을 바꿔 디자인 QR코드를 만드는 방법에 대해 살펴보겠습니다.

일반 QR코드 만들기

먼저 디자인 QR코드를 만들기에 앞서 일반 QR코드를 만들어야 스테이블 디퓨전으로 그 모양을 바꿀 수 있습니다. 일반 QR코드는 여러 서비스를 통해 쉽게 만들 수 있는데요, 가장 대표적인 포털인 네이버에서도 아래 절차를 따라 무료로 만들 수 있습니다.

네이버 QR 코드

먼저 네이버 QR 사이트에 접속하면 위와 같은 화면이 나타납니다. 코드 생성을 누른 뒤 아래와 같이 절차를 따라 QR 코드를 생성합니다.

일반 네이버 QR코드 생성

코드 디자인은 기본형을 선택, 스킨 스타일은 테두리를 두르는 색을 결정합니다. 우리는 따로 필요 없는 부분이기 때문에 흰색을 선택합니다. 그 아래로 중앙로고, 문구 등은 따로 필요하지 않으므로 선택하지 않습니다. 페이지 유형 및 정보는 편한대로 선택하신 뒤 최종적으로 생성을 누릅니다.

일반 네이버 QR코드 저장

마지막으로 생성된 QR코드는 “코드저장”을 눌러 PNG로 다운받습니다.

디자인 QR코드 만들기

아래에서는 스테이블 디퓨전으로 디자인 QR코드를 만드는 여러 방법중 가장 대중적인 방법인 컨트롤넷 QR코드 전용 모델을 사용해 보고자 합니다. 컨트롤넷 설치에 대한 자세한 안내가 필요하신 분들은 아래를 참고하시기 바랍니다.

디자인 QR코드 전용 모델 다운로드

스테이블 디퓨전에서 컨트롤넷의 존재는 정말 신과 같습니다. 여기서는 QR코드를 만들기 위한 컨트롤넷 전용 모델을 활용할 예정입니다.

컨트롤넷 QR코드 모델 다운로드

위 링크를 타고 페이지로 이동하여 상단의 Files and versions로 이동하면 QR코드 생성을 위한 컨트롤넷 전용 모델을 다운로드 받을 수 있습니다. 다운받은 모델은 컨트롤넷 모델 폴더로 이동해줍니다. 둘 중 어떤 모델을 사용해도 상관없지만, 아래 예시에서는 pattern 모델을 사용합니다.

디자인 QR 코드 이미지 생성

QR 코드를 만들기 위해 아래와 같이 WebUI에서 일반적인 컨트롤넷 설정과 동일하게 진행합니다.

QR코드 컨트롤넷 설정

여러번 시도해본 결과 원본 QR Code는 적당히 여백이 있는 이미지를 사용해야 조금 더 그럴듯한 결과가 생성되었습니다. 업스케일까지는 하지 않아도 괜찮지만, 초반 생성 해상도는 512×512 보다는 768×768 이상으로 설정해주시는 것이 조금 더 인식률이 좋아지는 것 같습니다. 해상도가 너무 낮으면 QR 코드 내 픽셀들을 정확히 생성하지 못하는 느낌입니다.

여백 없이 만든 디자인 QR 코드

디자인 QR코드 여백 없는 부자연스러움

원본 QR코드를 여백없이 자른 뒤 컨트롤 이미지로 사용하여 만든 결과 이미지입니다. 인물이 등장하기는 하지만 코드 중앙에 코드 픽셀들과 뒤섞여 있어 QR코드로 가려진듯 조금 답답해 보입니다.

여백과 함께 만든 디자인 QR코드

디자인 QR코드 여백에 따른 자연스러움

한편 원본 QR 코드에 적당한 여백이 있는 경우 스테이블 디퓨전이 해당 여백을 채우면서 코드를 그려냅니다. 인물이 등장하는 경우 위와 같이 코드와 여백의 경계를 넘나들기 때문에 조금 덜 답답하고 조금은 더 자연스러운 이미지가 생성됩니다.

여러가지 예시 이미지

위에서 설명드린 절차대로 모델과 프롬프트에 변화를 조금씩 주면서 여러가지 예시 이미지를 생성해보았습니다. 생각보다 생성된 결과 이미지의 QR 코드 인식률이 높지 않아 생각보다 다양한 시도가 필요했습니다. 코드가 잘 읽히지 않을 때는 컨트롤넷의 컨트롤웨이트를 높이면 인식률이 높아지는 대신 생성되는 이미지의 자유도가 떨어지고 부자연스러운 코드 이미지가 생성될 확률이 높습니다. 한편, QR코드는 일반적으로 배경에 생성되므로, 프롬프트에서 배경에 대한 묘사를 할 때 blury background와 같은 배경흐림 효과는 작성하지 않는 것이 좋습니다. 아래는 이러한 점들을 고려해 만들어본 다양한 코드 이미지입니다.

디자인 QR코드 예시 이미지 01
디자인 QR코드 예시 이미지 02
디자인 QR코드 예시 이미지 03
webui QR stable diffusion