라인검출 방법 중 FindLine, LineMax 및 SmartLine는 상황에 따라 어떻게 선택해야 할 것인가?
본 글은 비교설명을 통해 visionpro에서 제공되는 세가지의 라인검출 툴의 사용법에 대한 이해를 돕고 추가로 실제 응용에 적합한 라인검출 툴을 선택하는 가이드를 제시한다
본 글은 비교설명을 통해 visionpro에서 제공되는 세가지의 라인검출 툴의 사용법에 대한 이해를 돕고 추가로 실제 응용에 적합한 라인검출 툴을 선택하는 가이드를 제시한다
비전프로는 2D 이미지에서 라인검출을 위해 FindLine, LineMax, 그리고 SmartLine를 제공한다. 그 중에서 가장 오래된 라인검출 툴인 FindLine은 단 하나의 라인을 검출해내는 방법인데 실제 응용에서는 이미지의 ROI 내에서 오직 가장 선명한 라인 하나를 검출하는 방법으로 사용된다. 만약 ROI내에서 멀티 라인을 검출해야 하거나 혹은 검출하고자 하는 단 하나의 라인이라도 항상 가장 선명하지 않는 경우엔 LineMax 와 SmartLine를 사용해야 한다. LineMax와 SmartLine은 모두 멀티 라인을 검출할 수 있는데 LineMax와 달리 SmartLine은 검출된 라인을 식별할 수 있는 능력이 탑재되어 있다.

위 그림에 두개의 ROI가 포함되어 있는데 각각은 총 4개의 질감패턴(여기서는 서로 다른 4개의 표면을 표현하기 위해 4가지 질감을 사용한다)이 순차적으로 연결되어 있는데 단 연결순서가 반대로 되어있다. LineMax와 SmartLine은 모두 인접된 두 질감패턴의 경계에서 라인을 검출할 수 있는데 LineMax는 검출된 라인 A와 라인 B를 두 라인의 주변질감패턴정보의 차이를 고려해서 구분하지 않는다. 그러나 최근 많은 응용에서 사용자는 라인의 방향, 길이 등으로 라인을 식별하는 것이 아닌 라인이 소속된 표면 혹은 재료의 고유의 색상 및 그 변화도 또는 질감 등을 고려해서 라인을 식별할 수 있는 라인검출 방법을 원한다. 이러한 요구를 만족하기 위해서 LineMax 사용자는 추가로 검출된 라인에 대해 룰을 개발 및 적용해 라인을 식별해야 되지만 일반적으로 검출해야 하는 라인의 개수가 많아질수록 해당 룰의 개발난이도도 급격하게 높아진다.
위 그림이 4개의 서로 다른 질감패턴을 가진 패널이 아래부터 위로 적층되어 있다고 가정해보면 ROI_1은 해당 적층의 왼쪽 경계의 일부분을 보여준 것이고 ROI_2는 해당 적층의 오른쪽 경계의 일부분을 보여준 것으로 볼 수 있다. 따라서 라인 A와 A'는 아래로부터 두 번째 층의 가장자리이고 라인 B와 B'는 아래로부터 세 번째 층의 가장자리이고 라인 C와 C'는 가장 상층의 가장자리이다. 이러한 경우에 라인검출 사용자는 각 층의 라인을 검출하고 싶은 뿐만 아니라 검출된 라인이 어느 패널에 소속되어 있는지도 알고 싶은 경우가 많다. 적층 후 추가로 가장자리 정렬을 위해서는 검출된 라인을 식별할 수 있어야 한다.
SmartLine은 검출된 라인의 주변 색상, 변화도, 질감 및 기타 통계적 의미를 가진 맥락정보(contextual information)의 학습을 통해 검출된 라인을 식별할 수 있다. 물론 사전에 소량(보통 5장 이내)의 데이터셋을 통한 트레이닝 과정이 필요하다. 아래는 SmartLine의 라인식별능력을 보여주는 간단한 테스트를 보여준다.
Step 1: 아래의 두 이미지로 SmartLine을 트레이닝 한다

Step 2: 트레이닝 된 SmartLine에 아래 두개의 테스트 이미지를 입력으로 설정해 실행한다. 해당 두개의 테스트 이미지는 4개의 질감패턴을 임의로 선택 및 조합된 결과물이다. P4_text_1, P4_text_2는 테스트 이미지이고 P4_text_1_GT, P4_text_2_GT는 각각 해당 테스트 이미지의 정답이며 P4_text_1_Result, P4_text_2_Result는 각각 해당 테스트 이미지의 결과이다.

보시다시피 식별된 라인의 라벨결과는 정답과 일치한다. SmartLine은 단순한 라인검출이 아닌 강력한 라인식별능력도 함께 제공함으로써 해당 라인을 이용한 응용이 더욱 풍부해진다. 이러한 차이점으로 인해 아래와 같은 경우에는 LineMax 보다는 SmartLine을 선택할 것을 추천한다.
위 그림에서 보여준 실험과 유사하게 SmartLine은 투명/반투명 패널의 정렬공정에 사용하는데 아주 적합하다. 정밀한 정렬공정을 위해서는 검출된 각 라인이 소속된 패널정보를 식별할 수 있어야 하고 해당 패널의 미세한 이동 혹은 회전을 통해 기준선과 정렬하는 과정을 진행하게 된다. SmartLine은 가려짐 상황도 포함된 각 패널의 가장자리에서의 주변맥락정보를 학습함으로써 일관성 있게 학습된 패널의 가장자리를 정확하게 찾아내는 강력한 솔루션을 제공한다. 따라서 SmartLine을 통해 패널의 가장자리를 검출하면 검출된 라인이 어느 패널의 것인지도 알 수 있다.

추가설명: 위에서 언급한 라인검출 툴의 이름과 진행된 실험은 VisionPro 9.23 버전에서 유효하다.