From b70acd58890ebe1c72bd133a5bb5bb08438f08c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=80=9A?= <11911611@mail.sustech.edu.cn> Date: Wed, 29 Jun 2022 10:59:50 +0800 Subject: [PATCH 1/8] add ppocr-v2 detect --- models/text_detection_ppdetect/LICENSE | 202 +++++++++++++++ models/text_detection_ppdetect/README.md | 31 +++ models/text_detection_ppdetect/demo.py | 126 +++++++++ .../text_detection_ppdetect/examples/book.jpg | Bin 0 -> 117511 bytes .../text_detection_ppdetect/examples/cola.jpg | Bin 0 -> 69035 bytes models/text_detection_ppdetect/ppdetect.py | 239 ++++++++++++++++++ .../text_detection_ppdetect_2022_June.onnx | 3 + 7 files changed, 601 insertions(+) create mode 100644 models/text_detection_ppdetect/LICENSE create mode 100644 models/text_detection_ppdetect/README.md create mode 100644 models/text_detection_ppdetect/demo.py create mode 100644 models/text_detection_ppdetect/examples/book.jpg create mode 100644 models/text_detection_ppdetect/examples/cola.jpg create mode 100644 models/text_detection_ppdetect/ppdetect.py create mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_2022_June.onnx diff --git a/models/text_detection_ppdetect/LICENSE b/models/text_detection_ppdetect/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/models/text_detection_ppdetect/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/models/text_detection_ppdetect/README.md b/models/text_detection_ppdetect/README.md new file mode 100644 index 00000000..df437216 --- /dev/null +++ b/models/text_detection_ppdetect/README.md @@ -0,0 +1,31 @@ +# PP-OCRv2 detect + +Real-time Scene Text Detection with Differentiable Binarization + +This model is ported from [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR). + +## Demo + +Run the following command to try the demo: +```shell +# detect on camera input +python demo.py +# detect on an image +python demo.py --input /path/to/image +``` +### Example outputs + +![cola](./examples/cola.jpg) + +![book](./examples/book.jpg) + +## License + +All files in this directory are licensed under [Apache 2.0 License](./LICENSE). + +## Reference + +- https://arxiv.org/abs/1911.08947 +- https://github.com/PaddlePaddle/PaddleOCR +- https://github.com/BADBADBADBOY/DBnet-lite.pytorch +- https://docs.opencv.org/master/d4/d43/tutorial_dnn_text_spotting.html \ No newline at end of file diff --git a/models/text_detection_ppdetect/demo.py b/models/text_detection_ppdetect/demo.py new file mode 100644 index 00000000..af7fe8ad --- /dev/null +++ b/models/text_detection_ppdetect/demo.py @@ -0,0 +1,126 @@ +# This file is part of OpenCV Zoo project. +# It is subject to the license terms in the LICENSE file found in the same directory. +# +# Copyright (C) 2021, Shenzhen Institute of Artificial Intelligence and Robotics for Society, all rights reserved. +# Third party copyrights are property of their respective owners. +# -i dataset/TD500/test_images/IMG_0059.JPG -s true +import argparse + +import numpy as np +import cv2 as cv + +from ppdetect import ppdetect + +def str2bool(v): + if v.lower() in ['on', 'yes', 'true', 'y', 't']: + return True + elif v.lower() in ['off', 'no', 'false', 'n', 'f']: + return False + else: + raise NotImplementedError + +backends = [cv.dnn.DNN_BACKEND_OPENCV, cv.dnn.DNN_BACKEND_CUDA] +targets = [cv.dnn.DNN_TARGET_CPU, cv.dnn.DNN_TARGET_CUDA, cv.dnn.DNN_TARGET_CUDA_FP16] +help_msg_backends = "Choose one of the computation backends: {:d}: OpenCV implementation (default); {:d}: CUDA" +help_msg_targets = "Chose one of the target computation devices: {:d}: CPU (default); {:d}: CUDA; {:d}: CUDA fp16" +try: + backends += [cv.dnn.DNN_BACKEND_TIMVX] + targets += [cv.dnn.DNN_TARGET_NPU] + help_msg_backends += "; {:d}: TIMVX" + help_msg_targets += "; {:d}: NPU" +except: + print('This version of OpenCV does not support TIM-VX and NPU. Visit https://gist.github.com/fengyuentau/5a7a5ba36328f2b763aea026c43fa45f for more information.') + +parser = argparse.ArgumentParser(description='Real-time Scene Text Detection with Differentiable Binarization (https://arxiv.org/abs/1911.08947).') +parser.add_argument('--input', '-i', type=str, help='Path to the input image. Omit for using default camera.') +parser.add_argument('--model', '-m', type=str, default='text_detection_ppdetect_2022_June.onnx', help='Path to the model.') +parser.add_argument('--backend', '-b', type=int, default=backends[0], help=help_msg_backends.format(*backends)) +parser.add_argument('--target', '-t', type=int, default=targets[0], help=help_msg_targets.format(*targets)) +parser.add_argument('--width', type=int, default=736, + help='Preprocess input image by resizing to a specific width. It should be multiple by 32.') +parser.add_argument('--height', type=int, default=736, + help='Preprocess input image by resizing to a specific height. It should be multiple by 32.') +parser.add_argument('--binary_threshold', type=float, default=0.3, help='Threshold of the binary map.') +parser.add_argument('--box_threshold', type=float, default=0.5, help='Threshold of the box.') +parser.add_argument('--is_poly', type=str2bool, default=False, help='Set true for polygons.') +parser.add_argument('--max_candidates', type=int, default=200, help='Max candidates of polygons.') +parser.add_argument('--unclip_ratio', type=np.float64, default=2.0, help=' The unclip ratio of the detected text region, which determines the output size.') +parser.add_argument('--save', '-s', type=str, default=False, help='Set true to save results. This flag is invalid when using camera.') +parser.add_argument('--vis', '-v', type=str2bool, default=True, help='Set true to open a window for result visualization. This flag is invalid when using camera.') +args = parser.parse_args() + +def visualize(image, results, box_color=(0, 255, 0), text_color=(0, 0, 255), isClosed=True, thickness=2, fps=None): + output = image.copy() + + if fps is not None: + cv.putText(output, 'FPS: {:.2f}'.format(fps), (0, 15), cv.FONT_HERSHEY_SIMPLEX, 0.5, text_color) + + pts = np.array(results[0]) + output = cv.polylines(output, pts, isClosed, box_color, thickness) + + return output + +if __name__ == '__main__': + # Instantiate DB + model = ppdetect(modelPath=args.model, + binaryThreshold=args.binary_threshold, + boxThresh=args.box_threshold, + isPoly=args.is_poly, + maxCandidates=args.max_candidates, + unclipRatio=args.unclip_ratio, + backendId=args.backend, + targetId=args.target + ) + + # If input is an image + if args.input is not None: + image = cv.imread(args.input) + image = cv.resize(image, [args.width, args.height]) + + # Inference + print(image.shape) + results = model.infer(image) + + # Print results` + print('{} texts detected.'.format(len(results[0]))) + for idx, (bbox, score) in enumerate(zip(results[0], results[1])): + print('{}: {} {} {} {}, {:.2f}'.format(idx, bbox[0], bbox[1], bbox[2], bbox[3], score)) + + # Draw results on the input image + image = visualize(image, results) + + # Save results if save is true + if args.save: + print('Results saved to result.jpg\n') + cv.imwrite('results/result.jpg', image) + + # Visualize results in a new window + if args.vis: + cv.namedWindow(args.input, cv.WINDOW_AUTOSIZE) + cv.imshow(args.input, image) + cv.waitKey(0) + else: # Omit input to call default camera + deviceId = 0 + cap = cv.VideoCapture(deviceId) + + tm = cv.TickMeter() + while cv.waitKey(1) < 0: + hasFrame, frame = cap.read() + if not hasFrame: + print('No frames grabbed!') + break + + frame = cv.resize(frame, [args.width, args.height]) + # Inference + tm.start() + results = model.infer(frame) # results is a tuple + tm.stop() + + # Draw results on the input image + frame = visualize(frame, results, fps=tm.getFPS()) + + # Visualize results in a new Window + cv.imshow('{} Demo'.format(model.name), frame) + + tm.reset() + diff --git a/models/text_detection_ppdetect/examples/book.jpg b/models/text_detection_ppdetect/examples/book.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f6a543cd147ac59a143443ebe38630245329918 GIT binary patch literal 117511 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 z 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 z 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¾v|l)-sg%0Ayp*PV3O%wnm6!0L0J9@ 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 literal 0 HcmV?d00001 diff --git a/models/text_detection_ppdetect/ppdetect.py b/models/text_detection_ppdetect/ppdetect.py new file mode 100644 index 00000000..82ffc00f --- /dev/null +++ b/models/text_detection_ppdetect/ppdetect.py @@ -0,0 +1,239 @@ +# This file is part of OpenCV Zoo project. +# It is subject to the license terms in the LICENSE file found in the same directory. +# +# Copyright (C) 2021, Shenzhen Institute of Artificial Intelligence and Robotics for Society, all rights reserved. +# Third party copyrights are property of their respective owners. +import cv2 +import numpy as np +import cv2 as cv +from shapely.geometry import Polygon +import pyclipper +class ppdetect: + def __init__(self, modelPath, boxThresh=0.6, binaryThreshold=0.3, isPoly=True, maxCandidates=200,minSize=3 ,unclipRatio=2.0, backendId=0, targetId=0): + self.model_path = modelPath + self.backend_id = backendId + self.target_id = targetId + self.input_names = '' + self.output_names = '' + + self.model = cv.dnn.readNet(self.model_path) + self.model.setPreferableBackend(self.backend_id) + self.model.setPreferableTarget(self.target_id) + self.mean = [0.485, 0.456, 0.406] + self.std = [0.229, 0.224, 0.225] + self.binaryThreshold = binaryThreshold + self.boxThresh = boxThresh + self.maxCandidates =maxCandidates + self.isPoly = isPoly + self.unclipRatio = unclipRatio + self.minSize = minSize + @property + def name(self): + return self.__class__.__name__ + + def _preprocess(self, image): + input_blob = (image / 255.0 - self.mean) / self.std + input_blob = input_blob.transpose(2, 0, 1) + input_blob = input_blob[np.newaxis, :, :, :] + input_blob = input_blob.astype(np.float32) + return input_blob + + def infer(self, image): + # Preprocess + input_blob = self._preprocess(image) + self.model.setInput(input_blob, self.input_names) + # Forward + output_blob = self.model.forward(self.output_names) + # Postprocess + results = self._postprocess(output_blob) + + return results + + def polygonsFromBitmap(self, pred, _bitmap, dest_width, dest_height): + ''' + _bitmap: single map with shape (1, H, W), + whose values are binarized as {0, 1} + ''' + + bitmap = _bitmap + pred = pred + height, width = bitmap.shape + boxes = [] + scores = [] + + contours, _ = cv2.findContours( + (bitmap * 255).astype(np.uint8), + cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) + + for contour in contours[:self.maxCandidates]: + epsilon = 0.001 * cv2.arcLength(contour, True) + approx = cv2.approxPolyDP(contour, epsilon, True) + points = approx.reshape((-1, 2)) + if points.shape[0] < 4: + continue + # _, sside = self.get_mini_boxes(contour) + # if sside < self.min_size: + # continue + score = self.boxScoreFast(pred, points.reshape(-1, 2)) + if self.boxThresh > score: + continue + + if points.shape[0] > 2: + box = self.unClip(points, self.unclipRatio) + if len(box) > 1: + continue + else: + continue + box = box.reshape(-1, 2) + _, sside = self.getMiniBoxes(box.reshape((-1, 1, 2))) + if sside < self.minSize + 2: + continue + + if not isinstance(dest_width, int): + dest_width = dest_width.item() + dest_height = dest_height.item() + + box[:, 0] = np.clip( + np.round(box[:, 0] / width * dest_width), 0, dest_width) + box[:, 1] = np.clip( + np.round(box[:, 1] / height * dest_height), 0, dest_height) + boxes.append(box.tolist()) + scores.append(score) + return boxes, scores + + def boxesFromBitmap(self, pred, _bitmap, destWidth, destHeight): + ''' + _bitmap: single map with shape (1, H, W), + whose values are binarized as {0, 1} + ''' + + bitmap = _bitmap + height, width = bitmap.shape + + outs = cv2.findContours((bitmap * 255).astype(np.uint8), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) + if len(outs) == 3: + img, contours, _ = outs[0], outs[1], outs[2] + elif len(outs) == 2: + contours, _ = outs[0], outs[1] + + num_contours = min(len(contours), self.maxCandidates) + boxes = np.zeros((num_contours, 4, 2), dtype=np.int32) + scores = np.zeros((num_contours,), dtype=np.float32) + + for index in range(num_contours): + contour = contours[index] + points, sside = self.getMiniBoxes(contour) + if sside < self.minSize: + continue + points = np.array(points) + score = self.boxScoreFast(pred, points.reshape(-1, 2)) + if self.boxThresh > score: + continue + + box = self.unClip(points, self.unclipRatio).reshape(-1, 1, 2) + box, sside = self.getMiniBoxes(box) + if sside < self.minSize + 2: + continue + box = np.array(box) + if not isinstance(destWidth, int): + destWidth = destWidth.item() + destHeight = destHeight.item() + + box[:, 0] = np.clip( + np.round(box[:, 0] / width * destWidth), 0, destWidth) + box[:, 1] = np.clip( + np.round(box[:, 1] / height * destHeight), 0, destHeight) + boxes[index, :, :] = box.astype(np.int16) + scores[index] = score + return boxes, scores + + def unClip(self, box, unclip_ratio=2): + poly = Polygon(box) + distance = poly.area * unclip_ratio / poly.length + offset = pyclipper.PyclipperOffset() + offset.AddPath(box, pyclipper.JT_ROUND, pyclipper.ET_CLOSEDPOLYGON) + expanded = np.array(offset.Execute(distance)) + return expanded + + def getMiniBoxes(self, contour): + bounding_box = cv2.minAreaRect(contour) + points = sorted(list(cv2.boxPoints(bounding_box)), key=lambda x: x[0]) + + index1, index2, index3, index = 0, 1, 2, 3 + if points[1][1] > points[0][1]: + index1 = 0 + index4 = 1 + else: + index1 = 1 + index4 = 0 + if points[3][1] > points[2][1]: + index2 = 2 + index3 = 3 + else: + index2 = 3 + index3 = 2 + + box = [ + points[index1], points[index2], points[index3], points[index4] + ] + return box, min(bounding_box[1]) + + def boxScoreFast(self, bitmap, _box): + h, w = bitmap.shape[:2] + box = _box.copy() + xmin = np.clip(np.floor(box[:, 0].min()).astype(np.int), 0, w - 1) + xmax = np.clip(np.ceil(box[:, 0].max()).astype(np.int), 0, w - 1) + ymin = np.clip(np.floor(box[:, 1].min()).astype(np.int), 0, h - 1) + ymax = np.clip(np.ceil(box[:, 1].max()).astype(np.int), 0, h - 1) + + mask = np.zeros((ymax - ymin + 1, xmax - xmin + 1), dtype=np.uint8) + box[:, 0] = box[:, 0] - xmin + box[:, 1] = box[:, 1] - ymin + cv2.fillPoly(mask, box.reshape(1, -1, 2).astype(np.int32), 1) + return cv2.mean(bitmap[ymin:ymax + 1, xmin:xmax + 1], mask)[0] + + def _postprocess(self, pred): + pred = pred[:, 0, :, :] + segmentation = pred > self.binaryThreshold + + boxes_batch = [] + score_batch = [] + for batch_index in range(pred.shape[0]): + height, width = pred.shape[-2:] + if (self.isPoly): + tmp_boxes, tmp_scores = self.polygonsFromBitmap( + pred[batch_index], segmentation[batch_index], width, height) + + boxes = [] + score = [] + for k in range(len(tmp_boxes)): + if tmp_scores[k] > self.boxThresh: + boxes.append(tmp_boxes[k]) + score.append(tmp_scores[k]) + if len(boxes) > 0: + for i in range(len(boxes)): + boxes[i] = np.array(boxes[i]) + boxes[i][:, 0] = boxes[i][:, 0] * 1.0 + boxes[i][:, 1] = boxes[i][:, 1] * 1.0 + + boxes_batch.append(boxes) + score_batch.append(score) + else: + tmp_boxes, tmp_scores = self.boxesFromBitmap( + pred[batch_index], segmentation[batch_index], width, height) + + boxes = [] + score = [] + for k in range(len(tmp_boxes)): + if tmp_scores[k] > self.boxThresh: + boxes.append(tmp_boxes[k]) + score.append(tmp_scores[k]) + if len(boxes) > 0: + boxes = np.array(boxes) + boxes[:, :, 0] = boxes[:, :, 0] * 1.0 + boxes[:, :, 1] = boxes[:, :, 1] * 1.0 + boxes_batch.append(boxes) + score_batch.append(score) + + return tuple(boxes_batch[0]), np.array(score_batch[0]) + diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_2022_June.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_2022_June.onnx new file mode 100644 index 00000000..f0365966 --- /dev/null +++ b/models/text_detection_ppdetect/text_detection_ppdetect_2022_June.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71c5898f6e9bad26c6bb38e20ff17a11611ecade9d70d6d4b2c0d576f7874993 +size 2338643 From 1645d98c66e25ad82380c4f330688fb449b0bc8c Mon Sep 17 00:00:00 2001 From: stone <11911611@mail.sustech.edu.cn> Date: Thu, 14 Jul 2022 18:38:52 +0800 Subject: [PATCH 2/8] delete the old copyright. --- models/text_detection_ppdetect/demo.py | 3 --- models/text_detection_ppdetect/ppdetect.py | 2 -- 2 files changed, 5 deletions(-) diff --git a/models/text_detection_ppdetect/demo.py b/models/text_detection_ppdetect/demo.py index af7fe8ad..8e4e304a 100644 --- a/models/text_detection_ppdetect/demo.py +++ b/models/text_detection_ppdetect/demo.py @@ -1,9 +1,6 @@ # This file is part of OpenCV Zoo project. # It is subject to the license terms in the LICENSE file found in the same directory. # -# Copyright (C) 2021, Shenzhen Institute of Artificial Intelligence and Robotics for Society, all rights reserved. -# Third party copyrights are property of their respective owners. -# -i dataset/TD500/test_images/IMG_0059.JPG -s true import argparse import numpy as np diff --git a/models/text_detection_ppdetect/ppdetect.py b/models/text_detection_ppdetect/ppdetect.py index 82ffc00f..a4aec42b 100644 --- a/models/text_detection_ppdetect/ppdetect.py +++ b/models/text_detection_ppdetect/ppdetect.py @@ -1,8 +1,6 @@ # This file is part of OpenCV Zoo project. # It is subject to the license terms in the LICENSE file found in the same directory. # -# Copyright (C) 2021, Shenzhen Institute of Artificial Intelligence and Robotics for Society, all rights reserved. -# Third party copyrights are property of their respective owners. import cv2 import numpy as np import cv2 as cv From 630f506ee39154f5b7da52734392f3afd1d32364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=80=9A?= <11911611@mail.sustech.edu.cn> Date: Sun, 24 Jul 2022 11:46:29 +0800 Subject: [PATCH 3/8] add pp_detect benchmark --- benchmark/config/text_detection_ppdetect.yaml | 18 ++++++++++++++++++ models/__init__.py | 3 ++- models/text_detection_ppdetect/demo.py | 4 ++-- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 benchmark/config/text_detection_ppdetect.yaml diff --git a/benchmark/config/text_detection_ppdetect.yaml b/benchmark/config/text_detection_ppdetect.yaml new file mode 100644 index 00000000..3cb59503 --- /dev/null +++ b/benchmark/config/text_detection_ppdetect.yaml @@ -0,0 +1,18 @@ +Benchmark: + name: "Text Detection Benchmark" + type: "Detection" + data: + path: "benchmark/data/text" + files: ["1.jpg", "2.jpg", "3.jpg"] + sizes: # [[w1, h1], ...], Omit to run at original scale + - [640, 480] + metric: + warmup: 30 + repeat: 10 + reduction: "median" + backend: "default" + target: "cpu" + +Model: + name: "PPDetect" + modelPath: "models/text_detection_ppdetect/text_detection_ppdetect_2022_June.onnx" diff --git a/models/__init__.py b/models/__init__.py index 1d073fb5..55bb6da0 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -11,7 +11,7 @@ from .image_classification_mobilenet.mobilenet_v2 import MobileNetV2 from .palm_detection_mediapipe.mp_palmdet import MPPalmDet from .license_plate_detection_yunet.lpd_yunet import LPD_YuNet - +from .text_detection_ppdetect.ppdetect import PPDetect class Registery: def __init__(self, name): self._name = name @@ -37,3 +37,4 @@ def register(self, item): MODELS.register(MobileNetV2) MODELS.register(MPPalmDet) MODELS.register(LPD_YuNet) +MODELS.register(PPDetect) \ No newline at end of file diff --git a/models/text_detection_ppdetect/demo.py b/models/text_detection_ppdetect/demo.py index 8e4e304a..73c1ba28 100644 --- a/models/text_detection_ppdetect/demo.py +++ b/models/text_detection_ppdetect/demo.py @@ -6,7 +6,7 @@ import numpy as np import cv2 as cv -from ppdetect import ppdetect +from ppdetect import PPDetect def str2bool(v): if v.lower() in ['on', 'yes', 'true', 'y', 't']: @@ -59,7 +59,7 @@ def visualize(image, results, box_color=(0, 255, 0), text_color=(0, 0, 255), isC if __name__ == '__main__': # Instantiate DB - model = ppdetect(modelPath=args.model, + model = PPDetect(modelPath=args.model, binaryThreshold=args.binary_threshold, boxThresh=args.box_threshold, isPoly=args.is_poly, From 391a71f2d5893995799a41e26b17bd3a845bb579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=80=9A?= <11911611@mail.sustech.edu.cn> Date: Mon, 25 Jul 2022 12:22:22 +0800 Subject: [PATCH 4/8] forget upload ppdetect --- models/text_detection_ppdetect/ppdetect.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/models/text_detection_ppdetect/ppdetect.py b/models/text_detection_ppdetect/ppdetect.py index a4aec42b..cb4ed060 100644 --- a/models/text_detection_ppdetect/ppdetect.py +++ b/models/text_detection_ppdetect/ppdetect.py @@ -6,7 +6,7 @@ import cv2 as cv from shapely.geometry import Polygon import pyclipper -class ppdetect: +class PPDetect: def __init__(self, modelPath, boxThresh=0.6, binaryThreshold=0.3, isPoly=True, maxCandidates=200,minSize=3 ,unclipRatio=2.0, backendId=0, targetId=0): self.model_path = modelPath self.backend_id = backendId @@ -25,10 +25,19 @@ def __init__(self, modelPath, boxThresh=0.6, binaryThreshold=0.3, isPoly=True, m self.isPoly = isPoly self.unclipRatio = unclipRatio self.minSize = minSize + @property def name(self): return self.__class__.__name__ + def setBackend(self, backend): + self.backend_id = backend + self.model.setPreferableBackend(self.backend_id ) + + def setTarget(self, target): + self.target_id = target + self.model.setPreferableTarget(self.target_id ) + def _preprocess(self, image): input_blob = (image / 255.0 - self.mean) / self.std input_blob = input_blob.transpose(2, 0, 1) From 2ce8e76a0403982472af8fc9b39a049e4841e6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=80=9A?= <11911611@mail.sustech.edu.cn> Date: Fri, 5 Aug 2022 10:48:17 +0800 Subject: [PATCH 5/8] add new ppdetect model and float16 --- .../text_detection_ppdetect_2022_June_fp16.onnx | 3 +++ .../text_detection_ppdetect_mobile_2022_Aug.onnx | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_2022_June_fp16.onnx create mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_2022_June_fp16.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_2022_June_fp16.onnx new file mode 100644 index 00000000..4ba5d8a8 --- /dev/null +++ b/models/text_detection_ppdetect/text_detection_ppdetect_2022_June_fp16.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fcce6642b787c6b99fc772b61b4c9e06422f6dce92b4ed8aba5bd8dc6c817e9 +size 1481704 diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx new file mode 100644 index 00000000..a16c66e6 --- /dev/null +++ b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c25399fd186ffcc0039b38ec18707899889772fe0dd88f18a92969586f2a45e +size 2343072 From 07c98fdf62a55c47b6ebbcfaa71adc7fff206d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=80=9A?= <11911611@mail.sustech.edu.cn> Date: Fri, 5 Aug 2022 10:50:13 +0800 Subject: [PATCH 6/8] add new ppdetect model and float16 --- .../text_detection_ppdetect_mobile_2022_Aug_fp16.onnx | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx new file mode 100644 index 00000000..c9fcdc85 --- /dev/null +++ b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18164761c394893f24ae1bf51159179a4da0038a8bdbf020bc88da6e614807fc +size 1483662 From a1833c67495c3628ca48e52be7a823c53c7223d9 Mon Sep 17 00:00:00 2001 From: stone <11911611@mail.sustech.edu.cn> Date: Sun, 4 Sep 2022 20:01:46 -0700 Subject: [PATCH 7/8] remove mobile model which is similar to normal version --- .../text_detection_ppdetect_mobile_2022_Aug.onnx | 3 --- .../text_detection_ppdetect_mobile_2022_Aug_fp16.onnx | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx delete mode 100644 models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx deleted file mode 100644 index a16c66e6..00000000 --- a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug.onnx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c25399fd186ffcc0039b38ec18707899889772fe0dd88f18a92969586f2a45e -size 2343072 diff --git a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx b/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx deleted file mode 100644 index c9fcdc85..00000000 --- a/models/text_detection_ppdetect/text_detection_ppdetect_mobile_2022_Aug_fp16.onnx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18164761c394893f24ae1bf51159179a4da0038a8bdbf020bc88da6e614807fc -size 1483662 From e39193003bf5c77410fa6f6cb5344c8be32bcda5 Mon Sep 17 00:00:00 2001 From: stone <11911611@mail.sustech.edu.cn> Date: Wed, 7 Sep 2022 11:24:16 -0700 Subject: [PATCH 8/8] modify init.py --- models/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models/__init__.py b/models/__init__.py index 55bb6da0..3808c977 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -12,6 +12,7 @@ from .palm_detection_mediapipe.mp_palmdet import MPPalmDet from .license_plate_detection_yunet.lpd_yunet import LPD_YuNet from .text_detection_ppdetect.ppdetect import PPDetect + class Registery: def __init__(self, name): self._name = name @@ -37,4 +38,4 @@ def register(self, item): MODELS.register(MobileNetV2) MODELS.register(MPPalmDet) MODELS.register(LPD_YuNet) -MODELS.register(PPDetect) \ No newline at end of file +MODELS.register(PPDetect)