CarbCam: 어떻게 작동하나요?

CarbCam은 어떻게 작동하나요?

CarbCam은 사진을 받아 AI 서비스로 보내고, 구성 요소의 추정치를 받아 표준 영양 데이터베이스와 대조하여 값을 검증한 뒤 결과를 보여줍니다.

과정 개요

모든 분석은 최대 여섯 단계를 거칩니다:

1
사진
2
자르기
3
사전 확인
4
AI 분석
5
검증
6
저장

시각화된 흐름: 비교를 위한 실제 스크린샷이 이어집니다:

CarbCam, 스캔 탭

1. 스캔 탭

CarbCam, AI 분석

2. AI 분석

CarbCam, 결과

3. 결과

과정 상세

1 사진 촬영 및 로컬 이미지 다듬기

사진은 처음에 전적으로 기기에 남아 있습니다. 자르거나 회전하거나 다시 찍을 수 있습니다. “분석”을 누르기 전까지는 아무것도 업로드되지 않습니다.

2 서버 캐시 조회 (사전 확인)

이미지가 AI로 전송되기 전에, 앱은 SHA-512 해시와 지각적 해시를 통해 동일하거나 매우 유사한 사진이 서버 캐시에 이미 있는지 확인합니다. 일치하면 추가 AI 호출 없이 저장된 결과를 즉시 받습니다. 이어지는 확인 단계에서 캐시 항목이 사용됨으로 표시됩니다(할당량 계산).

3 AI 분석으로 업로드

캐시 일치가 없으면 (잘린) 사진이 당사 분석 엔드포인트로 전송됩니다. 비전 모델(앱 설정에서 선택한 대로 Gemini, Claude 또는 OpenAI)이 호출되어 이미지를 설명하고, 개별 구성 요소를 명명하고, 대략적인 양을 추정합니다.

개인정보 보호: 사진은 모델 학습에 사용되지 않습니다. 자세한 내용은 개인정보 보호정책에서.
4 백그라운드 검증 (낮은 신뢰도만)

AI 추정치가 낮은 신뢰도를 보고하면, 서버가 영양 데이터베이스 (USDA FoodData Central, Open Food Facts)와의 교차 확인을 백그라운드에서 시작합니다. 수정된 값은 캐시에 반영됩니다: 다음에 같거나 유사한 사진이 일치하면 개선된 결과를 봅니다. 신뢰도가 높은 스캔의 경우 이 단계는 생략됩니다.

다만 바코드의 경우, 제조사 영양표가 여기서 주요 출처이므로 Open Food Facts / USDA 비교가 항상 직접 수행됩니다.

5 사용자 편집

어떤 값이든 재정의할 수 있습니다: 양, 탄수화물, kcal, FPE, 구성 요소. 저장할 때 AI 추정치가 아니라 사용자의 값이 사용됩니다. 앱은 통계 목적으로 총 탄수화물 보정(사용자: Xg vs AI: Yg)을 차이로 저장합니다.

6 저장 및 Nightscout 동기화

로컬 SQLite 데이터베이스에 저장됩니다. 선택적으로 Nightscout 동기화를 통해 Nightscout 인스턴스에도 저장되지만, 처치 테이블에 메모로만 (CarbCam 태그와 함께) 저장되며 활성 탄수화물/인슐린 처치로는 저장되지 않습니다. Loop/AAPS/iAPS 계산은 CarbCam 저장에 영향을 받지 않습니다: 식사는 메모로만 표시됩니다. ns.10be.de의 관리형 Nightscout를 사용하면 설정이 특히 쉽습니다: Nightscout URL과 API 시크릿을 입력하면 완료입니다.

탄수화물을 처치로 적극적으로 반영하고 싶다면, 스캔 결과의 공유 버튼을 사용하세요: 딥 링크를 통해 탄수화물 값을 AAPS/AndroidAPS, Loop, iAPS 또는 Trio로 보내거나 시스템 공유 시트를 엽니다.

FPE란 무엇인가요?

FPE지방-단백질 단위(Fat-Protein Units)를 의미합니다. 지방과 단백질의 에너지가 얼마나 지연되어 혈당에 영향을 미치는지를 나타냅니다.

FPE = (지방 × 9 + 단백질 × 4) ÷ 100

