Skip to content

πŸ–Ό 산학연계 - νŠΉν—ˆ μœ μ‚¬λ„ 뢄석 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜

Notifications You must be signed in to change notification settings

sohnjunior/Patent-Attorney

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Patent Attorney

πŸ’‘ ν”„λ‘œμ νŠΈ μ†Œκ°œ

2020 학년도 μ‚°ν•™ 연계 ν”„λ‘œμ νŠΈ ꡐ과λͺ©μ—μ„œ μ§„ν–‰ν•œ AI μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•œ 이미지 μœ μ‚¬λ„ μΈ‘μ • ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

κ΅¬μ²΄μ μœΌλ‘œλŠ” νŠΉν—ˆ 이미지(μƒν‘œ 및 λ””μžμΈ) μœ μ‚¬λ„ 뢄석 을 주제둜 κ°œλ°œμ„ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ μžμ‹ μ΄ λ“±λ‘ν•˜κ³ μž ν•˜λŠ” μƒν‘œ ν˜Ήμ€ λ””μžμΈ 이미지λ₯Ό μ—…λ‘œλ“œν•˜λ©΄

ν•΄λ‹Ή μ›Ή μ„œλΉ„μŠ€μ—μ„œ 사전에 νŠΉν—ˆκ°€ λ“±λ‘λœ 정보듀 쀑 μœ μ‚¬ν•œ 것이 μžˆλŠ”μ§€ μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

이λ₯Ό 톡해 νŠΉν—ˆ 이미지 μœ μ‚¬λ„ 츑정에 λŒ€ν•œ 객관성 μ§€ν‘œλ₯Ό μ–»κ³  μœ μ‚¬λ„ νŒλ³„μ— μ†Œμš”λ˜λŠ” μ‹œκ°„μ„ λ‹¨μΆ•ν•˜μ—¬

λΆˆν•„μš”ν•œ 인λ ₯ λ‚­λΉ„λ₯Ό μ΅œμ†Œν™”ν•˜κ³ μž ν•΄λ‹Ή ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

βš™οΈ 개발 ν™˜κ²½

1

🎯 μ£Όμš” μŠ€νŽ™ 및 μ•Œκ³ λ¦¬μ¦˜

Deep Ranking μ•Œκ³ λ¦¬μ¦˜

Deep Ranking μ•Œκ³ λ¦¬μ¦˜ κ°œμš”

Deep-Ranking 은 2014λ…„ CVPRμ—μ„œ "Learning Fine-grained Image Similarity with Deep Ranking" 논문에 기재된 이미지 μœ μ‚¬λ„ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ μž…λ‹ˆλ‹€.

μ„œλ‘œ λ‹€λ₯Έ μ΄λ―Έμ§€κ°„μ˜ μœ μ‚¬μ„±μ„ λΉ„κ΅ν•˜κΈ° μœ„ν•΄μ„œ triplet 이라 λΆˆλ¦¬λŠ” 이미지 집합을 μ‚¬μš©ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ„œ triplet 은 query, positive, negative μ΄λ―Έμ§€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ” μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

Untitled

triplet 의 각 이미지듀은 μœ ν΄λ¦¬λ“œ 곡간 상에 맀핑 λ˜μ–΄ μœ ν΄λ¦¬λ“œ 제곱 거리 λ₯Ό 톡해 μœ μ‚¬μ„±μ„ λΉ„κ΅ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ„œ μœ ν΄λ¦¬λ“œ 곡간 맀핑 ν•¨μˆ˜λ₯Ό μž„λ² λ”© ν•¨μˆ˜ 라고 ν•˜λ©° CNN κ³Ό 같은 λͺ¨λΈμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

일반 μœ ν΄λ¦¬λ“œ 거리가 μ•„λ‹Œ 제곱 거리λ₯Ό μ‚¬μš©ν•΄μ„œ ν΄λŸ¬μŠ€ν„°λ§μ„ 고속화 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” μœ ν΄λ¦¬λ“œ 제곱 거리 의 μˆ˜μ‹μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

