중복·유사 사진을 로컬에서 정리하는 오픈소스 앱 PhotoDedup을 만들었습니다
사진 폴더를 직접 정리하다가 완전히 같은 파일뿐 아니라 연사, 리사이즈, 편집본처럼 눈으로 보면 거의 같은 사진을 함께 묶어볼 필요가 있어 PhotoDedup을 만들었습니다.
처음에는 폴더 스캔과 perceptual hash 그룹화부터 시작했는데, 실제로 수천 장을 분류해보니 탐지보다 더 어려운 부분은 그룹을 빠르게 판단하고 안전하게 정리하는 UX였습니다.
현재는 다음 흐름으로 사용할 수 있습니다.
로컬 사진 폴더를 스캔함
중복·유사 사진을 그룹으로 확인함
해상도·파일 크기·선명도·메타데이터 기반 추천을 참고함
남길 사진을 선택함
나머지를 보관 폴더나 시스템 휴지통으로 이동함
보관 폴더로 이동한 파일은 필요하면 복원함
사진과 스캔 결과는 원격 서버로 보내지 않습니다. Electron shell, React UI, Python FastAPI sidecar로 구성했고, sidecar는 127.0.0.1의 임시 포트와 토큰을 사용합니다. 스캔 데이터는 로컬 SQLite에 저장합니다.
현재 v0.1.12이며 Windows 설치본·portable 실행 파일과 Linux AppImage를 제공합니다. 한국어·영어·일본어 UI를 제공하며, 플랫폼 이미지 라이브러리가 지원하는 환경에서는 HEIC/HEIF도 처리합니다.
GitHub:
https://github.com/lisyoen/photodedup
다운로드:
https://github.com/lisyoen/photodedup/releases
MIT 라이선스로 공개했습니다. 특히 유사 사진 그룹의 오탐·누락 사례나 많은 사진을 분류할 때 불편한 UX에 관한 개발자·사용자 피드백을 받고 싶습니다.