RoadNarrows CogniBoost

The RoadNarrows CogniBoost module provides an interface to the CogniBoost vision recognition board. Powered by the CogniMem CM-1K neural network chip by General-Vision, visual objects are readily detected and categorized from patterns previously trained. The recognized visual categories are then fed into RoboRealm to guide goal decisions, object localization, platform movement and navigation, and environment manipulation.

The CogniBoost RoboRealm module can be used to train patterns on the board. Recognized object categories are fed back into RoboRealm as variables that can be used by other modules or transported to external application/devices.

The module sends images to be recognized to the CogniBoost board. This allows images to be prefiltered, oriented, etc. using all of RoboRealms other modules in order to improve recognition results or focus recognition on specific image aspects.



1. COM Port - Select the appropriate COM port that is connected to the CogniBoost board. If the appropriate COM port does not appear ensure that all connections are made and that the CogniBoost board is turned on. Close the module and reopen to see if the COM port appears in the dropdown list.

2. Train Pattern - Pressing this button will cause CogniBoost to train on the currently viewed image. This image is stored in CogniBoost and will immediately start detecting the presence of that object. You should see the Recognition values being populated as soon as an object is trained.

3. Pattern Width & Height - The CogniBoost works with 256 'pixel' values. In order to create a two dimensional image a width and height of a pattern is required. If you find that your patterns are better detected in a more vertical or horizontal shape as apposed to the default square pattern you can change the width and height appropriately. Note, however, when you change these parameters you WILL lose all currently trained patterns.

4. Upload Patterns To CogniBoost - uploads images from the PC to the CogniBoost board. Note that these images MUST have the same dimensions as what is currently configured in the CogniBoost board based on the ROI settings. See Pattern Width and Pattern Height for what this size needs to be. Note that images can be of any recognized image format but it is recommended to use a non-lossy image compression technique such as gif or png in order to store images. This ensures that the trained pattern is exactly the same as the stored image. Note that you may wish to "Forget All Patterns" before uploading to ensure that only those images uploaded are contained with CogniBoost.

5. Forget All Patterns - Causes CogniBoost to forget all trained images and set its pattern counter to zero. This should be used before training on valid images to clear out any experimental patterns that you may have trained on. This should also be used prior to uploading patterns to CogniBoost to clear out existing patterns. If you do NOT use this function prior to uploading patterns new patterns will be added to the current list within CogniBoost possibly duplicating existing patterns.

6. ROI - To focus on a specific area of an image you can change the ROI (seen as a red square in the live image) to change what part of the image is focused on. Often it is not possible to align the camera on the expected object position such that the object completely fills the field of view. When this happens adjusting the ROI to ignore non-object areas of the image can help improve object recognition. Note that the ROI area is scaled into the pattern width and height before sending it to the CogniBoost.

Note that changing these parameters may invalidate image patterns that you have trained on if the aspect ratio changes from what was trained. This is due to the scaling requirement to map the ROI into the pattern size.

X Start - the x (horizontal) start coordinate

Y Start - the y (vertical) start coordinate

X End - the x (horizontal) end coordinate

Y End - the y (vertical) end coordinate

Arrows - use the provided arrows to move the ROI as a whole around the image. Note that moving the entire ROI will NOT affect the CogniBoost image size and therefore will not affect the recognition of previously trained patterns.

Zoom - use the provided zoom and un-zoom buttons to change the field of view of the ROI. As the zoom will preserve the image aspect ratio your previous image patterns will work.

7. Options

Classifier - K-Nearest Neighbor or Radial Basis Function. The KNN classifier discards the relationship between the distance and influence field of a neuron. As a consequence, all the neurons fire and their distance and category can be read in sequence per increasing order of distance. The RBF classifier uses the Influence Field of the neurons at the time of the recognition. A neuron fires only if the distance calculated between the input vector and its vector in memory is less than its influence field.

Norm - Determines how to calculate the distance between the reference pattern or prototype stored in a neuron and an input pattern. (Manhattan distance versus Euclidian distance))

Minimum Influence Field - Defines the "Uncertainty" zones in the decision space.

Maximum Influence Field - The default value of a newly committed neuron when no other neuron recognizes the vector to learn

8. Reset CogniBoost - You can reset the CogniBoost board by pressing the "Reset CogniBoost" button. This will cause CogniBoost to forget all patterns in volatile memory and reload all its settings.

9.Save To EEPROM/Load From EEPROM - When training or uploading images or changing camera settings all these changes are stored in volatile memory on the CogniBoost board. This means that if you turn off the CogniBoost board all these settings are lost. To save these settings such that they are used again once the CogniBoost board is turned on you need to "Save to EEPROM". Likewise, if you wish to reload all saved settings (to erase all current settings stored in memory) you can press the "Load From EEPROM" button.


COGNIBOOST_NAME_X - The category name associated with the recognized
category. Note that this is a RoboRealm specific association and is
NOT present on the CogniBoost board. Up to four categories can be
recorded at one time. Note that they are ordered with regards to
distance with the first being the closest best match.

COGNIBOOST_CATEGORY_X - The numerical category CogniBoost has assigned
to the trained pattern. When the pattern is presented again to CogniBoost
this category number will become available as a recognition
identification code that the object is present.

COGNIBOOST_DISTANCE_X - A measure of recognition confidence or the "distance"
of the current recognized pattern to its associated pattern stored in

For more information

RoadNarrows CogniBoost
CogniMem Decision Space Mapping

 New Post 

RoadNarrows_CogniBoost Related Forum PostsLast postPostsViews