GitHub - theamusing/perfectPixel: Refine and quantize messy AI pixel art into clean, perfect pixels.
Service

GitHub - theamusing/perfectPixel: Refine and quantize messy AI pixel art into clean, perfect pixels.

theamusing
2026.08.05
·GitHub·by Mineru
#AI#ComfyUI#Image Processing#Pixel Art#Python

핵심 포인트

  • 1Perfect Pixel은 AI로 생성된 픽셀 아트 이미지의 왜곡된 그리드를 자동으로 감지하여 정렬된 픽셀 단위로 정교하게 다듬어주는 도구입니다.
  • 2이 기술은 FFT(고속 푸리에 변환)를 활용한 그리드 크기 감지, Sobel 에지 검출을 통한 보정, 그리고 최종 샘플링의 3단계 알고리즘을 사용합니다.
  • 3사용자는 OpenCV 기반의 고성능 버전과 NumPy만을 사용하는 경량 버전 중 선택하여 설치할 수 있으며, ComfyUI와의 통합도 지원합니다.

Perfect Pixel은 AI로 생성된 픽셀 아트 이미지에서 발생하는 왜곡된 그리드와 비정형 픽셀 문제를 해결하여, 정렬된 픽셀 단위의 결과물을 얻을 수 있도록 설계된 도구입니다. 표준적인 크기 조정(Scaling) 방식은 픽셀 아트의 격자 구조를 제대로 인식하지 못해 데이터 손실이나 왜곡이 발생하는데, 이 프로젝트는 이를 자동화된 그리드 감지 및 보정 알고리즘을 통해 최적화합니다.

핵심 방법론 및 기술적 상세

이 알고리즘은 크게 세 단계의 파이프라인으로 구성되어 있습니다.

1. 그리드 크기 감지 (Grid Size Detection)

  • 입력 이미지의 FFT(Fast Fourier Transform, 고속 푸리에 변환)를 수행하여 주파수 영역의 Magnitude(진폭)를 분석합니다. 픽셀 아트의 반복적인 격자 패턴은 주파수 도메인에서 특정 피크(Peak) 값으로 나타나며, 이를 통해 원본 이미지의 가로/세로 그리드 크기를 추정합니다.

2. 엣지 감지 및 그리드 정렬 (Edge Detection & Grid Refinement)

  • Sobel 필터를 사용하여 이미지의 엣지를 검출합니다.
  • 1단계에서 추정한 그리드 라인을 초기값으로 설정한 후, refine_intensity 매개변수를 활용하여 실제 엣지와 그리드 라인을 매칭합니다. 정렬은 다음 범위 내에서 최적화됩니다:
xrefined∈[xestimated×(1−refine_intensity),xestimated×(1+refine_intensity)]x_{refined} \in [x_{estimated} \times (1 - \text{refine\_intensity}), x_{estimated} \times (1 + \text{refine\_intensity})]
  • 이를 통해 왜곡된 그리드를 픽셀 경계에 정확히 정렬합니다.

3. 샘플링 (Sampling)

  • 정렬된 그리드 정보를 바탕으로 원본 이미지를 재샘플링합니다. 사용자는 sample_method를 통해 "center"(중앙값), "median"(중간값), "majority"(최빈값) 중 하나의 방식을 선택하여 각 그리드 셀의 대표 색상을 결정하고 최종 결과물을 생성합니다.

기술적 특징 및 활용

  • 유연한 환경 지원: OpenCV 기반의 고성능 구현(Fast version)과 NumPy만을 사용하는 경량 구현(Lightweight version)을 동시에 제공하여, 환경에 따라 유연하게 선택할 수 있습니다.
  • 사용자 편의성: ComfyUI용 커스텀 노드를 지원하여 AI 워크플로우에 쉽게 통합할 수 있으며, grid_size를 수동으로 지정하여 자동 감지 기능을 오버라이드할 수도 있습니다.
  • 활용 예시: Stable Diffusion 등을 통해 생성된 픽셀 스타일 이미지에 적용하여, 물리적인 Perler bead 패턴 제작이나 정교한 픽셀 아트 에셋으로 변환하는 데 최적화되어 있습니다.