이하 본 발명의 바람직한 실시 예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다. 본 발명을 설명하기에 앞서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다.
도 1은 본 발명에 따른 "자동 물류시스템"의 구성을 보인 블록도로서, 컨베이어(10), 배송 바우처(21)를 포함하는 물품(20), 카메라(100), 영상 자동분류 장치(200), 프로그래머블 로직 컨트롤러(PLC)(300), 분류 액추에이터(400), 통합관리 시스템(500)을 포함한다.
카메라(100)는 상기 컨베이어(10)를 통해 이동하는 물품(20)의 영상을 촬영하는 장치로서, 고해상도를 갖는 디지털 컬러 CCD 카메라를 이용하는 것이 바람직하며, 카메라의 개수가 많으면 많을수록 더 정확하게 배송 바우처(21)에 대한 영상을 획득할 수 있으나, 시스템 구현 비용이나 설치 환경 등을 고려하여 카메라의 개수를 제한하는 것이 바람직하다.
영상 자동분류 장치(200)는 상기 카메라(100)로부터 획득한 이미지 정보를 처리하고, 그 처리한 이미지 정보에서 배송 바우처 영상정보를 추출하고, 상기 추출한 배송 바우처 영상정보에서 목적지 코드를 추출하여 인식한 후, 지역분류 신호 를 발생하는 기능을 수행한다.
이러한 영상 자동분류 장치(200)는 상기 카메라(100)로부터 획득한 피사체(물품)의 영상 이미지를 디지털 이미지 데이터로 처리하는 이미지 처리 모듈(210); 상기 이미지 처리 모듈(210)에 의해 처리된 디지털 이미지 데이터로부터 배송 바우처를 추출하고, 상기 추출한 배송 바우처의 임의 영역에 기록된 행선지 코드(목적지 코드)만을 추출하는 디지털 신호 처리기(220); 상기 행선지 코드를 지역코드(우편번호) 데이터베이스(DB)에 기 저장된 지역코드와 비교하여 행선지에 대응하는 지역코드를 추출하고, 그 추출한 지역코드에 대응하는 지역분류 제어신호를 발생하는 중앙처리장치(230); 상기 중앙처리장치(230)에서 발생한 지역분류 제어신호를 상기 PLC(300)로 전송하기 위한 응용 프로그램 인터페이스기(API)(240); 상기 통합관리 시스템(500)과 감시 데이터 및 이력 관리 데이터 등을 인터페이스 하기 위한 통신 모듈(250)을 포함한다.
PLC(300)는 상기 영상 자동분류 장치(200)에서 발생한 지역분류 신호에 대응하게 물품을 지역별로 분류하는 분류 액추에이터(400)를 동작시켜 물류를 자동으로 분류하는 기능을 수행하며, 분류 액추에이터(400)는 실질적으로 지역코드에 맞게 물품을 분류하는 기능을 수행한다.
통합관리 시스템(500)은 상기 영상 자동분류 장치(200) 및 상기 프로그래머블 로직 컨트롤러(300)와 실시간으로 통신을 통해 물품 자동 분류에 대한 감시 및 이력 정보를 획득하여 저장 및 관리하고, 외부의 이력 조회 요청에 따라 관리 정보를 제공해주는 기능을 수행한다. 이러한 통합관리 시스템(500)은 일반적은 퍼스널 컴퓨터(PC)로 구현하는 것이 바람직하다.
도 4는 본 발명에 따른 "자동 물류 제어방법"을 보인 흐름도로서, 여기서 S는 단계(Step)를 나타낸다.
이에 도시한 바와 같이, 카메라에서 촬영한 물품 영상에서 배송 바우처 영상만을 추출하는 제1단계(S100 ~ S103, S109)와; 상기 추출한 배송 바우처 영상에서 목적지 코드만을 추출하는 제2단계(S111 ~ S115)와; 상기 추출한 목적지 코드와 미리 저장된 지역코드 데이터베이스를 비교하여 지역 코드를 탐색하고, 상기 탐색한 지역 코드에 따라 지역분류 신호를 생성하여 상기 분류 액추에이터를 동작시키는 제3단계(S117 ~ S119)와; 상기 촬영한 물품 영상에서 배송 바우처 영상이 추출되지 않으면 목적지 코드 검색 실패로 판단하는 제4단계(S105 ~ S107)를 포함한다.
여기서 제1단계는, 카메라를 통해 물품의 영상 이미지를 획득하는 단계(S100)와, 상기 획득한 물품 영상 이미지에서 가로 또는 세로 방향의 단위 길이당 휘도의 변화량을 계산하는 단계(S101)와, 상기 단위 길이당 휘도 변화량과 미리 설정된 임계치를 비교하여 상기 단위 길이당 휘도 변화량이 상기 임계치 이상인 영역에 대해서만 배송 바우처로 판단을 하고, 목적지 코드 추출을 위한 바코드 후보영역으로 결정하는 단계(S109)를 포함한다.
또한, 제2단계는, 상기 추출한 배송 바우처에서 목적지 코드의 존재 위치를 확인하는 단계(S1110와, 상기 목적지 코드의 위치가 오른쪽일 경우에는 목적지 코드의 인식을 수행하고, 상기 목적지 코드의 위치가 왼쪽일 경우 가로와 세로 방향으로 임의 각도만큼 회전시키면서 목적지 코드를 인식하는 단계(S113 ~ S115)를 포 함한다.
이와 같이 구성된 본 발명에 따른 "자동 물류시스템 및 자동 물류 제어방법"은, 고해상도 디지털 컬러 CCD 카메라(100)를 이용하여 0.5m/sec의 속도로 이동하는 컨베이어(10) 시스템을 따라 움직이는 물품(20)의 표면에 부착된 배송 바우처(21)를 추적하여 행선지 코드(목적지 코드)를 구분, 인식하게 된다. 이후 PLC(300)를 조작하는 범용 소프트웨어 인터페이스를 통해 분류 액추에이터(400)의 작동을 자동으로 제어하여, 물품의 지역코드(우편번호) 별로 분류하게 된다.
이를 좀 더 구체적으로 설명하면 다음과 같다.
먼저, 본 발명에 적용되는 배송 바우처(21)는 기존 배송 바우처와는 달리 기존 배송 바우처에 행선지 코드(목적지 코드)를 입력하기 위한 입력 항목을 추가한 배송 바우처로서, 행선지 코드는 도 2a 및 도 2b, 도 3에 도시한 바와 같이 2자리 또는 3자리의 7세그먼트 형식의 숫자코드를 이용하는 것이 바람직하다. 도 3은 3자리 7세그먼트 형식의 숫자 코드를 이용한 행선지 코드의 일 예를 도시한 것이다.
또한, 영상 이미지 이용시 배송 바우처의 다른 이미지 데이터와의 구분을 용이하게 하면서 정확성을 도모하기 위해서, 특정한 색상의 펜으로 행선지 코드를 입력하는 것이 더욱 바람직하다.
주지한 바와 같은 방법으로 행선지 코드가 기록된 배송 바우처(21)가 부착된 물품(20)은 컨베이어(10) 시스템을 통해 소정의 속도(예를 들어, 0.5m/sec)로 이동을 하게 되고, 고해상도 카메라(100)는 상기 물품(20)의 영상 이미지를 획득하기 위한 위치(이것은 카메라의 해상도나 촬영 위치 등을 고려하여 적절한 위치를 선정 하는 것이 바람직함)에 설치되어 상기 물품(20)을 촬영한다(S100).
이렇게 촬영된 영상 이미지는 영상 자동분류 장치(200)의 이미지 처리 모듈(210)에서 디지털 이미지 데이터로 처리된 후, 디지털 신호 처리기(DSP)(220)에 제공된다.
디지털 신호 처리기(220)는 제공되는 디지털 이미지 데이터로부터 배송 바우처 이미지만을 추출하고, 해당 배송 바우처에서 다시 행선지 코드만을 추출한 후 이를 인식하게 된다.
이때, 컨베이어(10)를 통과하는 물품은 이동 중에 좌우로 회전할 경우도 발생하게 되며, 따라서 목적지 코드의 위치를 인식하기 위해 촬영된 바우처 영상에서 목적지 코드의 위치와 방향을 추적할 필요가 있다.
회전되거나 역상의 영상이 입력될 수 있으므로 이로부터 목적지 코드를 분리하기 위해 기존의 바코드의 영상을 기준으로 바우처의 위치와 방향을 계산한다. 일반적으로 바코드 영상은 좁은 영역 안에 흑백의 선들이 조밀하게 배치되어 있고, 일정한 길이 동안 같은 패턴이 반복되어 나타나게 된다. 따라서 이러한 특징을 이용하게 되면 쉽게 바코드의 위치를 인식할 수 있으며, 이를 바탕으로 목적지 코드의 위치를 찾아낼 수 있다.
다음으로, 입력 영상에 가로 방향의 화소 변화를 계산하여 단위 길이당 휘도의 변화량을 산출하고, 그 산출한 휘도의 변화량과 목적지 코드 여부를 판별하기 위해서 미리 정해놓은 임계치와 비교를 하여, 상기 단위 길이당 휘도 변화량이 상기 임계치 이상인 영역을 추출하여 바코드 후보영역으로 결정한다(S101, S103, S109). 아울러 산출한 휘도의 변화량이 상기 임계치보다 작을 경우에는 가로 또는 세로방향의 모든 방향에 대해서 단위 길이당 휘도 변화량을 산출하고, 이를 임계치와 비교한다. 그런 후 모든 방향에 대해서 휘도 변화량이 임계치보다 작을 경우에는 물품에 배송 바우처가 부착되지 않거나 물품이 뒤집힌 경우(배송 바우처가 부착된 부분이 컨베이어 측으로 올려진 상태)이므로, 이 경우에는 목적지 코드 검색 실패에 대한 알람을 발생함으로써, 후속 조치가 이루어지도록 한다(S105, S107).
정상적인 배송 바우처 위치인 경우, 도 2a와 같이 후보영역의 오른쪽에 목적지 코드가 나타나게 되어 있으나 바우처 영상이 180°회전한 경우, 도 2b와 같이 후보영역의 왼쪽에 목적지 코드가 나타나므로, 영상의 역상 입력 여부를 판단하기 위해 목적지 코드의 테두리에 설정된 방향패턴의 상태와 문자의 색상 패턴을 검사하여 바우처의 부착방향과 후보영역의 검증을 통해 정확한 위치를 인식하게 된다.
여기서 가로 방향의 라인을 검사하여 바코드의 패턴이 나타나지 않을 경우 세로방향의 라인을 검사하여 90°회전한 경우의 영상을 추적한다.
이후 세 자리의 코드 번호를 행선지 코드로 추출하고, 일반적인 문자 인식 방법을 통해 세 자리의 코드 번호를 인식한다(S111 ~ S115). 이후 인식한 목적지 코드를 중앙처리장치(230)에 전달하게 되고, 중앙처리장치(230)에서는 제공되는 목적지 코드를 지역코드 데이터베이스에 기저장된 국가에서 지정한 우편번호와 대조하여 지역을 분류한다(S117 ~ S119).
이를 좀 더 구체적으로 설명하면, 분리된 목적지 코드 영역은 칠해진 색상의 인식을 통해 배송 위치를 결정한다. 숫자로 구성된 코드의 인식을 위해 목적지 코 드영역을 이치화하고, 각 숫자별로 영역을 분리해낸다. 이때, 조명의 상태나 바우처의 상태에 따라서 입력 영상이 정확히 분리되지 않는 경우도 있으므로 전체 코드영역의 크기와 각 문자 영역의 비율을 바탕으로 영역을 구분한다.
구분된 영역은 숫자의 인식을 위해 정규화 과정을 거쳐 도 5와 같은 신경망에 입력한다.
목적지 코드는 7세그먼트 형태의 숫자 패턴으로 정의되어 있으므로 각각의 세그먼트위치를 대표할 수 있도록 한 패턴당 2 영역에 대응하도록 가로 6 * 세로 10 영역으로 정규화한다. 각 영역은 대응하는 화소의 휘도 값의 평균으로 나타내고 표준 패턴을 정하여 신경망에 학습시킨다. 신경망은 도 5와 같이 다층 신경망(Multi-layer perceptron) 구조로 되어 있으며, 입력의 표준패턴과 원하는 출력 결과를 정의하여 역전파(Back Propagation) 알고리즘에 의해 중간 노드의 가중치를 갱신해나간다. 전체 출력에 대한 에러가 임계치 이하가 되면 학습을 종료시키며 이때 연결 노드 사이의 가중치가 학습 결과로 저장된다. 학습된 신경망에 정규화된 입력패턴을 넣으면 출력을 구할 수 있고, 각 자리 수의 결과를 조합하면 배송 행선지 코드를 구할 수 있다.
이러한 방법으로 목적지 코드의 인식이 완료되어 지역코드(우편번호)에 따른 지역 분류가 완료되면, 중앙처리장치(230)는 지역 분류 제어신호를 생성하여 응용 프로그램 인터페이스(API)(240)에 전달한다.
API(240)는 PLC(300)와의 인터페이스를 통해 지역분류 신호를 PLC(300)에 제공하게 되고, PLC(300)는 분류 액추에이터(400)를 구동시켜 물품을 지역별로 분류 하게 된다. 즉, 기존에 설치되거나 신규로 설치될 컨베이어 컨트롤 PLC와의 범용적인 인터페이스를 위하여 API 기술을 응용, PC기반 인터페이스를 이용하는 것이 바람직하다. 이들 인터페이스들을 GUI(Graphic User Interface)를 통해 PC 상에서 손쉽게 운용할 수 있는 PC 기반 분류시스템 컨트롤 콘솔로 개발하는 것이 바람직하다.
최종적으로 분류 액추에이터(400)는 PLC(300)에 따라 동작하여 물품을 지역별로 분류하게 되며, 이로써, 사람이 수작업을 하지 않고서도 편리하게 많은 양의 물류를 자동으로 분류하는 것이 가능하게 되는 것이다.
한편, 본 발명의 다른 특징으로는 물류 시스템의 동작시 실시간으로 감시기능(fault 알람기능)과 물류에 대한 이력 관리 및 조회가 가능하다.
이를 위해서 영상 자동분류 장치(200)의 중앙처리장치(230)는 통합관리 시스템(500) 및 PLC(300)와 연계하여, 바우처의 위치인식의 실패나 인식결과의 오류 등으로 분류가 불가능한 경우, 실패(fault) 알람 기능을 통해 경보를 발령하고, 해당 물품을 수동 분류영역으로 전달하도록 제어를 하게 된다. 이러한 제어 또한 API(240)와 PLC(300)를 통해 수행하게 된다.
아울러 통신모듈(250)을 통해 오류가 발생한 바우처의 영상과 처리결과, 상태 감시 결과 등을 통합관리 시스템(500)에 전달하여 이력을 저장 및 관리하도록 한다. 이와 같이 오류가 발생한 시점과 원인을 기록함으로써 오인식의 문제점을 파악하고 추후에 자동 분류 시스템의 성능 개선과 신뢰성 향상을 도모할 수 있게 되는 것이다.
예를 들어, 로그 파일에 기록된 내용을 토대로 성능 저하를 일으킬 소지가 있는 요소들을 파악하여 통계자료로 만들어 관리자에게 보고하여 전체 물류 시스템 향상을 유도할 수도 있다.
본 발명은 상술한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.