Jetson & 머신러닝

[1] 신호등 신호 변경 인식 및 차량 출발 인식 방법

아크리엑터 2023. 1. 8. 19:51
반응형

차를 몰다가 교차로에서 대기할 때, 잠깐 눈을 감고 있을 때가 가끔 있다.
신호가 바뀐지를 모르고 있다가 뒤에서 빵빵 거리는 것, 옆자리의 아내가 딴짓하지 말고 빨리 출발하라는 핀잔을 주는 경우도 있고....
요즘 나오는 블랙박스에서는 앞차가 출발하는 것을 인식해서 안내해주는 기능이 있기는 하지만, 내가 맨 앞에 서 있을 경우, 신호가 바뀐 것은 인식하지 못한다. 그래서, "와이프2.0"이라는 가칭으로 "직진 신호로 바꼈어."라고 핀잔을 주는 멘트를 해주는 디바이스를 만들어볼까 해서 이 글을 적는다. 생각하지 2년이 지났지만, 바쁘다는 핑계로 미루다가...T.T
디바이스는 라즈베리파이에 카메라를 연결해서 차가 멈췄을 때만 작동하게 할 것이다. 차가 달릴 때는 필요없을 것 같고...
차가 서 있다는 것을 GPS가 아닌 카메라로 인식하여 주위의 이미지 변화가 크게 없으면 서 있는 것으로 인식하게 할 것이다. 앞에 차량이 있을 경우, 바로 앞의 차가 앞으로 가는 것은 크기가 작아진다는 것으로 인식을 하게 한다. 교차로의 맨 앞자리에 있을 경우에는 신호등을 인식하여, 신호등의 신호가 바뀌는 것을 알려주도록 한다. 내가 좌회전할지, 직진할지를 디바이스는 모르기 때문에, 신호변경되면 안내를 해주도록만 한다.
이것을 하기 위해서 집에서 남아돌고 있는 라즈베리파이3에 카메라를 연결해서 사용하려 한다. 카메라는 플랫 케이블로 연결하면 라즈베리를 앞유리에 붙여야 되어서, 모양이 안나올 듯 하여, USB카메라를 연결해서 사용해볼까 한다.
이미지 인식을 위해서는 "Yolo"를 이용하여 신호등의 신호를 인식하게 하려 한다.
Xavier에서 학습한 것을 라즈베리파이에 넣어서 사용하려고 하는데... ^^ 시험으로 인식해보니 잘 될 것 같은데....  1200번 학습한 결과를 갖고 기존 인식에 사용한 이미지로 우선 시험해본다.
사진의 화질에 따라 어떻게 작용할지는 모르겠다.. ^^ 사진 50여장을 갖고 학습 시킨 결과인데, 너무 잘 나온 것 같은데... 휴대폰 카메라로 찍은 사진과 라즈베리파이의 카메라로 찍은 사진 화질 차이가 있을 것 같아서, 다시 해봐야 할듯..
아래와 같이 빨간색 신호등을 "stop"으로 인식하였다.


좌회전 신호를 인식한 화면이다. 아래 사진은 멀리서 보이는 직진 신호와 좌회전 신호가 같이 인식되었는데, 최종 판단할 때는 인식된 신호등의 크기가 큰 것을 가까이에 있는 것으로 인식되도록 하여 내 신호를 인식하게 한다.
그리고, 크기가 비슷할 경우에는 내 기준에서 머리 위에 있는, 즉 중앙에 위치한 신호등에 우선 순위를 두도록 할 것이다.


아래 사진은 노란색 신호등을 인식한 경우이다. 노란색 신호는 홀로, 또는 빨간색과 같이, 어떤 경우에는 파란색과 같이도 표시되는 경우가 있다. 이런 경우에도 모두 경고로 인식하도록 하였다.


진행하던 과정을 두서없이 기록해본다.

반응형