| 랜덤 포레스트(Random Forest) 법을 이용한 동작검색 | 2011.12.07 |
머리말 : 배경 \r\n정보 검색은 텍스트 데이터 이외에도 화상, 동영상, 음성, 3차원 형상 등 모든 디지털 데이터에 대한 방법이 제안되고 있으며, 인간의 움직임을 3차원으로 계측하는 모션 캡처 장치로 얻을 수 있는 동작 데이터도 예외가 아니다. \r\n
동작 데이터의 단순한 검색방법으로서는 각 데이터의 내용이나 의미를 나타내는 메타데이터(Meta Data)를 부여하여 그것을 텍스트로 검색하면 되지만, 움직임이 복잡한 데이터에 대하여 메타데이터를 자동 부여하는 것은 곤란하다. 예를 들면, 연기 등의 특수한 동작의 해석은 인간의 주관에 좌우되는 부분이 크기 때문에 다른 사람이 작성한 메타데이터에서는 의도하지 않은 검색 결과가 만들어지는 경우를 생각할 수 있다. 또한, 메타데이터에서는 동작의 언어적 혹은 정성적인 비교밖에 할 수 없기 때문에 동작간 유사도의 정량적인 비교에는 적합하지 않다. \r\n동작 데이터 간의 정량적인 비교에 의거한 검색을 실현하기 위하여 동작 고유의 특징량을 사용하는 방법이 제안되고 있다. 예를 들면 신체 관절의 기하적인 위치 관계를 2치 벡터화한 자세 특징을 사용하는 방법2)과 그 특징의 생기 확률(Probability of Occurrence)을 학습하여 동작 분류마다 공통된 특징을 템플릿화하여 검색 정밀도를 높이는 방법3) 등이 제안되고 있다. 반면, 필자의 연구 그룹에서는 이전에 동작의 의미적인 구조에 주목한 검색 방법4)을 제안했으며, 참고문헌 2)의 방법과 같은 인덱스화된 자세와 타이밍의 특징을 기술하는 규칙을 자동 생성, 귀납 논리에 의거하여 검색엔진을 구축했다. \r\n이들 종래 방법에서는 어떤 데이터에 대한 다른 데이터의 유사 정도를 바탕으로 순위 매기기를 할 수 있는, 흔히 말하는 랭킹은 고려되지 않았다. 그러나 여기에서 소개하는 방법에서는 보다 높은 검색 정밀도를 달성하면서 랭킹에도 적합한 유사도의 지표를 도입했다. \r\n동작 데이터의 특징량 \r\n모션 캡처 장치를 이용하여 계측된 인체 동작 데이터는 인체 관절의 3차원 위치와 굽힘 각도가 시계열 순으로 나열되어 있는 다차원 벡터로서 나타난다. 동작의 재현 정밀도는 데이터를 취득할 때의 관절 수와 시간 해상도를 증가시킴으로서 향상되지만, 검색 처리에 필요한 계산 비용은 데이터의 정보량에 따라 증가하기 때문에 공간적·시간적인 해상도는 낮게 설정하는 것이 바람직하다. 또한, 같은 의미를 가지는 동작이라 하더라도 연기자의 개성이나 시행마다의 흔들림(예를 들면 보행 동작의 경우, 보폭이나 진행 방향, 보행 주기, 타이밍 등의 차이)에 의해 데이터의 값은 다양한 의미로 해석될 수 있다. 그러므로 높은 식별 정밀도를 얻으려면 공통 특징을 정확하게 판단할 수 있는 양으로 변환해 둘 필요가 있다. \r\n
동일 의미를 가진 동작이라도 같은 타이밍에서 자세가 변화한다고는 할 수 없기 때문에 동작 특징은 자세 특징량의 순간치가 아니라 국소적인 시간 구간에서의 평균값을 사용한다. 이렇게 함으로써 동작 타이밍의 미묘한 차이에 대해서도 확실하게 동작을 분류할 수 있다. 이 평균치를 계산하는 국소 구간(그림 3의 [t0, t1])을 다양하게 변화시킴으로써 순간적인 동작에서 완만한 동작까지 다양한 시간 해상도에서의 상태 값을 얻을 수 있다. 다만, 각 동작은 그 속도의 차이에 따라 소요 시간이 다르다. 따라서 동작의 개시부터 종료까지에 이르는 시간을 1단위로 정규화하여 이 단위 시간을 같은 간격으로 분할한 시각을 t0, t1의 값의 후보로서 국소 구간을 구성한다. \r\n이번 방법에서 사용하는 동작 특징은 상술한 방법으로 구한 자세 특징량의 평균치에 대하여 개별적으로 마련한 역치와의 대소 관계로 얻어진다. 다만, 이 방법에서는 기존 방법2)3)처럼 이 대소 관계로 구성한 2치 벡터와 그 출현 확률을 템플릿화 한 것을 사용하는 것이 아니라 각 노드(node)에서 대소 관계를 판정하는 복수의 결정목(Decision Tree)을 도입하여 동작을 분류한다. \r\n랜덤 포레스트법 \r\n랜덤 포레스트법5)이란, 집단 학습법의 일종이며, 그림 4에 나타나는 것처럼 다수의 결정목을 조합하여 정밀도가 높은 식별기를 얻는 방법이며, 집단 학습법 중에서도 특히 적은 계산량으로 높은 식별 성능을 얻을 수 있다. 각 결정목의 학습에 사용되는 교사 데이터와 분류 규칙은 무작위로 선택되기 때문에 각 결정목의 식별 성능은 비교적 낮다. 그러나 그것들을 다수 조합시킴으로써 흔들림이나 잡음을 많이 포함하는 데이터에 대해서도 고정밀도의 식별이 가능해진다. \r\n동작 검색기를 구성하는 각 결정목의 노드는 전술한 것처럼 국소 구간[t0, t1]에서 계산된 자세 특징량의 평균치와 역치와의 대소 결과로 동작 특징을 판정한다. 그래서 각 노드에서의 식별 규칙은 착목하는 자세 특징량의 종류와 국소 구간의 조합(이후, 식별 조건이라 부른다)을 랜덤으로 선출하여 구성된다. 그러나 무작위로 생성되는 식별 조건으로 일정한 정밀도를 얻기 위해서는 방대한 수의 노드와 결정목이 필요하게 되며, 검색의 계산 비용도 증가한다. 따라서 각 노드에서의 식별 정밀도를 향상시키기 위하여 학습할 때에 정보 엔트로피의 이득을 최대로 하도록 식별 조건과 역치를 선택한다. 이하에 결정목의 구체적인 구축 수순을 나타낸다. \r\n수순 1: 노드에 대하여 식별 조건을 무작위로 선택한다. \r\n수순 2: 교사 데이터 집합을 이용하여 정보 엔트로피를 최소로 하는 역치를 산출한다. \r\n수순 3: 수순 1, 2를 일정 회수 반복하여 정보 이득을 최대로 하는 식별 조건을 선택한다. \r\n수순 4: 선택된 식별 조건으로 중간 노드를 구성하고, 이것을 이용하여 교사 데이터 집합을 2분할한다. \r\n수순 5: 수순 4에서 2분할된 각각의 데이터 집합에 대하여 정보 엔트로피를 계산하여 그것들의 값이 일정치 이하가 될 때까지 수순 1~4의 노드의 구성을 반복한다. \r\n전술한 정보 엔트로피란, 학습용 데이터가 동작 분류마다 분할됨에 따라 감소하는 값이며, 종단 노드에서 얻을 수 있는 학습 데이터군의 동작 분류마다의 출현 확률 분포(그림 4)로 계산된다. 즉, 이 출현 확률 분포의 값의 치우침이 클수록 엔트로피의 값은 작아진다. 또한 정보 이득이란, 학습 데이터가 각 노드에서 분할되는 전후에서의 정보 엔트로피의 총량의 감소량에 의해 산출된다. 따라서 데이터 분류가 진행되면 이득의 값도 증대된다. \r\n
검색의 쿼리로서 입력되는 동작 클립은 결정목의 근노드(root node)의 식별조건에서 시작되어 중간 노드의 각 식별조건에서 양분된다. 그 결과 도달하는 종단 노드에서 얻어지는 출현 확률 분포(즉, 그 종단 노드에 도달한 학습 데이터의 동작 분류마다의 개수의 비율)가 각 결정목의 출력이 된다. 쿼리의 동작 클립은 이 출력의 전 결정목에서의 총 합계로 최대의 출현 확률이 되는 동작 분류에 속하는 것으로 판정된다(그림 4). \r\n랭킹 검색의 실현 \r\n전술한 식별 방법으로는 동작 분류는 판정할 수 있지만, 동작 간의 유사도에 의거한 등급 매김은 고려되어 있지 않다. 그런 까닭으로 쿼리와 검색 대상이 되는 전 데이터에 대하여 계산된 출현 확률 분포끼리의 유사도를 도입하여 등급을 매긴다. \r\n즉, 동작 분류의 출현 확률 분포는 실수 벡터값으로 얻어지기 때문에 그 코사인 유사도를 내림차순으로 재배열함으로써 등급이 매겨진 검색 결과를 얻는다. \r\n데이터 검색 실험 \r\n이번 실험에서 사용하는 동작 데이터군은 Muller가 구축한 모션 캡처 데이터집6)을 이용했다. 이 데이터집을 4,660개의 동작 클립으로 분할하여 각 클립을 78종으로 분류했다. 또한, 동작 분류마다 학습용과 평가 실험용의 데이터를 그 비율이 거의 동수가 되도록 무작위로 양분했다. \r\n동작 특징의 산출에는 56종류의 자세 특징량을 정의하고, 동작의 소요 시간은 같은 간격으로 10분할한 3,080종류의 식별 조건의 후보에 대하여 결정목을 학습시켰다. 또한, 결정목의 각 노드에 대하여 12개의 식별 조건을 무작위로 생성하여 선택했다. \r\n그림 5에 랜덤 포레스트를 구성하는 결정목의 개수를 1개부터 100개까지 늘렸을 때의 식별 정밀도의 추이를 나타낸다. 종축은 평가 실험에 사용한 모든 동작 데이터에 대한 식별 정밀도의 평균치이다. \r\n
그림 6에 기존 방법과 검색 정밀도를 비교한 결과를 나타냈다. 모션 템플릿이란, 참고문헌 7)에서 제안된 유전적 알고리즘으로 최적화된 템플릿에서 얻어진 결과이다. 또한 귀납 추론은 참고문헌 4)에서 제안된 동작 규칙의 귀납 추론을 사용한 검색 방법이다. 이 결과에서 여기서의 제안 방법이 가장 높은 재현율, 적합율, 및 F척도의 값이 얻어져 있음을 확인할 수 있다. \r\n다음으로 출현 확률 분포의 코사인 유사도를 이용하여 랭킹을 출력하여 상위부터 그 유사도가 일정 이상의 동작을 동일 분류로서 검색 정밀도를 산출한 결과, 재현율 0.87, 적합율 0.93과 F척도 0.9라는, 그림 5 및 그림 6의 식별 결과와 동등한 높은 성능을 얻을 수 있었다. 따라서 이 방법은 동작 분류의 판정뿐만 아니라 분류의 유사도에 의거한 랭킹에도 응용할 수 있다. \r\n맺음말 \r\n여기서는 동작의 다양한 특징량에서 식별에 유효한 것만을 자동 선택하기 때문에 동작에 관한 사전 지식이 없어도 효율적인 인덱스화와 고속 검색이 가능해진다. 랜덤 포레스트 법은 영상인식 등의 분야에서는 이미 널리 이용되고 있지만, 동작 데이터 검색에 대한 유효성도 확인된 것이다. \r\n제안 방법은 학습하지 않은 미지의 분류에 속하는 동작에 대해서는 재학습이 필요해진다. 그러나 데이터군의 규모가 증대됨에 따라 재학습의 계산 비용도 증가하고 식별 정밀도도 저하될 가능성이 있다. 따라서 실용적 관점에서는 새로운 동작 분류에 대해서도 재학습이 불필요한 식별 기능이 필요하다는 점이다. \r\n참고문헌----------------------------------- \r\n1)~7)까지는 원본 PDF 문서에서 가져와서 써주세요.. \r\n8) 하마다 유이치, 쿠리야마 시게루, 무카이 토모히코, “랜덤 포레스트법을 이용한 동작 검색”“전자 정보 통신 학회 논문지, J93D(11), pp.2516-2524(2010) \r\n--------------------------------------------------- \r\n<글 : 쿠리야마 시게루 / 토요하시 기술과학대학> \r\n[월간 시큐리티월드 통권 제179호(sw@infothe.com)] \r\n<저작권자 : 시큐리티월드(www.securityworldmag.co.kr) 무단전재-재배포금지> |
|
|
|