본 서비스와 제휴를 맺은 대형 주차장(놀이공원, 대형마트 등)의 주차 현황을 드론을 통해서 관제 후, 운전자에게 웹/앱으로 제공함으로써, 주차 시 낭비되는 시간을 감축하여 편이를 제공하는 서비스를 구축하는 것이 목표이다. 기존 실내주차장에서의 센서를 통한 인식은 실외주차장에서 설치 및 유지에 어려움이 있어, 실외주차장에서는 사용중이지 않다. 번호판 인식을 통한 차량 출입은 파악이 가능하나, 현 주차장내의 주차현황을 제공하는 일명 스마트 주차장은 극히 드물다. 이러한 현 상황에 인공지능 모델 YOLO를 사용하면 보다 쉽게 주차관제가 가능할 것으로 예측되어 해당 모델을 사용할 것이다. 차량인식을 통한 주차관제를 하며 웹앱 구동을 목적으로 하기 때문에, model의 크기를 최소화하기 위해 YOLOv8n(nano)을 사용할 것이다. 또한, 드론을 통한 관제를 위해서, 높은 고도에서 차량을 수직으로 촬영한 top view의 car dataset으로 모델을 학습할 예정이다.

[그림 2.드론화각에 의한 영상촬영 범위(좌) 한 주차면의 규격(우)]
국토 교통부에 의하면 25kg이하의 무인동력비행장치는 150m미만의 고도에서 비행승인 없이 비행이 가능하다. 이를 토대로 드론을 150m의 고도에 위치 시킨다고 가정한다. MAVIC 2 PRO 모델의 렌즈화각은 75도 이다. 일반화하여 드론의 화각을 60도로 계산하고, 해상도를 고려해 16:9의 비율로 지면을 수직으로 촬영시, 폭 173.2m 높이 97.4m 면적을 촬영 가능하다. 드론으로 촬영하는 지면의 절반의 면적을 주차장내 통행로라 감안해도, 약 600면의 주차면 관제가 가능하게된다. 기존 스마트 공영주차장에서의 CCTV 기반 관제는 12면 정도인것에 비교해 드론 한대로 50배에 가까운 주차면 관제가 가능할 것으로 예상한다.

[그림 3.시스템 워크플로우]
계획한 시스템 워크플로우이다. 드론을 활용해 대형 주차장의 영상을 실시간으로 취득한다. 해당 영상 속 차량을 YOLOv8n 모델을 활용해 인식한다. 이때, 드론으로 촬영중인 영상속에서의 실시간 차량의 pixel 위치를 bounding box를 통해서 구할 수 있다. opencv를 활용하여 드론으로 촬영중인 주차장의 영상의 한 프레임을 읽어온다. 해당 프레임을 기반으로 하여 주차장의 주차면에 해당하는 부분을 마찬가지로 opencv를 활용해 frame을 제작한다. 이 frame도 bounding box와 동일하게 주차장 영상에서의 주차면 pixel 위치를 가지고 있다.

[그림 4.주차관제 알고리즘]
위의 알고리즘으로 주차 상태를 관제할 계획이다. bounding box의 중앙점 pixel값과 미리 제작한 frame의 중앙점 pixel값의 거리차가 일정 임계치보다 이하 일 경우, bounding box(실질적 차량)가 frame(주차면) 에 가까운 거리에 있어, 주차되어있다는 것으로 계산 및 구현하는 것이 목표이다.
주차관제의 결과를 활용하여, 운전자를 위해서 주차하기 가장 쉬운 위치와 건물의 목적지(입구 등)와 가장 가까운 위치의 주차면을 추천하는 서비스도 구상중이다. 주차장의 영상을 index화하여 Array를 생성한뒤, 2차원 Array를 기반으로 주차하기 쉬운 주차면과 목적지와 가까운 주차면을 선정하여 운전자에게 제공할 것이다. 차량이 주차된 곳, 비어있는 곳, 건물의 입구, 도로, 도로가 아닌 곳 등으로 영상을 index화 한뒤, node와 목적지간의 최단거리를 계산하는 데에 사용되는 A*(A star) 알고리즘을 활용해 운전자가 가고싶어하는 목적지와 가장 가까운 주차면을 추천해주고, 인접한 주차면에 비어있는 주차면이 가장 많은 곳을 주차하기 쉬운 주차면으로 선정할 것이다.
주차관제의 결과는 주차면의 index별로 database에 저장될 것이다. database에 저장된 주차현황은 웹앱을 통해서, 운전자에게 제공될 것이다. 드론을 통한 관제에는 한계가 존재한다. 드론은 충전식으로 구동하기 때문에, 배터리가 다 된 드론은 재충전을 한뒤, 다시 촬영 point로 날아가, 주차관제를 해야한다. 이때, 드론으로 촬영하는 영상이 기존의 영상에서 rotate될 수 있다. 드론 영상에 대해 처음 제작한 frame을 기준으로 bounding box와의 거리를 계산해 관제하기 때문에, frame을 기준으로 드론의 영상을 취득해야한다. rotate된 영상에 대한 새로운 frame을 재촬영마다 다시 제작하는 것엔 기능적 효율 문제가 있기 때문에, 이런점을 SIFT 매칭 알고리즘을 통해서 극복할 계획이다. 주차장내에 위치한 차량은 동적인 영상요소이기 때문에 detection model을 통해서 차량의 bounding box를 검출한뒤, 이를 masking해 다른 정적인 요소를 통해서 matching알고리즘을 진행할 예정이다. 앞선 기술들을 활용하여, 대형 실외 주차장에서의 관제 및 위치 추천을 구현하여 운전자의 주차공간 탐색에 대한 불편함을 해소하는 것이 본 서비스의 목적이다.

[그림 5. 화면설계도]
구현된 인공지능 알고리즘을 토대로 운전자, 즉 서비스 사용자들에게 제공할 웹앱 서비스를 구현한다. 첫번째로 로그인, 회원가입이 가능한 페이지를 메인으로 하며, 구글 및 카카오톡 소셜 로그인도 가능하게 한다.
로그인을 성공하게 되면 이용하고자 하는 주차장을 선택할 수 있는 Map main페이지가 나타나고 카카오맵api를 활용한 지도와 주차장을 직접 search 할 수 있는 검색창을 제공한다. 지도상에서 원하는 장소를 push 하게 되면 주차장의 이름과 전체 주차자리 수와 주차 가능한 자리 수가 나타나게 된다.
Map main페이지에서 사용하고자 하는 주차장을 선택하였을 경우 실제 주차 공간 및 주차여부를 확인할 수 있는 Park main페이지로 이동하게 된다. 본 페이지에서는 실제 주차환경을 이미지로 나타내며, 주차 가능한 자리는 초록색, 이미 주차가 완료되어 주차가 불가능한 자리는 붉은색으로 표시한다. 그리고 하단에 “Easiest to park” button을 push 하게 되면 주위에 주차된 차량이 가장적은 주차공간이 파란색으로 나타나게 된다. “Closest to Entry” 는 설정된 건물의 입구를 주차 가능한 거리를 계산하여 입구에서 가장 가까운 자리를 표시해준다.