簡體   English   中英

Tensorflow lite 對象檢測,Android Studio,ssd mobilevet v2,相同結構不同的 tflite 文件但幾乎 0 檢測

[英]Tensorflow lite object detection, Android Studio, ssd mobilevet v2, same structure different tflite file but almost 0 detection

我想基於這個 github https://github.com/bendahouwael/Vehicle-Detection-App-Android制作對象檢測應用程序。

該 github 代碼使用基於ssd mobilenet v1的 tflite。 所以我基於ssd mobilenet v2制作了我的自定義模型。 我按照這個鏈接https://colab.research.google.com/drive/1qXn9q6m5ug7EWJsJov6mHaotHhCUY-wG?usp=sharing制作了我自己的 TFLITE 模型。

https://netron.app/我檢查了模型結構幾乎相同。 請看下面的圖片。 這個結構是關於 SSD MOBILENET V1

第一張圖片是關於SSD MOBILENET V1結構的。

在此處輸入圖像描述

第二張圖是我自己基於SSD MOBILENET V2定制的模型。

我認為這兩個模型的結構是相同的。 所以我只是將我自己的模型粘貼到帶有標簽 txt 文件的應用程序代碼(到資產文件夾)中。

該應用程序很好地顯示了它的實時圖像,但沒有檢測到我決定檢測什么的對象。 我知道ssd mobilenet V1類型是unit8 ,我自己的模型(基於ssd mobilenet v2 )類型是float32 但這不是問題,我猜 b/c 在它設置的關於量化與否的代碼中。

所以請誰有任何想法,告訴我我的應用程序運行如此糟糕的原因。

ps1)我忘了說調試。 它沒有顯示任何錯誤消息。 這讓我很難工作

如果您仔細查看INPUT部分,

  • 使用MobileNet V1 ,您有: type: unit8[1, 300, 300, 1]
  • 使用MobileNet V2 ,您有: type: float[1, 300, 300, 1]

這意味着第一個模型被量化(更多信息: here )並且權重和偏差使用整數值。 (這樣做是為了推理速度)

現在,如果您轉到您的 TFlite 對象檢測類(或者可能命名不同),通常您將有一個類似這樣的名為 identifyImage( recognizeImage()的方法(這是您創建填充ByteBuffer時的部分):

imgData.rewind();
for (int i = 0; i < inputSize; ++i) {
  for (int j = 0; j < inputSize; ++j) {
    int pixelValue = intValues[i * inputSize + j];
    if (isModelQuantized) {
      // Quantized model
      imgData.put((byte) ((pixelValue >> 16) & 0xFF));
      imgData.put((byte) ((pixelValue >> 8) & 0xFF));
      imgData.put((byte) (pixelValue & 0xFF));
    } else { // Float model
      imgData.putFloat((((pixelValue >> 16) & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
      imgData.putFloat((((pixelValue >> 8) & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
      imgData.putFloat(((pixelValue & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
    }
  }
}

在哪里:

  private static final float IMAGE_MEAN = 128.0f;
  private static final float IMAGE_STD = 128.0f;

所以在第一種情況下設置isModelQuantized = true ,對於 MobileNet V2 你設置isModelQuantized = false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM