Create faces database from images with openCV? - database

I'm writing a program that detect faces from images; and recognize a face from an input image, using OpenCV library. I was done with detection part, but in recognization part, I don't know how to create faces database from detected faces. I read several samples about face recog using Eigenfaces, and it requires at least 2 faces per person from an available database - that I do not have.
My question is how to create the database, it's not just crop each face and store in a named folder, because maybe there're same faces in different images. Is there a way to compare those faces and group them in one folder?
Many thanks, and sorry for my poor English (:

If you look at this link, there are some face datasets that you could use, it also explains how-to Face recognition
http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html

Related

Training Watson Visual Recognition classifier

I am trying to evaluate the training function of the Watson visual Recognition API.
Has anyone some experience with costumizing classifers for Visual Recognition?
I have some expierence myself with training the classifier and found some infomation in this blog:
http://christopher5106.github.io/computer/vision/2016/12/23/ibm-watson-bluemix-visual-api-to-create-custom-classifier.html
What I really would like to know is how much pictures do I need of an object to classify it with an accuracy of 75%?
How long does it take to get such a result?
Thank you in advance for your help.
The number of pictures you need depends on how unique the object is, how many distinct image features a picture with it has, etc.
To give you a few examples from my own experience:
Logo detection: one image of the logo can be used to create several samples by adding noise, changing contrast, making small distortions and rotations, etc. If the logo is detailed and has good contrast, you should easily get 75%.
Cat detection using Haar wavelets: 100 images with data augmentation can yield around 75%
Human ear detection: about 300 images could get me to around 80%. This detector is being used in an iPhone app for virtual-trying eyeglasses.
You can also try this out yourself using Kaggle's Dogs Vs. Cats data. Just try various classifiers on them with different amounts of data, and you will get a very good idea.

Clarification about card.io models for character recognition

I started looking at card.io as part of a Android application that should to be able to scan a card and recognise the card number, date of expiration, card holder.
After digging for a while, I got to the card.io-dmz/models/generated folder where I see files that, according to a comment in their beginning, were "Autogenerated from models/conv/...".
However I was not able to find details about the files used to generate these "models". After checking the code, I assume that these generated files are directly responsible with the OCR of the numbers from cards.
To provide an example, the following card is scanned and recognised just fine (numbers only)
but the following card fails
I tried adjusting the ROI before the vertical segmentation is done, but I think the differences between the font used on the 2 cards makes it impossible to scan the second card.
My question really is, given the current open source projects from git hub, are there any chances for someone to add the capability of scanning cards similar as the black one above, or this would require to have access to other resources used to perform the actual OCR?
Dave from card.io here.
#Adrian your conclusions are all correct.
While we'd love to extend our deep-learning character-recognition models to cover newer style cards, such as your second card above, it's a big task.
Quite a few new-style cards (~100) would be required both to update the code that locates the card number in the first place, and then to train new character-recognition models.
At the moment, this isn't something that lends itself well to open sourcing. People tend to not want to share images of their credit cards, for some reason.
We have given some thought toward creating an open-source app that could be used to collect some portions of card images (e.g., all digit positions, plus actual images of just a few of the digits, plus an image of the expiration date). Then perhaps we could crowd-source a usefully large collection of information. And while that collection is being built, we could work on open-sourcing the many in-house tools we have created for working with computer vision and deep learning.
Would such a project be something you might participate in?

Mapping without Google Maps (on a stand-alone server)

I've been asked to create a stand-alone site/app that's not connected to the web (all on a local server).
One part of it is to have a map of a natural reserve with a bunch of links that will show footpaths, different animals habitat areas, visitor centres and such.
So there's a map (static picture) and when you click on it some overlay goes on top of it.
At least that's the way I see it now.
I've looked here: http://www.carto.net/williams/yosemite/ but it just looks mucho ugly.
Getting Maps Premium is not an option as it's not that cheap. And the reason they don't want to use Maps/Earth free API is because internet connection is still very slow there (sattelite internet only and when optic cable will be hooked up nobody knows).
Looking for some recommendations as to how to proceed there. Drawing paths/areas on the picture of the maps seems extremely insufficient and time consuming.
I'd need some way to use coordinates to automatically draw areas and lines over the map (and then somehow export that as a graphis file (or SVG) that'll be layered on top of original map simply using ajax.
Will ARCGIS pro edition be the way to go or should I start learning SVG. Do you know some good SVG books/tutorials (as related to mapping)? Maybe there's some other way around altogether...
They do have detailed maps of the area in ARCGIS (whatever format they are in I don't know yet).
Just looking for some ideas, any help will be appreciated. Thanks in advance.
Do you know GeoServer? More or less all-in-one, compatible with different types of datasets, widely customisable.
Starting from "raw" SVG and write the whole thing yourself will probably be prohibitively time consuming.
If you have very little data (say less than 50 geometries) that is fixed, you could also use OpenLayers without any backend server.
For the data you could use a OpenLayers.Layer.Image if your (overlay-) map consists of a small raster image. For vector data, you can use OpenLayers.Layer.Text or a OpenLayers.Layer.Vecor together with protocols OpenLayers.Layer.KML or .JSON.
You can click through the current release examples.
I admit that this is not an easy task for a beginner, but it's fun hacking the maps together.

Creating Reports in Silverlight (either as PDF or send it off to a printer)

I have recently attempted to generate reports in Silverlight 4. In my problem domain, these reports either need to go directly to the printer and/or the client-side SL application creates a PDF and allows the user to store it somewhere.
As for the report, it's roughly composed of 50% flow text (incl. enumerations), 30% tables and 20% charts. The flow text part makes it slighty more challenging, as proper line breaking would have to take place.
So far, I have tried the following approaches - each with its own shortcomings that make them not so much feasible:
Silverlight's own PrintDocument: technically, there are two major concerns. For one, getting page breaks to work and printing UIElements on it with proper layout is a bit of a dirty hackjob and full of compromises; thankfully that's the part I've managed to get working so far. However, the PrintDocument class always renders all visuals as bitmaps before sending them off; this is not so much fun, if one uses a PDF printer and hopes to still be able to search in / select text. David Poll's approach in "Silverlight and Beyond" [1] wasn't that helpful as well as it inherently follows the same approach and thus suffers from very similar issues.
silverPDF [2]: a barely documented library that requires to do most of the layout manually (the former approach at least allowed me to re-use Silverlight's layouting engine). So far, I see no way to (for instance) measure paragraphs and the only sample with long flowtext uses hardcoded absolute values for layout rectangles. Also, the developing party seems to be inactive.
Personally, I'm now thinking of following an entirely different strategy: simply generate HTML documents. But I was hoping that the community here might have hints for the two approaches above or know other good approaches.
Thanks in advance,
~Manny
Do you need to generate the report on the client, or can you get the server to generate it? Your options are better if you can generate it on the server. Personally, I think the way Silverlight printing works at the moment is pretty poor for report usage (sending each page to the printer as raster rather than vector, resulting in potentially huge amounts of data travelling through the network, and lower printing quality output). I've found the best strategy is to generate the PDF on the server (enabling you to take advantage of a reporting engine), and display it in your application. There are also a few commercial products (such as Telerik's Silverlight Report Viewer, Report Sharp Shooter, or even First Floor Software's Document Toolkit). If a client side solution is really required, perhaps one of these might be the best option (although the printing quality will still be poor). Note that Silverlight 5 is supposed to have support for vector printing, but it's another 6 months or more away from release. Yet another option is Pete Brown and David Poll's open source reporting framework here: http://silverlightreporting.codeplex.com/.
If you want to take the option of generating the report on the server as a PDF and displaying it in your application, I've written an article on doing so here: http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-6.aspx. This doesn't work for OOB applications, but the source code accompanying my book (Pro Business Applications with Silverlight 4) does: apress.com/book/view/9781430272076.
Hope this helps...
Chris Anderson

File format of CF10-jpg

While working on a tool that allows to exchange images of several third-party applications and thus creating individual "skins" for those applications, I have stumbled across a jpg-format about which I cannot seem to find any decent informations.
When looking at it in a hex-editor, it starts with the tag "CF10". Searching the internet has only provided a tool that is able to handle these kind of files, without any additional informations.
Does anyone have any further informations about this type of jpg-format?
file(1) should give you some useful information. You can also use ImageMagick's identify(1) program (optionally with the -verbose option) to get even more details about the file. See the example on that page for a good idea of what information it provides.
You could also try and see what the Droid identification tool says about that file.
CF stands for "Compression Factor". CF-10 means factor ten, and I don't think it's different from any "standard" jpeg.
DROID gives it as being a "JTIP (JPEG Tiled Image Pyramid)". Some info from http://www.bcr.org/cdp/digitaltb/digital_imaging/formats.html :
JTIP (JPEG Tiled Image Pyramid) is similar to GridPrix. It offers multiple layers of higher and higher resolutions. Each layer is further divided into tiles. A user can zoom into these tiles, or request a corresponding tile at a higher resolution.

Resources