[Proj] 프로젝트/건설현장 안전관리 시스템

건설현장 안전관리 서비스와 1년 4개월 프로젝트 소개

개발소연자 2025. 2. 11. 01:04

'데이터사이언스' 수업을 들으며 머신러닝을 통해 건설 안전사고 위험도를 예측 서비스를 제작했다. 그러나 실사용에 있어 위험도 예측은 현장에 긍정적 변화를 주는데 한계가 있었고, 예측뿐만 아니라 안전사고를 예방을 통해 유의미한 결과를 도출하고자 했다. 이를 위해 새로운 팀을 구성하고, '캡스톤 디자인 프로젝트'로  건설현장 안전사고 예방 플랫폼을 주제로 선정했다. 첫 번째 프로젝트와 다르게 두 번째 프로젝트에서는 실제 서비스 사용 과정에서의 구체적인 시나리오와 해결방안을 고민하고 개발하였다. 총 1년 4개월 간의 프로젝트는 컴퓨터 학도로서 다양한 개발 분야를 아우르는 좋은 경험이 되었다. 머신러닝을 통한 데이터 분석, 플랫폼 제작을 위한 프론트/백엔드 개발, BLE 센서를 활용하기 위한 통신 구현이 이 프로젝트의 주요 기술이다. 

 


 

 

데이터 사이언스 프로세스

 

구분 머신러닝을 통한 데이터 분석
작업 기간  2023.03-2023.06 (4개월)
작업 개요 건설현장 안전사고의 위험성을 경고하기 위해 지난 사고 데이터를 바탕으로 건설 안전사고 위험도를 예측함
참여 인원 5인 프로젝트
개발 언어 및 개발 환경
  • 언어: Python
  • 라이브러리:
    • 데이터 처리: pandas, numpy
    • 데이터 전처리: sklearn.preprocessing, sklearn.compose
    • 데이터 분할: sklearn.model_selection
    • 오버샘플링/언더샘플링: imblearn.over_sampling, imblearn.under_sampling
    • 날짜/문자열 처리: dateutil.parser, re
담당 역할  
    [ 데이터 수집 및 데이터 전처리 ]

  • 건설공사 안전관리 종합정보망 사이트 크롤링을 통한 사고데이터 수집
  • 기상청 API를 활용하여 사고일시의 기상 상황 매칭
  • 데이터 시각화를 통한 결측치/이상치 탐색 및 조정
주요 기능 및 구현 과정  
 
성과 및 느낀점 데이터를 정제하는 역할을 하며, 모델링을 담당하는 팀원과 지속적의 소통을 통해 데이터를 탐색하는 과정을 반복했습니다. 좋은 모델을 도출해 내기 위해서는 모델의 튜닝도 중요하지만, 우리가 가진 데이터에 대한 완벽한 이해가 가장 중요합니다. 이를 위해 프로젝트 진행하면서 여러 시각화 라이브러리를 이용하여 문제가 되는 데이터를 찾는 과정을 반복했고, 모델의 과적합을 발생시키던 파라미터 간의 의존성 문제를 해결할 수 있었습니다. 또한, 실시간으로 업데이트 되는 건설 사고 보고서를 모델 학습에 반영하기 위해 사이트 크롤링 자동화하였습니다. 프로젝트를 마치며, 머신러닝에서는 무엇보다 데이터를 처리하는 기준을 명확히 하는 것이 중요하다는 것을 깨달았고, 지속적이고 많은 양의 데이터 공급으로 더 나은 모델을 만드는 방법을 터득했습니다.
Github https://github.com/Bool-bird/accident-data

 

구분 플랫폼 제작을 위한 프론트/백엔드 개발  BLE 센서를 활용하기 위한 통신 구현
작업 기간 2023.07-2024.06(12개월)
작업 개요 콘크리트 경화 과정에서의 굳기 정도를 IoT 통신 기술을 활용하여 건설 현장 안전사고를 예방하고 관리함
참여 인원 3인 프로젝트
개발 언어 및 개발 환경
  • 언어: JavaScript, Java
  • 프레임워크: NextJS, SpringBoot, React-native
  • 개발 환경: 구글 클라우드, Apache Kafka
담당 역할
    [ 프론트엔드/백엔드 개발 ]
  • Postman으로 Restful API 테스트 및 통신 확인 
  • 구글클라우드에서 pSQL DB 서버 연동, 데이터 웨어하우스 구축
  • 프론트 앱에 BLE센서 데이터 송수신 시스템 구축
주요 기능 및 구현 과정
  • 건설 현장 근무자 및 관리자 근태, 접근 기능 구현
  • 콘크리트 데이터 베이스 저장 후 캐시 설정
  • 콘크리트 데이터 송수신 및 경화 완료일 예측 및 캘린더 자동 기록
성과 및 느낀점
  • NextJS 프레임워크를 통해 Javascript 언어에 익숙해짐
  • SpringBoot 프레임워크를 통해 백엔드 구조 및 통신 환경 구현
  • 현장 상황에 대한 이해를 바탕으로 기술 선정 및 아키텍처 설계
Github https://hanyangcapstoneproject.github.io/peanut/