小编Bao*_*ran的帖子

通过socket发送之前的Python帧数据优化

按照Adrian 指南的第 6 步和其他一些指南,我成功地将 320x240 帧以 10 fps 的速度和 0.1 秒的延迟从我的树莓派传输到我的笔记本电脑。问题是,当我在实验室(配备了古董路由器)测试这个系统时,它只能以 1-2 fps 的速度传输,延迟为 1-1.5 秒,这对于我打算用这些系统做的事情来说是完全不可接受的。帧。

现在,我的方法很简单直接:树莓派上的服务器捕获一个帧并将其存储为 320x240x3 矩阵,如上面提到的指南,然后腌制该矩阵并继续通过 TCP 套接字将其泵送。笔记本电脑上的客户端不断接收这些帧,对其进行一些处理,最后用imshow显示结果。我的代码对于一篇文章来说相当长(大约 200 行),所以如果可以的话我宁愿避免显示它。

有没有办法减少每帧数据的大小(腌制的320x240x3矩阵,其长度为230 kB)或者是否有更好的方法来传输该数据?

编辑:

好的,各位,pickled 数组的确切显示长度是 230563 字节,有效负载数据应至少为 230400 字节,因此开销不应超过总包大小的 0.07%。我认为这将问题范围缩小到无线连接质量和将数据编码为字节的方法(腌制似乎很慢)。无线问题可以通过创建自组织网络(听起来很有趣,但我还没有尝试过)或简单地购买更好的路由器来解决,而编码问题可以通过亚伦的解决方案来解决。希望这对未来的读者有所帮助:)

python opencv raspberry-pi

3
推荐指数
1
解决办法
3496
查看次数

CNN 准确性冻结

所以我正在训练一个 CNN 网络来检测输入图像中的某些特征。结构如下:

输入图像 -> Conv2D -> Relu -> Dense -> Softmax -> 结果

该数据集包含 3 个类别的 180 张黑白图像,每个类别正好有 60 张图像。

我的问题是验证准确率和训练准确率在大约 6-7 个 epoch 后都没有改变,如下图所示:

在此处输入图片说明

我尝试谷歌搜索解决方案,但到目前为止没有结果。起初我认为我的模型过拟合了,因为它不再“学习”并且训练损失不断减少而验证损失没有。因此,我尝试添加学习率衰减、Nesterov 动量、增加批量大小以减少过度拟合,但它们并没有太大变化(不过,总体准确度确实从 0.90 提高到 0.92),而我的准确度恰好停留在 1.00、0.88每次都是 0.87(之前是 1.00、0.85 和 0.85)。

我想要识别的特征相当简单,我需要在控制循环中使用结果,因此我希望尽可能拥有一个精度至少为 95% 的轻量级模型。你们对应该做什么或至少是改进这个模型的研究方向有什么想法吗?

python python-3.x deep-learning keras tensorflow

3
推荐指数
1
解决办法
622
查看次数