[기고] IoT에 머신 비전을 결합하면 가능해지는 일들

2019-01-08
글 / 마크 패트릭(Mark Patrick) / 마우저 일렉트로닉스



최근 몇 년 사이, 머신 비전 기술이 급속히 발전해 왔다. 첨단 알고리즘을 사용해서 영상 프레임 내에서 윤곽선과 움직임을 검출할 수 있게 되었고 이미지 센서, 프로그래머블 로직 마이크로컨트롤러, 그래픽 프로세싱 유닛(GPU)과 관련한 반도체 기술이 발전함에 따라서 다양한 임베디드 애플리케이션에 머신 비전 기술이 도입되고 있다. FPGA로 정교한 설계를 다운로드할 수 있게 되고 OpenCV 같은 새로운 개발 환경을 사용할 수 있게 됨으로써, 임베디드 시스템 설계자들이 머신 비전에 훨씬 더 쉽게 접근할 수 있게 되었다.

이와 함께 산업용 시스템을 사물인터넷(IoT)에 연결하는 추세도 가속화하고 있다. 센서가 점점 더 지능화하고 있는데, 이는 부분적으로 컴퓨터 비전 알고리즘 덕분이다. 센서에서 생성된 데이터는 산업용 시스템 가동에 대해서 중요한 통찰을 제공한다. 드론 같은 자율 로봇 시스템을 IoT 인프라에 연결하면 새로운 차원의 장비 모니터링이 가능해진다.

카메라 모듈에 FPGA 결합, 높은 프로세싱과 의사결정 추가

머신 비전의 사용이 늘어나는 또 다른 이유는 대역폭 제약 때문이다. 산업 자동화가 갈수록 고도화되고 있어서 대역폭이 점점 더 중요한 문제가 되고 있다. 머신 비전의 대표적 애플리케이션으로 검사 장비를 들 수 있다. CMOS 이미지 센서를 탑재한 고성능 카메라 시스템의 가격이 지난 10년 사이 크게 하락함에 따라 보드와 시스템 제조 시에 고해상도 검사가 가능해졌다.

이러한 카메라 모듈에 FPGA를 결합함으로써 더 높은 프로세싱 성능과 의사결정을 추가할 수 있다. 이를 통해 카메라는 수집된 데이터에 따라 적절히 대응할 수 있으며, 그럼으로써 네트워크를 통해서 영상을 전송해야 할 필요성을 줄이고 전반적인 가동 효율을 높일 수 있다.



검사 장비의 머신 비전 기능을 IoT에 연결하면 엔터프라이즈 시스템에 더 많은 데이터를 제공하고 공장 가동에 대한 분석을 할 수 있다. 원시 데이터가 아니라, 엔터프라이즈 시스템에 적합한 추상화 수준의 정보를 제공이 가능하다. 이렇게 하면 서버나 네트워크로 대역폭 부담이 크게 줄어든다. 엔터프라이즈 시스템은 IoT로부터 들어오는 수백만 지점의 데이터를 처리하는데, 서버의 부담을 조금이라도 줄일 수 있다면 좀더 신속하게 의사결정을 할 수 있게 된다.

이러한 머신 비전의 활성화는 자동화 공장용 로봇 유도 시스템의 시장 가능성을 열어준다. 검사 장비는 중앙의 엔터프라이즈 서버를 우회하여 공장 내의 다른 장비와 직접 통신할 수 있다. 그럼으로써 효율을 높이고 네트워크와 서버의 부담을 덜 수 있다.

또한 머신 비전 기술은 자동화 장비의 제어용으로도 활용되고 있다. 특히 원자재 취급 같은 경우를 들 수 있는데, 여기에는 공장 내에서 원자재를 이송하기 위한 자율 로봇의 제어 시스템에서부터 창고에서 상품을 식별하기 위한 자동화 피킹 머신(automated picking machine)에 이르는 전 과정을 포함한다.

원자재 취급용 자율 로봇의 경우, 머신 비전은 바닥의 선을 따라서 한 장소에서 다른 장소로 이동하는 것처럼 간단한 것일 수 있지만, 중간에 사람이나 장애물을 인식할 수도 있다. 이는 공장 작업자와 로봇이 안전하고 효율적으로 협력해서 일할 수 있다는 것을 의미한다.



앞서 언급했듯이 이미 상품 피킹 작업에 머신 비전이 사용되고 있다. 바코드를 통해서 상품을 식별하고 로봇 그립퍼를 사용해서 해당 상품을 집어서 바구니에 넣는다. 이를 위해서는 카메라와 로컬 프로세싱이 필요하다. 한편으로 광범위한 IoT의 일부분으로서 피킹 머신/자율 로봇을 지속적으로 모니터링한다.

머신 비전 기술의 활용은 공중에서도 이루어진다. 무인 항공기(UAV) 분야에서도 머신 비전의 사용이 늘고 있는 것이다. UAV는 석유 파이프라인이나 가스 설비 같이 접근하기 어려운 장소들을 감시하기 위해서 매우 효과적인 것으로 입증되고 있다. 온보드 비행 컨트롤러에 카메라 시스템을 연결하면 머신 비전을 사용해서 UAV가 특정 구역을 식별하고 접근할 수 있으므로 좀더 면밀하게 감시를 할 수 있을 뿐 아니라, 고정된 장애물이나 다른 UAV를 피하기 위한 충돌 방지용으로도 활용이 가능하다.

감시 및 관제 시장에서도 머신 비전의 사용이 늘고 있다. 머신 비전 기술은 감시용 분야에서 특히 중요한 역할을 할 수 있다. 매초마다 수 메가비트의 영상 데이터를 전송할 필요 없이, 영상을 로컬에서 처리하고 사람의 개입 없이 경보를 발행할 수 있다. FPGA 상에서 실행되는 머신 비전 알고리즘이 갈수록 정확도가 향상되고 있다. 이로써 침입자의 움직임과 동물이나 나뭇잎의 움직임을 더 잘 구분할 수 있게 되었다. 이는 작업자가 한 번에 많은 수의 노드를 감시할 수 있게 해준다.

자율적인 지상과 공중의 자율 장비에 머신 비전 기술 결합

더 나아가 감시 카메라가 스스로 알아서 다른 머신으로 하여금 경보에 적절히 대응하도록 명령할 수도 있다. 자율적인 지상과 공중의 자율 장비에 머신 비전 기술을 결합하면 전혀 새로운 방식의 관제가 가능해진다. 고정식 카메라 대신 공중 항공기에 이미징 시스템을 탑재해서 비행을 하면서 모니터링을 할 수 있다. 이러한 UAV는 배터리가 떨어지면 충전 기지로 돌아오고, 다른 드론이 나가서 임무를 교대하는 식으로 지속적인 감시가 가능하다.

좀 더 진화된 머신 비전 알고리즘은 잠재적 위협을 식별하고 다른 공중 및 지상 장비를 소환해서 상황을 살펴보도록 할 수 있다. 이 모든 작업에 사람이 개입할 필요가 없다. 농업용 애플리케이션으로도 마찬가지로 적용할 수 있다. 항공기로 머신 비전 알고리즘을 사용해서 농작물의 상태를 모니터링하고 어떤 문제가 발생되어서 조치가 필요하다고 판단된다면 사람이나 또는 자율 트랙터 같은 것을 그곳으로 보낼 수 있다.

이러한 애플리케이션이 가능해진 것은 필요한 하드웨어 및 소프트웨어 기술이 발전한 덕분이다. 머신 비전 알고리즘이 갈수록 더 정교해지고 있으며, 이러한 알고리즘을 최신 FPGA나 GPU로 다운로드할 수 있게 되었다. 이러한 디바이스는 한 번에 8개 혹은 16개 채널을 처리할 수 있으며 초당 60프레임을 지원할 수 있다.

OpenCV 같은 높은 수준의 소프트웨어를 결합할 수도 있다. 원래는 연구용이나 프로토타입 개발용으로 주로 사용되던 OpenCV가 최근 들어서는 클라우드부터 모바일에 이르기까지 다양한 플랫폼으로 실제 제품에 점점 사용이 늘고 있다. 얼마 전에는 최신 버전인 OpenCV 3.1이 발표되었다.

이전 버전인 3.0은 최신 C++ 표준과 3D 비전 및 증강 현실까지 지원하도록 대폭 개선됐었다. 새로운 3.1 버전에서는 캘리브레이션, 옵티컬 플로우, 이미지 필터링, 세그멘테이션, 피처 검출 같은 주요 기능으로 향상된 알고리즘을 도입하고 있다

미래의 가능성

머신 비전의 다음 단계는 머신 러닝이다. 컴퓨터 비전 알고리즘은 정지 이미지와 영상 콘텐츠를 확정적으로 분석할 수 있는데, 머신 러닝은 신경망 기법을 적용해서 시스템이 무엇을 보아야 할지를 ‘학습’시킬 수 있다. 최신 버전 OpenCV는 머신 러닝용으로 딥 신경망(deep neural network)을 지원한다.

FPGA와 GPU의 성능이 향상됨에 따라서 머신 러닝으로 새로운 것들이 가능하게 되었다. 학습 단계에서 해당 물체의 이름으로 태그된 여러 이미지를 신경망에 보여줌으로써 학습을 시킨다. 이 학습은 통상적으로 연구소나 클라우드의 대형 서버 시스템을 사용해서 이루어진다. 이렇게 해서 일련의 가중치와 바이어스 데이터가 생성되면, 이것을 임베디드 설계로 구현된 동일한 신경망에 적용할 수 있다.

이 ‘추론 엔진(inference engine)’은 이러한 가중치를 사용해서 자신에게 주어진 새로운 데이터가 그러한 물체들을 포함하는지 판단할 수 있다. 예를 들어 최신 감시 카메라는 신경망 머신 러닝 알고리즘을 사용해서 전통적인 기능(모니터링과 기록)에 더해 추가적인 비디오 분석 기능(군중 밀도 모니터링, 스테레오스코프 비전, 얼굴 인식, 인원 집계, 동작 분석 등)을 제공할 수 있다. 그런 다음 이러한 로컬 프로세싱을 IoT로 제공해서 클라우드 내의 더 광범위한 분석 소프트웨어로 통합할 수 있다.

맺음말

머신 비전 시스템을 IoT에 연결함으로써 네트워크를 통해 다양한 기능들이 가능해진다. 카메라가 물체를 식별할 수 있으므로 로컬 노드를 지능적이고 자율적이게 만들 수 있다. 이를 통해 중앙 서버의 처리 부담을 덜 수 있으며 좀 더 분산적인 제어 아키텍처가 가능하다. 외부의 처리가 덜 필요하므로 운영 효율을 높일 수도 있다.
 

<저작권자©스마트앤컴퍼니. 무단전재-재배포금지>


100자평 쓰기