이제는 사용하지 않는 공부방/Artificial intelligence

[이해] 자율주행차의 원리 Self driving cars

환상상상속상 2021. 1. 10. 11:04

앞서 배운 머신러닝의 개념을 기본으로 자율주행차의 원리를 설명하고자 한다.

 

결론부터 말하자면 label이 달린 data가 있고, 그 결과 어떤 action을 취할 지 정한다.

 

이 action은 방향을 조절하는데 길이 왼쪽으로 휘어진다면 반시계방향으로 조종하므로 음수가 되고

오른쪽으로 휘어진다면 시계방향으로 조종하므로 양수가 된다.

즉, 머신러닝은 이미지를 input으로 받고, 결과로써 어떻게 회전할지를 정하게 된다.

 

input data인 이미지를 전처리하여 알고리즘에 사용할 수 있도록 바꿔주자.

rgb 이미지를 greyscale로 바꿔주고, greyscale의 차원을 축소하여 single row로 바꿔준다.

00 11 12 00 00     -->   00111200000232430100 으로 변화가 이뤄진다.

02 32 43 01 00

 

이런 식으로 모든 Input을 바꿔준다.

 

본격적으로 training 하기 위해서 model parameter을 랜덤으로 뽑아준다.

그리고 weight와 input data를 이용해서 prediction을 뽑아내고 label과 비교해본다.

예를 들어서, prediction이 39이고 실제 label이 -5라고 하면 Loss는 44가 된다.

 

[w1*x1 + w2*x2...... + w15*x15 + w16*x16]

[ 1*00 + -3*00 +...1*10 + -7*14 ] = 39

 

이 loss가 0에 가까워지도록 메카니즘을 사용하여 weight를 update한다.

 

자 이제 우리는 optimized weights를 가지고 있다. 

길을 보면 거의 정확하게 예측이 가능한 것이다!!

 

관련 내용은 아래 링크와 같다.

 

martian07.github.io/intuitiveAI/car_ai.html

 

Self driving car

Most of the self-driving cars uses images to decide their action. Like if you see a right turn, you turn your steering clockwise some unit and if left then anti-clockwise to some unit and this keeps your car smoothly on the road, similarly a ML model takes

martian07.github.io