Alternatives to face.com API - php

Sadly, the face.com API is being shut down due acquisition by Facebook.
Are there any decent alternatives out there?
I'm looking to check for a given image if there is a face in it + demographics content about it.

Sad news indeed. If you have a good reason and already have an account, they may extend you until October, 2012:
http://developers.face.com/extension-request/
For everyone else, here's a list of potential alternatives I've compiled:
OpenCV: http://opencv.willowgarage.com/ (C/C++ but at least its opensource,
standalone and downloadable)
Viewdle (Objective-C)... bought/axed by Google, instead see: Face Recognition on the iPhone
Betaface API: http://www.betafaceapi.com/ (C#/.net or API)
Rekognition: http://rekognition.com/ (API)
Lambda Labs: http://lambdal.com/ (API; still in Private BETA)
BiometryCloud: http://www.biometrycloud.com/ (API; as already mentioned Private BETA)
Sky Biometry: http://www.skybiometry.com/
The following are similar but more on the Augmented Reality (AR) library side for detecting objects or movement with a webcam only, but with some extending could likely be trained to detect faces in snapshots or uploaded images as well:
FaceAPI - Track Faces from a Webcam: http://faceapi.com
SURF library - Image Recognition & Feature Extraction for Adobe Flash Platform: http://code.google.com/p/in-spirit/wiki/ASSURF
Content Based Image Recognition - a stab in PHP: http://web.archive.org/web/20120309034643/http://www.searchlores.org/finn_cbir_1.htm
A Not-so-slow JavaScript Face Detector: http://liuliu.me/ccv/js/nss/
Face Detection in JavaScript via HTML5 Canvas: https://github.com/neave/face-detection
If anyone knows others, please feel free to add here to make this list as comprehensive as possible.
UPDATE (2013-08-20): Found this article the other day and thought I should add it here, though not sure how many projects listed there are still active: http://blog.mashape.com/post/53379410412/list-of-40-face-detection-recognition-apis

SkyBiometry.com has a drop-in replacement. The API is available for free usage.

There is also HP Lab's Multimedia Analytics Platform, also in beta.

There is a Open Source Project called "openbr" which is built over opencv and Qt, that’s has got few good api's to be used.
Pretty Easy to use from shell and has got adapters for IIRC python and java too
example from website for face recognition:
$ br -algorithm FaceRecognition -compare me.jpg you.jpg
Github:https://github.com/biometrics/openbr
Website: http://openbiometrics.org/

Another option for some face.com developers, although it may not provide exactly what you're looking for, Noam (in terms of demographics), is BioID's face recognition API.
Since BioID's technology was developed for authentication the API doesn't support all the features of face.com (age, gender, glasses, multiple face points, etc.), but can do things face.com couldn't (such as better recognition, image quality checks, fraud detection, and naturally authentication).
You can find a more detailed explanation of the differences at
https://www.bioid.com/solutions/solutions-by-application/bioid-for-facedotcom.html

http://www.identitykit.it is a RESTful web service that offers face detection and face recognition functions. You can try a web demo in order to test their API at http://www.identitykit.it/index.php/demo/login

api.animetrics.com provides a pretty nice free face detection and facial recognition api. Their detectors don't provide demographics but they do include 20 or so feature points on the face, in addition to pitch, yaw, and roll. They will also generate a 3D "setpose" or mugshot image of an off-centered/rotated face.

Another option is Kairos.com's API.
We have a RESTful API available that is under active development and provides the same functionality as the old face.com API.
You can sign up at developer.kairos.com.
Full disclosure I am CTO at Kairos.

Please have a look at the videos we have at www.biometrycloud.com. I'm one of the founders and we've been working hard over the past year to provide a RESTFULL API that does facial recognition. First we focus on face recognition and verification. Now we are opening a private beta version of our API and will continue developing other features such as gender, age group, etc. if there's enough interest.

Here's a free trial with 75,000 API Calls
http://cloudinary.com/documentation

Related

Fixed Cost Map Library or Service?

I need mapping for an AJAX (Javascript/PHP/MySQL) project. All the providers I researched used a tile cost model or were beyond our budget.
I'm not looking for anything fancy, just something that allows:
Commercial Use (for us and users of our service who use the maps)
Panning
Zooming
Street Layers
Efficiently plotting large numbers (eg: >= 1,000) of markers by GIS or zip code.
Adding annotations to markers (directly or via legend).
I may even be able to do without 1 or 2 if it comes down to it.
The budget for this is tight: $2,500 for an annual license or and $5,000 to buy something outright. However, this figure may be adjusted if there's something that isn't too far out of the ballpark.
Does anyone know of anything that fits the bill (bad pun unintended)?
Also, an additional wrinkle is that the underlying tile server should be included in the price. Some excellent responses were provided so far (and I'm looking into them), but some of them are libraries only and the tile server may be a hidden cost. It's also not always clear just what (default) tile server is used with what library.
The first thing that I would try is MapQuest APIs with OpenStreetMap option:
It is free of charge for commercial and non-commercial use
It supports panning and zooming
It has geocoding, letting you map by ZIP code
It supports POI markers and InfoWindows, letting you supply annotations to markers on the map.
The biggest limitation that comes with using OpenStreetMap is the lack of routing services, but it is not on your "shopping list" anyway.
Some other solutions that might be worth investigating.
OpenLayers (http://openlayers.org/) appears to support what you need.
2-clause BSD License (also known as the FreeBSD)
zoom and panning
plotting
more examples here
Leaflet (http://leafletjs.com/) looks promising. Looks like it relies on the OpenStreetMap option.
Zoom buttons, Panning animation, GeoJSON layers,
Attribution-ShareAlike 2.0 Generic license
Also, here's a comparison of the two above solutions.
Hopefully, these help in your search for the optimal solution.
EDIT 0
MapBox (http://mapbox.com) looks like a pretty cool pay solution, that looks to be within your budget. It appears to support everything you need and more.
EDIT 1
I performed some more searching and found the following.
Modest Maps - http://modestmaps.com/
Custom Build - Build it yourself? SO user provides basic explanation.
My personal opinion would be to use the effective "standard" OSS
libraries that form this type of stack.
OSGEO has a bunch of resources for exactly this.
PostGIS (database)
Apache (webserver)
MapServer (WMS compliant GIS server)
OpenStreetMap (the maps you'll need)
OpenScales or OpenLayers
(Flex or JS API) Total cost: a few hours of setup.
Polymaps - http://polymaps.org/
CloudMade - http://cloudmade.com/; pricing; SO user feedback on the company
Google Maps - Not sure why it wasn't already mentioned, but Google maps (http://www.google.com/enterprise/earthmaps/maps.html; more here) might be a possible solution. The high usage limits seem promising; you'll have to contact them for pricing, unfortunately. Still, it might be worth a look.
Bing Maps - http://www.microsoft.com/maps/
Nokia Maps - http://developer.here.net/

PHP5 PDF Generation?

So lately I've been thinking of building and implementing my own invoice system with PHP and I want to have an optional 'Download/Generate PDF' button that creates a PDF based off of either a template that was created or based off of html/css.
I want a method that is free (seeing as some are ridiculously overpriced) and hopefully not too difficult to use. The end goal is to create something that would be good enough for commercial use (though it's not my intent to sell it).
I've heard of options such as TCPDF, Dompdf, wkhtmlpdf etc. But again I'm looking for one that would render most correct, and potentially be used commercially. I'd like suggestions specifically based off of what I require as I have searched the site for topics that are similar; I'm aware of the different libraries but not sure what I should use.
Thanks in advance! :)
Having done this a couple times, my suggestion would be to take an existing library that wraps up the low level PDF tools into a decent API, and then build your own library that is specific to your needs (invoicing) on top of it.
I would suggest Zend PDF or TCPDF as a base library to build on. As you add classes to your own library you'll be able to wrap up things like table / line-item generation, headers, footers, etc.
I used FPDF library, I liked it. http://www.fpdf.org/
and check this manual anyway: http://php.net/manual/en/book.pdf.php
I'm often suspicious about low-level reporting systems (TCPDF et al) - they're very well done, but if a business needs a new report, it can take ages to write code to draw the report to client requirements. I therefore prefer GUI/server solutions, such as iReport (used to design a report) and Jasper (reporting server) - the editability of such a report is near-instantaneous, and thus much more responsive to changing business requirements.
On the plus side, it's free and open source, and on the negative side, you'll need a spare server to run it on. It's Java based, but reports can be run via PHP using SOAP.
If you can use external tools, I recommend wkhtmlpdf. It is really simple to use.
Check out the "Integration With PHP" on their wiki: https://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp

How can you solve equations in PHP?

I'm looking for a generalized equation solver in PHP. This could either be in the form of in-built functionality, a library, or even integration with another language if it comes to it. I am even comfortable with a joint solution that involves some combination of the above. I need this for an educational website on which I am working.
Let me give a series of equations that I would ideally expect such a solver to deal with:
x+5=8 => x=3
x^2=5 => x=+/-sqrt(5) [exact solution in terms of sqrt, ln, or whatever] AND
x=+/-2.236 [approximate solution to certain number of digits]
x+y=-3 [solve in terms of y] => y=-x-3
x^2=-5 => x=+/5i
x+y=3 and x-y=3 => x=3, y=0
I hope this is not a bridge too far. If so, I'll build the functionality as each problem comes in-house, but if anyone knows of the proper library for such a set of problems, I would greatly appreciate it.
Check out Sage, from their website:
Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.
Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
Sage has an AJAX-based notebook interface, that is probably as good as an API that you can use from PHP.
First: your math solutions are wrong.
x+5=8 evaluates to x=3
x+y=-3, y evaluates to -x-3
etc.
To do the math: make an API call to Wolfram|Alpha.
Seeing as this is an educational venture, I would highly suggest that you do not create your own product and rely on third-party software. I would personally go with Wolfram Mathematica, and probably their pre-college solutions or go with Web Mathematica for web interfaces.
Note about Web Mathematica: it uses JSP or Java Servlets for it's back-end technology. More about specific technical details for Web Mathematica will be helpful.

Existing PHP Tool for Feature Toggle

Recently I've read a number of articles talking about the idea of using "feature toggles" or "gatekeepers" to keep features hidden from users until the development is done. Facebook and Flickr both also talk about how they use this to test new features with a subset of users before unleashing them on everyone.
A bit of googling didn't turn up any existing PHP packages/tools that can be added to a web app to handle this type of thing. It seems straight forward enough to roll our own but no reason to re-invent that wheel if we don't need to. Are there any existing PHP tools to do this?
Articles
Feature Toggle by Martin Fowler
Flipping Out on Flickr DevBlog
Clarification: The part of this that I'm looking to see if it exists is the admin panel that controls which users can see the new features. In Flickr's example, they can turn it on based on the host. In the Facebook example, they add functionality such as limiting a feature to 5% of users, only TechCrunch users or only East coast users.
The admin panel seems crucial when you have 200 turned on features, 10 features that aren't quite done yet and 3 more that you're demoing for some users.
if (user_can_see_app()) {
show_app();
} else {
dont_show_app();
}
I fail to see why a package would be required for something so simple.
I've wrote a micro service for feature toggle pattern, called Bipolar:
https://marinho.github.io/bipolar-server
It is written in Python but that doesn't matter because it is an external API and Admin interface, so, all you need is to write a PHP client for it. We have used it in production for a while but only worked on public release and documentation recently. For JavaScript support it can push notifications using Webhooks as a basic URL call or via Pusher event.
I am bit missed after many years with no contact with PHP, but I can help you to write the client if you are interested.
I hope that can be helpful.
The easiest solution i found is to have the feature toggle state stored in some remote location that can change easily (turn it on/off)
I found it easy to have on GitHub a repo holding some JSON data with the feature toggle's state, later on you can change that state on GitHub (from phone/pc etc...)
your php code needs to fetch the JSON and make a decision from it ...
you can look at the blog post about how to achieve this:
http://www.nimrodstech.com/dead-simple-feature-toggle/
it shows a code snippet of how to achieve this in a simple way.

Quickest way to implement a searchable, browsable image gallery - flickr integration?

I have a friend who is need of a web page. He does interior construction, and would like to have a gallery of his work. I'll probably go for a php host, and was thinking about the best way to implement the image gallery for him. I came up with:
Use flickr to host the images. They can be tagged, added to sets, and I can use both the tag and set information to display "categories" for the gallery, as well as browsing. Flickr also has multi-upload tools so that a 20 photo job won't be a PITA to upload.
How to best get at the api? Is there a good PHP library for flickr integration? Should I roll my own?
API key - is this considered a commercial project? The web page is for his business, and he will be paying me to create the site...
Is flickr the wrong tool for the job? It seems like a pretty good solution in my head, but is there something I'm missing? I haven't used their APIs at all.
Thanks for any input!
It sounds like a difficult way to do things - have you considered Gallery (No points on creativity for the name!).
Unless you're really wanting to save on bandwidth, I think you'd get much better results from installing some pre-built gallery.
The perfect solution for this kind of thing is Picasa (from Google ofcourse)
You get:
1gb of free storage space on a Google Picasaweb account that already has a web interface with embeddable slideshows and stuff
A compete image browse and upoad program for the client side (namely Picasa) that's directly connected to the web albums. It's so user friendly that even your grandma can put her pictures online with that.
RSS feeds and an API from google.
there's a custom light-weight PHP api available
Need anyting else?
Note from Chris to others that may be looking for an answer: The API can be found here.
I recently implemented a Flickr-based photo gallery for a client. Flickr was perfect for them for a lot of reasons. Gallery is an impressive open-source project, but its feature set (and complexity of administration) was overkill for what this client needed.
Check out the Flickr API, especially the section on building URLs, which will be necessary when building your web pages. Don't bother coding a PHP wrapper for the API's. phpFlickr has already done it, and it's a smart implementation.
Here's a helper function I wrote that made life a lot easier for the various pages that need to access Flicker:
function newFlickr()
{
static $flickr = NULL;
if($flickr != NULL)
{
return $flickr;
}
$flickr = new phpFlickr(api-key, secret);
$flickr->setToken(token);
$flickr->enableCache("db", "mysql://acct:pass#localhost/flickrcache");
return $flickr;
}
The trick here is that all the crud you need to enter is stored in a central place in your code. Caching is key, so use it. And, if you need a phpFlickr object in multiple places for each request, you're only ctor'ing it once, which saves on init time.
Having Read SchizoDuckie's post, I had a look at the picasa api for php, and found it a bit daunting to start with, however I found this sample code absolutely brilliant for getting started with some basic integration.
Samples for other languages also seem to be available - can't vouch for their usefullness, but suspect they will be good too.
These might be of help. They are mootools scripts and run without any server-side coding necessary. Both integrate with Flickr.
http://imago.codeboje.de/
http://www.moopix.org/
If you have any interest in Ruby on Rails, there is a screencast here that shows how to create a site similar to what you are describing in RoR.

Categories