DOI QR코드

DOI QR Code

Comparison of Deep Learning Based Pose Detection Models to Detect Fall of Workers in Underground Utility Tunnels

딥러닝 자세 추정 모델을 이용한 지하공동구 다중 작업자 낙상 검출 모델 비교

  • Jeongsoo Kim (Korea Institute of Civil Engineering and Building Technology)
  • 김정수
  • Received : 2024.03.07
  • Accepted : 2024.04.08
  • Published : 2024.06.30

Abstract

Purpose: This study proposes a fall detection model based on a top-down deep learning pose estimation model to automatically determine falls of multiple workers in an underground utility tunnel, and evaluates the performance of the proposed model. Method: A model is presented that combines fall discrimination rules with the results inferred from YOLOv8-pose, one of the top-down pose estimation models, and metrics of the model are evaluated for images of standing and falling two or fewer workers in the tunnel. The same process is also conducted for a bottom-up type of pose estimation model (OpenPose). In addition, due to dependency of the falling interference of the models on worker detection by YOLOv8-pose and OpenPose, metrics of the models for fall was not only investigated, but also for person. Result: For worker detection, both YOLOv8-pose and OpenPose models have F1-score of 0.88 and 0.71, respectively. However, for fall detection, the metrics were deteriorated to 0.71 and 0.23. The results of the OpenPose based model were due to partially detected worker body, and detected workers but fail to part them correctly. Conclusion: Use of top-down type of pose estimation models would be more effective way to detect fall of workers in the underground utility tunnel, with respect to joint recognition and partition between workers.

연구목적: 본 연구는 지하공동구 내 다수 작업자의 낙상을 자동으로 판별하기 위한 Top-down 방식의 딥러닝 자세 추정 모델 기반 낙상 검출 모델을 제안하고, 제안 모델의 성능을 평가한다. 연구방법: Top-down 방식의 자세 추정모델 중 하나인 YOLOv8-pose로부터 추론된 결과와 낙상 판별 규칙을 결합한 모델을 제시하고, 지하공동구 내 2인 이하 작업자가 출현한 기립 및 낙상 이미지에 대해 모델 성능지표를 평가하였다. 또한 동일한 방법으로 Bottom-up 방식 자세추정모델(OpenPose)을 적용한 결과를 함께 분석하였다. 두 모델의 낙상 검출 결과는 각 딥러닝 모델의 작업자 인식 성능에 의존적이므로, 작업자 쓰러짐과 함께 작업자 존재 여부에 대한 성능지표도 함께 조사하였다. 연구결과: YOLOv8-pose와 OpenPose의 모델의 작업자 인식 성능은 F1-score 기준으로 각각 0.88, 0.71로 두 모델이 유사한 수준이었으나, 낙상 규칙을 적용함에 따라 0.71, 0.23로 저하되었다. 작업자의 신체 일부만 검출되거나 작업자간 구분을 실패하여, OpenPose 기반 낙상 추론 모델의 성능 저하를 야기한 것으로 분석된다. 결론: Top-down 방식의 딥러닝 자세 추정 모델을 사용하는 것이 신체 관절점 인식 및 개별 작업자 구분 측면에서 지하공동구 내 작업자 낙상 검출에 효과적이라 판단된다.

Keywords

서론

연구배경 및 목적

지하공동구는 도심지의 사회 기반 인프라를 밀집 수용해 놓은 지하시설물로 상하수관거, 전력선 등이 배치되어 있어 특성상 관리 연장이 용도 및 수용범위에 따라 최대 25km에 이른다. 중요 시설이 배치되어 있어 관리지침에 따라 관리인력이 하루 한 차례 순찰을 의무적으로 수행하고 있고, 내수 시설물의 유지보수를 위해 외부 작업자가 출입하기도 한다. 지하공동구 내부는 작업 인원이 보행할 수 있도록 통로가 마련되어 있으나 좁고 복잡하게 연결되어 있고, 중간중간 배치된 환기구만으로는 원활한 내부 공기 흐름이 어려운 환경이다. 또한 계절에 따라 고온·다습한 조건이 되어 작업자의 고온질식이나 미끄러짐 등의 사고 유발 요인이 존재하며, 하수관이나 가스관이 포함된 공동구의 경우 유해가스가 발생하기도 한다. 이러한 이유로 지하공동구 내 작업자 안전사고는 꾸준히 발생하고 있으며(Kim et al., 2023b), 이들 사례는 지하공동구 작업 환경 개선 및 작업자의 이상상황을 감지해 초동 대응하기 위한 시스템 마련이 필요함을 보여준다. 이러한 이유로 지하공동구 관제센터에서 CCTV 등을 활용해 공동구 내부 상황을 모니터링하고 있으나, 관제 인원에 의해 영상이 연속적으로 감시되는 것은 현실적인 어려움이 있어, 의식불명에 이른 공동구 작업자를 조기에 파악하는데 한계가 있다. 따라서 지하공동구 작업자의 이상 상황을 실시간으로 파악하기 위한 시스템 마련이 필요하다.

