티스토리 뷰

Develope/openCV

google vision api + python 설치

Jason park@ 2017. 7. 1. 22:43
반응형

opencv 로 얼굴인식을 하다보니, 피사체가 멀리 있거나, 정면이 아니거나 웨딩사진같은 경우에는 인식률이 좀 떨어지는 모습을 보였다.


이를 조금 보완하기 위해, 딥러닝의 대가 구글 vision 을 사용해보기로 했다.


예전 음성인식 api 를 사용해보려 구글 cloud platform 을 12개월 무료 베타로 사용한적이 있는데, 지금은 기간이 지나버린 상태이다.


과금이 될지는 잘 모르겠지만 한번 해보기로 한다.


먼저, 필자의 서버 환경은 Ubuntu17.04 , Python2.7.13 버전을 사용중이며 opencv 외에 numpy등 여러 라이브러리들이 설치 된 상태이다. 
그리고 root 계정으로 접속해 있으므로 sudo 명령어는 생략되어 있다는점을 참고해아한다.


그럼 step by step 으로 vision 설치를 진행해보자. 


#Step 1. API 관리 페이지 주소로 가자.

https://console.cloud.google.com/apis/api/vision.googleapis.com/overview


처음 시작하시는 분들은 클라우드 플랫폼 사용 설정을 하고, 프로젝트까지 먼저 만들어주시길.



#Step 2. API 사용 설정을 누른다.

( 만약 신규사용자라면 12개월 무료에 300 크레딧이 제공되므로 아래 결제 정보 등록 과정은 나타나지 않을수도 있다.  ) 


결제가 필요하다고 묻는다.

결제 사용 설정을 한다. ( 바로 결제가 되거나 하는것은 없다. ) 


결제 계정이 없어서, 결제 계정도 만들어야 했다. 





결제 계정과 신용카드까지 모두 등록을 마치고 나면 확인용 1달러 결제가 된다.

1달러는 30~1시간 이내로 바로 취소가 된다.  


이 단계까지 마치고 나면 VISION API 대시보드 화면을 볼수가 있다. 



#Step 3. API 키, 서비스 계정 키 생성하기

다음, 사용자 인증정보 메뉴에서 API 키서비스 계정 키를 생성 한다.


먼저 1. API 키를 만들고, 보안설정을 한다. 

필자는 서버에서만 실행하기 위해 서버의 IP 로 제한을 설정했다.



2. 서비스 계정키를 만드는데, 서비스 계정은 Compute Engine 으로, 키 유형은 JSON 방식으로 설정한다. 


생성이 완료되면 아래와 같이 키 파일이 컴퓨터로 저장이 된다.

이 파일을 본인 서버로 업로드 한다. 


사용자 인증정보 메인으로 돌아와보면 다음과같이 2개의 키가 있어야 한다. 


#Step 4. 구글 라이브러리와 gcloud 설치

다음 우분투 서버로 돌아와서, 구글 라이브러리와 gcloud 를 설치한다.


#client library 설치

pip install --upgrade google-cloud-vision


# gcloud 를 설치하기 위한 환경 변수 등록

export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"


# cloud sdk 배포 주소 추가

echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list


# Google cloud 공개키 추가

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -


# 업데이트 & google cloud sdk 설치 시작

sudo apt-get update && sudo apt-get install google-cloud-sdk

# 아래는 추가로 설치가 가능한 sdk 구성요소들이다.  필자는 아무것도 설치하지 않았다. 

google-cloud-sdk-app-engine-python
google-cloud-sdk-app-engine-java
google-cloud-sdk-app-engine-go
google-cloud-sdk-datalab
google-cloud-sdk-datastore-emulator
google-cloud-sdk-pubsub-emulator
google-cloud-sdk-bigtable-emulator
kubectl

그런데.. 설치중에 에러가 나면서 설치가 중단된다.

journalctl -xe 명령어로 에러 내역을 살펴보니, out of memory 로 python 을 강제 종료해버린걸 볼수 있었다.


VPS 서버 사양이 RAM 1GB 다 보니 벌어진 일인가..

실행중인 프로세스를 하나씩 죽이기 시작했다. apache, mysqld, xfdesktop, gnome-shell 


그리고 다시 설치를 하니, 긴장속에 설치가 완료되었다.

Affected packages: google-cloud-sdk:amd64


#Step 5. 인증과정 진행 

설치가 되었다면, gcloud 를 실행하자! 

gcloud init


로그인을 위해 위의 주소를 복사해 브라우저에서 실행한다.

google cloud 계정으로 로그인한 다음 sdk 권한요청에 허용해준다.  

그리고 나오는 코드를 복사하여, 쉘에 붙여넣기한다.

로그인이 성공하면,
1. 사용할 프로젝트를 선택한다.
2. Google Compute Engine 설정에 Y 
3. 프로젝트에 사용할 zone 을 선택.  ( 무엇을 선택하건 상관없다. 동아시아를 선택했다. )  


다음, 구글 인증관련 라이브러리에 접근할수 있도록 로그인을 해준다. 

gcloud auth application-default login

주소를 따라가서 로그인하고 나오는 코드를 입력해주면 된다.


마지막으로! 환경변수에 자격증명 파일경로를 등록해준다. ( 위의 서비스 키를 추가하면서 다운받아진 json 파일 경로를 입력해준다. ) 

export GOOGLE_APPLICATION_CREDENTIALS=/home/py/homeAutomaition_key.json


#Step 6. vision api 설치

google cloud vision api 를 구동하기위해 필요한 파일들을 설치한다.

먼저 아래의 파일을 다운받는다. 

wget https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/vision/cloud-client/face_detection/requirements.txt

다음 위의 파일안의 패키지 목록을 설치한다.

pip install -r requirements.txt

아래와 같은 메시지가 나왔다면 설치가 끝이 났다.

Successfully installed Pillow-4.1.1 olefile-0.44


다음은 vision api 를 이용하여 얼굴 인식을 한 결과이다.  ( 왼쪽은 opencv 우측은 vision 이다 ) 

opencv 인식 결과vision 을 이용한 얼굴인식 결과

다음 포스팅에서 vision을 이용한 샘플 실행 방법을 살펴보자! 


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함