KR102223070B1 - 신경망 학습 방법 및 장치 - Google Patents
신경망 학습 방법 및 장치 Download PDFInfo
- Publication number
- KR102223070B1 KR102223070B1 KR1020190008903A KR20190008903A KR102223070B1 KR 102223070 B1 KR102223070 B1 KR 102223070B1 KR 1020190008903 A KR1020190008903 A KR 1020190008903A KR 20190008903 A KR20190008903 A KR 20190008903A KR 102223070 B1 KR102223070 B1 KR 102223070B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- group
- learning
- normal
- neural network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
본 발명의 일 실시예에 따른 신경망 학습 방법은, 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군과 변형 이미지군을 추출하는 단계와, 상기 정상 이미지군에서 적어도 1개의 정상 이미지를 추출하는 단계와, 상기 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지를 상기 변형 이미지군에서 추출하는 단계와, 상기 추출된 정상 이미지와 변형 이미지를 이용하여 신경망(neural network)을 학습시키는 단계를 포함할 수 있다.
Description
본 발명은 이미지의 차이를 인식하는 신경망을 학습하는 방법 및 장치에 관한 것이다.
기계학습 알고리즘의 일종인 신경망(neural network)은 이미지 인식 효과가 뛰어나기 때문에 이미지 인식과 관련된 다양한 분야에서 신경망에 대한 연구가 활발이 진행되고 있다. 예를 들어, 이미지 포렌식(image forensic), 이미지 스테그아날리시스(image steganalsis)와 같은 분야에서도 신경망을 이용하여 이미지의 조작 탐지 또는 이미지에 삽입된 메시지 탐지를 수행하기 위한 연구가 활발이 진행되고 있다.
한편, 이러한 연구는 주로 신경망의 구조 변경에만 집중하여 진행되고 있으며 이미지 인식 분야별 특성을 고려하여 신경망을 학습시키는 방법에 대한 연구는 미비한 실정이다. 이에 따라, 현재 신경망 학습은 이미지 인식 분야별 특성을 고려하지 않은 채, 통상적인 학습 방식, 즉 다량의 데이터를 랜덤하게 입력시켜 학습을 수행하는 방식으로 이루어지고 있다.
그러나, 이미지 인식 분야별, 특히 이미지 포렌식과 스테그아날리시스와 같은 경우는 일반적인 이미지 인식과는 구별되는 특성이 존재하기 때문에, 보다 정확한 이미지 인식을 위해 이러한 특성을 고려하여 학습이 수행될 필요가 있다.
본 발명이 해결하고자 하는 과제는, 정상 이미지와 미세한 차이를 가지는 이미지를 구분하는 이미지 인식 분야의 신경망을 학습하는 방법 및 장치를 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 신경망 학습 방법은, 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군과 변형 이미지군을 추출하는 단계와, 상기 정상 이미지군에서 적어도 1개의 정상 이미지를 추출하는 단계와, 상기 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지를 상기 변형 이미지군에서 추출하는 단계와, 상기 추출된 정상 이미지와 변형 이미지를 이용하여 신경망(neural network)을 학습시키는 단계를 포함할 수 있다.
또한, 상기 신경망을 학습하는 단계는, 상기 추출된 정상 이미지와 변형 이미지를 포함하는 학습군을 생성하는 단계와, 상기 학습군을 상기 신경망에 입력하는 단계를 포함할 수 있다.
또한, 상기 신경망을 학습하는 단계는, 상기 추출된 정상 이미지와 변형 이미지를 상기 정상 이미지군 및 상기 변형 이미지군 각각에서 제외하는 단계와, 상기 추출된 정상 이미지 및 변형 이미지가 각각 제외된 정상 이미지군과 변형 이미지군을 이용하여 새로운 학습군을 생성하는 단계와, 상기 생성된 새로운 학습군을 이용하여 상기 신경망의 학습을 반복하는 단계를 포함할 수 있다.
또한, 상기 변형 이미지의 PSNR(peak signal to noise ratio)이 소정 값 이상일 수 있다.
또한, 상기 변형 이미지는, 상기 정상 이미지의 적어도 일부가 변형된 이미지일 수 있다.
또한, 상기 변형 이미지는, 상기 정상 이미지에 소정의 데이터가 삽입된 이미지일 수 있다.
본 발명의 일 실시예에 따른 신경망 학습 장치는, 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군과 변형 이미지군을 추출하는 이미지군 추출부와, 상기 정상 이미지군에서 적어도 1개의 정상 이미지를 추출하는 정상 이미지 추출부와, 상기 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지를 상기 변형 이미지군에서 추출하는 변형 이미지 추출부와, 상기 추출된 정상 이미지와 변형 이미지를 이용하여 신경망(neural network)을 학습시키는 학습부를 포함할 수 있다.
또한, 상기 학습부는, 상기 추출된 정상 이미지와 변형 이미지를 포함하는 학습군을 생성하고, 상기 학습군을 상기 신경망에 입력할 수 있다.
또한, 상기 학습부는, 상기 추출된 정상 이미지와 변형 이미지를 상기 정상 이미지군 및 상기 변형 이미지군 각각에서 제외하고, 상기 추출된 정상 이미지 및 변형 이미지가 각각 제외된 정상 이미지군과 변형 이미지군을 이용하여 새로운 학습군을 생성하며, 상기 생성된 새로운 학습군을 이용하여 상기 신경망의 학습을 반복할 수 있다.
또한, 상기 변형 이미지의 PSNR(peak signal to noise ratio) 값이 소정 값 이상일 수 있다.
또한, 상기 변형 이미지는, 상기 정상 이미지의 적어도 일부가 변형된 이미지일 수 있다.
또한, 상기 변형 이미지는, 상기 정상 이미지에 소정의 데이터가 삽입된 이미지일 수 있다.
본 발명의 실시예에 따른 신경망 학습 방법 및 장치는, 사람의 눈으로 관찰하기 어려울 정도로 미세한 차이를 가지도록 변화된 이미지를 보다 효과적으로 구분할 수 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 의해 구분되는 이미지를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 의해 구분되는 이미지를 설명하기 위한 도면이다.
도 1에서, 정상 이미지군(10)에 포함된 정상 이미지 각각은 이미지 획득 장치(예: 카메라)로 촬영한 원본 이미지일 수 있으며, 변형 이미지군(20)에 포함된 변형 이미지 각각은 정상 이미지의 적어도 일부가 조작되어 생성된 이미지일 수 있다. 이러한 정상 이미지와 변형 이미지 사이의 차이(30)는 사람의 눈에는 인식하기 어려울 수 있다.
이처럼 정상 이미지와의 차이가 미세한 변형 이미지를 인식하기 위한 이미지 인식 분야의 기술은 이미지 포렌식 또는 이미지 스테그아날리시스가 있을 수 있다. 이미지 포렌식은 특정 이미지가 카메라로 촬영한 그대로의 이미지인지 또는 이미지 편집 프로그램을 이용해 조작된 이미지인지를 구분하는 기술이고, 이미지 스테그아날리시스는 디지털 이미지에 특정 메시지가 삽입되었는지 여부를 탐지하는 기술이다.
이러한 기술은 일반적으로 이미지 내에 포함된 물체가 무엇인지를 구별하는 이미지 인식 분야와는 그 목적과 구분하고자 하는 대상 자체가 다르기 때문에, 학습 단계에서부터 이러한 특성이 고려될 필요가 있다. 이에 따라, 이하에서는 상술한 이미지 포렌식 또는 이미지 스테그아날리시스와 같이 사람의 눈으로는 구분하기 어려울 정도로 변형된 이미지를 효과적으로 인식 및 분석하는 본 발명의 일 실시예에 따른 신경망 학습 장치 및 방법에 대해 설명하겠다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 2를 참조하면, 신경망 학습 방법에 이용되는 데이터베이스는 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 복수의 변형 이미지를 포함하는 변형 이미지군(20)을 포함할 수 있다.
한편, 최초의 데이터베이스는 복수의 정상 이미지와 복수의 변형 이미지를 포함하는 다양한 이미지로 구성될 수 있는데, 이러한 경우, 데이터베이스에서 복수의 정상 이미지가 추출되어 정상 이미지군(10)이 형성되고, 복수의 변형 이미지가 추출되어 변형 이미지군(20)이 형성될 수 있다. 이러한 정상 이미지군(10) 및 변형 이미지군(20)의 형성은 사용자의 입력에 의해 수행될 수 있다.
정상 이미지군(10)은 제1 정상 이미지(11), 제2 정상 이미지(12), 제3 정상 이미지(13), 제4 정상 이미지(14)를 포함할 수 있다. 변형 이미지군(20)은 제1 변형 이미지(21), 제2 변형 이미지(22), 제3 변형 이미지(23), 제4 변형 이미지(24)를 포함할 수 있다.
정상 이미지군(10)과 변형 이미지군(20) 각각에 포함된 이미지들은 서로 쌍일 수 있다. 예를 들어, 제1 변형 이미지(21)는 제1 정상 이미지(11)의 적어도 일부가 변형된 이미지로서, 제1 정상 이미지(11)와 쌍일 수 있다. 이와 마찬가지로, 제2 변형 이미지(22)는 제2 정상 이미지(12)와, 제3 변형 이미지(23)는 제3 정상 이미지(13)와, 제4 변형 이미지(24)는 제4 정상 이미지(14)와 서로 쌍일 수 있다.
이러한 정상 이미지군(10)과 변형 이미지군(20)의 쌍에 기초하여 신경망 학습 방법의 입력으로 이용되는 학습군(40)이 형성될 수 있고, 데이터베이스는 학습군(40)을 저장하고 있을 수 있다.
구체적으로, 도시된 바와 같이, 학습군(40)은 정상 이미지군(10)에서 적어도 1개의 정상 이미지(예를 들어, 제1 정상 이미지(11), 제3 정상 이미지(13))가 추출되어 학습군(40)에 포함됨 기초하여, 추출된 정상 이미지에 대응하는 변형 이미지(예를 들어, 제1 변형 이미지(21), 제3 변형 이미지(23))가 포함되도록 형성될 수 있다. 적어도 1개의 정상 이미지는 정상 이미지군(10)에서 랜덤하게 추출될 수 있다.
한편, 학습군(40)을 구성할 때 먼저 추출되는 이미지군은 정상 이미지군(10)에 제한되지 않고, 변형 이미지군(20)일 수도 있다. 즉, 변형 이미지군(20)에서 적어도 두 개의 변형 이미지가 먼저 추출되고 그에 대응하는 정상 이미지가 정상 이미지군(10)에서 추출될 수도 있다.
학습군(40)을 이용하여 신경망의 학습이 이루어질 수 있으며, 학습 시 마다 학습군(40)은 새롭게 형성될 수 있다. 예를 들어, 첫번째 학습에 이용되는 학습군에 포함되는 정상 이미지 및 변형 이미지와, 두번째 학습에 이용되는 학습군에 포함되는 정상 이미지와 변형 이미지는 서로 상이할 수 있다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이하 도 3의 설명에서는 도 1 또는 도 2와 중복되는 내용이 생략될 수 있다.
도 3을 참조하면, 신경망 학습 장치(100)는 이미지군 추출부(110), 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)를 포함할 수 있다. 이미지군 추출부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)에 있어서도 같다.
이미지군 추출부(110)는 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)을 추출할 수 있다.
정상 이미지 추출부(120)는 정상 이미지군(10)에서 적어도 1개의 정상 이미지를 추출할 수 있고, 변형 이미지 추출부(130)는 추출된 적어도 1개의 정상 이미지(10) 각각에 대한 변형 이미지를 변형 이미지군(20)에서 추출할 수 있다.
학습부(140)는 추출된 정상 이미지와 변형 이미지를 이용하여 신경망을 학습시킬 수 있다. 구체적으로, 학습부(140)는 추출된 정상 이미지와 이에 대응하여 추출된 변형 이미지를 포함하는 학습군(40)을 생성하고, 생성된 학습군(40)을 신경망에 입력하여 신경망을 학습시킬 수 있다.
한편, 학습부(140)는 학습군을 이용하여 신경망을 학습하는 과정을 복수회 수행할 수 있다. 이러한 경우, 반복되는 학습 각각은 서로 다른 학습군에 의해 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다. 또한, 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 4를 참조하면, 학습 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)이 추출될 수 있다(S110). 학습 데이터베이스에는 다양한 이미지가 기저장되어 있을 수 있고, 그 중 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 정상 이미지 각각에 대응하는 복수의 변형 이미지를 포함하는 변형 이미지군(20)이 추출될 수 있다.
정상 이미지는 이미지 획득 장치로 촬영한 이미지 자체일 수 있으며, 변형 이미지는 정상 이미지에 소정의 데이터가 삽입되거나, 정상 이미지의 일부가 변형된 이미지일 수 있다. 다만, 변형 이미지에 가해진 변형의 정도는 사람의 눈으로는 구분하기 어려울 정도의 미세한 차이일 수 있다.
한편, 정상 이미지와 변형 이미지 사이의 차이는 PSNR(peak signal to ratio)을 이용하여 표현될 수 있다. PSNR은 최대 신호 대 잡음비로, 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타낸 것일 수 있다. 영상 또는 동영상 손실 압축에서 화질 손실 정보를 평가할 때 사용되는 것일 수 있다. 일부 실시예에서는 이러한 정상 이미지와 관련하여 PSNR 값이 소정 값 이상으로 나타나는 이미지를 변형 이미지로 판별함으로써 변형 이미지군(20)이 생성되도록 할 수 있다.
경우에 따라, 정상 이미지와 변형 이미지의 차이는 MSE(mean square error)를 이용하여 표현될 수도 있다. MSE는 평균 제곱근 오편차(root mean square deviation, RMSD)를 이용하여 산출될 수 있고, MSE에 의해 산출된 값, 즉 정상 이미지와 변형 이미지의 차이를 나타내는 값은 잔차(residual)로 지칭될 수도 있다.
정상 이미지군(10)에서 적어도 1개의 정상 이미지가 추출될 수 있고(S120), 변형 이미지군(20)에서 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지가 추출될 수 있다(S130). 경우에 따라서, 변형 이미지군(20)에서 변형 이미지가 먼저 추출된 후, 정상 이미지군(10)에서 추출된 변형 이미지 각각에 대응하는 정상 이미지가 추출될 수도 있다.
정상 이미지와 변형 이미지를 이용하여 신경망이 학습될 수 있다(S140). 정상 이미지 및 변형 이미지가 추출되면, 이들을 포함하는 학습군(40)이 형성될 수 있고, 학습군(40)을 학습 데이터로 이용하여 신경망을 학습시킬 수 있다. 예를 들어, 학습군(40)을 신경망에 입력하여 출력값과 손실함수값을 계산한 뒤, 이를 이용하여 신경망을 학습시킬 수 있다. 여기서, 출력값과 손실함수값을 이용한 학습은 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
상술한 학습군(40)을 이용하여 1회 학습이 수행되면, 새로운 데이터를 포함하는 학습군(40)이 생성될 수 있다. 여기서 새로운 데이터는 이미 이용된 학습군(40)에 포함되지 않는 정상 이미지 및 변형 이미지 중 적어도 일부를 포함할 수 있다. 즉, 학습에 이용된 정상 이미지 및 변형 이미지를 제외한 나머지 이미지들로 상술한 단계 S120 내지 단계 S140이 반복적으로 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다. 구체적으로, 도 5는 신경망에 대해 본 발명의 신경망 학습 방법을 이용하여 정상 이미지와 변형 이미지를 구분하도록 학습시키는 실험을 진행하였을 때 도출되는 학습 로스(loss)에 대한 실험 결과일 수 있다.
도 5를 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 학습 로스가 더욱 빠르게 감소하는 것을 볼 수 있다. 이는 학습의 효율이 높다는 것을 의미할 수 있다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다. 구체적으로, 도 6은 본 발명의 신경망 학습 방법에 의해 학습된 신경망을 이용하여 정상 이미지와 변형 이미지를 구분하는 실험을 수행하였을 때 도출되는 신경망의 정확도를 나타내는 실험 결과일 수 있다.
도 6을 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 정확도가 빠르게 증가하는 것을 볼 수 있다.
도 5 및 도 6에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 신경망 학습 방법 및 장치(100)는 정상 이미지와 그에 대응하는 변형 이미지로 구성된 학습군(40)을 이용하여 학습을 수행함으로써, 미세한 차이를 보다 잘 인식하는 방향으로 학습이 수행되고, 이에 따라 이미지의 미세한 변형을 보다 정확하며 효과적으로 분석할 수 있다. 이에 따라, 신경망 학습 방법 및 장치(100)는 이미지 포렌식 또는 이미지 스테그아날리시스와 같은 이미지 사이의 미세한 차이를 확인하기 위한 기술 분야에서 특히 유용하게 이용될 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 의해 구분되는 이미지를 설명하기 위한 도면이다.
도 1에서, 정상 이미지군(10)에 포함된 정상 이미지 각각은 이미지 획득 장치(예: 카메라)로 촬영한 원본 이미지일 수 있으며, 변형 이미지군(20)에 포함된 변형 이미지 각각은 정상 이미지의 적어도 일부가 조작되어 생성된 이미지일 수 있다. 이러한 정상 이미지와 변형 이미지 사이의 차이(30)는 사람의 눈에는 인식하기 어려울 수 있다.
이처럼 정상 이미지와의 차이가 미세한 변형 이미지를 인식하기 위한 이미지 인식 분야의 기술은 이미지 포렌식 또는 이미지 스테그아날리시스가 있을 수 있다. 이미지 포렌식은 특정 이미지가 카메라로 촬영한 그대로의 이미지인지 또는 이미지 편집 프로그램을 이용해 조작된 이미지인지를 구분하는 기술이고, 이미지 스테그아날리시스는 디지털 이미지에 특정 메시지가 삽입되었는지 여부를 탐지하는 기술이다.
이러한 기술은 일반적으로 이미지 내에 포함된 물체가 무엇인지를 구별하는 이미지 인식 분야와는 그 목적과 구분하고자 하는 대상 자체가 다르기 때문에, 학습 단계에서부터 이러한 특성이 고려될 필요가 있다. 이에 따라, 이하에서는 상술한 이미지 포렌식 또는 이미지 스테그아날리시스와 같이 사람의 눈으로는 구분하기 어려울 정도로 변형된 이미지를 효과적으로 인식 및 분석하는 본 발명의 일 실시예에 따른 신경망 학습 장치 및 방법에 대해 설명하겠다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 2를 참조하면, 신경망 학습 방법에 이용되는 데이터베이스는 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 복수의 변형 이미지를 포함하는 변형 이미지군(20)을 포함할 수 있다.
한편, 최초의 데이터베이스는 복수의 정상 이미지와 복수의 변형 이미지를 포함하는 다양한 이미지로 구성될 수 있는데, 이러한 경우, 데이터베이스에서 복수의 정상 이미지가 추출되어 정상 이미지군(10)이 형성되고, 복수의 변형 이미지가 추출되어 변형 이미지군(20)이 형성될 수 있다. 이러한 정상 이미지군(10) 및 변형 이미지군(20)의 형성은 사용자의 입력에 의해 수행될 수 있다.
정상 이미지군(10)은 제1 정상 이미지(11), 제2 정상 이미지(12), 제3 정상 이미지(13), 제4 정상 이미지(14)를 포함할 수 있다. 변형 이미지군(20)은 제1 변형 이미지(21), 제2 변형 이미지(22), 제3 변형 이미지(23), 제4 변형 이미지(24)를 포함할 수 있다.
정상 이미지군(10)과 변형 이미지군(20) 각각에 포함된 이미지들은 서로 쌍일 수 있다. 예를 들어, 제1 변형 이미지(21)는 제1 정상 이미지(11)의 적어도 일부가 변형된 이미지로서, 제1 정상 이미지(11)와 쌍일 수 있다. 이와 마찬가지로, 제2 변형 이미지(22)는 제2 정상 이미지(12)와, 제3 변형 이미지(23)는 제3 정상 이미지(13)와, 제4 변형 이미지(24)는 제4 정상 이미지(14)와 서로 쌍일 수 있다.
이러한 정상 이미지군(10)과 변형 이미지군(20)의 쌍에 기초하여 신경망 학습 방법의 입력으로 이용되는 학습군(40)이 형성될 수 있고, 데이터베이스는 학습군(40)을 저장하고 있을 수 있다.
구체적으로, 도시된 바와 같이, 학습군(40)은 정상 이미지군(10)에서 적어도 1개의 정상 이미지(예를 들어, 제1 정상 이미지(11), 제3 정상 이미지(13))가 추출되어 학습군(40)에 포함됨 기초하여, 추출된 정상 이미지에 대응하는 변형 이미지(예를 들어, 제1 변형 이미지(21), 제3 변형 이미지(23))가 포함되도록 형성될 수 있다. 적어도 1개의 정상 이미지는 정상 이미지군(10)에서 랜덤하게 추출될 수 있다.
한편, 학습군(40)을 구성할 때 먼저 추출되는 이미지군은 정상 이미지군(10)에 제한되지 않고, 변형 이미지군(20)일 수도 있다. 즉, 변형 이미지군(20)에서 적어도 두 개의 변형 이미지가 먼저 추출되고 그에 대응하는 정상 이미지가 정상 이미지군(10)에서 추출될 수도 있다.
학습군(40)을 이용하여 신경망의 학습이 이루어질 수 있으며, 학습 시 마다 학습군(40)은 새롭게 형성될 수 있다. 예를 들어, 첫번째 학습에 이용되는 학습군에 포함되는 정상 이미지 및 변형 이미지와, 두번째 학습에 이용되는 학습군에 포함되는 정상 이미지와 변형 이미지는 서로 상이할 수 있다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이하 도 3의 설명에서는 도 1 또는 도 2와 중복되는 내용이 생략될 수 있다.
도 3을 참조하면, 신경망 학습 장치(100)는 이미지군 추출부(110), 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)를 포함할 수 있다. 이미지군 추출부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)에 있어서도 같다.
이미지군 추출부(110)는 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)을 추출할 수 있다.
정상 이미지 추출부(120)는 정상 이미지군(10)에서 적어도 1개의 정상 이미지를 추출할 수 있고, 변형 이미지 추출부(130)는 추출된 적어도 1개의 정상 이미지(10) 각각에 대한 변형 이미지를 변형 이미지군(20)에서 추출할 수 있다.
학습부(140)는 추출된 정상 이미지와 변형 이미지를 이용하여 신경망을 학습시킬 수 있다. 구체적으로, 학습부(140)는 추출된 정상 이미지와 이에 대응하여 추출된 변형 이미지를 포함하는 학습군(40)을 생성하고, 생성된 학습군(40)을 신경망에 입력하여 신경망을 학습시킬 수 있다.
한편, 학습부(140)는 학습군을 이용하여 신경망을 학습하는 과정을 복수회 수행할 수 있다. 이러한 경우, 반복되는 학습 각각은 서로 다른 학습군에 의해 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다. 또한, 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 4를 참조하면, 학습 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)이 추출될 수 있다(S110). 학습 데이터베이스에는 다양한 이미지가 기저장되어 있을 수 있고, 그 중 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 정상 이미지 각각에 대응하는 복수의 변형 이미지를 포함하는 변형 이미지군(20)이 추출될 수 있다.
정상 이미지는 이미지 획득 장치로 촬영한 이미지 자체일 수 있으며, 변형 이미지는 정상 이미지에 소정의 데이터가 삽입되거나, 정상 이미지의 일부가 변형된 이미지일 수 있다. 다만, 변형 이미지에 가해진 변형의 정도는 사람의 눈으로는 구분하기 어려울 정도의 미세한 차이일 수 있다.
한편, 정상 이미지와 변형 이미지 사이의 차이는 PSNR(peak signal to ratio)을 이용하여 표현될 수 있다. PSNR은 최대 신호 대 잡음비로, 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타낸 것일 수 있다. 영상 또는 동영상 손실 압축에서 화질 손실 정보를 평가할 때 사용되는 것일 수 있다. 일부 실시예에서는 이러한 정상 이미지와 관련하여 PSNR 값이 소정 값 이상으로 나타나는 이미지를 변형 이미지로 판별함으로써 변형 이미지군(20)이 생성되도록 할 수 있다.
경우에 따라, 정상 이미지와 변형 이미지의 차이는 MSE(mean square error)를 이용하여 표현될 수도 있다. MSE는 평균 제곱근 오편차(root mean square deviation, RMSD)를 이용하여 산출될 수 있고, MSE에 의해 산출된 값, 즉 정상 이미지와 변형 이미지의 차이를 나타내는 값은 잔차(residual)로 지칭될 수도 있다.
정상 이미지군(10)에서 적어도 1개의 정상 이미지가 추출될 수 있고(S120), 변형 이미지군(20)에서 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지가 추출될 수 있다(S130). 경우에 따라서, 변형 이미지군(20)에서 변형 이미지가 먼저 추출된 후, 정상 이미지군(10)에서 추출된 변형 이미지 각각에 대응하는 정상 이미지가 추출될 수도 있다.
정상 이미지와 변형 이미지를 이용하여 신경망이 학습될 수 있다(S140). 정상 이미지 및 변형 이미지가 추출되면, 이들을 포함하는 학습군(40)이 형성될 수 있고, 학습군(40)을 학습 데이터로 이용하여 신경망을 학습시킬 수 있다. 예를 들어, 학습군(40)을 신경망에 입력하여 출력값과 손실함수값을 계산한 뒤, 이를 이용하여 신경망을 학습시킬 수 있다. 여기서, 출력값과 손실함수값을 이용한 학습은 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
상술한 학습군(40)을 이용하여 1회 학습이 수행되면, 새로운 데이터를 포함하는 학습군(40)이 생성될 수 있다. 여기서 새로운 데이터는 이미 이용된 학습군(40)에 포함되지 않는 정상 이미지 및 변형 이미지 중 적어도 일부를 포함할 수 있다. 즉, 학습에 이용된 정상 이미지 및 변형 이미지를 제외한 나머지 이미지들로 상술한 단계 S120 내지 단계 S140이 반복적으로 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다. 구체적으로, 도 5는 신경망에 대해 본 발명의 신경망 학습 방법을 이용하여 정상 이미지와 변형 이미지를 구분하도록 학습시키는 실험을 진행하였을 때 도출되는 학습 로스(loss)에 대한 실험 결과일 수 있다.
도 5를 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 학습 로스가 더욱 빠르게 감소하는 것을 볼 수 있다. 이는 학습의 효율이 높다는 것을 의미할 수 있다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다. 구체적으로, 도 6은 본 발명의 신경망 학습 방법에 의해 학습된 신경망을 이용하여 정상 이미지와 변형 이미지를 구분하는 실험을 수행하였을 때 도출되는 신경망의 정확도를 나타내는 실험 결과일 수 있다.
도 6을 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 정확도가 빠르게 증가하는 것을 볼 수 있다.
도 5 및 도 6에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 신경망 학습 방법 및 장치(100)는 정상 이미지와 그에 대응하는 변형 이미지로 구성된 학습군(40)을 이용하여 학습을 수행함으로써, 미세한 차이를 보다 잘 인식하는 방향으로 학습이 수행되고, 이에 따라 이미지의 미세한 변형을 보다 정확하며 효과적으로 분석할 수 있다. 이에 따라, 신경망 학습 방법 및 장치(100)는 이미지 포렌식 또는 이미지 스테그아날리시스와 같은 이미지 사이의 미세한 차이를 확인하기 위한 기술 분야에서 특히 유용하게 이용될 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 의해 구분되는 이미지를 설명하기 위한 도면이다.
도 1에서, 정상 이미지군(10)에 포함된 정상 이미지 각각은 이미지 획득 장치(예: 카메라)로 촬영한 원본 이미지일 수 있으며, 변형 이미지군(20)에 포함된 변형 이미지 각각은 정상 이미지의 적어도 일부가 조작되어 생성된 이미지일 수 있다. 이러한 정상 이미지와 변형 이미지 사이의 차이(30)는 사람의 눈에는 인식하기 어려울 수 있다.
이처럼 정상 이미지와의 차이가 미세한 변형 이미지를 인식하기 위한 이미지 인식 분야의 기술은 이미지 포렌식 또는 이미지 스테그아날리시스가 있을 수 있다. 이미지 포렌식은 특정 이미지가 카메라로 촬영한 그대로의 이미지인지 또는 이미지 편집 프로그램을 이용해 조작된 이미지인지를 구분하는 기술이고, 이미지 스테그아날리시스는 디지털 이미지에 특정 메시지가 삽입되었는지 여부를 탐지하는 기술이다.
이러한 기술은 일반적으로 이미지 내에 포함된 물체가 무엇인지를 구별하는 이미지 인식 분야와는 그 목적과 구분하고자 하는 대상 자체가 다르기 때문에, 학습 단계에서부터 이러한 특성이 고려될 필요가 있다. 이에 따라, 이하에서는 상술한 이미지 포렌식 또는 이미지 스테그아날리시스와 같이 사람의 눈으로는 구분하기 어려울 정도로 변형된 이미지를 효과적으로 인식 및 분석하는 본 발명의 일 실시예에 따른 신경망 학습 장치 및 방법에 대해 설명하겠다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 2를 참조하면, 신경망 학습 방법에 이용되는 데이터베이스는 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 복수의 변형 이미지를 포함하는 변형 이미지군(20)을 포함할 수 있다.
한편, 최초의 데이터베이스는 복수의 정상 이미지와 복수의 변형 이미지를 포함하는 다양한 이미지로 구성될 수 있는데, 이러한 경우, 데이터베이스에서 복수의 정상 이미지가 추출되어 정상 이미지군(10)이 형성되고, 복수의 변형 이미지가 추출되어 변형 이미지군(20)이 형성될 수 있다. 이러한 정상 이미지군(10) 및 변형 이미지군(20)의 형성은 사용자의 입력에 의해 수행될 수 있다.
정상 이미지군(10)은 제1 정상 이미지(11), 제2 정상 이미지(12), 제3 정상 이미지(13), 제4 정상 이미지(14)를 포함할 수 있다. 변형 이미지군(20)은 제1 변형 이미지(21), 제2 변형 이미지(22), 제3 변형 이미지(23), 제4 변형 이미지(24)를 포함할 수 있다.
정상 이미지군(10)과 변형 이미지군(20) 각각에 포함된 이미지들은 서로 쌍일 수 있다. 예를 들어, 제1 변형 이미지(21)는 제1 정상 이미지(11)의 적어도 일부가 변형된 이미지로서, 제1 정상 이미지(11)와 쌍일 수 있다. 이와 마찬가지로, 제2 변형 이미지(22)는 제2 정상 이미지(12)와, 제3 변형 이미지(23)는 제3 정상 이미지(13)와, 제4 변형 이미지(24)는 제4 정상 이미지(14)와 서로 쌍일 수 있다.
이러한 정상 이미지군(10)과 변형 이미지군(20)의 쌍에 기초하여 신경망 학습 방법의 입력으로 이용되는 학습군(40)이 형성될 수 있고, 데이터베이스는 학습군(40)을 저장하고 있을 수 있다.
구체적으로, 도시된 바와 같이, 학습군(40)은 정상 이미지군(10)에서 적어도 1개의 정상 이미지(예를 들어, 제1 정상 이미지(11), 제3 정상 이미지(13))가 추출되어 학습군(40)에 포함됨 기초하여, 추출된 정상 이미지에 대응하는 변형 이미지(예를 들어, 제1 변형 이미지(21), 제3 변형 이미지(23))가 포함되도록 형성될 수 있다. 적어도 1개의 정상 이미지는 정상 이미지군(10)에서 랜덤하게 추출될 수 있다.
한편, 학습군(40)을 구성할 때 먼저 추출되는 이미지군은 정상 이미지군(10)에 제한되지 않고, 변형 이미지군(20)일 수도 있다. 즉, 변형 이미지군(20)에서 적어도 두 개의 변형 이미지가 먼저 추출되고 그에 대응하는 정상 이미지가 정상 이미지군(10)에서 추출될 수도 있다.
학습군(40)을 이용하여 신경망의 학습이 이루어질 수 있으며, 학습 시 마다 학습군(40)은 새롭게 형성될 수 있다. 예를 들어, 첫번째 학습에 이용되는 학습군에 포함되는 정상 이미지 및 변형 이미지와, 두번째 학습에 이용되는 학습군에 포함되는 정상 이미지와 변형 이미지는 서로 상이할 수 있다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이하 도 3의 설명에서는 도 1 또는 도 2와 중복되는 내용이 생략될 수 있다.
도 3을 참조하면, 신경망 학습 장치(100)는 이미지군 추출부(110), 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)를 포함할 수 있다. 이미지군 추출부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)에 있어서도 같다.
이미지군 추출부(110)는 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)을 추출할 수 있다.
정상 이미지 추출부(120)는 정상 이미지군(10)에서 적어도 1개의 정상 이미지를 추출할 수 있고, 변형 이미지 추출부(130)는 추출된 적어도 1개의 정상 이미지(10) 각각에 대한 변형 이미지를 변형 이미지군(20)에서 추출할 수 있다.
학습부(140)는 추출된 정상 이미지와 변형 이미지를 이용하여 신경망을 학습시킬 수 있다. 구체적으로, 학습부(140)는 추출된 정상 이미지와 이에 대응하여 추출된 변형 이미지를 포함하는 학습군(40)을 생성하고, 생성된 학습군(40)을 신경망에 입력하여 신경망을 학습시킬 수 있다.
한편, 학습부(140)는 학습군을 이용하여 신경망을 학습하는 과정을 복수회 수행할 수 있다. 이러한 경우, 반복되는 학습 각각은 서로 다른 학습군에 의해 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다. 또한, 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 4를 참조하면, 학습 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)이 추출될 수 있다(S110). 학습 데이터베이스에는 다양한 이미지가 기저장되어 있을 수 있고, 그 중 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 정상 이미지 각각에 대응하는 복수의 변형 이미지를 포함하는 변형 이미지군(20)이 추출될 수 있다.
정상 이미지는 이미지 획득 장치로 촬영한 이미지 자체일 수 있으며, 변형 이미지는 정상 이미지에 소정의 데이터가 삽입되거나, 정상 이미지의 일부가 변형된 이미지일 수 있다. 다만, 변형 이미지에 가해진 변형의 정도는 사람의 눈으로는 구분하기 어려울 정도의 미세한 차이일 수 있다.
한편, 정상 이미지와 변형 이미지 사이의 차이는 PSNR(peak signal to ratio)을 이용하여 표현될 수 있다. PSNR은 최대 신호 대 잡음비로, 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타낸 것일 수 있다. 영상 또는 동영상 손실 압축에서 화질 손실 정보를 평가할 때 사용되는 것일 수 있다. 일부 실시예에서는 이러한 정상 이미지와 관련하여 PSNR 값이 소정 값 이상으로 나타나는 이미지를 변형 이미지로 판별함으로써 변형 이미지군(20)이 생성되도록 할 수 있다.
경우에 따라, 정상 이미지와 변형 이미지의 차이는 MSE(mean square error)를 이용하여 표현될 수도 있다. MSE는 평균 제곱근 오편차(root mean square deviation, RMSD)를 이용하여 산출될 수 있고, MSE에 의해 산출된 값, 즉 정상 이미지와 변형 이미지의 차이를 나타내는 값은 잔차(residual)로 지칭될 수도 있다.
정상 이미지군(10)에서 적어도 1개의 정상 이미지가 추출될 수 있고(S120), 변형 이미지군(20)에서 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지가 추출될 수 있다(S130). 경우에 따라서, 변형 이미지군(20)에서 변형 이미지가 먼저 추출된 후, 정상 이미지군(10)에서 추출된 변형 이미지 각각에 대응하는 정상 이미지가 추출될 수도 있다.
정상 이미지와 변형 이미지를 이용하여 신경망이 학습될 수 있다(S140). 정상 이미지 및 변형 이미지가 추출되면, 이들을 포함하는 학습군(40)이 형성될 수 있고, 학습군(40)을 학습 데이터로 이용하여 신경망을 학습시킬 수 있다. 예를 들어, 학습군(40)을 신경망에 입력하여 출력값과 손실함수값을 계산한 뒤, 이를 이용하여 신경망을 학습시킬 수 있다. 여기서, 출력값과 손실함수값을 이용한 학습은 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
상술한 학습군(40)을 이용하여 1회 학습이 수행되면, 새로운 데이터를 포함하는 학습군(40)이 생성될 수 있다. 여기서 새로운 데이터는 이미 이용된 학습군(40)에 포함되지 않는 정상 이미지 및 변형 이미지 중 적어도 일부를 포함할 수 있다. 즉, 학습에 이용된 정상 이미지 및 변형 이미지를 제외한 나머지 이미지들로 상술한 단계 S120 내지 단계 S140이 반복적으로 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다. 구체적으로, 도 5는 신경망에 대해 본 발명의 신경망 학습 방법을 이용하여 정상 이미지와 변형 이미지를 구분하도록 학습시키는 실험을 진행하였을 때 도출되는 학습 로스(loss)에 대한 실험 결과일 수 있다.
도 5를 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 학습 로스가 더욱 빠르게 감소하는 것을 볼 수 있다. 이는 학습의 효율이 높다는 것을 의미할 수 있다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다. 구체적으로, 도 6은 본 발명의 신경망 학습 방법에 의해 학습된 신경망을 이용하여 정상 이미지와 변형 이미지를 구분하는 실험을 수행하였을 때 도출되는 신경망의 정확도를 나타내는 실험 결과일 수 있다.
도 6을 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 정확도가 빠르게 증가하는 것을 볼 수 있다.
도 5 및 도 6에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 신경망 학습 방법 및 장치(100)는 정상 이미지와 그에 대응하는 변형 이미지로 구성된 학습군(40)을 이용하여 학습을 수행함으로써, 미세한 차이를 보다 잘 인식하는 방향으로 학습이 수행되고, 이에 따라 이미지의 미세한 변형을 보다 정확하며 효과적으로 분석할 수 있다. 이에 따라, 신경망 학습 방법 및 장치(100)는 이미지 포렌식 또는 이미지 스테그아날리시스와 같은 이미지 사이의 미세한 차이를 확인하기 위한 기술 분야에서 특히 유용하게 이용될 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 신경망 학습 방법에 의해 구분되는 이미지를 설명하기 위한 도면이다.
도 1에서, 정상 이미지군(10)에 포함된 정상 이미지 각각은 이미지 획득 장치(예: 카메라)로 촬영한 원본 이미지일 수 있으며, 변형 이미지군(20)에 포함된 변형 이미지 각각은 정상 이미지의 적어도 일부가 조작되어 생성된 이미지일 수 있다. 이러한 정상 이미지와 변형 이미지 사이의 차이(30)는 사람의 눈에는 인식하기 어려울 수 있다.
이처럼 정상 이미지와의 차이가 미세한 변형 이미지를 인식하기 위한 이미지 인식 분야의 기술은 이미지 포렌식 또는 이미지 스테그아날리시스가 있을 수 있다. 이미지 포렌식은 특정 이미지가 카메라로 촬영한 그대로의 이미지인지 또는 이미지 편집 프로그램을 이용해 조작된 이미지인지를 구분하는 기술이고, 이미지 스테그아날리시스는 디지털 이미지에 특정 메시지가 삽입되었는지 여부를 탐지하는 기술이다.
이러한 기술은 일반적으로 이미지 내에 포함된 물체가 무엇인지를 구별하는 이미지 인식 분야와는 그 목적과 구분하고자 하는 대상 자체가 다르기 때문에, 학습 단계에서부터 이러한 특성이 고려될 필요가 있다. 이에 따라, 이하에서는 상술한 이미지 포렌식 또는 이미지 스테그아날리시스와 같이 사람의 눈으로는 구분하기 어려울 정도로 변형된 이미지를 효과적으로 인식 및 분석하는 본 발명의 일 실시예에 따른 신경망 학습 장치 및 방법에 대해 설명하겠다.
도 2는 본 발명의 일 실시예에 따른 신경망 학습 방법에 이용되는 데이터베이스를 설명하기 위한 도면이다.
도 2를 참조하면, 신경망 학습 방법에 이용되는 데이터베이스는 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 복수의 변형 이미지를 포함하는 변형 이미지군(20)을 포함할 수 있다.
한편, 최초의 데이터베이스는 복수의 정상 이미지와 복수의 변형 이미지를 포함하는 다양한 이미지로 구성될 수 있는데, 이러한 경우, 데이터베이스에서 복수의 정상 이미지가 추출되어 정상 이미지군(10)이 형성되고, 복수의 변형 이미지가 추출되어 변형 이미지군(20)이 형성될 수 있다. 이러한 정상 이미지군(10) 및 변형 이미지군(20)의 형성은 사용자의 입력에 의해 수행될 수 있다.
정상 이미지군(10)은 제1 정상 이미지(11), 제2 정상 이미지(12), 제3 정상 이미지(13), 제4 정상 이미지(14)를 포함할 수 있다. 변형 이미지군(20)은 제1 변형 이미지(21), 제2 변형 이미지(22), 제3 변형 이미지(23), 제4 변형 이미지(24)를 포함할 수 있다.
정상 이미지군(10)과 변형 이미지군(20) 각각에 포함된 이미지들은 서로 쌍일 수 있다. 예를 들어, 제1 변형 이미지(21)는 제1 정상 이미지(11)의 적어도 일부가 변형된 이미지로서, 제1 정상 이미지(11)와 쌍일 수 있다. 이와 마찬가지로, 제2 변형 이미지(22)는 제2 정상 이미지(12)와, 제3 변형 이미지(23)는 제3 정상 이미지(13)와, 제4 변형 이미지(24)는 제4 정상 이미지(14)와 서로 쌍일 수 있다.
이러한 정상 이미지군(10)과 변형 이미지군(20)의 쌍에 기초하여 신경망 학습 방법의 입력으로 이용되는 학습군(40)이 형성될 수 있고, 데이터베이스는 학습군(40)을 저장하고 있을 수 있다.
구체적으로, 도시된 바와 같이, 학습군(40)은 정상 이미지군(10)에서 적어도 1개의 정상 이미지(예를 들어, 제1 정상 이미지(11), 제3 정상 이미지(13))가 추출되어 학습군(40)에 포함됨 기초하여, 추출된 정상 이미지에 대응하는 변형 이미지(예를 들어, 제1 변형 이미지(21), 제3 변형 이미지(23))가 포함되도록 형성될 수 있다. 적어도 1개의 정상 이미지는 정상 이미지군(10)에서 랜덤하게 추출될 수 있다.
한편, 학습군(40)을 구성할 때 먼저 추출되는 이미지군은 정상 이미지군(10)에 제한되지 않고, 변형 이미지군(20)일 수도 있다. 즉, 변형 이미지군(20)에서 적어도 두 개의 변형 이미지가 먼저 추출되고 그에 대응하는 정상 이미지가 정상 이미지군(10)에서 추출될 수도 있다.
학습군(40)을 이용하여 신경망의 학습이 이루어질 수 있으며, 학습 시 마다 학습군(40)은 새롭게 형성될 수 있다. 예를 들어, 첫번째 학습에 이용되는 학습군에 포함되는 정상 이미지 및 변형 이미지와, 두번째 학습에 이용되는 학습군에 포함되는 정상 이미지와 변형 이미지는 서로 상이할 수 있다.
도 3은 본 발명의 일 실시예에 따른 신경망 학습 장치의 기능적 구성의 예를 나타내는 도면이다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 이하 도 3의 설명에서는 도 1 또는 도 2와 중복되는 내용이 생략될 수 있다.
도 3을 참조하면, 신경망 학습 장치(100)는 이미지군 추출부(110), 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)를 포함할 수 있다. 이미지군 추출부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 정상 이미지 추출부(120), 변형 이미지 추출부(130), 학습부(140)에 있어서도 같다.
이미지군 추출부(110)는 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)을 추출할 수 있다.
정상 이미지 추출부(120)는 정상 이미지군(10)에서 적어도 1개의 정상 이미지를 추출할 수 있고, 변형 이미지 추출부(130)는 추출된 적어도 1개의 정상 이미지(10) 각각에 대한 변형 이미지를 변형 이미지군(20)에서 추출할 수 있다.
학습부(140)는 추출된 정상 이미지와 변형 이미지를 이용하여 신경망을 학습시킬 수 있다. 구체적으로, 학습부(140)는 추출된 정상 이미지와 이에 대응하여 추출된 변형 이미지를 포함하는 학습군(40)을 생성하고, 생성된 학습군(40)을 신경망에 입력하여 신경망을 학습시킬 수 있다.
한편, 학습부(140)는 학습군을 이용하여 신경망을 학습하는 과정을 복수회 수행할 수 있다. 이러한 경우, 반복되는 학습 각각은 서로 다른 학습군에 의해 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 신경망 학습 방법의 각 단계의 흐름을 나타내는 도면이다. 또한, 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 4를 참조하면, 학습 데이터베이스에서 정상 이미지군(10)과 변형 이미지군(20)이 추출될 수 있다(S110). 학습 데이터베이스에는 다양한 이미지가 기저장되어 있을 수 있고, 그 중 복수의 정상 이미지를 포함하는 정상 이미지군(10)과 정상 이미지 각각에 대응하는 복수의 변형 이미지를 포함하는 변형 이미지군(20)이 추출될 수 있다.
정상 이미지는 이미지 획득 장치로 촬영한 이미지 자체일 수 있으며, 변형 이미지는 정상 이미지에 소정의 데이터가 삽입되거나, 정상 이미지의 일부가 변형된 이미지일 수 있다. 다만, 변형 이미지에 가해진 변형의 정도는 사람의 눈으로는 구분하기 어려울 정도의 미세한 차이일 수 있다.
한편, 정상 이미지와 변형 이미지 사이의 차이는 PSNR(peak signal to ratio)을 이용하여 표현될 수 있다. PSNR은 최대 신호 대 잡음비로, 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타낸 것일 수 있다. 영상 또는 동영상 손실 압축에서 화질 손실 정보를 평가할 때 사용되는 것일 수 있다. 일부 실시예에서는 이러한 정상 이미지와 관련하여 PSNR 값이 소정 값 이상으로 나타나는 이미지를 변형 이미지로 판별함으로써 변형 이미지군(20)이 생성되도록 할 수 있다.
경우에 따라, 정상 이미지와 변형 이미지의 차이는 MSE(mean square error)를 이용하여 표현될 수도 있다. MSE는 평균 제곱근 오편차(root mean square deviation, RMSD)를 이용하여 산출될 수 있고, MSE에 의해 산출된 값, 즉 정상 이미지와 변형 이미지의 차이를 나타내는 값은 잔차(residual)로 지칭될 수도 있다.
정상 이미지군(10)에서 적어도 1개의 정상 이미지가 추출될 수 있고(S120), 변형 이미지군(20)에서 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지가 추출될 수 있다(S130). 경우에 따라서, 변형 이미지군(20)에서 변형 이미지가 먼저 추출된 후, 정상 이미지군(10)에서 추출된 변형 이미지 각각에 대응하는 정상 이미지가 추출될 수도 있다.
정상 이미지와 변형 이미지를 이용하여 신경망이 학습될 수 있다(S140). 정상 이미지 및 변형 이미지가 추출되면, 이들을 포함하는 학습군(40)이 형성될 수 있고, 학습군(40)을 학습 데이터로 이용하여 신경망을 학습시킬 수 있다. 예를 들어, 학습군(40)을 신경망에 입력하여 출력값과 손실함수값을 계산한 뒤, 이를 이용하여 신경망을 학습시킬 수 있다. 여기서, 출력값과 손실함수값을 이용한 학습은 통상의 기술자에게 용이한바 자세한 설명은 생략하겠다.
상술한 학습군(40)을 이용하여 1회 학습이 수행되면, 새로운 데이터를 포함하는 학습군(40)이 생성될 수 있다. 여기서 새로운 데이터는 이미 이용된 학습군(40)에 포함되지 않는 정상 이미지 및 변형 이미지 중 적어도 일부를 포함할 수 있다. 즉, 학습에 이용된 정상 이미지 및 변형 이미지를 제외한 나머지 이미지들로 상술한 단계 S120 내지 단계 S140이 반복적으로 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 예를 나타내는 도면이다. 구체적으로, 도 5는 신경망에 대해 본 발명의 신경망 학습 방법을 이용하여 정상 이미지와 변형 이미지를 구분하도록 학습시키는 실험을 진행하였을 때 도출되는 학습 로스(loss)에 대한 실험 결과일 수 있다.
도 5를 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 학습 로스가 더욱 빠르게 감소하는 것을 볼 수 있다. 이는 학습의 효율이 높다는 것을 의미할 수 있다.
도 6은 본 발명의 일 실시예에 따른 신경망 학습 방법의 이미지 인식 실험 결과의 다른 예를 나타내는 도면이다. 구체적으로, 도 6은 본 발명의 신경망 학습 방법에 의해 학습된 신경망을 이용하여 정상 이미지와 변형 이미지를 구분하는 실험을 수행하였을 때 도출되는 신경망의 정확도를 나타내는 실험 결과일 수 있다.
도 6을 참조하면, 기존의 일반적인 학습에 비해, 본 발명의 신경망 학습 방법이 학습 반복 횟수가 많아질수록 정확도가 빠르게 증가하는 것을 볼 수 있다.
도 5 및 도 6에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 신경망 학습 방법 및 장치(100)는 정상 이미지와 그에 대응하는 변형 이미지로 구성된 학습군(40)을 이용하여 학습을 수행함으로써, 미세한 차이를 보다 잘 인식하는 방향으로 학습이 수행되고, 이에 따라 이미지의 미세한 변형을 보다 정확하며 효과적으로 분석할 수 있다. 이에 따라, 신경망 학습 방법 및 장치(100)는 이미지 포렌식 또는 이미지 스테그아날리시스와 같은 이미지 사이의 미세한 차이를 확인하기 위한 기술 분야에서 특히 유용하게 이용될 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 정상 이미지군
20: 변형 이미지군
30: 차이
40: 학습군
100: 신경망 학습 장치
110: 이미지군 추출부
120: 정상 이미지 추출부
130: 변형 이미지 추출부
140: 학습부
20: 변형 이미지군
30: 차이
40: 학습군
100: 신경망 학습 장치
110: 이미지군 추출부
120: 정상 이미지 추출부
130: 변형 이미지 추출부
140: 학습부
Claims (12)
- 신경망 학습 장치에 의해 수행되는 신경망(neural network) 학습 방법에 있어서,
복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군과 변형 이미지군을 추출하는 단계와,
상기 정상 이미지군에서 적어도 1개의 정상 이미지를 추출하는 단계와,
상기 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지를 상기 변형 이미지군에서 추출하는 단계와,
상기 추출된 정상 이미지와 변형 이미지를 이용하여 신경망을 학습시키는 단계를 포함하고,
상기 신경망을 학습하는 단계는,
상기 추출된 정상 이미지와 변형 이미지를 포함하는 학습군을 생성하는 단계와,
상기 학습군을 상기 신경망에 입력하는 단계와,
상기 추출된 정상 이미지와 변형 이미지를 상기 정상 이미지군 및 상기 변형 이미지군 각각에서 제외하는 단계와,
상기 추출된 정상 이미지 및 변형 이미지가 각각 제외된 정상 이미지군과 변형 이미지군을 이용하여 새로운 학습군을 생성하는 단계와,
상기 생성된 새로운 학습군을 이용하여 상기 신경망의 학습을 반복하는 단계를 포함하는
신경망 학습 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 변형 이미지의 PSNR(peak signal to noise ratio)이 소정 값 이상인
신경망 학습 방법. - 제1항에 있어서,
상기 변형 이미지는,
상기 정상 이미지의 적어도 일부가 변형된 이미지인
신경망 학습 방법. - 제1항에 있어서,
상기 변형 이미지는,
상기 정상 이미지에 소정의 데이터가 삽입된 이미지인
신경망 학습 방법. - 복수의 정상 이미지와 상기 복수의 정상 이미지 각각에 대한 변형 이미지를 포함하는 데이터베이스에서 정상 이미지군과 변형 이미지군을 추출하는 이미지군 추출부와,
상기 정상 이미지군에서 적어도 1개의 정상 이미지를 추출하는 정상 이미지 추출부와,
상기 추출된 적어도 1개의 정상 이미지 각각에 대한 변형 이미지를 상기 변형 이미지군에서 추출하는 변형 이미지 추출부와,
상기 추출된 정상 이미지와 변형 이미지를 이용하여 신경망(neural network)을 학습시키는 학습부를 포함하고,
상기 학습부는,
상기 추출된 정상 이미지와 변형 이미지를 포함하는 학습군을 생성하고, 상기 학습군을 상기 신경망에 입력하고, 상기 추출된 정상 이미지와 변형 이미지를 상기 정상 이미지군 및 상기 변형 이미지군 각각에서 제외하고, 상기 추출된 정상 이미지 및 변형 이미지가 각각 제외된 정상 이미지군과 변형 이미지군을 이용하여 새로운 학습군을 생성하며, 상기 생성된 새로운 학습군을 이용하여 상기 신경망의 학습을 반복하는
신경망 학습 장치. - 삭제
- 삭제
- 제7항에 있어서,
상기 변형 이미지의 PSNR(peak signal to noise ratio) 값이 소정 값 이상인
신경망 학습 장치. - 제7항에 있어서,
상기 변형 이미지는,
상기 정상 이미지의 적어도 일부가 변형된 이미지인
신경망 학습 장치. - 제7항에 있어서,
상기 변형 이미지는,
상기 정상 이미지에 소정의 데이터가 삽입된 이미지인
신경망 학습 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190008903A KR102223070B1 (ko) | 2019-01-23 | 2019-01-23 | 신경망 학습 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190008903A KR102223070B1 (ko) | 2019-01-23 | 2019-01-23 | 신경망 학습 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200094846A KR20200094846A (ko) | 2020-08-10 |
KR102223070B1 true KR102223070B1 (ko) | 2021-03-05 |
Family
ID=72049166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190008903A KR102223070B1 (ko) | 2019-01-23 | 2019-01-23 | 신경망 학습 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102223070B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102504862B1 (ko) * | 2020-11-09 | 2023-02-28 | 한양대학교 산학협력단 | 자율주행 자동차의 판단에 대한 근거 설명 모델 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659578B1 (ko) * | 2015-09-01 | 2016-09-23 | 삼성전자주식회사 | 자기 공명 영상 처리 방법 및 장치 |
KR101782363B1 (ko) | 2016-05-23 | 2017-09-27 | (주)에이앤아이 | 데이터 밸런싱을 통한 학습기반의 비전검사 방법 |
KR101916347B1 (ko) * | 2017-10-13 | 2018-11-08 | 주식회사 수아랩 | 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102029428B1 (ko) * | 2017-05-15 | 2019-10-07 | 한국항공우주연구원 | 기계학습 장치 및 방법 |
KR101779782B1 (ko) | 2017-05-26 | 2017-10-11 | 수퍼빈 주식회사 | 인공신경망 분석에 근거한 복합적 물체 인식 시스템 및 방법 |
-
2019
- 2019-01-23 KR KR1020190008903A patent/KR102223070B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659578B1 (ko) * | 2015-09-01 | 2016-09-23 | 삼성전자주식회사 | 자기 공명 영상 처리 방법 및 장치 |
KR101782363B1 (ko) | 2016-05-23 | 2017-09-27 | (주)에이앤아이 | 데이터 밸런싱을 통한 학습기반의 비전검사 방법 |
KR101916347B1 (ko) * | 2017-10-13 | 2018-11-08 | 주식회사 수아랩 | 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20200094846A (ko) | 2020-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626371B (zh) | 一种图像分类方法、装置、设备及可读存储介质 | |
US9582710B2 (en) | Method and apparatus for generating strong classifier for face detection | |
CN109214973B (zh) | 针对隐写分析神经网络的对抗安全载体生成方法 | |
CN107608877B (zh) | 一种基于机器学习的自动化应用程序界面测试方法和测试*** | |
Wenchang et al. | Improving image copy-move forgery detection with particle swarm optimization techniques | |
CN111475797A (zh) | 一种对抗图像生成方法、装置、设备以及可读存储介质 | |
DE102008052928A1 (de) | Vorrichtung, Verfahren und Computerprogramm zur Erkennung einer Geste in einem Bild, sowie Vorrichtung, Verfahren und Computerprogramm zur Steuerung eines Geräts | |
Liu et al. | Deep fusion network for splicing forgery localization | |
Al-Nima et al. | Regenerating face images from multi-spectral palm images using multiple fusion methods | |
JP2021068056A (ja) | 路上障害物検知装置、路上障害物検知方法、及び路上障害物検知プログラム | |
CN108520263B (zh) | 一种全景图像的识别方法、***及计算机存储介质 | |
CN111311550B (zh) | 伪造证件的识别方法、装置及电子设备 | |
Vo et al. | Abn: Agent-aware boundary networks for temporal action proposal generation | |
KR102223070B1 (ko) | 신경망 학습 방법 및 장치 | |
CN111553241A (zh) | 掌纹的误匹配点剔除方法、装置、设备及存储介质 | |
CN111291780B (zh) | 一种跨域网络训练及图像识别方法 | |
CN113544735A (zh) | 人认证设备、控制方法和程序 | |
KR101360063B1 (ko) | 제스처 인식 방법 및 시스템 | |
CN111353332B (zh) | 指纹图像处理方法、装置和计算机可读存储介质 | |
JP2020046736A (ja) | 画像処理装置及びプログラム | |
CN114004974A (zh) | 对弱光环境下拍摄的图像的优化方法及装置 | |
Rezende et al. | An approach for Brazilian Sign Language (BSL) recognition based on facial expression and k-NN classifier | |
JP2014013469A (ja) | 画像処理装置 | |
Panwar et al. | CHGR: Captcha generation using Hand Gesture Recognition | |
Malach et al. | Face templates creation for surveillance face recognition system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |