收缩分割多边形(PSENet中有使用)

目的:为了解决密集文本的分割问题

代码:

# -*- coding=utf-8 -*-
import os
import cv2
import Polygon as plg
import pyclipper
import numpy as npdef dist(a, b):return np.sqrt(np.sum((a - b) ** 2))#计算周长
def perimeter(bbox):peri = 0.0for i in range(bbox.shape[0]):# print('==bbox[i], bbox[i + 1]:', bbox[i], bbox[(i + 1) % bbox.shape[0]])peri += dist(bbox[i], bbox[(i + 1) % bbox.shape[0]])return peridef shrink(bboxes, rate, max_shr=20):rate = rate * rateshrinked_bboxes = []for bbox in bboxes:area = plg.Polygon(bbox).area()print('===bbox:', bbox)peri = perimeter(bbox)pco = pyclipper.PyclipperOffset()pco.AddPath(bbox, pyclipper.JT_ROUND, pyclipper.ET_CLOSEDPOLYGON)offset = min((int)(area * (1 - rate) / (peri + 0.001) + 0.5), max_shr)shrinked_bbox = pco.Execute(-offset)if len(shrinked_bbox) == 0:shrinked_bboxes.append(bbox)continueshrinked_bbox = np.array(shrinked_bbox)[0]if shrinked_bbox.shape[0] <= 2:shrinked_bboxes.append(bbox)continueshrinked_bboxes.append(shrinked_bbox)return shrinked_bboxes  # np.array(shrinked_bboxes)def main(shrink_threshold=0.9):img_path = './src_imgs/img_43.jpg'label_path = './labels_txt/img_43.txt'img = cv2.imread(img_path)H, W, _ = img.shapewith open(label_path, 'r') as f:label_lines = f.readlines()f.close()gt_boxes = []for line in label_lines:line = line.strip().strip('\ufeff').strip('\xef\xbb\xbf')# print('===line:', line)box_points = [int(float(item)) for item in line.split(',')[:-1]]box_info = np.array(box_points).reshape((-1, 2))# print('===box_info:', box_info)gt_boxes.append(box_info)ori_mask_img = np.zeros((H, W))for box in gt_boxes:cv2.fillPoly(ori_mask_img, [box], (255))cv2.imwrite('./ori_mask_img.jpg', ori_mask_img)shrink_mask_img = np.zeros((H, W))new_gt_boxes = shrink(gt_boxes, shrink_threshold)for box in new_gt_boxes:cv2.fillPoly(shrink_mask_img, [box], (100))cv2.imwrite('./shrink_mask_img.jpg', shrink_mask_img)if __name__ == "__main__":main(shrink_threshold=0.6)

                               1.原图

    

                               2.原先分割图                                                                         3.收缩后分割图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 3D emulation 架构理解

Android Emulator 给用户提供 GPU on 选项&#xff0c;意思是利用 Host ( 就是执行 Emulator 的PC机) 的 GPU. 当然PC机必须把 OpenGL 的驱动装好 在实现上就是把 libGLESv1_CM.so libGLESv2.so 替换掉&#xff0c;当system调用 gl的函数的时候&#xff0c;把调用打包为strea…

年度回顾:2018年的人工智能/机器学习惊喜及预测19年的走势

来源&#xff1a;网络大数据考虑到技术变革的速度&#xff0c;我认为让专业IT人士分享他们对2018年最大惊喜及2019年预测的看法会很有趣。以下是他们对人工智能(AI)&#xff0c;机器学习( ML)和其他数据科学迭代的看法&#xff1a;CLARA分析公司首席执行官兼创始人&#xff1a;…

利用dbnet分割条形码与文字(代码+模型)+知识蒸馏+tensorrt推理+利用pyzbar和zxing进行条形码解析

一.DBnet 1.代码链接 分割条形码与文字代码:github链接:GitHub - zonghaofan/dbnet_torch: you can use dbnet to detect word or bar code,Knowledge Distillation is provided,also python tensorrt inference is provided.&#xff08;提供模型&#xff09; 2.论文阅读 …

菜根谭#132

青天白日的节义&#xff0c;自暗室漏屋中培来&#xff1b; 旋乾转坤的经纶&#xff0c;自临深渊履薄处操出。转载于:https://www.cnblogs.com/star4knight/p/3777156.html

全球值得关注的11家人脸识别公司与机构

来源&#xff1a;资本实验室根据美国国家标准与技术研究院&#xff08;NIST&#xff09;的2018年全球人脸识别算法测试&#xff08;FRVT&#xff09;最新结果&#xff0c;今年共有来自全球的39家企业和机构参与本次竞赛。在最新排名中&#xff0c;前五名算法被中国公司包揽&…

图论基础知识--最小生成树算法kruskal(克鲁斯克尔)和普里姆算法(Prim算法);最短路径算法Dijkstra(迪杰斯特拉)和Floyd(弗洛伊德)

一.基础知识 有向图 无向图 以无向图为例: 邻接矩阵: 度矩阵(对角矩阵): 二&#xff0e;最小生成树 应用&#xff1a;将网络顶点看着城市&#xff0c;边看着城市之间通讯网&#xff0c;边的权重看着成本&#xff0c;根据最小生成树可以构建城市之间成本最低的通讯网&#x…

高中生活--第7篇–我为什么不交作业

无耻的打个广告&#xff1a;小伙伴&#xff0c;有IT相关的问题来这里提问吧&#xff0c;http://www.itfriend.cn/topic&#xff0c;社区网友和我努力帮你解答。好久没有写“高中生活”系列了&#xff0c;上一篇“高中生活--第6篇-批评和表扬之间的对决”已经是2013年8月26日。人…

nginx做负载均衡,解决多机器多gpu卡服务对外暴露一个接口问题

思路&#xff1a;多个gpu 服务接口-->ngxin做负载均衡-->对外暴露一个。 以一机两卡为例,其中gunicorn部署一卡多进程服务参考这篇文章 一.制作nginx负载均衡镜像 1.制作Dockerfie FROM nginx:1.13.3 COPY ./ / RUN mkdir /app COPY /nginx.conf /etc/nginx/nginx.co…

算法偏见侦探

来源&#xff1a;AI 科技评论摘要&#xff1a;随着越来越多的算法不断渗透入社会的层层面面&#xff0c;如医疗机构、政府部门&#xff0c;对算法偏见的讨论越来越多。这个月&#xff0c;Nature 杂志评选出 2018 年最受欢迎的十大科学长篇专题报道&#xff0c;其中&#xff0c;…

iOS程序UI主线程和定时器相互阻塞的问题

解决iOS程序UI主线程和定时器相互阻塞的问题转载于:https://www.cnblogs.com/hl666/p/3784838.html

pytorch实现常用的一些即插即用模块(长期更新)

1.可分离卷积 #coding:utf-8 import torch.nn as nnclass DWConv(nn.Module):def __init__(self, in_plane, out_plane):super(DWConv, self).__init__()self.depth_conv nn.Conv2d(in_channelsin_plane,out_channelsin_plane,kernel_size3,stride1,padding1,groupsin_plane)…

硅片行业:过剩背景下的寡头市场

来源&#xff1a;乐晴智库精选▌竞争格局:过剩背景下的寡头市场&#xff0c;规模壁垒初步形成光伏产业总体处于产能过剩的状态&#xff0c;硅片环节的过剩尤为突出。根据PVInfolink的统计数据&#xff0c;截至2018年2季度末&#xff0c;全球硅片总产能超过160GW&#xff0c;年化…

oracle11g dataguard物理备库搭建

Dataguard 环境&#xff1a; 操作系统:Redhat6.4Primary数据库:IP 地址&#xff1a;192.168.1.122数据库SID&#xff1a;ora11gDB_UNIQUE_NAME:ora11g_primaryStandby数据库:IP 地址&#xff1a;192.168.1.123数据库SID&#xff1a;ora11gDB_UNIQUE_NAME:ora11g_standby(注:ora…

从attention到Transformer+CV中的self-attention

一.总体结构 由于rnn等循环神经网络有时序依赖&#xff0c;导致无法并行计算&#xff0c;而Transformer主体框架是一个encoder-decoder结构&#xff0c;去掉了RNN序列结构&#xff0c;完全基于attention和全连接。同时为了弥补词与词之间时序信息&#xff0c;将词位置embedding…

12年后,人工智能和人类会是什么样?这是900位专家的看法|报告

来源&#xff1a;机器之能摘要&#xff1a;有分析师预计&#xff0c;到2030年&#xff0c;在复杂的数字系统中&#xff0c;人们将更加依赖于网络人工智能。 有人说&#xff0c;随着对这些网络工具的广泛使用&#xff0c;我们将继续沿着历史的轨迹生活地更好。也有一些人说&…

中文繁体和简体转换 (Java代码)

String jianti"皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙币闭边编贬变辩辫标鳖别瘪濒滨宾摈饼并拨钵铂驳卜补财参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘沉陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨…

水印去除(基于nosie2noise优化 代码+模型)

github链接 1.感受野计算: :本层感受野; :上层感受野; :第i层卷积或池化的步长 k:本层卷积核大小 2.空洞卷积卷积核计算:Kk(k-1)(r-1)&#xff0c;k为原始卷积核大小&#xff0c;r为空洞卷积参数空洞率&#xff0c;带入上式即可计算空洞卷积感受野&#xff1b; 3.针对noi…

广度深度都要,亚马逊是如何推动 Alexa 内生成长的?

来源&#xff1a;雷锋网摘要&#xff1a;发展到今天&#xff0c;Alexa 已经成为亚马逊旗下最重要的几个业务支柱之一&#xff0c;尤其是在人工智能语音助手层面&#xff0c;它和 Google Assistant、Apple Siri、Microsoft Cortana 并驾齐驱&#xff0c;甚至在应用场景上有领先之…

剖析云平台中的“共享型数据库”

剖析云计 算中的“共享型数据库” 摘要&#xff1a; 随着云计算的出现&#xff0c;出现了很多新的名词&#xff0c;像云数据库、云存储、弹性扩容&#xff0c;资源隔离等词汇。下面就大家炒的比较热的“共享型数据库”做一下解释&#xff0c;给大家剖析什么叫“共享型数据库”。…

FCOS: A Simple and Strong Anchor-free Object Detector

论文链接 一.背景 1.anchor-base缺点          (&#xff11;)&#xff0e;anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定&#xff0c;难度较大&#xff0e; (&#xff12;)&#xff0e;anchor太过密集&#xff0c;其中很多是负样本&#xff…