1回答

1收藏

【征集/转载】角蜂鸟AI视觉套件:高层API

其他 其他 3386 人阅读 | 1 人回复 | 2018-08-19

Version 0.1.0[color=var(--MAIN-ANCHOR-color)][size=0.5em]通用高层函数[color=var(--MAIN-ANCHOR-color)][size=0.5em]
HS.__init__()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 初始化角蜂鸟高层接口。
  • 语法 Syntax:

hs.HS(modelName, **kwargs)
  • 参数 Parameters:
    • modelName: 内置模型名称。
    • **kwargs 关键字参数: (Optional)
      • ‘verbose’ 显示信息详细程度:从0到2分别为无信息、关键信息、全部信息。默认为2。
      • ‘mean’ 模型前处理均值。默认为1.0
      • ‘scale’ 模型前处理尺度。默认为0.007843 (1/127.5)
      • ‘graphFolder’ 模型文件夹路径。 默认为 ‘../graphs/’
      • ‘zoom’ 为True时图像尺寸为640x360,False时1920x1080。默认为True。
      • ‘labels’ 使用SSD时是否使用自定义标签。默认为None。未来开放自定义模型时可更改。
      • ‘threshSSD’ 使用SSD时的阈值,范围为0-1。 默认为0.55。


  • 返回 Return: 返回已加载模型的HS Object实例。
  • 范例 Example:

net = hs.HS('FaceDetector', zoom = True, verbose = 2)
HS.run()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 执行一次角蜂鸟卷积神经网络。
  • 语法 Syntax:

result = net.run(img, **kwargs)
  • 参数 Parameters:
    • img: 使用角蜂鸟模式时输入应为None,用外置摄像头时为输入UINT8图片,可为黑白或BGR(OpenCV视频流输出)。
  • 返回 Return: 返回[Image, Output],视频图像(UINT8)与神经网络结果。 结果内容取决于模型类型。
  • 范例 Example:

result = net.run(img)
HS.getParam()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 获取模型信息。
  • 语法 Syntax:

modelParam = getParam(modelName):
  • 参数 Parameters:
    • modelName: 模型名称,例如’mnist’。
  • 返回 Return: 返回模型参数,例如 [‘graph_mnist’, 0.007843, 1.0, True, (28,28), 1]。分别对应为模型文件名称、Scale、Mean、是否为灰度、网络输入尺寸、模型ID。未来会增加自定义模型。
  • 范例 Example:

modelParam = getParam('mnist'):SSD 相关高层函数[color=var(--MAIN-ANCHOR-color)][size=0.5em]
HS.getBoundingBoxFromSSDResult()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 从SSD神经网络模型输出结果中解析出检测窗。
  • 语法 Syntax:

boxes = getBoundingBoxFromSSDResult(out_HS, size):
  • 参数 Parameters:
    • out_HS: SSD网络输出结果。
    • size: 网络输入尺寸。
  • 返回 Return: 返回检测窗Array,例如 [[0, 0.99805, 334, 2, 595, 289]]。分别对应为:
    • 检测目标类别:人脸固定为0, 物体检测时可为0-19,对应不同的标签(请参考VOC数据库标注)。
    • 检测置信度:范围为0-1,越高检测器越肯定目标是否准确。
    • 人脸框的位置:4个数值对应左上角和右下角坐标。
  • 范例 Example:

output = self.getBoundingBoxFromSSDResult(output, (300,300))
HS.plotSSD()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 将SSD模型解析后的检测结果(从run()得到的[Image,result])在图片上画框。
  • 语法 Syntax:

img = net.plotSSD(result)
  • 参数 Parameters:
    • result: 解析后的SSD网络输出结果。
  • 返回 Return: 返回画框的图像。

Scene Recorder 相关高层函数[color=var(--MAIN-ANCHOR-color)][size=0.5em]
HS.init_recorder()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 初始化情景记录器。注意:在范例中由record函数自动调用。
  • 语法 Syntax:

net.init_recorder(feat_dim)
  • 参数 Parameters:
    • feat_dim: 图像特征向量的维度。范例中为1024。
  • 返回 Return: 无。
  • 范例 Example:

self.init_recorder(result[1].shape[0])
HS.record()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 根据输入键位存在两种模式:录制模式与识别模式:
    • 录制模式:按[1-5]其中之一按键,将特征向量存入指定存档中。目前支持一共5个存档,可根据需要修改API扩展。按[r]将自动执行实时压缩和训练分类模型。
    • 识别模式:没有按键,将输出识别结果。
  • 语法 Syntax:

result = record(result, key, **kwargs)
  • 参数 Parameters:
    • result: 图片与神经网络输出的图像特征向量。
    • key: OpenCV返回的键位字符串,例如’1’。
    • **kwargs 关键字参数: (Optional)
    • ‘saveFilename’ 储存在本地时文件名,默认为: ‘../misc/record.dat’。
    • ‘numBin’ 存档个数,默认为5。限于键位数量,最大支持9。如需更多类别,可修改API HS.record() 函数中的键位映射。
    • ‘threshPerc’ 裁剪冗余图像向量时的阈值。默认为0.3。
    • ‘metric’ Metric类型。默认为欧式距离’euclidean’,可选Cosine距离’angular’。其他距离请参考Annoy官方文档。

  • 返回 Return: None 或 属于每一个存档类别的估测概率。
  • 范例 Example:

key = cv2.waitKey(5)prob = net.record(result, key)
HS.compressFeatBin()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 压缩存档,去除每一个类别中的冗余图像特征向量。
  • 语法 Syntax:

net.compressFeatBin()
  • 参数 Parameters: 无。
  • 返回 Return: 无。


HS.buildANN()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 用每个存档中的图像特征向量学习近似最近邻模型(Approximate Nearest Neighbour)。依赖Annoy库。
  • 语法 Syntax:

net.buildANN()
  • 参数 Parameters: 无。
  • 返回 Return: 无。


HS.runANN()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 将特征向量与每个存档比对。依赖Annoy库。
  • 语法 Syntax:

result = net.runANN(feat)
  • 参数 Parameters:
    • feat: 图像特征向量。
  • 返回 Return: 分别属于每个类别的估测概率。


HS.saveBinsToLocal()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 将特征向量存档储存于本地指定的文件中。默认为../misc/record.dat。范例中按’s’键触发。
  • 语法 Syntax:

net.saveBinsToLocal()
  • 参数 Parameters: 无。
  • 返回 Return: 无。


HS.loadBinsToLocal()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 将本地指定的文件载入存档中。默认为../misc/record.dat。范例中按’l’键触发。
  • 语法 Syntax:

net.loadBinsToLocal()
  • 参数 Parameters: 无。
  • 返回 Return: 无。


HS.resetBins()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 重置删除所有存档。范例中按’p’键触发。不会删除本地文件。
  • 语法 Syntax:

net.resetBins()
  • 参数 Parameters: 无。
  • 返回 Return: 无。


HS.dispBins()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 在终端中显示每个存档所包含的图像特征向量个数。
  • 语法 Syntax:

net.dispBins()
  • 参数 Parameters: 无。
  • 返回 Return: 无。

其他功能:包含只获取图像、数学函数以及发送消息函数等[color=var(--MAIN-ANCHOR-color)][size=0.5em]
HS.getImage()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 略过神经网络只提取BGR图像信息。
  • 语法 Syntax:

image = net.getImage()
  • 参数 Parameters:
    • string: 无。
  • 返回 Return: UINT8-BGR图像矩阵。


HS.msg()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 在终端中显示内容,在Verbose >= 1时显示。
  • 语法 Syntax:

net.msg(string)
  • 参数 Parameters:
    • string: 需要显示的字符串。
  • 返回 Return: 无。


HS.msg_debug()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: 在终端中显示用于Debug的详细内容,在Verbose >= 2时显示。
  • 语法 Syntax:

net.msg_debug(string)
  • 参数 Parameters:
    • string: 需要显示的字符串。
  • 返回 Return: 无。


HS.softmax()[color=var(--MAIN-ANCHOR-color)][size=0.5em]
  • 版本 Version: 0.1.0
  • 总览 Overview: SoftMax归一化指数函数。压缩向量使得每一个元素的范围都在 (0,1)之间,并且所有元素的和为1。用于估测分类置信度。
  • 语法 Syntax:

softmax_result = net.softmax(result)
  • 参数 Parameters:
    • result 分类结果。
  • 返回 Return: SoftMax函数处理后的结果。


评分

参与人数 1与非币 +50 收起 理由
satoll + 50 AI征集活动奖励

查看全部评分

分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

feixiang20

发表于 2018-8-23 23:04:20 | 只看该作者

谢谢分享           
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条