查看: 2681|回复: 1

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

[复制链接]
  • TA的每日心情
    擦汗
    2020-4-8 12:00
  • 签到天数: 381 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-8-19 09:53:21 | 显示全部楼层 |阅读模式
    分享到:
    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征集活动奖励

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-8-23 23:04:20 | 显示全部楼层
    谢谢分享           
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 00:34 , Processed in 0.141480 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.