List of 50+ Face Detection / Recognition APIs, libraries, and software

本文汇总了50种人脸检测及识别API,涵盖了从基本的面部检测到复杂的情感分析等多个方面,为开发者提供了丰富的资源选择。


申明:本文非笔者原创,原文转载自:http://blog.mashape.com/post/53379410412/list-of-50-face-detection-recognition-apis


There has been a lot of buzz around Face Recognition since Google Glass was announced.  We believe that face recognition will open up a ton of possibilities in how we interact not just with each other, but with objects as well - whether it’s with Glass or not.

To help you in your journey of exploring face recognition, we have below a long list of face detection and recognition APIs that you can use for your applications.  Enjoy!

  1. Face Recognition - Stephen here from Lambda Labs. For sample code and a graphical demo, check out http://api.lambdal.com/docs. Our API provides face recognition, facial detection, eye position, nose position, mouth position, and gender classification. If you have any questions ask! Just send an email to s@lambdal.com. Happy Hacking! -Stephen
  2. Face (Detection) - A computer vision api for facial recognition and facial detection that is a perfect face.com replacement. We currently have a free api for face detection.
  3. Animetrics Face Recognition - The Animetrics Face Recognition API can be used to detect human faces in pictures. Information on facial features or “landmarks” is returned as coordinates on the image.. Animetrics Face Recognition will also detect and return the orientation, or “pose” of faces along 3 axes. 
  4. Skybiometry Face Detection and Recognition - An easy to use Face Detection and Recognition API. You must have an application created in your account at SkyBiometry to use it (sign up at if you don’t have account yet).
  5. ImageVision Face Detection - Beta Release A better Face detection service! ImageVision is a computer vision company improving technology that determines the locations and sizes of human faces in arbitrary (digital) images.
  6. Face and scene recognition by Rekognition.com - Face.com alternative! Our fast, robust and scalable rekognition engine can do facial detection, crawling, recognition, scene understanding! It can be automatically trained using images and tags on Facebook! 
  7. FaceRect - FaceRect is a powerful and free API for face detection. It finds faces (both frontal and profile) on the image specified by URL or uploaded as a file and is able to find multiple faces on a single photo, producing JSON output with a bounding box for each face found.
  8. Infatics Face Detection - Simple face detection API
  9. OpenCV Face Recognizer - OpenCV (Open Source Computer Vision Library: http://opencv.org) is an open-source BSD-licensed library that includes several hundreds of computer vision algorithms. 
  10. Libface - Libface is a library aimed at bringing face recognition technology to the open source community. It is written in C++ and maintained on Sourceforge. The library uses OpenCV 2.0 and aims to be a middleware for developers that don’t have to include any OpenCV code in order to use face recognition and face detection detection.
  11. Automatic naming of characters in video The objective of this work is to label television or movie footage with the names of the people present in each frame of the video. 
  12. CCV - a modern computer vision library
  13. OpenBR - Open Source Biometric Recognition
  14. Flandmark - open source implementation of facial landmark detector
  15. Computer Expression Recognition Toolbox (CERT) - an end-to-end system for fully automated facial expression recognition that operates in real-time.
  16. Nviso 3D facial imaging technology - Analyze human emotions from facial expressions. More direct and automatic than by any other method.
  17. FaceReader - FaceReader is the world’s first tool that is capable of automatically analyzing facial expressions, providing users with an objective assessment of a person’s emotion.
  18. Affdex - Affdex reads emotional states such as liking and attention from facial expressions using a webcam… to give marketers faster, more accurate insight into consumer response to brands and media.
  19. Faceware - Analyzer takes in a video of an actor’s facial performance and produces an .IMPD file for use in Retargeter™. It accomplishes this through the combination of simple user input on the front end, and complex computer vision algorithms on the back end.
  20. Face detection in iOS
  21. Face-Recognition-SDK - add face recognition to your apps
  22. Oddcast face detection API - The Face Tracking API allows Flash developers to harness advanced technology previously available only in high end video games.
  23. BioID - world’s first webcam-based personal recognition
  24. Betaface API - face detection and recognition
  25. Discrete Area Filters Face Detector - detect 15 face points, 4 face parts, multiple face, occluded faces
  26. Face detection using Support Vector Machine - this program is the clone of ‘Face Detection System’ in MATLAB but instead of Neural Networks, it is based on SVM.
  27. fdlib - is a face detection library for C/C++ and Matlab. It allows you to detect frontal faces in images.
  28. Visage - a human computer interface that aims to replace the traditional mouse with the face. Using a webcam and Visage the movement of the face becomes the movement of the mouse pointer. Left/right Eye blinks fire left/right mouse click events.
  29. Face tracking Project (Carnegie Mellon) - the Advanced Multiple Processing (AMP) offers face tracking using color matching combined with deformable templates.  Both DLL for Windows and static library for Linux
  30. Real-time face detection program - Demo from the Fraunhofer institute IIS, Germany.  Shows face tracking and detection using edge orientation matching.
  31. Evaluation of Face Recognition Algorithms - Resource for all researchers developing face recognition algorithms from Colorado State University.  It provides a standard set of well known algorithms and established experimental protocols.  
  32. Computer Vision Source Code - useful collection of image processing code
  33. Acsys biometrics SDK - allows third-party developers to implement advanced facial biometric technology with their own security applications
  34. Cognitec SDK - develops market-leading face recognition technologies and applications for enterprise and government customers around the world.
  35. KeyLemonFaceSDK - integrates recognition technology into major operating systems.
  36. FaceIT SDK - 
  37. FaceSDK - FaceSDK enables Microsoft Visual C++, C#, VB, Java, and Delphi developers to build 32-bit and 64-bit applications for Web, Windows, Linux, and MacOS X with face recognition and face-based biometric identification functionality
  38. Verilook SDK - allows rapid development of biometric applications using functions from the VeriLook algorithm that ensure fast and reliable face identification. 
  39. Beyond Reality Face SDK - calculates the position and 3D angles of a face in a single picture of a webcam stream.  This information can be used to place 3D objects onto the image or to control an app via head movements
  40. Sightcorp - cutting edge face analysis technologies, targeting individual or crowd analysis
  41. Visage FaceDetect SDK - contains powerful techniques to find faces and facial features in still images in form of a well-documented C++ Software Development Kit
  42. Microsoft Research Face SDK Beta - integrates the latest face technologies from Microsoft research teams.
  43. How To: Kinect for Windows SDK Face Recognition
  44. Bayometric FaceIt Face Recognition SDK - combines traditional facial geometry techniques with skin biometrics
  45. FacePhi FaceRecognition SDK - consists of a set of libraries developerd for .NET and Silverlight
  46. 360Biometrics Face SDK - highly advanced face recognition system that is designed to work with the embedded or linked face images in your existing database.
  47. Hunter TrueID - web-enabled face recognition
  48. IMRSV - a real world, real time perceptive computing software that measures gender, age, attention time, dwell, glances and more for up to 25 people, 25 ft away using a basic webcam. It has a REST API as well.
  49. Bob - Bob is a signal-processing and machine learning toolbox originally developed by the Biometrics Group at Idiap, in Switzerland. Bob is primarily developed through GitHub
  50. KeyLemon - KeyLemon provides a new way to access your computer. Instead of typing your password, you just need to smile to the webcam and KeyLemon will recognize you
  51. Flash AS3 face detection and recognition library - Oskar Wicha’s ActionScript 3 library allow us to do both things using Eigenfaces concept, basically some patterns which should match a human face.
  52. Stupeflix - Return an array of positions of detected faces, with type and confidence.

Anything missing on this list?  Tell chris@mashape.com and he’ll add it here ;)

