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.
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