public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeyPoint, float alphaHeatMap, int defaultPartToRender) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, defaultPartToRender, "models/") { }
public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeyPoint, float alphaHeatMap, int defaultPartToRender, string modelFolder, IEnumerable <HeatMapType> heatMapTypes) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, defaultPartToRender, modelFolder, heatMapTypes, ScaleMode.ZeroToOne) { }
// Pose parameter configuration (with default value) // Please refer to OpenPose documentation for parameter explanation public static void OPConfigurePose( PoseMode poseMode = PoseMode.Enabled, Vector2Int?netInputSize = null, Vector2Int?outputSize = null, ScaleMode keypointScaleMode = ScaleMode.InputResolution, int gpuNumber = -1, int gpuNumberStart = 0, int scalesNumber = 1, float scaleGap = 0.25f, RenderMode renderMode = RenderMode.Auto, PoseModel poseModel = PoseModel.BODY_25, bool blendOriginalFrame = true, float alphaKeypoint = 0.6f, float alphaHeatMap = 0.7f, int defaultPartToRender = 0, string modelFolder = null, HeatMapType heatMapTypes = HeatMapType.None, ScaleMode heatMapScaleMode = ScaleMode.ZeroToOne, bool addPartCandidates = false, float renderThreshold = 0.05f, int numberPeopleMax = -1, bool maximizePositives = false, double fpsMax = -1.0, string protoTxtPath = "", string caffeModelPath = "", float upsamplingRatio = 0f) { // Other default values Vector2Int _netRes = netInputSize ?? new Vector2Int(-1, 368); Vector2Int _outputRes = outputSize ?? new Vector2Int(-1, -1); modelFolder = modelFolder ?? Environment.CurrentDirectory + "/models/"; Bind._OPConfigurePose( (byte)poseMode, _netRes.x, _netRes.y, // Point _outputRes.x, _outputRes.y, // Point (byte)keypointScaleMode, // ScaleMode gpuNumber, gpuNumberStart, scalesNumber, scaleGap, (byte)renderMode, // RenderMode (byte)poseModel, // PoseModel blendOriginalFrame, alphaKeypoint, alphaHeatMap, defaultPartToRender, modelFolder, Convert.ToBoolean(heatMapTypes & HeatMapType.Parts), Convert.ToBoolean(heatMapTypes & HeatMapType.Background), Convert.ToBoolean(heatMapTypes & HeatMapType.PAFs), // vector<HeatMapType> (byte)heatMapScaleMode, // ScaleMode addPartCandidates, renderThreshold, numberPeopleMax, maximizePositives, fpsMax, protoTxtPath, caffeModelPath, upsamplingRatio ); }
public static uint[] GetPoseMapIndex(PoseModel poseModel) { var ret = NativeMethods.op_getPoseMapIndex(poseModel); using (var vector = new StdVector <uint>(ret)) return(vector.ToArray()); }
public static extern IntPtr op_wrapperStructPose_new(PoseMode poseMode, IntPtr netInputSize, IntPtr outputSize, ScaleMode keypointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeypoint, float alphaHeatMap, int defaultPartToRender, byte[] modelFolder, IntPtr heatMapTypes, ScaleMode heatMapScale, bool addPartCandidates, float renderThreshold, int numberPeopleMax, bool maximizePositives, double fpsMax, byte[] protoTxtPath, byte[] caffeModelPath, float upsamplingRatio, bool enableGoogleLogging);
public static uint[] GetPosePartPairs(PoseModel poseModel) { var ret = Native.op_getPosePartPairs(poseModel); using (var vector = new StdVector <uint>(ret)) return(vector.ToArray()); }
public static extern IntPtr op_PoseGpuRenderer_new(PoseModel poseModel, IntPtr poseExtractorNet, float renderThreshold, bool blendOriginalFrame, float alphaKeyPoint, float alphaHeatMap, uint elementToRender);
public PoseExtractorCaffe(PoseModel poseModel, string modelFolder, int gpuId, HeatMapType[] heatMapTypes = null, ScaleMode heatMapScale = ScaleMode.ZeroToOne, bool addPartCandidates = false, bool maximizePositives = false, bool enableGoogleLogging = true) { if (!Directory.Exists(modelFolder)) { throw new DirectoryNotFoundException($"{modelFolder} is not found."); } var modelFolderBytes = Encoding.UTF8.GetBytes(modelFolder); using (var types = new StdVector <HeatMapType>(heatMapTypes ?? new HeatMapType[0])) this.NativePtr = PoseExtractorCaffeNative.op_PoseExtractorCaffe_new(poseModel, modelFolderBytes, gpuId, types.NativePtr, heatMapScale, addPartCandidates, maximizePositives, enableGoogleLogging); }
public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeyPoint) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, OpenPose.PoseDefaultAlphaKeyPoint) { }
public async static Task <bool> WithinCuboid( [InputPin(PropertyMode = PropertyMode.Never)] PoseModel source, [InputPin(PropertyMode = PropertyMode.Default, Editor = "Pose")] PoseProperty center, [InputPin(PropertyMode = PropertyMode.Default)] double width = 0.1, [InputPin(PropertyMode = PropertyMode.Default)] double height = 0.1, [InputPin(PropertyMode = PropertyMode.Default)] double depth = 0.1, CancellationToken cancel = default(CancellationToken)) { if (center == null) { throw new ArgumentNullException(nameof(center), "Required property 'center' of CheckCurrentPose module was not specified."); } if (source == null) { throw new ArgumentNullException(nameof(source), "Required property 'source' of CheckCurrentPose module was not specified."); } var centerPose = await ResolveProperty(center); var currentPose = source.ToPose(); var dist = Vector3.Abs(Vector3.Subtract(centerPose.Translation, currentPose.Translation)); return(dist.X < width && dist.Y < height && dist.Z < depth); }
public static extern IntPtr op_PoseExtractorCaffe_new(PoseModel poseModel, byte[] modelFolder, int gpuId, IntPtr heatMapTypes, ScaleMode heatMapScale, bool addPartCandidates, bool maximizePositives, bool enableGoogleLogging);
private void OnDataCollectionStop() { isCollectingData = false; PoseModel model = new PoseModel(rotations); model.SaveModel("output.txt"); timerText.text = "Todo fué correcto"; }
public WrapperStructPose(bool enable = false, Point <int> netInputSize = default(Point <int>), Point <int> outputSize = default(Point <int>), ScaleMode keyPointScale = ScaleMode.InputResolution, int gpuNumber = -1, int gpuNumberStart = 0, int scalesNumber = 1, float scaleGap = 0.15f, RenderMode renderMode = RenderMode.Gpu, PoseModel poseModel = PoseModel.Body25, bool blendOriginalFrame = true, float alphaKeyPoint = OpenPose.PoseDefaultAlphaKeyPoint, float alphaHeatMap = OpenPose.PoseDefaultAlphaKeyPoint, int defaultPartToRender = 0, string modelFolder = "models/", IEnumerable <HeatMapType> heatMapTypes = null, ScaleMode heatMapScale = ScaleMode.ZeroToOne, bool addPartCandidates = false, float renderThreshold = 0.05f, int numberPeopleMax = -1, bool maximizePositives = false, double fpsMax = -1d, bool enableGoogleLogging = true) { var modelFolderBytes = Encoding.UTF8.GetBytes(modelFolder ?? ""); using (var nativeNetInputSize = netInputSize.ToNative()) using (var nativeOutputSize = outputSize.ToNative()) using (var vector = new StdVector <HeatMapType>(heatMapTypes ?? new HeatMapType[0])) this.NativePtr = Native.op_wrapperStructPose_new(enable, nativeNetInputSize.NativePtr, nativeOutputSize.NativePtr, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, defaultPartToRender, modelFolderBytes, vector.NativePtr, heatMapScale, addPartCandidates, renderThreshold, numberPeopleMax, maximizePositives, fpsMax, enableGoogleLogging); }
public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeyPoint, float alphaHeatMap, int defaultPartToRender, string modelFolder, IEnumerable <HeatMapType> heatMapTypes, ScaleMode heatMapScale, bool addPartCandidates, float renderThreshold, int numberPeopleMax, bool maximizePositives, double fpsMax, string prototxtPath, string caffeModelPath, float upsamplingRatio) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, defaultPartToRender, modelFolder, heatMapTypes, heatMapScale, addPartCandidates, renderThreshold, numberPeopleMax, maximizePositives, fpsMax, prototxtPath, caffeModelPath, upsamplingRatio, true) { }
public static string GetPoseTrainedModel(PoseModel poseModel) { string str = null; var ret = Native.op_getPoseTrainedModel(poseModel); if (ret != IntPtr.Zero) { str = StringHelper.FromStdString(ret, true); } return(str); }
public static string GetPoseProtoTxt(PoseModel poseModel) { string str = null; var ret = NativeMethods.op_getPoseProtoTxt(poseModel); if (ret != IntPtr.Zero) { str = StringHelper.FromStdString(ret, true); } return(str); }
public PoseCpuRenderer(PoseModel poseModel, float renderThreshold, bool blendOriginalFrame = true, float alphaKeyPoint = OpenPose.PoseDefaultAlphaKeyPoint, float alphaHeatMap = OpenPose.PoseDefaultAlphaHeatMap, uint elementToRender = 0u) { this.NativePtr = NativeMethods.op_PoseCpuRenderer_new(poseModel, renderThreshold, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, elementToRender); }
public PoseGpuRenderer(PoseModel poseModel, StdSharedPtr <PoseExtractorCaffe> poseExtractorNet, float renderThreshold, bool blendOriginalFrame = true, float alphaKeyPoint = OpenPose.PoseDefaultAlphaKeyPoint, float alphaHeatMap = OpenPose.PoseDefaultAlphaHeatMap, uint elementToRender = 0u) { this.NativePtr = NativeMethods.op_PoseGpuRenderer_new(poseModel, poseExtractorNet.NativePtr, renderThreshold, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, elementToRender); }
void Start() { Application.targetFrameRate = 30; Screen.SetResolution(1280, 720, true); NuitrackManager.GestureRecognizer.OnNewGesturesEvent += AttendGestures; gestureModels = new PoseModel[1]; BetterStreamingAssets.Initialize(); gestureModels[0] = new PoseModel(); gestureModels[0].LoadModel(modelPaths[0]); gestureModel.Add(CustomGestureType.HandsUp, gestureModels[0]); }
public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel, bool blendOriginalFrame, float alphaKeyPoint, float alphaHeatMap, int defaultPartToRender, string modelFolder, IEnumerable <HeatMapType> heatMapTypes, ScaleMode heatMapScale, bool addPartCandidates, float renderThreshold, int numberPeopleMax) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, blendOriginalFrame, alphaKeyPoint, alphaHeatMap, defaultPartToRender, modelFolder, heatMapTypes, heatMapScale, addPartCandidates, renderThreshold, numberPeopleMax, false) { }
public static Pose ToPose(this PoseModel model, bool normalizeRotation = false) { if (model.Translation == null || model.Rotation == null) { return(new Pose( new Vector3(float.NaN, float.NaN, float.NaN), new Quaternion(float.NaN, float.NaN, float.NaN, float.NaN), model.Frame )); } else { return(new Pose( new Vector3((float)model.Translation[0], (float)model.Translation[1], (float)model.Translation[2]), new Quaternion((float)model.Rotation[0], (float)model.Rotation[1], (float)model.Rotation[2], (float)model.Rotation[3]), model.Frame, normalizeRotation )); } }
public WrapperStructPose(PoseMode poseMode, Point <int> netInputSize, Point <int> outputSize, ScaleMode keyPointScale, int gpuNumber, int gpuNumberStart, int scalesNumber, float scaleGap, RenderMode renderMode, PoseModel poseModel) : this(poseMode, netInputSize, outputSize, keyPointScale, gpuNumber, gpuNumberStart, scalesNumber, scaleGap, renderMode, poseModel, true) { }
public double Compare(PoseModel other) { NDtw.Dtw dtw; double[][] firstSeries; double[][] secondSeries; double error = 0; char[] components = { 'x', 'y', 'z', 'w' }; foreach (char component in components) { firstSeries = GetAllComponents(component); secondSeries = other.GetAllComponents(component); for (int i = 0; i < numberOfJoints; i++) { dtw = new NDtw.Dtw(firstSeries[i], secondSeries[i]); error += dtw.GetCost(); } } return(error); }
public static extern IntPtr op_getPosePartPairs(PoseModel poseModel);
public static extern uint op_getPoseNumberBodyParts(PoseModel poseModel);
public static extern IntPtr op_getPoseMapIndex(PoseModel poseModel);
public static extern IntPtr op_getPoseProtoTxt(PoseModel poseModel);
public static extern bool op_addBkgChannel(PoseModel poseModel);
public static extern float op_getPoseDefaultConnectInterThreshold(PoseModel poseModel, bool maximizePositives);
public static extern float op_getPoseNetDecreaseFactor(PoseModel poseModel);