" " "
TL;DR : Kinect 센서로부터 입력받은 정보를 토대로 데이터를 확보하여 딥러닝 모델을 학습시켰으며, 3차원랜더링을 통해 각도를 예측. 리얼타임 Human Factor 자세분석이 가능. 단, Data Equisition에 관련하여 자세한 내용이 없으며, 공공데이터셋을 이용하지 않은 관계로 데이터가 어떻게 형성되었고 구체적으로 학습에 이용했는지 파악할 수 없다.
" " "
Introduction
논문에서는 키넥트 센서를 이용하여 도출된 입력 이미지의 RGB-Depth 정보를 전처리과정을 통해 추려내고, 심층신경망을 거쳐 관절각도를 예측한다. 키넥트는 비교적 가격이 저렴하고 별도의 보정과정이 필요하지 않으며, 마커와 같은 센서를 부착하지 않고도 자세데이터를 수집할 수 있다는 장점이 있다. 그 외에도 인간공학 분야 외에 다양한 산업군에서 실용적인 어플리케이션 장비로 사용되고 있다.
키넥트를 이용한 관찰기법은 Kinect SDK에서 제공하는 골격 데이터에 의존하게 된다. 키넥트의 골격정보는 20개의 관절에 대한 3차원 좌표를 포함한다. 의사결정분류기를 통해 나누어진 개별적인 신체부위를 자체 알고리즘을 통해 최종적으로 좌표값으로써 산출되게 된다. 하지만, 이러한 국소적인 신체탐지기법은 여러가지 한계점이 존재한다.
첫째, 복잡한 환경과 신체의 가려짐으로 인해 비현실적인 자세가 측정되는 점이다.
두번째, 탐지하고자 하는 관절의 개수에 따라 자세측정에 절대적인 공간이 마련되어야 한다는 점이다.
그러므로 좁은 환경에서의 측정은 부정확한 결과를 산출할 수 있다.
논문에서는 분석하고자 하는 작업자세를 전체적으로 분석하고 관절각도를 직접적으로 예측하는 심층신경망 모델을 제안하므로서 앞서 언급된 한계점을 극복하고자 하였다. 제안된 방법은 예측모델을 학습하는데 시뮬레이션을 통해 합성된 이미지를 사용하여 다양한 작업자세를 손쉽게 확보할 수 있으며, 추가적인 비용 없이 다양한 환경 및 자세에도 정확한 결과를 도출하는 것이 가능하다. 더불어 이미 많은 선행연구를 통해 합성된 이미지를 훈련데이터로 사용하여 학습된 모델의 정확도를 검증하는 연구가 존재하고 그 사용성이 검증된 바 있다.
따라서, 가장 높은 예측 정확도를 자랑하는 AlexNet 아키텍처를 통해 입력 이미지로부터 신체관절각도를 예측하는 학습모델을 얻는 것이 목표이며, 예측된 결과의 정확도를 검증하고자 한다. 딥러닝 아키텍처의 가장 주된 장점은 가공되지 않은 데이터를 활용하여 다양한 특징정보를 추출하고 훈련을 통해 개선된 성능과 결과를 얻을 수 있다는 점이다. 또한, 데이터의 특징을 추출하는데 획기적으로 시간을 줄일 수 있다는 것이 요점이다.
Data Pipeline
A. Synthetic Depth Generation
synthetic depth image(합성 심도 이미지)는 다른 모양의 인간 모델을 렌더링하여 생성된다. 3차원 모델은 세 가지 작업을 수행하는 작업자의 동작을 인식하고 순차적으로 위치를 재 지정하여 동작 애니메이션을 만든다. Mocap 시퀀스는 몸에 부착 된 마커의 3d 좌표를 도출하게 된다. 데이터의 가용성을 높이기 위해 다른 Depth 거리와 방향에서 3개의 카메라를 통해 Depth 이미지를 랜더링한다. 학습을 위해 168k 개의 이미지를 무작위로 샘플링 하고, 유효성 검사를 위해 42k 개 이미지를 사용하였다.
B. Depth Preprocessing
Depth 정보를 포함한 이미지를 사용하면 많은 장점이 있다. 첫째, Depth 센서는 조명밝기에 영향을 받지 않는다는 점이다. 두 번째로 전 처리 단계에서 수행되는 배경제거과정을 보다 쉽게 수행 할 수 있다. 또한, 깊이 카메라는 색상과 질감이 변하지 않는다 [15]. 그러나, Depth 이미지는 국소적인 객체의 정보를 담는데 한계가 있어 다소 편향적인 탐지결과를 초래하기도 한다. 그러므로, Depth 정보를 통해 학습하는 연구는 많이 수행되어왔으며, Depth 정보를 RGB정보와 통합하여 딥러닝 네트워크의 입력값으로 사용하는 연구가 수행된 바 있다. 이러한 접근법은 Semantic Segmentation 분야에서 성공적인 결과를 보였다. 하지만, 방대한 연산과 예측에 계산적인 소모가 크다는 단점이 존재한다.
RGB colorization 기술은 앞서 언급 된 접근법보다 더 나은 일반화 성능과 적은 연산을 필요로 한다. 따라서 이 연구에서는 선행연구 [8], [26]과 유사한 RGB colorization 기법을 적용하여 Depth 정보를 전처리한다. 특히, 3개의 RGB 채널을 사용하여 각 픽셀을 나타내는 깊이 맵에 제트 착색 알고리즘이 적용하여 그림 2에 나타낸 바와 같이 훨씬 더 풍부한 대조 정보를 담고 있는 깊이 영상 결과를 얻을 수 있다.
C. Inverse Kinematic
정확한 벤치마크 신체각도(Ground Truth)는 마커 기반 동작감지 시스템은(Mocap) 부착된 신체부위의 3차원 좌표정보를 도출한 값으로 간주하였다. 이 연구에서 Inverse Kinematic 단계를 근골격 모델에 적용하여 마커의 위치좌표를 각도로 변환하도록 하였다. 그리고 마커를 부착한 모델의 각도와 예측한 값의 오차를 최소화하는 훈련을 진행하였다. 오차계측방법으로 Least Square Problem(Equation 1)을 통해 훈련을 수행하였으며, 수렴하는 기준은 0.0001, 시행횟수(Epoch)은 1000으로 학습하였다.
Joint Angles Regression Using ConvNet
연구에서 RGB 이미지 데이터에서 신체관절각도를 예측하기 위해 AlexNet 모델을 학습시켰다. 두개의 병렬 합성곱 네트워크로 입력데이터의 특징을 학습하게 된다. 네트워크의 출력층 부분은 나눠진 네트워크의 결과를 합하여 다층 퍼셉트론의 입력값으로 주어지게 된다. 세개의 다층 퍼셉트론은 선형예측(Regression)을 수행하게 된다. 맥스풀링(MaxPooling)층은 유사한 특징정보를 포함한 피쳐맵(Feature map)의 차원을 줄어들게 한다. 각 층은 비선형 변환함수인 ReLU와 연결되어있다. 드랍아웃(Dropout)층은 과적합을 방지하기 위하여 사용되었으며, 본 연구에서는 0.5 비율로 설정하였다고한다.
합성 이미지데이터 파이프라인을 통해 210k개의 데이터셋을 생성하였다. 실제 제조업 현장에서 작업자의 자세를 3개의 카메라로 서로 다른 각도(-45, 0, +45)에서 촬영하였다. 데이터셋은 168K개의 이미지는 훈련용으로, 42K개의 이미지는 검증용으로 사용하였다. 학습에 설정된 사항은 다음과 같다. Optimization : SGD, Learning Rate : 0.01, mini-batch size : 32, Weight decay of 0.0001, momentum : 0.9, Object-function : Mean square error(MSE)
모델은 60만개의 파라미터와 1.5만개의 신경뉴런으로 구성되어있다. 학습은 총 2틀에 걸쳐 소요되었으며, NVIDIA RTX2080 그래픽카드를 사용하여 학습횟수(Epoch)는 100번에 걸쳐 수행되었다.
Experimental Results
AlexNet 입력은 픽셀 224 x 224 x 3차원을 갖는 Depth 이미지이고 출력은 29 개의 관절 각도의 자세정보이다. 이 모델은 100번의 학습횟수(epoch)에 대해 168K 컬러화 된 Depth 이미지에 대해 훈련되고 42K 검증 이미지에서 평가되었다. 본 장에서는 제안 된 방법의 일반화 성능을 평가하고자 한다. 본 연구에서는 평균 절대 오차 (MAE)와 RMSE (근 평균 제곱 오차)를 사용하여 관절 각도 예측 결과를 검증하였다.
A. AlexNet Convergence
그림 4는 학습이 진행됨에 따라 학습데이터의 예측오차와 검증데이터의 오차가 수렴하는 곡선을 보여준다. 나타난 바와 같이 AlexNet은 서서히 훈련셋과 검증셋이 수렴하는 것을 확인할 수 있다.
B. Quantitative Analysis
AlexNet은 8 개의 학습 가능한 계층으로 구성된 심층 신경망구조이다. 이 모델에는 약 5천 5백만 개의 훈련 가능한 매개 변수를 포함하고있다. 그림 5는 관절 당 MAE를 도식화하여 나타내었다. 제안 된 방법은 4.67 ± 2.08 도의 평균 MAE와 6.64 ± 2.73 도의 RMSE를 기록함으로써 매우 정확한 예측 결과를 나타내었다. 또한, 그림 6은 예측된 관절각도의 MAE의 분포를 나타낸다. 앞서 언급한 바와 같이 팔꿈치는 감지하기 가장 어려운 관절로 나타났다. 이는 제조업 조립 작업에서 작업자의 팔꿈치 위치가 급격하게 변하기 때문인 것으로 판단된다. 그러나 제안 된 방법은 손목, 어깨 및 등 관절을 감지하는 데 비교적 정확한 값을 나타내었다.
C. Frame Rate
AlexNet 모델은 Core-i7 CPU가 장착 된 MacBook Pro에서 최대 40fps (FPS) 및 Nvidia Titan X GPU에서 최대 300FPS를 보였다. 앞에서 언급 한 결과는 Kinect 센서의 프레임 속도 (30 FPS)로 제한되었다.
Conclusions
심층 컨볼루션 신경망은 채색 된 Depth 이미지로부터 신체 관절 각도를 추정하도록 훈련되었다. 제안 된 방법의 주요 기능은 입력 이미지로부터 직접 신체 관절 각도를 예측하고 실시간으로 자세정보를 제공하는 기능이다. 따라서 이 시스템은 RULA와 같은 인체 공학적 평가도구와 연계하여 지표의 실시간 평가를 통해 잠재적 인 작업 관련 근골격계질환의 발생위험도를 식별 할 수 있다. 제안된 방법은 여러 시야각에서 작업자가 수행하는 작업을 시뮬레이션하고 합성된 이미지 데이터에 대해 학습되었다. 해당 관절 각도는 생체 역학 모델을 사용하여 3차원 평면에 랜더링한 자세를 토대로 계산되었다.
Future Work
향후 실제 작업 환경에서 제안 된 방법을 적용하여 다른 Depth정보를 인코딩하는 방법과 딥 러닝 모델을 조사하여 팔꿈치와 같은 까다로운 관절의 예측 오류를 개선하는 작업이 수행되어야 할 것이다.
댓글