首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

构建闭环全栈认知 IoT 应用程序时吸取的经验教训-4

构建闭环全栈认知 IoT 应用程序时吸取的经验教训-4

投入使用:观察它在实际应用中的行为在应用环境中引入定制分类器时,我需要在针对 Watson Visual Recognition 服务的 API                调用中为每个设备指定模型标识,并将结果整合到事件构造中。定制分类器标识是在 resin.io 仪表板中,作为每个设备的 Linux                应用环境变量进行指定的。指定默认分类器和定制分类器后,会对图像应用这两种分类器。
定制分类器的结果以分类器名称来标记(例如,roughfog_XXXXX)。默认分类器的结果以来自实体层次结构的分类器类型命名(例如,“/vehicle/truck”),或者针对                Watson Visual Recognition                中定义的实体集合命名为“default”。层次结构和实体集合均不发布,这两种结果都必须动态处理。在分层和平面名称空间拓扑中,必须对默认分类器返回的实体进行收集、编目和枚举。实体存在状态的计算必须加以量化,对于识别为噪音的实体,必须将其从结果集中移除。
JSON 编码事件包含返回的时间、模型指示符以及分类器和评分。所有分类器中评分最高的类将被复制为事件的主类。
通过提供新模型标识作为 Raspberry Pi 容器的环境变量,并且添加了包含新定制分类器的逻辑,在每个设备的非关系型存储库中记录了新事件。
图 13是安装厨房摄像头的图示,名为“rough-fog”。右侧窗格中指示了摄像头的位置;黄色区域指明了摄像区域                (FOV)。左侧对应图像是空无一人的厨房的“平均”图像,是从 Watson Visual Recognition                的定制分类器训练集合计算得到的。
图 13. 厨房摄像头的平均图像和摄像区域 (FOV)利用厨房中的摄像头和浴室中的摄像头,并通过经训练可识别家庭成员和宠物的定制分类器,即可开始信号分析。与默认分类器的结果相比,定制分类器的结果所呈现的日常活动模式更为有趣。
在厨房里,每周活动直方图(请参阅图 14)表明了我女儿 Hali                出现在那里,而她当时正在学校里。此外,通过检验个别事件发现,在我和我大儿子 Lan(他不会在早上 8 点前起床)之间发生多起混淆情况。
图 14. 居住者每日厨房活动的 Looker.com 图表(包括宠物)对于浴室,每周直方图表明我妻子 Keli 在这里花了大量的时间,尤其是相比于她待在厨房里的时间。此外,它显示我女儿 Ellen                在白天从学校瞬间移动到家中,并使用了浴室。显然,识别准确性还需要进一步改进。
最后,在撰写本文期间,我添加了第三个安装位置,用来观察我家屋外的道路(名为“quiet-water”)。我在 6 英寸 x 6 英寸的塑料电箱中安装了                Raspberry Pi 和 Playstation3 Eye 摄像头,在外盖上钻了一个 1.5 英寸的孔;摄像头倒置,摄像区域从正常的 75                度缩减到 56 度,这样观察的距离也就更长(请参阅图 15)。Motion 软件包提供了反转图像的选项,我为                quiet-water 安装新增了这一具体要求。
图 15. 道路摄像头的平均图片和摄像区域 (FOV)可通过了解有关 PlayStation Eye 数字摄像头设备的更多信息。

此安装提供了我家下方道路的视图,这条路的尽头就是我家的前门,我的家人与另外三家人都会走这条路。通过使用为室内场所开发且精心管理的用户体验,构建了一个定制模型来识别可能看到的任何事物。同样,起初部署了默认分类器,其结果与厨房和浴室中提供的结果相似,无关紧要的一般用途实体占据了大多数。由于进行了全帧分析,这些实体有了一定的意义,例如“斜坡”或“山坡”。但默认分类器还识别了一些令人感兴趣的实体,例如“车辆”。此外,由于新的                Watson Visual Recognition 默认分类器包含分层实体规范,因此可执行其他有趣的分析,例如,看到的动物的直方图(请参阅图 16)。显然,除非我住在动物园里,否则出现这么多动物的可能性是很低的(例如,“鳄鱼”)。
图 16. 根据 Db2 Warehouse on Cloud 中的 Watson Visual                    Recognition 结果,按一天中的不同时间绘制的 Looker.com 动物图表
随后对                quiet-water(道路)设备进行了训练,在查找画面中仅有一辆车的图像和决定所见实体的名称这两方面都遇到了困难。捕获的图像中包含了大量车辆;部分是已知的,但还有许多是未知的。我并没有尝试定义所有车辆类型和对应制造商、年份或车型的分类体系,只需车辆所有者和类型即可提供足够的信息背景。
为我拥有的车辆(martin_c70、martin_c30、martin_suburban)以及邻居拥有的车辆(neighbor_hybrid、neighbor_fordflex、neighbor_pickup)快速创建了多个类。同时也轻松区分和定义了有关邮政                (USPS)、包裹 (UPS)                和丙烷运输车辆的类。但是,考虑到其分析环境,其他类更难以区分和定义。到底该将它们定义为“unknown”、“whitepickup”或“car_at_night”,还是应建立层次结构?显然,区分和定义新示例的流程将是一个持续性的过程。我需要使用支持版本控制、分支、推送和拉取功能的共享存储库。随着分类体系的不断发展,就这些定义和示例而言,关联模型也将需要受到控制。
返回列表