Object Recognition
Media Server can recognize rigid two-dimensional objects in images. Example applications are:
- recognition of logos, either on their own or as part of a larger image.
- recognition of product packaging.
- recognition of paintings or prints.
- recognition of a particular advert in a newspaper or magazine.
All these examples consist of rigid objects that have a fixed geometry. The image of the object might vary in appearance owing to, for example, camera pose, lighting, partial occlusion, noise or compression artifacts, but the object itself retains the same geometry. In the example of the advert in a newspaper, for example, the page should be flat or nearly flat for object recognition to function reliably.
Media Server returns the identity and location of each recognized object.
For Media Server to recognize an object, it must have a representative model of the object in a database. You create these models by sending Media Server example images. The accuracy of object recognition is affected by the quality of both the training images and also the target images in which to search for the objects. You can also configure object recognition to maximize accuracy.
You can perform object recognition training through the Media Server GUI.
NOTE: Many companies have multiple versions of their logos; for example, Twitter has several subtly different versions of its logo. Logos consisting of text and graphics might have versions where the size and position of the text varies. Media Server recognizes only the versions of the logo that it is trained on.
Training Image Requirements
Objects are trained from a single front-on view of the object. Media Server can recognize the trained model across a large range of scales and poses.
There are few restrictions on the size of the training image, but it must be large enough to show the required detail. The minimum size is about 50x50 pixels, but most objects require a larger image in order to include all the detail. Media Server downsizes images consisting of more than 307,200 pixels (equivalent to a 640x480 image), so there is no advantage in using training images that are larger than this.
Use a good quality training image. If you expect the target image to be blurred, it sometimes helps to use a blurred training image; however, this does not always improve recognition and OpenText recommends that you attempt it only when a good quality training image does not work. Objects that are very sparse, with little or no texture, and a small number of corners or edges, might not work as well as more complex objects.
Target Image Requirements
You can run object recognition on an image of any size, but the quality of the results depends on both the size of the image and the size of the object within the image.
The size of the object within the image is the more important factor: the algorithm works reliably (depending on other factors) if the object occupies a minimum area of 100x100 pixels. Some objects are detectable down to 50x50 pixels. Media Server does not usually detect an object below this size.
The size of the image is less important than the size of the object; however a large image might contain a large amount of clutter, which makes the algorithm slower and increases the false positive rate.
Other than size, factors that can reduce recognition accuracy are:
- heavy blurring
- severe compression artifacts
- large amounts of noise
- specular lighting effects
- very dim lighting
- saturated lighting
- shadows
- occlusion