안녕하세요. 여러분.


저는 요즘 새로운 퍼셉션 시스템에 대해서 고민하고 있습니다. 무인자동차를 정말로 urban environment에서

돌려보고 싶은 욕심이 있습니다. 저는 한국에서 돌아와서 지금까지 실제 Boss의 s/w infrastructure 와 perception

시스템의 소스 코드를 분석했습니다. 리눅스 커널을 들이 파데는 실력으로 코드를 보니 그리 어렵지 않게

전반적인 기능들의 흐름을 이해할 수 있었습니다. ( 리눅스 하시는 분들 열심히 리눅스 삽질 하세요...

그게 저력이 되는 거 같아요! ) 물론 내용을 (알고리즘, 이론등) 많이 이해하고 있어야 겠지요, 저는 지난 3년

동안 퍼셉션 이론들을 공부했으니까요, 뭐 그런 것들이 합쳐져서 지금처럼 작업을 할 수 있다고 생각합니다. 


도시 한 복판을 무인자동차로 운전을 할려면 어떤 퍼셉션 능력이 필요할까요 ? 무인자동차의 역사를 돌이켜보면

다음과 같은 환경 순서로 도전을 해 왔습니다.


- Highway driving

- Cross-country driving (off-road)

- Urban driving


초기의 무인자동차를 연구하는 사람들의 비젼은 상당히 높았습니다. 사람의 퍼셉션 능력에 도전장을 내놓았죠.

그때가 AI가 한창 무르익을 시기 였으니 그럴만도 하지요. 하지만 사람들은 금방 그것이 얼마나 어려운 일인지를

깨닫게 되고 고속도록 환경에서 무인자동차 실험을 하게 됩니다.  고속도로가 환경이 보다 제한적이고 쉽기 때문입니다.

시내 한복판은 너무나 다이나믹하고 복잡하잖아요.


그 다음에 사람들은 오프 로드환경으로 갑니다. 또는 cross-country driving이라고 불리기도 하는 이런 환경은

구조적이지 않은 그런 환경입니다. 사막 도로를 달리는 그런 것... DARPA 그랜드 챌린지가 그런 환경에서 테스트를

했던 것이지요. 그 다음이 바로 Urban driving 입니다. 도시 환경은 너무나도 어려운 환경입니다. 사람의 문명이

이룩해 논 구조화된 환경 !


많은 사람들과 자전거 탄 사람, 작은 동물들로 나타나고 각 종류의 자동차들 ... 교통신호와 표지들... 

무수히 많은 교통 법규들... 세심한 운전자들의 교감 ... 교통 순경의 교통 안내 상황등....


이런 환경을 대처하기 위해서 퍼셉션은 어떤 기능들을 가지고 있어야 할까요 ? 저는 나름대로 기능들을

정리해 보았습니다. 다음을 보시고 먼가 부족하다는 것이 생각되면 커멘트를 좀 주십시요.


- Road 에 대한 정보 ( 몇 차선이고 너비가 어떻게 되고 curvature가 어떻게 되는지등.)

- Static obstacle map ( 정적인 환경에 대한 맵 )

- Dynamic object list ( 동적인 물체들의 디텍션과 트랙킹, 자동차, 사람, 자전거, 동물, 유모차등...)

- 교통 신호등 / 표지판 정보


다음은 예외적인 경우의 구체적인 상황들을 정리해 보았습니다.


- 공사중 상황 처리

- 교통순경이 안내하는 상황 처리

- School bus 상황 처리

- ???


앞으로 제가 박사를 2년을 더할지 3년을 더할지 아무도 알 수 없지만, 저는 정말로 위의 문제를 풀어보고

싶네요. 그래고 데모까지 보여주고 싶은데, 안될까요 ?  정말이지 수식을 위한 수식과 논문을 쓰기위한

수식은 저에게 정말로 매력이 없습니다. 왜냐면 그것들이 너무나 쉽게 이해가 되는 반면 세상에 대한

임팩트는 아주 작기 때문입니다. 우리의 일상 생활에 영향을 미칠 수 있는 근사한 일을 하고 싶습니다.

나름대로 제가 처한 상황에서 찾은 답이 무인자동차의 퍼셉션인데요, 정말로 근사한 일일까요 ?


밤이 깊었군요. 자야죠.