115 lines
2.8 KiB
C#
115 lines
2.8 KiB
C#
namespace OrpaonVision.SiteApp.Runtime.Contracts
|
||
{
|
||
/// <summary>
|
||
/// 推理结果对象。
|
||
/// </summary>
|
||
public sealed class InferenceResultDto
|
||
{
|
||
/// <summary>
|
||
/// 关联的帧标识。
|
||
/// </summary>
|
||
public Guid FrameId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 推理标识。
|
||
/// </summary>
|
||
public Guid InferenceId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 推理时间(UTC)。
|
||
/// </summary>
|
||
public DateTime InferredAtUtc { get; set; }
|
||
|
||
/// <summary>
|
||
/// 模型名称。
|
||
/// </summary>
|
||
public string ModelName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 模型版本。
|
||
/// </summary>
|
||
public string ModelVersion { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 推理耗时(毫秒)。
|
||
/// </summary>
|
||
public double InferenceTimeMs { get; set; }
|
||
|
||
/// <summary>
|
||
/// 检测结果列表。
|
||
/// </summary>
|
||
public IReadOnlyList<DetectionDto> Detections { get; set; } = [];
|
||
|
||
/// <summary>
|
||
/// 是否为NG(不良品)。
|
||
/// </summary>
|
||
public bool IsNg { get; set; }
|
||
|
||
/// <summary>
|
||
/// 预测标签(兼容性属性)。
|
||
/// </summary>
|
||
public string Label { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 置信度(兼容性属性)。
|
||
/// </summary>
|
||
public decimal Confidence { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 检测结果对象。
|
||
/// </summary>
|
||
public sealed class DetectionDto
|
||
{
|
||
/// <summary>
|
||
/// 类别ID。
|
||
/// </summary>
|
||
public int ClassId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 类别名称。
|
||
/// </summary>
|
||
public string ClassName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 置信度。
|
||
/// </summary>
|
||
public float Confidence { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框X坐标。
|
||
/// </summary>
|
||
public float X { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框Y坐标。
|
||
/// </summary>
|
||
public float Y { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框宽度。
|
||
/// </summary>
|
||
public float Width { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框高度。
|
||
/// </summary>
|
||
public float Height { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框中心X坐标。
|
||
/// </summary>
|
||
public float CenterX { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框中心Y坐标。
|
||
/// </summary>
|
||
public float CenterY { get; set; }
|
||
|
||
/// <summary>
|
||
/// 边界框面积。
|
||
/// </summary>
|
||
public float Area { get; set; }
|
||
}
|
||
}
|