oliverbravery/PrintGuard
Catches failed 3D prints on your own hardware, pauses the printer and sends you a snapshot alert. Runs in Docker, or as a macOS or Windows app. Free and open source, and no frame ever leaves your network.
개요
PrintGuard는 카메라로 3D 프린터를 감시하고 인쇄 실패를 자동으로 감지하는 자체 호스팅 AI 시스템입니다. 결함(전형적인 "스파게티" 모양의 압출 플라스틱 등)을 발견하면 인쇄를 일시 중지하거나 취소하고 스냅샷 알림을 휴대폰으로 보냅니다 — 모두 자체 하드웨어에서 실행되며 클라우드 서비스나 구독이 필요 없습니다.
작동 방식
핵심은 컴팩트한 비전 모델(ShuffleNetV2 인코더, 약 5MB)로, 각 카메라 프레임을 인쇄 실패 징후에 대해 점수화합니다. CPU, GPU 또는 NPU에서 로컬로 실행됩니다 — Raspberry Pi 4는 카메라 1~2대를 처리할 수 있습니다. 모델은 하드웨어가 지원하는 한 여러 카메라에서 공유되며, 연결된 프린터가 실제로 인쇄 중일 때만 감시합니다.
결함이 충분히 오래 지속되면(연속 플래그 프레임 수를 조정할 수 있음), PrintGuard는:
- 작업 — OctoPrint, Klipper, Elegoo, Prusa 또는 Bambu Lab(로컬 API를 통해, 클라우드는 절대 사용하지 않음)을 통해 인쇄를 일시 중지하거나 취소
- 알림 — ntfy, Pushover, Telegram 또는 Discord로 스냅샷을 푸시
주요 기능
- 대시보드 — 카메라별 실시간 위험 점수, 온도, 진행률, 원터치 예열, 프린터로 보내기 전에 3D로 미리 볼 수 있는 슬라이스된 파일 라이브러리
- 튜닝 — 모니터별 알림 임계값, 유지 시간, 냉각 시간 및 응답(알림/일시 중지/취소), 위험 점수 기록 및 각 알림의 스냅샷으로 백업
- 자동화 — MQTT를 통해 Home Assistant에 표시, 에이전트/스크립트용 REST API 및 MCP 서버, 범위가 지정된 액세스 토큰
- 플러그인 — 앱 내 스토어의 샌드박스 처리된 JavaScript 플러그인(화면 속 화면, 알림음, 진행 보고서, Spotify 통합)
- 테마 — 라이트, 다크, 글래스 테마 및 테마 편집기
성능 주장
README는 PrintGuard를 Obico의 Spaghetti Detective(유일한 다른 오픈 모델)와 Raspberry Pi 4B에서 4개의 보지 못한 테스트 세트로 비교합니다: 93.6% 정확도 대 53.8%, F1 0.937 대 0.411, 15.1 이미지/초 대 0.35 — 약 43배의 처리량. 방법과 결과는 링크된 논문에 있습니다.
배포
- 데스크톱 앱 — macOS(Apple silicon) 및 Windows용 — 창을 닫아도 계속 감시하는 메뉴바/트레이 허브
- Docker — 상시 서버 또는 NAS용 단일 컨테이너, amd64 및 arm64(Raspberry Pi 4/5 포함) 이미지
- 하드웨어 가속 — LiteRT 및 ONNX Runtime 모델을 모두 포함하고, 시작 시 둘 다 벤치마크하며, 사용 가능한 최상의 공급자를 사용(macOS의 Core ML, Windows ML, Intel의 OpenVINO, NVIDIA의 TensorRT)
주목할 만한 주의 사항
- 내장 인증 없음 — README는 포트 포워딩을 절대 하지 말라고 명시적으로 경고합니다. 앞에 ID 레이어(Tailscale, Access가 있는 Cloudflare Tunnel, oauth2-proxy)를 배치해야 합니다
- Windows 빌드는 서명되지 않음(첫 실행 시 "계속 실행" 필요)
- 선택 사항: 레이블이 지정된 프레임을 보내 모델 추가 훈련에 기여할 수 있습니다
결론
진정하고 실질적인 AI/ML 프로젝트: 3D 프린팅을 위한 실시간 컴퓨터 비전 결함 감지, 완전히 로컬 및 프라이빗, 세련된 대시보드, 광범위한 프린터/카메라/알림 통합, 주요 오픈 경쟁사에 대한 신뢰할 수 있는 성능 수치를 갖추고 있습니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- Dispatch
- 프로젝트