번역가 | Zhu Xianzhong
리뷰어 | Sun Shujuan
작업 공간 보안은 특히 민감한 정보를 처리하거나 수천 명의 직원이 있는 회사에서 돈을 낭비할 수 있습니다. 전자 키는 보안 시스템 자동화를 위한 표준 옵션 중 하나이지만 실제로는 키 분실, 분실, 위조 등의 단점이 여전히 많이 존재합니다.
생체 인식은 "당신이 누구인지" 인증이라는 개념을 나타내기 때문에 전통적인 보안 조치에 대한 신뢰할 수 있는 대안입니다. 이는 사용자가 지문, 홍채, 음성 또는 얼굴과 같은 고유한 특성을 사용하여 공간에 대한 접근 권한을 증명할 수 있음을 의미합니다. 인증 방법으로 생체인식을 사용하면 키를 분실하거나 잊어버리거나 위조할 수 없습니다. 따라서 이번 글에서는 인공지능 기술을 기반으로 보안 모니터링 시스템을 구현하기 위해 엣지 디바이스와 인공지능, 생체인식을 결합한 엣지 바이오인식 기술을 개발한 경험에 대해 이야기하겠다.
먼저 명확히 해보자: 엣지 AI란 무엇인가? 기존 AI 아키텍처에서는 운영 장치나 하드웨어 센서와 분리되어 클라우드에 모델과 데이터를 배포하는 것이 일반적입니다. 이로 인해 우리는 클라우드 서버를 적절한 상태로 유지하고 안정적인 인터넷 연결을 유지하며 클라우드 서비스 비용을 지불해야 합니다. 인터넷 연결이 끊긴 경우 원격 저장소에 접근할 수 없으면 전체 AI 응용 프로그램이 쓸모 없게 됩니다.
"반대로 엣지 AI의 아이디어는 사용자에게 더 가까운 기기에 인공 지능 애플리케이션을 배포하는 것입니다. 엣지 기기에는 자체 GPU가 있어 기기에서 로컬로 입력을 처리할 수 있습니다.
이는 다음과 같습니다. 모든 작업이 장치에서 로컬로 수행되므로 대기 시간이 단축되는 등 많은 이점이 있으며 장치를 한 위치에서 다른 위치로 쉽게 이동할 수 있으므로 전체 비용과 전력 소비도 낮아집니다. 대규모 생태계가 필요하면 연결이 닫혀도 장치의 내부 메모리에 데이터가 저장될 수 있으므로 안정적인 인터넷 연결에 의존하는 기존 보안 시스템에 비해 대역폭 요구 사항도 낮습니다. 견고합니다.”
- Daniel Lyadov(MobiDev의 Python 엔지니어)
유일한 단점은 모든 처리가 짧은 시간 내에 완료되어야 하고 하드웨어 구성 요소가 충분히 강력해야 하며 최신 상태여야 한다는 것입니다. -date 이 기능을 활성화합니다.
얼굴 인식이나 음성 인식 등 생체 인증 작업에는 빠른 대응과 보안 시스템의 신뢰성이 중요합니다. 우리는 원활한 사용자 경험과 적절한 보안을 보장하기 위해 엣지 장치를 사용하면 이러한 이점을 얻을 수 있습니다.
직원의 얼굴, 목소리 등 생체 정보는 신경망이 인식할 수 있는 고유한 패턴을 나타내기 때문에 충분히 안전해 보입니다. 또한 대부분의 기업이 이미 CRM 또는 ERP에 직원의 사진을 가지고 있기 때문에 이러한 유형의 데이터를 수집하기가 더 쉽습니다. 이렇게 하면 직원의 지문 샘플을 수집하여 개인 정보 보호 문제를 피할 수도 있습니다.
에지 기술과 결합하여 작업 공간 입구를 위한 유연한 AI 보안 카메라 시스템을 만들 수 있습니다. 아래에서는 우리 회사의 개발 경험과 엣지 생체인식의 도움을 바탕으로 이러한 시스템을 구현하는 방법에 대해 논의하겠습니다.
인공지능 감시 시스템 설계
이 모든 조치는 비디오/오디오 입력 센서 역할을 하는 단일 장치와 잠금/잠금 해제 명령을 보내는 컨트롤러를 통해 수행됩니다. 엣지 디바이스로는 NVIDIA의 Jetson Xavier를 사용하기로 결정했습니다. 이러한 선택은 주로 장치의 GPU 메모리(딥 러닝 프로젝트의 추론 가속화에 중요)와 Python 3 인코딩 기반 장치를 지원하는 NVIDIA의 고가용성 Jetpack-SDK를 사용하기 때문에 이루어졌습니다. 따라서 DS 모델을 다른 형식으로 엄격하게 변환할 필요가 없으며 거의 모든 코드 기반을 DS 엔지니어가 장치에 적용할 수 있으며 한 프로그래밍 언어에서 다른 프로그래밍 언어로 다시 작성할 필요도 없습니다.
AI 보안 시스템 워크플로우
위 설명에 따르면 전체 프로세스는 다음 흐름을 따릅니다.
1 사용자를 찾기 위해 얼굴 감지 모델에 입력 이미지를 제공합니다.
2. 얼굴 인식 모델은 벡터를 추출한 후 기존 직원 사진과 비교하여 동일인인지 추론합니다.
3. 또 다른 모델은 음성 샘플을 통해 특정인의 음성을 확인하는 것입니다.
4. 또한 모든 유형의 스푸핑 기술을 방지하기 위해 음성-텍스트 스푸핑 방지 솔루션이 채택되었습니다.
다음으로 각 구현 링크에 대해 논의하고 학습 및 데이터 수집 프로세스를 자세히 설명하겠습니다.
시스템 모듈을 살펴보기 전에 사용된 데이터베이스에 주의하세요. 우리 시스템은 사용자에게 소위 참조 데이터 또는 실제 데이터를 제공하는 데 의존합니다. 현재 데이터에는 각 사용자에 대해 미리 계산된 얼굴 및 음성 벡터가 포함되어 있으며 이는 숫자 배열처럼 보입니다. 또한 시스템은 향후 재교육을 위해 성공적인 로그인 데이터를 저장합니다. 이를 고려하여 우리는 가장 가벼운 솔루션인 SQLite DB를 선택했습니다. 이 데이터베이스를 사용하면 모든 데이터가 검색 및 백업이 쉬운 하나의 파일에 저장되며 데이터 과학 엔지니어의 학습 곡선이 더 짧아집니다.
얼굴 인식에는 사무실에 들어오는 모든 직원의 사진이 필요하기 때문에 회사 데이터베이스에 저장된 얼굴 사진을 사용합니다. 사무실 출입구에 배치된 Jetson 장치는 사람들이 문을 열 때 얼굴 인증을 사용할 때 얼굴 데이터 샘플도 수집합니다.
처음에는 음성 데이터가 제공되지 않아 데이터 수집을 정리하고 20초 분량의 클립을 녹음해 달라고 요청했습니다. 그런 다음 음성 확인 모델을 사용하여 각 사람의 벡터를 가져와 데이터베이스에 저장합니다. 모든 오디오 입력 장치를 사용하여 음성 샘플을 캡처할 수 있습니다. 우리 프로젝트에서는 휴대용 전화기와 마이크가 내장된 웹캠을 사용하여 사운드를 녹음합니다.
얼굴 감지는 주어진 장면에 얼굴이 있는지 여부를 판단할 수 있습니다. 그렇다면 모델은 얼굴 랜드마크를 포함하여 이미지에서 각 얼굴의 위치를 알 수 있도록 각 얼굴의 좌표를 제공해야 합니다. 다음 단계에서 얼굴 인식을 실행하려면 경계 상자에서 얼굴을 받아야 하기 때문에 이 정보가 중요합니다.
얼굴 감지를 위해 우리는 RetinaFace 모델과 InsightFace 프로젝트의 MobileNet 핵심 구성 요소를 사용했습니다. 모델은 5개의 얼굴 라벨과 함께 이미지에서 감지된 각 얼굴에 대해 4개의 좌표를 출력합니다. 실제로, 다른 각도에서 촬영하거나 다른 광학 장치를 사용하여 촬영한 이미지는 왜곡으로 인해 얼굴의 비율이 변경될 수 있습니다. 이로 인해 모델이 사람을 식별하는 데 어려움을 겪을 수 있습니다.
이러한 요구를 충족하기 위해 얼굴 랜드마크는 같은 사람의 이미지 간에 존재할 수 있는 차이를 줄이는 기술인 모핑에 사용됩니다. 따라서 획득된 잘리고 왜곡된 표면은 더 유사해 보이고 추출된 얼굴 벡터가 더 정확합니다.
다음 단계는 얼굴 인식입니다. 이 단계에서 모델은 주어진 이미지(즉, 획득된 이미지)로부터 사람을 인식해야 합니다. 식별은 참조(실측 데이터)를 통해 수행됩니다. 따라서 여기서 모델은 카메라 앞에 서 있는 사람이 같은 사람인지 확인하기 위해 두 벡터 간의 차이에 대한 거리 비율을 측정하여 두 벡터를 비교합니다. 평가 알고리즘은 이를 직원의 초기 사진과 비교합니다.
얼굴 인식은 SE-ResNet-50 아키텍처 모델을 사용하여 완성됩니다. 모델 결과를 더욱 강력하게 만들기 위해 얼굴 벡터 입력을 받기 전에 이미지가 뒤집어지고 평균이 계산됩니다. 이때 사용자 식별 과정은 다음과 같습니다.
얼굴 및 음성 인증 과정
다음으로 음성 인증 링크로 이동합니다. 두 오디오에 동일한 사람의 음성이 포함되어 있는지 확인하려면 이 단계를 수행해야 합니다. 음성 인식을 고려해보면 어떨까요? 그 대답은 이제 얼굴 인식이 음성보다 훨씬 뛰어나며, 이미지는 사용자를 식별하기 위해 음성보다 더 많은 정보를 제공할 수 있다는 것입니다. 사용자 A는 얼굴로, 사용자 B는 음성으로 식별하는 것을 피하기 위해 얼굴 인식 솔루션만 사용합니다.
유사한 벡터를 찾지 않는 한, 두 벡터 사이의 거리를 기준으로 두 벡터를 비교하므로 기본 논리는 얼굴 인식 단계와 거의 동일합니다. 유일한 차이점은 이전 얼굴 인식 모듈에서 통과하려는 사람이 누구인지에 대한 가설이 이미 있다는 것입니다.
음성인증 모듈을 활발하게 개발하는 동안 많은 문제가 발생했습니다.
Jasper 아키텍처를 사용하는 이전 모델은 동일한 사람이 다른 마이크에서 녹음한 내용을 확인할 수 없었습니다. 따라서 우리는 SpeechBrain 프레임워크의 VoxCeleb2데이터 세트에서 훈련된 ECAPA-TDNN 아키텍처를 사용하여 이 문제를 해결했으며, 이는 직원 검증 작업을 훨씬 더 효과적으로 수행했습니다.
그러나 오디오 클립에는 여전히 일부 사전 처리가 필요합니다. 목표는 사운드를 보존하고 현재 배경 소음을 줄여 오디오 녹음 품질을 향상시키는 것입니다. 그러나 모든 테스트 기술은 음성 검증 모델의 품질에 심각한 영향을 미칩니다. 대부분의 경우 소음을 조금만 줄여도 녹음된 음성의 오디오 특성이 변경되므로 모델이 사람을 올바르게 인증할 수 없습니다.
추가적으로 오디오 녹음의 길이와 사용자가 발음해야 하는 단어 수를 조사했습니다. 이번 조사 결과, 우리는 몇 가지 권고 사항을 제시했습니다. 결론은 다음과 같습니다. 녹음 시간은 최소 3초 이상이어야 하며 약 8단어를 큰 소리로 읽어야 합니다.
마지막 보안 조치는 시스템이 Nemo 프레임워크의 QuartzNet에 구축된 음성-텍스트 스푸핑 방지 기능을 적용한다는 것입니다. 이 모델은 좋은 사용자 경험을 제공하며 실시간 시나리오에 적합합니다. 사람이 말하는 것이 시스템의 기대에 얼마나 가까운지 측정하려면 두 사람 사이의 Levenshtein 거리를 계산해야 합니다.
얼굴 인증 모듈을 속이기 위해 직원의 사진을 얻는 것은 음성 샘플 녹음과 함께 달성 가능한 작업입니다. 음성-텍스트 스푸핑 방지는 침입자가 승인된 직원의 사진과 오디오를 사용하여 사무실에 들어오려고 시도하는 시나리오를 다루지 않습니다. 아이디어는 간단합니다. 각 사람이 자신을 인증할 때 시스템에서 제공한 문구를 말합니다. 문구는 무작위로 선택된 단어 세트로 구성됩니다. 비록 한 문장에 포함된 단어의 수는 그리 많지 않지만, 실제로 가능한 조합의 수는 상당히 많습니다. 무작위로 생성된 문구를 적용하면 인증된 사용자가 녹음된 많은 문구를 말해야 하는 시스템을 속일 가능성이 제거됩니다. 사용자 사진을 가지고 있는 것만으로는 AI 보안 시스템을 이러한 보호 기능으로 속이기에는 충분하지 않습니다.
이 시점에서 Edge 생체 인식 시스템을 사용하면 사용자는 문을 잠금 해제하기 위해 무작위로 생성된 문구를 말해야 하는 간단한 프로세스를 따를 수 있습니다. 또한, 얼굴인식을 통해 사무실 출입구에 대한 인공지능 감시 서비스를 제공하고 있습니다.
음성 검증 및 음성-텍스트 스푸핑 방지 모듈
"여러 에지 장치를 추가하면 시스템을 쉽게 수정하여 다양한 시나리오로 확장할 수 있습니다. 일반 컴퓨터와 비교하여 다음을 통해 직접 구성할 수 있습니다. 네트워크 Jetson은 GPIO 인터페이스를 통해 하위 수준 장치에 연결되며 새로운 하드웨어로 쉽게 업그레이드할 수 있습니다. 웹 API가 있는 모든 디지털 보안 시스템과도 통합할 수 있습니다.
하지만 이 솔루션의 주요 이점은 다음과 같습니다. 특별한 방해 없이 입구에서 데이터를 수집하는 것이 매우 편리한 것 같아서 시스템 개선을 위해 장치에서 직접 데이터를 수집합니다.”
——Daniel Lyadov(MobiDev의 Python 엔지니어)
Zhu Xianzhong, 51CTO 커뮤니티 편집자, 51CTO 전문 블로거, 강사, 웨이팡 대학의 컴퓨터 교사이자 프리랜서 프로그래밍 업계의 베테랑입니다.
원제: Developing AI Security Systems With Edge Biometrics, 작성자: Dmitriy Kisil
위 내용은 엣지 생체인식을 활용한 AI 보안 시스템 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!