ImageNets Wiki

Download ImageNets here

ImageNets homepage and videos

= Introduction =

The main purposes of ImageNets are:
 * 1) 3D-Visualization of Computer Vision results (especially for Robotics -> Create Robot)
 * 2) rapid prototyping of Computer Vision function combinations
 * 3) utilization of the execution speed of OpenCV
 * 4) Feedback Loops in Computer Vision (See: ImageNet_Designer_-_Graphical_Programming_Tutorial)

Example Videos: Data Fusion Bumblebee & Swissranger, Colored Point Cloud, Table Detection and Simulation, Plane Thresholding, Integrated Help, Feedback Loops



With the easy-to-understand graphical user interface ImageNet Designer, an ImageNet is created and saved as an XML-File. The ImageNet Designer helps to fine-tune your algorithm in the testing phase and to visualize results in 2D and 3D.

After creating an ImageNet, you can load and execute it (without the ImageNet Designer) in your own C / C++ code. See ImageNet_Designer_-_Execution_Tutorial.

Neither the ImageNet Designer, nor an ImageNet have image processing functionality. This is provided by ImageNets Plug-Ins. They have to be loaded to create an ImageNet with the ImageNet Designer and to execute an ImageNet from code.

= Links to ImageNets = http://www.ros.org/wiki/ImageNets

http://en.wikipedia.org/wiki/ImageNets

http://homepages.inf.ed.ac.uk/rbf/CVonline/environ.htm

= Tutorials =

= Data Types =

The connections between two blocks should be possible, only if both connected ports are of the same ImageType. There are the following ImageTypes:

3D and 2D mean if the ImageNet Designer is capable of displaying the ImageType in 3D or in 2D. If there is a 'X', it should generally make sense to display the ImageType in this space. If the 'X' is black, the display possibility is implemented and if the 'X' is red, the display possibility is not yet implemented.

Conventions

LayerType Image has All of these 3 matrices are saved in CLayer.itsData.m_vpCvMat (vector of OpenCV-Matrix).
 * 1) a 3x3 Intrinsic Matrix ( CV_64FC1 )
 * 2) a 4x1 Distortion Coefficients Vector ( CV_64FC1 )
 * 3) a 4x4 Extrinsic Matrix ( CV_64FC1 ) (Same as Frame)

LayerType Reprojection has
 * 1) a 4x4 Extrinsic Matrix ( CV_64FC1 ) and
 * 2) a 4x4 Reprojection Matrix ( CV_64FC1 ) This matrix holds information about the Field Of View of the two stereocameras and their distance between each other

LayerType Frame has
 * 1) a 4x4 Extrinsic Matrix ( CV_64FC1 )

LayerType Data can have arbitrary data (Matrices, Sequences)

Location of the enumeration ImageType_E: MachineVision.rpy/ImageNet_pkg/Types.

Locations where ImageTypes are used:
 * 1) ImageNet_pkg/Packages/Common/Classes/INGUI/toQImage - Transformation from IplImage - and others - to QImage to display it as the small preview image and in the 2D-3D-Dialog
 * 2) ImageNet_pkg/Packages/Common/Classes/INTRANS/imageType - Transformation from imageType to its string and vice versa
 * 3) ImageNet_pkg/Packages/Designer/Packages/ImageDialogClasses/C2DTabFactory/Constructor - how to display the data

User Data

The USER_DATA type represents abritrary user data. It is stored in a vector of pointer to the type CUserData. CUserData defines the following interface.

virtual void* AccessData ; // Access user data via pointer that has to be cast to the desired type. virtual CUserData* GetCopy ; // Returns copy of derived class. virtual std::string GetType ; // Returns an abritrary identifier string for the user data type.

To use user data, this interface must be implemented in a derived class, or the class CUserDataStore can be used. It is a template class that stores an abritrary object of any type. It implements additionally the method AccessStoredData to access the object via a reference and SetType to specify an identifier string.

CUserDataStore< MyDataType > MyData ; MyData.SetType( "MyData" ) ; MyData.AccessStoredData = ObjectToStore ; MyData.AccessUserData.SetSomething ;

= Folder Structure =

= Stability of Blocks = To test the stability of blocks the Image Nets Block Tester is introduced.

= Functionality (323 Blocks) =

This table is generated with the ImageNet Designer. Select Statistics from the Help Menu. Copy and paste the generated Wiki-code here.