mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-02 23:32:48 +08:00
[Android] Add PP-OCRv3 int8 docs and fix NULL cls result error (#762)
* [Android] Update ppseg jni via new api and optimize jni vis funcs * delete local refs * [Android] Add PPTinyPose jni and java api * [Android] Update gradle download tasks info * [Android] Add PPTinyPose Android app example * update app build.gradle * [Android] Add PP-OCRv3 int8 docs and fix NULL cls result error
This commit is contained in:
@@ -15,14 +15,14 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<activity android:name=".keypointdetection.KeyPointDetectionMainActivity">
|
||||
<activity android:name=".ocr.OcrMainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".keypointdetection.KeyPointDetectionSettingsActivity"
|
||||
android:name=".ocr.OcrSettingsActivity"
|
||||
android:label="Settings">
|
||||
</activity>
|
||||
</application>
|
||||
|
@@ -31,6 +31,7 @@ import android.widget.TextView;
|
||||
import com.baidu.paddle.fastdeploy.RuntimeOption;
|
||||
import com.baidu.paddle.fastdeploy.app.examples.R;
|
||||
import com.baidu.paddle.fastdeploy.pipeline.PPOCRv2;
|
||||
import com.baidu.paddle.fastdeploy.pipeline.PPOCRv3;
|
||||
import com.baidu.paddle.fastdeploy.ui.Utils;
|
||||
import com.baidu.paddle.fastdeploy.ui.view.CameraSurfaceView;
|
||||
import com.baidu.paddle.fastdeploy.ui.view.ResultListView;
|
||||
@@ -41,6 +42,7 @@ import com.baidu.paddle.fastdeploy.vision.Visualize;
|
||||
import com.baidu.paddle.fastdeploy.vision.ocr.Classifier;
|
||||
import com.baidu.paddle.fastdeploy.vision.ocr.DBDetector;
|
||||
import com.baidu.paddle.fastdeploy.vision.ocr.Recognizer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -423,9 +425,7 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
if (OcrSettingsActivity.checkAndUpdateSettings(this)) {
|
||||
String realModelDir = getCacheDir() + "/" + OcrSettingsActivity.modelDir;
|
||||
String detModelName = "ch_PP-OCRv2_det_infer";
|
||||
// String detModelName = "ch_ppocr_mobile_v2.0_det_infer";
|
||||
String clsModelName = "ch_ppocr_mobile_v2.0_cls_infer";
|
||||
// String recModelName = "ch_ppocr_mobile_v2.0_rec_infer";
|
||||
String recModelName = "ch_PP-OCRv2_rec_infer";
|
||||
String realDetModelDir = realModelDir + "/" + detModelName;
|
||||
String realClsModelDir = realModelDir + "/" + clsModelName;
|
||||
@@ -460,11 +460,11 @@ public class OcrMainActivity extends Activity implements View.OnClickListener, C
|
||||
clsOption.enableLiteFp16();
|
||||
recOption.enableLiteFp16();
|
||||
}
|
||||
|
||||
DBDetector detModel = new DBDetector(detModelFile, detParamsFile, detOption);
|
||||
Classifier clsModel = new Classifier(clsModelFile, clsParamsFile, clsOption);
|
||||
Recognizer recModel = new Recognizer(recModelFile, recParamsFile, recLabelFilePath, recOption);
|
||||
predictor.init(detModel, clsModel, recModel);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -842,9 +842,12 @@ bool AllocateOCRResultFromJava(
|
||||
return false;
|
||||
}
|
||||
|
||||
const int cls_len = env->GetArrayLength(j_ocr_cls_scores_float_arr);
|
||||
if (cls_len != env->GetArrayLength(j_ocr_cls_labels_int_arr)) {
|
||||
return false;
|
||||
int cls_len = 0;
|
||||
if ((j_ocr_cls_labels_int_arr != NULL) && (j_ocr_cls_scores_float_arr != NULL)) {
|
||||
cls_len = env->GetArrayLength(j_ocr_cls_scores_float_arr);
|
||||
if (cls_len != env->GetArrayLength(j_ocr_cls_labels_int_arr)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Init cxx result
|
||||
|
Reference in New Issue
Block a user