dev.to

ShutterHunt : A Photographic Quest That Gets You Outside

ShutterHunt: 밖으로 나가 사진을 찍게 하는 퀘스트 게임

ShutterHunt는 사진 과제를 수행하고 Gemma 3n의 평가와 촬영 피드백을 받는 Android 앱입니다. 모델을 휴대전화에 내려받아 실행하므로 인터넷 연결 없이 사진을 판정합니다. 개발 과정에서 사진 방향 오류와 모델의 잘못된 JSON 출력을 해결한 경험도 소개합니다.

에디터 노트

이 앱의 오프라인 동작은 사진 퀘스트라는 용도와 잘 맞습니다. 개발자는 모델을 기기에 내려받아 실행하고, 신호가 약한 곳에서도 판정할 수 있게 설계했습니다. 다만 데모에서는 모델 파일을 별도로 내려받고 경로를 지정해야 하며 판정 속도도 느리다고 밝혔습니다. 댓글은 촬영 피드백과 오프라인 사용을 장점으로 꼽지만, 모델의 사진 평가가 실제 학습에 얼마나 도움이 되는지는 구체적인 사용자 사례나 평가 자료가 제시되지 않았습니다. 현재 확인되는 것은 작동하는 데모와 개발 과정이며, 위치 기반 이벤트와 확장된 과제는 향후 계획입니다.

AI 요약

ShutterHunt는 사진을 찍는 퀘스트를 제시하고 결과물을 Gemma 3n으로 판정하는 Kotlin 기반 Android 앱입니다. 거울처럼 대칭인 사진 과제라면 화면 중앙 배치, 좌우 대칭, 구조의 명확성을 기준으로 평가하고 개선점을 알려줍니다. 개발자는 사진을 취미로 시작했지만 직업으로 삼은 뒤 예전만큼 즐기지 못해, 사진을 다시 재미있게 찍고 초보자가 촬영을 배울 수 있는 게임을 만들었다고 설명합니다.

기기 안에서 실행하는 사진 판정

앱은 Gemma 3n E2B의 int4 양자화 모델과 LiteRT-LM을 사용합니다. 개발자는 약 3GB인 모델을 기기에 내려받아 앱에서 직접 지정하는 방식으로 데모를 구성했습니다. 모델 다운로드와 파일 지정은 아직 앱 밖에서 해야 하며, 글에서는 이를 앱 안에서 처리하도록 개선할 계획이라고 밝혔습니다. 개발자는 Galaxy Ultra S23 이상 기기에서 실행된다고 설명했고, 자신의 Pixel 10에서 테스트했습니다. 판정 속도는 빠르지 않으며 첫 실행 때 특히 기다려야 한다고 덧붙였습니다.

구현 과정에서 해결한 문제

초기 단계에서는 카메라 촬영과 사진 저널 저장 기능을 먼저 만들었습니다. 세로로 찍은 사진이 가로로 돌아가는 방향 오류가 있었고, 이 때문에 Gemma가 사진을 잘못 해석했습니다. 방향 문제를 고친 뒤에는 판정 결과의 JSON 형식이 깨지고 출력 길이도 문제가 됐습니다. 개발자는 모델 출력을 확인하는 JSON 디버거를 별도로 만들었고, 오류 내용을 Copilot에 설명해 수정했다고 적었습니다. 이후 과제 기준에 따른 판정과 피드백이 작동하기 시작했습니다.

예정된 기능

개발 중인 다음 단계에는 특정 장소에서 사진을 찍으면 비밀 배지를 얻는 위치 기반 이벤트와 배지·트로피 기능이 포함됩니다. 이후 단계에서는 더 많은 레벨과 과제를 추가해 베타 버전을 다듬을 계획입니다. 현재 데모는 APK를 설치한 뒤 모델 파일을 별도로 내려받아 지정해야 합니다.

dev.to 반응

  • @annavi11arrea1 — 모바일에서 작동하고 건설적인 학습 경험을 제공하도록 만든 점이 좋습니다. 더 나은 사진을 찍도록 팁을 주면 사진 기술을 익히는 데 실질적인 도움이 됩니다.
    • @trickell — 휴대전화로 사진을 찍는 사람이 많아서 모바일 앱은 잘 맞습니다. 사진 기술에 도전할 기회를 주고 싶었습니다.
  • @humam_moin — 사진이 일처럼 느껴지기 시작해서 이 앱을 만들었다는 점이 마음에 듭니다. 완전히 오프라인으로 작동하는 점도 큽니다. 신호가 없는 곳에서 최고의 사진을 찍곤 합니다. 3단계를 계속 진행해 주세요.
    • @trickell — 신호가 약한 곳이나 사람이 붐비는 곳에서 좋은 장면을 만날 때가 많습니다. DSLR도 좋아하지만 휴대전화는 늘 가지고 다니므로 사진을 다시 즐기고 활동적으로 찍을 방법을 찾는 계기가 됐습니다.
  • @koda2026 — 제약 조건을 고려한 오프라인 우선 AI 엔지니어링의 훌륭한 사례입니다. Android에서 3GB 양자화 Gemma 모델을 실행하고, 사진 방향 오류와 잘못된 LLM 출력을 해결한 과정이 현실적인 문제 해결을 보여줍니다. 인터넷이 없는 곳에서도 쓸 수 있다는 점이 좋습니다.
    • @trickell — 서버 모델도 생각했지만 오프라인 사용을 위해 전부 기기 안에서 처리하고 싶었습니다. 3단계와 4단계는 주말 해커톤 이후에도 시간을 두고 진행할 예정입니다.

원문: dev.to / 번역·요약: Trawling