KR20170032347A - 광학 문자 인식을 수행하는 장치 및 방법 - Google Patents

광학 문자 인식을 수행하는 장치 및 방법 Download PDF

Info

Publication number
KR20170032347A
KR20170032347A KR1020177003355A KR20177003355A KR20170032347A KR 20170032347 A KR20170032347 A KR 20170032347A KR 1020177003355 A KR1020177003355 A KR 1020177003355A KR 20177003355 A KR20177003355 A KR 20177003355A KR 20170032347 A KR20170032347 A KR 20170032347A
Authority
KR
South Korea
Prior art keywords
image data
group
string
leftmost
columns
Prior art date
Application number
KR1020177003355A
Other languages
English (en)
Inventor
디트마르 하멘
Original Assignee
사노피-아벤티스 도이칠란트 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 사노피-아벤티스 도이칠란트 게엠베하 filed Critical 사노피-아벤티스 도이칠란트 게엠베하
Publication of KR20170032347A publication Critical patent/KR20170032347A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • G06K9/342
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • G06K9/222
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • G06K2209/01
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

광학 문자 인식 프로세스에서 문자 격리를 수행하는 방법으로서, 상기 방법은: 하나 이상의 문자열들을 나타내는 이미지 데이터를 수신하는 단계; 상기 이미지 데이터의 각 열에 있는 검정색 화소들의 수를 구하는 단계; 한 열에서의 최대 검정색 화소 수인 수직 분리 임계값을 정의하는 단계; 상기 수직 분리 임계값보다 낮은 수의 검정색 화소를 가진 임의의 열을 제외함으로써 상기 열들을 다양한 화소 그룹 및 제외된 열들의 그룹(groups of excluded columns)으로 나누는 단계; 상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계; 상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하는 단계; 및 문자열을 나타내는 2개의 화소 그룹이 존재하는 것으로 판단되면, 최우측 문자열에 대해 기설정된 폭 값을 이용하여 상기 최우측 문자열의 우측 경계를 식별하는 단계를 포함한다.

Description

광학 문자 인식을 수행하는 장치 및 방법{A DEVICE AND METHOD FOR PERFORMING OPTICAL CHARACTER RECOGNITION}
본 발명은 광학 문자 인식(OCR)을 수행하는 장치 및 방법에 관한 것이다. 본 장치는 주사 장치와 같은 의료 기기에 부착되어 함께 사용되는 보조 장치일 수 있다.
의료 기기 분야에서, OCR 기술은 예를 들어 약제 투여를 놓치는 것을 방지하기 위해 매우 높은 정확도가 요구되는 상황에는 자주 사용되지 않는다. 따라서, 많은 기계식 장치들 역시 수동으로 읽어야 하는 투여 스케일 또는 판독값과 수동으로 기록되어야 하는 용량을 사용한다. 이는 사용자에게는 시간 소모적이며, 잠재적으로 에러가 날 수 있다. 또한, 데이터를 전자 전송 및/또는 전자 분석해야 한다면, 우선 데이터를 별도의 전자 장치에 수동으로 입력해야 한다. 더 나아가, 일부 환자(예를 들어, 시력이 나쁜 이들)는 흔히 작게 쓰여진 기계식 판독값을 읽기가 어려울 수 있다.
각종 질병은 약물 주사를 통한 정기적인 치료가 요구된다. 이러한 주사는 의료진이나 환자 스스로 주사 장치를 사용하여 시행될 수 있다. 일 예로, 제1형 및 제2형 당뇨병은 가령 소정의 인슐린 용량을 매일 한 번 또는 여러 번 주사함으로써 환자 스스로 치료할 수 있다. 예를 들어, 사전-충전식 일회용 인슐린 펜(pen)을 주사 장치로 사용할 수 있다. 대안으로, 재사용이 가능한 펜을 사용하여도 된다. 재사용이 가능한 펜의 경우는 빈 약물 카트리지를 새것으로 교체하는 것이 가능하다. 각 펜에는 일방향 주삿바늘 세트가 구비되어 있을 수 있으며, 매번 사용하기 전에 교체된다. 주사하고자 하는 인슐린 용량은 예를 들어 용량 노브를 돌리고, 인슐린 펜의 용량 표시창 또는 디스플레이를 통해 실제 용량을 관찰함으로써 수동으로 인슐린 펜에서 선택될 수 있다. 그런 후에는 주삿바늘을 적당한 피부 부분에 찌르고, 인슐린 펜의 주사 버튼을 누르면 해당 용량이 주사된다. 인슐린이 주사되는 것을 모니터링 할 수 있도록, 예를 들어, 인슐린 펜을 잘못 취급하는 것을 방지한다거나 이미 적용된 용량들을 계속 파악할 수 있도록, 주사 장치의 상태 및/또는 사용과 관련된 정보, 이를테면 주사된 인슐린의 종류 및 용량에 대한 정보를 측정하는 것이 바람직하다.
본 발명의 제1 양태는 광학 문자 인식 프로세스에서 문자 격리를 수행하는 방법을 제공하는 것으로, 상기 방법은:
하나 이상의 문자열들을 나타내는 이미지 데이터를 수신하는 단계;
상기 이미지 데이터의 각 열에 있는 검정색 화소들의 수를 구하는 단계;
한 열에서의 최대 검정색 화소 수인 수직 분리 임계값을 정의하는 단계;
상기 수직 분리 임계값보다 낮은 수의 검정색 화소를 가진 임의의 열을 제외함으로써 상기 열들을 다양한 화소 그룹 및 제외된 열들의 그룹(groups of excluded columns)으로 나누는 단계;
상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계;
상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하는 단계; 및
문자열을 나타내는 2개의 화소 그룹이 존재하는 것으로 판단되면, 최우측 문자열에 대해 기설정된 폭 값을 이용하여 상기 최우측 문자열의 우측 경계를 식별하는 단계를 포함한다.
이 방법은 최우측 문자열에 있는 문자들이 우측 마진(margin)/프레임 영역과 병합되더라도 상기 문자들이 올바르게(correctly) 분할 및 격리될 수 있게 한다. 이미지 데이터 내의 문자들의 올바른 분할 및 격리는 정확하고 신뢰성 있는 OCR 프로세스가 수행될 수 있도록 하며, 이는 의료 적용분야에서 OCR 기술을 사용하는데 있어 특히 중요하다.
상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 식별하는 것을 포함할 수 있다.
상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹이 최소 자릿수(digit) 폭 임계값보다 적어서, 제외된 열들의 최좌측 그룹의 우측에 있는 제2 화소 그룹이 상기 이미지 데이터에서 최좌측 문자열로 정의된다면, 상기 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 제외하는 것을 포함할 수 있다. 이 프로세스는 문자 격리법이 이용가능한 많은 장치에서 "0"과 "2" 사이에 인쇄된 "1"이 더 작은 것에 대한 설명이 된다(그리고, 고려하지 않는다).
상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하는 단계는 제외된 열들의 최좌측 그룹의 폭을 구하는 것을 포함할 수 있다. 상기 제외된 열들의 최좌측 그룹은 자릿수 최좌측 그룹의 좌측에 있는 백색 공간을 나타낸다. 이 영역의 폭은 가시(육안으로 보이는) 숫자들이 각각 하나 또는 2개의 자릿수를 포함하는지의 여부에 좌우된다.
제외된 열들의 최좌측 그룹의 폭이 최대 좌측 마진 임계값보다 적다고 판단되면, 상기 방법은 상기 이미지 데이터에 문자열들을 나타내는 2개의 화소 그룹이 있다고 판단하는 것을 더 포함할 수 있다.
상기 방법은 상기 이미지 데이터에서 최좌측 문자열의 폭을 구하는 단계를 더 포함할 수 있다. 상기 방법은 상기 이미지 데이터에서 구해진 최좌측 문자열 폭을 이용하여, 최좌측 문자열이 오로지 폭이 좁은 숫자들을 포함하는지 또는 폭이 넓은 숫자들을 포함하는지의 여부를 판단하는 단계를 더 포함할 수 있다. 최좌측 문자열이 오로지 폭이 좁은 숫자들을 포함하는 것으로 판단되면, 상기 방법은 최대 유효 용량 결과를 "19"에 설정하는 단계를 더 포함할 수 있다. 숫자 "1"은 다른 모든 수와 폭이 현저하게 다르기 때문에, 최좌측 숫자가 "1"인지 아닌지 확인하는 것이 후속 OCR 프로세스의 정확도를 위해 중요하다.
상기 방법은 이미지의 좌측 경계를 터치하는 임의의 화소 그룹을 제외하는 단계를 더 포함할 수 있다. 일부 예에 의하면, 문자 데이터를 나타내지 않는 것으로 식별되어 제외시켜야 하는 좌측 프레임 영역이 있을 수 있다.
상기 방법은 좌측 문자열과 우측 문자열 사이에 위치하는 제외된 열들의 그룹을 식별함으로써 우측 문자열의 좌측 경계를 식별하는 단계를 더 포함할 수 있다. 이 프로세스는 두 자리 숫자에서 두 자릿수 사이의 간격을 확인해 준다. OCR 알고리즘에서는 올바른 식별을 위해 각각의 자릿수를 분리시킬 것이 요구되기도 한다.
상기 방법은 상기 좌측 문자열이 최대 숫자 폭 임계값보다 폭이 넓은지 판단하고, 그렇다면 상기 이미지 데이터 내의 숫자들이 8 내지 10 범위에 속하는 것으로 판단하는 단계를 더 포함할 수 있다. 이 상황은 숫자 "8"이 상기 이미지 데이터에서 숫자 "10"의 위 또는 아래에 보일 수 있는 경우에 발생할 수 있다. 이 경우 문자들을 열로 나누기란 쉽지 않다. 하지만, 잠재적인 유효 결과를 "8", "9" 또는 "10"에 제한함으로써, 정확한 결과를 여전히 받을 수 있다.
본 발명의 제2 양태는 광학 문자 인식 프로세스에서 문자 격리를 수행하는 프로세서를 제공하는 것으로, 상기 프로세서는:
하나 이상의 문자열들을 나타내는 이미지 데이터를 수신하고;
상기 이미지 데이터의 각 열에 있는 검정색 화소들의 수를 구하며;
한 열에서의 최대 검정색 화소 수인 수직 분리 임계값을 정의하고;
상기 수직 분리 임계값보다 낮은 수의 검정색 화소를 포함한 임의의 열을 제외함으로써 상기 열들을 다양한 화소 그룹 및 제외된 열들의 그룹으로 나누며;
상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하고;
상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하며;
문자열을 나타내는 2개의 화소 그룹이 존재하는 것으로 판단되면, 최우측 문자열에 대해 기설정된 폭 값을 이용하여 상기 최우측 문자열의 우측 경계를 식별하도록 구성된다.
상기 프로세서는 제외된 열들의 최좌측 그룹 바로 우측의 화소 그룹을 식별함으로써 상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하도록 구성될 수 있다.
상기 프로세서는 제외된 열들의 최좌측 그룹의 폭을 구함으로써 상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하도록 구성될 수 있다.
본 발명의 제3 양태는 주사 장치 부착용 보조 장치를 제공하는 것으로, 상기 보조 장치는:
상기 주사 장치의 가동식 구성요소 상에 존재하는 하나 이상 숫자들의 이미지를 캡처하도록 구성된 촬상 구성부(imaging arrangement); 및
본 발명의 상기 제2 양태에 따른 프로세서를 포함한다.
도 1a는 약물 전달 장치의 분해도이다.
도 1b는 도 1a의 약물 전달 장치의 일부 상세 부분의 사시도를 나타낸다.
도 2a는 본 발명의 일 양태에 따른 도 1a 및 도 1b의 약물 전달 장치에 분리가능하게 부착되는 센서 장치의 개략도이다.
도 2b는 본 발명의 다양한 양태에 따른 도 1a 및 도 1b의 약물 전달 장치에 분리가능하게 부착되는 센서 장치의 사시도이다.
도 2c는 본 발명의 다른 양태에 따른 도 1a 및 도 1b의 약물 전달 장치에 분리가능하게 부착되는 센서 장치의 사시도이다.
도 3은 약물 전달 장치에 부착되는 센서 장치의 개략도로서, 상기 센서 장치의 구성요소들을 나타낸다.
도 4는 이진화 후의, 용량 표시창의 이미지에 대한 일 예이다.
도 5는 도 4의 이미지에 수직 투영한 결과를 보여주는 그래프이다.
도 6은 도 4로부터의 이미지 데이터에 스미어링(smearing) 기능이 시행된 결과를 보여주는 그래프이다.
도 7은 도 4의 이미지 데이터에 다양한 임계값을 적용한 결과이다.
도 8은 이진화 후의, 용량 표시창의 이미지에 대한 일 예로서, 1회 단위의 약제를 표시하도록 더 작은 "1"이 이용되는 것을 보여준다.
도 9는 본 발명의 양태들에 따른 프로세서의 예시적 작동을 설명하는 흐름도이다.
이하, 인슐린 주사 장치를 참조로 본 발명의 구현예들을 설명하기로 한다. 그러나, 본 발명은 이러한 적용분야에 한정되는 것은 아니며, 다른 종류의 약물을 토출하는 주사 장치 또는 다른 유형의 의료 기기, 이를테면 시린지, 바늘 없는 주사기 및 흡입기와도 함께 동일하게 활용될 수 있다.
도 1a는, 예를 들어, Sanofi사의 Solostar(R) 인슐린 펜 주사기를 대표할 수 있는 주사 장치(1)의 분해도이다.
도 1a의 주사 장치(1)는 하우징(10)을 포함하고, 주삿바늘(15)이 고정될 수 있는 인슐린 용기(14)가 구비된 사전-충전식, 일회용 펜형 주사기이다. 주삿바늘은 내부 주삿바늘 캡(16)과 외부 주삿바늘 캡(17)에 의해 보호되어, 결과적으로 캡(18)에 의해 커버될 수 있다. 주사 장치(1)로부터 토출되는 인슐린 용량은 용량 노브(knob)(12)를 돌려서 선택할 수 있으며, 이렇게 선택된 용량은, 예를 들어, 소위 국제 단위(IU)의 배수 형태로 용량 표시창(13)을 통해 표시되며, 이때 1 IU는 약 45.5 마이크로그램의 순수 결정 인슐린(1/22 mg)의 생물학적 등가물이다. 용량 표시창(13)에 표시되는 선택된 용량의 예는, 가령, 도 1a에 도시된 바와 같이 30 IU일 수 있다. 마찬가지로, 선택된 용량이 다르게 표시될 수 있다는 것을 유념해야 한다. 하우징(10)에는 라벨(미도시)이 제공된다. 라벨은 약물을 식별하는 정보를 비롯하여, 주사 장치 내부에 포함된 약물에 대한 정보를 포함한다. 약물을 식별하는 정보는 텍스트 형태일 수 있다. 약물을 식별하는 정보는 또한 색상 형태일 수도 있다. 약물을 식별하는 정보는 또한 바코드, QR 코드 등으로 암호화될 수도 있다. 약물을 식별하는 정보는 또한 검정색-흰색 패턴, 컬러 패턴 또는 명암 형태일 수도 있다.
용량 노브(12)를 돌리면, 기계적 클릭음이 발생되어 사용자에게 음향 피드백이 주어진다. 용량 표시창(13)에 표시되는 숫자들은 하우징(10) 안에 수용되어 있으면서 인슐린 용기(14) 내의 피스톤과 기계적으로 상호작용하는 슬리브 상에 인쇄되는 방식으로 제공된다. 주삿바늘(15)을 환자의 피부 부분에 찌른 다음, 주사 버튼(11)을 누르면, 표시창(13)에 표시된 인슐린 용량이 주사 장치(1)로부터 토출된다. 주사 버튼(11)을 누른 후에, 주사 장치(1)의 주삿바늘(15)이 피부 부분 안쪽에 특정 시간 동안 있게 되면, 많은 양의 용량이 실제로 환자의 몸 속에 주사된다. 인슐린 용량이 토출될 때에도 기계적 클릭음이 발생하지만, 이는 용량 노브(12)를 사용할 때 발생되는 소리와 다르다.
주사 장치(1)는 인슐린 용기(14)가 비워질 때까지 또는 주사 장치(1)의 유효 기간(예컨대, 처음 사용한 후 28일)에 이를 때까지 여러 번의 주사 과정을 위해 사용될 수 있다.
아울러, 주사 장치(1)를 처음 사용하기에 앞서, 예를 들면 주삿바늘(15)이 위로 향하도록 하여 주사 장치(1)를 잡고 있으면서, 2 단위의 인슐린을 선택하고 주사 버튼(11)을 누름으로써, 인슐린 용기(14)와 주삿바늘(15)로부터 공기를 제거하는, 이른바 "프라임 샷"을 수행할 필요가 있다.
설명의 편의상, 하기에서, 토출되는 용량은 실질적으로 주사되는 용량에 해당되는 것으로 예시적으로 가정함에 따라, 예를 들어, 다음에 주사되는 용량을 제안할 때 이 용량은 주사 장치가 토출시켜야 하는 용량과 같게 된다. 그렇기는 하지만, 토출되는 용량과 주사되는 용량 사이의 차이(예컨대, 손실)를 당연히 고려할 수 있다.
도 1b는 주사 장치(1)의 단부를 확대한 것이다. 본 주사 장치의 용량 노브(12)에 인접한 하우징(10) 상에는 가이드 리브(70)가 위치한다. 또한 주사 장치(1)의 하우징(10) 상에는 2개의 만입부(indent)(52)가 위치한다. 이들 만입부는 가이드 리브(70)를 기준으로 대칭을 이룰 수 있다. 가이드 리브(70)와 만입부(52)는 (이하 상세히 설명되는) 보조 장치를 주사 장치(1) 상의 올바른 위치에 고정하는 역할을 한다.
도 2a는 도 1a의 주사 장치(1)에 분리가능하게 부착되는 보조 장치(2)의 일 구현예의 개략도이다. 보조 장치(2)는 도 1a의 주사 장치(1)의 하우징(10)을 수용하도록 구성된 결합 유닛을 구비한 하우징(20)을 포함하므로, 보조 장치(2)는 주사 장치(1)의 하우징(10) 상에 꽉 조이는 상태로 있게 되지만, 예를 들어, 주사 장치(1)가 비워지고, 교체되어야 할 때에는 주사 장치(1)로부터 해체가능하도록 되어 있다. 도 2a는 매우 개략적으로 도시한 것이므로, 물리적 구성에 대한 세부 사항은 도 2b를 참조로 아래에 설명하기로 한다.
보조 장치(2)는 주사 장치(1)로부터 정보를 모으기 위한 광학 센서와 음향 센서를 구비한다. 이러한 정보의 최소한 일부, 예를 들면 선택된 용량(및 선택적으로, 상기 용량의 단위)이 보조 장치(2)의 디스플레이 유닛(21)을 통해 표시된다. 주사 장치(1)에 부착되면 주사 장치(1)의 용량 표시창(13)은 보조 장치(2)에 의해 가로막히게 된다.
보조 장치(2)는 개략적으로 버튼(22)으로 예시되는 적어도 하나의 사용자 입력 변환기(input transducer)를 더 포함한다. 이들 입력 변환기(22) 덕분에 사용자는 보조 장치(2)를 턴 온/오프하고, 작동이 시작되도록 하거나(예를 들면, 다른 장치에 연결되거나 또는 짝을 이룬 상태가 되도록 하고/하거나, 보조 장치(2)로부터 다른 장치로 정보가 전달되기 시작하도록 함) 또는 어떤 것을 확인할 수 있다.
도 2b는 도 1a의 주사 장치(1)에 분리가능하게 부착되는 보조 장치(2)의 제2 구현예에 대한 개략적 예시도이다. 보조 장치(2)는 도 1의 주사 장치(1)의 하우징(10)을 수용하도록 구성된 결합 유닛을 구비한 하우징(20)을 포함하므로, 보조 장치(2)는 주사 장치(1)의 하우징(10) 상에 꽉 조이는 상태로 있게 되지만, 그럼에도 주사 장치(1)로부터 해체가능하게 되어 있다.
정보는 보조 장치(2)의 디스플레이 유닛(21)을 통해 표시된다. 주사 장치(1)에 부착되면 주사 장치(1)의 용량 표시창(13)은 보조 장치(2)에 의해 가로막히게 된다.
보조 장치(2)는 3개의 사용자 입력 버튼 또는 스위치를 더 포함한다. 제1 버튼(22)은 파워 온/오프 버튼으로서, 이를 통해 보조 장치(2)를 예를 들면 턴온 및 턴오프시킬 수 있다. 제2 버튼(33)은 통신 버튼이다. 제3 버튼(34)은 확인 또는 OK 버튼이다. 버튼(22, 33, 34)은 임의의 적합한 형태의 기계식 스위치일 수 있다. 이들 입력 버튼(22, 33, 34)을 통해 사용자는 보조 장치(2)를 턴 온/오프하고, 작동이 시작되도록 하거나(예를 들면, 다른 장치에 연결되거나 또는 짝을 이룬 상태가 되도록 하고/하거나, 보조 장치(2)로부터 다른 장치로 정보가 전달되기 시작하도록 함) 또는 어떤 것을 확인할 수 있다.
도 2c는 도 1a의 주사 장치(1)에 분리가능하게 부착되는 보조 장치(2)의 제3 구현예에 대한 개략적 예시도이다. 보조 장치(2)는 도 1a의 주사 장치(1)의 하우징(10)을 수용하도록 구성된 결합 유닛을 구비한 하우징(20)을 포함하므로, 보조 장치(2)는 주사 장치(1)의 하우징(10) 상에 꽉 조이는 상태로 있게 되지만, 그럼에도 주사 장치(1)로부터 해체가능하게 되어 있다.
정보는 보조 장치(2)의 디스플레이 유닛(21)을 통해 표시된다. 주사 장치(1)에 부착되면 주사 장치(1)의 용량 표시창(13)은 보조 장치(2)에 의해 가로막히게 된다.
보조 장치(2)는 터치-감응형 입력 변환기(35)를 더 포함한다. 단일 사용자 입력 버튼 또는 스위치(22)를 또한 포함한다. 버튼(22)은 파워 온/오프 버튼으로서, 이를 통해 보조 장치(2)를 예를 들면 턴온 및 턴오프시킬 수 있다. 터치 감응형 입력 변환기(35)는 작동이 시작되도록 하거나(예를 들면, 다른 장치에 연결되거나 또는 짝을 이룬 상태가 되도록 하고/하거나, 보조 장치(2)로부터 다른 장치로 정보가 전달되기 시작하도록 함) 또는 어떤 것을 확인하는데 사용될 수 있다.
도 3은 도 1a의 주사 장치(1)에 부착된 상태인 도 2a의 보조 장치(2)의 개략도를 나타낸다.
보조 장치(2)의 하우징(20) 내부에는 복수의 구성요소가 수용된다. 이들 구성요소는 프로세서(24), 예컨대 마이크로프로세서, 디지털 신호 프로세서(DSP), 특정 용도용 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA) 등일 수 있는 프로세서(24)에 의해 제어된다. 프로세서(24)는 프로그램 메모리(240) 내에 저장되어 있는 프로그램 코드(예컨대, 소프트웨어 또는 펌웨어)를 실행하고, 가령 중간 결과를 저장하기 위해 주 메모리(241)를 사용한다. 주 메모리(241)는 또한 수행된 토출/주사에 대한 로그북을 저장하는데 사용될 수 있다. 프로그램 메모리(240)는 예를 들어 판독 전용 메모리(ROM)일 수 있고, 주 메모리는 예를 들어 랜덤 액세스 메모리(RAM)일 수 있다.
도 2b에 도시된 것과 같은 구현예에서, 프로세서(24)는 제1 버튼(22)과 사용작용하며, 이를 통해 보조 장치(2)를 예컨대 턴온 및 턴오프시킬 수 있다. 제2 버튼(33)은 통신 버튼이다. 제2 버튼은 다른 장치로 연결되도록 하거나, 다른 장치로 정보가 전달되도록 만드는데 사용될 수 있다. 제3 버튼(34)은 확인 또는 OK 버튼이다. 제3 버튼(34)은 보조 장치(2)의 사용자에게 제공되는 정보를 승인하는데 사용될 수 있다. 도 2c에 도시된 것과 같은 구현예에서, 버튼들 중 2개(33, 34)는 생략가능하다. 그 대신, 하나 이상의 정전용량식 센서 또는 다른 터치 센서가 제공된다.
프로세서(24)는 본원에서 액정 디스플레이(LCD)로 구현된 디스플레이 유닛(21)을 제어한다. 디스플레이 유닛(21)은 예를 들어 주사 장치(1)의 현재 세팅에 대한 정보 또는 다음에 놓아야 할 주사에 대한 정보를 보조 장치(2)의 사용자에게 표시하는데 사용된다. 또한 디스플레이 유닛(21)은 예를 들어 사용자 입력을 수신하기 위한 터치스크린 디스플레이로서 구현될 수도 있다.
또한 프로세서(24)는, 현재 선택된 용량을 표시하는(주사 장치(1) 내에 보관된 슬리브(19) 상에 제공되는 숫자, 문자, 기호 또는 글리프(그림문자)를 통해 표시하며, 이들 숫자는 용량 표시창(13)을 통해 시각적으로 볼 수 있게 되어 있음) 용량 표시창(13)의 이미지를 캡처할 수 있는 광학 문자 인식(OCR) 판독기로서 구현된 광학 센서(25)를 제어한다. OCR 판독기(25)는 또한 캡처된 이미지로부터 문자(예컨대, 숫자)를 인식하고 이 정보를 프로세서(24)에 제공하는 것이 가능하다. 대안으로, 보조 장치(2) 내의 유닛(25)은 이미지를 캡처하고, 캡처된 이미지에 대한 정보를 프로세서(24)에 제공하기만 하면 되는 광학 센서, 예컨대 카메라일 수도 있다. 그러면 프로세서(24)는 캡처된 이미지에 OCR을 수행하는 것을 담당하게 된다. 프로세서(24)는 각자 다른 알고리즘을 사용하는 2개 이상의 상이한 OCR 프로세스를 수행하도록 구성될 수 있다.
또한 프로세서(24)는 현재 선택된 용량이 표시되는 용량 표시창(13)을 조명하기 위한 발광 다이오드(LED)(29)와 같은 광원을 제어한다. 광원 전방에는 확산기(diffuser), 예를 들어 아크릴 유리 조각으로 만들어진 확산기를 사용할 수 있다. 더욱이, 광학 센서는 가령 2개의 비구면 렌즈를 포함하여 확대시키는 렌즈 시스템을 포함할 수 있다. 배율(대상 크기에 대한 이미지 크기의 비율)은 1 미만일 수 있다. 배율은 0.05 내지 0.5 범위이어도 된다. 일 구현예에서 배율은 0.15일 수 있다.
또한 프로세서(24)는 주사 장치(1)의 하우징(10)의 광학 특성(예컨대, 색상 또는 명암)을 결정하도록 구성된 광도계(26)를 제어한다. 광학 특성은 하우징(10)의 특정 부분에만 존재할 수 있다. 이는 예를 들어 슬리브(19)의 색상 또는 색상 코딩, 또는 주사 장치(1) 내에 포함된 인슐린 용기의 색상 또는 색상 코딩일 수 있으며, 이러한 색상 또는 색상 코딩은 가령 하우징(10) 내(및/또는 슬리브(19) 내)의 또 다른 창을 통해 시각적으로 볼 수 있게 구성될 수 있다. 이러한 색상에 대한 정보는 프로세서(24)에 제공되고, 그러면 프로세서(24)는 주사 장치(1)의 유형 또는 주사 장치(1) 내에 수납되는 인슐린의 종류(예컨대, 자주색 SoloStar Lantus 및 청색 SoloStar Apidra)를 결정할 수 있다. 대안으로는, 광도계(26) 대신에 카메라 유닛을 사용하여도 되며, 하우징, 슬리브 또는 인슐린 용기의 이미지는 프로세서(24)에 제공되어, 이미지 처리를 통해 하우징, 슬리브 또는 인슐린 용기의 색상을 결정할 수 있다. 또한, 광도계(26)의 독출을 향상시키기 위해 하나 이상의 광원을 제공할 수 있다. 광원은 광도계(26)가 색상을 더 잘 검출하도록 특정 파장 또는 스펙트럼의 빛을 제공할 수 있다. 광원은 예를 들어 용량 표시창(13)에 의한 원하지 않는 반사를 막거나 줄이는 방식으로 배치될 수 있다. 예시적 구현예에서는, 광도계(26) 대신에 또는 광도계(26) 외에, 카메라 유닛을 배치하여 주사 장치 및/또는 그 안에 수용되는 약물과 관련된 코드(예를 들어, 1차원 또는 2차원 바코드일 수 있는 바코드)를 검출할 수 있다. 이러한 코드는, 가령, 몇몇 예를 들자면, 하우징(10) 상에 또는 주사 장치(1) 내에 수용된 약물 용기 상에 위치될 수 있다. 이 코드는, 예를 들어, 주사 장치의 유형 및/또는 약물의 종류, 및/또는 추가 특성(예컨대, 유통 기한)을 표시할 수 있다.
프로세서(24)는 또한 주사 장치(1)가 발생시키는 소리를 감지하도록 구성된 음향 센서(27)를 제어한다(및/또는 음향 센서로부터의 신호를 수신한다). 이러한 소리는, 예를 들어, 용량 노브(12)를 돌려서 용량을 다이얼링할 때, 및/또는 주사 버튼(11)을 눌러서 용량을 토출/주사할 때, 및/또는 프라임 샷이 수행될 때 발생할 수 있다. 이들 조작은 기계적으로 유사하지만, 서로 다르게 소리가 난다(이들 조작을 알려주는 전자음에 대한 경우에도 해당될 수 있음). 음향 센서(27) 및/또는 프로세서(24)는 다양한 소리를 구별하도록 구성될 수 있어, 예를 들면, (프라임 샷 단독보다는) 주사 조작이 수행되었는지 안전하게 인식할 수 있게 한다.
프로세서(24)는, 예를 들어, 주사 장치(1)의 작동 상태와 관련될 수 있는 음향 신호를 사용자에게 주는 피드백으로 생성하도록 구성된 음향 신호 발생기(23)를 또한 제어한다. 예를 들어, 음향 신호 발생기(23)는 다음에 주사해야 하는 용량에 대한 암시 신호로서, 또는 예컨대 오용의 경우에 경고 신호로서 음향 신호를 생성하기 시작하기도 한다. 음향 신호 발생기는 예를 들면 부저 또는 확성기로서 구현될 수 있다. 음향 신호 발생기(23) 외에, 또는 그의 대안으로, 촉각 신호 발생기(미도시)를 사용하여 촉각 피드백을 예컨대 진동 방식으로 제공할 수 있다.
프로세서(24)는 무선 방식으로 다른 장치에/로부터 정보를 전송 및/또는 수신하도록 구성된 무선 유닛(28)을 제어한다. 이러한 전송은 예를 들어 무선 전송 또는 광학 전송에 기반할 수 있다. 일부 구현예에서, 무선 유닛(28)은 블루투스 송수신기이다. 대안으로, 무선 유닛(28)은 유선 방식으로, 예를 들면 케이블 또는 파이버 접속을 통해, 다른 장치에/로부터 정보를 전송 및/또는 수신하도록 구성된 유선 유닛으로 대체되거나 또는 보충될 수 있다. 데이터를 전송할 때에는, 전달되는 데이터(수치)의 단위를 명백하게 하거나 명확하게 정의한다. 예를 들어, 인슐린 용량의 경우에는 항상 국제 단위(IU)를 사용할 수 있거나, 아니면 사용되는 단위를 예를 들면 암호화된 형태로 명백하게 전환할 수 있다.
프로세서(24)는 펜(1)이 존재하는지의 여부, 즉, 보조 장치(2)가 주사 장치(1)에 결합되어 있는지의 여부를 검출하도록 작동가능한 펜 검출 스위치(30)로부터 입력을 수신한다. 배터리(32)는 전원(31)을 통해 프로세서(24) 및 기타 구성요소들에 전기를 공급한다.
따라서, 도 3의 보조 장치(2)는 주사 장치(1)의 조건 및/또는 사용과 관련된 정보를 정할 수 있다. 이러한 정보는 상기 장치의 사용자가 사용하는 디스플레이(21)에 표시된다. 이러한 정보는 보조 장치(2) 자체에 의해 처리될 수 있거나, 또는 다른 장치(예컨대, 혈당 모니터링 시스템)에 적어도 일부가 제공될 수 있다.
주사 장치(1)와 보조 장치(2)는 광학 센서(25)의 시야가 용량 표시창(13) 위로 대략 중심에 위치하도록 구성된다. 제조 공차란 수평 방향 및 수직 방향으로 중심을 약간 벗어난 시야를 의미하기도 한다.
일부 구현예에서는, 공간 제약 및 특정 크기의 숫자들에 대한 필요성으로 인해, 넘버 슬리브(19) 상에 짝수들만 인쇄되어 있다. 일부 다른 구현예에서는, 넘버 슬리브 상에 홀수들만 인쇄되어 있기도 하다. 하지만, 주사 장치(1)에 어떤 수의 약제 단위든 다이얼링할 수 있다. 일부 대안적 구현예에서는, 슬리브 상에는 모든 숫자, 즉, 오름차순의 정수들이 인쇄될 수 있다. 이들 구현예에 의하면, 주사 장치로 절반 단위의 용량을 다이얼링하는 것이 가능할 수 있다. 주사 장치는 최대 80 단위의 용량을 다이얼링하도록 제한될 수 있다. 또 다른 대안적 구현예에 의하면, 세 번째, 네 번째 또는 다섯 번째마다의 숫자만 인쇄될 수 있다. 인쇄된 숫자들 사이의 용량 위치는 체크 마크(tick mark)로 표시될 수 있다. 본원에서 "인쇄"란 용어는 숫자들을 넘버 슬리브의 표면에 표시한 것을 가리키지만, 숙련자라면 숫자들을 보조 장치(2)의 광학 센서(25)에 인쇄, 식각, 표시, 부착시키거나 또는 수많은 공지된 방식으로 육안으로 보이게 만들 수 있음을 이해할 것이다.
이하 구현예들에서는 용량 슬리브(19) 상에 짝수들만 인쇄된 것으로 가정하겠지만, 주사 장치로 임의 수의 단위를 다이얼링할 수 있다.
프로세서(24)는 광학 센서(25)의 시야에서 가시 숫자들(또는 일부 숫자들)을 식별하기 위해, 저장된 템플릿과 비교하도록 상기 숫자들을 분리 및 준비될 수 있게 하는 알고리즘을 실행하도록 구성된다. 이 알고리즘은 상기 가시 숫자들에 광학 문자 인식(OCR) 프로세스를 수행하고, 이러한 OCR 프로세스의 결과를 이용하여, 주사 장치(1)로 현재 다이얼링된 용량을 정확하게 판단한다. 본 알고리즘은 소프트웨어 또는 펌웨어에서 구현될 수 있으며, 보조 장치(2)의 프로그램 메모리(240)에 저장될 수 있다. 이러한 알고리즘을 함께 저장하는 프로세서(24)와 메모리(240)를 본원에서는 "프로세서 구성부"로 언급하기로 한다.
전체 알고리즘은 전처리부, OCR부 및 후처리부로 나뉠 수 있으며, 여기서 각 부는 일반적으로 여러 단계를 포함한다.
전처리부에서는 이미지 데이터 품질을 평가하고, 다음과 같은 단계들을 실행하여 품질을 개선한다.
ㆍ 결함이 있는 불량 화소 보정
ㆍ 빛 보정
ㆍ 왜곡 및 경사 보정
예를 들어, 노출 제어 알고리즘은 지나치게 밝거나 지나치게 어두운 사진을 거부하고, 노출 매개변수를 조절한 후 새 사진을 찍는다. 사람이 쉽게 인식하고 위치 조정하도록 숫자들을 경사지게 인쇄할 수 있지만, 이러한 경사를 없애면 디코딩하기가 더 수월해질 수 있다. 본원에 기재 및 청구된 본 발명의 목적상, 전처리는 선택적 특징이다. 상기 알고리즘의 OCR부는, 이미지를 전처리하지 않고, 요구되는 표준을 수행하도록 디자인될 수 있고/있거나, 광학 센서(25)는 OCR을 직접 수행하기에 충분한 품질의 이미지들을 생성하도록 구성될 수 있다.
OCR부에서, 이미지 데이터가 추가로 처리되어, 결국에는 인식된 문자가 제공될 수 있다. OCR 프로세스는:
ㆍ 이진화 단계
ㆍ 분할 단계
ㆍ 패턴 정합 단계
ㆍ위치 계산 단계를 포함한다.
후처리는 다양한 체크(확인)와, 디스플레이하고자 하는 결과의 생성을 포함할 수 있다. 후처리는:
ㆍ 새너티(주요기능) 체크를 수행하는 단계
ㆍ 히스테리시스 계산 단계
ㆍ 디스플레이 상에 최종 결과를 나타내는 단계를 포함한다.
본원에 기재 및 청구된 본 발명은 OCR 프로세스의 분할 부분에 관한 것이다. 본원에 기재 및 청구된 본 발명의 목적상, 전처리, 후처리 및 OCR 프로세스의 다른 부들은 선택적 특징들이다.
센서 장치(2)에 요구되는 높은 신뢰성으로 인해, 일부 구현예에 의하면 병렬로 작동되는 두 개의 OCR 알고리즘이 있을 수 있다. 이들 두 OCR 알고리즘은 동일한 입력(이미지)를 가지며, 동일한 출력을 제공하도록 의도된다. 양측 다 비슷한 단계들을 수행하지만, 각 단계에서 이용되는 개별적 방법들은 다를 수 있다. 이들 두 OCR 알고리즘은 이진화 단계, 분할 단계, 패턴 정합 단계 및 위치 계산 단계 중 하나가 상이할 수 있거나, 이들 단계 중 둘 이상이 상이할 수 있다. 서로 다른 방법을 이용하는 두 개의 OCR부에 동일한 결과를 제공하고자 하면 전체 알고리즘의 신뢰성이 증가하는 결과를 가져오는데, 이는 데이터가 두 가지 독립적인 방식으로 처리되었기 때문이다.
주요 도전과제는 이미지 캡처와, 분할 단계를 포함한 후속 OCR 프로세스를, 디스플레이로부터 숫자, 문자 및/또는 글리프를 신뢰성 있게 인식하여 용량 값을 정할 수 있는 소형 시스템에 구현하는 것이다. 상기 시스템은 배터리로 구동되고, 소형이며, 컴팩트한 디자인과 수명 요구조건으로 인해 촬상은 물론 처리 능력에 제한이 있다. 이러한 종류의 장치를 위한 프로세서는 전형적으로 클록 속도 약 100 MHz 이하, 메모리 최대 32 kByte RAM 및 512 kb 플래시(이들 사양은 예시적인 것으로, 제한하는 것으로 의도되지 않음)를 가진다. 하지만, OCR 프로세스의 결과는 실시간으로 제공되어야 하는데, 다시 말해 용량을 다이얼링하고 있는 사용자가 다이얼링하면서 상기 결과를 보조 장치로부터 독출할 수 있도록 제공되어야 한다. 통상적 계산 시간은 약 70 ms일 수 있다.
도 4는 "47" 단위의 용량이 다이얼링된, 이진화 후의, 용량 표시창(13)의 이미지(400)의 일 예를 나타낸다. 수평 실선(402)은 광학 센서(25) 시야의 중앙선을 나타낸다. 광학 센서(25)로 용량 표시창(13)의 이미지를 우선 캡처한다. 전술된 전처리 단계들을 적용한 다음, 이진화 처리를 통해 그레이스케일 이미지를 순수 흑백 이미지로 전환한다. 밝은 색 슬리브 상에 어두운 색 숫자들이 있는 펜형 주사기의 디자인에 따르면, 흑백 이미지는 검정색 화소들을 지닌 자릿수가 존재한다는 것과 백색 화소들을 지닌 자릿수가 부재한다는 것을 가리킬 수 있다.
일부 구현예에서는 고정 임계값을 이용하여 검정색 화소와 백색 화소를 분리시킨다. 이진화된 사진에서 임계값 이상의 값을 갖는 화소들은 백색이 되고, 임계값보다 적은 값의 화소들은 검정색이 된다. 임계값이 높으면 인공음영(백색 영역 내 검정색 부분)이 생기게 되는 반면에, 임계값이 낮으면 일부 경우에 자릿수들의 일부가 없어지는 위험이 있다. 일부 구현예에서는, 알고리즘이 일반적으로 인공음영에 반해 강력하기 때문에 (즉, 정확한 OCR 프로세스가 일부 인공음영의 존재 하에 수행될 수 있음) 어떠한 경우에서도 자릿수들의 일부가 사라지는 일이 없도록 임계값을 선택한다. 여러 테스트에서, 256개의 회색 값들을 검출할 수 있는 센서를 사용하였으며, 임계값 127이 양호한 결과를 나타내었다.
이어서, 제안된 알고리즘에 의하면, 이진화된 이미지를 우측에서 좌측 방향으로 분석하는 분할 프로세스를 수행한다. 이 프로세스에서는 우측 마진을 제외하고, 우측 숫자열의 위치를 식별한다. 그런 후, 좌측 숫자열이 있는지의 여부를 판단한다. 0 내지 8의 숫자들에 대해서는, 단지 하나의 우측 숫자열만 있다. 끝으로, 좌측의 체크 마크들을 제외시켜, 격리된 숫자열(들)만 남게 한다. 본 제안된 알고리즘은 우측 숫자열이 우측 마진으로부터 확실하게 분리되는 한 잘 작동된다.
도 4에서 볼 수 있는 바와 같이, 일부 예에서, 숫자들이 멀리 우측으로 충분히 이동하게 되어 우측 숫자열과 우측 마진이 함께 병합된다. 이 예에서, 알고리즘은 전체 우측 숫자열을 제외하게 되고, 다이얼링된 용량을 올바르게 인식하는데 실패하게 된다.
본 발명의 알고리즘은 이미지 데이터를 다르게 분석하고, 우측 숫자열을 올바르게 격리시킬 수 있으며, 나중에 설명되겠지만, 이는 심지어 우측 숫자열이 우측 마진과 병합되었더라도 격리시킬 수 있다.
프로세서(24)는 이진화된 이미지를 구성하는 화소 열들을 분석하는 "수직 투영"을 먼저 수행한다. 각 화소 열을 개별적으로 분석하고, 각 열에서 검정색 화소 수의 합을 계산한다.
도 5는 도 4의 이미지(400)에 수직 투영을 한 결과를 나타내는 그래프(500)이다. 그런 후에는 이러한 미가공 데이터를 아래 공식에 따라 인접 열들을 조합함으로써 스미어링시킨다.
Cy = By-2 + 4By -1 + 6By + 4By +1 + By+2
여기서 Cy는 스미어링된 투영값이고, By는 'y'열에서 검정색 화소들의 합이다.
대안으로, 하기 공식을 이용할 수 있다:
Cy = By-2 + 4By -1 + 8By + 4By +1 + By+2
도 6은 도 4의 이미지 데이터에 스미어링 기능을 수행한 결과를 나타내는 그래프(600)이다. 이러한 스무딩은 미소 외란들을 제거하여 이들 외란이 알고리즘 결과에 부정적인 영향을 미치지 못하게 한다. 실제로, 미소 외란의 효과를 없애도록 스미어링 기능을 수행하는 어떠한 공식이라도 이용할 수 있으며, 위의 특정 공식들은 예로만 주어진 것이다.
이어서 알고리즘은, 아래에 대문자로 쓰여진 바와 같이, 많은 다양한 임계값을 이용하여 화소 열들을 다양한 화소 그룹과, 제외된 열들의 그룹으로 분리한다. 곡선이 VERICAL_SEPARATE_THRESHOLD 아래로 떨어지면, 어느 쪽이든 해당 화소들은 서로 다른 엔티티인 것으로 추정되어, 상이한 화소 그룹으로 할당된다. 최소 수의 검정색 화소를 가진 열은 디바이더(divider)로 사용되며, 어떠한 화소 그룹의 일부도 아니다.
곡선이 VERICAL_WHITESPACE_THRESHOLD 아래로 떨어지면, 해당 영역은 빈 것으로, 즉 백색인 것으로 추정된다. 화소 그룹들을 격리 및 식별한 후, 더 적은 VERICAL_THRESHOLD 검정색 화소를 갖는 가장자리에서의 열들을 제거하는 방식으로 각 화소 그룹을 양측으로부터 트리밍한다.
도 7은 도 4의 이미지 데이터에 전술된 임계값들을 적용한 결과를 나타낸다. 분리된 화소 그룹들을 빗금/선영 처리 및 a) 내지 d) 글자로 식별하였다. 제외된 열들의 그룹에는 빗금이 쳐지지 않았다.
앞서 제안된 알고리즘에서는, 화소 그룹 a)로 표현되는 우측 마진의 경우에서와 같이, 만일 곡선이 VERTICAL_INVALID_THRESHOLD 위로 올라가면(이는 어떠한 백색 화소도 거의 없이 검정색 수직선이 이미지를 통과할 때에만 발생한다), 화소 그룹이 무효인 것으로 표시하였다. 여기서 화소 그룹 a)는 또한 우측 가장자리 영역 또는 지역, 우측 프레임 영역 또는 지역, 또는 우측 경계 영역 또는 지역으로 설명될 수 있고, 본원에서 이러한 용어들은 혼용하여 사용될 수 있다. 이 경우 "무효"는 해당 화소 그룹이 인쇄된 숫자들을 나타내는 것으로 고려되지 않음을 의미한다. 그러나, 화소 그룹 a)와 b) 사이의 간격이 분명하지 않은 경우, 즉 곡선이 VERICAL_SEPARATE_THRESHOLD 아래로 떨어지지 않은 경우, 이전의 알고리즘이라면 화소 그룹 a)와 b)를 함께 제외할 것이다. 화소 그룹 b)가 우측 문자열을 나타내기 때문에, 알고리즘은 이미지 내 숫자들을 올바르게 식별하는데 실패할 것이다. 이에 따라, 본 발명은 VERTICAL_INVALID_THRESHOLD를 이용하지 않고, 후술되는 다른 방식으로 화소 그룹 b)를 우측 마진으로부터 분리한다.
본 알고리즘의 과제는 문자열들을 나타내는 화소 그룹들을 식별하는 것이다. 일반적으로, 각 문자열은 세로 방향으로 정렬된 둘 이상의 문자를 포함한다. 이들 문자는 후속 단계에서 서로 분리된다. 일부 구현예에서, 알고리즘은 이미지의 좌측 경계를 터치하는 (그리고 선택적으로는 이미지의 우측 경계를 터치하는) 화소 그룹을 무효화하도록 구성된다. 다시 한 번, 이렇게 사용된 "무효화"는 해당 화소 그룹이 숫자로 고려되는 것에서 제외되었음을 의미한다. 그 결과 화소 그룹 d)는 고려대상에서 제외된다.
알고리즘은 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별한다. 이는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 식별함으로써 수행된다. 예를 들어, 이는 VERICAL_SEPARATE_THRESHOLD 아래에 있는 첫 번째 열보다 높은 열 수를 갖는 우측으로의 첫 번째 화소 그룹을 식별함으로써 달성될 수 있다. 따라서, 화소 그룹 c)가 최좌측 문자열을 나타내는 것으로 식별된다.
다음으로, 알고리즘은 이미지 데이터 내 문자열들을 나타내는 1개 또는 2개의 화소 그룹이 있는지의 여부를 판단한다. 이는 제외된 열들, 즉, 도 7에서 화소 그룹 d0와 c0 사이의 열들의 최좌측 그룹의 폭을 구함으로써 수행된다. 이미지에서 가시 숫자들, 즉, 숫자 0 내지 8이 단일 열로 배치되어 있다면, 첫 번째 간격의 폭은 이미지가 2개의 숫자열을 가진 경우보다 더 클 것이다. 그러므로, 만일 제외된 열들의 첫 번째 그룹이 임계값 MAX_LEFT_MARGIN_TWO_DIGITS보다 폭이 넓다면, 이미지 데이터가 단 하나의 숫자열을 포함한 것으로 판단한다. 만일 제외된 열들의 첫 번째 그룹이 임계값보다 폭이 좁다면, 2개의 문자열이 존재하는 것으로 추정된다.
이미지 내 문자열을 나타내는 2개의 화소 그룹이 있다고 알고리즘에 의해 판단되면, 우측 자릿수의 범위를 추론할 수 있다. 따라서, 우측 자릿수들이 이미지의 우측에 있는 검정색 마진 영역과 병합되더라도, 분석을 위해 이들 자릿수를 분리할 수 있다.
우선, 최좌측 문자열의 우측에 있는 제외된 열들의 그룹을 식별한다. 대부분의 경우에서 이는 이미지의 좌측으로부터 두 번째 제외된 열들의 그룹일 수 있다. 우측 문자열의 좌측 경계가 위치된 곳에서 대개 분명해질 수 있다(일부 특수한 경우에 대한 아래 설명을 참조한다). 주사 장치(1)와 보조 장치(3)의 디자인은 광학 센서(35)가 용량 표시창(13)으로부터 기설정된 거리만큼 이격되어 위치하도록 의도되었기 때문에 이미지 데이터에 나타나는 숫자들의 폭(화소로 표시됨)이 구해진다. 일 예에서, "1"을 제외한 각 숫자의 폭은 14 화소인 반면, "1"의 폭은 7 화소다. 각 숫자의 높이는 26 화소일 수 있다. 하지만, 정확한 화소 수는 인쇄된 숫자들의 폰트 크기뿐만 아니라, 사용된 폰트 종류, 센서 장치(2) 그리고 주사 장치(1)에 대한 상기 센서 장치의 배치, 및 센서 장치 내 렌즈들에 의해 또는 표시창(13)에 의해 발생되는 임의의 확대효과(배율)에 좌우된다. 계속해서 위의 예에서는 짝수들만 넘버 슬리브(19) 상에 인쇄되기 때문에, 숫자 "1"만 좌측 문자열(숫자 10 내지 18)에 나타남에 따라, 우측 문자열은 14 화소 폭의 숫자만 갖게 될 것이다. 따라서, 우측 문자열의 좌측 경계가 일단 식별되면, 우측 경계는 14 화소만큼 더 우측인 것으로 정의된다. 신뢰도를 높이기 위해, 예상 폭보다 자릿수 폭을 적은 수의 화소 열로 설정할 수 있다. 문자열들을 개별 자릿수들로 수평 분할한 다음, 선택적 시스템의 허용오차뿐만 아니라 자릿수들의 인쇄 허용오차(예를 들어, 자릿수 폭과 위치)를 맞추기 위해 선택적 자릿수 트리밍 프로세스를 아래와 같이 실행할 수 있다. 이 프로세스는 임의의 자릿수의 좌측 가장자리 및 우측 가장자리 모두에 적용될 수 있지만, 정확한 OCR 분석을 위해 우측 자릿수들이 우측 마진으로부터 충분히 분리되는 것을[화소 그룹 a)] 보장하도록 상기 프로세스가 우측 자릿수들의 우측 가장자리에 적용될 때 특히 유용하다. 따라서, 이러한 선택적 트리밍 덕분에 OCR 식별이 더 정확해질 수 있다.
자릿수들은 좌측 및 우측 문자열들로 미리 분리된다.
한 우측 자릿수를 예로 사용하여, 먼저, 우측 문자열의 최우측 화소 열에 수직 투영을 수행함으로써 상기 열에서의 검정색 화소들의 수를 구한다. 본 예에서 해당 자릿수의 예상 높이는 26 화소다. 만일, 예를 들어, 상기 열에서 26개 중 19개가 넘는 화소가 검정색이라면, 상기 열은 해당 자릿수의 일부라기보다는 필시 화소 그룹 a)의 일부일 것으로 판단되어 거부된다. 이는, 우측의 한 검정색 수직 열이 쉽게 잘못 해석될 수 있는 경우, 즉, 문자 인식 단계에서 "6"이 "8"로 인식되는 경우가 있으므로, 자릿수 6과 8을 각각 구별하는데 있어서 특히 중요할 수 있다.
다른 한편으로는, 최우측 화소 열에서 6개 이하의 화소가 검정색인 경우, 상기 열은 OCR 단계에 필요하지 않으므로 역시 거부될 수 있다. 우측 문자열에 짝수들만(2, 4, 6, 8) 나타난다는 사실 때문에, 최우측 화소 열의 바로 좌측 열에는 항상 검정색 화소들이 더 많다. 그러므로 최종 열을 거부하는 것은 OCR에 부정적인 영향을 전혀 미치지 않는다.
일부 주사 장치 디자인에서는 더 작은 "1"을 사용하여 1 단위의 약제를 표시한다. 이렇게 더 작은 1은 "0"과 "2" 사이에 세로 방향으로 위치하지만, 도 8의 이진화 이미지(800)에 도시된 바와 같이, 좌측으로 오프셋된다. 여기서의 "1"은 숫자들 10 내지 18에 사용된 1보다 작다. 이러한 특수 경우가 존재하는 상황에서 본 알고리즘은 상기 상황을 인식하고, 숫자들의 올바른 디코딩을 보장하기 위해 추가 단계들을 가진다. 전과 같이 첫 번째 문자열의 폭을 계산하는 것이 이에 포함된다. 만일 이 폭이 임계값 DIGIT_MIN_ONE_WIDTH 미만이라면, 상기 열은 도 8에 도시된 작은 "1"을 나타내는 것으로 추론된다. 그렇다면 상기 열은 무효화되어 후속 OCR 및 위치 검출 단계들에서 사용되지 않게 된다. 만일 첫 번째 문자열이 DIGIT_MIN_ONE_WIDTH와 같거나 폭이 더 넓되, 임계값 DIGIT_MAX_ONE_WIDTH 미만이라면, 상기 첫 번째 문자열이 (숫자들 10 내지 18에서처럼) "정상적인" 것을 가지고 있다고 추론된다. 이 정보는 최대 가능 유효 결과를 "19"로 설정하는 등으로 나중에 OCR 프로세스에서 이용될 수 있다.
주사 장치(1)로 "9" 단위를 다이얼링하는 또 다른 특수 경우가 존재한다. 이 경우, 숫자 "8"과 "10"의 일부 또는 전체가 이미지에 나타나고, 이때 숫자 "8"은 "10"의 1과 0 사이의 간격 대략 위에 위치된다. 따라서, 본 알고리즘은 좌측 문자열이 임계값 MAX_DIGIT_WIDTH보다 폭이 넓은지(한 자릿수가 되기에는 지나치게 폭이 넓음) 알아보기 위해 추가 체크를 수행한다. 만일 그렇다면, 넘버 슬리브(19)가 숫자 8과 10 사이에 있다고 추론된다. 이어서, 분석을 위해 자릿수들이 격리될 수 있도록, 문자열들을 나누기 위한 임계값들을 그에 맞게 조절할 수 있다.
도 9는 광학 센서(25)가 캡처한 이미지들을 분석하는데 있어서 프로세서(24)의 예시적 작동을 설명하는 흐름도를 도시한다.
900 단계에서, 프로세서(24)는 광학 센서(25)로부터 이미지 데이터를 수신한다. 이러한 이미지 데이터는 이진화 데이터일 수 있거나, 또는 이진화 처리가 프로세서(24)에 의해 수행될 수 있다. 대안으로는 프로세서가 그레이스케일 이미지 상에 그 다음 단계들을 수행할 수 있다. 902 단계에서, 프로세서(24)는 이미지 데이터를 분석하여 상기 이미지의 각 열에서의 검정색 화소들의 수를 구한다. 904 단계에서는 수직 분리 임계값이 정의된다. 실제, 이 임계값은 사전 정의되어 보조 장치의 메모리에 사전 프로그램밍될 수 있다. 그러나, 이러한 임계값은 광 레벨 등에 기반한 프로세서에 의해 동적으로 정의될 수도 있다.
906 단계에서, 프로세서(24)는 이미지의 열들을 화소 그룹 및 제외된 열들의 그룹으로 분리한다. 이는 앞서 정의된 수직 분리 임계값보다 적은 수의 검정색 화소들을 가진 모든 열들을 제외함으로써 수행된다. 908 단계에서, 프로세서는 이미지에서 최좌측 문자열을 나타내는 화소 그룹을 식별한다. 이는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 식별함으로써 수행된다.
910 단계에서, 프로세서(24)는 이미지 내 문자열들을 나타내는 1개 또는 2개의 화소 그룹이 있는지의 여부를 판단한다. 이는 제외된 열들의 최좌측 그룹의 폭을 구함으로써 수행된다. 만일 제외된 열들의 최좌측 그룹의 폭이 기설정된 폭보다 작으면 2개의 문자열이 존재하는 것으로 추정된다. 만일 제외된 열들의 최좌측 그룹의 폭이 기설정된 폭보다 크면, 1개의 문자열이 존재하는 것으로 추정된다.
912 단계에서는 이미지 데이터 내 2개의 문자열이 존재하는 것으로 판단되면, OCR 알고리즘에서 우측 문자열들을 위해, 기설정된 폭 값(화소로 표시됨)을 이용한다. 이는 좌측 문자열과 우측 문자열 사이에 제외된 열들의 그룹을 식별함으로써 우측 문자열의 좌측 경계를 구하는 것을 포함할 수 있다. 이어서 우측 경계는 기설정된 폭 값(화소로 표시됨)만큼 더 우측인 것으로 정의된다. 이러한 새 수직 분할 프로세스 이후, 나머지 OCR 알고리즘을 수행한다.
프로세서(24)가 주사 장치(1)로 다이얼링된 약제 단위 수에 대한 결과를 출력할 수 있기 전에 여러 추가 단계들이 요구된다. 완결도를 위해 이들 단계를 아래에 설명하겠지만, 이들은 선택사항이며, 본 발명을 정의하는데 있어 필수적인 것은 아니다.
이어서 프로세서(24)는 이진화 이미지를 구성하는 화소 행들을 분석하는 "수평 투영"을 수행한다. 이는 수직 투영에 대해 전술된 것과 동일한 방식으로 진행된다. 수평 투영의 결과를 수직 투영의 결과에 더함으로써, 가시 숫자의 가장자리를 식별한다. 많은 경우에, 이미지 내 숫자들의 몇몇은 그 일부만이 육안으로 보이게 된다. 그러므로, 이렇게 부분 가시 숫자의 가장자리 모두가 검출되는 것은 아니다. 프로세서(24)는 전체 숫자의 예상 높이(화소 행으로 표시됨)를 이용하여 사전 프로그래밍될 수 있어, 부분 가시 숫자들의 존재를 인식할 수 있다.
각 행과 열에서의 예상 백색 화소 수가 주어졌다면, 대신 백색 화소들의 합을 계산한 분석에 "수평 투영" 및 "수직 투영"이 똑같이 잘 근거를 둘 수 있음을 쉽게 알게 된다.
OCR 프로세스의 다음 단계는 가시 숫자들 중 하나를 선택하여 디코딩 및 식별하는 것이다. 이는 상기 숫자들 중 하나를 "주 자릿수 행(primary digit row)"으로 지정함으로써 수행된다. 상기 주 자릿수 행은 어느 가시 숫자가 최대 높이를 가졌는가에 근거하여 선택된다. 이는 슬리브 상에 인쇄된 모든 숫자가 대략 같은 높이를 가지기 때문이며, 최대 높이를 가진 숫자는 그 전체가 육안으로 보일 것이므로 높은 수준의 확실성으로 디코딩하기가 쉬울 것으로 추정될 수 있다. 만일 두 숫자(서로 다른 수직 위치를 가짐)가 육안으로 보이고, 동일한 높이를 가졌다면, 최상 숫자가 주 자릿수 행으로 선택된다. 주 자릿수 행은 주사 장치(1)에 다이얼링된 용량을 정하기 위해 나중에 이용되는 숫자이다.
다음으로는 상기 주 자릿수 행에서의 자릿수들을 식별하기 위한 패턴 정합 프로세스를 수행한다. 각 숫자에 대한 템플릿을 보조 장치(2)의 메모리에 저장할 수 있으며, 식별된 자릿수들을 이들 템플릿과 비교할 수 있다. 한 간단한 접근 방식에 의하면, 이러한 패턴 정합은 하나씩 화소 단위로 수행될 수 있다. 하지만, 이는 높은 계산력을 필요로 할 수 있다. 더 나아가, 이러한 접근 방식은 이미지와 템플릿 간에 위치 변화를 일으키기 쉽다. 일부 다른 구현예에서는 특징 인식 프로세스가 수행된다. 특징은 수평선, 수직선, 대각선, 곡선, 원 또는 폐루프 등일 수 있다. 이러한 특징들은 선택된 숫자의 이미지에서 인식되어 템플릿과 비교될 수 있다.
또 다른 구현예에서, 패턴 정합 알고리즘은 벡터 비교 프로세스에 기반한 것일 수 있다. 예를 들어, 템플릿은 연장되어 템플릿의 중심을 통과하는 수직선을 기준으로 한 검정색 화소의 각 선(연속적)의 위치 및 길이를 설명하는 벡터들의 형태일 수 있다. 각 자리수의 캡처된 이진화 이미지를 마찬가지로 벡터로 전환시키고 차례차례 각각의 저장된 템플릿과 비교하여 최상의 매치를 찾을 수 있다.
캡처된 이미지의 벡터들을 특정 자릿수 템플릿과 비교할 때, 어떤 편차든 이미지와 템플릿 간의 매치 가능성을 위해 적용되는 페널티를 야기한다. 이러한 페널티의 크기는 템플릿과 비교되는 이미지에 없는 또는 여분의 검정색 화소들의 수에 좌우될 수 있다. 자릿수 이미지를 각 템플릿과 비교하고 모든 페널티를 적용한 후에, 어느 자릿수가 존재하느냐에 관한 결정을 내린다. 양호한 광학 조건에서, 올바른 템플릿은 매우 낮은 페널티를 갖게 될 것이지만, 다른 모든 템플릿은 높은 페널티를 갖게 될 것이다. 만일 주 자릿수 행이 두 자릿수로 구성되었다면, 본 프로세스는 두 자릿수 모두에 수행되고, 프로세서(24)는 결과를 조합하여 해당 숫자에 대한 최종 결과를 생성한다.
어떤 자릿수들에 대해서는 특별한 대책이 있을 수 있다. 예를 들어, "1"은 다른 모든 자릿수와 폭 측면에서 상당히 달라, 오검출이 흔히 발생한다. 이에 대처하기 위해서, 자릿수의 이진화 이미지가 "1"의 예상 폭보다 넓다면, "1"의 저장 벡터 템플릿과 비교하여 추가 검출 패널티를 받게 된다.
일부 예외적인 경우에서, 만일 주 자릿수의 패턴 정합 결과의 신뢰 수준이 특정 임계값(예컨대, 99%)보다 낮다면, 프로세서는 여타 가시 숫자들 또는 부분 가시 숫자들 중 하나 이상에 제2 패턴 정합 프로세스를 수행할 수 있다. 숫자들의 순서가 알려져 있기 때문에, 이러한 제2 패턴 정합은 제1 패턴 정합이 올바른 결과를 제공했는지에 대한 체크 역할을 할 수 있다. 결과의 신뢰 수준이 여전히 충분히 높지 않다면, 광학 센서(25)는 제2 이미지를 캡처하고, 상기 프로세스를 반복할 수 있다. 대안으로는 에러 메시지를 디스플레이할 수도 있다.
주 자릿수 행의 자릿수 또는 자릿수들을 성공적으로 식별한 후에는 주사 장치(1)에 다이얼링된 용량을 구하기 위해 가중치 함수를 적용한다. 가중치 함수를 공식화하기 위해, 이미지의 중심을 기준으로 주 자릿수 행의 수직 위치를 구한다. 이는 이미지의 중앙선을 나타내는 광학 센서(25)의 화소 행을 기준으로 주 자릿수 행을 포함한 중간 화소 행의 오프셋을 계산함으로써 수행될 수 있다.
예를 들어, 일부 구현예에서 광학 센서는 감광성 요소들의 직사각형 64 x 48 어레이를 포함한다. 생성되는 이진화 이미지는 이와 동일한 치수를 가진 화소 어레이이다. 24번째 및/또는 25번째 화소 행이 이미지의 중앙 행으로 지정될 수 있다. 주 자릿수 행을 포함한 중간 화소 행의 위치를 구한다. 이어서, 이미지의 주 자릿수 행을 포함한 중간 화소 행과 중앙 행 또는 행들 사이의 오프셋(화소 행으로 표시)을 계산한다. 오프셋의 방향에 따라 상기 오프셋은 포지티브이거나 네거티브일 수 있다.
이에 따라 구해진 숫자들로의 적용 전에 오프셋을 연속 숫자 사이의 거리(화소 행으로 표시)로 나눔으로써 상기 오프셋을 분수로 전환한다. 그리하여 오프셋을 이용하여 센서를 기준으로 한 숫자의 회전 위치를 구할 수 있다. 만일 주 자릿수 행의 중앙 화소 행이 이미지의 중앙 화소 행과 같다면, 오프셋은 제로이고, 그 위치는 주 자릿수 행 번호이다. 그러나, 보조 장치(2) 및/또는 주사 장치(1)의 제조 공차, 그리고 사용자에 의해 넘버 슬리브에 가해지는 압력으로 인해, 대부분의 상황에서 약간의 오프셋이 있기 마련이다.
넘버 슬리브 상에 인쇄된 연속 숫자들은 주사 장치 기구의 이산형 기계적 이동과 관련된 용량을 나타내기 때문에 이들 숫자 간의 거리는 일정하다. 따라서, 캡처된 이미지에서 연속 숫자들 간의 거리(화소 행으로 표시) 역시 일정해야 한다. 숫자들의 예상 높이와 숫자들 사이 공간의 예상 높이는 알고리즘에 사전 프로그래밍된다.
일 예로, 각 숫자의 예상 높이는 22 화소일 수 있고, 숫자들 사이 공간의 예상 높이는 6 화소일 수 있다. 그러므로, 연속 숫자들의 중앙 화소 열 사이의 거리는 28 화소가 될 것이다.
계속해서, 만일 화소 행들을 이미지의 위에서 아래로 순차적으로 번호를 매기면, 가중치 함수의 적용을 다음과 같이 수학적으로 정의할 수 있다:
위치 = 주 자릿수 행 번호 + [2 x 오프셋 / (숫자의 예상 높이 + 공간의 예상 높이)]
여기서, 오프셋 = 중앙 이미지 행 번호 - 주 자릿수 행 중앙 행 번호
따라서, 만일 주 자릿수 행이 이미지의 상반부에 있다면 오프셋이 포지티브이고, 만일 주 자릿수 행이 이미지의 하반부에 있다면 오프셋은 네거티브이다. 예를 들어, 만일 주 자릿수 행에 보여진 숫자가 "6"이고 오프셋이 제로라면, 이에 계산되는 위치는 다음과 같을 것이다:
위치 = 6 + [2 x 0 / (28)] = 6
이에 따라, 예상한 대로 "6"이란 결과를 얻게 될 것이다.
주사 장치(1)로 75 단위를 다이얼링하는 다른 예에서, 만일 제일 위의 번호 "74"가 주 자릿수 행으로 선택되었고, 위의 등식에 따라 11 화소 행에 이르는 포지티브 오프셋이 존재한다면, 다시 한 번, 조합된 수/공간 높이를 28 화소로 가정하였을 때, 이에 계산되는 위치는 다음과 같을 것이다:
위치 = 74 + [2 x 11 / (28)] = 74.79
이 결과를 반올림하여, 예상한 대로 "75"란 위치를 얻게 된다.
최종 후처리부의 적용이 끝나면, 프로세서(24)는 상기 결과가 보조 장치(2)의 디스플레이 유닛(21)에 표시되도록 한다. 앞서 설명한 바와 같이, 공간 제약으로 인해, 모든 숫자가 넘버 슬리브 상에 인쇄될 수는 없다. 일부 구현예에 의하면, 짝수만이 넘버 슬리브 상에 인쇄된다. 전술된 위치결정 단계를 통해 보조 장치(2)는 여러 용량값(비록 이들 값이 넘버 슬리브 상에는 나타나지 않을 수도 있지만)을 표시할 수 있다. 이로써 다이얼링된 용량의 보다 뚜렷한 표시가 보조 장치(2)의 사용자에 제공된다.
만일 사용자가 용량을 천천히 다이얼링하면(즉, 용량 노브(12)를 천천히 돌리면), 전술된 위치 반올림으로 인해 디스플레이가 두 숫자 사이에서 깜박거릴 수 있다. 이를 방지하기 위해, 후처리 단계는 히스테리시스 규칙을 가짐으로써, 표시된 숫자가 이전에 표시된 숫자에 어느 정도 의존하게 만든다. 이러한 히스테리시스 계산은 결과가 표시되기 전 알고리즘에서 수행되는 마지막 단계일 수 있다.
당업자라면 전술된 가중치 함수와 위치결정이 단지 한 예를 나타내는 것으로, 수많은 다른 계산법을 이용하여 같은 결과에 이를 수 있음을 이해할 것이다. 또한 당업자라면 전술된 수학적 계산을 변경 및 개선시켜 계산 시간을 단축할 수 있음을 이해할 것이다. 따라서 정확한 형태의 가중치 함수가 필수적이지는 않다.
본 알고리즘은 또한 이미지 숫자들에 다른 종류의 조작, 예를 들면 하나 이상의 자릿수의 크기를 변경하고, 숫자들을 지정된 화소 영역으로 잘라내고(cropping), 이탤릭체로 인쇄된 숫자들을 직립 위치로 전단변형(shearing)시키는 등을 수행하도록 구성될 수 있다. 이들 조작은 저장된 템플릿과 비교하는 패턴 정합 전에 수행될 수 있다. 대안으로, 이들 조작은 이진화 프로세스 전에 이미지 전처리 단계에서 캡처 이미지 상에 수행될 수 있다. 추가적 명암처리, 왜곡 및 노출 수정 또한 수행될 수 있다.

