Last active
August 22, 2017 02:07
-
-
Save kurnianggoro/334f84a4f5c59bc50aa52d1946dc1fd9 to your computer and use it in GitHub Desktop.
UML for the facemark API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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