_2021-01-16__2 47 10

이제 이 μ•Œκ³ λ¦¬μ¦˜μ΄ μ‚¬μš©ν•˜λŠ” 손싀 ν•¨μˆ˜ λ₯Ό μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

_2021-01-16__2 48 16

Deep-Ranking μ•Œκ³ λ¦¬μ¦˜μ€ μœ„μ™€ 같이 triplet 에 λŒ€ν•œ hinge loss λ₯Ό μ‚¬μš©ν•˜λ©°

이λ₯Ό 톡해 μœ μ‚¬ μ΄λ―Έμ§€μ™€λŠ” 더 가깝고 μœ μ‚¬ν•˜μ§€ μ•Šμ€ μ΄λ―Έμ§€μ™€λŠ” 더 λ©€κ²Œ μž„λ² λ”© λ˜λ„λ‘ ν•™μŠ΅λ©λ‹ˆλ‹€.

μ‹€μ œ λͺ¨λΈμ—μ„œ ν•™μŠ΅μ— μ‚¬μš©λ˜λŠ” λͺ©μ  ν•¨μˆ˜ λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

_2021-01-16__2 48 47

μ—¬κΈ°μ„œ λžŒλ‹€λŠ” μ •κ·œν™”λ₯Ό μœ„ν•œ λ§€κ°œλ³€μˆ˜μ΄λ©° 이λ₯Ό 톡해 μ•Œκ³ λ¦¬μ¦˜μ„ μΌλ°˜ν™” ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄λ‹Ή λ…Όλ¬Έμ—μ„œλŠ” λžŒλ‹€ 값을 0.001 둜 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ W λŠ” μž„λ² λ”© ν•¨μˆ˜ f μ—μ„œ μ‚¬μš© λ˜λŠ” λ§€κ°œλ³€μˆ˜μ΄κ³  이 값을 μ΅œμ ν™” ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

λ”°λΌμ„œ, μœ„ λͺ©μ  ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄μ„œ μž„λ² λ”© ν•¨μˆ˜ f μ—μ„œ μ‚¬μš©λ˜λŠ” W 의 졜적의 값을 ν•™μŠ΅ν•˜κΈ° μœ„ν•΄

이후 μ„€λͺ…ν•˜λŠ” λ”₯λŸ¬λ‹ λ„€νŠΈμ›Œν¬ ꡬ쑰가 ν™œμš©λ˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ„€νŠΈμ›Œν¬ ꡬ쑰 μ‚΄νŽ΄λ³΄κΈ°

_2021-01-16__12 16 21

Deep-Ranking μ•Œκ³ λ¦¬μ¦˜μ€ μ „μ²΄μ μœΌλ‘œ 봀을 λ•Œ ν•™μŠ΅μ„ μœ„ν•΄ μœ„ λ„€νŠΈμ›Œν¬ ꡬ쑰λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

Q, P, N 은 각각 질의, 긍정, λΆ€μ • 이미지λ₯Ό μž„λ² λ”©ν•˜λŠ” ν•˜μœ„ λ„€νŠΈμ›Œν¬λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

각각의 Layer 의 역할은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • Triplet Sampling Layer

    Triplet Sampling Layer 의 경우 이미지 μƒ˜ν”Œλ‘œλΆ€ν„° Triplet 을 μƒμ„±ν•˜λŠ” κ³„μΈ΅μž…λ‹ˆλ‹€.

    논문에 λ”°λ₯΄λ©΄ ν•˜λ‚˜μ˜ 질의 이미지와 λ‹€λ₯Έ 이미지듀 κ°„μ˜ relevance score λ₯Ό κ³„μ‚°ν•˜μ—¬

    긍정, λΆ€μ • 이미지λ₯Ό μ •μ˜ν•˜κ³  이λ₯Ό 톡해 triplet 을 μƒμ„±ν•©λ‹ˆλ‹€.

  • Q, P, N Layer

    ν•΄λ‹Ή 계측은 각각의 이미지 μƒ˜ν”Œμ„ μœ ν΄λ¦¬λ“œ 곡간에 μž„λ² λ”©ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.

  • Ranking Layer

    Ranking Layer 의 경우 μž„λ² λ”©λœ κ°’μœΌλ‘œ hinge loss λ₯Ό κ³„μ‚°ν•˜λŠ” κ³„μΈ΅μž…λ‹ˆλ‹€.