다중 인원의 딥러닝 기반 쓰러짐 검출 기술 필요성

최근 딥러닝 기술의 발전으로 재난 안전 분야의 이미지 기반의 객체 인식 기술의 적용이 활발히 이뤄지고 있으며, 지하공동구 또한 안전관리를 위해 해당 기술을 적용하려는 연구들이 이뤄지고 있다. Kim et al.(2020a, 2022)는 지하공동구의 열약한 영상 조건에서 객체 검출 성능을 향상시키기 위한 딥러닝 구조를 제안하고, 이에 기반한 지하공동구 불꽃 및 연기 검출 딥러닝 모델을 제안하였다. Park et al.(2022)은 지하공동구 내 시설물 상태 판별을 위해 Darknet 기반의 시설물 검출 모델을 구축하고 소화기 검출에 활용하였고, Kim et al. (2023a)은 YOLOv5를 활용해 지하공동구 내 제어반의 문열림을 판별하는 모델을 생성하고 적용성을 평가하였다.

사람의 쓰러짐 검출과 관련한 딥러닝 연구는 키포인트(Key Point: KP) 기반의 모델이 다수로, 관련 연구의 기본 아이디어는 KP모델로부터 추론된 신체 부위 간의 절대·상대적 위치 관계(Yun et al., 2020; Park et al., 2021; Gao et al., 2022), 시계열 정보(Kim et al., 2020b; Si et al., 2020; Yadav et al., 2022; Beddiar et al., 2022; Li et al., 2023), 또는 위치 관계 및 시계열 정보를 모두 사용해(Hirschorn et al., 2020); Chen et al., 2020; Kim et al., 2024) 쓰러짐을 비롯한 사람의 자세를 추정하는 것이다. 그간 건설 및 조선소 등의 산업현장, 노약자 보호시설의 내부인원의 쓰러짐 판별에 적용되었으나 최근에 지하공동구 작업자 낙상 식별을 위한 연구도 수행된 바 있다 (Kim et al., 2023b). 이들 연구는 사람이 쓰러지는 등의 이상상황을 KP 모델을 활용해 실시간으로 탐지하기 위한 방법을 제안했다는 점에서 의미가 있으나, 단일 인원에 대해서만 제안된 방법의 검증이 이뤄져 다중 인원에 대한 적용성을 판단하기 어렵다. 특히 지하공동구의 경우 2명으로 구성된 순찰조가 내부를 순시하도록 규정되어 있어, 2명 이상 인원에 대한 기존 KP 기반의 쓰러짐 추론 모델의 유효성을 분석하고, 이를 개선하기 위한 방법을 모색할 필요가 있다. 이러한 이유로 본 연구는 지하공동구 환경 작업 인원을 대상으로 낙상 추론 규칙이 적용된 Top-down 및 Bottom-up 방식의 자세 평가 모델의 낙상 검출 성능을 분석하고자 한다. 이를 위해 YOLOv8-pose와 OpenPose 모델 기반 낙상 검출 모델을 2인 작업자가 출현한 지하공동구 영상에 적용해 감지 성능을 평가하였다.

KP 기반 작업자 낙상 검출 모델

Top-down vs Bottom-up pose detection: YOLOv8-pose and OpenPose

Top-down 방식의 KP 모델은 이미지에서 먼저 사람으로 추정되는 영역을 검출하고, 해당 영역에 한정하여 신체부위(Joint)를 탐색한다. 객체로 국한된 영역에 대해 객체별 Joint를 추론해 연결 관계를 추론하므로, 다중 객체의 추론 정확성을 높일 수 있으며 YOLOv8-pose 등이 이 방식에 해당한다(Kim et al., 2024; Maji et al., 2022). 한편, Bottom-up 방식은 이와달리 이미지 전체에서 Joint를 찾고 Part Affinity Fields(PAFs)를 통해 Joint 간 상관 관계를 추정하는 방식이다(Cao et al., 2017). 사람에 대한 검출 과정이 생략되기 때문에 Top-down 방식 대비 처리속도 측면에서 강점이 있다. 이 방식을 사용한 모델 중 하나가 OpenPose이며, 앞서 서술한 기존 연구 대부분 이 모델을 사용하고 있다(Kim et al., 2023b; Yun et al., 2020; Park et al., 2021; Gao et al., 2022; Kim et al., 2020b; Si et al., 2020; Yadav et al., 2022; Beddiar et al., 2022; Chen et al., 2020).

KP 기반 낙상 검출 모델은 딥러닝 모델로부터 KP 정보가 제대로 추출되어 있음을 전제로 하므로, 낙상 검출 모델을 2인 이상의 지하공동구 작업자 낙상 판별에 적용하기 위해서는 작업자 간 구분이 중요하다. Fig. 1은 YOLOv8-pose와 OpenPose를다중 인원이 야외에서 보행하는 이미지에 적용한 결과로 OpenPose가 다중 인원 상황에 따라 개별 객체를 제대로 구분하지 못하는 상황을 보여준다. Fig. 1(a)는 이미지 내 4명의 사람을 검출하고 해당 인원에 대한 Joint를 정확히 추론해 냈으나, Fig. 1(b)는 원거리에 위치한 사람을 구분하지 못해 사람을 3명으로 인식하였고, 신체 부위를 잘못 추론하고 있다. 이는 OpenPose가 전체 영역에서부터 Joint 간 상관관계를 먼저 추론하고, 이후 개체를 구분하는 방법을 채택하고 있기 때문이다. 많은 적용사례에서 OpenPose가 단일 인원뿐만 아니라 다중 인원에 대해서도 우수한 인식 성능을 가진 것으로 보고되고 있으나 지하공동구 CCTV 등에 의해 촬영된 이미지가 어둡고 작업 인원이 주변 지형지물에 의해 가려진다는 점을 고려할 때(Kim et al., 2023b), 보다 우수한 성능의 KP 모델 적용이 필요하다.

Fig. 1. Results of pose detection from YOLOv8-pose and OpenPose

YOLOv8-pose와 OpenPose

2023년4월에 발표된 YOLOv8-pose는 COCO 데이터셋으로 학습된 YOLOv8을 활용한 모델로, 구성 레이어 수 및 파라미터 수를 달리한 경량 및 고성능 모델을 제공한다(Jocher, 2023). YOLOv8은 EfficientNet(Tan et al., 2019)을 백본으로 사용하고 Anchor-free 객체 감지를 도입함으로써 기존 YOLOv5 대비 정확도 및 속도를 크게 향상시켰다. YOLOv8-pose모델은 YOLOv8을 통한 객체 감지를 수행한 후 개별 영역에 대해 Joint를 감지하므로, 다중 인원의 자세 추정을 위한 KP 추론에 대해 장점을 가질 수 있다. YOLOv8-pose는 Fig. 2(a)와 같이 사람의 신체를 17개 Joint로 나타낸다. 본 논문은 YOLOv8-pose 모델 가운데 OpenPose의 BODY-25모델(105 Mb)의 가중치 파일과 유사한 크기를 갖는 Extra Large 모델(YOLOv8x-pose, 133 Mb)을 활용하였다.

Fig. 2. Joints of Pose models: COCO keypoint 2017 and BODY-25

한편 사용된 OpenPose의 자세 추정모델은 Fig. 2(b)와 같이 25개 절점으로는 구성된다. OpenPose는 VGG-19를 수정한 백본을 기본으로 사용하고(Cao et al., 2017), 다른 백본을 사용한 변형 사례도 다수 존재한다. 백본으로부터 Joint의 탐색 및 Joint 간 연결 관계 및 개체 간 구분 영역을 추정하며, YOLOv8-pose와 마찬가지로 COCO 데이터셋으로 사전 학습된 모델이 공개되어 있다. 본 논문은 VGG-19 백본을 사용한 Pytorch 기반의 OpenPose를 사용하였다.

딥러닝 자세 추정 모델 기반 쓰러짐 판별 모델

OpenPose 및 YOLOv8-pose 모델은 사람의 자세만 추론할뿐 사람의 상태까지 판별하지 않는다. 이러한 이유로 기존 쓰러짐 등의 자세 추정 연구들은 딥러닝 모델로부터 추론된 KP의 상대적 위치 관계 또는 이력 정보를 활용해 쓰러짐을 판단하고 있다. KP 추론 이후 상태 판단이 이뤄지므로 KP의 추론 성능을 높일 수 있도록 관련 학습데이터를 구축해 검출 환경에 최적화될 수 있도록 모델 학습을 수행할 수 있으나, 데이터 구축에 어려움이 있고 COCO 데이터셋 등에 방대한 데이터를 활용한 사전 훈련 모델이 있는 경우 이를 활용하기도 한다. 지하공동구는 조도가 낮아 이미지 품질이 딥러닝 이미지 분석에 불리하고, CCTV 촬영 각도 등으로 인해 기립 또는 낙상 상태의 작업자의 신체 일부가 가려지는 경우가 필연적으로 발생한다. 따라서 해당 환경에 맞는 데이터를 구축해 KP 추론 성능을 높이는 것이 필요하겠으나, 지하공동구는 보안시설로 관련 작업자의 다양한 자세를 포함한 데이터 구축에 한계가 있으며, 구축하더라도 모델의 과적합이 없도록 충분한 양을 확보하기에는 어려움이 있다. 따라서 본 논문은 COCO 데이터셋으로 사전 훈련된 YOLOv8x-pose와 OpenPose-BODY25를 사용하여 지하공동구 작업자의 신체 부위에 대한 KP 추론 결과를 얻는다. 모델 추론에 필요한 하이퍼파라미터는 기본 설정값을 사용하였다.

추론 결과에 기반해 작업자의 낙상을 판별할 수 있도록 Kim et al.(2023b)이 제안한 군집화 Joint 낙상 규칙을 차용하여 작업자의 쓰러짐을 최종 판별하도록 하였다(Fig. 3). 단, 해당 연구는 OpenPose에서 사용되는 25개 Joint로 구성된 신체 모델을 사용해 낙상을 판별하므로, Table 1과 같이 군집화 낙상 규칙에 적용되는 Joint를 수정 적용하였고, 3가지 낙상 규칙 중 하나 이상 조건을 충족하면 낙상으로 판정하였다. 참고로 YOLOv8-pose는 중간점(Openpose의 P0, P8)과 발목 이하 KP를 사용하지 않는다는 점에서 OpenPose의 BODY-25모델과 대비된다. 이 때문에 중간점이 YOLOv8-pose의 KP 추론을 통해 획득되지 않으며, 낙상 규칙 적용을 위해 Table 1과 같이 각 군집화 대표점(Main point)을 평균 계산으로 결정한다. 만약 작업자가 감지되었으나, 대표점이 충분히 생성되지 않아 낙상 규칙을 적용하지 못하면 정상으로 간주하였다.

Fig. 3. Fall down rules

Table 1. KP group for fall detection(P: Point number)

제안 모델의 지하공동구 다중 작업자 낙상 검출 실험

실험데이터 구축 및 성능평가 방법

청주시설관리공단이 운영하는 ○○공동구의 협조를 통해 전력구 내부에서 2인의 작업자가 기립 및 낙상을 반복한 연출 영상을 획득하였다. 해당 전력구 구간은 Fig. 4(a)와 같이 내부 높이 2.1m, 가로 폭 1.6m~1.8m의 암거로, 한쪽 벽면을 따라 전력선이 통로 방향으로 2개 층에 걸쳐 길게 배치되어 있으며 조명 시설은 소비전력 18W의 중앙 천정형 형광등기구가 5m 간격으로 배치되어 있다. 동일 현장에서 촬영된 Lim et al.(2023)에 따르면 해당 전력구의 형광등기구 바로 아래서 측정된 조도는 약 50lx~65lx이지만, 2.5m 이격된 지점에서 9lx~12lx로 감소된다. 참고로 지하주차장의 최소 요구 조도는 10lx이며, 주변 사물의 인지 및 범죄예방을 위해 보통 50lx 이상을 확보하도록 설계하고 있어, 지하공동구 촬영 구역은 일반 환경 대비 어두운 환경에 속한다. 지하공동구 내부는 조명 기기를 작동시켰을 때 육안으로 작업자를 식별할 수 없는 조건은 아니나, 신체 부위 등이 겹쳤을 때 부위 간 윤곽선이 명확히 구분되지 않아 촬영된 이미지는 일반 환경 대비 작업자의 신체 부위를 딥러닝 모델이 구분하기 불리한 조건이다. 카메라의 설치 위치는 형광등기구가 설치된 지점()에서 바닥면으로부터 1.5m 높이에 위치하도록 간이 제작한 지지대에 고정하였다(Fig. 4(b)). 또한 촬영 시작 전에 카메라로부터 5m 간격으로 이격된 지점을 표기하여(Fig. 4(c)), 카메라로부터 이격 거리에 따른 작업자 인식 및 낙상 검출 성능을 확인하고자 하였다.

Fig. 4. Data acquisition environment and preparation

영상 촬영을 위해 1대의 카메라를 사용하였고, 안전모, 작업 조끼를 착용한 인원 2명이 1개 조를 이루어 약 5m~15m 지점에서 낙상과 기립을 반복하도록 하였다. 촬영 시작 시 2명의 작업자는 5m 지점과 15m 지점에 각각 위치하고, 통로 방향(전/후) 및 통로 횡 방향(좌/우)으로 쓰러진다. 쓰러진 이후 작업자는 쓰러진 상태로 자유롭게 자세를 취할 수 있으나, 기립 시 반드시 완전 기립 자세를 취한 후 잔여 방향으로 쓰러지도록 지시하였다. 각 작업자가 지점별로 연출 동작을 완료하면, 작업자간 위치가 서로 교차 되도록 통로 방향으로 5m 간격으로 이동해 동일한 과정을 반복하였다. 해당 방법으로 2개 영상을 촬영하였으며, 각 영상은 작업자의 자유로운 낙상 자세 외에 영상 간 차별성을 가질 수 있도록 인원 교체 시 안전모 색상, 작업조끼 착용 및 색상 조건을 달리하였다.

영상으로부터 초당 1개 프레임으로 이미지를 추출해 전체 1,410장의 이미지에 대해 실험을 수행하였다. 이미지 데이터 대부분에서 2인의 작업자가 출현하나(1,202장), 전방 작업자가 후방 작업자를 완전히 가리거나 전방 작업자가 카메라에 근접해 사실상 1인 작업자만 출현하는 이미지(100장) 및 작업 인원이 없는 이미지(108장)도 함께 포함된다. 한편, 낙상 작업자로만 구성된 이미지와 정상 작업자로만 구성된 이미지는 각각 619장, 272장이며, 작업자 상태가 혼재된 이미지는 411장이다.

이미지 내 작업자가 최대 2명이므로, 개체 단위로 모델의 성능지표를 도출할 필요가 있다. 전체 이미지 1,410장에 대해 작업자 개체는 2,504개이며, 이 가운데 낙상 개체는 1,641개이다. 모델의 성능지표는 개체 단위로 집계하여 오차행렬 및 성능지표를 산출하였다.

사전 훈련 모델의 지하공동구 작업자 검출 성능 비교

제안 모델의 쓰러짐 판별 성능이 사전 훈련 모델의 작업자 검출 성능에 의존적이므로, 사전 훈련 모델의 작업자 검출 성능을 먼저 확인하였다. 개체 단위로 작업자 인식 결과를 집계해 Table 2와 Table 3과 같이 오차행렬 및 모델 성능지표를 도출하였으며, 두 모델의 성능 차이 및 오탐 특성을 비교할 수 있도록 일부 이미지에 대한 각 딥러닝 모델의 작업자 인식 결과를 Fig. 5에 나타내었다. Fig. 5에 나타낸 바와 같이 오탐 및 미탐 사례가 존재하나, OpenPose와 YOLOv8-pose 모델의 지하공동구 작업자 인식 성능은 F1-score 기준으로 각각0.71과 0.88 나타났으며, 단지 COCO 데이터셋으로 사전 훈련된 모델을 사용하였다는 점을 감안할 때, 영상에 나타난 지하공동구(전력구) 환경의 작업자 인식에 대해 양호한 성능지표를 가진다고 판단된다.

Table 2. Confusion matrix from OpenPose and YOLOv8 for worker detection

Table 3. Metrics of OpenPose and YOLOv8 for worker detection(TP: True Positive, FP: False Positive, TN: True Negative, FN: False Negative, P: Precision, R: Recall)

Fig. 5. Interference samples of OpenPose and YOLOv8-pose for worker detection

Table 2의 오차행렬에 나타난 바와 같이 작업자를 올바르게 인식한 사례가 다수 확인되며(TP, TN), 이미지 내 작업자가 존재하지 않는 경우를 작업자가 있는 것으로 오탐한 사례는 확인되지 않았다(FP). 그러나 Fig. 5에 나타난 바와 같이 OpenPose 모델의 작업자 인식 성능이 YOLOv8-pose에 비해 떨어졌으며, 작업자가 카메라로부터 원거리(15m)에 있는 경우나, 전방 작업자 및 쓰러진 자세 등에 의해 작업자의 신체 일부가 가려졌을 때 인식 성능이 떨어지게 되는 것으로 파악된다(FN). FN과 관련하여 작업자를 미탐한 결과가 대부분이나, 작업자를 부적절하게 인식한 일부 사례가 자주 확인되었다. 먼저 OpenPose는 Bottom-up 방식으로 작업자를 구분하게 되므로, Fig. 5(b)-(d)와 같이 작업자의 주요 신체 부위를 감지하였음에도 작업자 간 구분이 부적절하게 된 경우가 발생하고, 신체의 일부만 감지된 경우도 다수 확인되었다. 한편 YOLOv8-pose 는 작업자에 해당하는 영역을 감지한 이후 KP를 추론하기 때문에 OpenPose와 같은 오탐 사례는 확인할 수 없으며, 대부분 작업자를 미탐하여 FN으로 분류되었다. 발생 사례가 많지 않으나, 작업자의 수를 실제보다 과탐한 경우도 확인되었다(OpenPose: 19건, YOLOv8-pose: 37건). OpenPose가 작업자를 실제보다 많게 예측한 경우는 Fig. 5(d)와 같이 작업자의 신체를 제대로 구분하지 못해 발생하였고, YOLOv8-pose는 단일 작업자를 중복 인식하거나 신체 일부분만 검출한 것에 기인한다. 일례로 Fig. 5(e)의 YOLOv8-pose는 쓰러진 작업자를 모두 인식 해냈으나, 전방 작업자를 2번 인식하였다. 해당 그림은 두 개의 KP 결과가 중첩되어 있어, 육안으로 볼 때 올바르게 작업자가 인식된 것으로 보일 수 있으나 실제 전방 작업자의 인식 결과는 상·하체가 모두 인식된 결과와 상체만 인식된 결과가 중첩되어 있어 모델이 인식한 작업자는 3명이다. 이러한 문제는 모델 추론 시 신뢰도(Confidence Threshold) 및 중첩 영역 비(Intersection over Union: IoU)등의 임곗값을 지하공동구 작업자 이미지에 맞게 최적화함으로써 최소화할 수 있으나, 작업자 인식률 저하에도 영향을 미칠 수 있으므로 모델의 추론 성능 변화를 분석해 최종적으로 결정할 필요가 있다.

