이 문서에서는 얼굴 인식을 위해 ARM 기반 AIoT(사물 지능) 장치를 최적의 상태로 구축하기 위한 주요 고려사항에 대해 알아봅니다.
먼저, ARM 기반 AIoT 장치부터 정의해 보겠습니다. AIoT 장치는 인터넷에 연결되어 AI 알고리즘을 실행해 작업을 수행합니다. 실제 장치 내부에는 범용 처리를 위한 CPU 및 가속화를 위한 GPU와 함께 ARM 기반 SoC(System-on-a-Chip) 또는 SOM(System-on-a-Module)이 탑재되어 있습니다. 또한 새로운 AIoT 벤더 중 다수의 업체에서도 APU(AI 처리 장치) 또는 NPU(신경망 처리 장치)를 SOC 또는 SOM으로 통합하여 AI 애플리케이션을 (클라우드 서버가 아니라) 에지에서 보다 효율적으로 실행할 수 있게 되었습니다.
ARM 기반 장치는 x64 컴퓨터에서 사용하는 전력의 몇 분의 일 밖에 사용하지 않아 에너지 효율성이 뛰어납니다. ARM 프로세스는 일반적으로 AIoT 장치, 키오스크, 산업용 태블릿, 디지털 사인, 웨어러블 및 모바일 장치에 적합합니다.
AIoT 장치의 사용 사례는 스마트 홈, 스마트 오피스 등으로 점점 더 확대되고 있습니다. 아래에서는 산업계에서 가장 널리 사용되는 몇 가지 예를 살펴보겠습니다.
얼굴 인식은 제조 산업에서 다양한 방식으로 유용하게 활용되고 있습니다. 먼저, 직원이 시설을 출입할 때 즉시 얼굴을 인식하여 출근 및 퇴근 시간 기록을 간소화할 수 있습니다. 출입구에 얼굴 인식 지원 AIoT 장치를 설치하면 뜻밖의 방문자가 시설에 들어오려고 시도하는 경우 관리팀에 알릴 수 있습니다. 또한 안전 규정을 준수하는 데에도 사용할 수 있습니다. 예를 들어, AIoT 장치를 장비에 연결하고 Face ID를 요구하여 시스템을 사용하기 위해 접근 권한을 받기 전에 검증을 수행할 수 있습니다.
경쟁업체 특히, 온라인 매장과 차별화하기 위한 방법을 찾던 중 소매업체에서는 얼굴 인식 기술을 사용하는 다양한 AIoT 장치를 배포하여 고객의 매장 내 경험을 확 바꿔놓을 수 있었습니다. 쇼핑객이 매장을 둘러보는 중 얼굴 인식 기술을 사용하는 셀프 서비스 키오스크로 걸어가자 해당 쇼핑객을 VIP 고객이자 충성도 프로그램 회원으로 식별하는 상황을 떠올려 보세요. 해당 고객의 프로필 또는 계정을 표시하여 상품을 추천하거나 프로모션을 제공할 수 있습니다. 얼굴 인식 기능이 탑재된 AIoT 장치를 사용하면 결제를 간소화하고 리테일 직원들을 위해서는 얼굴 인식을 통해 금전 등록기의 잠금을 해제할 수 있습니다.
얼굴 인식을 사용하면 많은 사무실 건물의 접근 통제 및 모니터링 작업의 많은 부분을 원활하게 자동화하고 보다 안전하게 만들 수 있습니다. 얼굴 인식 기능이 탑재된 AIoT 장치를 건물의 입구에 배치하면 직원들이 키 카드를 사용하지 않아도 얼굴 감지 및 인식을 바탕으로 접근이 허용됩니다. IT 직원만 접근할 수 있는 서버실처럼 제한된 구역에 대한 접근을 통제하는 경우에도 동일한 솔루션을 적용할 수 있습니다.
얼굴 인식 및 AIoT의 눈에 띄는 또 다른 사용 사례는 디지털 사이니지입니다. 예를 들어, 공항에서 여행객이 대화식 스마트 사인으로 걸어가 미리 등록된 Face ID를 사용하면 화면에 항공편에 대한 정보와 발생한 모든 변경 사항(예: 게이트 변경 또는 항공편 지연)이 표시됩니다.
AIoT는 의료 장비에서부터 환자 식별, 접근 모니터링까지 다양한 분야로 나아가고 있는 의료 혁신의 주요 동인이다. 눈길을 끄는 AIoT 사용 사례 한 가지는 얼굴 인식을 사용하여 접근 권한을 부여하는 의약 캐비넷입니다. 얼굴 인식 기술이 탑재된 스마트 캐비넷은 뛰어난 보안을 제공하고, 보호 물질을 통제하고, 권한 있는 사람만 접근하도록 하고, 누가 언제 어떤 약품을 가지고 갔는지 정확한 기록을 자동으로 남깁니다.
스마트 초인종은 가 일반 소비자에게 친숙한 얼굴 인식 및 AIoT 사용 사례로, 사용이 점점 더 늘어나고 있습니다. 기존의 잠금 장치를 이 유형의 장치로 바꾸면 주택의 보안을 강화하려는 가정에게 매우 도움이 됩니다. 얼굴 인식 기능이 탑재된 스마트 초인종은 이웃, 가족 및 친구를 즉시 식별하여 인식한 다음 집주인이 설정한 규칙(예: 가족의 경우 자동으로 잠금 해제 또는 알 수 없는 개인이 문에 접근한 경우 경고 보내기)을 따릅니다.
스마트 초인종과 유사한 얼굴 인식 기능이 탑재된 AIoT 스마트 잠금 장치는 많은 기업과 산업계 전반에서 보안을 강화할 수 있습니다. 호텔 및 유람선에서는 키를 사용하지 않는 객실 출입에 스마트 잠금 장치를 사용할 수 있습니다. 의료 시설에서는 스마트 잠금 장치를 사적인 영역에 대한 출입을 제한하는 데 사용할 수 있습니다. 상업용 건물에서는 직원들이 사무실에 출입하는 데 스마트 잠금 장치를 사용할 수 있습니다. 타인에게 빌려주거나 도난 당할 수 있는 키 및 액세스 카드와 달리 권한이 있는 사람의 접근만 허용하는 스마트 잠금 장치의 사용 사례는 무궁무진합니다.
AIoT 및 얼굴 인식의 떠오르는 새로운 사용 사례는 자동차 특히, 인포테인먼트 시스템에 통합입니다. 운전석에 사람이 앉으면 얼굴 인식 기능이 특정 운전자를 식별하여 해당 운전자가 선호하는 설정(예: 좋아하는 라디오 방송국, 온도, 좌석 및 거울 위치 등)을 자동으로 적용합니다.
지금까지 몇 가지 사용 사례를 살펴보았으므로 얼굴 인식 기능이 탑재된 AIoT 장치를 구축하는 경우 주요 고려사항에 대해 논의해 보아야 합니다. AIoT 장치의 사양은 사용 사례 및 사용 환경에 따라 달라지며, 성능 요구 사항, 비용 제약, 전력 사용량 등을 모두 고려해야 합니다.
컴퓨팅 성능 요구 사항을 결정하기 위해서는 먼저 장치의 용도를 정확하게 파악해야 합니다. 얼굴 인식 기능으로 수행하려는 작업과 해당 작업이 얼마나 복잡한지 생각해 보세요. 또한 초당 감지 및 인식해야 하는 얼굴 수도 고려해야 할 수 있습니다. 한 번에 얼굴은 하나만 인식하면 되나요 아니면 동시에 여러 얼굴을 인식해야 하나요? 스마트 잠금 장치 및 도어 액세스 제어 장치를 생각해 보겠습니다. 사람이 정해진 거리에 있는 도어에 접근할 때 한 번에 얼굴을 하나만 인식해야 하는 경우 컴퓨팅 성능이 아주 뛰어나지 않은 작은 AI 모델이면 전혀 문제 없습니다. FaceMe® H(고 정밀도) 모델이면 이 사용 사례에 아주 충분합니다. 그러나 사람들로 붐비는 쇼핑몰에 배치된 카메라를 통해 얼굴 인식을 수행하여 차단 목록에 등록된 사람을 식별하려는 경우 더욱 뛰어난 컴퓨팅 성능이 필요합니다.
또한 해당하는 사용 사례에 사람 식별 기능이 필요한지 아니면 단순히 인구통계 정보만 수집하면 되는지 결정해야 합니다. 예를 들어, 스마트 사인을 사용하는데 인구통계 정보(예: 연령 및 성별)만 식별해야 하는 경우 컴퓨팅 성능이 아주 뛰어날 필요가 없습니다. 얼굴 인식 및 식별을 수행하기 위해 스마트 사인이 필요한 경우에는 더 높은 성능이 필요합니다.
AIoT 장치에 더 높은 컴퓨팅 성능이 필요할수록 비용이 올라갑니다. AI 및 얼굴 인식 프로젝트에 예산이 중요한 고려사항인 경우 성능 요구 사항을 고려해야 합니다.
각 칩 벤더(예: NVIDIA, Intel, Qualcomm 등)에서는 인터페이스(예: Wi-Fi, HDMI 또는 USB)에 따라 제품 라인 및 비용이 계층화된 자체 가격 모델을 제시합니다. 예를 들어, NVIDIA Jetson 솔루션은 뛰어난 성능을 제공하기 때문에 일반적으로 사용되는 칩셋이지만, 가격이 비쌉니다.
폼 팩터를 고려할 때 가장 좋은 방법은 크기입니다. 특정한 치수에 맞는 AIoT 장치가 필요한 경우(예: 특별한 도어에 맞는 스마트 잠금 장치) 크기가 중요한 제약 조건이 될 수 있습니다. 그러나 장치가 대형 디지털 화면을 구동하는 경우 크기는 그다지 중요하지 않습니다.
컴퓨팅 성능과 전력 사용은 비례합니다. 장치의 성능이 뛰어날수록 더 많은 전력이 필요합니다. 그러나 전용 칩을 통해 비전 기술 및 AI 알고리즘이 가속화되는 경우에는 전력 효율성이 더 높아집니다.
APU(AI 처리 장치)가 추가된 MediaTek i350 칩셋이 이러한 내용을 설명하기에 아주 좋은 예입니다. APU와 NeuroPilot 플랫폼은 함께 작동하여 전력 사용량을 줄이면서 AI 알고리즘의 작업 수행 속도를 더 높일 수 있습니다. 범용 CPU 명령어 집합과 비교했을 때 APU는 한 번에 여러 데이터 요소에 대한 곱셈-누산 연산과 같은 대규모 병렬 데이터 계산의 효율성을 향상시킵니다. APU는 컴퓨터 비전 AI 알고리즘을 위한 이미지 처리에 일반적으로 사용됩니다.
MediaTek Pumkin 개발 보드
출처: MediaTek
다음은 얼굴 인식을 위한 가장 일반적인 4가지 AIoT 장치 구성으로, 성능 및 비용이 가장 높은 것부터 낮은 순으로 정렬되어 있습니다.
Jetson은 NVIDIA에서 2014년에 Jetson TX로 처음 출시했습니다. 이후 NVIDIA에서는 몇 세대를 거치며 제품을 빠르게 개량했습니다. 최신 버전은 Jetson Xavier NX이며 차세대 Jetson Orin이 2022년 말에 전 세계적으로 보급될 예정입니다. 이 제품은 AI 추론 성능, 전력 소비량과 비용 간에 균형을 잘 맞춰줍니다. Jetson 플랫폼에서는 다른 애플리케이션과 함께 얼굴 인식을 위해 한 번에 비디오 입력을 두 개 이상 처리할 수 있습니다. 한 번에 여러 작업을 수행하기 위한 장치가 필요한 경우 Jetson은 아주 좋은 옵션입니다.
NVIDIA에서는 현재 구입할 수 있는 가장 성숙한 옵션인 CUDA, TensorRT, DeepStream 등을 포함한 SDK와 도구를 제공합니다. 이러한 모든 도구는 AI 알고리즘이 원활하게 실행되도록 하여 Jetson을 사용한 얼굴 인식 배포를 손쉽게 만들어 줍니다. NVIDIA에서는 Ubuntu의 수정된 버전과 필요한 모든 툴체인 및 라이브러리가 포함된 전체 개발 패키지로 JetPack을 제공합니다.
CyberLink의 테스트에 따르면 Jetson Xavier NX는 72fps, 각 입력 이미지에 얼굴 1개 포함, 이미지 크기 1080p 해상도일 때 FaceMe VH 모델을 지원할 수 있습니다.
Jetson 장치는 크기가 매우 작은데, 폼 팩터는 5” x 5”보다 작은 미니 PC 정도의 크기로 전력 사용량은 10와트입니다. 그러나 값비싼 장치 중 하나입니다.
NVIDIA의 Jetson 제품군
출처: NVIDIA
Qualcomm은 Snapdragon 라인처럼 휴대폰 및 태블릿에 사용되는 SOC에서부터 QCS410/610과 같은 AIoT Edge 제품까지 광범위한 SOC를 제공합니다. 알고리즘이 GPU 또는 DSP 칩에서 SOC의 일부로 실행되도록 하는 Qualcomm Neutral Processing SDK(SNPE)는 AI 알고리즘 및 얼굴 인식을 위한 런타임 속도를 개선하는 최고의 플랫폼 중 하나입니다.
Snapdragon 660이 탑재되어 있고, Android OS를 사용하는 Advantech 산업용 태블릿에서 FaceMe®를 테스트한 결과, 전체 얼굴 인식 처리 시간을 40% 줄였고, GPU에서 SNPE를 사용하여 AI가 실행되도록 하여 CPU 사용률을 64%까지 낮췄습니다. Snapdragon 660은 16fps의 경우 VH 모델을, 26fps의 경우 H 모델을 실행했으며, 두 경우 모두 720p였습니다.
MediaTek i350은 AIoT 장치에 대해 경쟁력 있는 가격으로 매우 합리적인 성능을 제공합니다. POS 단말, 스마트 잠금 장치, 산업용 태블릿이나 스마트 홈 어플라이언스 또는 피트니스 장비에 내장된 디스플레이 패널 등과 같이 터치스크린이 장착된 장비에서 가장 잘 작동합니다. MediaTek는 언브랜디드(UnBranded) 휴대폰에 뛰어난 턴키 솔루션을 제공하는 것으로 유명합니다. SDK, 샘플 코드 및 도구를 제공하는데, 덕분에 누구나 쉽게 자신의 애플리케이션을 빌드할 수 있습니다. i350에서는 Android와 Ubuntu를 둘 다 지원합니다.
이 제품에서 FaceMe®를 테스트했을 때 MediaTek i350은 8fps의 경우 VH 모델을, 18fps의 경우 H 모델을 실행했었고, 두 경우 모두 720p였습니다.
NXP Semiconductors는 보안, 식별, 자동차, 네트워킹, 라디오, 아날로그 및 전력 관리 전문 분야를 위한 광범위한 혼합 신호 및 표준 제품을 제공합니다. 현재, NXP i.MX8M Plus는 생산 전 단계입니다. 2021년 초에는 판매가 가능할 것으로 기대됩니다. 이번에 NXP는 처음으로 SOC에 NPU를 포함했습니다. 따라서 AI 알고리즘 속도가 효과적으로 빨라졌으며 AI 애플리케이션 실행 시 CPU 워크로드가 줄어듭니다.
NXP에서 APU를 지원하기 위해 TensorFlow Lite 프레임워크 및 추론 엔진이 사용됩니다. TensorFlow Lite는 주로 Google에서 개발하는 오픈 소스 프로젝트로, Google은 자사의 AI 애플리케이션 중 다수에 이 제품을 사용합니다. 다양한 기능을 갖춘 안정적이고 성숙한 플랫폼입니다. i.MX8M Plus는 여러 AI 애플리케이션을 플랫폼으로 포팅하는 데 아주 적합합니다. 이 플랫폼에서 지원하려는 추가 AI 애플리케이션이 있는 경우 해당 애플리케이션을 이 플랫폼으로 매우 쉽게 포팅할 수 있습니다.
FaceMe®로 테스트했을 때 iMX8M Plus는 5fps의 경우 VH 모델을, 6.3fps의 경우 H 모델을 실행했으며, 두 경우 모두 720p입니다.
다음은 각 플랫폼의 성능을 요약해 보여주는 간단한 표입니다.
* 위 테스트의 경우 각 이미지에는 얼굴이 하나씩 포함되어 있었음
얼굴 인식용 AIoT 장치에 가장 널리 사용되는 운영체제 2가지는 Linux(Ubuntu 및 Debian)와 Android입니다. 어떤 OS가 적절한지 선택할 때 구체적인 사용 사례의 요구사항을 고려해야 합니다. FaceMe®는 가장 다재 다능한 얼굴 인식 엔진 중 하나로, Linux, Ubuntu, Redhat, CentOS, Android, iOS 또는 Windows를 비롯하여 10가지 이상의 OS를 지원합니다. 가장 많이 사용되는 두 가지 OS에는 몇 가지 중요한 차이점이 있습니다.
Linux는 사용자 지정 가능하고 매우 유연합니다. 구체적인 사용 사례에 맞춰 OS의 구성요소를 완벽하게 맞춤화하여 최대한 얇게 만들 수 있습니다. 필요 없는 서비스는 쉽게 제거해 소프트웨어가 더 빨리 실행되도록 하고 전력 사용량을 줄일 수 있습니다. Ubuntu는 가장 인기 있는 Linux 변형 중 하나로, 에지 장치에서부터 클라우드 서버까지 널리 사용됩니다. Ubuntu Linux는 대략 2년마다 장기 지원 버전(LTS)을 출시하여 기본 기술을 최신 상태로 유지하고 최대 5년의 지원을 제공합니다. 오픈 소스이기 때문에 원할 때마다 사용할 수 있는 풍부한 코드 라이브러리가 있어 프로젝트 개발 속도를 크게 단축할 수 있습니다.
Android는 Google에서 개발한 OS로, Android의 커널은 수정된 Linux 버전을 기반으로 합니다. 스마트폰 및 태블릿에 가장 널리 사용됩니다. Android는 개발자 친화적인 솔루션으로, 일반적으로 AIoT 장치에 선호되는 OS입니다. Android 툴체인, IDE(Android Studio) 및 SDK는 성숙한 옵션으로, 처음부터 개발하기 쉽습니다. 전문 도구를 무료로 사용할 수 있으며, 저작권 사용료를 지불할 필요가 없습니다. Android 애플리케이션을 일반적으로 프로그래밍 언어 Java로 개발되는데, Java는 C++에 비해 코딩과 리소스 또는 메모리 관리가 훨씬 쉽습니다. 또한 C++로 작성된 구성요소를 Java 플랫폼으로 통합을 지원하여 두 언어의 이점을 Java 플랫폼에 적용할 수 있습니다.
얼굴 인식을 위한 시스템을 구축할 때 엔지니어 및 개발자가 사용할 수 있는 널리 사용되는 여러 가지 AIoT 구성이 있습니다. 가장 적합한 장치를 파악하는 것은 어려운 일이 아닙니다. 옵션을 평가할 때 가장 중요한 점은 사용 사례를 파악하는 것입니다. 그런 다음 성능 요구사항, 폼 팩터, 확장성과 예산을 생각하면 됩니다.
사용 사례에 맞는 빌드 및 설계를 구축한 다음에는 POC(개념 증명)를 수행하여 애플리케이션을 공식적으로 배포하기 전에 필요한 모든 수정 사항 및 개선 사항을 식별할 수 있습니다.
얼굴 인식의 작동 원리, 배포 방법과 이 기술에 대한 전반적인 내용을 살펴보려면 에지 기반 얼굴 인식 - 상세 가이드를 읽어보십시오.
2022에는 얼굴 인식이 어떻게 사용될지 궁금하다면 얼굴 인식 – 2022년에는 어떻게 사용됩니까?를 읽어보십시오.