Image Processing: Algorithm Improvement for 'Coca-Cola Can' Recognition

前端 未结 23 1674
后悔当初
后悔当初 2020-11-22 09:26

One of the most interesting projects I\'ve worked on in the past couple of years was a project about image processing. The goal was to develop a system to be able to recogni

23条回答
  •  广开言路
    2020-11-22 09:56

    Isn't it difficult even for humans to distinguish between a bottle and a can in the second image (provided the transparent region of the bottle is hidden)?

    They are almost the same except for a very small region (that is, width at the top of the can is a little small while the wrapper of the bottle is the same width throughout, but a minor change right?)

    The first thing that came to my mind was to check for the red top of bottle. But it is still a problem, if there is no top for the bottle, or if it is partially hidden (as mentioned above).

    The second thing I thought was about the transparency of bottle. OpenCV has some works on finding transparent objects in an image. Check the below links.

    • OpenCV Meeting Notes Minutes 2012-03-19

    • OpenCV Meeting Notes Minutes 2012-02-28

    Particularly look at this to see how accurately they detect glass:

    • OpenCV Meeting Notes Minutes 2012-04-24

    See their implementation result:

    Enter image description here

    They say it is the implementation of the paper "A Geodesic Active Contour Framework for Finding Glass" by K. McHenry and J. Ponce, CVPR 2006.

    It might be helpful in your case a little bit, but problem arises again if the bottle is filled.

    So I think here, you can search for the transparent body of the bottles first or for a red region connected to two transparent objects laterally which is obviously the bottle. (When working ideally, an image as follows.)

    Enter image description here

    Now you can remove the yellow region, that is, the label of the bottle and run your algorithm to find the can.

    Anyway, this solution also has different problems like in the other solutions.

    1. It works only if your bottle is empty. In that case, you will have to search for the red region between the two black colors (if the Coca Cola liquid is black).
    2. Another problem if transparent part is covered.

    But anyway, if there are none of the above problems in the pictures, this seems be to a better way.

提交回复
热议问题