컴퓨터비전 공부하려면 자율주행 인공지능 프로젝트 해야하는 이유

#자율주행 인공지능 #자율주행 자동차 #컴퓨터비전 공부


| 01. 인공지능, 컴퓨터비전, 자율주행 … 요새 왜 이렇게 핫한가요?

자율주행 자동차


자동차 분야에서 인공지능은 어떤 영향을 미치고 있을까요? 최근 들어 인공지능이 다시 부각되는 이유는 무엇일까요? 빅데이터와 클라우드 기술이 발전함에 따라 과거에 비해 수집된 자료량이 엄청나게 늘어났을 뿐만 아니라 컴퓨터 자체의 성능도 날이 갈수록 좋아지고 있기 때문에 방대한 자료 처리에 필요한 계산량을 뒷받침하는 것이 가장 큰 요인으로 볼 수 있는데요.

그만큼 자동화와 효율성에 대한 수요가 급증하는 과정 속에서 “컴퓨터비전 AI의 쾌속성장”에 대한 기대가 점차 발전하고 있는 것으로 보입니다. 컴퓨터비전 공부에 대한 기대가 커지고 있는 현상은 특히나 컴퓨터비전 기술의 주요 이점 9가지와 대표 적용 사례인 자율주행 인공지능과 관련이 깊은데요.

컴퓨터비전 기술에 대한 기대가 커지고 있는 현상은 특히나 컴퓨터비전 기술의 주요 이점 9가지와 대표 적용 사례인 자율주행 인공지능과 관련이 깊은데요.


🔎 컴퓨터비전이란?

컴퓨터가 디지털 이미지나 비디오에서 정보를 추출하고 해석하여 특정 작업을 수행하는 컴퓨터 과학 분야이다. 쉽게 말하자면 기계에 ‘눈’을 달아주는 것으로, 컴퓨터가 이미지와 비디오 데이터를 분석하고 해석하는 기술!

💡 컴퓨터비전 기술 주요 이점 9가지

: 컴퓨터비전 분야에서 활용되는 대표적인 이점들은 아래와 같습니다.

1) 생산성 향상
컴퓨터비전은 수동적인 작업을 자동화하여 전반적인 업무 효율성을 증가시킨다.

2) 높은 정확도 및 정밀도
인공지능과 딥러닝 기반의 영상 처리 기술은 사람이 수행하기 어려운 정밀 작업도 높은 정확도로 수행할 수 있다. 이를 통해 제품 품질 관리, 의료 진단, 감시 부문 등에서의 정확성이 개선된다.

3) 실시간 처리
컴퓨터비전 알고리즘을 사용하면 실시간으로 영상 데이터를 처리하고 분석할 수 있어, 보안, 교통 관리 등 실시간 분석이 필요한 분야에 적합하다.

4) 치밀한 패턴 및 인사이트 발굴
컴퓨터비전은 대량의 영상데이터로부터 중요한 패턴과 인사이트를 발견할 수 있다. 이를 활용하여 모니터링, 광고 산업, 온라인 쇼핑, 소비자 분석 등에서 좀 더 효과적인 전략을 수립할 수 있다.

5) 재고 및 물류 관리 효율 향상
컴퓨터비전 기술은 제품 인식 및 분류, 매장 재고 관리, 실시간 추적 등 물류 및 재고 관리의 효율성을 증진시킨다.

6) 안정성 증진
컴퓨터비전은 폐쇄회로 영상에서 이상 행위를 검출하거나 자율주행 자동차 사고 예방 등으로 안전성을 높여주는 역할을 한다.

7) 의료 진단의 정확성 향상
의료 영상에서 패턴을 인식해 정밀한 진단을 가능케하며, 이로 인해 의사의 판단에 도움을 주어 환자 치료의 성공률이 높인다.

8) 효율적인 농업
농업은 정밀 농업을 위해 컴퓨터비전을 수용한다. 카메라와 AI가 장착된 드론은 작물 상태를 모니터링하고 질병을 감지하며 관개를 최적화하여 작물 수확량을 늘리고 자원 낭비를 줄일 수 있다.

9) 다양한 산업 분야에 걸쳐 활용 가능
컴퓨터비전은 의료, 제조, 물류, 보안 등 다양한 산업 분야에 적용할 수 있어 활용 가능한 영역이 광범위하다.

컴퓨터비전 알고리즘

TIPS ❗ 효과적인 컴퓨터 비전 공부 방법 소개

위와 같이 광범위하게 사용되는 ‘컴퓨터비전’을 제대로 공부하려면 어떻게 해야 할지 STEP별로 소개해드릴게요. 이번 파트에서 다 같이 알아봅시다!

STEP1. 기본 지식 습득

1) 선수 지식: 선형 대수, 확률 및 통계, 파이썬 프로그래밍에 대한 기본 지식 필요

2) 기본 이미지 처리: 이미지의 픽셀, 색상 공간, 필터링, 히스토그램 등의 기본적인 이미지 처리 기법 학습

3) 딥러닝 기본 지식
- 딥러닝 이론: 신경망, 역전파, 활성화 함수, 손실 함수, 최적화 기법 등의 기본적인 딥러닝 개념 학습

- PyTorch 튜토리얼: PyTorch는 컴퓨터 비전 및 딥러닝 연구에서 널리 사용되는 프레임워크입니다. PyTorch 공식 튜토리얼을 통해 기본 사용법과 신경망 구현 방법을 학습합니다.

4) 컴퓨터 비전 딥러닝
- CS231n: 스탠퍼드 대학교에서 제공하는 CS231n 강좌는 컴퓨터 비전에 딥러닝을 적용하는 방법을 깊게 다룹니다. 강의 노트와 동영상을 통해 학습하며, 과제를 직접 수행해보는 것이 좋습니다.

- 모델 구현: 간단한 CNN 모델부터 시작하여 점차 복잡한 모델을 구현해봅니다. 예를 들어, VGG, ResNet, EfficientNet 등의 모델을 PyTorch로 구현해봅니다.

STEP2. 논문 활용


AI 분야는 몇 년간 급속도로 발전했기 때문에 정리된 한글 자료를 찾기 힘든 경우가 많습니다. 때문에 다양한 AI 기술을 공부하기 위해서는 논문을 보면서 필요한 정보를 습득할 필요가 있는데요. 하지만 논문은 대부분 영어로 기술되어 있고, 의미를 이해하는 데 어려움을 겪는 경우가 존재합니다. 논문을 많이 읽으면서 논문을 보는 스킬을 키워나가는 것도 중요하지만 처음에는 어려운 경우가 크기 때문에 논문 ‘리뷰’를 함께 참고하는 것이 좋습니다. 구글에 논문 이름을 검색하면 한글로 리뷰를 한 블로그도 많고, ‘pr12’라는 유튜브 딥러닝 논문 읽기 모임에서는 유튜브에서 탑티어 학회에 공개된 유명한 논문을 리뷰해 주기 때문에 적극 활용하면 빠르게 논문을 이해할 수 있습니다.

사실 원하는 논문을 찾는 것 조차 쉽지 않은데요. 특정 분야에서 유명한 논문들을 찾기 위해서는 머신러닝의 다양한 분야의 프로젝트별 벤치마크를 제공하는 Paper With Code라는 사이트를 이용하면 편리합니다. 굉장히 다양한 머신러닝 분야의 정보를 제공하기 때문에 연구 주제를 찾거나 특정 주제의 논문 순위를 보고 싶을 때 유용한 사이트입니다.

STEP3. 사람들과의 의견 공유 (feat. 카0오톡 오픈채팅방, 커뮤니티 등)


컴퓨터 비전 공부를 위해서는 사람들과 의견을 주고받는 것도 중요합니다.
대학원생의 경우 랩실에서 논문 발표 등의 세미나를 통해 서로 공부한 내용을 발표하고 의견을 주고받습니다. 이 과정이 혼자 공부하는 것보다 훨씬 빠르게 성장시켜줄 수 있는데요. 대학원생이 아니더라도 딥러닝 논문읽기 모임이나 온라인/오프라인 세미나가 있기 때문에 적극 활용하시면 큰 도움이 될 것 같습니다.

이뿐아니라 카0오톡 오픈채팅방이나 페0스북 커뮤니티 등에서 관련 공부를 하는 사람들과 의견을 공유하고 의문이 드는 부분은 함께 고민하면서 컴퓨터 비전 관련 지식을 함께 탐구할 수 있다는 점이 가장 키 포인트라고 볼 수 있겠네요!

STEP4. 실무 역량 쌓기 - 실전 프로젝트, 논문 - 코드, 캐글 사이트, 회사 실무 프로젝트


1. 프로젝트 진행
하나의 문제를 정의하고 그 문제를 해결하기 위한 머신러닝 모델 개발을 진행하면서 생기는 각종 문제들을 하나씩 해결해 보는 경험은 이론으로만 배웠던 개념들을 내 것으로 만들 수 있는 좋은 기회입니다. 작은 프로젝트라 할지라도 데이터나 머신러닝 모델, 학습 하이퍼파라미터, 전후처리 기능들을 수정하면서 결과를 분석하다보면 실무적인 감각을 익히는 데 도움이 됩니다.

예를들어,

- 자율주행 인공지능 프로젝트: ‘자율주행’과 관련된 데이터셋을 활용하여 실제 문제를 해결하는 프로젝트를 수행합니다.

- 데이터셋 탐색: Kaggle, UCI, ImageNet 등의 데이터셋을 활용하여 실제 문제를 해결해봅니다.

- 깃허브 탐색: 관련 분야의 연구자나 개발자의 깃허브를 탐색하여 최신 연구나 코드를 학습합니다.


2. 논문과 코드를 페어로 보며 이해하는 것
관심 있는 도메인에서 다양한 문제를 어떤 방법으로 해결하는지 여러 논문과 공개된 공식 코드를 함께 보면서 이해하면 큰 도움이 됩니다. 또한 논문을 보면서 코드를 직접 구현해 보고 공식 코드와 성능이 어느 정도 차이 나는지 비교해보고 차이가 난다면 어떤 부분에서 차이가 생긴 것인지 찾아보는 과정도 큰 도움이 됩니다.


3. 캐글 사이트 적극 활용
‘캐글’은 머신러닝과 데이터 사이언스 커뮤니티로 각종 머신러닝 문제를 해결하는 대회에 참여할 수 있고 이미 종료된 대회에서도 머신러닝 모델을 개발해서 성능 순위를 확인할 수 있습니다. 내 순위를 확인할 수 있고 순위가 높은 사람의 노하우를 참고할 수 있기에 가장 빠르게 실무 역량을 향상시킬 수 있는 방법이라고 보여지네요!


4. 회사에서 맡은 프로젝트를 진행하며 자연스레 실무 역량 키우기
회사에서 경험하는 실무에서는 머신러닝 모델 개발뿐만 아니라 비즈니스 문제를 해결하기 위해 고려해야 할 사항들을 배울 수 있습니다. 또한 모델 배포나 MLOps 관점의 업무를 경험할 수도 있기에 자연스레 실무 역량을 키우는 데 도움이 될 것 같습니다.

정리하자면,


1. 실습 중심 학습: 이론만 공부하는 것보다는 작은 프로젝트나 코드를 직접 구현해보면서 학습하는 것이 효과적입니다.

2. 깃허브 활용: 다양한 연구자나 개발자의 깃허브를 탐색하여 최신 연구나 코드를 학습하고, 자신의 프로젝트나 코드도 깃허브에 업로드하여 포트폴리오를 만들어보세요.

3. 딥러닝 환경 구축: 로컬 환경 또는 클라우드 환경에서 딥러닝 환경을 구축하고, 실제 데이터를 활용하여 모델을 학습시켜보세요.

4. 논문 활용: 다양한 AI 기술을 공부하기 위해서는 논문을 보면서 필요한 정보를 습득할 필요가 있는데요. 하지만 논문은 대부분 영어로 기술되어 있고, 의미를 이해하는 데 어려움을 겪는 경우가 존재합니다. 논문을 많이 읽으면서 논문을 보는 스킬을 키워나가는 것도 중요하지만 처음에는 어려운 경우가 크기 때문에 논문 ‘리뷰’를 함께 참고하는 것도 추천드려요.

5. 커뮤니티 활동: 관련 분야의 온라인 커뮤니티나 스터디 그룹, 카0오톡 오픈채팅 등에 참여하여 정보를 공유하고 피드백을 받는 것도 좋습니다.