작업자 쓰러짐 검출 모델 적용 결과

OpenPose 및 YOLOv8-pose 기반 쓰러짐 검출 모델을 활용해 지하공동구 작업자의 쓰러짐을 판별하였다. Table 4에 나타낸 바와 같이 OpenPose 낙상 검출 모델은 작업자의 낙상을 미탐한 경우(FN)가 많고, YOLOv8-pose 낙상 검출 모델은 정상인 작업자를 오탐한 경우가 다수 확인된다(FP). 전자의 경우, 사람 인식에 대한 재현율이 0.55로 낮기 때문으로 낙상 검출모델이 낙상 규칙 자체를 적용할 수 없었기 때문으로 판단된다. 반면 후자의 경우, 사람 인식에 대한 재현율이 0.78로 높아 낙상을 미탐한 경우는 적었으나 여러 낙상 규칙 중 1개 이상 충족되면 모두 낙상으로 판별하였기 때문에, 쭈그려 앉는 자세 등 낙상과 기립이 모호한 중간 전이 자세에 대해 오탐이 발생하였다.

Table 4. Confusion matrix from OpenPose and YOLOv8 for fallen worker detection

Table 5에 작업자 낙상 검출에 대한 모델별 성능지표를 정리하였다. 두 모델 모두 정밀도가 0.8 수준으로 높은 편으로 작업자 인식 결과가 낙상 규칙 적용이 가능한 수준으로 이뤄지면, 쓰러진 작업자 판별에는 어려움이 없다고 분석된다. 그러나 OpenPose는 작업자 인식 성능이 낮아 낙상에 대해 0.14의 재현율을 나타냈고 결과적으로 F1-score 0.23으로 평가되었다. 따라서 COCO 데이터셋으로 사전 훈련된 OpenPose 낙상 검출 모델은 제 기능을 수행하기 어려울 것으로 판단된다. 반면 YOLOv8-pose 낙상 검출 모델은 정밀도와 재현율이 유사하였고, F1-score도 작업자 인식 대비 19%만 감소하여 0.71로 평가되었다. 또한 작업자 인식 대비 낙상 검출 성능 저하가 크지 않으므로 Fig. 3에서 제안된 낙상 규칙이 대부분의 이미지에서 유효하게 작용하고 있다고 판단할 수 있다. 따라서 지하공동구 작업자의 낙상을 상대적으로 잘 판별할 수 있을 것으로 판단되며, 낙상 추론 규칙 적용의 강도나 일부 규칙 보완 등을 통해서도 낙상 검출 성능 개선이 가능할 것으로 기대된다.

Table 5. Metrics of OpenPose and YOLOv8 for fallen worker detection(TP: True Positive, FP: False Positive, TN: True Negative, FN: False Negative, P: Precision, R: Recall)

추가로 낙상 검출 결과에 대한 정성적 분석을 위해 Fig. 6에 YOLOv8-pose 낙상 모델의 샘플 결과 일부를 나타내었으며, 비교를 위해 해당 이미지에 대응하는 OpenPose의 결과도 함께 제시하였다. 여기서 머리, 골반, 발목부의 대표점은 각각붉은색, 녹색, 노란색으로 표현되며, 딥러닝 모델에 의해 인식된 작업자의 키포인트 결과를 토대로 낙상규칙에 따른 추론 결과에 따라 좌측 상단에 감지된 작업자 인원 수, 각 작업자의 상태 구분(Normal/Fall) 결과를 표출하게 하였다. 또한 그림 하단에 모델의 최종 추론 결과의 판단 근거(개별 낙상규칙 추론 결과)도 함께 나타내었다. Fig. 6에서 확인할 수 있듯이 작업자에 대한 KP가 제대로 추론된 경우, YOLOv8-pose의 TP, TN 사례와 같이 Fig. 3에 제시된 낙상 규칙이 유효하게 작동하고 있음을 확인할 수 있다. 대체로 카메라에서 멀어질수록 작업자 미탐이나 신체 일부의 정보만 활용하게 되므로 낙상 판별 결과가 부정확하게 되는 경향은 존재하였으나, YOLOv8-pose은 사람의 신체를 특징할 수 있는 얼굴 및 팔다리 등이 가려지거나 원거리에 작업자가 위치한 경우에도 낙상 판별에 필요한 대표점 형성이 잘 이뤄졌으며 낙상을 올바르게 판별한 경우가 종종 확인되었다. 추가로 주저앉거나 쭈그린 자세와 같이 쓰러짐과 정상이 모호한 이미지에 대해 FP와 같이 오탐한 사례가 존재하였다. 다만, 해당 사례는 쓰러짐을 어떻게 정의하는가에 따라 정오가 달라질 수 있다. 참고로 본 논문의 데이터셋은 작업자가 완전히 쓰러진 경우만 낙상이라고 데이터셋을 구축하여 해당 추론 결과가 FP로 분류된 것이며, 만약 기립에서 낙상으로 전이하는 과정도 쓰러짐으로 데이터셋을 구분하였다면, TP로 분류된다.