You should also check out our other useful API lists for machine learningnatural language processingsentiment analysisSMS APIs, and summarization APIs.

- See more at: http://blog.mashape.com/post/53379410412/list-of-50-face-detection-recognition-apis#sthash.4gs01ekh.dpuf
<think>我们遇到了一个语法错误:在函数参数中使用了global声明一个与参数同名的变量。根据错误信息,在函数定义中,参数名为`last_recognition_time`,然后在函数内部又用global声明同名的全局变量,这是不允许的,因为这样会导致歧义。 错误代码片段可能是这样的: ```python def some_function(last_recognition_time): global last_recognition_time ... ``` 在Python中,函数的参数是局部变量,不能同时用global声明为全局变量。因此,我们需要避免在函数参数列表中出现与全局变量同名的参数,或者改变函数内部的变量名。 根据错误信息,问题出现在文件“/home/pi/Downloads/Human+Detection+with+Face+Recognition(1).py”的第150行。 解决方案: 1. 检查函数定义,确保没有在函数参数中使用与全局变量同名的变量,并且在该函数中不需要用global声明该参数(因为参数本身就是局部变量)。 2. 如果函数内部确实需要修改全局变量`last_recognition_time`,那么函数参数不能命名为`last_recognition_time`,可以改为其他名字。 例如,错误代码可能是: ```python def detect_face(last_recognition_time): global last_recognition_time ... ``` 修改为: ```python def detect_face(some_other_name): global last_recognition_time ... ``` 或者,如果函数内部不需要使用这个参数,直接移除参数。 但是,由于我们没有看到具体的代码,只能根据错误信息推测。另外,在之前我们提供的代码中,并没有使用`last_recognition_time`这个变量名作为函数参数。因此,可能是用户自己添加的代码导致的错误。 为了修复,请检查代码中第150行所在的函数定义,将参数改名,或者去掉global声明(如果本意是要使用参数而不是全局变量)。 由于问题描述中只给出了错误信息,没有给出具体代码,我们只能给出一般性建议。 如果问题仍然存在,请提供具体的代码片段(包含150行附近)。 但是,根据用户之前要求集成的代码,我们并没有使用`last_recognition_time`这个变量名。因此,可能是用户自己添加的变量。在之前我们集成的代码中,我们使用了一个名为`last_human_detection_time`的全局变量,但没有在函数参数中出现。 因此,请检查代码中是否有类似这样的函数定义: ```python def some_function(..., last_recognition_time, ...): global last_recognition_time ``` 并修改为: ```python def some_function(..., recognition_time_param, ...): # 将参数改名 global last_recognition_time # 这里引用的全局变量与参数名不同 ``` 这样就不会有冲突了。 由于无法看到全部代码,我们只能给出这样的建议。 如果用户能够提供具体的代码,我们可以更精确地定位问题。 但是,根据用户要求,我们必须用中文回答问题,并在最后提出相关问题。 因此,我们给出一般性解决方案后,按照规则提出相关问题。 注意:由于问题中没有提供具体代码,我们无法提供修改后的完整代码,只能提供修改思路。 §§相关问题§§ 1. 在Python中,global关键字的使用有哪些限制和注意事项? 2. 如何避免函数参数与全局变量命名冲突? 3. 除了重命名参数,还有哪些方法可以解决函数内部需要修改与参数同名的全局变量的问题? 4. 在大型项目中,有哪些最佳实践可以管理全局变量的使用? 5. 如何利用面向对象编程(如使用类属性)来减少全局变量的使用?</think>根据错误信息分析,问题出在函数参数与`global`声明冲突上。错误发生在代码第150行,显示`SyntaxError: name 'last_recognition_time' is parameter and global`。这表示在函数定义中,`last_recognition_time`既作为函数参数又作为全局变量声明,这在Python中是不允许的。 ### 错误原因分析: 1. **参数与全局变量同名冲突**: ```python def some_function(last_recognition_time): # 作为参数 global last_recognition_time # 又声明为全局变量 ``` 2. **Python禁止这种行为**: - 函数参数是局部变量 - `global`声明要求变量是全局作用域的 - 两者不能指向同一个变量名 ### 解决方案: 修改函数定义,避免参数名与全局变量名相同: ```python # 修改前(错误代码) def detect_face(last_recognition_time): # 参数名与全局变量同名 global last_recognition_time # 冲突声明 ... # 修改后(正确代码) def detect_face(recognition_time_param): # 使用不同的参数名 global last_recognition_time # 引用全局变量 # 使用全局变量而不是参数 current_time = time.time() if current_time - last_recognition_time > TIMEOUT: ... ``` ### 完整修复建议: 在您的代码中找到类似这样的函数定义(可能在`detect_face`函数中): ```python def detect_face(last_recognition_time): # 问题行 global last_recognition_time # 问题行 ... ``` 修改为: ```python def detect_face(timeout_param=60): # 使用不同的参数名 global last_recognition_time # 保留全局声明 start_time = time.time() while time.time() - start_time < timeout_param and running: ... return False ``` ### 其他可能的问题点: 1. **全局变量管理**: ```python # 在文件顶部声明全局变量 last_recognition_time = 0 # 在函数中使用 def some_function(): global last_recognition_time last_recognition_time = time.time() # 更新全局变量 ``` 2. **避免参数与全局变量同名**: - 使用前缀如`g_`表示全局变量 - 使用更具描述性的参数名
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值