深度学习-检测电线杆的特征

Deep learning -Detect features of an electric pole

我正在开发一款应用程序,该应用程序必须通过 2 或 3 张照片来检测电线杆的所有可见特征,

检测电杆类型及其特征:

pole 1

pole 2

阅读雕刻上有用的文字(并非所有文字都需要):

Engraving 1

Engraving 2

我必须直接在浏览器上检测,所以我打算在前端使用 tensorflow.js。

1 - 应该创建新模型还是训练预训练模型?对于这种图像,我应该使用什么预训练模型。

2 - 是否可以检测电缆的数量及其类型?

3 - 对于雕刻部分,大部分时间即使是人眼也无法阅读文字。是否可以训练 tesseract 来阅读此内容?

谢谢!

当你处理的是一个非常小的数据集时,你可以同时执行以下两个操作:

  1. 扩充数据集,即从您拥有的数据集中人工创建更多图像,有很多方法可以做到这一点。 Keras 有 ImageDataGenerator 可以做到这一点。

  2. 使用带有迁移学习的 pre-trained 模型,例如 MobileNetV2。使用 pre-trained 模型有很大帮助,因为它已经学习了图像数据集中的许多特征,并将这些知识转移到您当前使用的数据集中。有关如何执行此操作的更多详细信息,请参见 here

对于模型,您需要使用其中两个。

  1. 第一个将用于检测电线杆及其周围的电缆。根据电线杆和电缆的边界框裁剪图像,并相应地标记它们(您必须手动标记它们,所以过程可能非常繁琐)。

  2. 第二个将用于检测杆上的雕刻。裁剪两极的图像以仅包含雕刻部分并自己标记数据。您可以使用与上述关于增强和迁移学习的两个步骤相同的公式。

最后,要执行 OCR,您可以使用 Tesseract JS,它有一个 api,您可以 link。

模型架构:

输入张量 -> 用于检测电线杆和电缆的模型 -> 电线杆的裁剪图像 -> 用于检测文本雕刻的模型 -> 雕刻的裁剪图像 -> 对雕刻进行 OCR。

您裁剪出杆子上的雕刻以提高模型的准确性。如果你不这样做,只是在杆子上进行,那么它的性能会很差。

当您在移动设备上执行此操作时,请不要忘记量化模型以在移动设备上获得更好的性能。