728x90
반응형

object detection은 localization과 같은 방법을 동일하게 적용하면 문제가 생길 수 있음

 

이미지안에 이미지 안에 비슷한 object가 여러개 있으면 Feature Extraction Layer를 통과한 feature map이 생성되고 그러면 사이즈도 줄어들고 추상화된다.

feature map에서 추출하고 regression을 통해서 발견한 이미지 특성을 다른 곳에서 또 발견하면 모델이 위치좌표를 찍는 것에 엉뚱한 좌표를 찍는 문제가 생긴다.

 

이미지 내에서 좌표를 찍는 것이 detection 영역의 문제의식이다.

특정영역을 한정하고 찾고, 한정하고 찾는 것이 정확도가 높았다. 위치를 옮기면서 찾는 것이 슬라이딩 방식이다.

 

1) sliding window

window를 이동시키면서 detection하는 방식

- 다양한 형태의 window를 슬라이딩

- window scale은 고정하고 scale을 변경한 여러 이미지를 사용하는 방식

: 초기 기법이고, 오브젝트 없는 영역도 무조건 슬라이딩 하여야 하며, 여러형태의 window와 여러 scale이미지를 스캔하여 검출해야해서, 수행시간이 오래 걸리고, 검출 성능이 상대적으로 낮음

- region proposal 기법 등장으로 활용도는 떨어졌지만 OD 발전의 기술토대 제공

 

 

2) Region Proposal

 

이미지는 밝기, 색상, 윤곽선으로 구분이 됨, 이 특성을 이용해서 object가 있을만한 후보영역을 찾는다

- selective search

차이점을 segmentation을 함

빠른 detection과 높은 recall 예측 성능을 동시에 만족하는 알고리즘

color, Texture, size, shape에 따라 유사한 region을 계층적 그룹핑 방법으로 계산함

-> 각 기준에 의해 조금이라도 건덕지가 있으면 영역을 나눠버리고 마스킹을 해서 후보군을 만듬

=> 그리고 비슷한 애들은 중복, 비슷한 특성 등 찾아서 계층적 그룹핑, 합쳐버림

경계선은 edge detector,

 

selective search는 최초에는 pixel intensity 기반한 graph-based segment기법에 따라 over segmentation을 수행

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
728x90
반응형

원본이미지에 1개의 object가 있는 경우

 

image classification과 똑같은 순서이고 

예를 들어 (224, 224) 라고 하고

VGG16과 같은 back bone 즉, Feature Extrator에 이미지를 입력하게 된다.

backbone의 역할은 이미지 내에서 중요한  피처를 추출하는 것이다.

 

그것을 통해서 최종적으로 feature map이 만들어짐

가령 feature map은 (7, 7)이 되어 size는 작아지는데, 대신 채널 수는 늘어나게 됨 (7, 7, 512) 

원본이미지 대비 축약된, 추상화된 이미지가 생성된다.

 

그리고 보통 img와 label을 maping시키고, 학습을 해놓음

그리고 softmax 함수로 class score를 매겼을 때 {car : 0.8, cat : 0.1, dog : 0.1 } 이러면 car이 된다.

 

3000개 img들로 각각 1000장씩 학습을 시키고

layer [ Dense layer, softmax 함수, fully connected ]로 학습시킴

=> img classification 원리

 

 

annotation 파일에 object, bounding box 좌표(xmin, ymin), (xmin, ymin)가 입력이 되어있다.

혹은 yolo는 center 좌표로 지정하기도 함. 

object localization 은 여기서 bounding box regression이 또 있음.

각각 label을 각각 좌표에 예측을 해봄

 

feature map은 map당 object가 딱 하나니깐 map에 이런 특성이 나오면 해당 bounding box regression을 적용한다.

그러면 잘나옴

 

그리고 object를 학습시키고, 가중치를 부여하면서, 여러 각도, 여러 이미지를 통해서 학습시킨다.

이 feature가 있으면 maping을 한다가 됨.

yolo의 경우 예측결과가 class confidence score이 있음

 

object detection으로 2개 이상의 object를 검출하면 거기에 문제가 생김

문제가 유사하게 적용했는데 각각 좌표가 이상한 곳에 찍힘

inference가 이상한 곳에 찍힘.

1000장의 이미지가 있으면 각각 학습시키면서 feature 특징은 학습했는데 feature 좌표를 획득하는데 문제가 생긴다.

