From 008e3839bb701f716ddfc7efcf02bc7fc6fad2d2 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Tue, 25 Mar 2025 13:57:16 +0800 Subject: [PATCH] api: Fix roi-verify --- .gitignore | 1 + api/products/admin.py | 1 + api/products/views.py | 11 ++++++----- research/.dockerignore | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 research/.dockerignore diff --git a/.gitignore b/.gitignore index 692cf0a..2de4969 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ build /emtest/target /dataset/local /detection/model +/api/db.sqlite3 diff --git a/api/products/admin.py b/api/products/admin.py index 5e3e538..bb5c45d 100644 --- a/api/products/admin.py +++ b/api/products/admin.py @@ -27,3 +27,4 @@ admin.site.register(GlobalConfig) admin.site.register(ABTest) admin.site.register(ABTestSample) +admin.site.register(Tenant) \ No newline at end of file diff --git a/api/products/views.py b/api/products/views.py index 41166a8..5b39b83 100644 --- a/api/products/views.py +++ b/api/products/views.py @@ -673,16 +673,17 @@ class QrVerifyView(BaseView): messages.append(f"All angle check api failed") raise Exception("Angle detection failed") - def roi_verify_check(self, sc, batch, img_fn, messages): + def roi_verify_check(self, sc, img_fn, messages): feature_roi = self.get_feature_roi(sc.code) if not feature_roi: messages.append(f"feature roi not found for code {sc.code}, skiping") return - with tempfile.NamedTemporaryFile(dir="/tmp/", suffix=img_fn + ".roi.jpg") as f: + with tempfile.NamedTemporaryFile(dir="/tmp/", suffix=".roi.jpg") as f: f.write(feature_roi) f.flush() side_by_side_fn = img_fn + ".side_by_side.jpg" qrtool_path = os.path.abspath("../alg/qrtool") + cwd = os.path.dirname(qrtool_path) cmd = [qrtool_path, 'side_by_side', img_fn, f.name] messages.append("creating side by side image...") subprocess.check_call(cmd, cwd=cwd) @@ -690,10 +691,10 @@ class QrVerifyView(BaseView): roi_verify_model = os.path.abspath("../research/models/resnet18_20250325_114510_94.56.pth") cmd = [roi_verify_py, '--model', roi_verify_model, '--image', side_by_side_fn] messages.append(" ".join(cmd)) - r = subprocess.call(cmd, cwd=cwd) + r = subprocess.call(cmd) os.unlink(side_by_side_fn) if r != 0: - raise Exception("roi_verify check failed, exit code not 0") + raise Exception("roi_verify check failed") messages.append(f"roi_verify check succeeded") def feature_comparison_check(self, sc, batch, img_fn, messages, threshold): @@ -786,7 +787,7 @@ class QrVerifyView(BaseView): sd.batch = sc.batch self.dot_angle_check(sc.batch, tf.name, messages, request.data.get("angle")) if use_roi_verify: - self.roi_verify_check(sd, sc.batch, tf.name, messages) + self.roi_verify_check(sd, tf.name, messages) else: self.feature_comparison_check(sd, sc.batch, tf.name, messages, threshold) sd.succeeded = True diff --git a/research/.dockerignore b/research/.dockerignore new file mode 100644 index 0000000..3af0ccb --- /dev/null +++ b/research/.dockerignore @@ -0,0 +1 @@ +/data