Skip to content

Instantly share code, notes, and snippets.

@kurnianggoro
Last active August 22, 2017 02:07
Show Gist options
  • Save kurnianggoro/334f84a4f5c59bc50aa52d1946dc1fd9 to your computer and use it in GitHub Desktop.
Save kurnianggoro/334f84a4f5c59bc50aa52d1946dc1fd9 to your computer and use it in GitHub Desktop.
UML for the facemark API
@startuml{output.png}
package "Facemark package" #DDDDDD {
class Algorithm
class Facemark{
+virtual void read( );
+virtual void write( );
+virtual void training(imageList, groundTruthFiles);
+virtual void loadModel(modelFile);
+bool fit(image, facesROIs, landmarks);
+bool setFaceDetector();
+bool getFaces();
}
'class Facemark
'note right: Facemark is the general interface for each specialized algorithm
class FacemarkAAM{
+static Ptr<FacemarkAAM> create();
+virtual ~FacemarkAAM();
virtual bool fit( image, landmarks, R, T, scale )
}
class FacemarkLBF{
+static Ptr<FacemarkLBF> create();
+virtual ~FacemarkLBF();
}
Algorithm <|-- Facemark : virtual inheritance
Facemark <|-- FacemarkAAM
Facemark <|-- FacemarkLBF
note "Single instance of the Facemark" as N1
FacemarkAAM .. N1
FacemarkLBF .. N1
class FacemarkAAMImpl{
+FacemarkAAMImpl();
+void read( );
+void write( );
+void training(imageList, groundTruthFiles);
+void loadModel(modelFile);
+fit(image, facesROIs, landmarks);
+setFaceDetector();
+getFaces();
#void computeWarpComposition();
#void computeWarpUpdate();
#void createSimilarityEigs();
#void createWarpJacobian();
#void gsOrthonormal();
#void imageJacobian();
#void PCA();
#void readShape();
#void warpImage();
#void training();
}
class FacemarkLBFImpl{
FacemarkLBFImpl();
+void read( );
+void write( );
+void training(imageList, groundTruthFiles);
+void loadModel(modelFile);
+fit(image, facesROIs, landmarks);
+setFaceDetector();
+getFaces();
#Rect getBBox();
#void prepareTrainingData();
#void data_augmentation();
#Mat getMeanShape();
}
FacemarkAAM <|-- FacemarkAAMImpl
FacemarkLBF <|-- FacemarkLBFImpl
}
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment