FRAMOS / 생산자동화를 위한 머신비전 이미지 처리시스템의 3가지 주요개념 ②

자동화 애플리케이션을 위한 시스템 아키텍처

 

최근 이미지 분석을 위한 소프트웨어 및 알고리즘의 발전은 짧은 시간 내에 더욱 강력하고 효율적인 비전 시스템을 개발할 수 있는 새로운 기회를 열어준다. 이 장에서는 세 가지 가장 일반적인 산업 시스템 아키텍처를 소개하고 비교하고 제공한다.

 

산업 카메라 및 전통적 프로그래밍

 

 

이 클래식하고 널리 사용되는 시스템은 여러 하드웨어 구성 요소로 구성되며 종종 C++ 또는 C#과 같은 고급 언어로 저비용, 또는 무료 소프트웨어로 구성된다. 개발 팀은 하드웨어 선택 및 조정, 라이브러리 간의 모든 하드웨어 및 소프트웨어 인터페이스 구현에 대한 전적인 책임을 진다.

    

이는 시스템 설계에서 가장 큰 유연성을 제공하며 하드웨어 및 소프트웨어 라이선스 비용을 최소화할 수 있지만, 일반적으로 상당히 많은 개발 노력이 필요하고 이는 예측하기 어렵다.

    

대규모 다차원 데이터 세트는 매우 짧은 시간 내에 처리되어야 하기 때문에 개발팀 중 일부는 산업 이미지 처리 및 효율적인 알고리즘 구현에 대한 광범위한 경험이 있어야 한다. 따라서 이 방법은 매우 특정한 알고리즘이 필요하거나 장기간에 걸쳐 많은 수의 시스템을 구현해야 하는 경우에만 권장된다. 처음부터 이미지 처리 시스템이 대량으로 생산되고 판매될 경우 내부 자원에 개발을 할당하여 하드웨어 및 소프트웨어 라이선스 비용을 절약하는 것이 유용할 수 있다.

 

 

인공지능을 갖춘 산업 카메라

 

 

이러한 유형의 시스템은 고전적인 하드웨어, 즉 산업용 카메라, 렌즈 및 조명을 적절한 컴퓨터와 함께 사용한다. 소프트웨어는 고급 프로그래밍 언어와 일반적으로 구입한 소프트웨어 도구로 구현되며 인공지능 영역에서 자체 학습 알고리즘 및 기타 방법을 사용하여 이미지 분석의 교육 및 런타임 실행을 수행한다.

    

제어 및 이미지 수집을 위해 주변 장치를 연결하는 데 필요한 이 소프트웨어에는 더 큰 프로그래밍 기술이 필요하므로 중요한 개발 전문 지식이 필요하다. 그러나 현재 자가 학습 알고리즘은 이미지 분석을 상당히 용이하게 한다.

    

학습 알고리즘은 좋은 부품과 나쁜 부품의 이미지로부터 수학적 모델을 생성하고 결정 룰을 독립적으로 정의한다. 따라서 알고리즘의 구현은 순전히 규칙 기반 방법보다 빠르다. 이것은 변동률이 높은 자연 물체의 이미지에서 특히 그렇다.

    

이 접근법은 많은 세부 사항을 면밀히 검사해야 하는 생산 공정에서도 유용할 수 있다. 이러한 목적으로 설계된 일부 소프트웨어 도구는 교육이 우수한 부품에만 초점을 맞추는 상황에서도 불량 부품을 확실하게 감지할 수 있도록 한다. 한 가지 약점은 탐지 기준에 대한 매개변수를 수동으로 설정하는 것이 어렵다는 점이다.

    

일부 애플리케이션에 대한 높은 부가가치와 중요한 연구 및 개발 노력이 필요하기 때문에 인공지능 방법을 위한 소프트웨어 도구는 비싼 경향이 있다. 또한, 스마트 카메라보다 많은 양의 메모리와 처리 능력이 필요하다.

 

 

    

따라서 사용자와 시스템 개발자는 카메라, 렌즈, 처리 장치 등과 같은 이미지 하드웨어를 자체적인 외부 조언 기능을 기반으로 관리해야 한다. 일부 프로그래밍 경험은 전체 시스템 구현 중에도 필요하다. 그러나 개발 프로젝트에서 분석 알고리즘의 구현은 종종 타당성 조사의 초기 단계에서도 인공지능을 사용하여 테스트하고 평가함으로써 가장 큰 위험을 초래한다.

    

인공지능으로 이미지 처리를 성공적으로 사용할 수 있는 방법의 예는 왼쪽 그림과 같이 코르크 스캔이다. 중요한 품질 기준은 표면의 모양, 반경 및 평활도다. 이 기준은 좋은 부분과 나쁜 부분을 분석하여 좋은 훈련 알고리즘을 독립적으로 식별한다.

    

인식 알고리즘은 외부 가장자리가 목표 값(녹색 원)을 준수하는지 확인하여 새롭게 생산된 코르크에 이러한 기준을 적용한다. 또한, 알고리즘은 특히 어두운 표면 영역을 감지하고 다른 것들 중에서도 연속적인 어두운 픽셀의 수를 평가한다. 상단 뚜껑은 센터에서 작은 어두운 영역을 가지고 있지만, 거부할 만큼 크지는 않다. 그러나 하부 캡은 표면에 큰 노치를 가지므로 시스템은 이를 거부한다.

 

 

스마트 카메라 및 그래픽 프로그래밍

 

 

이 시스템 아키텍처를 통해 카메라, 광학 및 처리 장치의 매칭은 스마트 카메라로의 통합으로 인해 쓸모없게 된다. 또한, 다양한 애플리케이션에 적합한 LED 조명이 이미 카메라에 내장되어 있는 경우가 많다. 시장에 나와있는 많은 스마트 카메라에는 소위 그래픽 프로그래밍에 기반을 두는 소프트웨어 개발 플랫폼이 포함되어 있다. 이 플랫폼은 C++ 또는 C#과 같은 고급 언어의 전통적인 프로그래밍에 비해 기술적 경제적 이점을 제공한다.

 

소프트웨어

 

광범위한 카메라에 대한 소프트웨어 인터페이스와 생산 라인을 위한 하드웨어 제어는 이미 구현되어 사용할 준비가 되어 있다.

 

하드웨어

 

명확하게 구조화된 소프트웨어 인터페이스는 필요한 경우 추가 구성 요소를 연결하는 데 유용하다.

 

개발 비용

 

가장 큰 시간과 비용 이점은 이미지 처리 알고리즘을 프로그래밍 언어로 한 라인씩 작성할 필요가 없다는 것이다. 오히려 그들은 ‘그래픽적으로 프로그래밍’되어, 즉 개발자는 메뉴로부터 기본적인 이미지 처리 기능을 선택하여 순서도에 넣는다. 각 기능 블록은 이미지에 대해 문서화된 작업을 수행하며 특정 매개변수로 구성할 수 있다.

    

몇 시간 내에 고도로 복잡한 알고리즘이 기능 블록의 연결에 의해 조립된다. 따라서 기본 소프트웨어 아키텍처는 기존의 멀티 코어 CPU에서 실행을 위한 알고리즘을 자동으로 최적화한다. 개발 시간의 과감한 감소는 타당성 조사에서 매우 유용하다. 첫 번째 버전의 분석 알고리즘은 비교적 적은 노력으로 구현 및 평가할 수 있기 때문이다.

 

접근성의 용이

 

일부 플랫폼은 그래픽 사용자 인터페이스(GUI)를 위한 편안한 디자인 환경을 제공한다. 현재 시스템 상태, 분석 결과 및 통계를 표시하고 사용자가 주요 시스템 매개변수에 액세스할 수 있게 한다. GUI를 구현하는 것은 고등 프로그래밍에서 현대 라이브러리를 사용할 때 매우 비싸고 프로그래밍 경험이 필요하다.

 

문서화

 

그래픽 프로그래밍은 후속 개발을 지원하는 사용된 알고리즘의 추적 기능을 훨씬 단순하게 제공한다. 고전적인 소프트웨어 개발에서는 문서가 종종 무시된다. 이 접근 방식은 대개 수 시간 내에 가장 신속한 구현을 제공하고 상대적으로 낮은 위험을 수반하며 머신비전에 대한 경험이 가장 적다.

    

단점에는 적절한 이미지 해상도 속도 및 획득 속도를 갖춘 제한된 카메라 선택이 포함된다. 그러나 올바른 광학 및 조명 솔루션을 사용하고 특별히 일치된 이미지 프로세서를 사용하면 멀티 카메라 설정에서도 훨씬 더 광범위한 표준 카메라를 적용할 수 있다.

    

그래픽 프로그래밍을 위한 소프트웨어 라이브러리는 기능 면에서 고수준 언어의 소프트웨어 라이브러리에 비해 일반적으로 뒤떨어져 있다. 많은 개발 시간이 절약될 수 있지만 하드웨어 및 소프트웨어 라이선스 비용은 기존의 산업용 카메라보다 높기 때문에 이 방법은 소수의 시스템을 구현할 때만 효율적이다.

    

따라서 스마트 카메라 및 그래픽 프로그래밍의 접근법은 측정, 코드 판독, 또는 텍스트 인식 작업은 물론 규칙 기반 탐지 방법에 주로 사용된다. 이 방법은 포장, 구성 요소, 또는 전체 모듈을 식별하는 데 유용하다. 또한, 그래픽 프로그래밍을 사용하여 반도체 칩, 회로 보드 및 디스플레이와 같은 정밀한 사양의 제조 부품이 품질 요구 사항을 준수하는지 테스트 및 측정 알고리즘을 생성할 수 있다. 다음 내용에서는 특정 생산 과제에 가장 적합한 이미지 처리 방법을 결정하기 위한 주요 결정 기준을 나열한다.

 

 

그래픽 프로그래밍이 포함된 소프트웨어 플랫폼에는 다음 내용이 포함되어야 한다.

 

- 표준 하드웨어의 광범위한 포트폴리오에 대한 인터페이스

 

- 추가 하드웨어와의 인터페이스를 위한 유연하고 문서화된 옵션

 

- 포괄적인 매개변수화를 통한 광범위한 이미지 프로세싱 기능

 

- 알고리즘 개발을 위한 편안한 그래픽 개발 환경

 

- 이미지 분석의 통계적 평가를 위한 모듈

 

- 그래픽 사용자 인터페이스를 위한 편안한 그래픽 개발 환경으로 통계, 매개변수화와 각 분석의 결과

 

- 스마트 카메라 및 이미지 처리 컴퓨터에서 소프트웨어를 실행할 수 있는 기회

 

디스플레이 검사를 위해 모든 요소가 켜지도록 제어된다. 그런 다음 카메라는 정의된 조건에서 디스플레이의 사진을 찍고 분석을 위해 내부적으로 알고리즘에 넘긴다. 여기서 총 55개의 ‘관심 영역’이 정의된다. 그림 4는 녹색 직사각형으로 그 그림을 보여준다. 각 직사각형에 대한 일련의 규칙은 조각이 품질 테스트를 통과하는지 여부를 결정한다. 이 알고리즘은 주소 및 표시와 배경 및 색상 대비 표시되는 각 표시기를 확인한다.

 

 

그림 5는 스마트 카메라 기반 접근 방식의 장점을 보여주는 전형적인 예로서 LCD 디스플레이 검증을 위한 시스템의 사용자 인터페이스를 보여준다.

 

 

특정 이점: 다중 카메라 설정의 스마트 카메라

 

스마트 카메라 시스템의 일부 공급 업체는 적절한 이미지 처리 PC를 추가로 제공한다. 따라서 알고리즘을 구현한 후에도 시스템 설계자는 약간의 노력으로 프로세싱 하드웨어를 자유롭게 결정할 수 있다.

 

 

사례 1: 검사할 개체가 너무 커서 카메라에 적합하지 않다. 예를 들어, 태양 전지 패널, 대형 스크린, 또는 넓은 천의 스트립 검사 중에 적절한 해상도 수준과 녹화 속도를 제공할 수 있는 경제적인 카메라가 없는 경우가 종종 있다. 유일한 효과적인 해결책은 종종 적절하게 배열된 여러 카메라를 포함한다.

 

사례 2: 여러 각도에서 물체를 동시에 검사한다. 이것은 객체의 3차원 측정의 목적을 제공하거나 한 번에 여러 면에서 표면과 윤곽을 분석할 수 있다.

 

사례 3: 다른 해상도로 녹화. 카메라 유도 로봇에서 넓은 시야를 가진 한 대의 카메라는 공간 방향을 거칠게 포착하여 작동 안전을 보장하지만 종종 추가 카메라는 로봇 도구의 작동 지점에서 정확한 이미지를 제공한다.

 

사례 4: 생산 공정의 다양한 시점에서 카메라 샷의 중앙 처리. 생산 시스템에서 카메라는 여러 장소에서 자동화에 사용되며 중앙 처리 장치는 이미지 분석을 수행한다.

 

 

하나 이상의 카메라를 갖는 이미지 처리 시스템의 구현은 몇몇 측면에서 특히 어려운 문제다. 많은 양의 데이터를 동시에 분석할 필요성을 수용하기 위해 소프트웨어는 쓸 수 있는 컴퓨팅 성능을 가장 효율적으로 사용해야 한다. 위에서 언급한 사례 1, 2 및 3에서 카메라 이미지는 완벽한 동기화 상태여야 한다. 이 과제는 상위 프로그래밍 언어를 사용하는 프로그래머에게는 어려울 수 있다.

    

그러나 다중 카메라 시스템의 함정을 피하고 시스템과 알고리즘 개발을 약간의 노력, 비용 및 위험 없이 지원하는 그래픽 기반 프로그래밍이 있는 소프트웨어 프레임 워크가 있다. 이러한 장점을 고려할 때 점점 더 많은 경험을 가진 프로그래머가 스스로 개발한 멀티 카메라 소프트웨어 애플리케이션을 최대한 제어하고 최적화할 기회를 포기하게 된다(예: C++에서). 그들은 오히려 스마트 카메라로서 전용 이미지 처리 PC를 위한 그래픽 프로그래밍의 이점을 선택한다.

 

시스템 결정을 위한 선택 기준

 

 

결론

 

따라서 접근 방법에 대한 결정은 주로 애플리케이션 요구 사항, 이미지 처리 시스템에서 경험이 풍부한 개발자의 가용성 및 개발 비용과 생산 비용의 원하는 균형을 고려하여 결정된다.  “어떤 시스템을 자동화에 사용해야 하나?”라는 까다로운 질문에 대한 답은 다음과 같은 주요 측면에 기반을 둔다.

 

1. 무엇을 측정하거나 테스트해야 하는가?

 

2. 점검해야 할 기준은 무엇인가?

 

3. 적절한 이미지 처리 전문가가 있는가?

 

4. 적절한 프로그래머가 있는가?

 

5. 얼마나 많은 동일한 시스템이 가동될 예정인가?

 

6. 시스템이 얼마나 빨리 생산적이어야 하는가?

 

7. 각 방법에 대한 투자 수익률(개발비용 vs. 더 나은 품질 및 거부율, 인력 등)은 얼마인가?

 

광학 코드 판독기 및 바코드, 2-D 코드 및 기하학적, 또는 색상 사양 확인을 사용하여 객체를 식별하는 경우 스마트 카메라와 그래픽 프로그래밍은 일반적으로 가장 저렴하고 빠르고 안정적이며 신뢰할 수 있는 해결책이다. 결함에 대한 단순 표면 연구에도 동일하게 적용된다.

    

과일, 채소, 고기, 제과류 등의 천연 제품을 모양, 크기, 색상 또는 결함에 따라 분류해야 하는 경우 인위적인 분야의 자체 학습 알고리즘을 갖춘 고도로 발달된 소프트웨어 도구 인텔리전스는 매우 빠르고 신뢰할 수 있는 솔루션이다.

    

이것은 매우 복잡한 구성 요소에 대한 규칙 기반 검증이 너무 비쌀 때, 그래픽 프로그래밍을 사용하더라도 역시 하나의 최적의 접근 방식이다. 그러나 속도, 알고리즘, 또는 최적의 대용량 비용에 대한 요구가 높으면 고급 언어로 클래식 프로그래밍 방식으로 전환해야 할 수 있다. 종종 프로덕션 관리자 및 프로세스 엔지니어는 기꺼이 자동화를 하고 있지만 프로그래밍 및 이미지 처리에 필요한 전문 지식을 가진 개발자에게 액세스하지 못하는 경우가 있다.

    

이러한 기술이 없으면 고급 언어를 사용하는 이미지 처리 시스템을 구현할 수 없다. 적절한 하드웨어를 선택하고, 엔지니어가 일반적으로 스마트 카메라 기반 접근 방식을 사용하여 자체 자동화 시스템을 신속하고 효과적으로 구현하는 데 필요한 단기 교육 프로세스에 액세스하려면, 기술 전문 지식을 갖춘 유통 업체의 자문을 구해야 한다.

 

 

 

 

자료 제공: FRAMOS(www.framos.com)

주요기사

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

창닫기확인