Ask Your Question

How to detect or classify image type

asked 2015-02-17 12:39:34 -0500

essamzaky gravatar image

I'm building application for recognize ID cards similar to the attached images The ID list is predefined say i have 30 ID type , each type represent one country now i want to classify the input image to the proper Type , i don't need to recognize the ID , because i have predefined template for every ID type and i will use one of known OCR systems to get the requierd data.

image description image description image description

I used Matchtemplate as follow

  1. Extract unique area from every ID
  2. Save the extracted unique areas in files each file will be contain one template represent the ID
  3. when Unknown image is inserted to the system , i'm trying to find the best mach from all saved templates , then find the requested ID

but the system slow because i do 30 MatchTemplate to find the correct one , my Question now is there any other algorithm to detect the ID type faster and correct

edit retag flag offensive close merge delete


firstly I do not know where did you pick the images from (google, or personal dataset), but I would suggest to blur the faces and the names of the persons anyways since I think that personal data are exposed here (and that could be a reason for closing down this thread, except any other problems that might come up). Now regarding your question, did you try this approach related to template matching, it claims that it can optimize the template matching technique. If you still do not get that good results, what you could try, is some keypoints feature detection algorithm (e.g. SIFT, SURF, ORB, etc).

theodore gravatar imagetheodore ( 2015-02-17 15:57:44 -0500 )edit

@theodore , Thanks for your reply ,

  • regarding the images it's not my personal dataset , i just googled about ID cards and found the following link describes the diffirent ID types , , so they are published in Wiki pages and avaliable for all.
  • Regarding the sugested solution, i will test them and back to you
essamzaky gravatar imageessamzaky ( 2015-02-18 02:31:49 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2017-07-26 04:48:49 -0500

Raki gravatar image

updated 2017-07-26 05:24:57 -0500

Did I get you correctly that you want to classify the IDs based on their countries? If you only want to tell what country the ID belongs to, use template matching. This way you can have a set of templates of those coat of arms (like that Austrian eagle or the Estonian shield) and look for them in the ID surfaces, which would be found immediately. Because these coat of arms never change and they have to be same on every ID, which makes them perfect templates.

The only problem however, is, not all ID cards you have have a coat of arms. The Egyptian one for instance, it only has script and a face, from which, you cannot derive the country. You need at least one cue which you could derive the country information from. Background is not much of a use either, since it is occluded with script there. So the Egyptian one would be tough to figure out. You may need to utilize learning for that. That is, either teach your network about pyramids and all that or go for script detection techniques from which you can then figure out it says "Egypt" there in Arabic script. But as I said, both of these are extremely effort taking, not straightforward at all.

That is to say, you can easily detect the Austrian and Estonian one in your samples (or anyone with a coat of arms), however if there is only script with a face, your chances are too low.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2015-02-17 12:39:34 -0500

Seen: 803 times

Last updated: Jul 26 '17