fingerprinting and object recognition specific functions

asked 2017-04-28 04:49:46 -0600

ertan gravatar image

updated 2017-04-28 04:52:08 -0600


First of all, I have never developed a computer vision software before. Found OpenCV thru an internet search.

I would like to do an object recognition for hospital surgery tools. Like scissors, scalpel, etc. Those tools will be passing on a conveyor belt. It is assumed that there will be around 250 different tools for a given operation. Total amount of recognition objects is more than a thousand.

After forum searches and reading some tutorials, I think I should do following:

  1. Take quality pictures of each tool. If not identical on both sides, take two pictures per tool on each side.
  2. Develop an application with OpenCV to create fingerprint data out of these pictures.
  3. Save that fingerprint data into a disc file using "XML/YAML Persistence" classes. Depending on usage, saving whole file into a database is an option.
  4. Develop an application with OpenCV to do object recognition. To do that load all necessary saved fingerprint data into memory. Take a picture from camera, then create a fingerprint of taken picture and compare if both are similar.

My general questions are;

  • Did I miss some important step above?
  • Did I wrote a wrong information above? It is quite possible I mis-understand what I read.
  • What kind of a camera I should be using?
  • I will computer control conveyor and stop it for maybe a 0.5 seconds and take a picture and then continue to next part. Is this approach better than a continuous camera feed object recognition?

My detail questions about above items are:

  1. Position of the tool on the conveyor is not going to be same as the position of the studio taken picture. In order to be able to recognize correctly, what specific function should I use to create my fingerprint data for such a case?
  2. Very much like to above question, What specific function I should use to do the comparison and a decision to recognize the part on the conveyor belt. (As to my readings I think I should be using feature2d, not quite sure though. And absolutely do not know specific functions)
  3. Is OpenCV doing automatic use of CUDA? If not, is there GPU accelerated module I can use for my case?

Lastly, I could not find a complete example to my case. I appreciate that if it can be advised several examples which combines all above I want to do.

Thanks & regards.

edit retag flag offensive close merge delete


I dont think there is a "specific " example that can solove your problem .You may read more docs and make clear a queston,that is "what computer version can do and cannot do",good luck!

jsxyhelu gravatar imagejsxyhelu ( 2017-05-01 07:56:36 -0600 )edit