TinyYolo Deeplearning4j

TinyYolo Deeplearning4j

我正在阅读本教程后将 TinyYolo 与 deeplearning4j 一起使用 http://emaraic.com/blog/yolo-custom-object-detector 但我不太确定是否需要更多配置来处理 720p 图像,因为本示例中的图像是 416x416。有这个硬性要求吗?我只是在努力完全理解某些配置,如前所述:

private static final int CHANNELS = 3;

private static final int GRID_WIDTH = 13;
private static final int GRID_HEIGHT = 13;
private static final int CLASSES_NUMBER = 1;
private static final int BOXES_NUMBER = 5;
private static final double[][] PRIOR_BOXES = {{1.5, 1.5}, {2, 2}, {3,3}, {3.5, 8}, {4, 9}};//anchors boxes

private static final int BATCH_SIZE = 4;
private static final int EPOCHS = 50;
private static final double LEARNIGN_RATE = 0.0001;
private static final int SEED = 1234;

private static final double LAMDBA_COORD = 1.0;
private static final double LAMDBA_NO_OBJECT = 0.5;

我以前在标签和图像上使用过 darkflow,并取得了一些巨大的成功。我想使用 deeplearning4j 与我拥有的 java 项目进行更多集成。由于我一直在努力导入我创建的模型,这些模型仍然可以成功地使用我拥有的一些 python 代码,但似乎与导出有一些细微差别。

如果有人能阐明这一点,我相信应该有处理 720p 图像的方法。我相信可能需要调整大小。我知道 darknet 和 darkflow 自己执行了此操作。另外,如果我执行调整大小,我的标签注释 xml 文件是否需要更改?

感谢您的帮助。

您需要将 720p 输入调整为 tinyolo 预期输入,尺寸 416x416

resize(rgbaMat, resizedImage, new Size(tinyyolowidth, tinyyoloheight));

参考:https://github.com/yptheangel/dl4j-android-demo/blob/master/app/src/main/java/com/yptheangel/dl4jandroid/yolo_objdetection/ObjDetection.java