얼굴 인식 라이브러리 [닫힘]


169

대학 프로젝트를위한 무료 얼굴 인식 라이브러리를 찾고 있습니다. 얼굴 인식을 찾고 있지 않습니다 . 실제 인식을 찾고 있습니다. 즉, 지정된면 또는 특정면 사이의 거리를 계산하는 라이브러리가 포함 된 이미지를 찾는 것을 의미합니다.

나는 현재 얼굴을 탐지하기 위해 OpenCV 를 사용 하고 인식을 위해 거친 고유 면 알고리즘을 사용하고 있습니다. 그러나 자체 작성 Eigenface 알고리즘보다 성능이 더 좋은 것이 있어야한다고 생각했습니다. 나는 속도를 성능으로 말하는 것이 아니라 단순한 Eigenface 접근법보다 더 나은 결과를 가진 라이브러리를 찾고 있습니다.

Faint를 살펴 보았지만 라이브러리는 내 자신의 응용 프로그램에서 재사용 할 수없는 것 같습니다.

파이썬, Java, C ++, C 등의 라이브러리에 만족합니다. 가장 좋은 방법은 현재 외부 Windows 전용 코드를 사용하기 때문에 Windows 컴퓨터에서 실행할 수 있다면 좋을 것입니다.


1
정치적 또는 실제적인 이유로 자유로 워야합니까? 순수한 연구 프로젝트 인 경우 상용 공급 업체 중 한 곳으로부터 무료 아카데믹 라이센스를받을 수 있습니다.
Christoffer

2
나는 고유 면적 접근만으로 비교적 좋은 결과를 얻었지만 무료로 사용할 수있는 좋은 얼굴 탐지 API는 현재 빠진 것 같습니다
Janusz



4
2009 년에는 완벽하게 수용 가능하지만이 질문은 더 이상 주제로 간주되지 않습니다 . 도구, 라이브러리 또는 자주 사용하는 오프 사이트 리소스를 추천하거나 찾도록 요청하는 질문은 스택 오버플로에서 주제가 아닙니다. 스택 오버 플로우에 대해 사전 정의 된 주 제외 이유는 무엇입니까?를
JDB는 여전히 Monica

답변:


85

다음은 Windows에서 실행되는 안면 인식을위한 상용 패키지를 제공하는 상용 공급 업체 목록입니다.

  1. Cybula얼굴 인식 SDK 에 대한 정보 . 이것은 대학 교수에 의해 설립 된 회사이므로 웹 사이트는 전문적이지 않습니다. 다운로드 할 수있는 가격 정보 나 데모가 없습니다. 가격 정보는 해당 고객에게 문의 해야합니다 .

  2. NeuroTechnology얼굴 인식 SDK 에 대한 정보 . 이 회사는 선행 가격 정보SDK실제 30 일 평가판을 모두 보유하고 있습니다 .

  3. 피츠버그 패턴 인식 - 얼굴 추적 및 인식 SDK 에 대한 정보 ( Google에서 획득 ) . 그들이 제공하는 데모는 SDSK가 아닌 기술을 평가하는 데 도움이됩니다. 가격 정보는 해당 고객에게 문의 해야합니다 .

  4. 현명한 비전 - 자신에 대한 정보 SDK . 이 사이트를 통해 쉽게 가격 견적을 얻을 수 있으며 기술 평가에 도움이되는 평가 키트를 주문할 수도 있습니다.


5
링크에 감사하지만 현재 무료 도서관을 찾아야합니다
Janusz

1
얼굴 인식 그 자체가 아닐 수도 있지만 numenta.com 이 관심을 가질 수 있습니다.
RCIX

7
face.com free REST API를이 목록에 추가 할 수 있습니다
Omry Yadan

@Omry, 답변으로 추가 하거나 face.com
Scott


54

최신 정보

OpenCV 2.4.2에는 새로운 cv :: FaceRecognizer가 제공 됩니다. 다음의 매우 자세한 문서를 참조하십시오 :

원본 게시물

OpenCV C ++ API (BSD 라이센스)를위한 최신 얼굴 인식 라이브러리 인 libfacerec 를 출시 했습니다 . libfacerec는 추가 종속성이 없으며 Eigenfaces 방법, Fisherfaces 방법 및 로컬 이진 패턴 히스토그램을 구현합니다. 라이브러리의 일부는 OpenCV 2.4에 포함될 예정입니다.

libfacerec의 최신 개정판은 다음에서 사용 가능합니다.

이 라이브러리는 곧 출시 될 OpenCV 2.4를 염두에두고 OpenCV 2.3.1 용으로 작성되었으므로 2.3.1 이전의 OpenCV 버전은 지원하지 않습니다. 이 프로젝트는 잘 문서화 된 API가 포함 된 CMake 프로젝트로 제공되며 성별 분류에 대한 자습서도 있습니다. 다음 위치에서 HTML 버전의 설명서를 볼 수 있습니다.

이러한 알고리즘의 작동 방식을 이해하려면 내 얼굴 인식 안내서 (Python 및 GNU Octave / MATLAB 예제 포함)를 읽으십시오.

