Warning: Your browser needs jdk 1.1.6 or above to see the applet frame.
You are about to begin an exciting lab journey, illustrating how 3D objects, in particular, 3D articulated objects can be analyzed and recognized from 2D images via web internet through :

Java Source Files

(1) Learning (Analysis) :

(i)When the 1st window shows up, choose any object from the scroll bar, from the left-hand-side "Model Image" (Learning Image) and the right-hand-side "Compared Object Image" (Image to be Recognized). respectively,

(ii) Then correspondence feature points for both images are chosen, while each point and its coordinate values will be shown as well, till all "feature points" are selected. Notice that you can freely rotate the object as well as change angles along the joint axis by pressing "open" or "close" button using the left key of the mouse.

(iii) Then press "Action" button, beginning "learning" process, by showing 4 learning screens. The upper left, right and lower left images are for from the previous "Model Images" and the lower right rectangle is from the to-be recognized "Compared Object Image" to be matched.

(iv) Now you may arbitrarily rotate all "4" images in any angles as you wish, make sure they are "slightly different" from each other, as can be seen from one's eyes or can be shown from the corresponding feature point coordinate values, then we are ready to continue the recognition process as follows:

(2) Recognition (Pattern Matching) :

(i)Press the Action button, a sub_menu "recognition" shows up.

(ii) Press the "recognition" button, a dialogue box shows up for you to choose "Threshold Value" ranging from 0-10.

(iii)After a threshold value is chosen, press "OK" button.

(iv) Then the computer will compute the "distance" between the "predicted" points and the real points, for each of the arrticulated portions of the object. If both of them coincide (within the range of the "threshold value" and consistent with of the global overall condition as an integral part of the recognition process), then the object being compared is recognized (accepted), else it's not recognized (rejected), and the man-machine interation will decide if it should be added to the image database library as a "newly learned" object.

Java Source Files

ArticulatedObject.java
AutoRecognitionEngine.java
Canvas3D.java
DisplayableFace.java
Matrix3By3.java
Matrix4By4.java
MessageBox.java
ObjectConsole.java
ObjectControlBroker.java
ParseEngine.java
Point3D.java
PolyHedron.java
RecognitionEngine.java
SpaceFrame.java
SubAutoThreeDRecognitionFrame.java
SubCanvas3D.java
SubObjectConsole.java
SubObjectControlBroker.java
SubThreeDRecognitionFrame.java
ThreeDRecognitionApplet.java
ThreeDRecognitionFrame.java
Transform3D.java
Vector3D.java
ArticulatedObjectData.txt