X-Git-Url: https://adrianiainlam.tk/git/?p=facial-landmarks-for-cubism.git;a=blobdiff_plain;f=config.txt;h=d9cc7b47f084379d59612ae6b3964e82ca5a34c4;hp=9c28ceeb21ce1ab018f9569ea084b1d1d551b374;hb=refs%2Fheads%2Ffeature%2Fwin32-support;hpb=2b1f0c7c63dc30d20c9d55fda5e99b208a9f82b3 diff --git a/config.txt b/config.txt index 9c28cee..d9cc7b4 100644 --- a/config.txt +++ b/config.txt @@ -8,37 +8,18 @@ # very first character of the line, i.e. without any preceeding whitespace. -## Section 1: dlib face detection and webcam parameters +## Section 0: OpenSeeFace connection parameters +osfIpAddress 127.0.0.1 +osfPort 11573 -# Path to the dlib shape predictor trained dataset -predictorPath ./shape_predictor_68_face_landmarks.dat - -# Value passed to the cv::VideoCapture() ctor -cvVideoCaptureId 0 - -# Number of milliseconds to wait after processing each video frame -# This value controls the frame rate, but the actual frame period -# is longer due to the time required to process each frame -cvWaitKeyMs 5 - -# If 1, show the webcam captured video on-screen; if 0, don't show -showWebcamVideo 1 - -# If 1, draw the detected facial landmarks on-screen; if 0, don't draw -renderLandmarksOnVideo 1 - -# If 1, laterally invert the image (create a mirror image); if 0, don't invert -lateralInversion 1 - - -## Section 2: Cubism params calculation control +## Section 1: Cubism params calculation control # # These values control how the facial landmarks are translated into # parameters that control the Cubism model, and will vary from person # to person. The following values seem to work OK for my face, but # your milage may vary. -# Section 2.0: Live2D automatic functionality +# Section 1.0: Live2D automatic functionality # Set 1 to enable, 0 to disable. # If these are set, the automatic functionality in Live2D will be enabled. # Note: If you set auto blink, eye control will be disabled. @@ -46,7 +27,7 @@ autoBlink 0 autoBreath 0 randomMotion 0 -# Section 2.1: Face Y direction angle (head pointing up/down) +# Section 1.1: Face Y direction angle (head pointing up/down) # The Y angle is calculated mainly based on the angle formed # by the corners and the tip of the nose (hereafter referred # to as the "nose angle"). @@ -78,18 +59,15 @@ faceYAngleXRotCorrection 0.15 faceYAngleSmileCorrection 0.075 -# Section 2.2: Eye control +# Section 1.2: Eye control # This is mainly calculated based on the eye aspect ratio (eye height -# divided by eye width). Note that currently an average of the values -# of both eyes is applied - mainly due to two reasons: (1) the dlib -# dataset I'm using fails to detect winks for me, and (2) if this is -# not done, I frequently get asynchronous blinks which just looks ugly. +# divided by eye width). # Maximum eye aspect ratio when the eye is closed -eyeClosedThreshold 0.2 +eyeClosedThreshold 0.18 # Minimum eye aspect ratio when the eye is open -eyeOpenThreshold 0.25 +eyeOpenThreshold 0.21 # Max eye aspect ratio to switch to a closed "smiley eye" eyeSmileEyeOpenThreshold 0.6 @@ -102,8 +80,15 @@ eyeSmileMouthFormThreshold 0.75 # "Mouth open" is 1 when fully open, and 0 when closed eyeSmileMouthOpenThreshold 0.5 +# Enable winks (experimental) +# Winks may or may not work well on your face, depending on the dataset. +# If all you get is ugly asynchronous blinks, consider setting this to +# zero instead. +# Also, this seems to not work very well when wearing glasses. +winkEnable 1 + -# Section 2.3: Mouth control +# Section 1.3: Mouth control # Two parameters are passed to Cubism to control the mouth: # - mouth form: Controls smiles / laughs # - mouth openness: How widely open the mouth is @@ -131,16 +116,16 @@ mouthOpenThreshold 0.4 mouthOpenLaughCorrection 0.2 -## Section 3: Filtering parameters +## Section 2: Filtering parameters # The facial landmark coordinates can be quite noisy, so I've applied # a simple moving average filter to reduce noise. More taps would mean # more samples to average over, hence smoother movements with less noise, # but it will also cause more lag between your movement and the movement # of the avatar, and quick movements (e.g. blinks) may be completely missed. -faceXAngleNumTaps 11 -faceYAngleNumTaps 11 -faceZAngleNumTaps 11 +faceXAngleNumTaps 7 +faceYAngleNumTaps 7 +faceZAngleNumTaps 7 mouthFormNumTaps 3 mouthOpenNumTaps 3 leftEyeOpenNumTaps 3