“MiMaMori Alert”是您家中的自动监控摄像头。没有教师图像的自动学习,并在有访客时通知。你不在家,但你可以看到你的访客和小偷。
出门在外不愁家!你经历过吗?
这种情况,如果有MiMaMori Alert,就可以解决。MiMaMori Alert 是一款自动监控摄像头。如需网络设置,只需安装摄像头即可。不需要教师形象。
如果摄像头前有任何可疑动静,摄像头会自动拍照并通知您。MiMaMori Alert 非常紧凑。而且成本非常低。
MiMaMori Alert 是两种配置。
・M5StickV + M5StickC
・M5UnitV + M5StickC
M5StickV 和 M5UnitV 包括 Kendryte K210。Kendryte K210 是一款非常强大的设备。计算神经网络。M5StickC 是一种便携式网络设备。这可以与互联网连接。
M5StickV/UnitV 和 M5StickC 通过 Grove 连接。通过 UART 进行通信。使用专有协议进行通信。以 10 位为单位发送数据。
算法如下。
①首先,使用Mobilnet的神经网络计算特征向量。Mobilnet 使用 Keras 和 NNcase 创建了一个 0.5 的 V1 权重。NNCASE 是一个 Kendryte 工具。
task = kpu.load(0x200000)
fmap = kpu.forward(task, img)
new_data = np.array(fmap[:])
②将神经网络得到的特征向量在时间序列方向进行滤波,得到加权平均。向量运算使用Numpy
#Feature Vector Update
def update(capture,new_data,weight):
new_data= new_data*weight+capture*(1.0-weight)
return new_data
new_data=update(capture,new_data,cap_weight)
③计算当前时刻的平均向量与特征向量的距离。这相当于寻找运动。移动时距离大,静止时距离小。
#Feature Vector Compare
def get_dis(new_data,master_data):
dist = np.sum((new_data-master_data)*(new_data-master_data))
return dist
dist=get_dis(new_data,master_data)
④检测波形的上升沿,通过串口发送数据。上升沿与时间序列中的上一个数据进行比较
if dist > dist_thresh:
if dist_old <= dist_thresh:
img_buf = img.copy()
img_buf.compress(quality=70)
img_size1 = (img_buf.size()& 0xFF0000)>>16
img_size2 = (img_buf.size()& 0x00FF00)>>8
img_size3 = (img_buf.size()& 0x0000FF)>>0
data_packet = bytearray([0xFF,0xF1,0xF2,0xA1,img_size1,img_size2,img_size3,0x00,0x00,0x00])
uart_Port.write(data_packet)
uart_Port.write(img_buf)
time.sleep(1.0)
print("image send,data_packet")
⑤M5StickC通过UART通知向LINE发送图像和消息。M5StickC 是使用 ArduinoIDE 开发的。
此应用程序可以检测动态的。安装也很容易。只是保持眼前的事物。各种应用都是可能的。
这是日本传统食品“滑子”的防御技巧。《MiMaMori Alert》设定在滑美子的背后。如果有 nameko 被带走,请尽快通知您的 LINE。
此源代码需要 MixPy 选项配置 Numpy。自定义二进制文件存储在 Github 中。并且,神经网络需要权重为 0.5 的 MobileNetV1。这个 Kmodel 文件也存储在 Github 中。使用 Kflash GUI 工具写入 M5StickV / UnitV。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !