머신 비전 시스템 - 딥 러닝과 기존 방법을 결합한 하이브리드 방식을 사용하라
Basler
머신 비전 분야에서 딥 러닝 기반의 방법은 대부분의 비전 시스템 제공업체에서 표준 포트폴리오로 자리 잡았다.
따라서 많은 제조업체가 개발 역량의 상당 부분을 딥 러닝 기반 기능을 확장하는 데 투자하고 있다. 이미지 처리 및 이미지 분석에 사용된 기존의 방법은 더 이상 사용되지 않고 결국 딥 러닝 기반 기능으로 완전히 대체될까?
본문에서는 현재 딥 러닝 기반 인공 지능이 제공하는 산업용 화상 처리 기능의 가능성, 기존 방법과 비교한 인공 지능의 사용여부에 따른 장단점, 그리고 새로운 방법이 가까운 미래에 이 분야에서 어떤 역할을 할 수 있는지에 대한 대략적인 내용을 제공한다. 기존의 방법'이라는 용어는 이미지 분석의 간단한 규칙 기반 외에 딥 러닝을 기반으로 하지 않고 기계 학습 알고리즘을 사용하는 이미지 데이터 분석 방법을 포함한다.
1. 산업용 화상 처리에서의 딥 러닝 작업
딥 러닝의 일반적인 작업 분야는 이상 감지, 이미지 분류, 이미지 세분화 및 객체 인식이다. 제대로 학습된 인공 신경망(ANN)은 기존 이미지 분석 방법에 비해 높은 정밀도와 뛰어난 유연성을 제공한다.
• 이상 감지란 전체 이미지를 '좋음' 또는 '나쁨'으로 구분하는 것을 말한다(예: 결함이 있는 물체와 구조물을 감지하는 능력).
• 이미지 분류란 전체 이미지를 정의된 등급으로 분류하는 것을 말한다(예: 단일 객체만 포함된 이미지에 등급 할당).
• 이미지 세분화란 픽셀 단위의 분류를 말하며, 예를 들어 결함이 있는 표면 구조를 감지하고 그 위치를 파악하는 데 사용될 수 있다.
• 객체 인식이란 특정 객체의 개수를 세거나 특정 객체의 위치 및 방향을 결정하기 위해 이미지에서 하나 이상의 객체를 분류하거나 위치를 파악하는 작업을 포함한다.
2. 딥 러닝 기반 방법의 이점
딥 러닝 기반 방법은 정확도를 높일 뿐만 아니라 기존 방법에서는 구현이 불가능했거나 매우 까다로웠던 머신 비전 애플리케이션의 견고성과 유연성을 손쉽게 확보할 수 있게 도와준다. 기존의 기계 학습 방법과 다르게 기능 엔지니어링 단계가 필요하지 않다. 기능 엔지니어링을 사용할 경우에는 전체 객체를 감지하도록 훈련하기 전에 관련 속성 감지를 위한 기계 학습 알고리즘을 수동으로 설정해야 한다.
딥 러닝 네트워크의 차별화된 특징은 훈련 과정에서 관련 속성을 독립적으로 학습한다는 것이다.
다양한 객체 및 특징 감지: 딥 러닝 방법의 장점은 표면의 긁힘, 다른 모양의 자연 제품 또는 필기와 같이 다양한 모양으로 발생하는 객체 또는 속성을 감지할 수 있다는 것이다. 예를 들어 이상 감지의 경우, 결함 없는 물체의 이미지로 신경망을 훈련시키는 것만으로 사용 과정에서 물체에 발생한 손상을 식별할 수 있다.
보다 강력한 객체 인식: 다양한 환경에 놓인 객체의 경우(예를 들어 배경이 바뀌거나 해상도나 밝기가 다른 경우) 가능한 모든 경우에 대해 특화하기 위해 모델을 개별적으로 훈련하고 조정할 필요없이 적절히 훈련된 신경망을 통해 성공적으로 객체를 인식할 수 있다.
3. 딥 러닝 사용 비용
작업 과정에서 순수 딥 러닝 기반 방법의 장점을 활용하려면 기존 방법과 비교할 때 사용되는 하드웨어와 신경망 훈련을 위한 다량의 샘플 이미지를 위한 투자 추가 비용이 필요하다.
추가 하드웨어: 복잡하고 강력한 딥 러닝 아키텍처는 많은 수의 신경망 계층을 특징으로 한다. 따라서 딥 러닝 작업을 실행하려면 대규모 메모리 및 컴퓨팅 용량이 필요하다. 가령 GPU(그래픽 카드)의 경우, 계산을 동시에 실행하기 위해 컴퓨팅 작업을 별도의 프로세서로 아웃소싱 해야만 처리 시간을 상당히 단축할 수 있다.
열 발생 및 전력 소비: 대규모 신경망의 높은 계산 능력으로 인해 애플리케이션의 전력 소비가 늘어 열 발생량이 증가한다. 이는 특히 저소비 전력 및 열 관리에 최적화될 것으로 예상되는 임베디드 시스템에 문제가 발생할 수 있다.
다량의 훈련 데이터: 물체를 정확히 인식하려면 모든 객체와 속성이 가능한 다양한 변형과 상이한 환경에서 인식될 수 있도록 이를 나타내고 표시할 수 있는 수많은 훈련 이미지가 필요하다. 훈련에 사용되는 이미지 데이터의 양이 많을수록 딥 러닝 네트워크는 객체 인식을 더 쉽게 배울 수 있다. 수백, 때로는 수천 개의 필요한 이미지를 확보하는 작업은 종종 머신 비전 애플리케이션 개발 과정에서 까다로운 작업을 발생시키기도 한다.
4. 하이브리드 접근법을 통한 딥 러닝 네트워크 최적화
인공 신경망에서의 이미지 처리는 기존의 방법과 결합될 수 있으며, 그 결과 이미지 데이터 처리에 하이브리드 방법을 적용할 수 있다. 기존의 방법은 먼저 이미지를 전처리한다. 인공 신경망은 이렇게 전처리된 데이터를 이용해 원하는 결과를 제공한다(장점: 낮은 메모리 및 전력 요구 사항으로 고성능 구현).
또한 이러한 하이브리드 방식을 사용하면 딥 러닝 네트워크를 훈련하는 데 필요한 이미지의 수를 줄일 수 있다. 이미지 크기를 줄이거나, 검사를 마친 이미지의 편차를 최소화하거나 이미지를 늘리는 방법 또는 단순 평균을 통해 훈련 데이터의 양이나 분산을 늘려 기존의 방법으로 최적화를 달성할 수 있다(키워드: 증강).
4.1 이미지 크기 축소
입력 이미지의 해상도를 줄이면 처리할 데이터 볼륨이 줄어든다. 따라서 신경망은 적은 수의 계층으로 작업할 수 있으므로 메모리와 계산 작업이 줄어든다. 관련 이미지 섹션(ROI-관심 영역)을 줄이면 세부사항에 대한 심도를 동일하게 유지하면서 해상도는 낮춰 이미지에서 선택된 부분만 추가 처리하도록 할 수 있다. 균일한 배경을 사용하면 간단한 컬러 또는 그레이스케일 비교를 통해 해당 이미지 섹션을 감지할 수 있다.
4.2 검사된 이미지의 변화 최소화
검사된 이미지와의 차이가 줄어들면 신경망을 훈련시키는 데 필요한 이미지 데이터의 양이 줄어든다. 안정적인 조명, 일관된 단색 배경, 검사된 물체의 위치 및 방향 고정 등과 같이 주변 조건을 정적으로 유지할 경우 비교적 적은 훈련 노력으로 물체와 구조물을 쉽게 감지할 수 있다.
기존의 방법은 간단한 필터와 대조를 통해 불필요한 정보를 제거하여 딥 러닝 네트워크가 적은 훈련 데이터와 소형 네트워크만으로 특정 객체와 구조를 정확하게 인식하는 데 기여한다.
4.3 훈련 데이터의 개수와 변화도 증가
이용 가능한 훈련 데이터의 양과 변화도는 훈련 데이터의 추가 생산, 즉 증강(augmentation)을 통해 늘릴 수 있다. 증강의 경우, 원본 이미지의 새로운 변형은 기존 방법(예: 원본 이미지를 회전, 번역 또는 기울임)을 통해 원본 데이터로부터 생성된다. 이를 통해 신경망은 이미지의 방향 및 위치 등과 관계없이 객체를 인식하는 방법을 학습할 수 있다.
5. 딥 러닝이 없는 솔루션의 작업 분야
때론 딥 러닝 기반 방법은 비용 증가를 정당화할 정도의 추가 이점을 제공하지 못한다. 예를 들어, 단지 빨간색과 녹색 물체를 구별하기 위해 딥 러닝 네트워크를 설정하고 훈련시키는 것은 의미가 없다. 이러한 작업에는 간단한 규칙 기반의 색상 비교 기능만 필요할 수 있으며 이 방법은 딥 러닝 네트워크보다 훨씬 적합하고 강력하다.
바코드, QR 코드 및 데이터 매트릭스 코드의 인식에는 일반적으로 많은 리소스가 소모되는 딥 러닝 네트워크가 필요하지 않다. 정교한 방법들은 딥 러닝을 활용하지 않더라도 이러한 경우 신뢰할 수 있는 것으로 입증되었고 메모리 및 컴퓨팅에 대한 요구 사항이 비교적 낮으면서도 뛰어난 성능과 정확성을 제공한다.
이 외에 일반적으로 기존 방법으로 처리되는 활용 사례에는 정확한 크기 및 거리 측정 작업이 포함된다. 기존 방법은 이러한 작업에서도 신뢰도가 높은 것으로 입증되었으므로 이 경우에도 딥 러닝을 활용한다면 작업은 더 어려워지는 반면 그로 인해 얻게 되는 이점은 크지 않을 수 있다.
일반적으로 복잡한 머신 비전 작업에는 기존 방법을 사용하는 구성 요소와 딥 러닝 기반 방법을 사용하는 구성 요소가 포함된다. 예를 들어, 많은 경우에서 기존의 방법으로 바코드를 판독하면서, 동시에 딥 러닝 네트워크를 이용해 객체 인식 및 구조적 검사를 수행하기 위해 검사된 이미지에 대한 여러 테스트 단계가 동시에 수행된다.
6. 전망
현재 진행되고 있는 딥 러닝 네트워크 아키텍처를 활용한 수많은 연구 프로젝트와 새로운 개발 작업은 더 나은 성능을 달성하기 위한 최적화 전략에 중점을 두고 있다.
대부분의 목표는 자율 주행을 위한 시스템의 경우처럼 실시간 기능에 도달하는 것이다. 객체를 식별하기 전에 관련 이미지의 세부 정보(ROI)를 감지하고 대응되는 이미지 데이터를 줄이는 작업은 다양한 모델 접근법을 통해 딥 러닝 아키텍처에 통합된다. 대표적인 예로는 'YOLO' 및 'SSD'와 같은 2단계 컨셉, 소위 ‘단일 샷 감지기'를 기반으로 구축되는 'Faster RCNN' 또는 'Mask RCNN'이 있다. 다양한 아키텍처는 속도 및 인식 정확도 측면에서 결과가 상이하게 나타난다.
신경망의 기능에 대한 새로운 통찰력은 지금까지 무작위로 할당된 훈련 전 네트워크 구조의 초기화 값을 처리해 준다. 연구 결과에 따르면 적절한 초기화 값을 사용할 경우 신경망은 실제 네트워크 크기의 10분의 1만으로도 동일한 정확도를 구현할 수 있다. 따라서 미래에는 작업에 필요한 메모리와 컴퓨팅 작업이 대폭 줄어드는 효율적이고 복합적인 딥 러닝 네트워크가 실현될 것으로 예상할 수 있다.
요약
다양한 기존 방법과 비교할 때 딥 러닝은 기존 방법에서 수행이 불가능하거나 많은 노력이 투입되었던 작업을 손쉽게 수행할 수 있게 하여 분석 이미지의 처리 가능성을 높이고 다양한 장점을 제공한다. 딥 러닝 기반 방법의 장점을 최대한 활용하기 위해서는 기존 방법과 딥 러닝을 결합한 하이브리드 방식을 사용하는 것이 좋다.
이 조합을 통해 딥 러닝 네트워크의 메모리 요구 사항, 전력 소비 및 훈련 노력을 줄이고 동시에 실행 속도를 향상시킬 수 있다. 코드 판독기나 간단한 색상 분류 등과 같은 일부 활용 사례에서는 실제로 딥 러닝 없이 기존의 기존 방법을 적용하는 것이 더 합리적이다.
이러한 작업에서 딥 러닝 방법을 사용하는 것은 별다른 이점 없이 작업 강도만 높일 수 있다. 미래에 딥 러닝 네트워크가 점점 더 효율적이고 생산적인 방법이 되더라도 여전히 기존 방법을 활용할 만한 충분한 이유는 존재한다. 기존 방법은 딥 러닝 네트워크를 위한 전처리 작업을 지원하며, 성능 및 효율성이 뛰어난 딥 러닝 작업이 이점을 제공할 수 없는 경우에도 유용하게 활용될 수 있다.
자료 제공: Basler(www.baslerweb.com)









