RetinaFace, SCRFD, ncnn, TFLite 기본 개념 정리

이 글은 얼굴 검출 모델인 RetinaFace와 SCRFD, 그리고 이를 구동하는 런타임 포맷인 ncnn과 TFLite에 대해 기본 개념을 기록하기 위함임!각 모델과 포맷이 어떤 특성을 가지고 있고, 어떤 상황에서 활용되는지 정리한다. 1. RetinaFace란 무엇인가 RetinaFace는 InsightFace 팀에서 공개한 얼굴 검출 모델이다.anchor 기반의 구조를 사용하며, 입력 이미지에서 얼굴의 위치(bounding box)와 랜드마크(일반적으로 5점)를 동시에 예측한다.대규모 데이터셋(WIDER FACE 등)으로 사전 … Read more

왜 Android / Kotlin에서는 RAII가 불가능한가

C++의 RAII는 자원 관리 문제를 매우 강력하게 해결한다.그렇다면 자연스럽게 이런 질문이 생긴다. “왜 Kotlin이나 Android에서는 RAII를 쓰지 않는가?” 정확히 말하면,Android / Kotlin에서는 RAII를 언어 차원에서 구현할 수 없다. RAII의 전제 조건 RAII가 성립하려면 다음 조건이 필요하다. C++은 이 세 가지를 모두 만족한다. Kotlin / Java의 객체 생명주기 Kotlin과 Java는 GC 기반 언어다. 다음 코드를 보자. … Read more