예를 들어 중간값으로 좌표를 찍는 식으로

 

object가 있을 만한 위치를 먼저 찾아주고, 그 위치의 object를 탐색하는 방식이 보통 방식임

=> Region proposal

대충 가이드라인은 나눠줘야 번잡하지 않다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
728x90
반응형

1. object detection의 주요 구성 요소

 

1) 영역 추정

Region Propsosal

bounding box를 예측

object 위치를 추정 : regression, bounding box 내 object가 뭔지 인지하는게 : classification

초기엔 딥러닝이 알아서 찾아주지 않을까 했는데, 예측 성능이 형편없더라

loss도 커지고, 성능도 낮았다.

object가 있을만한 위치를 제대로 알려줘야 한다. 정확히 매칭을 시켜주기 위해,

있을만한 영역에 대한 힌트를 주어야한다 => 영역 추정

 

2) Detection을 위한 Deep Learning 네트웍 구성

- Feature Extraction + Classification

: back born 

작은 object를 만듬, resNet

 

- Feature Pyramid Network 

: neck

만들어낸 object를 체계적으로 구성함

 

- Network Prediction + classification + regression

: head

object를 classification 함

 

3) etc

- IOU

- NMS : 어떤 처리를 하는지

- mAP

- Anchor Box

 

 

2. 왜 어려운가?

1) classification과 regression을 동시에 수행

보통은 단일식을 이용하는데, 동시에 수행하고, 동시에 성능, loss 가 좋아야 함.

 

2) 다양한 크기와 유형의 오브젝트가 섞임

크기가 크고 작고, 길고 뭉뚝하고, 다양한 오브젝트모양

feature map을 detect 해야함

 

3) 중요한 detect 시간

시간도 중요함, 예를 들어 cctv, 자율주행 등 알고리즘 딜레마가 있음

수행시간 vs 성능

 

4) 명확하지 않은 이미지

작은 object, background를 잘못 detecting 하는 경우

 

5) 데이터 세트의 부족

annotation을 만들어 줘야함, 생성하기가 상대적으로 어려움

 

 

 

반응형

728x90
반응형

object detection은 2012년을 기점으로 딥러닝 기반으로 발전을 했다.

1) classification 을 시도

이미지 내에서 분류

feature map을 만듬

 

2) Localization

하나의 이미지에서 하나의 object를 bounding box로 찾음

 

3) Object Detection

여러개의 object들의 위치를 bounding box로 지정해서 찾음

 

4) Segmentation

Detection 보다 더 발전된 형태로 pixel 레벨 Detection 수행

 

* Localization과 Detection은 해당 object위치를 bounding box로 찾고, bounding box 내 오브젝트를 판별한다

* Localization과 Detection은 bounding box regression(box의 좌표값을 예측)과 classification 두개의 문제가 합쳐져 있다.

* Localization에 비해 Detection은 두개 이상의 object를 이미지의 임의 위치에서 찾아야 해서 상대적으로  Localization보다 여러가지 문제가 있다.

 

 

Object Detection History

one-stage detector와 two-stage detector가 있는데

two-stage detector는 object를 미리 예측한 후에 디텍터를 실행한다.

성능이 좋지만 느림, 실시간 적용 힘듬

 

one-stage detector는 ssd, retina-net 등 성능은 강력했지만 inference가 떨어졌다. 그러나 yolo에서는 inference도 향상시킨 모델을 만든다.

반응형
728x90
반응형

저도 엑셀파일 데이터로드하다가 터졌는데요

찾아보니 버전 문제라고 해서

버전 2010년 이하로 낮춰도 안되고

libreoffice 라는 파일했는데 

<></>식으로 셀이 테그로 출력되어서

 

결국 ms office설치했습니다.

데이터분석 생태계가 미국이다 보니, 엔지니어들이 한셀까진 커버하지 않은 거죠...

 

ms office설치하고 행복 분석하고 있습니다...

반응형
728x90
반응형

pandas excel data load

판다스 엑셀 데이터 로드

 

1. 라이브러리 불러오기

import pandas as pd

 

2. 데이터 로드 및 변수 저장

df = pd.read_excel('./파일명.xlsx', engine='openpyxl')

 

3. 데이터 확인

print(df.head())

반응형
728x90
반응형

오늘도 시작해봅니다

반응형

+ Recent posts