CCTV에서 얼굴인식기술 제대로 활용하는 방법 | 2018.02.10 |
얼굴인식 알고리즘의 DSP 임베디드 포팅 기술 살펴보기
[보안뉴스= 지일천 윈스로드 연구소장] 현대 최첨단 기술의 발전과 더불어 이를 보호할 보안 기술 또한 진화를 요구받고 있다. 생체인식 기술도 공공 보안뿐만 아니라 개개인의 사생활을 보호하기 위한 온오프라인 통합 보안 기술로 채택되며 발전을 거듭하고 있다. ![]() [이미지=dreamstime] 현재 스마트폰의 보안기술로서 지문·얼굴·홍채인식 등이 채택되고 있으며 보안시장에서도 생체인식 재품이 주목받고 있다. ![]() 대부분의 생체인식 기술이 소프트웨어 기술로 발전하고 있지만 보다 높은 인식성공율을 달성하기 위해서는 하드웨어적인 뒷받침이 필요하다. OS 레벨에서 운영되는 생체인식 알고리즘은 카메라 영상입력과 알고리즘의 고속연산 속도 보장과 결과물의 영상전송은 하드웨어가 담당한다. 최근에는 고성능 범용 프로세서로 인해 DSP 영역이 줄어들었지만 실시간 프로세싱과 멀티 연산처리를 위한 기능을 구현하기 위해서는 여전히 DSP의 역할이 필수적이다. 특히, 영상처리 영역에서 멀티 연산 수행 및 반복적인 연산 수행과 모바일 환경에서의 저전력 소비를 위해 많은 부분에서 DSP 칩의 발전도 진행되고 있다. TI DSP 8147 칩은 OS와 DSP 기능이 한 개의 칩에 탑재돼 범용 프로세서의 성능을 압도한다. 수학 연산 및 데이터 이동에 탁월한 성능을 발휘하는 아키텍처 설계를 갖고 있다. 또한, 실시간 OS 지원을 통해 이벤트 응답 시간을 불과 10ns로 단축해 단일 주기에서 복잡한 프로세싱이 가능하다. 저전력 설계와 C 코드로 고성능을 발휘하도록 고도로 최적화된 컴파일러를 제공해 개발자가 원하는 기능 구현에 최적의 솔루션을 제공한다. 특히, 공공분야에서 전문적으로 얼굴 탐색과 인식 기능을 수행할 때 반복적인 연산과 고속연산이 장점인 DSP 칩을 사용하는 것이 효과적이다. TI 8147 DSP 소개 DM8147 프로세서는 Arm Cortex-A8 1GHz Core, DSP C674x 750Hz Core와 VICP(Video Image Co-Processor)로 구성된다. ARM Cprtex-A8 Core는 리눅스를 기반으로 오디오·비디오 입출력, 네트워킹, 각종 주변 장치들을 제어하는데 사용된다. 또, VICP는 비디오 영상에 대해 MPEG(MPEG2, MPEG4, H.264, JPEG/MJPEG) Encode와 Decode 처리에, DSP C674x Core는 RTOS인 SYS/BIOS 기반으로 각종 오디오 및 영상 알고리즘 처리에 쓰인다. ![]() <그림1>은 DM8147 프로세서의 기본 구성도다. DM8147 프로세서에서 운용되는 기본 소프트웨어 구조는 <그림2>와 같다. I DSP 8147칩에 얼굴인식 알고리즘 포팅하기 1. DM814x DSP 알고리즘 포팅 및 검증 ①C로 구현된 소스를 CCS 프로젝트에 등록 ②프로젝트를 빌드하여 알고리즘이 정상적으로 동작이 되는지 확인(Input 데이터는 패턴을 만들어서 헤더 파일이나 Hex 파일로 만들어서 작업 진행) ③컴파일러상에서 최적화 옵션(-o3 -pm)을 적용할 때 정상 동작 및 성능(각 함수에 대한 성능 사이클 측정 (타이머 함수나 CCS상에서 제공되는 프로파일 기능 사용) 확인 ④데이터 복사(Memcpy)나 데이터 정렬(For Loop) 로직들은 최대한 EDMA(QDMA/IDMA)로직으로 교체 ⑤메모리 활용도(내부 메모리 및 캐쉬 메모리를 최대한 사용할 수 있는 구조 변경) ⑥TI사에서 배포하고 있는 라이브러리로 교체 ⑦C6xxx 코어의 경우 한번에 8개의 명령을 실행할 수 있는 구조이므로 컴파일러가 CPU 코어 구조에 맞게 코드를 구성할 수 있도록 C소스 구조 변경 및 데이터 타입 변경(반복 연산 로직일 경우에 최대 효과를 볼 수 있음) ⑧알고리즘 함수 라이브러화 작업(리눅스 환경에서 라이브러리로 사용) 2. ARM 리눅스 리눅스에서는 DSP와 dml 인터페이스를 TI사에서 SYSlink 플랫폼을 제공해주므로 이것을 활용하는 방법이 있고 그렇지 않은 경우 리눅스용 디바이스 드라이버를 프로그램해야 한다. 2-1. SYSlink install SysLink Install Guide 참조 ![]() 2-2. SYSlink 구성도 ![]() 2-3. Linux Kernel에 SYSlink 디바이스 드라이버 등록 ![]() 2-4. DSP 실행 ![]() CCS 툴로 구현한 라이브러들을 syslink example 폴더로 복사해서 리눅스상에서 재빌드해서 실행 코드를 만든 후 위와 같은 방법으로 실행시킨다. ![]() 기존 CCTV 감시 시스템은 구축된 환경에서의 영상감시에 대한 기능적·공간적·시스템적 관리에 대한 통합적인 관리 시스템 기능을 제공한다. 하지만 모바일 환경의 발달로 인해 보안성이 강화된 오픈 관리 기능을 제공하고 있다. 또한 CCTV 통합 시스템의 유기적인 확장가능성을 제공하기 위해 보안 레벨을 강화하는 동시에 여러가지 상황에 맞는 대처능력을 추가하고 있다. 단순 영상저장이 아닌 다양한 센서와 의 연동을 통해 실시간 알람 기능을 제공하고 있으며, 빅데이터 기반으로 얼굴인식과 무인 관리 기능 등을 구축해 지능형 알람기능을 강화하는 추세다. 무인 관리 기능은 시대적 추세로, 인공지능(AI) 기술이 접목돼 더욱 지능화된 무인 감시 시스템을 구축함으로써 인적·물리적 피해를 최소화할 수 있는 일원화된 영상감시 환경을 위한 통합 서비스가 제공되고 있다. TI 8147 DSP칩은 CPU 파트A와 DSP 파트B로 나누어져 있는데, <그림4>에서 CPU 파트 A는 Core Tex A8 (1GHz) 속도를 가지며 DSP 파트 B는 750MHz 속도를 지닌다. 리눅스와 IP 스트림 영상을 받고 보내는 애플리케이션이 CPU 파트에 포팅되며 얼굴탐색 기능이 DSP 파트에 포팅돼 영상 입력과 얼굴영상 처리 및 결과 전송 기능을 수행한다. ![]() <그림4> DM8147 프로세서 내부 기능블럭도 TI 8147 DSP 칩은 CPU와 DSP가 동시에 내장된 칩으로, 리눅스 OS가 CPU 부분에 포팅되고 얼굴탐색 알고리즘이 DSP 부분에 포팅돼 하나의 칩으로 두 가지 기능을 수행한다. 보드의 확장성을 고려해 한 개의 IO 보드에 두 개의 DSP 보드를 탑재할 수 있게 설계했다. ![]() <그림5> DM8147 셋탑박스 구성도 두 개의 이기종 IP 카메라를 연결하는데 있어 하나의 DSP에 시스템 로드를 가중시키지 않고 이를 분산시켜 DSP 성능을 높이기 위해 고안된 것이다. FD 콘트롤러와 원격으로 연결된 얼굴인식 서버는 FD 셋탑박스로부터 전송된 얼굴 이미지를 파싱하여 얼굴인식 모듈을 호출해 인식 과정을 거친 후 인식 결과 값을 저장한다. 초당 인식 프레임 개수와 처리 결과 및 성공률도 데이터베이스에 저장한다. ![]() 여기에서 기존의 PC 서버 기반 다채널 VMS CCTV 얼굴인식 보안 시스템 부하를 획기적으로 줄이기 위해 얼굴탐색 기능과 얼굴인식 기능을 분리해 서버 시스템의 부하를 획기적으로 줄일 수 있는 분산처리 시스템을 제안했다. 또한, 얼굴탐색 기능이 탑재된 고성능 DSP 보드를 설계해 구현함으로써 FD 기능이 탑재된 IP 카메라 제조사와 상관없이 사용할 수 있는 FD 컨트롤러를 개발했다. 이를 통해 IP 카메라 영상으로부터 얼굴 탐색기능을 수행해 원거리에 있는 분산처리인식 서버에 전송함으로써 256채널 IP 카메라 연동 지능형 VMS 얼굴인식 시스템을 구성해 4대의 분산처리 인식 서버만으로도 전체 시스템 구성을 할 수 있게 했다. TI 8147 DSP보드의 최적화를 통한 소형화해 이를 모듈 형태로 전용 IP FD 카메라를 개발할 수 있어 이를 기존 CCTV를 대체할 수 있게 가격 경쟁력만 유지한다면 글로벌 마케팅 및 제품 형태로 출시할 수 있다. 이는 기존의 VMS시스템을 대체하면서 필요한 서버의 개수와 성능을 획기적으로 줄일 수 있고, 공공장소에서도 효과적으로 얼굴인식 시스템을 운영하는 것을 보장할 수 있다. [글_ 지일천 윈스로드 연구소장] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
![]() |