Divooka.Onnx.zh
Divooka.Onnx.MLModels.YoloV2
一个用于图像中物体检测的 YoLoV2 (Tiny) 简单接口。
需要模型文件。目前的实现仅在 Windows 上工作,但应该容易通过 SkiaSharp 进行更改。
Remarks
参考: https://learn.microsoft.com/en-us/dotnet/machine-learning/tutorials/object-detection-onnx
https://github.com/dotnet/machinelearning-samples/tree/main/samples/csharp/getting-started/DeepLearning_ObjectDetection_Onnx
Divooka.Onnx.MLModels.YoloV2.OnnxModelScorer
对输入数据上的ONNX模型进行评分。
Divooka.Onnx.MLModels.YoloV2.OnnxModelScorer.#ctor()
初始化 OnnxModelScorer 类的新实例。
Parameters
| Name | Description | Default |
|---|---|---|
imagesFolder |
包含图像的文件夹。 | |
modelLocation |
ONNX 模型文件的路径。 | |
mlContext |
MLContext 实例。 |
Divooka.Onnx.MLModels.YoloV2.OnnxModelScorer.Score()
使用ONNX模型对数据进行评分。
Parameters
| Name | Description | Default |
|---|---|---|
data |
输入数据视图。 |
模型输出概率集合
模型输出概率集合。
Divooka.Onnx.MLModels.YoloV2.ImageNetSettings
ImageNet 设置。
Divooka.Onnx.MLModels.YoloV2.TinyYoloModelSettings
Tiny YOLO模型设置。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase
基类,表示维度。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.X
获取或设置 X 坐标。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.Y
获取或设置 Y 坐标。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.Height
获取或设置高度。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.Width
获取或设置宽度。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.Right
获取右边界(X + 宽度)。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.Bottom
获取底部边界 (Y + Height)。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.#ctor
初始化 DimensionsBase 类的新实例。
Divooka.Onnx.MLModels.YoloV2.DimensionsBase.#ctor()
使用指定的值初始化 DimensionsBase 类的新实例。
Parameters
| Name | Description | Default |
|---|---|---|
x |
X 坐标。 | |
y |
Y 坐标。 | |
height |
高度值。 | |
width |
宽度值。 |
Divooka.Onnx.MLModels.YoloV2.BoundingBoxDimensions
代表边界框的维度。
Divooka.Onnx.MLModels.YoloV2.CellDimensions
Represents cell dimensions.
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox
表示一个检测到的YOLO边界框。
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox.Dimensions
获取或设置边界框的尺寸。
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox.Label
获取或设置检测到的对象的标签。
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox.Confidence
获取或设置置信度分数。
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox.Rect
获取表示边界框的矩形。
Divooka.Onnx.MLModels.YoloV2.YoloBoundingBox.BoxColor
获取或设置边界框的颜色。
Divooka.Onnx.MLModels.YoloV2.YoloV2MiniParameters
包含YoloV2迷你模型的参数。
Divooka.Onnx.MLModels.YoloV2.BatchProcess()
批量处理图像以进行目标检测。
Parameters
| Name | Description | Default |
|---|---|---|
imagesFolder |
包含输入图像的文件夹。 | |
outputsFolder |
保存处理后图像的文件夹。 |
处理结果
处理后的图像结果。
Divooka.Onnx.MLModels.YoloV2.DrawBoundingBox()
在图像上绘制边界框。
Parameters
| Name | Description | Default |
|---|---|---|
inputImageLocation |
输入图像的位置。 | |
outputImageLocation |
保存输出图像的位置。 | |
imageName |
图像文件的名称。 | |
filteredBoundingBoxes |
要绘制的边界框列表。 |
返回图像
返回处理后的图像。
Divooka.Onnx.MLModels.YoloV2.LogDetectedObjects()
记录图像中检测到的对象。
Parameters
| Name | Description | Default |
|---|---|---|
imageName |
图像文件的名称。 | |
boundingBoxes |
检测到的边界框列表。 |
Divooka.Onnx.MLModels.YoloV2.ParseOutputs()
解析模型输出为边界框。
Parameters
| Name | Description | Default |
|---|---|---|
yoloModelOutputs |
Array of model outputs. | |
threshold |
Threshold for detection. |
检测到的边界框列表
List of detected bounding boxes.
Divooka.Onnx.MLModels.YoloV2.FilterBoundingBoxes()
根据重叠过滤边界框。
Parameters
| Name | Description | Default |
|---|---|---|
boxes |
检测到的边界框列表。 | |
limit |
返回的最大边界框数量。 | |
threshold |
交集与并集阈值。 |
过滤后的边界框列表
过滤后的边界框列表。
Divooka.Onnx.MLModels.YoloV2.GetAbsolutePath()
将文件夹路径和相对路径组合成绝对路径。
Parameters
| Name | Description | Default |
|---|---|---|
folderPath |
文件夹路径。 | |
relativePath |
相对路径。 |
组合的绝对路径
组合的绝对路径。
Divooka.Onnx.OnnxRunner.Example()
将 imagesFolder 中的图像加载到 IDataView 中。
Parameters
| Name | Description | Default |
|---|---|---|
imagesFolder |
||
imagesDataFile |
包含两列:图像路径和名称的 TSV 文件 |