INSPEFACE NET SDK ทำให้การจดจำใบหน้าในแอปพลิเคชันของคุณง่ายยิ่งขึ้น
ก่อนที่จะใช้ SDK ของเราตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง INSPEFACE และ. NET บนเครื่องของคุณ
| INSPEFACE .NET SDK เวอร์ชัน | ประกอบด้วย 1.1.0 |
|---|---|
| 1.0.0 | |
| 1.0.1 | |
| 1.0.2 |
คำอธิบาย:
หากต้องการใช้ SDK ติดตั้งแพ็คเกจ NUGET
Install-Package CompreFace.NET.Sdk
ตัวอย่างทั้งหมดด้านล่างคุณสามารถค้นหาได้ในที่เก็บข้อมูลภายในโฟลเดอร์ นอกจากนี้คุณสามารถตรวจสอบแอปพลิเคชันตัวอย่างการรับรู้ มันเป็นตัวอย่างง่ายๆของการใช้งานส่วนประกอบ
ในการเริ่มต้นใช้ PrEfFace .NET SDK คุณต้องนำเข้าวัตถุ CompreFace จากการพึ่งพา 'PrEfFACE-SDK'
จากนั้นคุณต้องสร้างวัตถุ CompreFaceClient และเริ่มต้นด้วย DOMAIN และ PORT โดยค่าเริ่มต้นหากคุณเรียกใช้ส่วนประกอบบนเครื่องในเครื่องของคุณ DOMAIN จะเป็น http://localhost และ PORT ในกรณีนี้จะเป็น 8000 คุณสามารถผ่านวัตถุ options ตัวเลือกเมื่อวิธีการโทรเพื่อตั้งค่าพารามิเตอร์เริ่มต้นดูการอ้างอิงสำหรับข้อมูลเพิ่มเติม
คุณควรใช้บริการ RecognitionService ในวัตถุ CompreFaceClient เพื่อรับรู้ใบหน้า
อย่างไรก็ตามก่อนที่จะรับรู้ว่าคุณต้องเพิ่มเรื่องก่อนในการรวบรวมใบหน้า ในการทำเช่นนี้รับวัตถุ Subject ด้วยความช่วยเหลือของ RecognitionService Subject รวมอยู่ในคลาส RecognitionService
var client = new CompreFaceClient(
domain: "http://localhost",
port: "8000");
var recognitionService = client.GetCompreFaceService<RecognitionService>(recognition api key);
var subject = recognitionService.Subject;
var subjectRequest = new AddSubjectRequest()
{
Subject = "Subject name"
};
var subjectResponse = await subject.AddAsync(subjectRequest);
นี่คือตัวอย่างที่แสดงวิธีเพิ่มภาพลงในคอลเลกชันใบหน้าของคุณจากระบบไฟล์ของคุณ:
var faceCollection = recognitionService.FaceCollection;
var request = new AddSubjectExampleRequestByFilePath()
{
DetProbThreShold = 0.81m,
Subject = "Subject name",
FilePath = "Full file path"
};
var response = await faceCollection.AddAsync(request);
ตัวอย่างรหัสนี้แสดงวิธีการรับรู้ใบหน้าที่ไม่รู้จัก รู้จักใบหน้าจากภาพที่กำหนด
var recognizeRequest = new RecognizeFaceFromImageRequestByFilePath()
{
FilePath = "Full file path",
DetProbThreshold = 0.81m,
FacePlugins = new List<string>()
{
"landmarks",
"gender",
"age",
"detector",
"calculator"
},
Limit = 0,
PredictionCount = 1,
Status = true
};
var recognizeResponse = await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest);
วัตถุ Global INSPREFACE ใช้สำหรับการเริ่มต้นการเชื่อมต่อกับส่วนประกอบและการตั้งค่าค่าเริ่มต้นสำหรับตัวเลือก ค่าเริ่มต้นจะถูกใช้ในทุกวิธีการบริการหากมี
Constructor: CompreFaceClient(domain, port)
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| โดเมน | สาย | ที่จำเป็น | โดเมนที่มีโปรโตคอลที่ตั้งอยู่ เช่น http://localhost |
| ท่าเรือ | สาย | ที่จำเป็น | พอร์ตประกอบ เช่น 8000 |
ตัวอย่าง:
var client = new CompreFaceClient(
domain: "http://localhost",
port: "8000");
client.GetCompreFaceService<RecognitionService>(apiKey)วัตถุบริการรับรู้ใบหน้า
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| apikey | สาย | ที่จำเป็น | คีย์ API การจดจำใบหน้าในรูปแบบ UUID |
ตัวอย่าง:
var apiKey = "00000000-0000-0000-0000-000000000002";
var recognitionService = client.GetCompreFaceService<RecognitionService>(apiKey);
client.GetCompreFaceService<FaceDetectionService>(apiKey)ในวัตถุบริการตรวจจับใบหน้า
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| apikey | สาย | ที่จำเป็น | การตรวจจับใบหน้าคีย์ API ในรูปแบบ UUID |
ตัวอย่าง:
var apiKey = "00000000-0000-0000-0000-000000000003";
var faceDetectionService = client.GetCompreFaceService<FaceDetectionService>(api_key);
client.GetCompreFaceService<FaceVerificationService>(apiKey)ในวัตถุบริการตรวจสอบการตรวจสอบ
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| apikey | สาย | ที่จำเป็น | คีย์ API การตรวจสอบหน้าในรูปแบบ UUID |
ตัวอย่าง:
var apiKey = "00000000-0000-0000-0000-000000000004";
var faceVerificationService = client.GetCompreFaceService<FaceVerificationService>(api_key);
คุณสมบัติทางเลือกทั้งหมดอยู่ในระดับ BaseFaceRequest
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
คลาส BaseFaceRequest ได้รับการสืบทอดโดยคลาส DTO หลายคลาสซึ่งเป็นแบบอนุกรมเพื่อขอรูปแบบ
นี่คือคำอธิบายว่ามันเป็นอย่างไรในร่างกายที่ร้องขอ
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
| จำกัด | จำนวนเต็ม | จำนวนใบหน้าสูงสุดบนภาพที่จะรับรู้ มันตระหนักถึงใบหน้าที่ใหญ่ที่สุดก่อน ค่า 0 แสดงถึงไม่มีขีด จำกัด ค่าเริ่มต้น: 0 |
| Prediction_count | จำนวนเต็ม | จำนวนสูงสุดของการทำนายเรื่องต่อใบหน้า มันส่งคืนวิชาที่คล้ายกันมากที่สุด ค่าเริ่มต้น: 1 |
| face_plugins | สาย | ปลั๊กอินที่คั่นด้วยเครื่องหมายจุลภาค หากว่างเปล่าจะไม่มีการส่งคืนข้อมูลเพิ่มเติม เรียนรู้เพิ่มเติม |
| สถานะ | บูลีน | หากจริงรวมถึงข้อมูลระบบเช่น Execution_time และ Fields Plugin_Version ค่าเริ่มต้นเป็นเท็จ |
ตัวอย่างของการจดจำใบหน้าด้วยวัตถุ:
var recognizeRequest = new RecognizeFaceFromImageRequestByFilePath()
{
FilePath = "Full file path",
DetProbThreshold = 0.81m,
FacePlugins = new List<string>()
{
"landmarks",
"gender",
"age",
"detector",
"calculator"
},
Limit = 0,
PredictionCount = 1,
Status = true
};
var recognizeResponse = await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest);
บริการจดจำใบหน้าใช้สำหรับการระบุใบหน้า ซึ่งหมายความว่าคุณต้องอัปโหลดใบหน้าที่รู้จักไปยังการรวบรวมใบหน้าก่อนแล้วจึงรับรู้ใบหน้าที่ไม่รู้จักในหมู่พวกเขา เมื่อคุณอัปโหลดใบหน้าที่ไม่รู้จักบริการจะส่งกลับใบหน้าที่คล้ายกันมากที่สุด นอกจากนี้บริการรับรู้ใบหน้ายังสนับสนุนการตรวจสอบปลายทางเพื่อตรวจสอบว่าบุคคลนี้จากการรวบรวมใบหน้าเป็นสิ่งที่ถูกต้องหรือไม่ สำหรับข้อมูลเพิ่มเติมโปรดดูที่หน้า
วิธีการ:
รับรู้ใบหน้าทั้งหมดจากภาพ อาร์กิวเมนต์แรกคือตำแหน่งภาพอาจเป็น URL เส้นทางท้องถิ่นหรือไบต์
await recognitionService.RecognizeFaceFromImage.RecognizeAsync(recognizeRequest)
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| RecredizeRequest | รับรู้ facefromimagerequestbyfilepath | ที่จำเป็น |
RecognizeFaceFromImageRequestByFilePath นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class RecognizeFaceFromImageRequestByFilePath : BaseRecognizeFaceFromImageRequest
{
public string FilePath { get; set; }
}
BaseRecognizeFaceFromImageRequest คลาส:
public class BaseRecognizeFaceFromImageRequest : BaseFaceRequest
{
public int? PredictionCount { get; set; }
}
คลาส BaseFaceRequest มีคุณสมบัติ เสริม :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; } = new List<string>()
public bool Status { get; set; }
}
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
| จำกัด | จำนวนเต็ม | จำนวนใบหน้าสูงสุดบนภาพที่จะรับรู้ มันตระหนักถึงใบหน้าที่ใหญ่ที่สุดก่อน ค่า 0 แสดงถึงไม่มีขีด จำกัด ค่าเริ่มต้น: 0 |
| Prediction_count | จำนวนเต็ม | จำนวนสูงสุดของการทำนายเรื่องต่อใบหน้า มันส่งคืนวิชาที่คล้ายกันมากที่สุด ค่าเริ่มต้น: 1 |
| face_plugins | สาย | ปลั๊กอินที่คั่นด้วยเครื่องหมายจุลภาค หากว่างเปล่าจะไม่มีการส่งคืนข้อมูลเพิ่มเติม เรียนรู้เพิ่มเติม |
| สถานะ | บูลีน | หากจริงรวมถึงข้อมูลระบบเช่น Execution_time และ Fields Plugin_Version ค่าเริ่มต้นเป็นเท็จ |
การตอบสนองจาก Comreface API:
{
"result" : [ {
"age" : {
"probability": 0.9308982491493225,
"high": 32,
"low": 25
},
"gender" : {
"probability": 0.9898611307144165,
"value": "female"
},
"mask" : {
"probability": 0.9999470710754395,
"value": "without_mask"
},
"embedding" : [ 9.424854069948196E-4, "...", -0.011415496468544006 ],
"box" : {
"probability" : 1.0,
"x_max" : 1420,
"y_max" : 1368,
"x_min" : 548,
"y_min" : 295
},
"landmarks" : [ [ 814, 713 ], [ 1104, 829 ], [ 832, 937 ], [ 704, 1030 ], [ 1017, 1133 ] ],
"subjects" : [ {
"similarity" : 0.97858,
"subject" : "subject1"
} ],
"execution_time" : {
"age" : 28.0,
"gender" : 26.0,
"detector" : 117.0,
"calculator" : 45.0,
"mask": 36.0
}
} ],
"plugins_versions" : {
"age" : "agegender.AgeDetector",
"gender" : "agegender.GenderDetector",
"detector" : "facenet.FaceDetector",
"calculator" : "facenet.Calculator",
"mask": "facemask.MaskDetector"
}
}
| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| อายุ | วัตถุ | ตรวจพบช่วงอายุ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินอายุ |
| เพศ | วัตถุ | ตรวจพบเพศ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเพศ |
| หน้ากาก | วัตถุ | หน้ากากตรวจพบ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินมาสก์หน้า |
| การฝัง | อาร์เรย์ | ใบหน้าฝังตัว ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเครื่องคิดเลข |
| กล่อง | วัตถุ | รายการพารามิเตอร์ของกล่องขอบเขตสำหรับใบหน้านี้ |
| ความน่าจะเป็น | ลอย | ความน่าจะเป็นที่ใบหน้าที่พบนั้นเป็นใบหน้าจริง |
| X_MAX, Y_MAX, X_MIN, Y_MIN | จำนวนเต็ม | พิกัดของเฟรมที่มีใบหน้า |
| สถานที่สำคัญ | อาร์เรย์ | รายชื่อพิกัดของเฟรมที่มีพื้นที่ใบหน้า |
| อาสาสมัคร | รายการ | รายการวิชาที่คล้ายกันที่มีขนาดของคำสั่ง <prediction_count> ตามความคล้ายคลึงกัน |
| ความคล้ายคลึงกัน | ลอย | ความคล้ายคลึงกันที่ภาพนั้นทำนายบุคคล |
| เรื่อง | สาย | ชื่อของเรื่องในคอลเลกชันใบหน้า |
| Execution_time | วัตถุ | เวลาดำเนินการของปลั๊กอินทั้งหมด |
| ปลั๊กอิน _versions | วัตถุ | มีข้อมูลเกี่ยวกับเวอร์ชันปลั๊กอิน |
การตอบสนองของ JSON นี้ถูก deserialized เพื่อ RecognizeFaceFromImageResponse data transfer Object (DTO)
public class RecognizeFaceFromImageResponse
{
public IList<Result> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class Result : BaseResult
{
public IList<SimilarSubject> Subjects { get; set; }
}
คลาส BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
await recognitionService.RecognizeFaceFromImage.VerifyAsync(request);
เปรียบเทียบความคล้ายคลึงกันของภาพที่ได้รับจากภาพจากคอลเลกชันของคุณ
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | VerifyFacesFromimageRequest | ที่จำเป็น |
VerifyFacesFromImageRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class VerifyFacesFromImageRequest : BaseVerifyFacesFromImageRequest
{
public string FilePath { get; set; }
}
BaseVerifyFacesFromImageRequest คลาส:
public class BaseVerifyFacesFromImageRequest : BaseFaceRequest
{
public Guid ImageId { get; set; }
}
คลาส BaseFaceRequest มีคุณสมบัติ เสริม :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
| จำกัด | จำนวนเต็ม | จำนวนใบหน้าสูงสุดบนภาพที่จะรับรู้ มันตระหนักถึงใบหน้าที่ใหญ่ที่สุดก่อน ค่า 0 แสดงถึงไม่มีขีด จำกัด ค่าเริ่มต้น: 0 |
| Prediction_count | จำนวนเต็ม | จำนวนสูงสุดของการทำนายเรื่องต่อใบหน้า มันส่งคืนวิชาที่คล้ายกันมากที่สุด ค่าเริ่มต้น: 1 |
| face_plugins | สาย | ปลั๊กอินที่คั่นด้วยเครื่องหมายจุลภาค หากว่างเปล่าจะไม่มีการส่งคืนข้อมูลเพิ่มเติม เรียนรู้เพิ่มเติม |
| สถานะ | บูลีน | หากจริงรวมถึงข้อมูลระบบเช่น Execution_time และ Fields Plugin_Version ค่าเริ่มต้นเป็นเท็จ |
การตอบสนอง:
{
"result" : [ {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ 9.424854069948196E-4 , " ... " , -0.011415496468544006 ],
"box" : {
"probability" : 1.0 ,
"x_max" : 1420 ,
"y_max" : 1368 ,
"x_min" : 548 ,
"y_min" : 295
},
"landmarks" : [ [ 814 , 713 ], [ 1104 , 829 ], [ 832 , 937 ], [ 704 , 1030 ], [ 1017 , 1133 ] ],
"subjects" : [ {
"similarity" : 0.97858 ,
"subject" : " subject1 "
} ],
"execution_time" : {
"age" : 28.0 ,
"gender" : 26.0 ,
"detector" : 117.0 ,
"calculator" : 45.0 ,
"mask" : 36.0
}
} ],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| อายุ | วัตถุ | ตรวจพบช่วงอายุ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินอายุ |
| เพศ | วัตถุ | ตรวจพบเพศ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเพศ |
| หน้ากาก | วัตถุ | หน้ากากตรวจพบ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินมาสก์หน้า |
| การฝัง | อาร์เรย์ | ใบหน้าฝังตัว ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเครื่องคิดเลข |
| กล่อง | วัตถุ | รายการพารามิเตอร์ของกล่องขอบเขตสำหรับใบหน้านี้ |
| ความน่าจะเป็น | ลอย | ความน่าจะเป็นที่ใบหน้าที่พบนั้นเป็นใบหน้าจริง |
| X_MAX, Y_MAX, X_MIN, Y_MIN | จำนวนเต็ม | พิกัดของเฟรมที่มีใบหน้า |
| สถานที่สำคัญ | อาร์เรย์ | รายชื่อพิกัดของเฟรมที่มีพื้นที่ใบหน้า ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินสถานที่สำคัญ |
| ความคล้ายคลึงกัน | ลอย | ความคล้ายคลึงกันที่ภาพนั้นทำนายบุคคล |
| Execution_time | วัตถุ | เวลาดำเนินการของปลั๊กอินทั้งหมด |
| ปลั๊กอิน _versions | วัตถุ | มีข้อมูลเกี่ยวกับเวอร์ชันปลั๊กอิน |
การตอบสนอง JSON นี้ถูก deserialized เพื่อ VerifyFacesFromImageResponse Data Transfer Object (DTO)
public class VerifyFacesFromImageResponse
{
public IList<Result> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class Result : BaseResult
{
public string Subject { get; set; }
public decimal Similarity { get; set; }
}
คลาส BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
คลาส ExecutionTime :
public class ExecutionTime
{
public decimal Age { get; set; }
public decimal Gender { get; set; }
public decimal Detector { get; set; }
public decimal Calculator { get; set; }
public decimal Mask { get; set; }
}
recognitionService.FaceCollection
ส่งคืนวัตถุรวบรวมใบหน้า
การรวบรวมใบหน้าสามารถใช้ในการจัดการใบหน้าที่รู้จักเช่นเพิ่มรายการหรือลบ
การจดจำใบหน้าจะดำเนินการสำหรับใบหน้าที่รู้จักในการรวบรวมใบหน้าดังนั้นก่อนที่จะใช้วิธี recognize คุณต้องประหยัดอย่างน้อยหนึ่งใบหน้าในคอลเลกชันใบหน้า
ข้อมูลเพิ่มเติมเกี่ยวกับการรวบรวมใบหน้าและตัวอย่างการจัดการที่นี่
วิธีการ:
สิ่งนี้สร้างตัวอย่างของเรื่องโดยการบันทึกภาพ คุณสามารถเพิ่มภาพได้มากเท่าที่คุณต้องการฝึกอบรมระบบ รูปภาพควรมีเพียงใบหน้าเดียว
await recognitionService.FaceCollection.AddAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | addsubjectexamplerequestbyfilepath | ที่จำเป็น |
AddSubjectExampleRequestByFilePath นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมไปยัง JSON
public class AddSubjectExampleRequestByFilePath : BaseExampleRequest
{
public string FilePath { get; set; }
}
คลาส BaseExampleRequest :
namespace Exadel.Compreface.DTOs.HelperDTOs.BaseDTOs
{
public class BaseExampleRequest
{
public string Subject { get; set; }
public decimal? DetProbThreShold { get; set; }
}
}
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
DetProbThreShold เป็นคุณสมบัติทางเลือก
การตอบสนอง:
{
"image_id": "6b135f5b-a365-4522-b1f1-4c9ac2dd0728",
"subject": "SubjectName"
}
| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| image_id | uuid | uuid ของภาพที่อัปโหลด |
| เรื่อง | สาย | หัวเรื่องของภาพที่บันทึกไว้ |
การตอบสนอง JSON นี้ถูก deserialized เพื่อ AddSubjectExampleResponse การถ่ายโอนข้อมูลข้อมูล (DTO) (DTO)
public class AddSubjectExampleResponse
{
public Guid ImageId { get; set; }
public string Subject { get; set; }
}
เพื่อดึงรายการของวิชาที่บันทึกไว้ในคอลเลกชันใบหน้า:
await recognitionService.FaceCollection.ListAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | ListallSubjectExamplesRequest | ที่จำเป็น |
ListAllSubjectExamplesRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class ListAllSubjectExamplesRequest
{
public int? Page { get; set; }
public int? Size { get; set; }
public string Subject { get; set; }
}
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| หน้าหนังสือ | int | ไม่จำเป็น | จำนวนหน้าตัวอย่างที่จะส่งคืน สามารถใช้สำหรับการปนเปื้อน ค่าเริ่มต้นคือ 0 ตั้งแต่ 0.6 เวอร์ชัน |
| ขนาด | int | ไม่จำเป็น | ใบหน้าบนหน้า (ขนาดหน้า) สามารถใช้สำหรับการปนเปื้อน ค่าเริ่มต้นคือ 20 ตั้งแต่รุ่น 0.6 |
| เรื่อง | int | ไม่จำเป็น | ตัวอย่างของหัวเรื่องใดควรกลับมา หากว่างเปล่าให้ตัวอย่างสำหรับทุกวิชา ตั้งแต่ 1.0 เวอร์ชัน |
การตอบสนอง:
{
"faces": [
{
"image_id": <image_id>,
"subject": <subject>
},
...
]
}
| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| image_id | uuid | uuid ของใบหน้า |
| เรื่อง | สาย | ของบุคคลที่มีภาพที่บันทึกไว้สำหรับคีย์ API นี้ |
การตอบสนองของ JSON นี้ถูก deserialized ไปยัง ListAllSubjectExamplesResponse Data Transfer Object (DTO)
public class ListAllSubjectExamplesResponse
{
public IList<Face> Faces { get; set; }
public int PageNumber { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public int TotalElements { get; set; }
}
Face เรียน:
public class Face
{
public Guid ImageId { get; set; }
public string Subject{ get; set; }
}
เพื่อลบตัวอย่างภาพทั้งหมดของ:
recognitionService.FaceCollection.DeleteAllAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | deleeteallexamplesrequest | ที่จำเป็น |
DeleteAllExamplesRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class DeleteMultipleExampleRequest
{
public IList<Guid> ImageIdList { get; set; }
}
การตอบสนอง:
{
"deleted": <count>
}
| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| ถูกลบออก | จำนวนเต็ม | จำนวนใบหน้าที่ถูกลบ |
การตอบสนอง JSON นี้ถูก deserialized เพื่อ DeleteMultipleExamplesResponse data transfer Object (DTO)
public class DeleteMultipleExamplesResponse
{
public IList<Face> Faces { get; set; }
}
เพื่อลบภาพด้วย ID:
await recognitionService.FaceCollection.DeleteAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | DELETEIMAGEYIDREQUEST | ที่จำเป็น |
DeleteImageByIdRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class DeleteImageByIdRequest
{
public Guid ImageId { get; set; }
}
การตอบสนอง:
{
"image_id": <image_id>,
"subject": <subject>
}
| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| image_id | uuid | uuid ของใบหน้าที่ถูกลบออก |
| เรื่อง | สาย | ของบุคคลที่มีภาพที่บันทึกไว้สำหรับคีย์ API นี้ |
การตอบสนอง JSON นี้ถูก deserialized เพื่อ DeleteImageByIdResponse data transfer Object (DTO)
public class DeleteImageByIdResponse
{
public Guid ImageId { get; set; }
public string Subject { get; set; }
}
ในการดาวน์โหลดภาพโดย ID:
await recognitionService.FaceCollection.DownloadAsync(downloadImageByIdRequest);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | DownloadImageByidDirectlyRequest | ที่จำเป็น |
DownloadImageByIdDirectlyRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class DownloadImageByIdDirectlyRequest
{
public Guid ImageId { get; set; }
public Guid RecognitionApiKey { get; set; }
}
ร่างกายตอบสนอง เป็นภาพไบนารี ไบต์ที่ว่างเปล่าหากไม่พบภาพ
since 0.6 version
ในการดาวน์โหลดตัวอย่างภาพของหัวเรื่องโดย ID:
await recognitionService.FaceCollection.DownloadAsync(downloadImageBySubjectIdRequest);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | DownloadImageByIdFromSubJectRequest | ที่จำเป็น |
DownloadImageByIdFromSubjectRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class DownloadImageByIdFromSubjectRequest
{
public Guid ImageId { get; set; }
}
ร่างกายตอบสนอง เป็นภาพไบนารี ไบต์ที่ว่างเปล่าหากไม่พบภาพ
recognitionService.Subject
วัตถุที่ส่งคืนวัตถุวัตถุอาสาสมัครอนุญาตให้ทำงานกับวิชาโดยตรง (ไม่ใช่ผ่านตัวอย่างหัวเรื่อง) ข้อมูลเพิ่มเติมเกี่ยวกับวิชาที่นี่
วิธีการ:
สร้างหัวข้อใหม่ในคอลเลกชันใบหน้า
await recognitionService.Subject.AddAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | addsubjectrequest | ที่จำเป็น |
AddSubjectRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมไปยัง JSON
public class AddSubjectRequest
{
public string Subject { get; set; }
}
การตอบสนอง:
{
"subject" : " subject1 "
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| เรื่อง | สาย | คือชื่อของเรื่อง |
การตอบสนอง JSON นี้ถูก deserialized ไปยัง AddSubjectResponse Data Transfer Object (DTO)
public class AddSubjectResponse
{
public string Subject { get; set; }
}
ส่งคืนหัวเรื่องทั้งหมดที่เกี่ยวข้องกับการรวบรวมใบหน้า
await recognitionService.Subject.ListAsync();
การตอบสนอง:
{
"subjects" : [
" <subject_name1> " ,
" <subject_name2> "
]
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| อาสาสมัคร | อาร์เรย์ | รายการของวิชาในคอลเลกชันใบหน้า |
การตอบสนองของ JSON นี้ถูก deserialized เพื่อ GetAllSubjectResponse data transfer Object (DTO)
public class GetAllSubjectResponse
{
public IList<string> Subjects { get; set; }
}
เปลี่ยนชื่อเรื่องที่มีอยู่ หากชื่อเรื่องใหม่มีอยู่แล้ววิชาจะถูกรวมเข้าด้วยกัน - ใบหน้าทั้งหมดจากชื่อเรื่องเก่าจะถูกกำหนดใหม่ให้กับหัวข้อที่มีชื่อใหม่
await recognitionService.Subject.RenameAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | Renamesubjectrequest | ที่จำเป็น |
RenameSubjectRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมไปยัง JSON
public class RenameSubjectRequest
{
public string CurrentSubject { get; set; }
public string Subject { get; set; }
}
การตอบสนอง:
{
"updated" : " true|false "
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| อัปเดต | บูลีน | ล้มเหลวหรือประสบความสำเร็จ |
การตอบสนอง JSON นี้ถูก deserialized ไปยังวัตถุการถ่ายโอนข้อมูล RenameSubjectResponse (DTO)
public class RenameSubjectResponse
{
public bool Updated { get; set; }
}
ลบหัวเรื่องที่มีอยู่และใบหน้าที่บันทึกไว้ทั้งหมด
await recognitionService.Subject.DeleteAsync(request);
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | DELETESUBJECTREQUEST | ที่จำเป็น |
DeleteSubjectRequest นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class RenameSubjectRequest
{
public string CurrentSubject { get; set; }
public string Subject { get; set; }
}
การตอบสนอง:
{
"subject" : " subject1 "
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| เรื่อง | สาย | คือชื่อของเรื่อง |
การตอบสนอง JSON นี้ถูก deserialized ไปยังวัตถุการถ่ายโอนข้อมูล DeleteSubjectResponse (DTO)
public class DeleteSubjectResponse
{
public string Subject { get; set; }
}
ลบวิชาที่มีอยู่ทั้งหมดและใบหน้าที่บันทึกไว้ทั้งหมด
await recognitionService.Subject.DeleteAllAsync();
การตอบสนอง:
{
"deleted" : " <count> "
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| ถูกลบออก | จำนวนเต็ม | จำนวนวิชาที่ถูกลบ |
การตอบสนองของ JSON นี้ถูก deserialized เป็น DeleteAllSubjectsResponse data transfer Object (DTO)
public class DeleteAllSubjectsResponse
{
public int Deleted { get; set; }
}
บริการตรวจจับใบหน้าใช้สำหรับการตรวจจับใบหน้าในภาพ
วิธีการ:
await faceDetectionService.DetectAsync(request);
พบใบหน้าทั้งหมดบนภาพ
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | FacedetectionRequestbyFilepath | ที่จำเป็น |
FaceDetectionRequestByFilePath นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class FaceDetectionRequestByFilePath : BaseFaceRequest
{
public string FilePath { get; set; }
}
คลาส BaseFaceRequest มีคุณสมบัติ เสริม :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
| จำกัด | จำนวนเต็ม | จำนวนใบหน้าสูงสุดบนภาพที่จะรับรู้ มันตระหนักถึงใบหน้าที่ใหญ่ที่สุดก่อน ค่า 0 แสดงถึงไม่มีขีด จำกัด ค่าเริ่มต้น: 0 |
| Prediction_count | จำนวนเต็ม | จำนวนสูงสุดของการทำนายเรื่องต่อใบหน้า มันส่งคืนวิชาที่คล้ายกันมากที่สุด ค่าเริ่มต้น: 1 |
| face_plugins | สาย | ปลั๊กอินที่คั่นด้วยเครื่องหมายจุลภาค หากว่างเปล่าจะไม่มีการส่งคืนข้อมูลเพิ่มเติม เรียนรู้เพิ่มเติม |
| สถานะ | บูลีน | หากจริงรวมถึงข้อมูลระบบเช่น Execution_time และ Fields Plugin_Version ค่าเริ่มต้นเป็นเท็จ |
การตอบสนอง:
{
"result" : [ {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.03027934394776821 , " ... " , -0.05117142200469971 ],
"box" : {
"probability" : 0.9987509250640869 ,
"x_max" : 376 ,
"y_max" : 479 ,
"x_min" : 68 ,
"y_min" : 77
},
"landmarks" : [ [ 156 , 245 ], [ 277 , 253 ], [ 202 , 311 ], [ 148 , 358 ], [ 274 , 365 ] ],
"execution_time" : {
"age" : 30.0 ,
"gender" : 26.0 ,
"detector" : 130.0 ,
"calculator" : 49.0 ,
"mask" : 36.0
}
} ],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| อายุ | วัตถุ | ตรวจพบช่วงอายุ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินอายุ |
| เพศ | วัตถุ | ตรวจพบเพศ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเพศ |
| หน้ากาก | วัตถุ | หน้ากากตรวจพบ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินมาสก์หน้า |
| การฝัง | อาร์เรย์ | ใบหน้าฝังตัว ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเครื่องคิดเลข |
| กล่อง | วัตถุ | รายการพารามิเตอร์ของกล่องขอบเขตสำหรับใบหน้านี้ (บน processedImage) |
| ความน่าจะเป็น | ลอย | ความน่าจะเป็นที่ใบหน้าที่พบนั้นเป็นใบหน้า (บน processedimage) |
| X_MAX, Y_MAX, X_MIN, Y_MIN | จำนวนเต็ม | พิกัดของเฟรมที่มีใบหน้า (บน processedImage) |
| สถานที่สำคัญ | อาร์เรย์ | รายชื่อพิกัดของเฟรมที่มีพื้นที่ใบหน้า ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินสถานที่สำคัญ |
| Execution_time | วัตถุ | เวลาดำเนินการของปลั๊กอินทั้งหมด |
| ปลั๊กอิน _versions | วัตถุ | มีข้อมูลเกี่ยวกับเวอร์ชันปลั๊กอิน |
การตอบสนอง JSON นี้ถูกทำลายไปยังวัตถุการถ่ายโอนข้อมูลแบบ FaceDetectionResponse (DTO)
public class FaceDetectionResponse
{
public IList<BaseResult> Result { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
คลาส BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
บริการตรวจสอบใบหน้าใช้สำหรับการเปรียบเทียบสองภาพ ภาพต้นทางควรมีใบหน้าเดียวเท่านั้นที่จะเปรียบเทียบกับใบหน้าทั้งหมดในภาพเป้าหมาย
วิธีการ:
await faceVerificationService.VerifyAsync(request);
เปรียบเทียบสองภาพที่มีให้ในอาร์กิวเมนต์ ภาพแหล่งที่มาควรมีใบหน้าเดียวเท่านั้นมันจะถูกนำมาเปรียบเทียบกับใบหน้าทั้งหมดในภาพเป้าหมาย
| การโต้แย้ง | พิมพ์ | ที่จำเป็น | หมายเหตุ |
|---|---|---|---|
| ขอ | faceverificationRequestbyfilepath | ที่จำเป็น |
FaceVerificationRequestByFilePath นี่คือวัตถุการถ่ายโอนข้อมูลซึ่งเป็นอนุกรมของ JSON
public class FaceVerificationRequestByFilePath : BaseFaceRequest
{
public string SourceImageFilePath { get; set; }
public string TargetImageFilePath { get; set; }
}
คลาส BaseFaceRequest มีคุณสมบัติ เสริม :
public class BaseFaceRequest
{
public int? Limit { get; set; }
public decimal DetProbThreshold { get; set; }
public IList<string> FacePlugins { get; set; }
public bool Status { get; set; }
}
| ตัวเลือก | พิมพ์ | หมายเหตุ |
|---|---|---|
| det_prob_threshold | ลอย | ความมั่นใจขั้นต่ำที่ต้องการว่าใบหน้าที่เป็นที่รู้จักนั้นเป็นใบหน้า ค่าอยู่ระหว่าง 0.0 ถึง 1.0 |
| จำกัด | จำนวนเต็ม | จำนวนใบหน้าสูงสุดบนภาพที่จะรับรู้ มันตระหนักถึงใบหน้าที่ใหญ่ที่สุดก่อน ค่า 0 แสดงถึงไม่มีขีด จำกัด ค่าเริ่มต้น: 0 |
| Prediction_count | จำนวนเต็ม | จำนวนสูงสุดของการทำนายเรื่องต่อใบหน้า มันส่งคืนวิชาที่คล้ายกันมากที่สุด ค่าเริ่มต้น: 1 |
| face_plugins | สาย | ปลั๊กอินที่คั่นด้วยเครื่องหมายจุลภาค หากว่างเปล่าจะไม่มีการส่งคืนข้อมูลเพิ่มเติม เรียนรู้เพิ่มเติม |
| สถานะ | บูลีน | หากจริงรวมถึงข้อมูลระบบเช่น Execution_time และ Fields Plugin_Version ค่าเริ่มต้นเป็นเท็จ |
การตอบสนอง:
{
"result" : [{
"source_image_face" : {
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.0010271212086081505 , " ... " , -0.008746841922402382 ],
"box" : {
"probability" : 0.9997453093528748 ,
"x_max" : 205 ,
"y_max" : 167 ,
"x_min" : 48 ,
"y_min" : 0
},
"landmarks" : [ [ 92 , 44 ], [ 130 , 68 ], [ 71 , 76 ], [ 60 , 104 ], [ 95 , 125 ] ],
"execution_time" : {
"age" : 85.0 ,
"gender" : 51.0 ,
"detector" : 67.0 ,
"calculator" : 116.0 ,
"mask" : 36.0
}
},
"face_matches" : [
{
"age" : {
"probability" : 0.9308982491493225 ,
"high" : 32 ,
"low" : 25
},
"gender" : {
"probability" : 0.9898611307144165 ,
"value" : " female "
},
"mask" : {
"probability" : 0.9999470710754395 ,
"value" : " without_mask "
},
"embedding" : [ -0.049007344990968704 , " ... " , -0.01753818802535534 ],
"box" : {
"probability" : 0.99975 ,
"x_max" : 308 ,
"y_max" : 180 ,
"x_min" : 235 ,
"y_min" : 98
},
"landmarks" : [ [ 260 , 129 ], [ 273 , 127 ], [ 258 , 136 ], [ 257 , 150 ], [ 269 , 148 ] ],
"similarity" : 0.97858 ,
"execution_time" : {
"age" : 59.0 ,
"gender" : 30.0 ,
"detector" : 177.0 ,
"calculator" : 70.0 ,
"mask" : 36.0
}
}],
"plugins_versions" : {
"age" : " agegender.AgeDetector " ,
"gender" : " agegender.GenderDetector " ,
"detector" : " facenet.FaceDetector " ,
"calculator" : " facenet.Calculator " ,
"mask" : " facemask.MaskDetector "
}
}]
}| องค์ประกอบ | พิมพ์ | คำอธิบาย |
|---|---|---|
| source_image_face | วัตถุ | ข้อมูลเพิ่มเติมเกี่ยวกับหน้าภาพต้นฉบับ |
| face_matches | อาร์เรย์ | ผลของการตรวจสอบใบหน้า |
| อายุ | วัตถุ | ตรวจพบช่วงอายุ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินอายุ |
| เพศ | วัตถุ | ตรวจพบเพศ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเพศ |
| หน้ากาก | วัตถุ | หน้ากากตรวจพบ ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินมาสก์หน้า |
| การฝัง | อาร์เรย์ | ใบหน้าฝังตัว ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินเครื่องคิดเลข |
| กล่อง | วัตถุ | รายการพารามิเตอร์ของกล่องขอบเขตสำหรับใบหน้านี้ |
| ความน่าจะเป็น | ลอย | ความน่าจะเป็นที่ใบหน้าที่พบนั้นเป็นใบหน้าจริง |
| X_MAX, Y_MAX, X_MIN, Y_MIN | จำนวนเต็ม | พิกัดของเฟรมที่มีใบหน้า |
| สถานที่สำคัญ | อาร์เรย์ | รายชื่อพิกัดของเฟรมที่มีพื้นที่ใบหน้า ส่งคืนเฉพาะเมื่อเปิดใช้งานปลั๊กอินสถานที่สำคัญ |
| ความคล้ายคลึงกัน | ลอย | ความคล้ายคลึงกันระหว่างใบหน้านี้กับใบหน้าบนภาพต้นทาง |
| Execution_time | วัตถุ | เวลาดำเนินการของปลั๊กอินทั้งหมด |
| ปลั๊กอิน _versions | วัตถุ | มีข้อมูลเกี่ยวกับเวอร์ชันปลั๊กอิน |
การตอบสนอง JSON นี้ถูกทำลายไปยังวัตถุการถ่ายโอนข้อมูล FaceVerificationResponse (DTO)
public class FaceVerificationResponse
{
public IList<Result> Result { get; set; }
}
public class Result
{
public SourceImageFace SourceImageFace { get; set; }
public IList<FaceMatches> FaceMatches { get; set; }
public PluginVersions PluginsVersions { get; set; }
}
public class SourceImageFace : BaseResult
{ }
public class FaceMatches : BaseResult
{
public decimal Similarity { get; set; }
}
คลาส BaseResult :
public class BaseResult
{
public Age Age { get; set; }
public Gender Gender { get; set; }
public Mask Mask { get; set; }
public Box Box { get; set; }
public IList<List<int>> Landmarks { get; set; }
public ExecutionTime ExecutionTime { get; set; }
public IList<decimal> Embedding { get; set; }
}
การมีส่วนร่วมคือสิ่งที่ทำให้ชุมชนโอเพ่นซอร์สเป็นสถานที่ที่น่าทึ่งในการเรียนรู้สร้างแรงบันดาลใจและสร้าง การมีส่วนร่วมใด ๆ ที่คุณทำจะได้รับการชื่นชมอย่างมาก
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )หลังจากสร้างคำขอดึงครั้งแรกของคุณคุณจะได้รับคำขอเพื่อลงนามในข้อตกลงใบอนุญาตผู้สนับสนุนของเราโดยแสดงความคิดเห็นคำขอดึงของคุณด้วยข้อความพิเศษ
โปรดรายงานข้อบกพร่องใด ๆ ที่นี่
หากคุณกำลังรายงานข้อผิดพลาดโปรดระบุ:
วิธีที่ดีที่สุดในการส่งข้อเสนอแนะให้เราคือการยื่นปัญหาที่ https://github.com/exadel-inc/compreface-net-sdk/issues
หากคุณกำลังเสนอคุณสมบัติโปรด:
INSPEFACE .NET SDK เป็น SDK การจดจำใบหน้าแบบโอเพ่นซอร์สที่เปิดตัวภายใต้ใบอนุญาต Apache 2.0