k•KINDNICK김광진 · 포트폴리오
← 전체 작업
소프트웨어 / Mingle

Mingle Face · MFT

구현
구현한 기능

ESP 기반 무선 페이셜 장비와 카메라 입력을 받아 표정을 Unity로 보내는 앱을 개발했습니다. 영상 수신·추론·표정 보정·출력을 연결했습니다.

내가 한 일

카메라 수신·외부 추론 모델 연동·액터별 출력 엔진과 데스크톱 앱 개발

  • ESP 기반 무선 페이셜 장비와 카메라·거치 구조를 직접 제작했습니다.
  • 영상 수신·외부 추론·표정 보정·Unity 출력을 앱으로 통합했습니다.
  • 다중 입력 교체·저장·종료·업데이트 오류를 수정했습니다.
테스트 영상 입력 5개를 연결해 얼굴 추적과 출력 상태를 확인한 Mingle Face 화면.
작업 사진

Mingle Face 테스트 화면

내가 한 일

카메라 입력·액터별 페이셜 처리·출력 상태를 관리하는 데스크톱 앱 개발

자료 범위

테스트 영상을 입력해 페이셜 처리 상태를 확인한 화면입니다. 표시 수치는 촬영 당시 앱의 상태이며 별도 성능 시험 결과는 아닙니다. 입력 영상의 출연·콘텐츠 제작은 담당 작업에 포함하지 않습니다.

여러 포트의 페이셜 입력과 대상 PC 전송·처리량을 한 화면에서 관리하는 분배 도구.
작업 사진

FaceData Distributor

내가 한 일

UDP 입력 모니터링·대상 PC별 분배·전송 상태와 로그를 확인하는 도구 개발

자료 범위

촬영 당시 대상 PC는 ‘응답 없음’ 상태입니다. 포트별 입력과 분배 상태를 보여주는 화면이며, 대상 PC의 정상 수신이나 전송 성능 시험 결과는 아닙니다.

사진·영상 12개 더 보기추가 작업 장면과 담당 범위
카메라 케이스와 전면 브래킷을 조립한 제작 단계.
작업 사진

페이셜 카메라와 전면 거치부

카메라를 얼굴 앞에 고정하는 케이스·브래킷 구조입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

헤드마운트·전면 카메라·연결 모듈을 조립한 모습.
작업 사진

페이셜 장비의 전체 구성

헤드마운트와 카메라, 연결 모듈의 전체 배치를 볼 수 있습니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

직접 제작한 페이셜 장비의 카메라·케이블·모듈 배치.
작업 사진

카메라와 연결 모듈 배치

전면 카메라와 헤드마운트, 외부 연결 모듈을 함께 구성한 모습입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

조립한 헤드마운트와 카메라를 확인하는 제작 과정.
작업 사진

헤드마운트와 카메라 조립

헤드마운트와 전면 거치부를 조립한 장비입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다. 사진 속 저울 표시값은 확정 제품 중량이 아닙니다.

카메라 케이스·케이블 포트·거치부 근접 사진.
작업 사진

전면 카메라 케이스 제작

직접 제작한 카메라 케이스와 고정부의 조립 상태입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

헤드마운트와 전면 카메라를 조립한 페이셜 장비.
작업 사진

직접 제작한 무선 페이셜 장비

착용 구조와 전면 카메라를 갖춘 페이셜 장비입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

헤드마운트·전면 카메라·연결 케이블의 배치.
작업 사진

착용 프레임과 카메라 연결

프레임과 전면 카메라의 연결 구조를 볼 수 있습니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

헤드마운트와 카메라 거치부를 측면에서 본 모습.
작업 사진

페이셜 장비의 측면 구성

카메라 거치 위치와 연결 케이블의 배치를 확인할 수 있습니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

페이셜 장비에 사용할 거치 부품을 반복 제작한 기록.
작업 사진

카메라 거치 부품 제작

같은 형태로 제작한 카메라 거치 부품들입니다.

내가 한 일

ESP 기반 무선 페이셜 장비를 만들며 카메라를 고정할 거치 부품을 직접 제작했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

헤드마운트와 거치 구조에 사용할 연결 부품들.
작업 사진

프레임 연결 부품 제작

직접 제작한 브래킷·연결 부품을 한곳에 모은 제작 기록입니다.

내가 한 일

무선 페이셜 장비의 조립에 사용할 거치·연결 부품을 직접 제작했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

카메라·케이블 연결부를 담은 직접 제작 모듈.
작업 사진

카메라 모듈 케이스

카메라와 연결부를 담은 소형 케이스의 모습입니다.

내가 한 일

ESP를 이용한 무선 페이셜 장비를 직접 제작하고 카메라와 거치 구조를 구성했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

같은 형태로 제작한 페이셜 카메라 모듈들.
작업 사진

여러 대의 페이셜 모듈 제작

직접 제작한 페이셜 카메라 모듈을 함께 확인한 기록입니다.

내가 한 일

ESP 기반 무선 페이셜 장비의 카메라 모듈과 케이스를 직접 제작했습니다.

자료 범위

직접 제작한 ESP 기반 무선 페이셜 장비의 케이스·거치부·모듈 제작 기록입니다. 사진별 칩 세대와 성능 수치는 기재하지 않았습니다.

기술과 문제 해결 과정구현 방법 · 문제 해결 사례 2개 · 시험 조건

작업 배경

새 입력의 모델 준비를 공용 수신 경로에서 처리하면 기존 입력도 기다려야 했습니다. 카메라 교체와 취소·종료가 겹치면 과거 연결이 새 상태를 덮거나 GPU 자원이 중복 해제될 수 있었습니다.

구현한 내용

  1. 01

    카메라별 입력과 액터·출력을 분리하고 입력 수신·디코드·추론·송신을 화면 갱신과 나눴습니다.

  2. 02

    다중화 모드의 모델 생성·예열을 입력별 스레드로 옮겨 공용 reader가 다른 입력을 계속 받을 수 있게 했습니다.

  3. 03

    크기 1 큐와 준비 취소, 부분 초기화 실패 전달, 입력 스레드의 GPU 자원 생성·처리·해제 규칙을 구현했습니다.

  4. 04

    저장 실패 때 메모리 설정이 먼저 바뀌는 경로와 잘못된 패킷 뒤 수신 중단을 수정하고 오류 주입·소켓 반환 검사를 추가했습니다.

  5. 05

    추론 엔진과 GPU용 패키지를 앱 설치·업데이트에 연결하고 저장 영상으로 실행 연속성을 검사했습니다.

  6. 06

    페이셜 데이터를 여러 수신 포트에서 확인하고 대상 PC로 분배하는 별도 도구를 개발했습니다.

PythonTensorRTMetaHuman 연동TauriReactUDP자원 수명 관리
문제 해결

어떤 문제를 다뤘는지

01

새 카메라 준비가 기존 입력을 막는 문제

문제
공유 파이프 reader에서 새 모델을 생성·예열해 다른 카메라 프레임 전달도 함께 멈추는 구조였습니다.
처리 방법
새 입력의 전용 스레드에서 초기화하고 준비 작업만 서로 직렬화했습니다. 준비 중 첫 프레임은 크기 1 큐에 두며 취소된 초기화는 건너뜁니다. 생성·처리·해제를 같은 스레드에서 하고 GPU 자원 소유권 이전을 잠금으로 보호했습니다.
결과·범위
2026년 9월 13일 후속 보고서는 두 모델 세트의 저장 JPEG 4입력 시험을 각각 180초 수행한 기록과 손상 JPEG 복구·입력 교체·워커 종료를 남깁니다. 공유 reader의 준비 대기를 제거한 결과이며 새 입력의 초기화 비용이나 CPU·GPU 스케줄링 지연이 사라진다는 뜻은 아닙니다.
02

실패 뒤에도 다시 사용할 수 있는 앱으로 정리하기

문제
잘못된 UDP 패킷·설정 쓰기 실패·중단된 업데이트가 수신과 설정 상태를 깨뜨리거나 사용 중인 상태와 디스크 값을 다르게 만들 수 있었습니다.
처리 방법
입력 크기·형식을 제한하고 예외 뒤 수신을 계속하도록 했습니다. 설정은 고유 임시 파일을 원자 교체한 뒤 메모리에 반영하고, 업데이트는 진행 여부·timeout·서명 검증과 재시도를 구분했습니다. 설치 검증도 첫 출력 한 번만 확인하지 않고 저장 영상에서 출력 연속성을 확인하도록 바꿨습니다.
결과·범위
당시 오류 주입 보고서는 카메라와 Audio 각각 50회 시작·종료, 잘못된 패킷 뒤 정상 입력 복구와 소켓 반환을 기록합니다. 이는 로컬 소프트웨어 복구 검증이며 실제 카메라·다른 PC 설치·장시간 무선 운용을 대신하지 않습니다.
구현과 검증 범위

다중 입력·액터 매핑·출력과 데스크톱 앱 구현. 선택형 다중화의 초기화·취소·해제 경로 구현. 실제 여러 카메라와 다른 GPU의 동시 현장 성능은 별도 검증.

실행·측정 결과는 각 사례에 적힌 당시 기록과 조건을 따릅니다.

시험 조건과 적용 범위

MetaHuman 모델과 TensorRT 등 외부 기술을 통합한 앱입니다. 외부 얼굴 모델을 직접 만들거나 학습한 성과로 적지 않습니다. 다중화는 선택 모드이며 기본 입력별 워커 방식과 구분합니다. GNM 연구 결과를 기본 제품 모델의 성능에 합치지 않습니다.

활동
Mingle
작업 구분
구현