Fig. 6. Interference samples of OpenPose and YOLOv8-pose for fallen worker detection (N: Normal, F: Fall)

모델 성능지표 비교 및 샘플 결과에 대한 정성적 분석을 통해 YOLOv8-pose 낙상 검출 모델이 OpenPose 낙상 검출 모델보다 작업자 낙상 검출에 적합한 것으로 확인되었으나, Table 4에서 확인된 바와 같이 YOLOv8-pose도 오탐이 적지 않아 실 적용을 위해 추가적인 개선이 필요할 것으로 사료된다. 특히 통로 방향 쓰러짐이나 신체부위가 가려지는 경우 낙상 판별을 위해 대표점 및 벡터 생성에 어려움이 있어 지하공동구 환경과 다른 이미지 데이터로 사전 훈련한 낙상 검출 모델만으로는 한계가 있으므로, 다양한 CCTV의 위치, 화각, 거리, 조명 특성 등이 반영된 지하공동구 작업자 이미지를 학습해 모델의 작업자 인식 성능을 개선해야 한다. 또한 통로 방향 쓰러짐에 대한 낙상 규칙 보완이 필요하다. Fig. 6의 FN에 나타난 바와 같이 통로방향 쓰러짐이 카메라에 대해 근거리에서 발생한 경우 Rule 3이 유효하게 작용하지 못할 가능성이 높고, Rule 1과 Rule 2가 바르게 작동하였음에도 작업자의 통로 방향 쓰러짐을 인식해내지 못하는 결과가 확인되었다. 참조 벡터의 도입만으로는 통로 방향 쓰러짐을 모두 검출하기에 한계가 있으며, 이를 보완할 수 있는 낙상 규칙의 마련 등이 있어야 한다.

결론

본 논문은 지하공동구의 다중 작업자의 낙상을 자동으로 감지하기 위해 OpenPose 및 YOLOv8-pose의 사전 훈련된 딥러닝 자세 추정 기반의 낙상 판별 모델을 제시하고, 해당 모델의 낙상 검출 성능을 정량·정성적으로 조사하였다. 지하공동구 환경의 2인 작업자에 대한 두 모델의 감지 성능을 비교하였으며, 쓰러짐 판별 규칙을 적용했을 때의 성능도 함께 분석하였다.

사전 훈련된 자세 추정 모델을 사용했음에도 OpenPose 및 YOLOv8-pose 모델의 작업자 인식 성능은 F1-score 기준으로 0.71과 0.88로 양호하게 나타났다. 그러나 OpenPose의 경우 작업자 간 경계 구분에 실패하거나 신체 일부만 인식하는 사례가 다수 발생하여, 낙상 규칙 적용에 제한적이었다. 반면 YOLOv8-pose는 OpenPose과 달리 작업자 간 경계 구분 문제가 발생하지 않았고 작업자 인식 성능도 양호하여 지하공동구 작업자 인식에 효과적인 방법으로 조사되었다. 작업자 인식 결과에 근간한 낙상 모델은 작업자 인식 성능 제한과 함께 일부 통로 방향 낙상에 대해 검출이 제한적이었다. 그 결과 OpenPose 및 YOLOv8-pose 활용 낙상 검출 모델의 성능은 각각 0.23과 0.71로 저하되었으나, YOLOv8-pose 낙상 모델은 낙상 추론에 필요한 KP 데이터가 생성된 경우 낙상을 잘 판별해 내었고 전체 낙상 개체 중 64%를 올바르게 검출하였다. 따라서 제안된 모델이 작업자 인식 성능 개선 및 일부 낙상 규칙 보완을 통해 요구 성능을 확보할 수 있을 것으로 기대되며, 향후 작업자 인식률을 높이기 위한 데이터 확보 및 훈련과 함께 신규 낙상 판별 규칙 고안 등의 후속 연구가 필요할 것으로 판단된다.

Acknowledgement