1 FPE는 지방과 단백질에서 나오는 약 100 kcal에 해당합니다. 예시:

  • 지방 30 g + 단백질 20 g = (270 + 80) ÷ 100 = 3.5 FPE

펌프 사용자는 종종 FPE를 사용하여 연장 볼루스 매개변수(예: 스퀘어웨이브 또는 듀얼웨이브)를 설정합니다. 펜 사용자는 FPE를 늦은 보정 간식이나 소규모 오후 보정의 대략적인 지표로 사용할 수 있습니다.

CarbCam은 결과 카드에서 FPE를 노란색 칩으로 표시합니다. 영양 값 색상:

  • 탄수화물 탄수화물
  • kcal 열량
  • FPE 지방-단백질 단위
  • 지방 지방
  • 단백질 단백질

식사 아래의 혈당 곡선

Nightscout가 구성되어 있으면 CarbCam이 Nightscout 인스턴스에서 혈당 데이터를 불러와 기록 탭에서 각 식사 아래에 혈당 곡선을 표시합니다. 시간 창은 플랫폼에 따라 다르며 식사를 중심으로 자동으로 선택됩니다. Nightscout와 함께라면 CarbCam은 목표 지향적인 식후 혈당 추적을 가능하게 합니다.

혈당 곡선의 기능(Nightscout 데이터):

  • 식사 전후 시간 창(플랫폼에 따라 다름)
  • 식사 시간에 대한 표식
  • 색상으로 강조된 최고점(수치에 따라 빨강/노랑/초록)
  • 핵심 지표로서 상승 및 종료 값
  • 선택적 오버레이 선으로 IOB / COB
이 곡선은 학습에 도움이 됩니다: 몸이 파스타에 어떻게 반응하나요? 피자에는? 초밥에는? 비교 기능(기록에서)으로 여러 곡선을 겹칠 수 있습니다.
혈당 곡선에는 작동하는 Nightscout 연결이 필요합니다. Nightscout 없이는 이 섹션이 표시되지 않습니다. 아직 Nightscout가 없으신가요? NS10BE에서 관리형 Nightscout 호스팅을 설정하고 CarbCam을 즉시 연결하세요.

정확도

정확도는 식사 유형에 따라 달라집니다:

식사 유형별 정확도
식사 유형 일반적인 편차 예시
명확한 1인분 ±20 % 밥, 파스타, 빵
복잡한 식사 ±30 % 스튜, 캐서롤
매우 특이함 ±40 % 이상 알 수 없는 지역 요리
포장 제품 ±5 % 자동 바코드 감지(Open Food Facts를 통한 제조사 값)
정확도를 높이는 것:
  • 좋은 조명과 선명한 사진: 접시 위에 그림자가 없도록
  • 모든 구성 요소가 보이도록: 파스타를 소스에 잠기게 하지 마세요
  • 크기 기준: 접시 가장자리, 식기 또는 손을 프레임에 넣으세요
  • 표준 요리: AI는 잘 알려진 요리에 능숙합니다
정확도를 낮추는 것:
  • 작은 더미가 많은 뷔페 접시
  • 소스에 많이 덮인 구성 요소
  • 명확한 참조 데이터베이스가 없는 매우 특이한 지역 요리
  • 크기 기준 없이 옆에서 비스듬히 촬영
볼루스에 대한 의미:
  • 일반적인 식사의 경우: 추정치를 시작점으로 사용하고, 자신의 지식을 적용하여 필요하면 저장 전에 값을 조정하세요
  • 중요한 볼루스 결정(매우 높은 탄수화물, 저혈당 위험)의 경우: 항상 자신의 지식 / 데이터베이스 / 포장을 참고하세요
  • 펌프의 경우: 당신의 식사가 일반적으로 얼마나 편차가 나는지 경험을 쌓은 뒤, 개인 계수로 추정치를 보정하세요

오프라인에서는 어떻게 되나요?

인터넷 연결 없이도 다음 기능이 작동합니다:

  • 기록 탐색 및 필터
  • 항목 수동 생성 및 편집
  • 통계 탭 보기
  • 데이터 내보내기(CSV/JSON)
  • 사진을 찍어 나중에 분석하도록 대기열에 추가

다음은 연결이 필요합니다:

  • AI 분석(사진이 제공업체로 전송됨)
  • 자동 바코드 조회(Open Food Facts)
  • Nightscout 동기화(혈당 곡선, 처치 업로드)