Skip to content

[OpenAPI] face.com and Performance(성능)

2012/02/21
tags:

face.com and Performance(성능)

face.com 에 대해 간단히 성능 테스트를 진행 하였습니다.

1. detect와 train 테스트

테스트 환경및 진행 방법

  •  로컬에서 클라이언트는 face4j 사용하였고 eclipse 에서 junit 으로 돌렸습니다.
  • 테스트를 위해 아래와 같이 구글 검색결과를 캡쳐한 사진을 이용했습니다. 한개의 사진에 54개의 같은 사람 얼굴이 있고 1627*830 픽셀,  391,403 bytes입니다.

  • 테스트한 소스와 측정 구간은 다음과 같습니다.
File imageFile = new File(new File("d:\\down"), "K-20120221-387690.jpg");
com.github.mhendred.face4j.FaceClient faceClient = new DefaultFaceClient(API_KEY, API_SEC);
Photo photo = faceClient.detect(imageFile);       // detect하는데 걸리는 시간 측정
for (Face face : photo.getFaces()) {
    faceClient.saveTags(face.getTID(), USER_ID, "face");           // saveTag 하는 시간 측정
    faceClient.train(USER_ID);                                     // train 하는 시간 측정
}                                                // 전체 걸리는 시간 측정

테스트 결과

  • detect 하는데 걸린 시간(파일 upload 포함) : 12초
  • save tag 하는데 걸린 시간 : 평균 1.54초, 2초 : 27번, 1초 : 26번, 4초 : 1번
  • train 하는데 걸린 시간 : 평균 5.75초, 5초 : 15번, 6초 : 37번, 7초 : 2번

 

2. recognize 테스트

테스트 환경및 진행 방법

  • 로컬 파일 / url 을 이용해 face4j를 이용해서 테스트 해 보았습니다.
  • 5장의 다른 사진으로 평균 크기는 35~50k 입니다.
  • 테스트 소스 및 측정 구간
com.github.mhendred.face4j.FaceClient faceClient = new DefaultFaceClient(API_KEY, API_SEC);
Photo photo = faceClient.recognize("http://postfiles10.naver.net/20100417_281/5492asd_1271497211141TNKGs_jpg/d.jpg?type=w3", ALL).get(0); // recognize 하는 시간 측정

테스트 결과

  • 첫번째 사진(로컬파일) : 1차 시도시 8초(파일 업로드 포함), 2차 이상 시도 : 1~2초
  • 두번째 사진 ~ 다섯번째 사진(로컬/url) : 1차 시도시 2~4초, 2차 이상 시도 : 1~2초

 

증명 되지 않은 “생각”..

train 시킨 얼굴 사이즈가 recognize 시 요청한 얼굴 사이즈 보다 작으면 인식율이 떨어지는거 같습니다. => 얼굴사이즈가 비슷하게 입력받는게 좋음.

recognize 된 결과를 캐싱하고 있어서 같은 요청시 캐싱된 결과를 주는거 같습니다.

train 시킨후 한번 이라도 recognize를 하면 다음 요청시 속도향상에 기여가 되는것 같습니다.

No comments yet

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: