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


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.