Java的一些困难1

 目的:在已经能够加载yolov5的一个模型的基础上,我们尝试实现多个yolov5模型的调用,框架图如下图。

 已经实现的模型(new-fp16.tflite在11的文件夹中

 

 现在的尝试的架构

 

 coco1.txt

indoor
outdoor
night

coco2.txt

stage

coco3.txt

zcrossing
wetroad

 YoloV5Classifier.java

 在new-fp16.tflite(用的是coco.txt标签文件)的模型加载下,我找到了标签的int型变量detectedClass,并定义了字符串变量leibie

 运行结果

 此时,我需要在其他java文件中调用leibie变量。

首先得装载好三个模型和三个标签文件

DetectorFactory.java

 接着在DetectorFactory.java文件中编写调用的代码,并定义新的变量

 定义新变量

        String indoor = new String("0");
        String outdoor = new String("1");
        String night = new String("2");

 代码

if (modelFilename.equals("1.tflite")) {
            labelFilename = "file:///android_asset/coco1.txt";
            isQuantized = false;
            inputSize = 320;
            output_width = new int[]{40, 20, 10};
            masks = new int[][]{{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
            anchors = new int[]{
                    10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326};
            if (leibie.equals(indoor)) {
                if (modelFilename.equals("2.tflite")) {
                    labelFilename = "file:///android_asset/coco2.txt";
                    isQuantized = false;
                    inputSize = 320;
                    output_width = new int[]{40, 20, 10};
                    masks = new int[][]{{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
                    anchors = new int[]{
                            10, 13, 16, 30, 33, 23, 30, 61, 62, 45, 59, 119, 116, 90, 156, 198, 373, 326
                    };
                    //标签
                    //2.tflite模型中主要为stage和室内平地的负样本
                }
            }
            else if(leibie.equals(outdoor)) {
                if (modelFilename.equals("3.tflite")) {
                    labelFilename = "file:///android_asset/coco3.txt";
                    isQuantized = false;
                    inputSize = 320;
                    output_width = new int[]{40, 20, 10};
                    masks = new int[][]{{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
                    anchors = new int[]{
                            10, 13, 16, 30, 33, 23, 30, 61, 62, 45, 59, 119, 116, 90, 156, 198, 373, 326
                    };
                    //标签
                    //3.tflite模型中主要为zcrossing、wetroad和室外的负样本(马路、水泥路、草地)
                }
            }
        }

但是leibie变量报错无法引用,所以打算在最开始的部分引用leibie变量

 引用完成后,DetectorActivity.java开始报错,因为在getDetector中多了一个字符型变量。

 

 

 

 接下去就不知道如何操作了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布灵布灵磊少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值