KR102664795B1 - Device and method for generating cancelable iris templates using column-based slicing - Google Patents
Device and method for generating cancelable iris templates using column-based slicing Download PDFInfo
- Publication number
- KR102664795B1 KR102664795B1 KR1020220008458A KR20220008458A KR102664795B1 KR 102664795 B1 KR102664795 B1 KR 102664795B1 KR 1020220008458 A KR1020220008458 A KR 1020220008458A KR 20220008458 A KR20220008458 A KR 20220008458A KR 102664795 B1 KR102664795 B1 KR 102664795B1
- Authority
- KR
- South Korea
- Prior art keywords
- iris
- column
- input vector
- hashing
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000013598 vector Substances 0.000 claims abstract description 55
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 210000000554 iris Anatomy 0.000 description 101
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Collating Specific Patterns (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
열 기반 슬라이싱을 이용한 폐기 가능한 홍채 템플릿 생성 장치 및 방법이 개시된다. 상기 폐기 가능한 홍채 템플릿 생성 장치는 홍채 이미지로부터 홍채 이진 코드를 생성하는 이진 코드 생성부, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함한다.An apparatus and method for generating a disposable iris template using heat-based slicing are disclosed. The disposable iris template generating device includes a binary code generating unit that generates an iris binary code from an iris image, an input vector generating unit that generates an input vector for an IoM hashing (Index-of-Max Hashing) technique from the iris binary code, and a template generator that performs IoM hashing to generate a hash code corresponding to the input vector.
Description
본 발명은 홍채 인식 환경에서 인증의 정확성과 보안성을 높일 수 있는 폐기 가능한 홍채 템플릿의 생성 방법에 관한 것으로, 특히 열 기반의 슬라이싱 기법을 활용하여 보안성과 효율성을 향상시킬 수 있는 폐기 가능한 홍채 템플릿을 생성하는 장치 및 방법에 관한 것이다.The present invention relates to a method of generating a disposable iris template that can improve the accuracy and security of authentication in an iris recognition environment. In particular, a discardable iris template that can improve security and efficiency by utilizing a heat-based slicing technique is provided. It relates to a device and method for generating
최근 코로나 19로 인한 언택트 지향의 문화가 형성되고, 2020년 5월 전자서명법 개정안이 국회 본회의에 통과되면서 사용자인증기술에 대한 관심이 증가하였다. 특히, 홍채를 이용한 생체 인증은 높은 정확성을 가지며 비접촉 방식을 취하고 있어 더욱 주목을 받고 있다. 그런데 홍채의 불변성은 인증 시 장점이지만, 유출될 경우 해당 홍채 정보로 다른 사용자도 시스템에 접속할 수 있게 된다. 따라서, 이러한 위협을 사전에 방지하기 위해서는 홍채 정보를 통해 생성한 템플릿을 폐기 가능하도록 설계하여 저장해야 한다. 폐기 가능한 생체 템플릿은 같은 홍채로부터 다수의 구별불가능한 새로운 템플릿을 다시 생성한다.Recently, as an untact-oriented culture was formed due to COVID-19, and the amendment to the Electronic Signature Act was passed in the plenary session of the National Assembly in May 2020, interest in user authentication technology increased. In particular, biometric authentication using iris is attracting more attention because it has high accuracy and uses a non-contact method. However, the immutability of the iris is an advantage during authentication, but if it is leaked, other users can also access the system with the iris information. Therefore, in order to prevent such threats in advance, templates created using iris information must be designed and stored so that they can be discarded. Disposable biometric templates regenerate multiple indistinguishable new templates from the same iris.
Kim et al.은 Jin et al.의 IoM(Index-of-Max) 해싱(Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality sensitive hashing-enabled cancelable biometrics: Index-of-max hashing,”IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.)을 지문이 아닌 홍채 템플릿에 적용하여 유출 등의 공격에 강력함을 입증하였다(김진아, 정재열, 김기성, 정익래. “해싱을 이용한 폐기가능한 홍채 템플릿,”정보보호학회논문지, vol. 29, no. 3, 565-577, 2019.). 그러나 Kim et al.의 홍채 템플릿 생성과정은 사전정렬을 위해 시프트 연산을 진행하게 되면서 추가적인 연산이 발생한다. Kim et al.’s Index-of-Max (IoM) hashing by Jin et al. (Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality sensitive hashing-enabled cancelable biometrics: Index-of- max hashing,”IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.) was proven to be strong against leakage attacks by applying it to iris templates rather than fingerprints. , Jae-yeol Jeong, Ki-seong Kim, and Ik-rae Jeong, “Disposable iris template using hashing,” Journal of Information Security Society, vol. 29, no. 3, 565-577, 2019. However, in Kim et al.'s iris template creation process, additional operations occur as shift operations are performed for pre-sorting.
본 발명에서는 이러한 점에 주목하여 연산 처리속도를 향상하고자 홍채 이진 코드를 행 기반이 아닌 열 기반으로 분할한다. 홍채 이진 코드에서 가로 10bit씩이 아닌 세로로 슬라이싱하여 IoM 해싱의 입력벡터를 구성한다면 기존 연산의 효율성을 개선할 수 있다.In the present invention, paying attention to this point, the iris binary code is divided on a column basis rather than a row basis in order to improve calculation processing speed. If the input vector for IoM hashing is constructed by slicing the iris binary code vertically rather than 10 bits horizontally, the efficiency of existing operations can be improved.
본 발명이 이루고자 하는 기술적인 과제는 연산 처리속도가 향상된, 폐기 가능한 홍채 템플릿을 생성하는 방법 및 장치을 제공하는 것이다.The technical problem to be achieved by the present invention is to provide a method and device for generating a discardable iris template with improved computational processing speed.
본 발명의 일 실시예에 따른 폐기 가능한 홍채 템플릿 생성 장치는 홍채 이미지로부터 홍채 이진 코드를 생성하는 이진 코드 생성부, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함한다.A disposable iris template generation device according to an embodiment of the present invention includes a binary code generator that generates an iris binary code from an iris image, and an input vector for an IoM hashing (Index-of-Max Hashing) technique from the iris binary code. It includes an input vector generator that generates an input vector, and a template generator that performs IoM hashing to generate a hash code corresponding to the input vector.
또한, 본 발명의 일 실시예에 따른 폐기 가능한 홍채 템플릿 생성 방법은 적어도 프로세서를 포함하는 컴퓨팅 장치에 의해 수행되고, 홍채 이미지로부터 홍채 이진 코드를 생성하는 단계, 상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 단계, 및 IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 단계를 포함한다.In addition, a method of generating a disposable iris template according to an embodiment of the present invention is performed by a computing device including at least a processor, and includes generating an iris binary code from an iris image, IoM hashing (Index- of-Max Hashing), generating an input vector for the technique, and performing IoM hashing to generate a hash code corresponding to the input vector.
본 발명의 실시예에 따른 폐기 가능한 홍채 템플릿 생성 장치 및 방법에 의할 경우, 열 기반 슬라이싱 기법을 통해 IoM 해싱의 매칭 수행 시간을 향상시킬 수 있는 효과가 있다.The disposable iris template generation device and method according to an embodiment of the present invention has the effect of improving the matching performance time of IoM hashing through a column-based slicing technique.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 홍채 이미지의 일 예를 도시한다.
도 2는 홍채 이진 코드의 일 예를 도시한다.
도 3은 본 발명의 일 실시예에 의한 IoM 해싱의 입력값 변환 단계를 설명하기 위한 도면이다.
도 4는 본 발명과 종래 기법의 실험 결과를 도시하는 그래프이다.
도 5는 본 발명의 일 실시예에 따른 홍채 템플릿 생성 장치의 기능 블럭도이다.
도 6은 본 발명의 일 실시예에 따른 홍채 템플릿 생성 방법을 설명하기 위한 흐름도이다.In order to more fully understand the drawings cited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 shows an example of an iris image.
Figure 2 shows an example of iris binary code.
Figure 3 is a diagram for explaining the input value conversion step of IoM hashing according to an embodiment of the present invention.
Figure 4 is a graph showing experimental results of the present invention and conventional techniques.
Figure 5 is a functional block diagram of an iris template generating device according to an embodiment of the present invention.
Figure 6 is a flowchart for explaining a method for generating an iris template according to an embodiment of the present invention.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are merely illustrative for the purpose of explaining the embodiments according to the concept of the present invention. They may be implemented in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can make various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the present invention, a first component may be named a second component and similarly a second component The component may also be named a first component.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to that other component, but that other components may also exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between. Other expressions that describe the relationship between components, such as "between" and "immediately between" or "neighboring" and "directly adjacent to" should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in this specification, but are not intended to indicate the presence of one or more other features. It should be understood that it does not exclude in advance the existence or possibility of addition of elements, numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached to this specification. However, the scope of the patent application is not limited or limited by these examples. The same reference numerals in each drawing indicate the same members.
본 발명에서 제안하는 폐기 가능한 홍채 템플릿을 생성하는 방법은 크게 다음과 같이 구성된다.The method for generating a discardable iris template proposed in the present invention is largely structured as follows.
1) 홍채 이진 코드를 생성한다.1) Generate iris binary code.
2) 홍채 이진 코드로부터 추출한 이진값을 실수화하여 IoM 해싱(Index-of-Max Hashing)의 입력 벡터값으로 변환한다.2) The binary value extracted from the iris binary code is converted to a real number and converted into an input vector value for IoM hashing (Index-of-Max Hashing).
3) GRP(Gaussian Random Projection) 혹은 URP(Uniform Random Permutation) 방식으로 IoM 해싱을 수행한다.3) IoM hashing is performed using GRP (Gaussian Random Projection) or URP (Uniform Random Permutation) method.
4) LSH(Locality Sensitive Hashing) 기반으로 IoM 해싱의 매칭을 수행한다.4) IoM hashing matching is performed based on LSH (Locality Sensitive Hashing).
본 발명에서 제안하는 열 기반 슬라이싱은 두번째 단계인 IoM 해싱의 입력 벡터 변환단계에서 활용된다. 따라서, 본 명세서에서는 해당 단계에서 효율성을 개선하는 방법을 자세히 기술한 후 나머지 단계는 간략히 서술하고자 한다.The column-based slicing proposed in the present invention is used in the second step, the input vector conversion step of IoM hashing. Therefore, in this specification, we will describe in detail how to improve efficiency in the relevant step and then briefly describe the remaining steps.
홍채 이미지의 이진 코드 생성 단계Binary code generation steps for iris image
홍채 이미지(도 1 참조)는 해싱 및 매칭을 위해 이진 코드로 변환하는 과정을 거친다. 이때 사용되는 도그만(Daugman) 알고리즘은 홍채 이미지에서 노이즈를 제거하고, 정규화 작업을 진행한 뒤 홍채 특징을 가버 필터(Garbor Filter)로 검출한다. 이렇게 생성된 홍채 이진 코드는 가로 a비트(a는 임의의 자연수로써 예시적인 값은 480임), 세로 b비트(b는 임의의 자연수로써 예시적인 값은 20임)의 크기를 가진다(도 2 참조).The iris image (see Figure 1) goes through a process of converting it to binary code for hashing and matching. The Daugman algorithm used at this time removes noise from the iris image, performs normalization, and detects iris features using a Garbor Filter. The iris binary code generated in this way has a size of a bit horizontally (a is a random natural number, and an exemplary value is 480), and b bits vertically (b is a random natural number, and an exemplary value is 20) (see FIG. 2). ).
IoM 해싱의 입력값 변환 단계Input conversion step of IoM hashing
IoM 해싱의 입력값(입력 벡터 또는 특징 벡터로 명명될 수도 있음)은 실숫값의 특징 벡터이므로, 앞선 단계에서 도출한 홍채 이진 코드는 실수화 변환과정이 필요하다. 본 발명에서는 열(column) 기반 슬라이싱을 통한 실수화를 진행한다(도 3 참조).Since the input value of IoM hashing (which may also be named an input vector or feature vector) is a feature vector of real numbers, the iris binary code derived in the previous step requires a real number conversion process. In the present invention, real number conversion is performed through column-based slicing (see Figure 3).
열 기반 슬라이싱을 통한 실숫값 변환과정은 정렬 과정이 불필요(alignment-free)하다는 점에서 명확한 강점을 가진다. 일반적으로 생체정보는 사전에 정확히 정렬되어야 비교가 가능하다. 홍채의 경우 코드를 시프트함으로써 완전한 정렬을 찾아간다. 그러나 세로(열)를 기반으로 코드를 분할하여 정렬할 경우 별도의 시프트 과정이 필요로 하지 않아 과정이 간편해 진다. 따라서 처리 속도 측면에서 효율성이 높아지게 된다.The real value conversion process through column-based slicing has a clear advantage in that it does not require an alignment process (alignment-free). In general, biometric information must be accurately sorted in advance to enable comparison. In the case of the iris, perfect alignment is found by shifting the code. However, when dividing and sorting the code based on vertical (column), the process becomes simpler because a separate shift process is not required. Therefore, efficiency in terms of processing speed increases.
홍채코드의 실수화 변환 순서는 다음과 같다.The real conversion sequence of the iris code is as follows.
먼저, 홍채 이진 코드를 b×a비트(예컨대, 20×480비트)의 테이블로 생성한다. 다음으로 열별로 슬라이싱하여 b(예컨대, 20)행 1열의 데이터를 추출한 후 1행 b(예컨대, 20)열의 행렬로 해당 행렬을 전치한다. 이와 같은 방식으로 a(예컨대, 480) 번을 진행하면 총 1×(a×b)비트(예컨대, 1×9600비트)의 테이블이 형성된다. 원활한 실수화와 보안상의 강점을 가지기 위해서는 벡터의 값이 음과 양의 값으로 생성해야 한다. 따라서 해당 연산을 진행하기 위해 1×(a×b)비트(예컨대, 1×9600비트)의 테이블을 c비트(c는 임의의 자연수로써, 예시적인 값은 10임)씩 분할하여 1×(a×b)/c(예컨대, 960)개의 벡터로 생성한다. 그리고 각 c(예컨대, 10)비트씩의 이진수를 0~1023 범위의 십진수로 변환한 후, 1,024로 나누고 0.5를 빼 -0.5~0.4990 사이의 값을 가지도록 계산한다. 실시예에 따라, 512를 뺀 후 512로 나누는 것도 가능하다.First, the iris binary code is generated as a table of b × a bits (e.g., 20 × 480 bits). Next, data in row b (e.g., 20) and column 1 is extracted by slicing by column, and then the matrix is transposed into the matrix in row 1 and column b (e.g., 20). If a (e.g., 480) times are performed in this manner, a table with a total of 1 × (a × b) bits (e.g., 1 × 9600 bits) is formed. In order to have smooth real number conversion and security advantages, vector values must be generated as negative and positive values. Therefore, in order to proceed with the operation, the table of 1 ×b)/c (e.g., 960) vectors are generated. Then, each c (e.g., 10) bit binary number is converted to a decimal number in the range of 0 to 1023, divided by 1,024, and 0.5 is subtracted to obtain a value between -0.5 and 0.4990. Depending on the embodiment, it is also possible to subtract 512 and then divide by 512.
IoM 해싱 수행 단계Steps to perform IoM hashing
IoM 해싱은 실숫값의 특징 벡터를 입력으로 하여 최대 값을 갖는 인덱스를 가지는 순위 기반의 코드로 변환함으로써 다음과 같은 장점을 갖는다.IoM hashing has the following advantages by converting a real-valued feature vector as input into a rank-based code with an index with the maximum value.
1) 해싱된 코드를 가지고 원본 특징 벡터를 복원할 수 없기 때문에 비가역성을 만족한다.1) Since the original feature vector cannot be restored using the hashed code, irreversibility is satisfied.
2) 상대적인 순서에 의존적인 방법이기 때문에 특징 벡터의 크기에 영향을 받지 않는다. 따라서, 노이즈나 변형에 강력하다.2) Because it is a method dependent on relative order, it is not affected by the size of the feature vector. Therefore, it is strong against noise and deformation.
3) IoM 해싱의 크기 독립성으로 인해 해시 코드를 크기 불변(scale-invariant)하게 한다.3) The size independence of IoM hashing makes the hash code scale-invariant.
IoM 해싱은 두 가지 방법으로 실현될 수 있고, IoM 해싱과 이하에서 기술될 매칭과 관하여서는, Z. Jin 등의 논문(Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality sensitive hashing-enabled cancelable biometrics: Index-of-max hashing,”IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.)이 참조될 수 있다.IoM hashing can be realized in two ways. Regarding IoM hashing and matching, which will be described below, the paper by Z. Jin et al. (Z. Jin, J.Y. Hwang, Y.L. Lai, S. Kim and A.B.J. Teoh, “locality See “sensitive hashing-enabled cancelable biometrics: Index-of-max hashing,” IEEE Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 393-407, 2018.
첫 번째, GRP 기반 IoM 해싱은 d(d는 임의의 자연수)차원의 특징 벡터 x를 입력받아 가우시안(Guassian) 랜덤 투영 벡터 q를 생성하여 m(m은 임의의 자연수)개의 가우시안(Guassian) 랜덤 행렬에서 최댓값의 인덱스를 출력한다. GRP 기반의 IoM 해싱을 수행하기 위한 알고리즘 1은 아래와 같다.First, GRP-based IoM hashing receives a d (d is a random natural number)-dimensional feature vector Outputs the index of the maximum value. Algorithm 1 for performing GRP-based IoM hashing is as follows.
[알고리즘 1][Algorithm 1]
두 번째, URP 기반 IoM 해싱은 특징 벡터 x를 입력받아 균일 랜덤 치환을 수행하여 p(p는 임의의 자연수)개의 벡터를 생성한 후 아다마르 곱(Hadamard Product) 연산으로 각각의 집합을 만들어낸 뒤 최댓값의 인덱스를 출력한다. URP 기반의 IoM 해싱을 수행하기 위한 알고리즘 2는 아래와 같다.Second, URP-based IoM hashing receives the feature vector Outputs the index of the maximum value. Algorithm 2 for performing URP-based IoM hashing is as follows.
[알고리즘 2][Algorithm 2]
IoM 해싱 결과값간의 매칭 단계Matching step between IoM hashing results
IoM 해싱의 매칭은 유사도가 높은 와 간에 충돌 확률이 높은 순위 기반 LSH(Locality Sensitive Hashing) 알고리즘을 따른다. 두 개의 홍채 벡터가 유사도가 높으면 해시코드의 충돌 확률이 높고, 유사도가 낮으면 해시코드(IoM 해싱의 결괏값을 의미할 수 있음)의 충돌 확률이 낮다.IoM hashing matching requires high similarity. and It follows the rank-based LSH (Locality Sensitive Hashing) algorithm, which has a high probability of collision. If the similarity between two iris vectors is high, the hash code collision probability is high, and if the similarity is low, the hash code (which may mean the result of IoM hashing) has a low probability of collision.
등록된 해시코드 와 쿼리 해시코드 사이의 충돌 가능성은 유사도 로 표현된다. 즉, 이 된다.Registered hash code and query hash code The probability of collision between similarities is It is expressed as in other words, This happens.
1) GRP 기반의 IoM 매칭1) GRP-based IoM matching
를 로 정의되는 LSH 함수라 하자. 이고 이다. 여기서 이다. cast Let be the LSH function defined as . ego am. here am.
GRP 기반 IoM 해싱에서의 유사도 이다.Similarity in GRP-based IoM hashing am.
구현에서의 매칭 점수는 해시코드의 총 엔트리(m)에 대한 와 간의 요소별 뺄셈에 의해 '0'(충돌)이 되는 횟수이다.The matching score in the implementation is based on the total entries (m) of the hash code. and This is the number of times it becomes '0' (collision) by subtraction of each element.
2) URP 기반 IoM 매칭2) URP-based IoM matching
URP 기반 IoM 해싱에서의 유사도는 일정한 범위 내에서의 상대적인 순서 측정이며, 수학식 1과 같다.Similarity in URP-based IoM hashing is a relative order measurement within a certain range, and is expressed in Equation 1.
[수학식 1][Equation 1]
구현에서의 매칭 점수는 해시코드의 총 엔트리(m)에 대한 와 간의 요소별 뺄셈에 의해 '0'(충돌)이 되는 횟수이다.The matching score in the implementation is based on the total entries (m) of the hash code. and This is the number of times it becomes '0' (collision) by subtraction of each element.
결국, GRP 기반의 IoM 매칭과 URP 기반의 IoM 매칭에서, 매칭 점수가 미리 정해진 기준치를 초과(또는 기준치와 같거나 기준치를 초과)하는 경우 두 해시코드가 매칭된다고 결정될 수 있고, 그렇지 않은 경우 두 해시코드가 매칭되지 않는다고 결정될 수 있다. 두 해시코드가 매칭된다는 것은 비교대상인 두 홍채가 동일인의 홍채임을 의미할 수 있다.Ultimately, in GRP-based IoM matching and URP-based IoM matching, if the matching score exceeds a predetermined threshold (or is equal to or exceeds the threshold), it can be determined that the two hash codes match. Otherwise, the two hashes can be determined to match. It may be determined that the code does not match. Matching two hash codes may mean that the two irises being compared are from the same person.
이하에서는 실험 및 평가 결과를 설명한다.Below, the experiment and evaluation results are described.
제안하는 방법론의 효율성을 평가하기 위한 실험 환경은 아래 표 1과 같다.The experimental environment for evaluating the efficiency of the proposed methodology is shown in Table 1 below.
[표 1][Table 1]
실험에서는 본 방법론의 성능을 평가하기 위해 IoM 해싱의 매칭 시간에서 비교적 큰 차이를 보이는 GRP 기반의 IoM 해싱을 기준으로 비교·분석하였다. Kim et al.에 따르면, 기존 가로 기반 슬라이싱 기법 중 GRP 기반의 IoM 해싱은 0.065초, URP 기반의 IoM 해싱은 0.058초로 측정되었다.In the experiment, to evaluate the performance of this methodology, it was compared and analyzed based on GRP-based IoM hashing, which shows a relatively large difference in IoM hashing matching time. According to Kim et al., among the existing horizontal-based slicing techniques, GRP-based IoM hashing was measured at 0.065 seconds, and URP-based IoM hashing was measured at 0.058 seconds.
실험 데이터는 Kim et al.과의 동등한 비교를 위해 같은 방식으로 CASIA v3를 사용하였다. 249개의 subject의 이미지를 추출하되, 한 subject의 좌우 홍채는 각기 다른 subject로 취급하였고, 그중 7개 이상의 이미지만 가진 subject를 선택하였다.For the experimental data, CASIA v3 was used in the same way for equal comparison with Kim et al. Images of 249 subjects were extracted, but the left and right irises of one subject were treated as different subjects, and subjects with only 7 or more images were selected.
효율성의 척도는 매개변수인 Guassian 랜덤 투영 벡터인 q, Gaussian 랜덤 행렬 m의 값에 따라 1개의 홍채 쿼리 템플릿이 등록된 해시 이진 코드와 매칭하는데 소요되는 시간으로 설정하였다.The measure of efficiency was set as the time required to match one iris query template with the registered hash binary code according to the values of the parameters, Q, the Guassian random projection vector, and Gaussian random matrix, m.
기존 가로 기반의 슬라이싱 기법은 실험 결과 q와 m의 값이 증가할수록 소요시간도 비례하여 증가하였다. 특히 m이 100 이상으로 커질수록 증가폭도 커졌다. 그러나 본 방법론은 m의 값이 증가하여도 소요되는 시간은 0.02초 이내로 측정되었다.Experimental results for the existing horizontal-based slicing technique showed that as the values of q and m increased, the time required also increased proportionally. In particular, as m grew above 100, the amount of increase also increased. However, this methodology was measured to take less than 0.02 seconds even if the value of m increased.
도 4는 그중 차이가 확연히 드러난 지점인 q가 5일 때 소요시간의 추이를 나타낸다. m이 작은 순간인 10일 때를 제외하고, 나머지 값에서는 모두 빠른 속도를 보였다Figure 4 shows the trend of time required when q is 5, which is the point where the difference is clearly revealed. Except for the moment when m is small, which is 10, all other values showed fast speeds.
표 2는 그중 결괏값이 확연히 드러나는 지점인 q가 5, m이 300일 때의 소요시간을 나타낸다. 본 방법론은 시프트 연산을 수행하여 17 개의 템플릿을 생성하는 열 기반 기법에 비해 약 21배 정도의 높은 처리율을 보였다. 한편, 정확도를 평가하는 척도인 EER은 Kim et al.보다 약 10배 정도 높아졌음을 확인하였다Table 2 shows the time required when q is 5 and m is 300, which is the point where the result is clearly evident. This methodology showed a throughput rate about 21 times higher than the column-based technique that generates 17 templates by performing shift operations. Meanwhile, EER, a measure of accuracy, was confirmed to be approximately 10 times higher than that of Kim et al.
[표 2][Table 2]
도 5는 본 발명의 일 실시예에 따른 홍채 템플릿 생성 장치의 기능 블럭도이다.Figure 5 is a functional block diagram of an iris template generating device according to an embodiment of the present invention.
도 5를 참조하면, 홍채 템플릿 생성 장치(100)는 적어도 프로세서 및/또는 메모리를 포함하는 컴퓨팅 장치로 구현될 수 있다. 컴퓨팅 장치는 데스크톱 PC, 태블릿 PC, 서버, 스마트폰, 네비게이션 등을 포함할 수 있다. 홍채 템플릿 생성 장치(100)는 이미지 획득부(110), 이진 코드 생성부(120), 입력 벡터 생성부(130), 템플릿 생성부(140), 매칭부(150), 및 저장부(160) 중 적어도 하나 이상을 포함할 수 있다. 홍채 템플릿 생성 장치(100)를 설명함에 있어 앞선 기재와 중복되는 내용에 관하여는 그 상세한 기재를 생략하기로 한다.Referring to FIG. 5 , the iris
이미지 획득부(110)는 폐기 가능한 홍체 템플릿을 생성할 대상 홍채 이미지를 획득할 수 있다. 실시예에 따라, 홍채 이미지는 미리 저장부(160)에 저장되어 있을 수 있고, 이 경우 홍채 템플릿 생성 장치(100)는 이미지 획득부(110)를 포함하지 않을 수도 있다.The
구체적으로, 이미지 획득부(110)는 홍채를 스캔할 수 있는 스캐너 등으로부터 유무선 통신망을 통하여 사용자의 홍채 이미지를 수신할 수 있다. 실시예에 따라, USB 저장 장치와 같은 휴대용 저장 장치로부터 소정의 입력 인터페이스를 통해 홍채 이미지를 수신하는 것도 가능하다. 또 다른 예로, 홍채 템플릿 생성 장치(100)에 구비된 카메라 등과 같은 촬상 장치를 이용하여 사용자의 홍채 이미지를 촬영함으로써 사용자의 홍채 이미지를 획득할 수도 있다.Specifically, the
이진 코드 생성부(120)는 이미지 획득부(110)에 의해 획득된 홍채 이미지 또는 저장부(160)에 저장되어 있는 홍채 이미지로부터 이에 대응하는 이진 코드(또는 홍채 이진 코드)를 생성할 수 있다. 이를 위해, 이진 코드 생성부(120)는 홍채 이미지로부터 홍채 영역 검출, 노이즈 제거, 정규화 작업 중 적어도 하나를 수행할 수 있다. The
입력 벡터 생성부(130)는 홍채 이진 코드로부터 IoM 해싱을 위한 입력 벡터를 생성할 수 있다. 입력 벡터 생성부(130)는 앞선 기재와 같이, 열 단위의 슬라이싱을 적용하여 IoM 해싱을 위한 입력 벡터를 생성할 수 있다.The
템플릿 생성부(140)는 입력 벡터 생성부(130)에 의해 생성된 입력 벡터로부터 폐기 가능한 홍채 템플릿을 생성할 수 있다. 여기서, 홍채 템플릿은 입력 벡터를 입력으로 하는 IoM 해싱의 결과물로써, 해싱 코드로 명명될 수도 있다.The
홍채 템플릿 생성 장치(100)는 매칭부(150)를 더 포함할 수 있다. 이 경우, 홍채 템플릿 생성 장치(100)는 홍채 인식 장치, 홍채 매칭 장치 등으로 명명될 수도 있다.The iris
매칭부(150)는 생성된 홍채 템플릿과 미리 저장되어 있는 복수의 홍채 템플릿들 중 적어도 하나를 비교하여 유사도를 계산함으로써 두 홍채 템플릿의 매칭 여부를 결정할 수 있다. The
저장부(160)에는 홍채 템플릿 생성 장치(100)의 구동에 필요한 프로그램, 소프트웨어 등이 저장되어 있을 수 있다. 또한, 저장부(160)에는 폐기 가능한 홍채 템플릿을 생성하는 과정 중에 생성되는 데이터, 예컨대, 홍채 이미지, 홍체 이진 코드, 입력 벡터, 홍체 템플릿, 유사도, 매칭의 결과 등이 일시적으로 또는 비일시적으로 저장될 수 있다.The
도 6은 본 발명의 일 실시예에 따른 홍채 템플릿 생성 방법을 설명하기 위한 흐름도이다.Figure 6 is a flowchart for explaining a method for generating an iris template according to an embodiment of the present invention.
홍채 템플릿 생성 방법은 도 5에 도시된 홍채 템플릿 생성 장치(100), 즉 컴퓨팅 장치에 의해 수행될 수 있으며, 홍채 인식 방법, 홍채 매칭 방법 등으로 명명될 수도 있다.The iris template generating method may be performed by the iris
우선, 홍채 템플릿 생성 장치(100)의 이미지 획득부(110)에 의해 홍채 이미지가 획득된다(S110). 획득된 홍채 이미지는 저장부(160)에 저장될 수 있다.First, an iris image is acquired by the
다음으로, 홍채 템플릿 생성 장치(100)의 이진 코드 생성부(120)는 획득된 홍채 이미지에 대응하는 홍채 이진 코드를 생성할 수 있다(S120). 홍채 이진 코드는 알려진 기법을 이용하여 생성될 수 있으므로, 이에 대한 상세한 설명은 생략하기로 한다.Next, the
홍채 템플릿 생성 장치(100)의 입력 벡터 생성부(130)는 홍채 이진 코드로부터 IoM 해싱의 입력을 위한 입력 벡터를 생성할 수 있다(S130). IoM 해싱 기법을 통해 해시 코드, 즉 홍채 템플릿을 생성하기 위해서는, 미리 정해진 규격의 입력이 필요하다. 따라서, 입력 벡터 생성부(130)는 미리 정해진 규격에 맞도록 홍채 이진 코드를 입력 벡터로 변환할 수 있다.The
홍채 템플릿 생성 장치(100)의 템플릿 생성부(140)는 IoM 해싱 기법을 이용하여 입력 벡터에 대응하는 해시 코드를 생성할 수 있다(S140). 해시 코드는 입력된 홍채 이미지에 대응하는 홍채 템플릿을 의미할 수 있다. 이에 따라, 사용자의 홍채 이미지에 대응하고 폐기가 가능한 홍채 템플릿을 생성할 수 있다.The
홍채 템플릿 생성 장치(100)의 매칭부(150)는 쿼리 해시 코드(쿼리 홍채 템플릿으로써, 템플릿 생성부(140)에 의해 생성된 해시 코드를 의미할 수 있음)와 미리 저장된 해시 코드들 중 적어도 하나와의 매칭 여부를 결정할 수 있다(S150). 이를 통해, 홍채를 이용한 인증을 수행할 수 있다. 즉, 쿼리 해시 코드와 매칭되는 해시 코드가 존재하는 경우 사용자에 대한 인증이 완료되고, 쿼리 해시 코드와 매칭되는 해시 코드가 존재하지 않는 경우 사용자에 대한 인증이 실패할 수 있다.The
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a set of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an Arithmetic Logic Unit (ALU), a Digital Signal Processor, a microcomputer, a Field Programmable Array (FPA), It may be implemented using one or more general-purpose or special-purpose computers, such as a Programmable Logic Unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device may include multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are also possible.
소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes specially configured hardware devices to store and execute program instructions, such as magneto-optical media, ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but these are merely exemplary, and those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent. Therefore, the true scope of technical protection of the present invention should be determined by the technical spirit of the attached registration claims.
100 : 홍채 템플릿 생성 장치
110 : 이미지 획득부
120 : 이진 코드 생성부
130 : 입력 벡터 생성부
140 : 템플릿 생성부
150 : 매칭부
160 : 저장부100: Iris template creation device
110: Image acquisition unit
120: Binary code generation unit
130: input vector generation unit
140: Template creation unit
150: matching unit
160: storage unit
Claims (8)
상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 입력 벡터 생성부; 및
IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 템플릿 생성부를 포함하고,
상기 입력 벡터 생성부는 상기 홍채 이진 코드에 열(column) 기반의 슬라이싱을 적용하여 상기 입력 벡터를 생성하고,
상기 입력 벡터 생성부는,
b(b는 임의의 자연수)행 a(a는 임의의 자연수)열의 상기 홍채 이진 코드의 각 열(column)을 분리하여 a개의 b행 1열 데이터를 추출하고,
추출된 b행 1열 데이터들 각각을 1행 b열의 데이터로 변환하고,
1행 b열의 데이터들을 결합하여 1행 (a×b)열의 테이블을 생성하고,
1행 (a×b)열의 테이블을 c(c는 임의의 자연수) 단위로 분할한 후 십진수로 변환하고,
십진수로 변환된 값들 각각에 대한 실수화 변환 동작을 수행하여 상기 입력 벡터를 생성하고,
상기 템플릿 생성부는 GRP(Gaussian Random Projection) 기반 IoM 해싱을 수행하되, 가우시안 랜덤 프로젝션 벡터(Gaussian random projection vector)의 개수(q)는 5인,
폐기 가능한 홍채 템플릿 생성 장치.A binary code generator that generates an iris binary code from an iris image;
an input vector generator that generates an input vector for an IoM hashing (Index-of-Max Hashing) technique from the iris binary code; and
A template generator that performs IoM hashing to generate a hash code corresponding to the input vector,
The input vector generator generates the input vector by applying column-based slicing to the iris binary code,
The input vector generator,
Separate each column of the iris binary code in row b (b is a random natural number) and column a (a is a random natural number) to extract a number of b rows and column 1 data,
Convert each of the extracted data in row b, column 1 to data in row 1, column b,
Combine the data in row 1 and column b to create a table with 1 row and column (a×b),
Split the table in row 1 (a
Generating the input vector by performing a real conversion operation on each of the values converted to decimal numbers,
The template generator performs IoM hashing based on Gaussian Random Projection (GRP), and the number (q) of Gaussian random projection vectors is 5,
Disposable iris template generation device.
상기 폐기 가능한 홍채 템플릿 생성 장치는 상기 해시 코드와 미리 저장된 복수의 해시 코드들 중 적어도 하나의 매칭 여부를 결정하는 매칭부를 더 포함하는,
폐기 가능한 홍채 템플릿 생성 장치.According to paragraph 1,
The disposable iris template generating device further includes a matching unit that determines whether the hash code matches at least one of a plurality of pre-stored hash codes,
Disposable iris template generation device.
상기 GRP 기반 IoM 해싱에서, 가우시안 랜덤 행렬(Gaussian random matrices)의 개수(m)는 10 보다 크고 300 보다 작거나 같은,
폐기 가능한 홍채 템플릿 생성 장치.According to paragraph 1,
In the GRP-based IoM hashing, the number (m) of Gaussian random matrices is greater than 10 and less than or equal to 300,
Disposable iris template generation device.
홍채 이미지로부터 홍채 이진 코드를 생성하는 단계;
상기 홍채 이진 코드로부터 IoM 해싱(Index-of-Max Hashing) 기법을 위한 입력 벡터를 생성하는 단계; 및
IoM 해싱을 수행하여 상기 입력 벡터에 대응하는 해시 코드를 생성하는 단계를 포함하고,
상기 입력 벡터를 생성하는 단계는, 상기 홍채 이진 코드에 열(column) 기반의 슬라이싱을 적용하여 상기 입력 벡터를 생성하는고,
상기 입력 벡터를 생성하는 단계는,
b(b는 임의의 자연수)행 a(a는 임의의 자연수)열의 상기 홍채 이진 코드의 각 열(column)을 분리하여 a개의 b행 1열 데이터를 추출하고,
추출된 b행 1열 데이터들 각각을 1행 b열의 데이터로 변환하고,
1행 b열의 데이터들을 결합하여 1행 (a×b)열의 테이블을 생성하고,
1행 (a×b)열의 테이블을 c(c는 임의의 자연수) 단위로 분할한 후 십진수로 변환하고,
십진수로 변환된 값들 각각에 대한 실수화 변환 동작을 수행하여 상기 입력 벡터를 생성하고,
상기 해시 코드를 생성하는 단계는, GRP(Gaussian Random Projection) 기반 IoM 해싱을 수행하되, 가우시안 랜덤 프로젝션 벡터(Gaussian random projection vector)의 개수(q)는 5인,
폐기 가능한 홍채 템플릿 생성 방법.A method for generating a disposable iris template, the method performed by a computing device comprising at least a processor, the method comprising:
Generating an iris binary code from an iris image;
Generating an input vector for an Index-of-Max Hashing (IoM) hashing technique from the iris binary code; and
A step of performing IoM hashing to generate a hash code corresponding to the input vector,
In the step of generating the input vector, the input vector is generated by applying column-based slicing to the iris binary code,
The step of generating the input vector is,
Separate each column of the iris binary code in row b (b is a random natural number) and column a (a is a random natural number) to extract a number of b rows and column 1 data,
Convert each of the extracted data in row b, column 1 to data in row 1, column b,
Combine the data in row 1 and column b to create a table with 1 row and column (a×b),
Split the table in row 1 (a
Generating the input vector by performing a real conversion operation on each of the values converted to decimal numbers,
The step of generating the hash code involves performing IoM hashing based on GRP (Gaussian Random Projection), where the number (q) of Gaussian random projection vectors is 5,
How to create a disposable iris template.
상기 폐기 가능한 홍채 템플릿 생성 방법은 상기 해시 코드와 미리 저장된 복수의 해시 코드들 중 적어도 하나의 매칭 여부를 결정하는 단계를 더 포함하는,
폐기 가능한 홍채 템플릿 생성 방법.According to clause 5,
The disposable iris template generation method further includes determining whether the hash code matches at least one of a plurality of pre-stored hash codes,
How to create a disposable iris template.
상기 입력 벡터를 생성하는 단계는,
10 보다 크고 300 보다 작거나 같은 개수의 가우시안 랜덤 행렬(Gaussian random matrices)을 이용하는,
폐기 가능한 홍채 템플릿 생성 방법.According to clause 5,
The step of generating the input vector is,
Using Gaussian random matrices greater than 10 and less than or equal to 300,
How to create a disposable iris template.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210010156 | 2021-01-25 | ||
KR1020210010156 | 2021-01-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220107963A KR20220107963A (en) | 2022-08-02 |
KR102664795B1 true KR102664795B1 (en) | 2024-05-24 |
Family
ID=82845658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220008458A KR102664795B1 (en) | 2021-01-25 | 2022-01-20 | Device and method for generating cancelable iris templates using column-based slicing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102664795B1 (en) |
-
2022
- 2022-01-20 KR KR1020220008458A patent/KR102664795B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
Index-of-Max 해싱을 이용한 폐기가능한 홍채 템플릿, 김진아 외 3명, 고려대학교 정보보호대학원, 대구가톨릭대학교, Journal of The Korea Institute of Information Security & Cryptology VOL.29, NO.3, Jun. 2019* |
Also Published As
Publication number | Publication date |
---|---|
KR20220107963A (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yajamanam et al. | Deep Learning versus Gist Descriptors for Image-based Malware Classification. | |
Bozkir et al. | Catch them alive: A malware detection approach through memory forensics, manifold learning and computer vision | |
Naeem et al. | Identification of malicious code variants based on image visualization | |
Pinhero et al. | Malware detection employed by visualization and deep neural network | |
JP6651565B2 (en) | Biometric template security and key generation | |
Hassen et al. | Scalable function call graph-based malware classification | |
Baptista et al. | A novel malware detection system based on machine learning and binary visualization | |
RU2654146C1 (en) | System and method of detecting malicious files accompanied with using the static analysis elements | |
Kirat et al. | Sigmal: A static signal processing based malware triage | |
Naeem et al. | A light-weight malware static visual analysis for IoT infrastructure | |
CN110572393A (en) | Malicious software traffic classification method based on convolutional neural network | |
CN112241530B (en) | Malicious PDF document detection method and electronic equipment | |
KR102516366B1 (en) | Method and apparatuis for acquaring feature data | |
CN112329012B (en) | Detection method for malicious PDF document containing JavaScript and electronic device | |
Anandhi et al. | Malware visualization and detection using DenseNets | |
US11397869B2 (en) | Methods and systems for detecting impersonating social media profiles | |
JP2019101927A (en) | Learning system and image retrieval system | |
EP3371739A1 (en) | High speed reference point independent database filtering for fingerprint identification | |
Arslan et al. | AMD‐CNN: Android malware detection via feature graph and convolutional neural networks | |
Naeem et al. | Visual malware classification using local and global malicious pattern | |
Sharif et al. | A deep learning based technique for the classification of malware images | |
Jureček et al. | Application of distance metric learning to automated malware detection | |
KR102664795B1 (en) | Device and method for generating cancelable iris templates using column-based slicing | |
Fan et al. | Security Analysis of Alignment-Robust Cancelable Biometric Scheme for Iris Verification | |
Padmanabhan et al. | Optimal feature selection-based biometric key management for identity management system: emotion oriented facial biometric system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |