I. Introduction
국내 산업재해 통계에서 업무상질병 요양자 중 근골격계 질환자의 비중이 매우 높다. 근골격계질환(Musculo skeletal disorders)은 무리한 힘 사용, 반복적인 동작, 부적절한 작업 자세, 날카로운 면과의 신체접촉, 진동 및 온도 등의 요인으로 인해 근육과 신경, 힘줄, 인대, 관절 등의 조직에 손상이 발생하는 질환이다[1]. 이 질환의 종류는 근막통증후군(Myofascial Pain Syndrome), 요통(Low Back Pain), 수근관증후군(Carpal Tunnel Syndrome), 내상 및 외상 과염((Tennis Elbow and Golfer's Elbow), 수완진동 증후군(Hand-Arm Vibration Syndrome) 등이 있다. 이러한 근골격계질환의 종류에 따른 증상은 표 1과 같다.
Table 1. Symptoms of musculoskeletal disorders [1]
표 1에서 근막통증후군은 근육을 과다하게 사용하거나 반복적으로 사용하는 작업 자세에서 주로 발생한다. 요통은 무거운 짐을 들거나 옮길 때 허리를 비틀거나 구부리는 작업 자세에서 주로 발생한다. 수근관증후군은 반복적이고 지속적으로 손목을 압박하거나 굽히는 작업 자세에서 주로 발생한다. 내상 및 외상 과염은 과다한 손목 및 손가락을 사용하는 동작에서 발생한다. 수완진동증후군은 진동 공구를 사용하는 작업에서 주로 발생한다[1].
이러한 근골격계질환으로 인한 산업재해 발생으로 경제적·사회적 손실도 매우 크다. 근골격계질환으로 인한 산업 재해 발생 추이는 그림 1과 같다[2]. 그림 1을 살펴보면 근골격계질환으로 인한 재해는 2016까지 감소하다가 2017년 이후 꾸준히 증가하고 있음을 알 수 있다. 특히, 신체부담작업(Body burden work)으로 인한 근골격계질환의 발생은 매우 급격하게 증가하고 있음을 알 수 있다. 이 근골격계질환의 통증 부위는 허리, 목과 어깨 순으로 높게 보고 있다[2]. 손가락 저림 및 감각 저하 증상을 보이는 수근관증후군(Carpal Tunnel Syndrome)의 발생 추이는 매우 적음을 볼 수 있다.
Fig. 1. Trends in work-related musculoskeletal disorders by year [2]
또한, 2023년 산업재해 발생 형태는 그림 2와 같다[3].
Fig. 2. Types of Industrial Accidents in 2023 [3]
그림 2를 살펴보면 떨어짐으로 인한 산업재해 발생자 수는 286명으로 35.2%이다. 그 밖의 발생 형태는 151명으로 18.6%이다. 또한 산업재해가 발생하는 주요 3대 업종별 산업재해 발생자 수는 건설업(365명), 제조업(165명), 서비스업(140명) 순이다. 이러한 산업재해는 근골격계질환과 연관성이 매우 높다. 따라서 많은 제조회사가 작업자들의 근골격계를 분석하고 평가하는 작업자 근골격계 평가 플랫폼 개발의 필요성을 느끼고 있다. 따라서, 본 논문에서는 작업자 근골격계 평가 플랫폼 개발을 위해 카메라와 센서를 이용해 작업자의 동작 데이터를 측정하고, 측정된 데이터를 활용하여 작업자의 근골격계를 분석하고 평가한다.
본 논문의 구성은 다음과 같다. 2장에서 기존의 근골격계 평가 방법과 머신러닝 프레임워크에 대하여 알아보고, 장·단점을 분석한다. 3장과 4장에서는 작업자 근골격계 평가 플랫폼을 설계하고 구현한 방법에 대하여 자세히 설명한다. 그리고 마지막으로 5장에서 결론을 맺는다.
II. Preliminaries
1. Work Posture Evaluation Scheme
기존의 근골격계 평가시스템에서는 근골격계 평가를 위해 OWAS(Ovako Working posture Analysis System), RULA(Rapid Upper Limb Assessment), REBA(Rapid Entire Body Assessment) 등 다양한 작업 자세 평가 기법을 사용한다.
OWAS 평가 기법은 작업을 비디오로 촬영하여, 신체 부위별로 정의된 자세 기준에 따라 코드화하여 분석한다[4]. 이 기법은 허리, 팔, 다리, 하중을 작업 코드로 제시한다. 허리는 바로 선 자세, 굽힌 자세, 비튼 자세, 굽히고 비튼 자세 등 4가지로 구분한다. 팔은 양팔 어깨 아래, 한 팔 어깨 아래, 양팔 어깨 위 등 4가지로 구분한다. 다리는 앉은 자세, 두 다리로 선 자세, 한 다리로 선 자세, 두 다리 구부린 자세, 한 다리 구부린 자세, 무릎 꿇은 자세, 걷기 등 7가지로 구분한다. 마지막으로 하중은 10kg 이하, 10~ 20kg, 20kg 이상 등 3가지로 구분한다. 따라서 허리, 팔, 다리의 조합으로 구성하는 작업 자세 유형은 84가지(4×3×7)이며, 하중 조건 3가지를 고려하면 모두 252개의 유형으로 분류할 수 있다. 이 기법의 장점은 기구를 이용한 분석 방법에 비해 현장 적용성이 뛰어나다. 반면에 작업 자세를 너무 단순화하여 세밀한 분석이 어렵고, 작업 자세와 취급 하중 이외의 요인은 평가가 어렵다는 것이다.
REBA는 간호사 등과 같이 예측하기 힘든 다양한 자세를 취하는 서비스업에서 전체적인 신체에 대한 부담 정도와 노출 정도를 분석하는 데 적합한 기법이다[5]. 이 기법은 신체 부위별로 A와 B 그룹으로 나누어지고 A, B의 각 그룹별로 작업 자세, 그리고 근육과 힘에 대하여 평가한다. 평가 결과는 1~15점의 총점으로 평가하며, 점수에 따라 5개의 조치 단계(Action Level)로 분류한다. 조치 단계 0은 특별한 조치가 필요 없음, 조치 단계 1은 조치가 필요할지도 모름, 조치 단계 2는 조치가 필요함, 조치 단계 3은 조치가 곧 필요함, 조치 단계 4는 즉시 조치가 필요함을 의미한다.
RULA는 어깨, 팔목, 손목, 목 등 상지(Upper Limb)에 초점을 맞추어 작업 자세로 인한 작업부하를 빠르고 쉽게 평가하는 기법이다[6]. 이 기법의 작업부하 요소는 작업 자세(work posture), 동작의 횟수(number of movement, 빈도), 정적인 근육 작업(static muscle work), 힘이다. 단위 시간당 동작의 횟수가 증가하거나 근력을 요구하는 정적인 작업 시간이 길어질수록 작업부하가 증가한다. 또한, 큰 힘이 요구되거나 나쁜 작업 자세가 많을수록 작업 부하가 증가한다. 이 기법의 평가 방법은 팔(상완 및 전완), 손목, 목, 몸통(허리), 다리 부위에 대해 각각의 기준에서 정한 값을 표에서 찾고, 그리고 근육의 사용 정도와 사용 빈도를 정해진 표에서 찾아 점수를 합산하여 최종 점수를 산출한다. 최종 평가점수가 1~2점은 적절한 작업, 3~4점은 추적 관찰 필요, 5~6점은 작업 전환 고려, 7점은 즉시 작업 전환 필요 등으로 구분하여 사후 관리 기준을 제시한다. 이 기법의 장점은 복잡한 장비와 기술이 필요없으며, 쉽게 작업부하를 평가할 수 있다. 또한, 제한된 작업 공간에서도 작업자들에게 작업에 방해를 주지 않고 평가할 수 있다.
2. Machine Learning Framework
대표적인 머신러닝 프레임워크는 TensorFlow, Keras, Scikit-learn, PyTorch 등이 있다.
TensorFlow는 수치 계산과 대규모 머신러닝을 위해 Google에서 개발한 오픈 소스 라이브러리이다[7]. 대부분 python을 사용하며 프레임워크로 애플리케이션을 구축하기 위한 편리한 front-end API를 제공한다. TensorFlow는 필기 숫자 판별, 이미지 인식, 단어 임베딩, 반복 신경망, 기계번역을 위한 시퀀스 투 시퀀스 모델 자연어 처리 등을 위한 신경망을 학습하고 실행할 수 있습니다. 학습에 사용되는 것과 같은 모델로 대규모 프로덕션 예측을 지원한다는 것이 장점이다.
Scikit-learn은 scikit-learn은 파이썬 프로그래밍 언어용 머신러닝 오픈 소스 라이브러리이다[8]. 다양한 분류, 회귀, 그리고 서포트 벡터 머신, 랜덤 포레스트, 그라디언트 부스팅, k-평균, DBSCAN을 포함한 클러스터링 알고리즘과 Numpy를 지원한다. 초보자가 머신러닝을 처음 시작하는 초보자들에게 적합한 것이 장점이다.
Keras는 딥러닝 모델을 빌드하고 학습시키기 위한 TensorFlow의 상위 수준 API이다[9]. Keras는 인터페이스가 간단하고 일관성이 있어 사용자 친화적이고, 사용자 오류에 대해 명확하고 실행할 수 있는 피드백을 제공하는 것이 장점이다.
PyTorch는 Torch의 머신러닝 라이브러리와 Python 기반의 고급 API를 결합한 오픈 소스 딥러닝 프레임워크이다[10]. PyTorch는 간단한 선형 회귀 알고리즘부터 복잡한 컨볼루션 신경망과 컴퓨터 비전 및 자연어 처리(NLP)와 같은 작업에 사용되는 생성형 트랜스포머 모델에 이르기까지 다양한 신경망 아키텍처를 지원한다. 유연성과 사용 편의성 등의 장점 때문에 학계 및 연구 커뮤니티에 널리 사용되고 있다.
III. The Design of Worker Musculoskeletal Assessment Platform Based on Machine Learning
본 논문에서는 작업자 근골격계 평가 플랫폼을 설계한다. 작업자 근골격계 평가 플랫폼은 3가지 핵심 구성요소인 Mobile App, Modeling Server, Web Platform으로 구성된다.
그림 3에서 Mobile App은 스마트폰의 카메라를 사용하여 작업자의 다양한 동작 데이터를 측정하여 Modeling server로 전송하는 기능을 제공한다. Mobile App에 사용하는 아이콘은 아래 그림 4와 같다.
Fig. 3. Component of Musculoskeletal Assessment Platform
Fig. 4. Icon for a mobile app
Modeling Server는 모바일 앱에서 측정한 작업자의 동작 데이터인 포인트와 스켈레톤, x, y, z 좌표 데이터를 REBA 기법을 통하여 근골격계를 분석하고 평가하는 기능을 제공한다. 이 과정에서 작업자를 모델링하고, 작업자의 동작을 인식할 때 머신러닝 프레임워크로 Keras와 TensorFlow를 적용한다. Web Platform은 작업자의 동작을 3D 애니메이션으로 시각화하는 기능을 제공한다. 그림 5는 작업자의 동작을 3D 애니메이션으로 시각화할 때 사용하는 3D 캐릭터이다.
Fig. 5. 3D model character for visualizing worker pose
또한 작업자 근골격계 평가 플랫폼의 모든 정보를 도식화하여 볼 수 있도록 Dash-Board 기능을 제공한다.
IV. The Implementation of Worker Musculoskeletal Assessment Platform Based on Machine Learning
본 논문에서는 작업자 근골격계 평가 플랫폼을 구현한다. 작업자 근골격계 평가 플랫폼은 3가지 핵심 구성요소인 Mobile App, Modeling Server, Web Platform으로 구성되며, 구성요소 간의 연관 구조도는 그림 6과 같다.
Fig. 6. Worker musculoskeletal assessment platform architecture
1. Mobile App Implementation
본 논문에서는 Android platform 기반의 애플리케이션을 구현한다. 이 앱 개발 환경은 표 2와 같다.
Table 2. Mobile app development environment [11]
이 앱은 카메라를 이용하여 작업자를 촬영하고, 포인트, 스켈레톤, 그리고 x, y, z 좌표 등의 데이터를 측정하여 그림 7과 같이 데이터를 추출한다.
Fig. 7. Worker musculoskeletal data sent to modeling server
앱에서 추출한 그림 7의 작업자 데이터는 그림 6의 ❶ 과정과 같이 모델링 서버로 전송한다.
2. Modeling Server Implementation
Modeling server는 node.js를 사용하여 구현한다. 이 서버는 모바일 앱에서 전송받은 작업자의 동작 데이터를 그림 8과 같이 다차원 배열로 변환한다.
Fig. 8. Data transformation into N-Dimensional Array
이 다차원 배열 데이터에 Keras와 TensorFlow 등의 머신러닝 프레임워크를 적용하여 그림 9와 같이 작업자의 자세를 예측한다.
Fig. 9. Predicting worker posture using a machine learning framework
또한, Modeling server는 작업자 자세 모델링을 위해 Teachable Machine을 사용한다. Teachable Machine은 Google에서 개발한 도구로, 데이터를 사용하여 머신러닝 모델을 쉽게 만들 수 있다[12]. 그리고 vision, audio, pose 데이터와 같은 다양한 입력을 통해 사용자 친화적인 방식으로 머신러닝을 학습할 수 있는 장점이 있다. 그림 10은 Teachable Machine을 활용한 작업자 자세 모델링 과정이다.
Fig. 10. Modeling worker posture using Teachable Machine
작업자 자세 모델링 과정은 그림 6의 ❷와 ❸과정을 수행한다.
3. Web Platform Implementation
작업자의 동작을 3D 캐릭터 애니메이션으로 시각화하는 기능을 제공하는 Web Platform은 React로 구현한다. 작업자 자세 3D 애니메이션 시각화 과정은 그림 11과 같다.
Fig. 11. 3D animation visualization process of worker posture
그림 11에서는 아래 그림 12와 같은 타임라인에 따라 작업자 자세를 3D 캐릭터 애니메이션으로 재생한다.
Fig. 12. Worker 3D Character Animation Postures According to the Timeline
Web Platform을 구현한 소스는 표 3과 같다.
Table 3. Web Platform source code
Web Platform은 그림 6의 ❹과정을 수행한다.
V. Conclusions
본 논문에서는 작업자 근골격계 평가 플랫폼을 설계하고 구현하였다. 이 작업자 근골격계 평가 플랫폼을 구성하는 3가지 핵심 구성요소는 Mobile App, Modeling Server, Web Platform이다. Mobile App은 Android platform 기반의 애플리케이션으로 카메라를 사용하여 작업자의 다양한 동작 데이터를 측정하여 Modeling server로 전송하도록 구현하였다. Modeling Server는 모바일 앱에서 측정한 작업자의 동작 데이터인 포인트와 스켈레톤, x, y, z 좌표 데이터를 다차원 배열로 변환하고, TensorFlow와 Keras 등의 머신러닝 프레임워크를 적용하여 작업자의 자세를 예측한다. 그리고 Teachable Machine을 사용하여 작업자 자세 학습 모델을 구축하였다. Web Platform은 작업자의 동작을 타임라인에 따라 3D 애니메이션으로 시각화하는 기능을 제공하도록 구현하였다. 본 논문에서 설계하고 구현한 머신러닝 기반의 작업자 근골격계 평가 플랫폼은 산업체 현장에서 발생하는 작업자 근골격계질환을 최소화하는 데 이바지할 것으로 기대한다. 향후 연구과제는 작업자의 자세 예측 학습 모델의 정확도를 높이는 것이다.
References
- https://www.kosha.or.kr/kosha/business/musculoskeletal_a_a.do
- N.S. Kim, Y.B. Kim, "Analysis of Trends in Patients with Work-related Musculoskeletal Disorders and Literature Review of Risk Factors and Prevalence," Journal of Korean Society of Occupational and Environmental Hygiene, Vol. 33 No. 3, pp. 298-307, Sept. 2023 https://doi.org/10.15269/JKSOEH.2023.33.3.298
- https://oshri.kosha.or.kr/kosha/data/industrialDisasterStatistics.do? mode=view&articleNo=450460&article.offset=0&articleLimit=10
- O. Karhu, R. Harkonen, P. Sorvali, P. Vepsalainen, "Observing working postures in industry: Examples of OWAS application," Applied Ergonomics, Vol. 12, Issue 1, pp. 13-17, Mar. 1981 https://doi.org/10.1016/0003-6870(81)90088-0
- W. H. Cheon, K. H. Jung, "Analysis of Accuracy and Reliability for OWAS, RULA, and REBA to Assess Risk Factors of Work-related Musculoskeletal Disorders," Journal of the Korea Safety Management & Science, Vol. 22 Issue. 2, pp. 31-38, June 2020 http://dx.doi.org/10.12812/ksms.2020.22.2.031
- Lynn McAtamney, E. Nigel Corlett, "RULA: a survey method for the investigation of work-related upper limb disorders," Applied Ergonomics, Vol. 24 Issue. 2, pp. 91-99, Apr. 1993 https://doi.org/10.1016/0003-6870(93)90080-S
- https://www.TensorFlow.org
- https://scikit-learn.org
- https://www.TensorFlow.org
- https://pytorch.org/
- https://developer.android.com/studio
- https://teachablemachine.withgoogle.com/