Claims (15)

  1. 하나 이상의 문자열들을 나타내는 이미지 데이터를 수신하는 단계;
    상기 이미지 데이터의 각 열에 있는 검정색 화소들의 수를 구하는 단계;
    한 열에서의 최대 검정색 화소 수인 수직 분리 임계값을 정의하는 단계;
    상기 수직 분리 임계값보다 낮은 수의 검정색 화소를 가진 임의의 열을 제외함으로써 상기 열들을 다양한 화소 그룹 및 제외된 열들의 그룹(groups of excluded columns)으로 나누는 단계;
    상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계;
    상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하는 단계; 및
    문자열을 나타내는 2개의 화소 그룹이 존재하는 것으로 판단되면, 최우측 문자열에 대해 기설정된 폭 값을 이용하여 상기 최우측 문자열의 우측 경계를 식별하는 단계
    를 포함하는, 광학 문자 인식 프로세스에서 문자 격리를 수행하는 방법.
  2. 제1항에 있어서,
    상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 식별하는 것을 포함하는 것인 방법.
  3. 제1항에 있어서,
    상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하는 단계는 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹이 최소 자릿수(digit) 폭 임계값 미만이어서, 제외된 열들의 최좌측 그룹의 우측에 있는 제2 화소 그룹이 상기 이미지 데이터에서 최좌측 문자열로 정의된다면, 상기 제외된 열들의 최좌측 그룹 바로 우측에 있는 화소 그룹을 제외하는 것을 포함하는 것인 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 있는지의 여부를 판단하는 단계는 제외된 열들의 최좌측 그룹의 폭을 구하는 것을 포함하는 것인 방법.
  5. 제4항에 있어서,
    상기 제외된 열들의 최좌측 그룹의 폭이 최대 좌측 마진 임계값 미만이라고 판단되면, 상기 이미지 데이터에 문자열들을 나타내는 2개의 화소 그룹이 있다고 판단하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 이미지 데이터에서 최좌측 문자열의 폭을 구하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서,
    상기 이미지 데이터에서 구해진 최좌측 문자열 폭을 이용하여, 최좌측 문자열이 오로지 폭이 좁은 숫자들을 포함하는지 또는 폭이 넓은 숫자들을 포함하는지의 여부를 판단하는 단계를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 최좌측 문자열이 오로지 폭이 좁은 숫자들을 포함하는 것으로 판단되면, 최대 유효 용량 결과를 "19"에 설정하는 단계를 더 포함하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    이미지의 좌측 경계를 터치하는 임의의 화소 그룹을 제외하는 단계를 더 포함하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    좌측 문자열과 우측 문자열 사이에 위치하는 제외된 열들의 그룹을 식별함으로써 우측 문자열의 좌측 경계를 식별하는 단계를 더 포함하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 좌측 문자열이 최대 자릿수 폭 임계값보다 폭이 넓은지 판단하고, 그렇다면 상기 이미지 데이터 내의 숫자들이 8 내지 10 범위에 속하는 것으로 판단하는 단계를 더 포함하는 방법.
  12. 광학 문자 인식 프로세스에서 문자 격리를 수행하는 프로세서에 있어서,
    하나 이상의 문자열들을 나타내는 이미지 데이터를 수신하고;
    상기 이미지 데이터의 각 열에 있는 검정색 화소들의 수를 구하며;
    한 열에서의 최대 검정색 화소 수인 수직 분리 임계값을 정의하고;
    상기 수직 분리 임계값보다 낮은 수의 검정색 화소를 포함한 임의의 열을 제외함으로써 상기 열들을 다양한 화소 그룹 및 제외된 열들의 그룹으로 나누며;
    상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하고;
    상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하며;
    문자열을 나타내는 2개의 화소 그룹이 존재하는 것으로 판단되면, 최우측 문자열에 대해 기설정된 폭 값을 이용하여 상기 최우측 문자열의 우측 경계를 식별하도록 구성된 것인 프로세서.
  13. 제12항에 있어서,
    제외된 열들의 최좌측 그룹 바로 우측의 화소 그룹을 식별함으로써 상기 이미지 데이터에서 최좌측 문자열을 나타내는 화소 그룹을 식별하도록 구성된 것인 프로세서.
  14. 제12항 또는 제13항에 있어서,
    제외된 열들의 최좌측 그룹의 폭을 구함으로써 상기 이미지 데이터에서 문자열을 나타내는 하나 또는 2개의 화소 그룹이 존재하는지의 여부를 판단하도록 구성된 프로세서.
  15. 주사 장치 부착용 보조 장치에 있어서,
    상기 주사 장치의 가동식 구성요소 상에 존재하는 하나 이상 숫자들의 이미지를 캡처하도록 구성된 촬상 구성부(imaging arrangement); 및
    제12항 내지 제14항 중 어느 한 항에 따른 프로세서
    를 포함하는 보조 장치.
