비전 소프트웨어는 카메라로부터 획득한 이미지 데이터를 입력받아, 다양한 알고리즘을 적용하여 의미 있는 정보를 추출하고, 사전에 정의된 기준이나 학습된 모델에 따라 검사를 수행하며, 최종적인 결정을 내리는 핵심적인 역할을 담당합니다.
주요 기능은 다음과 같습니다.
-
하드웨어 제어: 카메라 설정(노출, 게인 등), 조명 제어, 트리거 신호 관리 등 하드웨어 구성 요소를 제어하고 동기화합니다.
-
이미지 획득 및 관리: 카메라 인터페이스를 통해 이미지를 수신하고 버퍼링하며, 필요에 따라 저장하거나 다음 처리 단계로 전달합니다.
-
이미지 처리 및 분석: 노이즈 제거, 대비 향상 등의 전처리, 객체 분할, 특징 추출(엣지, 패턴, 블롭, 텍스처 등), 측정, 코드 판독(바코드, OCR) 등 다양한 이미지 처리 알고리즘을 적용하여 필요한 정보를 추출합니다.
-
검사 및 판단: 추출된 정보를 바탕으로 설정된 규칙이나 임계값, 또는 학습된 모델과 비교하여 합격/불합격 판정, 분류, 위치 결정 등의 판단을 내립니다.
-
결과 통신 및 로깅: 판단 결과를 PLC, 로봇, HMI 등 외부 시스템으로 전송하고, 검사 결과, 통계 데이터, 이미지 등을 기록하여 추적성 및 공정 분석을 지원합니다.
-
사용자 인터페이스(UI) 제공: 사용자가 시스템을 설정, 운영, 모니터링할 수 있는 인터페이스를 제공합니다.
CamExpert는 Sapera LT SDK에 포함된 머신비전 카메라 및 프레임 그래버 설정용 GUI 프로그램으로 다음과 같은 특징이 있습니다.
-
다양한 규격 지원: GigE, CXP, USB3, CLHS, CameraLink 등을 준수하는 수백 가지 카메라를 설정할 수 있습니다.
-
실시간 제어: 영상(Live)을 보며 노출, 게인 등의 파라미터를 직관적으로 조정합니다.
-
진단 도구: 히스토그램, 라인 프로파일, 픽셀 검사 등 문제 진단 및 분석 툴을 원도우 하나로 제공합니다.

소프트웨어 환경: 비전 소프트웨어는 다양한 형태로 제공됩니다.
-
소프트웨어 라이브러리 (SDK - Software Development Kit): C++, C#, Python 등 프로그래밍 언어를 사용하여 개발자가 직접 애플리케이션을 구축할 수 있도록 함수와 도구를 제공합니다. 높은 유연성과 제어력을 제공하지만, 전문적인 프로그래밍 지식이 필요합니다.
-
설정 기반 플랫폼 (Configurable Platforms): 그래픽 사용자 인터페이스(GUI)를 통해 코딩 없이 비전 도구를 선택하고 파라미터를 설정하여 애플리케이션을 구성할 수 있습니다. 비전문가도 비교적 쉽게 사용할 수 있도록 설계되었지만, 라이브러리 방식보다는 유연성이 제한될 수 있습니다.
Sherlock은 소프트웨어 라이브러리의 유연성과 설정 기반 플랫폼의 장점을 모두 가지고 있어 복잡한 흐름의 애플리케이션도 개발할 수 있게 설계되었습니다.

최근에는 사용 편의성을 높이기 위해 그래픽 기반 인터페이스를 채택하는 경향이 있으며, 복잡한 검사나 변동성이 큰 대상을 처리하기 위해 인공지능(AI), 특히 딥러닝(Deep Learning) 기술을 통합하는 추세가 두드러집니다.
딥러닝은 명시적인 규칙을 프로그래밍하는 대신, 대량의 예제 이미지(학습 데이터)로부터 스스로 특징을 학습하여 패턴을 인식하거나 결함을 분류합니다. 이는 기존 알고리즘으로는 정의하기 어려운 미묘한 질감 변화, 복잡한 배경 속 객체 인식, 예측 불가능한 결함 검출 등에 강력한 성능을 발휘합니다. 하지만 딥러닝은 방대한 학습 데이터와 높은 컴퓨팅 성능을 요구하며, 학습 과정에 시간과 노력이 필요하고, 결과의 해석이 확률적이어서 초정밀 측정이나 표준화된 코드 판독과 같은 작업에는 기존의 규칙 기반 방식이 더 적합합니다.
Astorocyte(애스트로사이트)는 코딩이 필요 없는(Code-free/No-Code) 전용 AI 딥러닝 학습 도구입니다. 복잡한 프로그래밍이나 AI 전문가 수준의 지식 없이도 직관적인 그래픽 사용자 인터페이스(GUI)를 통해 사용자가 직접 소량의 이미지만으로 뉴럴 네트워크를 학습시키고 머신비전 솔루션을 신속하게 배포할 수 있도록 지원합니다. 이상 탐지 (Anomaly Detection), 물체 분류 (Classification), 객체 탐지 (Object Detection), 이미지 분할 (Segmentation)을 지원합니다.

소프트웨어 선택 시, 애플리케이션의 복잡성, 요구되는 정밀도, 개발자의 전문성, 사용 편의성, 그리고 딥러닝 적용 가능성 및 필요성을 종합적으로 고려해야 합니다.
Sherlock 8과 Astrocyte를 활용하면, 이미징 방식(Area, Line, 3D)과 알고리즘(룰 기반, AI 기반)의 제한 없이 어떠한 형태의 비전 애플리케이션도 최적으로 개발할 수 있습니다.