YOLO 및 DeepSORT를 활용한 학교안전보행 모니터링 시스템 개발
Abstract
In order to prevent safety accidents while walking in schools, a monitoring system using object recognition technology was developed for corridors and stairs. Using a fixed webcam and computer, the function of detecting and tracking the human body in real time and calculating the movement speed of the student was implemented. The object detection model was trained using COCO dataset and YOLOv7 network training architecture. Using the object tracking model and Python, it created an object speed estimation system through real-time video analysis. A custom model for human body detection was developed, and the accuracy of the model was mAP_0.5: 0.7387, mAP_0.5_0.95: 0.4314.
Keywords:
School safety, Safety walking, Deep learning, YOLO, DeepSORT, Monitoring systemⅠ. 서 론
학교는 전문적인 역량을 가진 교사가 일정한 목적하에 학생 집단을 대상으로 체계적 교육을 실시하는 장소이다(Shin and Lee, 2017). 우리나라의 모든 청소년들이 신체적, 정신적 성장을 위해 많은 시간을 보내는 장소로서, 효과적인 교육이 이루어지기 위해서는 안전한 환경이 필수적이다. 교육부에서는 학교안전사고 예방 기본계획을 통해 학교에서 시작되는 안전관리로 국가안전의 기초를 마련하고 학교안전사고 예방을 위한 교육기관 역량을 제고하고 교육 분야 안전사고 예방의 제도적 기반을 마련하고 학교에서부터 시작되는 안전교육 기틀을 마련하여 안전한 학교를 만들기 위해 노력하고 있다(Ministry of Education, 2015).
그러나 한 해 동안 학교 안에서 13만 8천여 명의 학생들이 안전사고를 겪고, 사고처리를 위해 393억 원이 넘는 비용이 쓰이고 있으며(Kim et al., 2020), 이러한 문제는 재정적 측면에서 뿐만 아니라 학생들이 안전사고를 경험하며 회복을 위해 많은 시간과 노력이 소요된다는 점에서도 학습 손실이 일어나기 때문에 사회적 손실로도 귀결된다.
학교안전사고 측면에서 보면 현재 학교에서 일어나는 안전사고는 매년 증가하고 있다. 사고가 감소하는 사회적 경향에 반하여 학교안전사고가 증가하고 있으므로 안전한 학교 환경을 만들기 위한 노력이 필요한 시점이다. 특히, 학교안전사고의 99.5%가 의도치 않은 사고로서, 학교 환경이 학생들에게 더욱 안전해야 하며, 위험이 감지될 때 적절한 조치가 있다면 많은 사고를 예방하는 것이 가능할 것으로 생각된다. 구체적으로 보면 학교에서 발생하는 안전사고의 51.9%가 이동과 관련한 것으로 학생들의 안전한 이동을 위한 노력이 필요하다(Lee et al, 2021).
학교안전과 관련한 시스템 개발 연구들을 살펴보면 드론을 활용한 교통 안전 시스템의 설계(Lim et al., 2019), 스쿨존의 안전 보행을 위한 IoT 기술을 활용한 스쿨존 안전시스템 연구(Nam and Jang, 2018) 등이 있으며, 장애학생과 일반학생 간 보행 속도를 비교하여 학교 내에서 화재 발생시 대피 시뮬레이션에 대한 연구(Kang and Choi, 2019)가 실시된 바 있다. 선행연구에서는 사물인터넷과 드론을 활용한 학교 주변에서의 보행안전 사고에 대한 논의 및 화재 상황에서의 장애 학생의 안전한 보행과 관련한 연구가 진행되었으나 본 연구에서는 일반학생을 대상으로 인공지능 모델을 적용한 안전 시스템의 프로토타입을 개발하여 학교 현장에서의 인공지능 적용 사례를 제안하고자 한다. 특히, 본 연구를 통해 학교 안전 분야에서의 인공지능 활용 사례를 제시하여 학교 안전의 효율성을 높이고 인공지능의 학교 현장 사례를 축적하고자하는데 그 의의가 있다.
이에 본 연구 목적은 학교안전사고의 발생을 줄이기 위한 지원 요소로서 안전사고예방 시스템을 개발하는 것이다. 연구의 목적에 맞게 다음과 같이 연구과제를 설정하였다.
첫째, 학교 내 보행 안전 시스템 개발을 위해 적절한 인체 탐지 및 추적을 위한 인공지능 모델을 선정한다.
둘째, 선정된 인공지능 모델을 활용하여 학교안전보행시스템의 래피드 프로토타입을 개발한다.
셋째, 개발된 래피드 프로토타입을 현장에 적용하여 시스템을 고도화한다.
본 연구에서의 래피드 프로토타입이란 완성된 형태의 제품 또는 서비스가 아닌 가장 기본적인 기능이 구현된 형태로 구현되는 것을 말한다.
Ⅱ. 이론적 배경
1. 학교안전사고 현황과 학교안전사고 예방 사례
2019년 기준 학교안전사고 활동시간에 따른 사고 발생 건수는 전체 138,764건 중 체육시간 43,619건, 점심시간 28,936건, 체육 외 수업시간 21,746건, 휴식 및 청소시간 20,620건, 학교행사시간 9,615건, 등하교시간 6,706건, 특별활동시간 6,111건, 석식시간 823건, 기숙사생활 608건으로 나타났다(Ministry of Education, 2015).
사고 발생 장소를 기준으로 보면, 운동장 50,653건, 교실 24,434건, 부속시설 37,271건 통로 20,692건, 교외활동 5,734건이다. 한국교육시설안전원의 정책연구에 따르면 2018∼2020년 용인·시흥·파주 지역 학교의 안전사고 1,062건 중 49%가 계단에서 발생한 것으로 나타났다. 사고 발생 형태를 기준으로 하면, 사람과의 충돌 19,355건, 물리적 힘 노출 54,844건, 낙상(넘어짐) 36,075건, 낙상(미끌어짐) 11,865건, 낙상(떨어짐) 5,412건, 기타 11,233건이며 학교안전사고의 99.5%가 의도치 않게 발생한 사고인 것으로 나타났다(Lee et al, 2021).
학교안전사고의 51.9%가 이동(2019년 기준 : 사람과의 충돌, 낙상·넘어짐, 낙상·미끄러짐, 낙상·떨어짐)과 관련된 것으로 신고되지 않는 경미한 사고까지 감안한다면 학생들의 안전한 이동을 위해 사고예방을 위한 노력이 필요하다(Ministry of Education, 2015).
국내의 사례를 보면, 학교안전사고 관리지원 개선 방안에서 학교 안팎의 다양한 위험요인에 대해 효과적으로 대응하기 위해 최신 기술을 활용한 방안이 제시되었다(Lee et al., 2021). 이는 학교안전실태조사 결과를 데이터베이스(DB)로 관리·분석하기 위해 학교안전실태조사시스템을 구축하고 교육부 내 안전 관련 데이터와 연계하고 현행 단순집계 차원의 학교안전사고 데이터 집계를 선제적 대응을 위한 손상감시체계로 전환한다. 이를 위해 신기술을 활용한 교통안전, 재난안전, 시설안전 등 학교안전 전반의 예방체계 구축한다. 그리고 지능형 CCTV 등 다양한 신기술을 학교안전 분야에 적용한 ‘스마트안심학교’ 시범사업 실시 후 확산한다. 스마트안심학교는 CCTV를 활용한 안면인식·행동인식기술을 적용해 출입을 인증하고 이상행동을 분석하고, 비콘(Beacon)등을 활용해 학생안전을 보호한다(School Safety and Insurance Federation, 2021).
다른 사례로는 HMC사는 교육부와 협력하여 국립학교 2곳에서 CCTV 카메라와 센서 데이터를 활용한 딥러닝 기반의 영상 분석 솔루션 시스템을 적용해 학교폭력, 쓰러짐, 화재감시 등의 기능을 구현하였으며, 특히, 학교폭력은 단순한 이미지 형태뿐 아니라 폭력과 침입 등 다양한 케이스를 기반으로 한 행동 분석 기술을 적용해 인식률을 향상시키고, 화재 발생시 10초 내 자동으로 감지한다. 코로나19의 확산 동안 열화상 카메라를 활용해 체온측정 및 마스크 착용을 감지하고, 결과를 담당 교사에게 실시간 스마트폰 알람으로 전송하는 시스템을 구축했다(Han, 2020; Jang, 2020).
미국에서는 1999년 이후로 554명 이상의 학교 총기 난사 피해자와 320,000명의 어린이가 학교에서 총기 관련 위험을 받고 있으며, 이를 예방하기 위해 일리노이 주의 Peoria Public Schools는 Intellisee사의 안전시스템을 도입하였는데, 이는 컴퓨터비전 기술을 활용한 실시간으로 칼과 총과 같은 무기를 인식하고, 미끄러짐 및 추락을 감지할 수 있다(Schoenheider and Gartner, 2022).
중국에서는 2015년부터 범죄 예방을 위한 얼굴인식 시스템인 톈왕(天網)을 활용하여 학교에 출입하는 사람들은 안면인식 시스템을 통과해야 하며, 정상 체온과 마스크 착용을 확인받고 통과하는 형태로 학교 시설을 보호한다. 이는 최초에 2015년 중국 공안부가 주요 도시에 국민 안전을 목적으로 설치하기 시작했으나, 일부에서 인권 및 개인정보 침해에 대한 우려를 제기하고 있다(Lam, 2022).
2. 학교안전보행시스템 개발을 위한 기술
리눅스(LINUX)는 UNIX에서 분화한 운영체제로 소스 코드가 공개되어 있는 대표적인 오픈소스소프트웨어이다. GNU일반공중사용허가서(GNU General Public License, GPL) 라이선스에 의해 프로그램 소스를 공개하며 자유롭게 활용되어 리눅스 커널을 활용하는 모든 운영체제는 리눅스로 인정되며, 사용 목적에 따라 매우 다양한 형태로 발전하고 있다. 리눅스는 멀티 유저, 멀티 태스킹 운영체제로서, 여러 사용자가 동시에 하나의 시스템을 사용할 수 있고 여러 작업을 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있다. 유닉스의 기본 설계를 바탕으로 시스템 자원을 효율적으로 관리하여 컴퓨팅 파워가 부족한 PC나 서버에서도 우수한 신뢰성과 성능을 보인다. 터미널로 문자를 입력받는 방식의 CUI와 X-Windows를 활용한 GUI를 함께 사용하며 ext2, ext3, ext4, NTFS, FAT32, FAT, Minix-1, Xenix 등 다양한 파일시스템을 지원한다. 다양한 하드웨어 장치를 지원하며 커뮤니티가 활성화되었으며 GUI 소프트웨어, 네트워크 툴, 편집기, 개발도구 등의 풍부한 응용 프로그램이 존재한다.
CUDA는 2006년 Nvidia사에서 출시한 솔루션으로 GPU에서 수행하는 병렬 처리 알고리즘을 C/C++와 같은 표준언어를 이용해 작성하도록 만들었다. GPU는 계층적으로 이루어진 수백 개의 연산 코어로 구성되어 있으며, CUDA 아키텍처 덕분에 GPU 가속화가 필요한 애플리케이션에서 수천 개의 GPU 코어에서 집약적인 연산을 동시 실행할 수 있다. 그리고 함께 설치된 cuDNN은 CUDA 딥러닝 연산을 가속해주며 컨볼루션, 풀링, 소프트맥스, 활성함수로 ReLU, Sigmoid, TANH, 텐서 변형 함수, LRN, LCN, 배치노멀라이제이션 기능 등을 포함한다. 다중 GPU 가속화 라이브러리의 기초이며 멀티스레딩을 지원하여 컨볼루션, 풀링, 표준화, 활성화와 같은 루틴을 빠르게 진행할 수 있으며 PyTorch, TensorFlow, Theano 등 주요 딥러닝 프레임워크를 가속한다(Lee et al., 2014).
PyTorch는 Meta사의 연구팀이 개발했으며, 현재는 파이토치 재단에서 운영하는 딥러닝 프레임워크이다. 컴퓨터 비전 및 자연어 처리에 많이 사용되는 Torch 라이브러리를 기반으로 하며, 구글에서 만든 텐서플로우(TensorFlow)와 함께 대중적으로 쓰인다. 파이토치는 사용법이 파이썬과 비슷해 생산성이 높고 GPU를 이용한 병렬 연산이 가능하며 즉시 실행(eager execution)되어 디버깅이 유연하고 빠르다는 장점이 있다.
YOLO(You Look Only Once)는 컴퓨터비전의 발전에 많은 기여를 한 COCO 데이터셋을 활용한 실시간 객체탐지 모델이다. 객체 탐지(Object Detection)에서 물체를 탐지하는 방식은 크게 1-Stage 모델과 2-Stage 모델로 나뉜다. 2-Stage 모델은 객체 위치파악(Localization)과 객체 분류(Classification)하는 과제를 차례로 해결하여 검출 정확도가 높지만, 상대적으로 시간이 오래 걸린다. 객체위치 파악과 객체분류 과제를 하나의 회귀 문제로 해결하는 YOLO는 1-Stage 검출 방식의 대표적인 모델이며 현재까지 버전이 7까지 출시되어 있고 YOLOv7로 명칭한다(Park, 2022).
COCO 데이터셋은 마이크로소프트사에서 객체 탐지(object detection), 객체 분할(segmentation), 특징점 탐지(keypoint detection) 등의 딥러닝 과업 첨단화를 위해 공개한 데이터 포맷이다. COCO 데이터셋은 330,000여 장의 이미지에 다양한 크기의 1,500,000개의 물체를 80개의 범주로 구분하며, 크게 5가지로 구분된 정보를 담고 있다. ‘Info’는 데이터셋에 대한 데이터셋 버전, 설명, 생성 날짜 정보를 나타낸다. ‘license’는 이미지의 라이센스가 표시된다. ‘Images’에는 각 이미지의 파일명, url, width, height, id 등의 정보가 있다. ‘Annotations’에는 이미지 내 각각의 사물(object)에 대하여 area, iscrowd, 좌표 등을 표시한다. ‘Categories’에는 데이터 셋에 존재하는 범주에 대한 정보(id, name)가 담긴다(Lee et al., 2018).
OpenCV는 오픈소스 컴퓨터 비전 라이브러리로 비디오처리, 영상처리, 머신러닝 등의 작업을 다양한 플랫폼에서 실시간으로 할 수 있다. BSD 라이선스를 따르는 오픈소스며 교육 및 상업 목적 모두 무료로 사용 가능하다. 1999년에 공식적으로 시작된 OpenCV 프로젝트는 Intel에서 C언어로 제작된 IPL(Image Processing Library)을 기반으로 개발되었고, C++언어로 개발이 되며, 최근에는 C++언어보다 파이썬으로 랩핑된 형태로 많이 활용된다. OpenCV는 윈도우즈, 리눅스, 안드로이드, Mac OS, iOS 등의 플랫폼에서 사용할 수 있으며 C, C++, Python, JAVA 등 다양한 프로그래밍 인터페이스 API를 제공하여 컴퓨터 비전에서 영상 라이브러리의 표준과 같은 대중적인 라이브러리이다(Lee et al., 2018).
DeepSORT는 SORT 기반으로 개선된 딥러닝 모형으로 기존 SORT는 정밀도와 정확도 면에서 다른 물체 추적 모델보다 우수한 성능을 가지지만, 물체를 인식할 때 그 물체의 정면이 아닌 경우 정확도가 떨어지는 단점이 있다. 이러한 단점을 보완한 것이 DeepSORT로 색상, 빛 등을 기준으로 특징을 찾는 모델이 아니라 여러 기준을 설정한 딥러닝 기반의 물체 추적 모델이다. 기존 영상 추적 시 현재 물체의 상태를 이용해 미래의 물체를 찾는 방식인 연관성 매트릭(metric)에서 동작 및 모양 정보를 결합한 정보에 근거한 매트릭(metric)으로 대체하여 45%의 성능향상을 이루었다. Informed metric을 위해 딥러닝을 이용해 특징(Feature)을 검출하도록 하였으며 여기에는 cosine metric learning을 이용해 학습시킨 CNN이 사용됐다. 딥러닝 부분을 제외한 구조 또한 단순해 빠르게 객체를 추적할 수 있다(Yang et al., 2021).
스트림릿(Streamlit)은 2019년 하반기에 등장한 파이썬(Python)기반 웹어플리케이션 툴이다. 대시보드 형태로 빅데이터와 머신러닝 프로젝트 결과물을 간단하게 배포할 수 있으며 프로젝트에서 필요로 하는 시각화(Visualization), 인터랙티브(Interactive), 서빙(Serving) 기능을 제공한다. 간결하고 명확한 API 덕분에 Flask나 Django 등 다른 웹 프레임워크와 비교해 활용하기 쉬우나, 디자인의 추가적인 변형이 어려운 단점이 있다(Schmitt, 2020).
Ⅲ. 연구 방법
래피드 프로토타입 개발론은 Software Development Life Cycle Models (SDLC models) 중 가장 많이 사용되는 방법론 중 하나이다. 래피드 프로토타입 개발론은 시제품 제작, 검토, 정제의 3단계로 이루어지며, 각 단계는 서로 유기적으로 영향을 미치며 제품을 개선해 나간다. 각 단계가 반드시 선형적인 순서로 진행될 필요가 없으므로 빠르게 개발물을 만들어 낼 수 있다는 장점이 있다. 정확한 최종 프로젝트 목표를 알 수 없을 때 사용될 수 있으며 초기에 최종시스템의 주요 특성을 담은 시제품을 만들고 핵심 기능을 분석·검증해보는 신속하고 효율적인 방식이다(Jones and Richey, 2000).
본 연구는 부산의 강서구에 위치한 M초등학교에서 실시되었다. 연구기간은 2022년 4월부터 2022년 12월까지 3단계에 걸쳐 실시되었다. 4월~8월까지 학교 내에서 학생들이 보행하는데 있어 뛰거나 기존과 다른 형태로 보행하는 것을 인식하기 위한 인체 탐지 및 추적을 위한 인공지능 모델을 탐색 하였고, 8~9월까지 탐색한 인공지능 모형을 안전보행시스템으로 구현하기 위한 래피드 프로토타입을 개발하였다. 래피드 프로토 타입을 개발하는데에는 개발환경 구축 및 인공지능 모델 학습 등이 포함되었다. 그리고 9~12월까지 구현된 프로토타이핑에 대하여 기존 데이터를 수집한 결과를 토대로 인공지능 모델을 학교 현장에 맞도록 모델을 보다 구체적이고 세분화하여 학습하는 과정과 인공지능 모델의 결과를 시각화할 수 있는 대시보드 개발로 이루어졌다. 연구과정을 정리하면 <Table 1>과 같다.
Ⅳ. 연구 결과
1. 학교안전보행시스템 설계 및 프로토타이핑
학교안전보행시스템의 프로토타입 개발은 2차에 걸쳐 이루어졌다. 1차 개발은 학생들의 안전한 이동을 위해 자세추정(Pose Estimation)기술을 이용하기 위해 PoseNet(Kim et al., 2020), MediaPipe(Jung et al., 2021), OpenPose(Kim and Jung, 2021) 등 다양한 모델과 데이터셋을 검토하였다. 그 중 자세추정 영역의 SOTA이며 트랜스포머모델을 활용한 ViTPose(Xu et al, 2022)를 기반으로 개발했으나, 안전보행시스템 성능 유지를 위해 필요한 다중 객체 탐지의 어려움, 실시간 탐지의 낮은 정확도로 인해 객체탐지(Object Detection) 기술을 기반으로 한 2차 개발을 실시하였다.
2차 개발 과정을 통해 다중객체를 탐지하고, 추적하며 속도를 계산(speed estimate)하는 학교안전이동시스템 주요 기능을 구현하였다. 시스템은 COCO데이터셋을 활용한 실시간 객체탐지 분야의 SOTA이며, 실시간 처리에서 우수한 YOLOv7 모델을 활용해서 인체를 탐지한다. 시스템에 활용되는 웹캠은 측정 정확도를 개선하기 위해 고정 각도로 설치하여 시스템과 연결했다.
학교안전보행시스템은 웹캠과 하나의 컴퓨팅 디바이스 안에서 구현이 되며 대시보드를 통해 모니터링 할 수 있다. 본 시스템은 오픈소스 소프트웨어를 기반으로 제작되었으며 Intel사와 AMD사의 CPU를 사용하는 대부분의 AMD64 아키텍쳐 기반의 컴퓨터와 ARM아키텍쳐 기반의 Jetson Xavier AGX와 같은 엣지 컴퓨팅 디바이스에서도 실행된다.
본 시스템은 리눅스 기반 운영체제(Ubuntu, Jetpack) 위에 병렬연산이 가능한 GPU(Graphics Processing Unit-core)를 활용할 수 있도록 관련 드라이버를 설치한다. 그리고 원활한 버전 관리를 위해 AMD64 아키텍쳐용 파이썬 가상환경인 Anaconda 또는 ARM 아키텍쳐용 파이썬 가상환경인 miniforge3를 설치하여 진행되었다. 딥러닝 기반 학교안전보행시스템은 크게 4단계로 구성된다.
가장 먼저 웹캠을 통해 복도에서 학생들의 보행 영상이 촬영되고 이는 mkv 형식으로 저장된다. 촬영된 영상은 인체 탐색 인공지능 모델인 YOLOv7과 인체 추적 인공지능 모델인 DeepSORT를 통해 영상 내의 보행하는 학생을 인식하고 보행 속도를 계산하는 과정을 거치게 된다. 보행 속도에 따라 보행속도에 따라 뛰거나 다른 학생들보다 보행속도가 빠른 경우 경고 안내를 하게 되며, 위의 과정을 거친 데이터는 대시보드를 통해 통계적 결과로 나타나게 된다. 이러한 시스템의 처리 과정을 살펴보면 [Fig. 3]과 같다.
본 시스템은 리눅스 기반의 AMD64 아키텍쳐 기반의 컴퓨팅 기기와 ARM아키텍쳐 기반 엣지 컴퓨팅 기기에서 실행된다. 엣지 컴퓨팅(Edge Computing)은 기존의 중앙집중식으로 데이터 처리하는 클라우드 방식의 한계를 개선하기 위한 것으로 데이터의 전체 또는 전처리가 시스템의 끝단(edge)에서 이루어진다. 엣지 컴퓨팅 시스템은 모든 것이 서로 영향을 주고 받는 초연결 시대에 적합하며 실시간 컴퓨팅을 목표로 한다. 중앙집중식 클라우드 시스템에 비해 인터넷 대역폭을 적게 사용하며 대기 시간 감소, 비용 절감, 손쉬운 장치 추가를 통한 확장성, 안정성 및 보안에 우수한 장점이 있다(Hong et al., 2020). 본 연구에서는 AMD64 아키텍쳐 기반의 컴퓨팅기기와 ARM아키텍쳐 기반 엣지 컴퓨팅 기기인 Jetson AGX Xavier를 시스템에 활용한다.
안전사고가 늘어나고 있는 학교 안에서 인공지능 기술을 활용한 적극적 안전사고예방시스템을 구현하였다. 제안하는 시스템은 인공지능을 활용한 실시간 모니터링 과정에서 사고 가능성이 높아지는 상황이 검출되면 학생들에게 소리로 피드백을 주어 안전사고가 더 이상 진행되지 않도록 도와준다. 제안하는 시스템은 복도나 계단 등 설치 위치를 기준으로 통행량, 위험사례(Near Miss, 안전사고로 연결될 가능성이 내재하는 사례), 사고발생사례를 통계 처리하고 시각화할 수 있다.
본 시스템의 기능을 개선하고 지속적으로 학교안전보행시스템을 운용해 데이터를 누적한다면 특정한 시간이나 장소를 기준으로 통행 중 안전사고 발생 위험의 정도를 분석할 수 있어 위험 예방 지도나 학교안전사고 예보를 만드는 등의 예방적 안전활동 자료가 될 수 있을 것으로 기대된다. 본 연구를 위한 시스템 하드웨어 및 소프트웨어 구성은 <Table 2>과 같다.
앞서 구성한 하드웨어에 파이썬 가상환경을 구성한 후 실시간 객체 탐지를 위한 YOLOv7 프레임워크를 설치하였다. YOLOv7를 활용하기 위해 필요한 종속 라이브러리는 <Table 3>와 같다.
탐지한 객체의 안정적인 추적을 위한 프레임워크는 Deep Sort with PyTorch를 활용하였으며, 탐지 결과의 시각화와 효과적인 결과의 활용을 위해 Streamlit 프레임워크를 적용하였다. 또한 학교안전보행시스템에 입력되는 이미지는 입체인 현실 세계를 웹캠을 이용해 2차원으로 변환하였기에 영상 속의 깊이(Depth)를 반영하여야 한다. 이를 위해 웹캠의 렌즈를 통한 이미지의 왜곡을 확인하고, A사의 웹캠인 fhd 1080p 모델로 시스템을 구성하였고 촬영된 이미지에 직선을 그어본 결과 [Fig. 4]처럼 소실점을 향해 특별한 왜곡 없이 나아가는 것을 확인하였다.
2. 학교안전보행시스템 래피드 프로토타입 구현
본 시스템 개발을 위한 환경 구성을 마친 후, 복도의 폭을 기준으로 입력 영상 좌표계를 보정하고, 객체검출 경계 상자의 아래쪽 Y좌표를 기준으로 객체의 위치를 반환하여 객체의 속도를 계산하였다.
이러한 절차는 학교 내의 다양한 사물 중에서 학생들을 정확하게 인식하고 인식된 결과를 바탕으로 학생들의 이동 동선까지 추적할 수 있도록 하여 결과값이 정확하게 나올 수 있도록 사전에 준비하는 단계에 해당한다.
사람들의 통행 속도가 설정된 값 이하로 안전한 상태로 분석될 때는 미리 녹음된 음성으로 격려와 칭찬을, 위험한 상태로 분석될 때는 경고를 하여 사고를 예방한다. [Fig. 7]은 2차 개발을 끝낸 학교안전보행시스템의 실행 검출데이터 표시 화면과 동작 화면이다. 아래 동작 화면에 나타난 경계 상자 위 표시 순서는 객체의 클래스, 속도(V), 구별 번호이다.
3. 학교안전보행시스템 고도화
개발된 프로토타입을 실제 학교 내에서 실행해보고 그 결과를 바탕으로 인체 탐지 정확도를 높여 커스텀 모델을 개발함으로써 고도화하였다. COCO 데이터셋의 80개의 클래스 중 효과적인 인체 탐지를 위해 사람이 등장하는 이미지만 탐지하도록 모델을 학습하였다. 우선 효과적인 학습을 위해 모든 이미지의 크기(640*640 pixel)와 대비(Contrast)를 조정하고, 창이 많아 태양의 광량에 영향을 많이 받는 학교 복도와 계단의 특성을 반영하여 이미지의 노출(Exposure)값과 밝기(Brightness)값을 조정하며, 학습의 효과와 학습량을 늘리는 데이터 증강(Augmentation)과정을 거친 학습을 위한 이미지 6,463개를 모델 학습에 활용하였다[Fig. 7].
모델을 학습한 결과를 Weights and Biases 프로그램을 활용하여 [Fig. 8]와 같은 결과를 얻었다. 모델을 학습하는데 에는 학습에 필요한 데이터셋의 크기(batch), 학습 반복횟수(epoch)에 따라 달라진다. 각 그래프의 X축은 학습 반복횟수인 epoch를 나타낸다.
각 그래프에 대하여 살펴보면 Box는 객체 감지(Object Detection) 모델에서 객체의 경계 상자(bounding box)를 예측하는 기술이다. 모델이 이미지에서 객체를 감지한 후, 객체의 위치와 크기를 특정할 때, 경계 상자를 예측하는 것은 중요한 작업인데, 경계 상자의 위치와 크기를 정확하게 예측하는 것이다. 여기서의 Box는 경계 상자의 regression 손실값을 나타내는 것으로 학습 데이터에서 실제 경계 상자와 모델이 예측한 경계 상자 간의 차이를 계산하고, 이를 최소화하는 방식으로 경계 상자를 예측한 값이라 할 수 있다. 이 값이 낮을수록 모델의 성능이 좋다라고 할 수 있으며, 그래프 상으로 우하향하는 형태로 나타나는 것이 옳다고 할 수 있고, 본 모형에서는 이러한 내용으로 우하향 곡선을 보이므로 적절하게 학습이 되었다고 할 수 있다.
Objectiveness가 화면에서 대상물이 객체인지 배경인지를 확인한다면 Classfication은 인식된 객체물이 어떤 객체물인지 구별하는 것이다. 즉, 그 대상이 사람인지, 책상인지, 의자인지를 구분하는 것이라 할 수 있다. 본 연구에서는 보행 상황에서 그 대상물이 사람인지 아닌지만 구분하는 학습을 진행하여 Classification 값은 나타나지 않는다.
P는 Precision의 약자로 모델이 예측한 객체 중에서 실제로 객체인 것의 비율을 나타내고, R은 Recall의 약자로 실제 객체 중에서 모델이 예측한 객체의 비율을 나타낸다. 이 두 값이 높을수록 모델이 정확하게 객체를 감지하는 능력이 높다는 것을 의미한다.
객체검출 모델인 YOLO의 성능 평가는 mAP(mean Average Precision)과 Precision-Recall (정밀도-검출율) 곡선으로 평가한다. 성능을 일반적으로 나타내주는 mAP값이 주로 활용되며, 논문에 적용된 mAP_0.5:0.95지표는 IoU(Intersection over Union) 값이 0.5부터 0.95까지 변화하는 여러 개의 threshold를 적용하여 계산한 mAP 값이다. 이를 통해 모델이 다양한 IoU 값에서 일관적인 성능을 보이는지를 확인할 수 있다.
인체 탐지를 위한 커스텀 모델은 YOLOv7 network architecture를 이용하여 학습했다. 커스텀 모델은 YOLOv7의 메인 네트워크인 yolov7과 파라미터 수가 7,130만여 개인 yolov7x, yolov7-e6e를 활용해 인체 이미지를 학습했다. YOLOv7에서 공개된 네트워크 중 가장 많은 레이어와 파라미터를 가진 yolov7-e6e로 학습을 진행할 때는 하이퍼 파라미터 값 중 final OneCycleLR learning rate인 lrf값을 0.2로 설정해서 훈련 중 만나는 Local Minmum에서 쉽게 빠져나가도록 했다. 처음 학습을 시작한 yolov7 네트워크 학습은 시스템에 장착된 그래픽카드의 성능에 알맞은 배치 사이즈를 8로 설정하고 300 epoch 학습을 했다. 학습이 끝난 뒤 yolov7 네트워크는 90 epoch이 초과하면서 과적합이 발생했다. 과적합을 확인한 뒤 다른 네트워크들은 효과적인 개발을 위해 150 epoch씩 학습했고, 가장 많은 1,063개 레이어와 164,889,240개의 파라미터를 가진 yolov7-e6e 네트워크로 학습을 할 때 배치 사이즈를 4로 줄여 모델 학습을 하였다.
최종 선택된 인체탐지 커스텀 모델은 yolov7-e6e에서 학습한 것으로 mAP_0.5는 0.7387, mAP_ 0.5_0.95는 0.4314, precision은 0.8374의 성능을 보였다.
마지막으로 학교안전보행시스템의 모니터링과 탐지결과의 효과적인 활용을 위한 대시보드를 만들었다. RTSP, 웹캠, 동영상파일을 소스로 하여 프로그램이 실행, 검출이 되며 실시간 화면이 대시보드에 출력된다.
Ⅴ. 결론 및 논의
본 연구의 목적은 인공지능 기술을 적용한 학교안전보행시스템의 프로토타입을 개발하고 그 방안을 제안하는 것이다. 이를 위해 세 가지의 연구과제를 설정하였다. 우선 학교안전보행시스템에 적용할 수 있는 인공지능 모델로 인체를 탐지할 수 있는 YOLOv7모델과 탐지된 인체가 이동하는 동선을 확인하고 속도를 계산할 수 있도록 인체 추적모델로 DeepSORT를 선정하였다. 인체 탐지 모델로는 자세추정 모델인 PoseNet과 ViTPose를 탐색하였으나, 본 학교 현장에서의 성능 유지와 학교 내 복도의 다수 학생이 존재하는 상황에서 기대하는 수준에 도달하지 못하는 한계점을 가져 YOLOv7과 DeepSORT 모델을 최종적으로 선정하였다.
두 번째 과제를 통해 시스템 구조 설계 및 개발환경을 구축하였다. 시스템 구조를 설계하는데 있어 필요한 장치들로는 본 연구에서는 리눅스 OS를 기반으로 인공지능 모델 학습을 위한 데스크탑 컴퓨터(RTX3080 장착), 추론과 앱 활용을 위해 랩톱과 엣지 IoT 디바이스 활용하였고, 학생들의 보행을 모니터링 할 수 있는 웹캠을 사용하였다. 시스템이 구동되는 프로세스로는 웹캠을 통한 학생 보행 장면 촬영 및 저장, 저장된 영상에서 학생들만 탐지할 수 있는 인공지능 모델 처리과정, 학생들의 보행 속도를 계산하고 속도에 따라 안전 또는 경고 메시지를 알리는 과정이 구성된다. 마지막으로 위의 시스템 과정 간에 처리된 통계적 자료를 시각화하여 학교 관리자에게 정보를 제공하는 절차로 이루어지도록 설계하였다.
이를 위해 엣지 컴퓨팅 형태로 시스템을 구성하고 YOLO과 DeepSORT 모델을 활용하여 객체 탐지 및 추적 기술을 구현하였고 COCO데이터셋 및 실제 학교 현장에서의 이미지 활용 인공지능 모델을 학습시켰다.
마지막 과제를 통해 시스템 고도화를 위해 개발된 래피드 프로토타입을 학교 현장에서 운영하였으며, 운영되는 중에 수집되는 결과물들을 활용하여 기존 인공지능 모델을 정교화하는 학습 과정을 거쳐 인체 탐색과 추적 과정의 정확도를 높였다. 또한 Streamlit을 활용하여 대시보드를 구현하였고 관리자가 결과물을 확인할 수 있도록 하였다.
기존의 학교안전과 관련한 시스템 개발 연구에서는 드론을 활용하여 교통 안전 시스템의 설계(Lim et al., 2019)에서는 학교 전체를 드론으로 촬영하여 위험지역을 선정하는 정적인(static) 형태의 안전시스템을 구현하였으나 본 연구에서는 학생들이 일상 보행하는 과정에서 생길 수 있는 안전사고를 예방할 수 있는 동적(dynamic)인 모니터링 시스템을 구현하였다.
또한 스쿨존의 안전 보행을 위한 IoT 기술을 활용한 스쿨존 안전시스템 연구(Nam and Jang, 2018)에서는 센서를 활용하여 스쿨존의 교통 사고 예방을 위한 방안 및 시스템을 제안하였다는 점과 비교하여 학교 내의 안전 사고 예방을 위한 시스템 제안을 하였다는 것에 차이점이 있다.
보행과 관련하여 Kang and Choi(2019)의 연구가 있으나 장애학생과 일반학생 간 보행 속도를 비교하여 학교 내에서 화재 발생 시의 대피 시뮬레이션을 구현하여 보행 안전과 관련 연구라는 점에서 유사성을 가지나, 인공지능이 적용되어 실시간으로 안전 상황을 확인하고 모니터링을 할 수 있는 시스템을 제안하였다는 점에서 기존 연구와 비교했을 때, 차별성을 가진다고 할 수 있겠다.
현재 학교 수업에서 인공지능과 그 활용방법에 관심과 연구들이 점점 늘어나고 있다. 그러나 인공지능을 실제 현실에 적용한 사례는 많지 않다고 볼 수 있으며 수업 이외에 학교 현장에서 인공지능을 활용하고자 하는 노력은 최근들어 하나 둘 보이기 시작한다(Lee et al, 2022). 인공지능이 인간에게 긍정적일지 부정적일지에 대한 논의는 지금까지 꾸준히 이루어지고 있으나 최근 ChatGPT의 등장으로 사회와 교육 현장에서 더 나은 교육이 무엇일지에 대한 새로운 논의가 필요하다.
이러한 점은 수업에서뿐만 아니라 학교라는 장소와 공간으로 넘어서서 학습자와 교수자뿐만 아니라 수업이라는 사건을 만들어 낼 수 있는 학교 시스템 전체적인 관점에서 접근해야 할 것이다. 즉, 학습자는 성장하여 다시 학교 시스템으로 환류되었을 때, 교수자가 될 수도 있고 학교 행정을 담당하는 직원이 될 수도 있다. 수업이라는 맥락도 중요하나 수업을 포함하는 상위 시스템인 학교 관점에서도 인공지능을 어떻게 활용할 수 있을 것인지도 고려해야 한다. 학습자와 교수자에 대한 인공지능 역량과 더불어 학교 시스템에 참여하는 직원 및 관리자 등도 함께 인공지능에 대한 이해와 역량을 높일 필요가 있으며, 이러한 점은 수업 혁신뿐만 아니라 학교 전반의 혁신을 가져오는데 중요한 요소라 할 수 있을 것이다. 이러한 점에서 본 연구는 학교 공간에서의 인공지능 활용 사례로 제안할 수 있으며, 이러한 형태의 연구가 지속적으로 이루어질 필요도 있다.
본 연구는 딥러닝 기술을 활용하여 객체를 검출하고 학생들의 보행속도를 측정하여 안전한 학교 환경을 만들어 대한민국 청소년들의 건강에 도움을 주고, 안전사고의 처리에 따른 사회적 비용을 줄이는데 기여할 것으로 기대된다. 특히, 학교 현장에서 CCTV와 연동하여 학생들의 복도 통행 교육 및 안전 모니터링이 가능할 것이다. 비용적인 측면에서 문제가 된다면 본 연구에서 제안한 시스템의 형태와 같이 AMD64 아키텍쳐 기반의 컴퓨팅 기기와 ARM 아키텍쳐 기반 엣지 컴퓨팅 기기에서도 구동되어 활용 가능성이 높다.
후속 연구를 통해 학교폭력사고 예방을 위한 이상행동인식과 이상탐지, 사고예방과 움직임 학습 보조를 위한 자세추정과 같은 폭넓은 기능을 가진 학교안전시스템으로 발전할 수 있을 것이며, 경량화를 거쳐 Jetson Orin Nano등의 범용 엣지 컴퓨팅 기기에 적용되도록 하여 보다 용이하게 학교현장에 적용될 수 있도록 할 필요가 있다. 또한 인공지능과 같은 요소의 경우 학습 지원을 위한 조력자의 역할로 매우 적합하다고 할 수 있을 것이다. 모든 부분을 사람이 담당하지 못하는 현실적 한계를 해결하는데 인공지능을 활용한 학교 조직 개선, 안전 관리 등 연구가 필요하다.
Acknowledgments
이 논문은 2021년 대한민국 교육부와 한국연구재단의 지원을 받아 수행된 연구임 (NRF-2021S1A5C2A03086965)
이 논문은 송지현의 부산대학교 교육대학원 석사학위 논문을 수정·보완하였음
References
- Han JK(2020). Systematic Collection and Usage of Student Injury Data - The Case of Incheon. Crisisonomy, 16(5), 93~109. [https://doi.org/10.14251/crisisonomy.2020.16.5.93]
- Hong JH, Lee KC, and Lee SY(2020). Trends in Edge Computing Technology. Electronics and Telecommunications Trends, 35(6), 78~87. [https://doi.org/10.22648/ETRI.2020.J.350608]
- Jang YL(2020). Ministry of Science and ICT “Preemptive response to disasters and school safety with intelligent CCTV”. Asia today. https://www.asiatoday.co.kr/view.php?key=20200521010011663
- Jones, TS and Richey, RC(2000). Rapid Prototyping Methodology in Action: A Developmental Study. Educational Technology Research and Development, 48(2), 63~80. [https://doi.org/10.1007/BF02313401]
- Jung, SC, Jeon SH, Jung YJ and Kim SC(2021). Mouse and keyboard control program using Depth camera and google media pipe. Proceeding of KIEE Summer Conference, 2021(7), 197~198.
- Kang EH and Choi JM(2019). A Study on the Fire Safety of Disabled School for the Difference of Walking Speed. Journal of KIAEBS, 13(2), 130-141. [https://doi.org/10.22696/jkiaebs.20190011]
- Kim IH and Jung IH(2021). A Study on Korea Sign Language Motion Recognition Using OpenPose Based on Deep Learning. Journal of Digital Contents Society, 22(4), 681~687. [https://doi.org/10.9728/dcs.2021.22.4.681]
- Kim MJ, Kwon HM, Yoon HS, Choi JH, Kang MG and Seo JW(2020). Implementation of a PoseNet-based IoT Edge Device for On-Device Real-Time Pose Estimation. Proceeding of KIICE Spring Conference, 24(1), 60~62.
- Kim TK, Kim UH, Park KD, Pyo SH, Lee NS and Lim JM(2020). 2019 school safety accident analysis statistics. Seoul. School Safety and Insurance Federation.
- Lam O(2022). China: surveillance tech is extending from the classroom to kids’ summer holidays. Golobal Voices. https://globalvoices.org/2022/08/05/china-surveillance-tech-is-extending-from-the-classroom-to-kids-summer-holidays/
- Lee BH, Kim JY, Seo JH, Jeon MY, and Goh H S(2021). Research policy report of Preventing school safety accident. Seoul. Korea Institute of Educational Facility Safety.
- Lee JH, Lim DS, Lee JE and Jeong KH(2022). A study on the School Safety Accident Prediction Model usingMachine Learning. Proceedings of KIIT Conference, 2022(6), 6~9.
- Lee JM, Kim KH, Bae YD and Eo YD(2018). Detection of Occlusion Region Using COCO Data Set. Proceedings of Korean Society for Geospatial Information Science, 2018(11), 427~428.
- Lee TH, Hwang BH, Yun JH and Choi MR (2014). A Road Region Extraction Using OpenCV CUDA To Advance The Processing Speed. Journal of Digital Convergence, 12(6), 231~236. [https://doi.org/10.14400/JDC.2014.12.6.231]
- Lim MS, Yeo SS and Kim YH(2019). Drone-Based Simulation for the Establishment of Integrated Safety System in Educational Space. Journal of Digital Contents Society, 20(9), 1865~1871. [https://doi.org/10.9728/dcs.2019.20.9.1865]
- Ministry of Education(2015). School Safety Accident Prevention Basic Plan. Sejong. Ministry of Education.
- Nam KH and Jang SJ(2018). Study on School Zone Safety System using IT Technology. The Journal of The Korea Institute of Electronic Communication Sciences, 13(5), 1101~1107.
- Park CS(2022). YOLOv7 Model Inference Time Complexity Analysis in Different Computing Environments. Journal of the Semiconductor & Display Technology, 21(3), 7~11.
- Schmitt. M(2020). Streamlit vs. Dash vs. Shiny vs. Voila vs. Flask vs. Jupyter. Towards Data Science. https://towardsdatascience.com/streamlit-vs-dash-vs-shiny-vs-voila-vs-flask-vs-jupyter-24739ab5d569
- Schoenheider, J and Gartner, J(2022). Protecting students: School district adds artificial intelligence to increase security. fox 19. https://www.fox19.com/2022/07/29/protecting-students-school-district-adds-artificial-intelligence-increase-security/
- School Safety and Insurance Federation(2021). School safety accidents with statistics the 1st quarter of 2021. Seoul. School Safety and Insurance Federation.
- Shin WB and Lee WH(2017). A Study on Improvement Methods on the Child Safety through Empirical Analysis in terms of Safety Accidents of Schools. The Police Science Journal, 12(2), 193~212. [https://doi.org/10.16961/polips.2017.12.2.193]
- Xu Y, Zhang J, Zhang Q and Tao D(2022). ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation. arXiv:2204.12484, . [https://doi.org/10.48550/arXiv.2204.12484]
- Yang SJ, Jung IH, Kang DH and Beak HB (2021). Real-Time Multi-Object Tracking using Mixture of SORT and DeepSORT. Journal of KIIT. 19(10), 1~9. [https://doi.org/10.14801/jkiit.2021.19.10.1]