야외용 비전 시스템 만들기

특정 애플리케이션 요구 사항에 맞는 스마트 이미징 시스템을 설계할 때 고려해야 할 사항

오늘날 인터넷 IOT와 스마트 폰, 스마트 시계 및 태블릿과 같은 모든 것에 연결된 솔루션의 결과로 증가하는 편리함은 우리의 기술사용 방식을 변화시키고 있다. 이러한 편리함의 기대는 일체형 접근법을 통하여 사용하기 쉽고 강력한 영상 촬영 시스템의 목적을 가진 영상 촬영 시스템의 기술 혁신에도 영향을 미치고 있다. ‘스마트 카메라’는 우리가 희망하는 일체형 솔루션에 가까운 반면 그들은 종종 컴퓨터 성능, 사용자 지정 기능이 부족하거나 다른 작업에 지시하기에는 너무 어플리케이션 별 기능이 부족하다. 성공적인 일체형 이미징 시스템의 핵심은 내장된 시스템 특히 사용자 정의 및 전용 시스템 설계 시 사용하는 것이다.
시스템 디자이너는 별도의 구성 요소(카메라 및 내장형 컴퓨터)를 사용하여 특정 응용 프로그램의 요구 사항을 충족하기 위해 현재 사용 가능한 최고의 구성 요소를 선택 할 수 있다. 이 문서에서는 고속 감지 및 분석, 이미지 기반 의사 결정, 로봇 공학 또는 다른 항공사진 촬영과 같은 특정 응용 분야에 맞게 조정될 수 있는 내장된 비전 시스템을 설계할 수 있는 주요 요소에 대해 설명한다.

구성 요소 1: 내장 컴퓨터
내장된 컴퓨터는 곧 시스템의 지능이다. 즉, 시스템이 자동화된 의사 결정을 내리고 캡처된 이미지를 분석하고 이미지를 업로드하고 다른 전용 응용 프로그램 연결에 결과를 업로드하고 정보를 로컬로 저장하고 원하는 다른 응용 프로그램 및 전용 태스크에 저장할 수 있도록 한다. 이러한 시스템은 교육용 코드 세트와 로우 레벨 프로그래밍의 시대로부터 크게 발전했다. 대부분 Ubuntu 혹은 Windows의 전체 데스크톱 버전을 실행 할 수 있기 때문에 PC 또는 랩탑을 사용하는 것만큼 프로그래밍이 쉽다.

- 고려사항 1: 운영 시스템
내장용 비전 시스템을 구성할 때 선택할 수 있는 운영 체제는 여러 가지가 있다. 대부분의 내장 시스템은 OS와 함께 제공되지는 않지만 다양한 리눅스 버전과 윈도우로 업그레이드하기 위한 옵션(하드웨어에서 지원하는 경우)이 사전 로드되어 있다.
널리 사용되는 대안적인 솔루션은 안드로이드 OS의 오픈 소스 특성과 온라인 제3자 지원을 고려하여 안드로이드 OS를 설치하는 것이다. 특정 내장된 시스템 에는 기본 버전의 안드로이드를 항상 사용할 수 있는 것은 아니지만 제3자 연결 소프트웨어는 안드로이드앱 뿐만 아니라 리눅스OS 내에서도 안드로이드를 실행하도록 허용하기 위해 존재한다.

- 고려사항 2: 윈도우 운영
이 글에서는 Windows 10 홈의 전체 데스크 탑 버전이 사전에 설치되어 있어 Lattepanda에서 Windows를 실행하는 시스템을 예시로 다룰 예정이다.
다른 내장된 시스템은 다양한 종류의 윈도우(홈, IoT, Embedded 등)를 지원한다. 특정 내장된 시스템의 웹 사이트 또는 커뮤니티 윈도우를 실행하는데 적합한지 확인하기 위해 참조해야 한다. Lattepanda에 덧붙여, 우리는 이 내장된 비전 시스템과 함께 Lumenera Lt545R 카메라를 사용할 것이다.
Lumenera 카메라에는 Windows 10, Direct X 및/ 또는 Direct 쇼가 필요하다. 일부 내장된 시스템은 프레임워크와 함께 사전 로드되지 않으므로 추가해야 한다. 이 소프트웨어를 추가하는 가장 쉬운 방법은 Visual Studio를 다운로드하고 Visual Studio 에서 별도의 다운로드로 윈도우 SDK를 추가하는 것이다. 프레임워크에 대한 링크가 설치 프로세스 동안 생성되기 때문에 Lumenera 소프트웨어를 장치에 설치하기 전에 프레임워크를 설치하는 것이 필수적이다. Visual Studio를 추가하기 전에 Lumenera 소프트웨어가 설치되면 제거하고 다시 설치해야 정상적으로 작동한다.


- 고려사항 3: 소프트웨어
윈도우를 실행하는 내장된 시스템의 장점은 내장된 장치에서 실행되는 호환 소프트웨어의 큰 가용성이다. 앞에서 언급한 Visual Studio를 제외하고는 다른 훌륭한 개발 환경이 존재한다. 내장된 시스템 개발자들이 선호하는 것은 Qt인데, 교차 플랫폼 프레임워크로 운영 윈도우, 리눅스, MacOS, 안드로이드, 그리고 iOS 를 운영하는 시스템을 엮을 수 있는 코드 조각을 개발 할 수 있게 해준다.
Qt와 Visual Studio 모두 다른 많은 개발 환경과 함께 OpenCV의 사용을 지원한다. Open CV는 47000명 이상의 강한 공동체를 가진 오 픈 소스 컴퓨터 비전 라이브러리이다. 윈도우, 리눅스, MacOS, 안드로이드 및 iOS 에서 지원되며 C, C++, Python 및 Java 영 인터페이스가 있다. 이전 섹션이 윈도우 OS 에 초점을 맞추었지만 Qt 및 OpenCV 의 교차 플랫폼 특성이 선택된 운영 체제와 상관없이 훌륭한 개발 옵션을 만든다는 점을 유념하는 것이 중요하다. 그것들은 또한 솔루션이 이동성을 가능하게 하여 코드 변화가 거의 없는 다수의 운영 체제에서 동시 개발을 가능하게 한다.

- 고려사항 4: 범위성/확장성
옵션 1: 모듈 컴퓨터 (CoM)
모듈상의 컴퓨터는 압도적일 수 있기 때문에 시스템의 대규모 생산을 실행할 때 고려되어야 한다. CoM은 USB, Ethernet, 또는 HDMI 와 같은 인터페이스 포트가 없는 단일 보드 컴퓨터이다.
CPU/GPU, RAM 및 SSD 와 같은 컴퓨팅에 필요한 기본 사항만 포함되어 있다. 그런 다음 CoM을 시스템에 필요한 인터페이스만 포함하는 사용자 지정 캐리어 보드와 쌍으로 구성한다. 이를 통해 설계가 비용 효과적이며 더 작은 프로파일을 유지할 수 있으므로 실외 시스템에 대한 더 작은 인클로저와 더 적은 전체 방수가 필요하다. 또한 제품 통합을 염두에 두고 제조되기 때문에 내장형 시스템 제조업체가 제품을 업그레이드/교환할 때 마다 시스템을 재설계하지 않아도 되기 때문에 수년 동안 사용할 수 있다.

옵션 2: YOCTO PROJECT
YOCTO PROJECT는 그들이 필요로 하는 기능만 갖춘 전선 운영 체제를 찾고 있는 사람들에게 약간의 주의를 기울일 가치가 있다. 이 계획은 템플릿, 도구 및 방법을 사용하여 프로젝트의 요구 사항에 기반을 두어 리눅스의 사용자 정의 배포를 생성하는데 도움이 된다. 모방 환경, 디버깅 및 애플리케이션 툴킷(toolkit) 생성기와 같은 무료 툴을 포함하고 새로운 사용자와 고급 개발자 모두에게 다양한 정보와 문서를 제공한다.
YOCTO PROJECT는 또한 ARM, x86, x86-6, PPC 및 MIPS 를 비롯한 다양한 아키텍처에 대한 빌드를 지원한다. 뿐만 아니라 이 플랫폼은 제조 시스템에 Eclipse IDE 플러그인과 GUI를 제공한다.

구성요소 2: 카메라
실외에서 작동하는 카메라는 가장 까다로운 조명 조건에서 성능을 발휘해야 한다. 변화하는 빛이 까다로운 조건 중 하나이며 그것은 한 프레임 안에서도 다양하게 나타날 수 있다.
이 외에도 실외 이미지를 생성할 때 고려해야 할 많은 다른 요인들이 있다. 이 섹션에서는 응용 분야에 적합한 카메라를 선택할 수 있도록 실외 영상 촬영에 최적화해야 하는 카메라 측면에 대해 설명한다. ITS 무인 시스템 및 옥외 지능형 보안에 통합된 솔루션에 대해 더 구체적인 정보를 사용할 수 있다.

- 고려사항 1: 셔터 타입
대부분의 디지털 카메라에는 두 종류의 셔터 중 하나인 롤링 또는 글로벌 이미지 센서가 장착되어 있다. 롤 셔터는 센서의 픽셀을 순차적으로 한 줄 노출시켜 이미지를 캡처하는 반면 글로벌 셔터는 모든 픽셀을 동시에 노출시킨다. 하부 셔터 유형의 중요성은 주체 또는 카메라를 이동할 때 롤링 셔터를 사용하는 센서에 이미지 모형이나 왜곡된 물체가 있을 수 있다는 점이다. 속도가 빠를수록 왜곡이 더 뚜렷하게 나타난다.
전역 셔터는 이러한 현상을 제거하기 위한 좋은 방법이지만 종종 프레임 속도, 소음 및 민감도를 희생시키면서 사용된다. 모든 것이 동일하다면 롤 셔터는 전역 셔터보다 더 빠른 속도로 작동할 수 있고 더 낮은 소음을 발생하며 더 빠르게 반응할 것이다. 프레임 속도, 소음 및 감도를 비교하려면 실제 카메라 사양을 참조하는 것이 중요하다.

- 고려사항 2: 프레임 속도
수많은 카메라 애플리케이션이 가속화된 프레임을 활용하여 이점을 누릴 수 있다. 프레임 속도가 빠를수록 더 높은 샘플링 주파수가 가능해지며 이는 고속 감지 및 분석에 매우 중요하다.
또한 높은 샘플링 속도는 특정 조건을 감지하고 내장된 컴퓨터 시스템을 통해 이벤트를 유도하는데 중요하다. 소프트웨어 트리거는 구현이 용이하고 하드웨어 트리거보다 비용이 적게 드는 자원을 필요로 하는 경우가 많다.

- 고려사항 3: 비트 깊이
비트 깊이는 각 픽셀이 샘플링 되는 양을 지정한다. 대부분의 사람들이 해결 원칙에 친숙하다. 고해상도로 복제할 수 있는 디테일이 미세하기 때문이다. 비트 깊이는 분해능과 다르지 않지만 영상의 시각적 세부 정보와 달리 비트 깊이가 더 높은 픽셀 강도의 더 큰 변화를 해결하는데 도움이 된다.
즉 특정 비트 깊이를 선택하면 픽셀에서 전하를 측정하기 위해 선택하는 정확도에 따라 결정된다. 높은 비트 깊이는 극히 경미한 색상 변화를 인간의 눈으로 감지할 수 없는 경우에 매우 중요하다. 많은 실외 응용 프로그램은 사진 측량이나 색상 분석과 같은 정밀 측정을 수행하지 않는 한 8비트 이상의 비트 깊이를 필요로 하지 않는다.

- 고려사항 4: 다양한 범위
동적 범위는 단일 이미지의 매우 밝고 매우 어두운 영역에서 세부 정보를 파악하는 카메라의 성능을 결정하는 것이다. 외부에서 영상을 촬영할 때는 장면의 밝은 부분과 희미하게 빛나는 그림자 사이의 강도 차이가 충격을 줄 수 있으므로 이 점이 일반적인 난제이다.
이 어려움은 넓은 동적 범위를 가진 카메라로 극복할 수 있다. 증가하는 획득 또는 노출 시간은 장면의 밝은 부분을 포화시키고 이를 줄이면 어두운 부분의 정의가 제거된다. 룩업 테이블을 사용하거나 카메라의 감마 곡선을 조정하면 이미지의 어둡고 밝은 영역에 약간의 세부 정보를 표시하는데 도움이 될 수 있다.

- 고려사항 5: 노이즈
노이즈는 신호 대 노이즈 비율이 크게 감소하는 희미한 조명이 들어오는 장면에 가장 큰 영향을 미친다. 이를 보충하기 위해 노출 시간은 일반적으로 증가와 함께 증가한다. 모션을 안정적으로 캡처하는 동안 특정 지점을 지나면 노출 시간을 늘릴 수 없기 때문에 이득은 종종 희미하게 빛나는 장면을 밝게 하는데 사용되는 선택의 매개 변수가 된다. 하지만 이득을 증가시킴으로써 이미지의 잡음 또한 증가되고 따라서 잡음이 심한 이미지를 생성한다.
노이즈가 낮은 카메라를 선택하면 밝지 않은 곳에서 안정적인 이미지 데이터를 캡처하는데 매우 중요하다. 중점을 두어야 할 특정 소음 사양은 읽기 소음이다. 비교적 짧은 노출 시간으로 인해(전자/초 단위로 측정되는) 어두운 전류 노이즈는 읽기 노이즈보다 영향력이 훨씬 적다. 노출 시간의 길이와 상관없이 영상이 캡처될 때마다 읽기 노이즈가 발생한다. 읽기 노이즈가 높을수록 특히 높은 이득 값에서 희미하게 켜진 장면의 노이즈가 더 많아진다.

구성요소 3: 렌즈, 빛, 및 필터
카메라와 내장된 시스템을 제외하고 간과해서는 안 되는 많은 영상 구성요소가 있다. 무엇보다도 카메라는 렌즈는 중요히 생각해야한다. 이후에 특정 응용 프로그램은 태양이 불충분할 때 외부 광원이 빛을 추가하도록 요구한다.
다른 응용 프로그램들도 응용 분야에 불필요한 특정 파장의 빛을 제거하기 위해 필터로부터 혜택을 받을 것이다. 이 섹션에서는 어플리케이션에 가장 적합한 구성 요소를 결정하는데 도움이 되는 각 구성 요소에 대해 설명한다. 이러한 구성 요소는 ITS, 무인 항공기, 지능형 보안과 같은 솔루션 관련 분야를 위해서 눈여겨 봐야할 부분이다.

- 고려사항 1: 렌즈
렌즈를 선택할 때는 작동거리, 필요한 시야, 카메라의 센서 크기 및 해상도와 같은 여러 가지를 고려해야한다. 아래의 글을 참고하면 렌즈의 초점 길이, 해상도 및 센서 크기 호환성을 결정하는데 도움이 될 것이다. 또한 렌즈 옵션은 옥외 이미지에 대해 고려해야 할 사항을 제시한다.

옵션 1: 주간/야간 렌즈
렌즈 선택과 함께 고려해야 할 주요 요인 중 하나는 시스템이 사용될 날짜이다. 시스템을 하루 종일 사용할 경우 주간/야간 렌즈는 야간에 IR 조명에 사용하기 위해 적외선 라이트를 보정 한 것이다. 또한, 가시광선과 적외선을 모두 사용하는 멀티 스펙트럼 애플리케이션에는 IR 수정 렌즈가 필요하다.

옵션 2: 가변 조리개 렌즈
실외 적용은 광도에 있어 가변성과 예측 불가능성이 있기 때문에 가장 까다로운 조명 조건 중 일부를 가지고 있다. 가변성 렌즈를 사용하면 정면의 밝기를 관리하도록 구성할 수 있는 또 다른 범주가 추가되었다. 기계 비전 시장에 P-조리개 렌즈로 알려진 정밀 조리개 렌즈는 이번이 처음이다. 이들은 매우 정밀한 스테퍼 모터를 사용해 간극을 필요한 설정으로 정확히 설정한다. 그들은 이전의 DC-조리개 렌즈보다 훨씬 정확하고 DC-조리개 렌즈에 흔히 있었던 조리개 설정을 유지하지 못하는 것에 개의치 않는다.

- 고려사항 2: 빛
앞서 언급한 바와 같이 IR 광원을 사용하는 경우, IR 조정된 광학 장치를 사용하여 파장의 전체 범위에 걸쳐 선명한 이미지가 캡처되도록 하는 것이 중요하다. IR 조명이 사용되지 않는 경우 선택 기준에서 주간/야간 렌즈를 생략할 수 있다.
사용되는 빛의 파장과 상관없이 카메라가 노출될 때 섬광이 발생하도록 하기 위해 빛에 대한 믿을 만한 트리거를 확보하는 것이 중요하다. 카메라와 플래시 사이에 지연 시간이 거의 혹은 전혀 없기 때문에 내장형 시스템에서 발생하는 트리거보다 카메라 기반 트리거가 더 선호된다. 내장된 시스템이 카메라와 스냅 샷을 동시에 유발하는 경우 내장된 시스템에서 실행 중인 다른 프로세스로 인해 트리거 사이에 약간의 지연이 있을 수 있으며 장면이 어둡게 된다.
하룻밤 사이에 영상을 캡처하도록 카메라와 광원을 보정한 후에는 P-조리개 렌즈와 DC-조리개 렌즈를 사용하는 것이 좋다. P-조리개 렌즈가 적절한 개구부를 지속적으로 사용할 것이라는 훨씬 더 높은 신뢰도가 있다. 영상이 더욱 일관되게 노출되어 후처리가 필요하지 않을 수 있기 때문이다.

- 고려사항 3: 필터
필터는 검사 애플리케이션에 대한 특정 관심 파장을 줄이거나 분리하기 위한 좋은 방법이며 적어도 모든 새로운 비전 시스템 설계에서는 고려해야한다. 이들은 관련 신호 대 잡음비를 증가시켜 내장된 컴퓨팅 시스템을 위해 이미지를 더 쉽게 분석할 수 있도록 한다.
도시에서는 편광 필터가 아주 유용해서 태양의 눈부심을 줄일 수 있다. 이를 통해 카메라는 유리를 통해 볼 수 있고 눈부심을 줄여 색 감지를 쉽게 할 수 있다. 아래의 사진은 편광 렌즈를 사용할 경우 더 균일한 빨간색이며 차량 내부가 훨씬 더 잘 보이는 모습을 보여준다. 편광 필터는 약 50 퍼센트의 빛을 제거하기 때문에 많은 빛이나 민감한 카메라를 사용하면 도움이 된다는 점에 주목하는 것이 중요하다.


특수한 멀티 프로토콜 어플리케이션을 위한 다른 필터(예: 이중 및 삼중 대역 필터)가 존재한다. 여기서 몇 개의 특정 파장이 분리되어 현장에 대한 분석을 수행하기 위해 대수 방정식을 통과한다.
또한 매우 좁은 대역의 플래시에서 NIR 빛이 하룻밤 사이에 작동하도록 카메라에 전달 될 수 있도록 해주는 가시 + NIR 필터도 있다. 카메라의 NIR 차단 필터는 컬러 카메라를 적외선 촬영과 함께 사용할 수 있도록 해주는 그런 필터로 교체될 것이다. 단, 낮에 작동하는 동안 태양의 적외선이 카메라의 색 응답에 부정적인 영향을 미칠 수 있기 때문에 이 방법은 색 정확도를 떨어뜨릴 수 있다는 점을 알아둬야 한다.      
                                                                              

자료제공 : Lumenera

주요기사

먼저 비밀번호를 입력하여 주세요.

창닫기확인