This essay is a work-in-progress and will be updated periodically. Other related essays concerning image processing and object recognition will be posted as they reach maturity.
- "Where is the nearest ...?"
- "How many ... do we have?"
- "How long have we had ...?"
- "Where has ... been stored?"
- "Is ... safe to handle?"
- "Does ... need to be right side up?"
- "What does ... attach to?"
- "How does ... need to be stored?"
- "Do we need to order more ... when this is used up?"
- "Is ... more expensive than ...?"
- "Is there anything special about ...? Is it rare or valuable or dangerous or fragile?"
- "What is ...? What is it used for?"
- allow for object identification,
- retain arbitrary properties,
- track current location and location history,
- group objects during storage or use,
- allow for assembly and disassembly of composite objects
A forthcoming essay will focus on the requirements of visual object recognition systems.
There is a range of requirements from the most basic detection of visual features within a background of clutter all the way through the comprehensive integration with a central object-location-tracking database. This is required to ensure accurate identification of a particular object, not just the kind of object.
Selecting the pencil laying on the notepad in front of you is almost always preferable to selecting an identical pencil from the pencil holder. The history of the object is as important as its location, and, in general, history requires the combined recognition and tracking of multiple visual sensors.
In a world of ubiquitous, distributed visual recognition systems such as foveal cameras, each camera develops a learned history of particular features that compose and are associated with particular objects. The different histories ("experiences") of each camera means that their library of recognition templates will be unique. And yet, we want to be able to assign the same "identity" to objects as they move from one camera's area to the next. This implies that there should be an "object template description" that is both compact and sufficient to (more or less) uniquely identify a particular class of object. This data is what would normally be communicated with the central object-location database, and with other nearby cameras to aid in tracking particular objects from one station to the next.
Consider: trying to locate a particular individual using the cameras in a shopping mall. Start with a general description such as "short, fat guy in a red suit". This is actually a LOT of information expressed very succinctly. It lops out most of the objects from your recognition database and allows attention to be devoted to the most likely suspects. Maybe a candidate is seen from one point of view and you add to the description: "he has shiny black boots". Motion tracking and adjacency ensures that this is the same individual. You are building a more complete description. Another view: "He has a white beard". Multiple observers watching from different cameras share the ability to casually recognize these high-level features and need ONLY the general location and compact description to be reasonably assured of success.
Although I am describing this as Inventory Management, there are many applications. The Inventory that we are managing need not be simply nuts and bolts. For example:
- Identify people and track their movement
- Production operations in a manufacturing facility. Time and Motion studies.
- Ensuring "Appropriate Redundancy" of tools and supplies. Not too many and not too few.
- Transportation, Cargo and Freight operations.
- Restaurants, Food Services and other Just-In-Time manufacturing
- Produce tracking for food safety
- Infrastructure Maintenance - Buildings and Utilities
- Construction Industry - On-site Manufacturing and assembly
- Health Care and Pharmaceuticals
- Records Management - Customers, Patients, ISO 9000, etc.
- Libraries and Collections
Tracking Santa Claus
You have to ask for it before the system will tell you anything
System should be proactive and push appropriate information to to in advance of need
Locations are hidden until a query is made