6. 실무 역량 쌓기: 실전 프로젝트 진행, 논문 - 코드 페어로 보며 이해하기, 캐글 사이트 이용, 회사 실무 프로젝트 참여 등을 통해 실무 역량을 쌓아보는 것도 도움이 됩니다.

📌패스트캠퍼스 컴퓨터비전 학습 가이드도 참고해보세요! : https://fastcampus.co.kr/impact_all_computervision

(참고한 정보 출처: AI 엔지니어 첫걸음 브런치_https://brunch.co.kr/@dc6d817eaf3b480/44)


네, 그렇다면 이러한 이점을 가진 컴퓨터비전 공부의 대표 적용 사례인 자율주행 인공지능에 대해 알아볼까요?
자율주행 자동차는 다양한 센서와 컴퓨터비전 기술을 활용하여 자동차가 주목해야 할 물체를 인식하고 회피하는 등의 기능을 수행합니다. 이를 위해 컴퓨터비전 기술이 활용되는데요. 컴퓨터비전 자율주행 기술은 주변 환경을 판별하고 인식하는 데에 매우 중요한 역할을 합니다. 아래와 같은 기능에서 컴퓨터비전의 활약을 찾아보실 수 있습니다.

- Object Recognition
CCTV, 레이더, LIDAR 등에서 주변 환경의 물체를 탐지하는 센서 정보와 카메라로 찍은 이미지(컴퓨터비전 알고리즘)를 조합하여 시야 안에서의 물체 인식을 수행합니다. 자동차는 이를 바탕으로 차선, 차량, 보행자 등의 물체를 인식하고 주변 환경을 인식할 수 있습니다.

- Vehicle Recognition CCTV, 레이더, LIDAR 센서 데이터와 카메라를 조합하여 타 차량이나 버스, 트럭 등의 차량을 감지하고 인식합니다. 자동차는 이 정보를 활용하여 타 차량과의 거리와 속도 등을 파악하며, 안전 운전을 수행합니다.

- Lane Detection
카메라 영상을 분석하여 도로 위의 차선을 인식하고 판별합니다. 이를 기반으로 자동차 위치 정보와 차선 이탈 여부를 판단하고, 안전한 주행을 수행합니다.

- Traffic Sign Recognition
자동차에 장착된 카메라가 교통 신호판 정보를 수집하고 신호의 종류와 위치 등을 인식할 수 있습니다. 이를 통해 교통 신호 정보를 파악하며, 경보음과 같은 방식으로 운전자에게 정보를 전달합니다.


| 02. 그럼 현재 자율주행 자동차 시장은 어떤가요?

이처럼 컴퓨터비전 알고리즘을 사용하는 자율주행 자동차 기술에 대한 관심은 최근 테슬라의 오토파일럿을 경험한 후 부쩍 상승하고 있는 추세입니다.
미국 자동차 공학회 SAE(Society of Automotive Engineers)에서 정의하고, 사실상 업계 표준으로 활용되는 자율주행 기술 단계별 분류를 확인해보면 현재는 자율주행 레벨 3단계 양산 진행중이자, 4단계의 자율주행 기술 개발 및 프로토타입 테스트가 진행되고 있다고 합니다.

즉, 레벨 4 이상의 자율주행 기술이 본격적으로 상용화되는 시점은 2030년 경*으로, 눈 앞에 다가온 미래를 위해 대부분의 자동차 회사는 물론 구글, 애플 등의 IT 기업까지 레벨 4~5 자율주행 기술 개발에 매진하고 있습니다.

*기술 관련 컨설팅 업체 스트래티지 애널리틱스(Strategy Analytics)에 따른 미국자동차공학회(SAE) 기준

자율주행 자동차 기술

*사진 출처: EVPOST

이처럼 자율주행 레벨은 0에서 레벨5까지 총 6단계로 세분화되어 있으며, 레벨별 기술수준과 제어의 주체와 주행 책임이 다르다고 볼 수 있는데요!
따라서 앞으로의 자율주행 기술은 도로 환경만 바꾸는 게 아니라 완전 자율주행 기술이 상용화되면 운전대가 사라지면서 실내 공간 구성과 자동차 이용 행태가 달라지고, 우리의 라이프 스타일과 우리 주위 다양한 산업에도 큰 변화가 생길 것으로 예상이 됩니다.

🖐🏻그렇다면 여기서 잠깐!
빠르게 성장 고도를 달리고 있는 자율주행 인공지능이 컴퓨터비전 알고리즘과 밀접한 관련이 있음을 현 자율주행 자동차 구현의 포인트 기술들레벨별 상용화 단계에 따라 확인해보았는데요. 그렇다면 지금부터 도대체 왜 컴퓨터비전의 대표 결과물을 자율주행 시스템 구현으로 볼 수 있는지, 두 개념은 왜 뗄레야 뗄 수 없는 관계가 된 것인지를 조금 더 구체적으로 살펴보겠습니다.


| 03. 컴퓨터비전과 자율주행의 관련성

Q. 왜 컴퓨터비전의 대표 결과물을 자율주행 시스템 구현으로 볼 수 있을까요?

주행(운전)이라는 것은 운전자가 상황을 인식하고 판단하여 핸들, 액셀, 브레이크 등을 제어하여 차량을 움직이는 것을 의미하는데, 자율주행 인공지능은 이러한 운전자의 역할을 차량이 하여 스스로 차량을 움직이는 기술로 표현할 수 있습니다. 이 때, 운전자 눈 역할을 하는 것이 차량의 센서와 컴퓨터비전 기술이라고 볼 수 있습니다. 컴퓨터비전 기술이 자율주행 시스템의 핵심 기술로 인식되고 있는 것이죠!

Q2. 그렇다면 자율주행 프로젝트 구현의 핵심 포인트는 '기술 간 연계성’이다?

자율주행은 차량이 운전자의 역할까지 스스로하여 차량을 움직이는 기술이라고 위에서 언급했듯이, 이때의 운전자의 역할은 눈 등의 오감을 통해 상황을 인식하고, 두뇌를 이용하여 판단하고, 발, 손 등을 통해 차량을 제어 등으로 나눌 수 있습니다. 이 각각의 역할을 해주는 것이 Perception, 센서 퓨전, Slam, Motion Planning, Control까지로 볼 수 있습니다. 사람의 각 신체가 유기적인 관계가 있듯이, 6가지 기술이 모두 유기적으로 동작해야 자율주행 기술이 구현될 수 있는 것이라 볼 수 있죠.

더불어 자율주행 인공지능 구현에서 기술 간 연계가 중요하다는 사항은 현 자율주행 시장 내 단일 기술 및 혼합 기술 사용대기업 자율주행개발팀 직무인터뷰에서도 확인할 수 있습니다.

📱 현 자율주행 시장 내 단일 기술 및 혼합 기술 사용
현재 자율주행 시장에서는 카메라라는 단일 기술만 사용하는 테슬라를 포함하여 카메라+슬램, 라이다+슬램 기술을 혼합해서 사용하는 경우가 많기 때문에 기술 하나 하나에 대한 이해와 더불어 각 기술이 어떻게 혼합되어 사용되는지, 그리고 각 기술이 어떠한 관계로 이루어져 있는지를 파악하는 것이 중요합니다.

🎤 대기업 자율주행개발팀 직무인터뷰
현대자동차 자율주행SW부서 팀장 曰, “카메라, 라이다, 레이더, 정밀 지도, 초음파 등의 다양한 센서를 기반으로 자율주행SW의 핵심이 되는 딥러닝 기술을 활용해 차량 주변의 환경을 정확히 인지하고, 주어진 주행 상황과 목적에 맞게 차량이 해야 할 행동을 판단하고, 차량을 안전하게 제어하는 기술을 연구하는 부서이고…”

따라서 인지 - 판단 - 제어 시스템, 즉 자율주행 프로젝트를 구현할 수 있는 기술 전 과정을 파악하고 있는 인물들을 채용한다는 현직자의 언급은 자율주행 구현 기술 전 과정의 연계를 파악하는 게 중요함을 보여주는 반증이라고 볼 수 있습니다.


| 04. 자율주행 구현 필수 기술 6가지

그렇다면 자율주행 인공지능 구현을 위한 기술을 안 짚고 넘어갈 수 없겠죠.

자율주행 자동차의 시스템과 기반 기술
1) 주행환경 인지 (센서기술, 정밀지도 및 즉위, 통신기술)
: Camera - 자율주행의 눈 역할을 하는 기술 / LiDAR sensor - 다른 사물과의 거리 측정 기술 / Sensor Fusion - 주행 정확도를 향상시키는 기술 / SLAM - 자동차의 위치 정보를 확인하는 기술

2) 판단/주행전략 (판단/주행제어 시스템, 학습형 제어시스템, 주행속도 및 경로 기록)
: Motion Planning - 목적지까지 주행 경로를 계획하는 기술

3) 차량제어 (통합 차량제어 솔루션, ITS)
: Control - 경로 계획 기반 차량을 제어하는 기술


| 05. 자율주행 프로젝트 현업자에게 자율주행에 대해 묻다

마지막으로는 제일 중요한 주제였던, 제목에 대한 답을 들어볼 시간입니다.

“컴퓨터비전 공부하려면 자율주행 인공지능 프로젝트를 해야 하는 이유”

전공자들에게 이러한 자율주행 프로젝트를 추천하는 이유는 다음과 같습니다. 컴퓨터비전 전공자들이 특히 궁금해하는 질문 위주로 함께 확인해봅시다!

Q. 컴퓨터비전 엔지니어, 대학원생, 연구실 인턴 등 자율주행을 구현해보는 프로젝트를 해보는 것이 좋을까요?
구현 프로젝트를 해본다면 전공생으로서, 엔지니어로서 어떤 점에서 메리트나 인사이트를 얻을 수 있을까요?
특히 자율주행 시스템 구현이 전공자들에게는 어떤 의미로 다가올까요?


자율주행 시스템에서의 컴퓨터비전 기술은 하나의 시스템에서 두가지 이상의 컴퓨터비전 기술이 복합적으로 쓰이는 경우가 많기에, 현업에서 필요로 하는 업무 역량을 쌓을 수 있는 대표적인 도메인인 것 같습니다. 다시 말해 직접 현업에 뛰어들어 업무 과제를 맡게 되면, 하나의 알고리즘을 사용하는 과제를 하게 될 수 있지만, 대부분은 2개 이상의 알고리즘이 사용되는 과제를 하게 될 확률이 높습니다. 이런 과제를 처음 해보면 알고리즘 Flow 작성, 프로그램 연동, 업무 처리 방식 등에서 어려움을 겪을 수 있는데요. 자율주행 인공지능 프로젝트는 이런 과제의 업무들을 경험해보고 회사에 맡는 인재로 성장할 수 있는 좋은 Step이기에 추천합니다. 이와 더불어 컴퓨터비전 일부 기술의 알고리즘 전 과정이 녹아있는 커리큘럼이 자율주행 시스템이기에, 본인의 컴퓨터비전 알고리즘 지식을 점검해보거나 구현을 통해 남들과는 다른 경쟁력을 얻고 싶다면 자율주행 프로젝트를 해보는 걸 추천해요.


컴퓨터비전 알고리즘 기반 자율주행 시스템 구현해보고 싶다면, 패스트 캠퍼스 강의로 입문해보시는 건 어떨까요?
국내 최초/유일* 자율주행을 위한 컴퓨터비전과 라이다 & 센서퓨전까지 한 번에 다루는 강의 지금 경험해보세요.

*2023년 9월 기준 온라인 성인 교육 플랫폼 대상

아래 [강의 보러가기]를 클릭하여 자율주행 구현 풀커버 커리큘럼을 확인해 보세요!
🚪 자율주행 구현 마스터하러 오신 여러분을 환영합니다.

💜 지금 패캐머들이 수강하고 있는 자율주행 강의가 궁금하다면?

✔️ 인지 - 판단 - 제어 자율주행 3STEP 전 과정 학습 / 자율주행 ADAS & DMS System 구현
✔️ 총 52가지 프로젝트 실습을 통한 자율주행 마스터
✔️LG, StradVision, MORAI, SOCAR 출신 자율주행분야 전문가 직강

이 글과 연관된 주제의 추천 강의