본 논문은 2024년도 정부(과학기술정보통신부, 행정안전부, 국토교통부, 산업통상자원부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구입니다(No.2020-0-00061, 디지털트윈 기반의 지하공동구 화재·재난 지원 통합플랫폼 기술개발). 아울러 그간 영상 촬영에 협조해주신 청주시설관리공단 관계자, 한국건설기술연구원과 이안에스아이티참여 연구진께도 감사 드립니다.

References

  1. Beddiar, D.R., Oussalah, M., Nini, B. (2022). "Fall detection using body geometry and human pose estimation in video sequences." Journal of Visual Communication and Image Representation, Vol. 82, 103407.
  2. Cao, Z., Hidalgo, G., Simon, T., Wei, S.-E., Sheikh, Y. (2017). "Realtime multi-person 2d pose estimation using part affinity fields." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, US, pp. 7291-7299.
  3. Chen, W., Jiang, Z.,Guo, H., Ni, X. (2020). "Fall detection based on key points of human-skeleton using OpenPose." Symmetry, Vol. 12, No. 5, 744.
  4. Gao, M., Li, J., Zhou, D., Zhi, Y., Zhang, M., Li, B. (2022). "Fall detection based on OpenPose and MobileNetV2 network." IET Image Processing, Vol. 17, No. 3, pp. 722-732.
  5. Hirschorn, O., Avidan, S. (2020). "Normalizing flows for human pose anomaly detection." In Proceedings of the IEEE/CVF International Conference on Computer Vision, Seattle, US, pp. 13545-13554.
  6. Jocher, G. (2023). YOLOv8 by Ultralytics https://github.com/ultralytics/ultralytics
  7. Kim, G., Kim, J., Jung, W.-S. (2023a). "Deep learning-based object detection of panels door open in underground utility tunnel." Journal of The Korean Society of Disaster Information, Vol. 19, No. 3, pp. 665-672. (In Korean)
  8. Kim, J., Kim, B., Lee, H. (2024). "Fall recognition based on time-level decision fusion classification." Applied Sciences, Vol. 14, No. 2, 709.
  9. Kim, J., Lee, C.-W., Park, S.-H., Lee, J.-H., Hong, C.H. (2020a). "Development of fire detection model for underground utility facilities using deep learning: Training data supplement and bias optimization." Journal of Korea Academia-Industrial Cooperation Society, Vol. 21, No. 12, pp. 320-330. (In Korean)
  10. Kim, J., Park, S., Hong, C. (2023b). "A study on falling detection of workers in the underground utility tunnel using dual deep learning techniques." Journal of The Korean Society of Disaster Information, Vol. 19, No. 3, pp. 498-509. (In Korean)
  11. Kim, J., Park, S., Hong, C., Park, S.-H., Lee, J. (2022). "Development of AI detection model based on CCTV image for underground utility tunnel." Journal of The Korean Society of Disaster Information, Vol. 18, No. 2, pp. 364-373. (In Korean)
  12. Kim, J.-H., Choi, J.-H., Park, Y.-H., Nasridinov, A. (2020b). "Abnormal situation detection on surveillance video using object detection and action recognition." Journal of Korea Multimedia Society, Vol. 24, No. 2, pp. 186-198. (In Korean)
  13. Li, J., Gao, M., Li, B., Zhou, D., Zhi, Y., Zhang, Y. (2023). "KAMTFENet: A fall detection algorithm based on keypoint attention module and temporal feature extraction." International Journal of Machine Learning and Cybernetics, Vol. 14, pp. 1831-1844.
  14. Lim, J.-M., Yoo, S.-S., Shin, J.-S., Shin, S.-W. (2023). "A study on illumination analysis of an intelligent LED lighting fixture applied to underground common duct and visibility measurement by a low-light camera." Journal of the Korean Institute of Illuminating and Electrical Installation Engineers, Vol. 37, No. 5, pp. 7-14. (In Korean)
  15. Maji, D., Nagori, S., Mathew, M., Poddar, D. (2022). "Yolo-pose: Enhancing yolo for multi person pose estimation using object keypoint similarity loss." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, New Orleans, US, pp. 2637-2646.
  16. Park, J.-T., Han, K.-P., Park, Y.-W. (2021). "A dangerous situation recognition system using human behavior analysis." Journal of Korea Multimedia Society, Vol. 24, No. 3, pp. 345-354. (In Korean)
  17. Park, S.M., Hong, C.-H., Park, S.-H., Lee, J., Kim, J.S. (2022). "Development of a deep learning-based fire extinguisher object detection model in underground utility tunnels." Journal of The Korean Society of Disaster Information, Vol. 18, No. 4, pp. 922-929. (In Korean)
  18. Si, J., Son, H., Kim, D., Kim, M., Jeong, J., Kim, G., Kim, Y., Kim, S. (2020). "Fall detection using skeletal coordinate vector and LSTM model." The Journal of Korean Institute of Information Technology, Vol. 18, No. 12, pp. 19-29. (In Korean)
  19. Tan, M., Le, Q. (2019). "Efficientnet: Rethinking model scaling for convolutional neural networks." In Proceedings of the International Conference on Machine Learning, Long Beach, US, pp. 6105-6114.
  20. Yadav, S.K., Luthra, A., Tiwari, K., Pandey, H.M., Akbar, S.A. (2022). "ARFDNet: An efficient activity recognition & fall detection system using latent feature pooling." Knowledge-Based Systems, Vol. 239, 107948.
  21. Yun, K., Park, J., Cho, J. (2020). "Robust human pose estimation for rotation via self-supervised learning." In IEEE Access, Vol. 8, pp. 32502-32517.