뉴로모픽 칩 기반 저자원 객체 인식
통신과 전력이 넉넉하지 않은 곳에서도 쓰도록, 단일 보드 컴퓨터와 뉴로모픽 칩만으로 학습과 분류를 끝내는 저전력 인식 시제품을 만들고 소비 전력을 측정했습니다.
- 문제
- 통신·전력 제약이 있는 환경에서 장치 내부 학습과 분류가 필요했습니다.
- 담당
- 단일 보드 컴퓨터와 뉴로모픽 칩을 연결한 시제품과 시연 화면, 성능 시험을 담당했습니다.
- 설계 판단
- 대상 영역을 흑백·축소 벡터로 변환하고 칩에서 학습·분류하도록 구성했습니다.
- 검증 기준
- 사용하는 뉴런 수를 바꾸며 소비 전력과 학습 시간을 측정했습니다. 이 페이지에서는 측정 방법과 검토 범위를 설명합니다.
- 결과 범위
- 얼굴 학습·인식 시연과 저전력 운용 범위를 검토한 시제품 단계입니다. 시연은 소규모였고, 센서 잡음 평탄화는 교사 데이터 준비까지만 진행했습니다.
클라우드나 고사양 그래픽카드에 기대지 않고 현장에서 몇 가지 대상의 유무만 빠르게 판단하면 되는 수요를 겨냥했습니다. 통신이 닿지 않거나 전원을 새로 끌기 어려운 곳, 영상이 장치 밖으로 나가면 안 되는 곳이 대상이었습니다.
단일 보드 컴퓨터가 카메라 영상에서 대상 영역만 잘라 흑백으로 바꾸고 작게 줄인 뒤, 그 벡터를 뉴로모픽 칩에 넘겨 학습과 분류를 칩 안에서 처리하도록 했습니다. 칩은 입력과 학습한 뉴런 사이의 거리로 판정하는 방식이라 배우지 않은 대상은 미확인으로 돌려줍니다.
동작을 보이기 위해 얼굴을 인식하는 응용 프로그램을 만들었습니다. 특징 기반 검출기로 정면 얼굴을 찾아 전처리한 뒤 버튼 한 번으로 학습하고, 다음 장면부터 이름표를 붙여 보여 주는 흐름입니다.
사용한 뉴런 수를 바꿔 가며 소비 전력과 학습 시간을 측정해 저전력으로 운용할 수 있는 범위를 정리했습니다. 같은 칩으로 아날로그 센서 값의 잡음을 다듬는 방법도 시험했는데, 벡터 안에 가중치를 줄 수 없어 동일 가중 창으로 평탄화한 값을 교사 데이터로 삼았습니다.
계획 단계의 목표는 사람·자동차·자전거·컨테이너처럼 열 가지 이내 대상의 유무를 판단하는 것이었고, 깊은 산속·동굴·지하처럼 전력과 통신이 어려운 곳, 태양광 같은 저전력 구동, 기존 장비에 부착하는 방식을 겨냥했습니다. 칩은 RBF 와 KNN 두 방식과 일반 학습·군집을 지원하고 카테고리를 최대 65,534개까지 나눌 수 있습니다. 계획 자료는 RBF(은닉층 1개, 거리 기반으로 확인 가능·불확실·알 수 없는 세 영역으로 판정), KNN(k 에 따라 분류가 달라지는 지역 구조 민감성), CNN(전처리가 거의 필요 없는 부분 특징 추출)을 견주어 설명한 뒤 칩이 지원하는 RBF 로 구성했습니다.
칩의 학습 벡터가 최대 256이라 얼굴 영역을 16×16 화소로 줄였고, 11월 응용 자료는 방향 기울기 히스토그램(HOG) 특징 벡터의 길이를 블록·셀·계급 수로 풀어 256 안에 들도록 값을 조정해야 한다고 정리했습니다. 시연 응용은 단일 보드 컴퓨터, 전용 카메라 모듈, 터치 디스플레이 위에서 OpenCV 와 PySide2, PiCamera 로 구성했고, 화면에 프레임레이트, 모드, 상태 로그, 진행 표시, 학습 결과 보고, 인식 이름표를 띄웠습니다. 보드에서는 OpenCV 를 소스로 빌드했고(NEON·OpenMP·TBB 사용), 빌드하는 동안만 스왑을 늘렸다가 되돌렸으며 파이썬 환경은 시스템 패키지를 공유하는 가상 환경으로 꾸렸습니다.
칩 한 개에서 설정 단계 전류는 42~43 mA, 학습 단계는 62~65 mA 로 거의 일정했고, 학습 결과를 분석하는 구간에서 98~178 mA 까지 올랐다가 다시 42~43 mA 로 돌아왔습니다. 사용 뉴런을 144, 288, 432, 576개로 늘리면 학습 시간이 3.7초에서 17.1초로, 분석 구간 전류의 최댓값이 108 mA 에서 178.8 mA 로 늘었습니다.
시연에서는 세 사람의 얼굴을 학습시킨 뒤 안경을 쓴 새 사진 세 장은 학습한 대로 분류했고 고양이 사진 두 장은 미확인으로 분류했습니다. 소규모 시연이라 정확도로 말하지 않습니다. 11월 응용 자료는 한계도 적었습니다. 거리 기반이라 미확인 판정이 가능하지만, 첫 인물을 학습하면 일반적인 얼굴 특징이 학습되어 낯선 사람도 그 인물로 판정했고, 두 번째 사람을 학습하면 첫 인물을 인식하지 못해 학습 데이터 일부를 유지해야 한다고 판단했습니다. 상태 조회를 호출하면 칩 연결이 끊기는 현상, 화면 표시 주기가 길고 영상 표시용 이미지 객체가 SD 카드 수명을 줄일 우려, 시연 중 설정 변경과 카테고리 관리 메뉴가 필요하다는 점도 남은 문제로 정리했습니다.
잡음 평탄화 시험은 허브가 모은 약 3일치 데이터로 동일 가중 창 평균의 창 길이를 20·40·60·80·100개로 바꿔 가며 비교했고, 임의 10분 구간과 평탄화 값의 연속 차이 분포로 정도를 살폈습니다. 창이 작으면 노이즈 영향이 크지만 변화에 빨리 반응하고 첫 값까지 필요한 데이터가 적으며, 창이 크면 그 반대입니다. 온도 채널의 극단 이상치는 영하 25도 미만 값을 제거해 처리했습니다. 교사 데이터 준비까지 진행했고 이 값으로 한 학습 결과는 확정하지 못했습니다.
그림
화면
더미 데이터로 채운 그림입니다. 실제 화면과 배치·문구가 다를 수 있습니다.
구조와 흐름
인식 흐름