블로그 이미지
devtang
Instagram : @taebr0 devtaehyeong@gmail.com

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2020. 4. 3. 13:19 AI/Keras

본 글은 Windows 10 환경에서 Anaconda에 가상환경을 세팅하여 진행하였습니다.

 

Faster R-CNN

Faster R-CNN 구조

Faster R-CNN의 가장 핵심 부분은 Region Proposal Network(RPN) 입니다.

R-CNN은 이미지 내에 객체가 존재할 것 같은 위치를 제안 하면, 제한된 위치의 이미지를 잘라냅니다.

잘라낸 이미지의 feature map을 추출하여 그것에 대해 CNN(Convolutional Neural Network)을 사용했습니다.

 

하지만 Faster R-CNN은 잘라낸 영역마다 CNN을 사용하는것이 아니라 이미지 전체를 CNN에 통과시킨 후,

큰 feature map을 추출해내어  제안된 영역을 feature map에 투영하는 방식입니다.

즉 여러번 처리할일을 한번에 하게되어 처리속도가 전 모델보다 훨씬 빨라졌으며, 전작 대비 정확도가 상승했습니다.

 

우선 Anaconda 과Visual C++ 2015 Build Tools 가 설치되있는 가정하에 진행하겠습니다.

 

아나콘다 프롬프트창을 열어줍니다. 저는 가상환경이름을 fasterRCNN으로 지었습니다.

(base) C:\Users\@USERNAME@>conda create -n fasterRCNN python=3.6 pip

가상환경이 설정된 후 가상환경으로 진입합니다.

activate fasterRCNN

진입하면 다음과 같습니다.

pip install tensorflow-gpu==1.4

pip install keras==2.0.3

pip install numpy==1.15
pip install sklearn h5py

pip install opencv-python ipython

필요한 요소들을 설치해줍니다. (cudatoolkit==8.0 cudnn==5.1 버전사용, 혹시나 cuda 관련 에러뜰시 따로 설치필요!)

 

그리고 faster R-CNN을 git에 들어가서 다운로드해줍니다.

https://github.com/you359/Keras-FasterRCNN

 

you359/Keras-FasterRCNN

keras implementation of Faster R-CNN. Contribute to you359/Keras-FasterRCNN development by creating an account on GitHub.

github.com

저는 이폴더를 바탕화면에 두었습니다.

 

그리고 예제에 필요한 웨이트파일을 다운받아서 git에서 받은 faster rcnn폴더에 넣어줍니다.

 

이제 예측할 input image를 넣을 폴더를 생성해줍니다.

(fasterRCNN) C:\Users\@USERNAME@\Desktop\keras-frcnn-master>mkdir images

images 폴더안에 자신이 예측하고싶은 사진을 넣습니다.

저는 YOLO 예제돌릴때 쓰는 개사진과 바다에 배가 떠있는 사진을 예제로 테스트해봤습니다.

(fasterRCNN) C:\Users\@USERNAME@\Desktop\keras-frcnn-master>python test_frcnn.py -p images

 

제 컴퓨터의 그래픽카드는 GTX1050TI이며 한사진당 detection 시 2초정도 걸린것 같습니다.

 

참고사이트

https://github.com/you359/Keras-FasterRCNN

 

you359/Keras-FasterRCNN

keras implementation of Faster R-CNN. Contribute to you359/Keras-FasterRCNN development by creating an account on GitHub.

github.com

https://inspace4u.github.io/dllab/lecture/2017/09/09/Keras_FRCNN_Testing.html

 

Keras 기반 F-RCNN 실습

본 포스트에서는 Keras 기반으로 구현한 Faster RCNN 코드를 직접 실행 및 실습해 보겠습니다. 실행 환경 이 예제에서는 기본적인 Tensorflow와 Keras 이외에 이미지 처리를 위한 OpenCV 라이브러리와 대용량 데이터를 다루는 포맷인 hdf5를 지원하기 위한 h5py 패키지가 추가로 필요합니다. 만약 Windows 10에서 텐서플로우, 케라스 오프라인 설치 또는 Windows 7 포스트의 설명을 따라 환경을 구축하셨다면 이 두 패키지가

inspace4u.github.io

2020-08-12 수정 내용

weights 파일이 본글에서 만료되어서 아래 링크를 클릭하시면 다운받으실 수 있습니다!!

https://drive.google.com/file/d/1oQbhyRJFLRmbd9d2msAZCL77_nXbJvLR/view?usp=sharing

 

model_frcnn.hdf5

 

drive.google.com

config.pickle
0.00MB

 

posted by devtang