nn_class 类 – 神经网络检测结果¶
nn_class对象由 net.search() 返回。
构造函数¶
- 
class nn.nn_class¶
- 请调用 - net.search()来创建这个对象。
方法¶
- 
nn_class.rect()¶
- 返回一个nn_class的边界框的矩形元组(x,y,w,h),用于像 - image.draw_rectangle()等- image方法。
- 
nn_class.x()¶
- 返回nn_class的边界框的x坐标(int)。 - 您也可以通过索引 - [0]取得这个值。
- 
nn_class.y()¶
- 返回nn_class的边界框的y坐标(int)。 - 您也可以通过索引 - [1]取得这个值。
- 
nn_class.w()¶
- 返回nn_class的边界框的w坐标(int)。 - 您也可以通过索引 - [2]取得这个值。
- 
nn_class.h()¶
- 返回nn_class的边界框的h坐标(int)。 - 您也可以通过索引 - [3]取得这个值。
- 
nn_class.index()¶
- 返回nn类检测的索引(int)。 - 您也可以通过索引 - [4]取得这个值。
- 
nn_class.value()¶
- 返回nn类检测的值(float)。 - 您也可以通过索引 - [5]取得这个值。
Net 类 – 神经网络¶
构造函数¶
- 
class nn.load(path)¶
- 将神经网络从 - .network二进制文件加载到内存中。 神经网络的层/权值/偏置/等。存储在MicroPython堆上。 返回一个可以在图像上进行操作的Net对象。
方法¶
- 
net.forward(image[, roi[, softmax=False[, dry_run=False]]])¶
- 在图像roi上运行网络(必要时自动缩放)并返回神经网络分类结果的浮点值列表。 - roi是感兴趣区域的矩形元组(x,y,w,h)。如果未指定,则它等于图像矩形。仅运算- roi中的像素。- 如果 - softmax为True,则列表中所有的输出总和为1。否则,列表中的任何输出都可以在0和1之间。- 将 - dry_run设置为True以打印出正在执行的网络层而不是实际执行它们。这是为了调试debug。
- 
net.search(image[, roi[, threshold=0.6[, min_scale=1.0[, scale_mul=0.5[, x_overlap=0[, y_overlap=0[, contrast_threshold=1[, softmax=False]]]]]]]])¶
- 以滑动窗口方式在图像roi上运行网络。 网络检测器窗口以多种比例滑过图像。 - 返回神经网络检测结果的 - nn_class对象列表。- roi是感兴趣区域的矩形元组(x,y,w,h)。如果未指定,则它等于图像矩形。仅运算- roi中的像素。- 在图像中的区域上运行之后,将最大检测值超过 - threshold的对象添加到输出列表中。- min_scale控制网络模型的缩放比例。在默认值下,网络不会缩放。但是,值为0.5将允许用于检测图像大小为50%的对象…- scale_mul控制测试多少个不同的比例。滑动窗口方法的工作原理是将默认比例1乘以- scale_mul,
- 并且结果需要大于 min_scale。scale_mul的默认值0.5,测试每个比例变化减少50%。 但是,0.95的值仅为5%的缩小量。
 - x_overlap控制与滑动窗口的下一个检测区域重叠的百分比。值为零表示没有重叠。值为0.95意味着95%重叠。- y_overlap控制与滑动窗口的下一个检测区域重叠的百分比。值为零表示没有重叠。值为0.95意味着95%重叠。- contrast_threshold控制跳过图像低对比度区域的阈值。在图像中的某个区域上运行nn之前,将在该区域上计算标准偏差,如果标准偏差低于- contrast_threshold,则跳过该区域。- 如果 - softmax为True,则列表中所有的输出总和为1。否则,列表中的任何输出都可以在0和1之间。