본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 06. 05:37

Meta가 스마트 안경에 얼굴 인식을 탑재해 제공함

요약

Meta의 스마트 안경 컴패니언 앱(Stella) 분석 결과, 기기 내에서 작동하는 얼굴 인식 시스템이 포함되어 있음이 확인되었습니다. SCRFD, KPSAligner, SFace 등 ExecuTorch 기반 모델을 통해 얼굴 검출 및 2048차원 임베딩 생성이 가능하며, 로컬 DB를 활용한 검색 구조를 갖추고 있습니다.

핵심 포인트

  • ExecuTorch 기반 3종 모델(SCRFD, KPSAligner, SFace) 탑재 확인
  • 2048차원 생체 임베딩 및 로컬 SQLite DB를 통한 코사인 유사도 검색
  • 기기 내(On-device) 얼굴 인식 파이프라인 및 알림 시스템 존재
  • 현재 기능은 구현되어 있으나 실제 데이터 푸시 및 배포 여부는 미확인

Stella v273.0.0.21은 Meta 스마트 안경 컴패니언 앱 안에 얼굴 검출·정렬·임베딩·로컬 DB·벡터 인덱스·저장 경로·알림 표면을 잇는 기기 내 얼굴 인식 장치를 품고 있음

  • 기존 핸들러를 테스트 사진으로 직접 호출하자 얼굴 검출,
    2048차원 생체 임베딩 생성, 로컬 인덱스 검색, 일치 시 Android 알림 "Person recognized"

발송까지 동작함
SCRFD, KPSAligner, SFace 등 세 ExecuTorch 모델이 NMLML로 내려오며, SFace는 얼굴을 2048개 숫자 임베딩으로 변환하는 역할을 맡는 구성임

  • RLDrive의
    person_profiles/objects.db

vec0

float[2048]

코사인 검색을 쓰고, 일치 없음 경로는 NameTagsPending/

에 잘라낸 얼굴 .jpg

.emb

지문을 저장함

  • 기본 미등록 계정에서는
    "Connections"

카드와 대상 프로필 화면이 보이지 않으며 Meta의 얼굴 네임스페이스 데이터 푸시도 관찰되지 않아, 배포 여부와 시점이 핵심 미확인 사항으로 남음

범위와 한계

  • 대상 앱은 Meta 스마트 안경 컴패니언 앱
    Stella의 Android 빌드 com.facebook.stella

v273.0.0.21임

  • 앱 안에는 얼굴 모델 3개, 로컬 DB 스키마, 모델 출력과 맞는 코사인 유사도 벡터 인덱스, 생체 기록을 디스크에 준비하는 쓰기 경로, 알림 표면, 사용자용
    "Connections"

위젯이 함께 존재함

  • 테스트 사진으로 기존 핸들러를 직접 호출하자 파이프라인이 끝까지 실행되어 얼굴을 검출하고 2048차원 임베딩을 만든 뒤 로컬 인덱스를 검색함
  • 기본 미등록 계정에서는 사용자용 UI가 나타나지 않았고, 알림 딥링크가 여는 화면도 v273 빌드에 없었으며, 관련 DB로 Meta가 신원 데이터를 서버 푸시하는 흐름도 테스트 계정에서 관찰되지 않음
  • 현재 일반 사용자에게 Meta가 몰래 사람을 식별한다는 근거가 아니라, 그런 기능을 수행할 완성된 장치가 기기에 조립되어 있고 Meta가 게이트로 막아둔 상태라는 구분이 핵심임

모델 스택

| 자산 이름 |
파일 |
크기 |
역할 |
android_facerec_scrfd |
SCRFD.pte |
3.4 MB |
이미지에서 얼굴 검출 |
android_facerec_kps_aligner |
KPSAligner.pte |
117 KB |
검출된 얼굴 crop 및 정렬 |
android_facerec_sface |
SFace.pte |
96 MB |
얼굴을 2048개 숫자 임베딩으로 변환 |

  • 세 모델은 Meta의 자산 전달 시스템
    NMLML을 통해 Meta에서 다운로드되는 ExecuTorch .pte

자산임
SCRFD

는 InsightFace의 SCRFD, SFace

는 Zhong et al. 2021의 SFace, KPSAligner

는 키포인트 기반 정렬 계열과 맞닿은 모델군임

  • Meta의 SFace 변형은 96 MB와 2048차원 출력으로, 공개 참조의 약 40 MB와 128–512차원보다 큰 형태로 보임
  • 얼굴 검출 및 임베딩 모델을 탑재했다는 사실만으로 인식 기능의 증거가 되지는 않으며, 기기 내 얼굴 검출은 프레이밍이나 자동초점에도 쓰일 수 있음

로컬 얼굴 인덱스와 DB 구조

  • 실행 파이프라인은 다음 SQLite DB를 읽는 구조임
/data/user/0/com.facebook.stella/files/rldrive/person_profiles/objects.db
  • 이 DB는 Meta의 크로스 디바이스 동기화 프레임워크
    RLDrive 아래 person_profiles

네임스페이스에 위치하며, 원격에서 채워지도록 설계된 채널임

  • 테스트 계정에서는 Meta가
    person_profiles

에 데이터를 직접 푸시하는 전송이 관찰되지 않았으므로, 관찰된 것은 채널의 존재임

  • 핵심 스키마는 사람 정보, 얼굴 정보, 2048차원 벡터 검색 테이블을 나눠 갖는 형태임
CREATE TABLE person (
nodeid INTEGER PRIMARY KEY,
name TEXT,
uri TEXT,
blob BLOB,
deleted INTEGER,
version BLOB
);
CREATE TABLE face (
nodeid INTEGER PRIMARY KEY,
mediaPath TEXT,
personUri TEXT,
blob BLOB,
deleted INTEGER,
uri TEXT,
version BLOB
);
CREATE VIRTUAL TABLE face_mediaPath_vec
USING vec0(mediaPath float[2048] distance_metric=cosine);

face

행은 personUri

person

을 가리키고, face.mediaPath

face_mediaPath_vec

의 기본 키 역할을 맡음

  • 인식은 2048개 숫자 임베딩을 코사인 유사도로 검색한 뒤
    person.name

과 조인해 알림 문구에 쓰는 흐름임
vec0

는 SQLite를 벡터 유사도 엔진으로 바꾸는 오픈소스 sqlite-vec

확장이고, float[2048]

차원은 앱에 함께 실린 SFace 임베더의 출력 형태와 정확히 맞음

  • 스키마는 한
    personUri

에 여러 face

행을 허용하지만, 실제 배포에서 1:1 또는 1:N 중 어떤 형태를 쓰는지는 미등록 기기에서 보이지 않음

실행 분기와 저장 파일

  • 전체 파이프라인을 두 번 실행한 테스트에서 빈 인덱스에 대한
    일치 없음 분기와 단일 임베딩을 미리 넣은 일치 분기가 갈라짐
  • 일치 없음 분기는
    NameTagsPending/

(uuid.jpg, uuid.emb)

쌍을 쓰고 알림을 보내지 않음

  • 일치 분기는 프로덕션
    nametags_recognition

채널로 Android 알림을 띄우며, 제목은 "Person recognized"

, 본문은 "Recognized Michel Foucault"

였고 NameTagsPending/

에는 아무것도 추가하지 않음

  • 인식되지 않은 얼굴은 다음 경로에 저장됨
/data/user/0/com.facebook.stella/files/NameTagsPending/
  • 각 인식되지 않은 얼굴은 새 UUID 이름의
    .jpg

.emb

쌍을 만들며, .jpg

는 SCRFD와 KPSAligner 출력인 잘라내고 정렬한 얼굴이고 .emb

는 2048개 숫자 SFace 지문임

  • 디렉터리 모드는
    0700

이고 재부팅 후에도 유지되며, 쓰기는 일치 없음 분기에서만 발생함

  • 검증된
    .emb

파일은 8,192바이트 크기, 2048 × float32

big-endian 구조, L2 norm 0.999999

, min/max −0.092110 / +0.098950

, mean +0.000292

값을 가짐
(uuid.jpg, uuid.emb)

쌍은 person_profiles/objects.db

의 코사인 인덱스가 대조하도록 설계된 것과 같은 형태와 인코딩의 완전한 생체 기록임

알림과 사용자 UI

  • Stella는
    nametags_recognition

이라는 Android 알림 채널을 정의하며, 이름은 "NameTags recognition"

, 설명은 "Notifications for recognized NameTags connections"

, 중요도는 heads-up·소리·배지를 동반하는 IMPORTANCE_HIGH

  • 알림 템플릿은 인식 핸들러 안에 하드코딩되어 있으며, 제목은 항상
    "Person recognized"

, 본문은 항상 "Recognized " + name

형태이고 name

person_profiles/objects.db

person

테이블에서 옴

  • 알림은 탭할 수 있으며,
    fb-viewapp://name_tags?face_id=<face_id>

형태의 Meta 작성 딥링크로 Stella 내부의 사람 프로필 화면을 열도록 구성됨

  • v273에서는 해당 대상 화면을 찾을 수 없고 navigation graph에도 없어, 알림을 탭하면 Stella의 기본 탭으로 이동함
  • APK 안에는
    "Connections"

섹션 아래 카드가 있으며, 문자열은 "See your connections"

"Remember the people you met and make new connections."

로 하드코딩되어 있음

  • 기본 미등록 계정에서는 이 카드가 Glasses 탭에 나타나지 않았고, 테스트 중에는 보이는 상태가 됨

종합

  • Stella v273에는 얼굴 검출, 정렬, 임베딩, 벡터 인덱스, 저장소, 쓰기 경로, 알림 표면까지 이어지는 전체 기기 내 얼굴 인식 스택이 존재함
  • 끝까지 실행한 파이프라인은 알려진 얼굴을 이름 붙여 알림으로 표시하고, 알려지지 않은 얼굴은 crop과 지문을 디스크에 준비함
  • 인덱스 차원, 임베딩 형태, 저장 스키마가 서로 일치하므로 흩어진 죽은 코드가 아니라 일관된 시스템으로 구성되어 있음
  • 사용자가 접할
    "Connections"

카드와 알림 대상 프로필 화면은 빌드에 없거나 더 깊이 숨겨진 상태임

  • 라이브 파이프라인이 쓰는 DB는 Meta가 서버 측에서 채우는 다른 네임스페이스들과 함께 동기화 네임스페이스에 있지만, 테스트 계정에서 얼굴 네임스페이스 푸시는 관찰되지 않음
  • 확인되지 않은 내용은 Meta가 현재 사용자에게 낯선 사람을 식별해 주는지, 등록 데이터가 흐르는지, 이 기능이 프로덕션에서 켜져 있는지 여부임
  • 2048차원 얼굴 지문과 하드코딩된
    "Person recognized"

알림까지 구축·배포·연결한 장치는 공학적 투자이며, 실제 프로덕션 적용 여부와 시점은 Meta가 답해야 할 문제로 남음

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0