_2021-01-16__12 16 36

μž„λ² λ”©μ„ μœ„ν•œ ν•˜μœ„ λ„€νŠΈμ›Œν¬ ꡬ쑰(Q, P, N Layer) λŠ” μœ„μ™€ 같은 μ„ΈλΆ€ λ„€νŠΈμ›Œν¬λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

μœ„μ™€ 같이 ConvNet ν•˜λ‚˜λ§Œ μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ multi-scale λ„€νŠΈμ›Œν¬λ‘œ κ΅¬μ„±ν•œ μ΄μœ λŠ”

fine-grained ν•œ κ²°κ³Όλ₯Ό μ–»κΈ° μœ„ν•¨ μž…λ‹ˆλ‹€.

ConvNet 은 이미지 λΆ„λ₯˜μ— νŠΉν™”λœ κ³ μ„±λŠ₯ λͺ¨λΈμ„ μ‚¬μš©ν•˜κ³  κ·Έ μ™Έ 두 개의 Convolution LayerλŠ”

μž…λ ₯ μ΄λ―Έμ§€μ˜ κ³ μœ ν•œ 지역적 νŠΉμ„± 을 κ°μ§€ν•˜κΈ° μœ„ν•œ μš©λ„λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

Hyper Parameters (μ‹€μ œ ν•™μŠ΅ μ‹œ μ‚¬μš©)

  • Epoch : 10
  • Batch size : 20
  • optimizer : Adam
  • Learning rate : 0.001

⚠️ μ‹€μ œ κ΅¬ν˜„ μ‹œ κΈ°μ‘΄ λ…Όλ¬Έμ—μ„œ λ³€κ²½ν•œ λΆ€λΆ„

λ‹€μŒ μ„Έ 가지 사항이 ν”„λ‘œμ νŠΈ 진행 μ‹œ μ‹€μ œ λ…Όλ¬Έκ³Ό λ‹€λ₯΄κ²Œ κ΅¬ν˜„ν•œ λΆ€λΆ„μž…λ‹ˆλ‹€.

  1. **ConvNet 적용 λͺ¨λΈ**

    ConvNet 은 λ…Όλ¬Έκ³Ό 같이 AlexNet 을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ„±λŠ₯μƒμ˜ 이유둜 ResNet 을 μ μš©ν–ˆμŠ΅λ‹ˆλ‹€.

  2. **Q, P, N λ„€νŠΈμ›Œν¬ ꡬ쑰**

    논문에 λ”°λ₯΄λ©΄ Q, P, N λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš© λ˜λŠ” μž„λ² λ”© ν•¨μˆ˜ f λŠ” λ™μΌν•œ νŒŒλΌλ―Έν„° κ°’ W λ₯Ό κ³΅μœ ν•©λ‹ˆλ‹€.

    λ”°λΌμ„œ ꡳ이 3 μ’…λ₯˜μ˜ ν•˜μœ„ λ„€νŠΈμ›Œν¬λ₯Ό κ΅¬μ„±ν•˜μ§€ μ•Šκ³  ν•˜λ‚˜μ˜ λ„€νŠΈμ›Œν¬λ‘œ ν†΅ν•©ν•˜μ—¬ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

    μ΄λŠ” ν”„λ‘œμ νŠΈ 규λͺ¨μ™€ ν›ˆλ ¨μ— ν•„μš”ν•œ λ°μ΄ν„°μ˜ μ–‘, 그리고 μž‘μ—… μ‹œκ°„ 등을 κ³ λ €ν•œ κ²ƒμž…λ‹ˆλ‹€.

  3. **Triplet μƒ˜ν”Œλ§ 방식**

    λ…Όλ¬Έμ—λŠ” relevance score λ₯Ό κ³„μ‚°ν•΄μ„œ 온라인 버퍼 μƒ˜ν”Œλ§ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ

    질의 μ΄λ―Έμ§€μ˜ 긍정, λΆ€μ • 이미지 셋을 κ΅¬μ„±ν•©λ‹ˆλ‹€.

    이λ₯Ό μœ„ν•΄μ„  λ°©λŒ€ν•œ 이미지와 각 이미지에 νŠΉμ„± 값을 직접 μ§€μ •ν•˜λŠ” μž‘μ—…μ΄ ν•„μš”ν•œλ°

    (λ…Όλ¬Έμ˜ 경우 27κ°€μ§€μ˜ νŠΉμ„±μ„ μ§€μ •ν•˜μ—¬ golden feature λ₯Ό ꡬ성함)

    μ €ν¬μ˜ 경우 νŠΉν—ˆμ²­ μ˜€ν”ˆ API λ₯Ό 톡해 μˆ˜μ§‘ν•˜λŠ” 이미지 데이터 μ–‘μ˜ ν•œκ³„μ™€ ν”„λ‘œμ νŠΈ κΈ°κ°„μ˜ 문제둜

    λΉ λ₯΄κ²Œ κ΅¬ν˜„ν•˜κ³  ν…ŒμŠ€νŠΈν•˜κΈ° μœ„ν•΄ 이 보닀 λ‹¨μˆœν•œ 방법이 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.

    λ”°λΌμ„œ triplet 에 μ‚¬μš©λ˜λŠ” 긍정 및 λΆ€μ • μ΄λ―Έμ§€λŠ” 각각 in-class 와 out-class μ—μ„œ

    랜덀으둜 μƒμ„±ν•˜κ³  triplet 검증 과정을 거쳐 ν›ˆλ ¨μ— μ‚¬μš©λ  이미지 셋을 κ±ΈλŸ¬λ‚΄κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.

Object Detection (YOLO v3)

λ„μž…ν•œ 계기

_2021-01-16__1 13 00

μƒν‘œ μ΄λ―Έμ§€λŠ” 사싀 λŒ€λΆ€λΆ„ νŠΉμ • 객체(μ—¬κΈ°μ„  λ‹­) 뿐만 μ•„λ‹ˆλΌ μƒν˜Έλͺ…도 ν¬ν•¨ν•˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.

이 경우 ν•΄λ‹Ή 이미지λ₯Ό κ·ΈλŒ€λ‘œ ν•™μŠ΅ν•˜λ©΄ μƒν‘œ μœ μ‚¬λ„ 정확도가 크게 떨어지고 신뒰성을 μžƒκ²Œ λ©λ‹ˆλ‹€.

λ”°λΌμ„œ μƒν‘œμ˜ μœ μ‚¬μ„±μ— 큰 영ν–₯을 μ£ΌλŠ” νŠΉμ • 객체만 μΆ”μΆœν•΄μ„œ λΉ„κ΅ν•˜κ³ μž λ„μž…ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” νŠΉμ§•

YOLO μ•Œκ³ λ¦¬μ¦˜μ€ 단일 단계 방식 의 객체 탐지 μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€.

λ•Œλ¬Έμ— λ¨Όμ € μ˜μ—­ μ œμ•ˆ(Region Proposal) 이 ν•„μš”ν•œ 이단계 방식 의 μ•Œκ³ λ¦¬μ¦˜λ³΄λ‹€ 속도 λ©΄μ—μ„œ λ›°μ–΄λ‚©λ‹ˆλ‹€.

이둜 인해 μ‹€μ‹œκ°„ 탐지λ₯Ό ν•„μš”λ‘œ ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 많이 ν™œμš©λ©λ‹ˆλ‹€.

ν™œμš© 방식

μ‹€μ œ μ‚¬μš©μ„ μœ„ν•΄μ„œ OpenCV λ₯Ό 기반으둜 κ΅¬ν˜„λœ μ˜€ν”ˆ μ†ŒμŠ€λ₯Ό ν™œμš© ν–ˆμœΌλ©°

YOLO 의 λ°±λ³Έ 아킀텍쳐인 DarkNet 을 ν•™μŠ΅ν•˜λŠ” λ³„λ„μ˜ 과정이 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ’ͺ 개발 생산성

Triplet Checker GUI ν”„λ‘œκ·Έλž¨

Deep-Ranking μ•Œκ³ λ¦¬μ¦˜μ€ μ •μ œλœ triplet 이 ν•„μš”ν•©λ‹ˆλ‹€.

λ…Όλ¬Έμ˜ 경우 온라인 μƒ˜ν”Œλ§ 방식을 μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ μ €ν¬λŠ” handcrafted 방식을 μ‚¬μš©ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό μœ„ν•΄μ„œ μ—‘μ…€ 파일둜 질의, 긍정, λΆ€μ • 이미지 셋을 μƒμ„±ν•˜κ³  각각의 쑰합을 ν™•μΈν•˜λ©°

λͺ¨λΈ ν•™μŠ΅μ— μ“Έ λ§Œν•œ 데이터듀을 걸러 λ‚΄λŠ” 과정이 ν•„μš”ν•©λ‹ˆλ‹€.

λͺ¨λ“  이미지λ₯Ό 직접 열어보며 λΉ„κ΅ν•˜λŠ” 것은 λ§Žμ€ μ‹œκ°„μ„ ν•„μš”λ‘œ ν•˜κΈ° λ•Œλ¬Έμ—

python tinker νŒ¨ν‚€μ§€λ₯Ό ν™œμš©ν•˜μ—¬ 이 μž‘μ—…μ„ λ„μ™€μ£ΌλŠ” GUI ν”„λ‘œκ·Έλž¨μ„ μ œμž‘ν•΄μ„œ μž‘μ—…μ„ λ‹¨μˆœν™”ν–ˆμŠ΅λ‹ˆλ‹€.

Google Image & API Crawler

YOLO μ•Œκ³ λ¦¬μ¦˜ ν›ˆλ ¨μ„ μœ„ν•΄μ„œ λ§Žμ€ μ–‘μ˜ ν•™μŠ΅ 이미지가 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.

ν•™μŠ΅μ— μ‚¬μš©ν•œ μΉ΄ν…Œκ³ λ¦¬λŠ” 총 5가지 (λ‹­, 돼지, μ‚¬μž, μ†Œ, νƒœμ–‘) 이며 데이터λ₯Ό λͺ¨μœΌκΈ° μœ„ν•΄

ꡬ글 이미지 크둀러λ₯Ό μ œμž‘ν•˜μ—¬ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ νŠΉν—ˆμ²­ μ˜€ν”ˆ API λ₯Ό 톡해 νŠΉν—ˆ 이미지와 정보λ₯Ό μˆ˜μ§‘ν–ˆκ³ , 이λ₯Ό μžλ™ν™”ν•˜κΈ° μœ„ν•΄

λ§ˆμ°¬κ°€μ§€λ‘œ API 크둀러λ₯Ό κ΅¬ν˜„ν•΄μ„œ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

πŸŽ₯ 데λͺ¨ μ˜μƒ

μ΅œμ’… λ°œν‘œμ˜μƒ 링크

πŸ“š μ°Έκ³  자료

Paper Review - Deep Ranking

Learning Fine-grained Image Similarity with Deep Ranking

Learning Fine-grained Image Similarity with Deep Ranking 정리

Euclidean and Euclidean Squared

λ”₯λŸ¬λ‹μ„ ν™œμš©ν•œ 객체 탐지 μ•Œκ³ λ¦¬μ¦˜ μ΄ν•΄ν•˜κΈ° - SAS Korea Blog

About

πŸ–Ό 산학연계 - νŠΉν—ˆ μœ μ‚¬λ„ 뢄석 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published