KR1020177003355A 2014-07-10 2015-07-09 광학 문자 인식을 수행하는 장치 및 방법 KR20170032347A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14176482 2014-07-10
EP14176482.9 2014-07-10
PCT/EP2015/065669 WO2016005483A1 (en) 2014-07-10 2015-07-09 A device and method for performing optical character recognition

Publications (1)

Publication Number Publication Date
KR20170032347A true KR20170032347A (ko) 2017-03-22

Family

ID=51176946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177003355A KR20170032347A (ko) 2014-07-10 2015-07-09 광학 문자 인식을 수행하는 장치 및 방법

Country Status (7)

Country Link
US (2) US10133948B2 (ko)
EP (1) EP3167408B1 (ko)
JP (2) JP6561111B2 (ko)
KR (1) KR20170032347A (ko)
CN (2) CN112733836A (ko)
DK (1) DK3167408T3 (ko)
WO (1) WO2016005483A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082932A (ko) 2018-12-31 2020-07-08 주식회사 포스코아이씨티 광학 문자 판독 장치를 포함하는 로봇 프로세스 자동화 시스템
KR20220168787A (ko) 2021-06-17 2022-12-26 한밭대학교 산학협력단 만주어의 글자 추출 방법 및 이를 수행하는 시스템

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015110520A1 (en) * 2014-01-24 2015-07-30 Sanofi-Aventis Deutschland Gmbh A supplemental device for attachment to an injection device for recording and displaying a dose value set by the user using optical character recognition (ocr)
US10133948B2 (en) * 2014-07-10 2018-11-20 Sanofi-Aventis Deutschland Gmbh Device and method for performing optical character recognition
EP3209355B1 (en) * 2014-10-21 2020-04-08 Sanofi-Aventis Deutschland GmbH Recording dose data from drug injection devices using optical character recognition (ocr)
US10864327B2 (en) 2016-01-29 2020-12-15 Companion Medical, Inc. Automatic medication delivery tracking
US10417516B2 (en) * 2017-08-24 2019-09-17 Vastec, Inc. System and method for preprocessing images to improve OCR efficacy
CN112041936A (zh) 2017-12-12 2020-12-04 比格福特生物医学有限公司 治疗辅助信息和/或跟踪设备及相关方法和系统
US11116899B2 (en) 2017-12-12 2021-09-14 Bigfoot Biomedical, Inc. User interface for diabetes management systems and devices
US11083852B2 (en) 2017-12-12 2021-08-10 Bigfoot Biomedical, Inc. Insulin injection assistance systems, methods, and devices
US11464459B2 (en) 2017-12-12 2022-10-11 Bigfoot Biomedical, Inc. User interface for diabetes management systems including flash glucose monitor
US10987464B2 (en) 2017-12-12 2021-04-27 Bigfoot Biomedical, Inc. Pen cap for insulin injection pens and associated methods and systems
US11077243B2 (en) 2017-12-12 2021-08-03 Bigfoot Biomedical, Inc. Devices, systems, and methods for estimating active medication from injections
CN111511427B (zh) * 2017-12-28 2023-01-06 赛诺菲 用于附接到注射装置的传感器装置
US11948671B2 (en) 2019-04-11 2024-04-02 Medtronic Minimed, Inc. Intelligent accessories for medicine dispensing device

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580231A (en) * 1978-09-15 1986-04-01 Alphatype Corporation Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data
US5253304A (en) * 1991-11-27 1993-10-12 At&T Bell Laboratories Method and apparatus for image segmentation
JPH07282190A (ja) * 1994-04-11 1995-10-27 Nec Eng Ltd 光学文字読取装置
JPH08221518A (ja) * 1995-02-17 1996-08-30 Nec Eng Ltd 光学文字読取装置
US5815595A (en) * 1995-12-29 1998-09-29 Seiko Epson Corporation Method and apparatus for identifying text fields and checkboxes in digitized images
US6614930B1 (en) * 1999-01-28 2003-09-02 Koninklijke Philips Electronics N.V. Video stream classifiable symbol isolation method and system
US6473517B1 (en) * 1999-09-15 2002-10-29 Siemens Corporate Research, Inc. Character segmentation method for vehicle license plate recognition
AU2001229639A1 (en) * 2000-01-19 2001-07-31 California Institute Of Technology Word recognition using silhouette bar codes
US7647695B2 (en) * 2003-12-30 2010-01-19 Lockheed Martin Corporation Method of matching harnesses of conductors with apertures in connectors
CN101645134B (zh) * 2005-07-29 2013-01-02 富士通株式会社 整体地名识别方法和整体地名识别装置
US20080008376A1 (en) * 2006-07-07 2008-01-10 Lockheed Martin Corporation Detection and identification of postal indicia
CN100498819C (zh) * 2006-12-31 2009-06-10 沈阳工业大学 流量计费表数字远传图像自动识别方法及数字远传抄表系统
CN100470582C (zh) * 2007-04-06 2009-03-18 清华大学 印刷蒙古文文本切分方法
CN101751568B (zh) * 2008-12-12 2012-07-18 汉王科技股份有限公司 证件号码定位和识别方法
US8214733B2 (en) * 2010-04-28 2012-07-03 Lexmark International, Inc. Automatic forms processing systems and methods
US8261180B2 (en) * 2009-04-28 2012-09-04 Lexmark International, Inc. Automatic forms processing systems and methods
TWI633902B (zh) 2010-03-22 2018-09-01 賽諾菲阿凡提斯德意志有限公司 用於判定與醫療裝置有關的資訊之裝置、方法、系統及電腦程式
JP5591578B2 (ja) * 2010-04-19 2014-09-17 日本電産サンキョー株式会社 文字列認識装置および文字列認識方法
TWI431559B (zh) * 2010-10-29 2014-03-21 Univ Nat Chiao Tung 車牌偵測辨識方法及其系統
JP5647919B2 (ja) * 2011-03-07 2015-01-07 株式会社Nttドコモ 文字認識装置、文字認識方法、文字認識システム、および文字認識プログラム
MX2014009765A (es) 2012-02-13 2015-03-09 Sanofi Aventis Deutschland Dispositivo suplementario para la conexion a un dispositivo de inyeccion.
US8934676B2 (en) * 2012-05-04 2015-01-13 Xerox Corporation Robust character segmentation for license plate images
SG10201510667SA (en) * 2012-06-27 2016-01-28 Agency Science Tech & Res Text detection devices and text detection methods
JP6080259B2 (ja) * 2013-02-06 2017-02-15 日本電産サンキョー株式会社 文字切り出し装置及び文字切り出し方法
US20150286860A1 (en) * 2014-04-02 2015-10-08 Le Moustache Club S.L. Method and Device for Generating Data from a Printed Document
US10133948B2 (en) * 2014-07-10 2018-11-20 Sanofi-Aventis Deutschland Gmbh Device and method for performing optical character recognition
US9495343B2 (en) * 2014-09-30 2016-11-15 Konica Minolta Laboratory U.S.A., Inc. Horizontal and vertical line detection and removal for document images
US10140262B2 (en) * 2015-05-04 2018-11-27 King Fahd University Of Petroleum And Minerals Systems and associated methods for Arabic handwriting synthesis and dataset design
CN105528607B (zh) * 2015-10-30 2019-02-15 小米科技有限责任公司 区域提取方法、模型训练方法及装置
US10553091B2 (en) * 2017-03-31 2020-02-04 Qualcomm Incorporated Methods and systems for shape adaptation for merged objects in video analytics
US10395385B2 (en) * 2017-06-27 2019-08-27 Qualcomm Incorporated Using object re-identification in video surveillance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082932A (ko) 2018-12-31 2020-07-08 주식회사 포스코아이씨티 광학 문자 판독 장치를 포함하는 로봇 프로세스 자동화 시스템
KR20220168787A (ko) 2021-06-17 2022-12-26 한밭대학교 산학협력단 만주어의 글자 추출 방법 및 이를 수행하는 시스템

Also Published As

Publication number Publication date
JP6758458B2 (ja) 2020-09-23
US20170154232A1 (en) 2017-06-01
JP2017521787A (ja) 2017-08-03
JP6561111B2 (ja) 2019-08-14
WO2016005483A1 (en) 2016-01-14
US10133948B2 (en) 2018-11-20
EP3167408A1 (en) 2017-05-17
DK3167408T3 (da) 2024-03-04
CN106687992A (zh) 2017-05-17
EP3167408B1 (en) 2023-12-13
US20190156136A1 (en) 2019-05-23
CN112733836A (zh) 2021-04-30
US10503994B2 (en) 2019-12-10
JP2019194915A (ja) 2019-11-07
CN106687992B (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
JP6806937B2 (ja) 光学式文字認識(ocr)を用いて使用者が設定した用量値を記録および表示するために注射デバイスに取り付けるための補助デバイス
JP6758458B2 (ja) 光学式文字認識を行うデバイスおよび方法
EP3244948B1 (en) Medicament dosage determination
EP3166492B1 (en) Apparatus for capturing and processing images
EP3307354B1 (en) Sensor device for attachment to a drug delivery device