KR20200063304A - 객체 검출 훈련 방법 - Google Patents

객체 검출 훈련 방법 Download PDF

Info

Publication number
KR20200063304A
KR20200063304A KR1020180142837A KR20180142837A KR20200063304A KR 20200063304 A KR20200063304 A KR 20200063304A KR 1020180142837 A KR1020180142837 A KR 1020180142837A KR 20180142837 A KR20180142837 A KR 20180142837A KR 20200063304 A KR20200063304 A KR 20200063304A
Authority
KR
South Korea
Prior art keywords
loss function
region
error
model
occupied
Prior art date
Application number
KR1020180142837A
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 한국과학기술원
Priority to KR1020180142837A priority Critical patent/KR20200063304A/ko
Publication of KR20200063304A publication Critical patent/KR20200063304A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따른 객체 검출 훈련 방법은, 객체 탐색기 모델의 훈련을 위한 이미지를 입력받는 단계와, 입력된 상기 이미지로부터 기 설정된 개수의 후보 영역들을 계산하는 단계와, 계산된 상기 후보 영역들이 객체를 점유했는지의 여부를 판단하는 단계와, 상기 객체의 점유 여부에 기반하여 손실함수를 계산하는 단계와, 계산된 상기 손실함수를 상기 객체 탐색기 모델에 반영하는 단계를 포함할 수 있다.

Description

