카메라 센서는 이전에 설명한 대로 자율주행 시스템에서 중요한 역할을 하는 장치이지만 사용하기 위해서는 많은 사전작업이 필요하다. 하지만 기본원리는 기존에 사용하던 카메라와 다르지 않기에 어렵지는 않을 것이니 한번 알아보자
카메라 센서의 기본 원리
기본적으로 모든 카메라에서 빛은 카메라 렌즈를 통해 들어온다 이러한 상황에서 인지한 및을 어떤 방식으로 처리하느냐가 센서의 차이를 결정하는데, 렌즈에 들어오는 빛을 모아 이미지 센서에 투사 시 바꾸는 센서는 CCD나 CMOS 센서가 있다.
CCD(Charge-Coupled Device)
CCD 센서는 픽셀 배열로 구성되며, 각 픽셀은 빛을 전하로 변환한다 전하가 픽셀 간에 순차적으로 이동하여 최종적으로 아날로그 신호로 출력됩니다. 이 아날로그 신호는 디지털 신호로 변환되어 이미지가 생성되므로 CMOS보다는 많은 전력을 소모하게 된다 하지만 그런 단점에도 불구하고 낮은 조도환경에서 성능이 뛰어나고 노이즈가 낮기에 충분한 장점을 지니고 있다.
CMOS(Complementary Metal-Oxide-Semiconductor)
CMOS 센서는 각 픽셀이 독립적으로 빛을 전하로 변환하고, 이를 증폭하여 디지털 신호로 출력한다 CMOS 센서는 픽셀 안에 증폭기와 다른 회로를 포함하고 있어, 각 픽셀이 독립적으로 동작하기에 전송속도가 빠르며 다른 전자회로화의 조합이 자유롭다는 장점이 있다. 하지만 그만큼 CCD에 비해 노이즈가 많고 낮은 조도에서 선능이 떨어진다.
초점거리와 화각
기본적으로 인지하는 방식을 봤다면 이제 실제적으로 어떤방식으로 빛이 들어오는가를 생각할 차례다 여기서 이제 초점거리와 화각이라는 개념이 등장하는데
초점거리
렌즈의 중심부터 필름(또는 이미지 센서)까지의 거리, 초점거리가 짧으면 광각렌즈, 길면 망원렌즈로 구분되고 필요에 따라 조절한다
화각
카메라가 한 번에 포착할 수 있는 장면의 각도, 초점거리에 따라 달라지며, 초점거리가 짧을수록 넓은 화각을, 길수록 좁은 화각을 가진다.
해상도와 픽셀 배열
좋아 이제 카메라 센서의 촬영방식도 정했고 초점거리와 화각도 정의했다 그다음으로 생각할 것이 해상도와 픽셀배열이다. 조금 더 직관적으로 아래와 같이 이해하면 되고 이해상도에 따라 정보 처리 가능 불가여부가 나누어진다.
조금더 쉽게 설명해 해상도는 이미지 센서의 픽셀 배열 크기에 의해 결정되는데, HD부터 8K까지 다양한 해상도가 있으며 해상도가 높아질수록 더 많은 세부 정보를 담을 수 있고 자세한 해석이 가능하나 그만큼 용량도 커지기에 학습이나 인지를 어떤 해상도로 설정할 것인지 또한 꽤나 중요한 문제이다.
프레임 비율과 색상 표현
해상도를 설정했으면 이제 마지막 단계로 프레임 비율과 색상 표현도 결정해야 한다 프레임 비율은 카메라가 초당 캡처하는 이미지의 수로 아마 60HZ 모니터를 들어봤을 독자님들에게 설명하자면 1초에 몇 장의 사진을 보여주느냐의 차이이다. 실제로 프레임이 너무 떨어진다면 또 학습에 제한이 생기고, 뿐만 아니라 색상에 대해서 어떤방식으로 인지시킬지 다양한 색상 표현방식(RGB, YIQ, CMY, HIS 등) 에따라도 차이가 생기니 어떤 방식으로 처리할지도 꽤나 어려운 문제이다.
딥러닝과 카메라 캘리브레이션
자이제 우리는 카메라의 영상에 대해서 기본적인 설정하는 종류와 방법을 배웠다. 문제는 이다음단계인 딥러닝 기반 인식 기술인데 카메라 센서가 캡처한 이미지를 분석하고 인식시키려면 딥러닝 알고리즘에 이러한 사진들을 맞는 양식으로 적용시켜야 한다. 물론 자체 알고리즘에서 이미지에서 객체를 탐지하고 분류하겠지만 이러한 시간을 줄이기 위해 규격화와 통일화를 하면서 자율주행 시스템의 정확한 판단능력을 끌어올려야 한다. 이에 따라 또 따라오는 기술이 좌표계 변환이다
좌표계 변환
월드 좌표계와 카메라 좌표계를 사용하여 초점거리, 주점, 비대칭 계수를 설정하여, 변환을 통해 카메라의 시야와 실제 세계 간의 관계를 명확히 표현해 주는 변환으로써 조금 더 쉽게 말하면 공학적인 처리를 통해 조금 더 딥러닝 알고리즘 즉 AI가 인지하기 쉽게 바꿔주는 과정이라 생각하면 된다
카메라 캘리브레이션
앞에 있는 것들을 통틀어 정리하는 것으로 카메라 보정기술이라고 생각하자 카메라의 내부 파라미터(예: 초점 거리, 주점, 왜곡 계수 등)를 정확히 알아내어 렌즈 왜곡을 보정하여 딥러닝 알고리즘에 정확도를 끌어올리는 과정으로 체커보드 패턴을 사용하여 카메라 캘리브레이션을 수행한다, 반복적인 패턴이 있는 체커보드를 촬영하고, 영상에서 체커보드의 코너 점들을 검출하여 내부 파라미터를 계산해 주고 정확한 거리를 인지하도록 준비한다.
자 이제 우리는 기본적인 보정준비를 다했으니 다음글에서 물체 검출 추적기술과 영역분할을 할 준비가 된 것이다.
이 정도의 기반지식으로 필자와 함께 공부해준 여러분에게 감사를 표하며 이제 제대로 된 카메라 센서를 활용해 보자
'자율주행과 통신 > 자율주행 인지' 카테고리의 다른 글
자율주행에 활용하는 라이다 센서 (0) | 2024.07.12 |
---|---|
자율주행 카메라 센서 기반 물체 검출 방식[YOLO,SSD,RetinaNet,Faster R-CNN,Mask R-CNN] (0) | 2024.07.04 |
자율주행 인지에서의 ai딥러닝과 실제 적용및 사고사례[테슬라 FSD,구글 웨이모,자율주행 사망사고 사례] (0) | 2024.07.04 |
자율주행 인지파트 에서 인공지능의 역할 (0) | 2024.07.04 |
자율주행 인지 기술의 개념[객체 추적및 예측에대한 고찰] (0) | 2024.07.04 |