내 github 저장소에 알고리즘의 Python 및 GNU Octave / MATLAB 구현도 있습니다. facerec의 두 프로젝트 에는 알고리즘 평가를위한 여러 가지 교차 검증 방법도 포함되어 있습니다.

관련 간행물은 다음과 같습니다.

  • 인식을위한 Turk, M. 및 Pentland, A. Eigenfaces. . 인지 신경 과학 저널 3 (1991), 71–86.
  • Belhumeur, PN, Hespanha, J. 및 Kriegman, D. Eigenfaces vs. Fisherfaces : 클래스 별 선형 투영법을 사용한 인식. . 패턴 분석 및 머신 인텔리전스에 대한 IEEE 트랜잭션 19, 7 (1997), 711–720.
  • Ahonen, T., Hadid, A. 및 Pietikainen, M. 국소 이진 패턴을 이용한 얼굴 인식. . 컴퓨터 비전-ECCV 2004 (2004), 469–481.


19

pam-face-authentication 얼굴 인증 용 PAM 모듈 : 그러나 원하는 것을 얻으려면 약간의 작업이 필요합니다. 빠른 테스트 결과, 인식률이 NeuroTechnology의 VeriLook의 인식률만큼 좋지 않은 것으로 나타났습니다.

Malic 은 Gabor Wavelet 디스크립터를 사용하는 또 다른 오픈 소스 얼굴 인식 소프트웨어입니다. 그러나 소스에 대한 마지막 업데이트는 3 년입니다.

웹 사이트 : " Malic은 gabor wavelet을 사용하는 오픈 소스 얼굴 인식 소프트웨어입니다. Malib 및 CSU 얼굴 식별 평가 시스템 (csuFaceIdEval)을 기반으로하는 실시간 얼굴 인식 시스템입니다. 실시간 이미지 처리를 위해 Malib 라이브러리를 사용하고 얼굴을 위해 일부 csuFaceIdEval을 사용합니다. 인식. "

또한 이것은 흥미로울 수 있습니다.

gaborboosting : Gabor Wavelet 및 AdaBoost 알고리즘으로 얼굴 인식에 적용되는 과학적 프로그램

특징 추출 라이브러리 -FELib" 전이성 커널 피셔 판별 기에 의한 얼굴 주석"을 나타냅니다.


13

나는 당신이 이미하고있는 Eigenface 가 얼굴 사이의 거리를 계산하고 싶다면 갈 길이 라고 생각 합니다. Support Vector Machine 또는 Hidden Markov Model 과 같은 다양한 접근 방식을 시도 할 수 있습니다. 얼굴 인식에 사용할 수있는 주요 알고리즘이 나열된 페이지를 찾았습니다. 얼굴 인식 홈페이지 .

또한 "더 나은 성능"이라고 말할 때 속도 나 정확성을 의미합니까? 어떤 문제가 있습니까? 데이터는 얼마나 다양합니까? 그들은 주로 정면 얼굴입니까 아니면 프로필을 포함합니까?


5
성능으로 감지 정확도를 향상 시켰습니다. Eigenfaces는 훌륭하지만 내가 찾고있는 것은 바퀴를 재발 명하고 싶지 않고 시간이 없기 때문에 얼굴을 인식하기위한 선반 패키지에서 준비된 것입니다.
Janusz


7

http://libccv.org/를 봐야합니다.

새로운 기능이지만 얼굴 인식을위한 무료 오픈 소스 고급 API를 제공합니다.

(... 그리고 나는 정말 대단하다.)

편집 : 주목할 점은 이것이 opencv에 의존하지 않고 발 차기위한 몇 가지 라이브러리 중 하나라는 것입니다. 문서 페이지에서 얼굴 인식을위한 코드 사본은 다음과 같습니다.

#include <ccv.h>
int main(int argc, char** argv)
{
    ccv_dense_matrix_t* image = 0;
    ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
    ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]);         ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
    ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
    int i;
    for (i = 0; i < faces->rnum; i++)
    {
        ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
        printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
    }
    ccv_array_free(faces);
    ccv_bbf_classifier_cascade_free(cascade);
    ccv_matrix_free(image);
    return 0;
} 

5

나는 그것이 오래되었다는 것을 알고 있지만 관심있는 다른 사람들을 위해 Faint 프로젝트 가 있습니다.이 프로젝트는 많은 기능 (탐지, 인식 등)을 멋진 소프트웨어 패키지로 묶었습니다.


4

우리는 OpenCV를 사용하고 있습니다. 얼굴 인식 기능 도 많이 있지만, 얼굴 인식 기능도 제공합니다.


2
OpenCV에는 얼굴 인식을위한 직접적인 알고리즘이 없다고 생각합니다. OpenCV 라이브러리의 얼굴 감지 기능이 제대로 작동합니다
Janusz

3
네 말이 맞아. 얼굴 인식과 얼굴 인식을 혼동했습니다.
Paul J. Lucas

부수적으로, cv :: FaceRecognizer가 있으며 인식에 사용할 수 있습니다.
huesforalice

1

MVG 라이브러리를 열어 볼 수 있으며 여러 인터페이스에도 사용할 수 있습니다.


0

다음 단계는 FisherFaces입니다. 그것을 시도하고 그들이 당신을 위해 작동하는지 확인하십시오. 여기 좋은 비교가 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.