객체 검출 훈련 방법{METHOD FOR TRAINING DETECTION OF OBJECT}
본 발명은 객체 검출을 훈련하는 기법에 관한 것으로, 더욱 상세하게는 교차 영역 기반의 손실함수 계산을 통해 객체 검출기의 빠른 속도를 유지하면서 성능을 향상시킬 수 있는 객체 검출 훈련 방법에 관한 것이다.
객체 검출은 영상 내의 목표로 하는 객체를 찾아내고 종류를 구분하는 문제이며, 컴퓨터 비전 분야에서 핵심적인 문제 중 하나이다. 특히, 수많은 분야에서 객체 검출 기술을 응용하기 때문에 빠르고 좋은 객체 검출기는 필요하다.
객체 검출기는 하나의 심층 신경망(deep neural network)으로 객체의 영역 예상과 객체 종류 구분을 동시에 수행한다.
그리고, 객체 검출기는 하나의 심층 구조로 객체의 영역과 종류를 동시에 구분해야 하기 때문에 영역 예측에 관한 오류와 종류 구분에 관한 오류를 하나의 손실함수로 다루어야 한다.
간단하게 두 오류를 더한 식을 손실함수로 사용하면 하나의 손실함수로 두 오류를 고려할 수 있다.
객체 검출기는 격자 영역으로부터 정해진 개수의 경계 상자를 예측하는데, 영상의 모든 곳에 격자 영역이 있기 때문에 객체가 없는 격자 영역이 있을 수 있고, 이 격자 영역에서도 모델은 경계 상자를 예측한다.
이 경계 상자의 경우 영역 오류보다 종류 구분 오류로 다룬다.
객체가 실제로 존재할 때 예측한 영역과 실제 영역을 비교할 수 있기 때문에 영역 예측 오류는 객체의 영역을 가장 잘 예측한 경계 상자들로만 계산한다.
위치와 크기에 대한 오류로는 L1 오류, L2 오류 등이 사용될 수 있으며, 종류 구분 오류는 모든 경계 상자들에 대해 계산될 수 있다.
클래스일 확률에 대한 오류로는 소프트맥스(softmax) 함수나 L2 오류 등이 사용될 수 있다.
일본공개특허공보 특개2016-058079호(공개일 : 2016. 04. 21.)
본 발명은 교차 영역 기반의 손실함수 계산을 통해 객체 검출기의 빠른 속도를 유지하면서 성능을 향상시킬 수 있는 객체 검출 훈련 방법을 제안하고자 한다.
본 발명은, 교차 영역 기반의 손실함수 계산을 통해 객체 검출기의 빠른 속도를 유지하면서 성능을 향상시킬 수 있는 객체 검출 훈련 방법을 프로세서가 수행하도록 하는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공하고자 한다.
본 발명은, 교차 영역 기반의 손실함수 계산을 통해 객체 검출기의 빠른 속도를 유지하면서 성능을 향상시킬 수 있는 객체 검출 훈련 방법을 프로세서가 수행할 수 있도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 객체 탐색기 모델의 훈련을 위한 이미지를 입력받는 단계와, 입력된 상기 이미지로부터 기 설정된 개수의 후보 영역들을 계산하는 단계와, 계산된 상기 후보 영역들이 객체를 점유했는지의 여부를 판단하는 단계와, 상기 객체의 점유 여부에 기반하여 손실함수를 계산하는 단계와, 계산된 상기 손실함수를 상기 객체 탐색기 모델에 반영하는 단계를 포함하는 객체 검출 훈련 방법을 제공할 수 있다.
본 발명의 상기 손실함수를 계산하는 단계는, 상기 객체를 점유한 후보 영역에는 점유한 객체의 영역과 비교하여 영역 오류와 종류 구분 오류를 계산하고, 상기 객체를 점유하지 못한 후보 영역에는 배경과 비교하여 종류 구분 오류를 계산할 수 있다.
본 발명의 상기 반영하는 단계는, 딥 러닝 기반 모델을 위한 오류 역전파 알고리즘을 사용할 수 있다.
본 발명의 실시예에 따르면, 교차 영역 기반의 손실함수 계산을 통해 객체 검출기의 빠른 속도를 유지하면서 성능을 향상시킬 수 있으며, 이를 통해 훈련 과정에서 오답을 억제하고 경계 상자가 객체 영역을 더 잘 검출하게 훈련을 유도함으로써 객체 검출기의 성능을 향상시킬 수 있다.
도 1은 객체 영역을 잘 예상한 경계 상자(a)와 객체 영역을 잘 예상하지 못한 경계 상자(b)를 각각 보여주는 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 객체 검출 훈련 장치의 블록 구성도이다.
도 3은 본 발명의 실시예에 따라 교차 영역 기반의 손실함수 계산을 통해 객체 검출을 훈련하는 주요 과정을 도시한 순서도이다.
도 4는 이미지를 격자 영역으로 나누고, 각 영역으로부터 예측해야 할 종류별로 정해진 개수만큼 후보 영역을 계산하는 예시를 설명하기 위한 예시도이다.
도 5는 YOLO [2]모델의 구조도이다.
도 6은 각 훈련된 객체 탐지기들의 학습 정보의 예시이다.
도 7은 수정된 VOC 2012 데이터 셋에서 훈련된 객체 탐지기들의 성능이다.
도 8은 사람 트래킹(People Tracking) 데이터 셋에서 훈련된 객체 탐지기들의 성능이다.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
종류 구분 오류의 문제점은, 객체의 영역을 어느 정도 잘 예상한 경계 상자와 객체의 영역을 잘 예상하지 못한 경계 상자에 동일한 수준의 오류를 적용한다는 것이다.
도 1은 객체 영역을 잘 예상한 경계 상자(a)와 객체 영역을 잘 예상하지 못한 경계 상자(b)를 각각 보여준다.
도 1에서와 같이 객체 영역을 어느 정도 잘 예상한 경계 상자(a)와 잘 예상하지 못한 경계 상자(b)가 같은 클래스 확률을 예상했다면 같은 수준의 페널티를 받는다.
전자의 경우 객체의 영역을 잘 예상했으나 경계를 더욱 잘 예상한 상자 때문에 그 객체를 점유하지 못한 경우일 수 있고, 어느 정도 객체를 맞췄기 때문에 오답이 아닐 확률이 크며, 다른 객체의 영역을 잘 맞출 수 있는 가능성이 있기 때문에 예측된 클래스 확률에 종류 구분 오류를 적게 주어야한다.
반대로 후자의 경우 배경 영역을 예측하여 오답일 확률이 크므로 클래스 확률에 더 큰 오류를 주어야한다.
그러므로, 객체의 영역을 어느 정도 잘 예상한 경계 상자보다 객체의 영역을 잘 예상하지 못한 경계 상자에 더 큰 구분 오류를 적용하는 것이 합당하다.
여기에서, 기존 종류 구분 오류는 단순히 예측한 클래스 확률로만 계산하기 때문에 객체를 얼마나 잘 예측했든 손실함수를 계산할 때 같은 값이 나오게 된다.
즉, 종류 구분 오류는 각 예측된 경계 상자에 주어야 하는 종류에 관한 오류인 것으로, 객체 검출 모델은 어떤 종류일 확률을 계산하며, 훈련 과정에서 이 값이 실제 값과 다를 경우, 손실함수를 통해 이를 계산하고 모델에 반영하여 이를 학습시켜야 한다.
그리고, 더 큰 오류를 주어야 한다는 것은 같은 클래스 확률을 예측 했더라도 더 객체의 경계를 잘 예측한 경계 상자보다 객체의 경계를 예측하지 못한 경계 상자의 손실함수로 계산한 값이 더 커야 한다는 것을 의미한다.
또한, 객체의 경계를 예측하지 못한 경계 상자는 예측을 잘 못했기 때문에, 경계를 잘 예측한 경계 상자보다 종류 구분에 관한 오류가 더 커서 더 많은 변화가 있어야 하기 때문에 더 큰 구분 오류를 적용한다.
여기에서, 아래의 수학식 1에서와 같이, 객체의 영역을 잘 예측한 경계 상자에는 예측한 클래스 신뢰도가 작은 정도만큼(1 - p), 객체의 영역을 예측하지 못한 오답 경계 상자에는 예측한 클래스 신뢰도가 큰 정도만큼(p) 오류를 줄 수 있다.
[수학식 1]
Figure pat00001
객체의 영역을 얼마나 잘 예상했는지 확인할 수 있는 수치로 IOU가 사용될 수 있다. IOU가 높을수록 객체와의 교차 영역이 크므로 객체 영역을 잘 예상했다고 볼 수 있기 때문이다. 여기에서, IOU는 두 영역 상자의 교차 영역을 두 영역 상자가 차지한 넓이로 나눈 값이므로 IOU가 높을수록 교차 영역이 크다.
같은 클래스일 확률 수치를 예측했더라도, 객체와의 IOU가 높은 경계 상자는 적은 페널티를, 낮은 IOU를 가진 경계 상자는 많은 페널티를 주어야한다.
즉, 적은 페널티를 주는 것은 한 객체를 어느 정도 잘 예측한 상자이므로 종류 오류에 대해 더 작은 변화가 있어야 하기 때문이고, 많은 페널티를 주는 것은 한 객체를 잘 예측하지 못한 상자이므로 종류 오류에 대해 더 많은 변화가 있어야 하기 때문이다.
이는 종류 구분 오류의 두 번째 항에 곱하여 구현할 수 있다. 제안하는 손실함수의 분류에 대한 오류는 다음의 수학식 2와 같다.
[수학식 2]
Figure pat00002
도 2는 본 발명의 일 실시 예에 따른 객체 검출 훈련 장치의 블록 구성도로서, 이미지 입력부(202), 후보 영역 계산부(204), 객체 점유 판단부(206), 손실함수 계산부(208) 및 모델 반영부(210) 등을 포함할 수 있다.
도 2를 참조하면, 이미지 입력부(202)는 사용자의 인터페이스에 따라 객체 탐색기 모델의 훈련을 위한 이미지를 입력받는 등의 기능을 제공할 수 있다.
즉, 훈련을 위해서는 입력된 이미지에 포함된 객체들의 종류와 영역을 알고 있어야 하는데, 이것은 훈련의 효율을 위해 이미지를 회전시키거나 크기를 바꾸고, 색감을 조절하는 등 이미지 변환이 적용될 수 있기 때문이다.
이것은 모델(피훈련자)을 훈련시키는 훈련자가 알고 있어야 함을 의미하는데, 이때 훈련자는 이 훈련 과정을 진행하는 주체(예컨대, 컴퓨터 프로그램)를 의미한다. 훈련 과정에서 훈련자는 (1)이미지를 모델에 입력하고, (2)모델이 예측한 결과를 실제 정답과 비교하여 차이를 계산하며, (3)이를 피훈련자에 반영하는 등의 기능을 제공할 수 있다.
그리고, 입력 이미지의 다양성을 위해 훈련자가 정해진 방법으로 이미지를 변환할 수 있는데, 만일 훈련시키는 주체가 사람이라면 직접 이미지를 변형하겠지만, 훈련 과정은 주로 컴퓨터 프로그램에 의해 자동화되어 있기 때문에 정해진 알고리즘에 따라 변형할 수 있다.
다음에, 후보 영역 계산부(204)는 이미지 입력부(202)를 통해 입력된 이미지로부터 기 설정된 개수의 후보 영역들을 계산, 즉 현재 모델을 사용하여 입력된 이미지로부터 후보 영역들을 계산하는 등을 기능을 제공할 수 있다. 즉, 객체 탐지기 모델은 이미지에서 정해진 수의 후보 영역과 종류를 계산할 수 있다.
여기에서, 후보 영역을 계산하는 방법은 객체 탐지기 모델에 따라 다를 수 있으나, 일반적으로 CNN 기반 딥 러닝 모델이며, 정해진 수의 후보 영역을 계산하는 것은 동일하다.
예컨대, 객체 탐지기 모델 중 하나인 YOLOv2를 예로 들면, 이 모델은 이미지를 격자 영역으로 나누고, 각 영역으로부터 예측해야 할 종류별로 정해진 개수만큼 후보 영역을 계산하도록 설계될 수 있다. 이때 각 격자 영역에 포함된 후보 영역은 중심이 그 격자 영역에 포함되어 있다.
즉, 도 4를 참조하면, 이미지는 4x4개의 격자 영역으로 나뉘어 있고, 검은색으로 칠해진 격자 영역에서 빨간색 점선과 파란색 점선의 후보 영역 두개를 예측할 수 있으며, 이 경우 후보 영역은 4x4x2 = 32개가 된다.
구체적인 수치를 예로 들면, YOLOv2 모델 중 하나인 YOLOv2 608x608은 80개의 객체 종류 각각으로부터 정해진 크기의 이미지를 입력받아 19x19x5개의 후보 영역을 계산할 수 있다.
다음에, 객체 점유 판단부(206)는 후보 영역 계산부(204)를 통해 계산된 후보 영역들이 객체를 점유했는지의 여부를 판단하는 등의 기능을 제공할 수 있다.
즉, 이미지 내 객체를 가장 잘 예측한 후보 영역만 객체를 점유하였다고 판단할 수 있는데, 객체를 얼마나 잘 예측했는지를 계산하기 위해 IOU가 사용될 수 있다.
여기에서, IOU는 자카드 지수(Jaccard index)의 일종으로, 두 경계 상자가 얼마나 겹쳐 있는지를 수치로 나타낸 것으로, 이러한 IOU는 아래의 수학식 3과 같이 계산될 수 있으며, 두 상자 A, B가 차지하는 넓이로 A와 B가 교차하는 영역의 넓이를 나눈 값을 의미할 수 있다.
[수학식 3]
Figure pat00003
다음에, 손실함수 계산부(208)는 객체의 점유 여부에 기반하여, 아래의 수학식 4에서와 같이, 손실함수를 계산하는 등의 기능을 제공할 수 있다.
[수학식 4]
loss(Localization =
Figure pat00004
L(dxb, dyb, dwb, dhb)
수학식 4에 있어서, b∈Pos는 객체를 예측했다고 고려되는 경계 상자에 대해서만 이 식을 계산한다는 의미이고,
Figure pat00005
는 객체를 예측했다고 고려되는 각 경계 상자들의 오류를 모두 더한다는 의미이며, L(dxb, dyb, dwb, dhb)은 후보 영역과 실제 정답과 비교한 손실을 나타낸다. 이때, dxb, dyb, dwb, dhb는 각각 후보 영역의 가로 위치, 세로 위치, 가로 길이, 세로 길이에 대한 실제 정답과 차이를 의미하며, L은 오류 계산 함수를 의미한다. 여기에서, 오류 계산 함수로는 다양한 함수가 사용될 수 있다.
즉, 수학식 4를 참조하면, 손실함수 계산부(208)는 위치 예측에 관한 손실을 계산할 수 있다. 즉, 수학식 4는 객체를 점유한 후보 영역, 즉 객체를 예측했다고 고려되는 경계 상자에 대해서 실제 정답과 비교했을 때 얼마나 영역(위치, 상자 크기) 예측을 잘못(오류)했는지 계산하기 위한 식이다. 각 후보 영역별로 실제 정답과 차이를 계산하고, 이들을 모두 합하여 구할 수 있다.
보다 상세하게, 손실함수 계산부(208)는 객체를 점유한 후보 영역에는 점유한 객체의 영역과 비교하여 영역 오류와 종류 구분 오류를 계산하고, 객체를 점유하지 못한 후보 영역에는 배경과 비교하여 종류 구분 오류를 계산하는데, 이때 IOU를 사용하여 객체를 얼마나 잘 예측한 정도를 반영할 수 있다.
아래의 수학식 5는 객체 검출 모델인 Yolov2와 SSD에 대한 손실함수이다.
[수학식 5]
Figure pat00006
수학식 5에 있어서, 오류 계산 함수로 Yolov2는 가로 위치, 세로 위치의 경우 차이의 제곱의 합, 가로 길이, 세로 길이의 경우 제곱근의 차이의 제곱을 사용하고, SSD는 L1 오류를 사용한다.
종류 구분 오류는 모든 후보 영역에 대해 종류 구분 오류를 계산, 즉 전술한 수학식 1에서와 같이 각 경계 상자가 예측한 종류를 실제 정답과 비교했을 때 얼마나 예측을 잘못했는지를 계산한다.
여기에서, 객체를 점유한 경계 상자는 객체를 예측했다고, 객체를 점유하지 못한 경계 상자는 배경을 예측했다고 고려된다. 따라서, 객체를 점유한 경계 상자는 1에서 뺀 값을, 객체를 점유하지 못한 경계 상자는 그 값 그대로 오류 계산 함수에 넣어 계산하는데, 종류 구분 오류에 대한 오류 계산 함수로 YOLOv2는 L2 오류를, SSD는 소프트맥스(softmax) 함수를 사용할 수 있다.
기존 손실 함수는 객체를 점유하지 못할 경우 객체를 얼마나 잘 예측했는지 고려하지 않고 손실값으로 페널티를 받게 되는데, 객체를 점유하지 못했더라도 객체를 잘 예측했다면 객체를 잘 예측하지 못한 경계 상자보다 낮은 페널티를 받아야 한다. 객체를 얼마나 잘 예측했는지에 대한 수치로 IOU가 사용될 수 있다.
손실 함수에 f(max(ICU)b)항을 추가로 계산하여 이를 고려하는데, max(ICU)는 경계 상자가 실제 객체와 가지는 가장 큰 IOU 값이다. f는 입력값에 반비례한 함수이다. 이 항을 추가하여 객체를 잘 예측할수록, IOU가 높을수록 작은 손실값을 가지게 되어 상대적으로 적은 페널티를 준다.
그리고, 모델 반영부(210)는 손실함수 계산부(208)를 통해 계산된 손실함수를 객체 탐색기 모델에 반영하는 등의 기능을 제공할 수 있는데, 딥 러닝 기반 모델에 널리 사용되는 오류 역전파 알고리즘 등이 사용될 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 실시예의 객체 검출 훈련 장치를 이용하여 교차 영역 기반의 손실함수 계산을 통해 객체 검출 훈련을 실시하는 일련의 과정들에 대하여 상세하게 설명한다.
도 3은 본 발명의 실시예에 따라 교차 영역 기반의 손실함수 계산을 통해 객체 검출을 훈련하는 주요 과정을 도시한 순서도이다.
도 3을 참조하면, 이미지 입력부(202)에서는 사용자의 인터페이스에 따라 객체 탐색기 모델의 훈련을 위한 이미지를 입력받는다(단계 302). 이때, 훈련을 위해서는 입력된 이미지에 포함된 객체들의 종류와 영역을 알고 있어야 하는데, 이것은 훈련의 효율을 위해 이미지를 회전시키거나 크기를 바꾸고, 색감을 조절하는 등 이미지 변환이 적용될 수 있기 때문이다.
이어서, 후보 영역 계산부(204)에서는 이미지 입력부(202)를 통해 입력된 이미지로부터 기 설정된 개수의 후보 영역들을 계산, 즉 현재 모델을 사용하여 입력된 이미지로부터 후보 영역들을 계산한다(단계 304).
다음에, 객체 점유 판단부(206)에서는 후보 영역 계산부(204)를 통해 계산된 후보 영역들이 객체를 점유했는지의 여부를 판단한다(단계 306). 즉, 이미지 내 객체를 가장 잘 예측한 후보 영역만 객체를 점유하였다고 판단할 수 있는데, 객체를 얼마나 잘 예측했는지를 계산하기 위해 IOU가 사용될 수 있다.
이후, 손실함수 계산부(208)에서는 객체의 점유 여부에 기반하여, 전술한 수학식 4에서와 같이, 손실함수를 계산한다(단계 308).
즉, 손실함수 계산부(208)에서는 위치 예측에 관한 손실을 계산할 수 있다. 전술한 수학식 4를 참조하면, 객체를 점유한 후보 영역, 즉 객체를 예측했다고 고려되는 경계 상자에 대해서 실제 정답과 비교했을 때 얼마나 영역(위치, 상자 크기) 예측을 잘못(오류)했는지 계산하고, 각 후보 영역별로 실제 정답과 차이를 계산하며, 이들을 모두 합하여 구할 수 있다.
보다 상세하게, 손실함수 계산부(208)에서는 객체를 점유한 후보 영역에는 점유한 객체의 영역과 비교하여 영역 오류와 종류 구분 오류를 계산하고, 객체를 점유하지 못한 후보 영역에는 배경과 비교하여 종류 구분 오류를 계산할 수 있다.
다음에, 모델 반영부(210)에서는 손실함수 계산부(208)를 통해 계산된 손실함수를 객체 탐색기 모델에 반영시키는데(단계 310), 이를 위해 딥 러닝 기반 모델에 널리 사용되는 오류 역전파 알고리즘 등이 사용될 수 있다.
[실험예]
도 5는 YOLO [2]모델의 구조도이다.
도 5를 참조하면, 제시한 IOU 기반 손실함수를 실제 모델의 손실함수에 적용하여 새로운 손실함수로 모델을 훈련하였다.
YOLO [1]를 개선한 모델인 YOLO v2 [1]모델은 우수한 성능과 빠른 속도, 쉬운 구조 수정 등 많은 장점이 있기 때문에 새로운 손실함수를 적용할 실제 모델로 YOLO v2를 선택하였다.
YOLO v2모델의 손실함수는 아래의 수학식 6과 같다.
[수학식 6]
Figure pat00007
그리고, 교차 영역 기반 손실 함수가 적용된 YOLO v2 모델의 종류 구분 오류는 아래의 수학식 7과 같다.
[수학식 7]
Figure pat00008
YOLO v2 모델을 기반으로 사람과 얼굴을 구분하는 검출기를 새롭게 훈련시키킬 수 있으며, 기반이 되는 YOLO v2 구조로는 608ㅧ608과 416ㅧ416 두 개를 사용하였다.
두 개의 YOLO v2 구조와 두 개의 손실함수, 총 네 개의 새로운 검출기를 훈련하고 성능을 비교하여 새로운 손실 함수를 검증하였으며, 모델 훈련과 검증을 위한 데이터 셋은 다음과 같다.
PASCAL Visual Object Classes Challenge [3] 2012 Dataset
* 사람 클래스가 객체가 더 엄격하게 라벨링 됨
* 얼굴 클래스 객체의 경계 상자가 추가된 수정 버전
* 8839장의 영상, 11296개의 얼굴과 21190개의 사람의 경계 상자
* 80%을 무작위로 선택하여 훈련으로, 남은 20%을 성능 평가 데이터 셋으로 사용
People Tracking Dataset [4]
* 6313장의 영상, 5345개의 사람의 경계 상자
* 모두 성능 평가 데이터 셋으로 사용
모델 훈련을 위한 컴퓨터 환경은 다음과 같다.
CPU: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
GPU: NVIDIA GeForce GTX 1080 Ti
RAM: 32874128kB(32.87GB)
Framework: Python3, Tensorflow1.5.0
각 모델은 동일한 환경에서 훈련되었으며, 각 객체 탐지기의 마지막 계층을 제외한 계층들은 기존 모델의 웨이트(weight)로 초기화하고, 마지막 계층은 새롭게 훈련하였다.
각 훈련된 객체 탐지기들의 학습 정보는 도 6의 표와 같으며, 실험 결과는 도 7 및 도 8의 표와 같다. 제안한 손실함수를 사용한 모델이 기존 손실함수를 사용한 모델보다 성능 우위를 점하는 것을 분명하게 확인할 수 있었다.
즉, 도 7의 표는 수정된 VOC 2012 데이터 셋에서 훈련된 객체 탐지기들의 성능을 보여주고, 도 8의 표는 사람 트래킹(People Tracking) 데이터 셋에서 훈련된 객체 탐지기들의 성능을 보여준다.
한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
202 : 이미지 입력부
204 : 후보 영역 계산부
206 : 객체 점유 판단부
208 : 손실함수 계산부
210 : 모델 반영부

Claims (3)

  1. 객체 탐색기 모델의 훈련을 위한 이미지를 입력받는 단계와,
    입력된 상기 이미지로부터 기 설정된 개수의 후보 영역들을 계산하는 단계와,
    계산된 상기 후보 영역들이 객체를 점유했는지의 여부를 판단하는 단계와,
    상기 객체의 점유 여부에 기반하여 손실함수를 계산하는 단계와,
    계산된 상기 손실함수를 상기 객체 탐색기 모델에 반영하는 단계
    를 포함하는 객체 검출 훈련 방법.
  2. 제 1 항에 있어서,
    상기 손실함수를 계산하는 단계는,
    상기 객체를 점유한 후보 영역에는 점유한 객체의 영역과 비교하여 영역 오류와 종류 구분 오류를 계산하고, 상기 객체를 점유하지 못한 후보 영역에는 배경과 비교하여 종류 구분 오류를 계산하는
    객체 검출 훈련 방법.
  3. 제 1 항에 있어서,
    상기 반영하는 단계는,
    딥 러닝 기반 모델을 위한 오류 역전파 알고리즘을 사용하는
    객체 검출 훈련 방법.
KR1020180142837A 2018-11-19 2018-11-19 객체 검출 훈련 방법 KR20200063304A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180142837A KR20200063304A (ko) 2018-11-19 2018-11-19 객체 검출 훈련 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180142837A KR20200063304A (ko) 2018-11-19 2018-11-19 객체 검출 훈련 방법

Publications (1)

Publication Number Publication Date
KR20200063304A true KR20200063304A (ko) 2020-06-05

Family

ID=71088856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142837A KR20200063304A (ko) 2018-11-19 2018-11-19 객체 검출 훈련 방법

Country Status (1)

Country Link
KR (1) KR20200063304A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113283418A (zh) * 2021-04-15 2021-08-20 南京大学 一种文本检测攻击方法
KR102378887B1 (ko) * 2021-02-15 2022-03-25 인하대학교 산학협력단 객체 탐지에서의 둘레기반 IoU 손실함수를 통한 효율적인 바운딩 박스 회귀 학습 방법 및 장치
KR20230003769A (ko) * 2021-06-30 2023-01-06 연세대학교 산학협력단 객체 위치 검출 장치, 객체 위치 검출 방법 및 객체 위치 검출 방법을 실행시키도록 기록매체에 저장된 컴퓨터 프로그램
WO2023128323A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 목표 객체를 검출하는 전자 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016058079A (ja) 2014-09-04 2016-04-21 ゼロックス コーポレイションXerox Corporation クラス事前確率を用いる画像分類のドメイン適応化

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016058079A (ja) 2014-09-04 2016-04-21 ゼロックス コーポレイションXerox Corporation クラス事前確率を用いる画像分類のドメイン適応化

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102378887B1 (ko) * 2021-02-15 2022-03-25 인하대학교 산학협력단 객체 탐지에서의 둘레기반 IoU 손실함수를 통한 효율적인 바운딩 박스 회귀 학습 방법 및 장치
CN113283418A (zh) * 2021-04-15 2021-08-20 南京大学 一种文本检测攻击方法
CN113283418B (zh) * 2021-04-15 2024-04-09 南京大学 一种文本检测攻击方法
KR20230003769A (ko) * 2021-06-30 2023-01-06 연세대학교 산학협력단 객체 위치 검출 장치, 객체 위치 검출 방법 및 객체 위치 검출 방법을 실행시키도록 기록매체에 저장된 컴퓨터 프로그램
WO2023128323A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 목표 객체를 검출하는 전자 장치 및 방법

Similar Documents

Publication Publication Date Title
AU2017437537B2 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
Pei et al. Towards practical verification of machine learning: The case of computer vision systems
KR20200063304A (ko) 객체 검출 훈련 방법
CN105912990B (zh) 人脸检测的方法及装置
EP3598288A1 (en) System and method for generating photorealistic synthetic images based on semantic information
US10539881B1 (en) Generation of hotspot-containing physical design layout patterns
CN111008631B (zh) 图像的关联方法及装置、存储介质和电子装置
JP2023536025A (ja) 路車協調における目標検出方法、装置及び路側機器
CN107832794A (zh) 一种卷积神经网络生成方法、车系识别方法及计算设备
KR20190070702A (ko) 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법
Zhang et al. From trees to forest: relational complexity network and workload of air traffic controllers
JP2023506169A (ja) 視覚入力に対する形式的安全シンボリック強化学習
CN106447071A (zh) 一种应用于视频监控场景的路径预测方法
US11636331B2 (en) User explanation guided machine learning
US20230169176A1 (en) Graph exploration framework for adversarial example generation
Cai et al. Stereo attention cross-decoupling fusion-guided federated neural learning for hyperspectral image classification
Gluschenko et al. Analysis of the problems of ensuring information security of the megalopolis
US20220414504A1 (en) Identifying traits of partitioned group from imbalanced dataset
CN114898454A (zh) 一种神经网络模型的训练方法、装置、电子设备及介质
CN111652102B (zh) 一种输电通道目标物辨识方法及系统
CN114707017A (zh) 视觉问答方法、装置、电子设备和存储介质
CN109145379B (zh) 一种建筑物层高图智能化绘制系统及管理方法
Neelofar et al. Identifying and Explaining Safety-critical Scenarios for Autonomous Vehicles via Key Features
CN110490235A (zh) 一种面向2d图像的车辆对象视点预测与三维模型恢复方法及装置
KR102551873B1 (ko) 레이블링 하기 위한 데이터를 선택적으로 추출하기 위한 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체