IT

빈 주차공간 찾아서 알려주는 인공지능 만든 개발자

Aedi_ 2019. 2. 6. 18:22

주차공간 찾아주는 인공지능 만든 개발자


도시에 사는 사람이라면 한번쯤은 주차 때문에 골머리를 썩은 경험 있으실텐데요. 약속장소에 도착했지만 주차할 곳을 찾기못해 한참을 해메거나 아파트 주차장에서 빈자리를 찾아 2-3바퀴 단지를 돌아본 경험 한 두번쯤은 있으실 겁니다.


대분의 사람들은 "아휴~ 주차하기 짜증나네, 차를 끌고 다니지 말자!" 해왔지만 오늘 소개해 드릴 사람은 본인의 특기를 살려 아주 스마트하게 주차를 할 수 있는 인공지능을 개발한 사람입니다.


인공지능을 개발했다고 하니 아무나 못하는거아냐?라는 생각이 드는데, 이 개발자는 본인은 남들이 다 만들어 놓은 소스를 간단히 엮어서 아주 손쉽게 개발했다고 설명(or 자랑)하는데요. 오늘은 빈 주차공간을 파악해 SMS로 알려주는 인공지능을 개발한 Adam Geuigey의 이야기를 들려드리도록 하겠습니다.


그는 딥러닝을 활용해 어떤 문제를 해결하려면 자신이 해결하고자 하는 문제를 단순화하고 단계별로 정리해서 하나씩 문제를 해결하는 것이 효과적이라 설명 합니다.



그는 총 4단계로 자신이 해결해야할 문제를 단순화 했습니다. 주차공간을 인식하고, 자동차를 식별한 후 주차공간이 새로 생기면 SMS로 발송하는 것이죠.


첫째로 주차공간을 인식하기 위해서 그는 자신의 집 근처의 공공 CCTV를 이용하기로 합니다. 그리고 도로변의 주차공간을 인식하기 위해 다양한 방법을 시도했는데요. 처음에는 주차미터기를 인식하고 그 옆의 도로를 주차장으로 인식하는 방식을 검토했습니다.


하지만 주차미터가 없는 곳도 있기 때문에 이 방식은 포기하게 됩니다. 그 다음에는 주차장 바닥에 있는 노란색표시를 활용하는 방안을 검토했는데 주차장 표시가 너무 작아서 인식이 어려워서 이 방식도 포기하게 됩니다.



그는 자신이 개발한 인공지능을 다른사람들도 손쉽게 활용할 수 있도록 고민한 끝에 단순하지만 확실하게 주차공간을 인식하는 방식 만들었습니다. 그는 자동차가 한곳에 오랫동안 머물렀다면 그곳을 주차공간으로 인식하는 방식을 적용했는데, 이 방식은 주차미터기를 사용하지 않거나 주차장 마크가 다른 국가에서도 모두 사용 가능하기 때문에 범용성을 확보할 수 있었습니다.


두번째 문제는 자동차를 인식하는 모델을 만드는 것인데, 자동차는 머신러닝에서 가장 널리 사용되는 대상중 하나이기 때문에 그는 별도로 신경망을 학습시킬 필요없이 잘 학습된 Masked R-CNN 모델을 활용하기로 합니다.


Masked R-CNN Model


세번째는 주차공간을 인식하는 문제 입니다. 그는 주차된 차들이 인식된 박스들이 겹쳐지는 부분이 있다는 사실을 발견하고 IoU 지수(두 박스가 겹쳐진 공간 / 두박스의 합한 공간)를 활용 IoU 0.15 이하라면 빈공간이 생겼다고 판단하도록 프로그래밍을 했습니다.



마지막으로 이렇게 빈 주차공간이 생기면 Twilio API를 사용 그에게 자동으로 문자메세지를 발송하도록 스크립트를 작성했습니다.


그는 자신이 개발한 파이썬 스크립트를 홈페이지에 공개했는데 이를 활용한다면 아파트 주차장 빈공간 찾기 등에 활용할 수 있을 것 같습니다.