chineseocr / table-detect

table detect(yolo) , table line(unet)
MIT License
236 stars 86 forks source link

你好,想请教下,我训练表格结构时高分辨率表格效果不是很好,有什么方法调整参数训练吗?以下是我附上我识别的结果 #18

Open 965662766 opened 3 years ago

965662766 commented 3 years ago

image

solofive commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

965662766 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

solofive commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

感谢,我试试

solofive commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

965662766 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

solofive commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

solofive commented 3 years ago

https://github.com/chineseocr/table-detect/blob/master/utils.py 第100行的 resized_image = cv2.resize(image, (new_w, new_h), interpolation=cv2.INTER_CUBIC) 放大使用CUBIC,缩小的话使用区域更好一点

965662766 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

刚试了,效果确实很赞,当初折腾很久的问题竟然调整一个参数就解决了,非常感谢你的分享!

solofive commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

刚试了,效果确实很赞,当初折腾很久的问题竟然调整一个参数就解决了,非常感谢你的分享!

像你这样复杂的,如果出现漏的或者多的,可以调整线条过滤阈值来尝试 调整结果

965662766 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

刚试了,效果确实很赞,当初折腾很久的问题竟然调整一个参数就解决了,非常感谢你的分享!

像你这样复杂的,如果出现漏的或者多的,可以调整线条过滤阈值来尝试 调整结果

image image 试了多个线疏的效果倒不太好,会不是我训练时样本没考虑到,还是按你说的调整过滤阈值

solofive commented 3 years ago

像你刚刚那张图片,我感觉对于模型来说,应该是你样本不够, ,同样长度的线条,下面的没有被辨识出来,先试下调整阈值table_line.py的175行,row代表最小横线长度,col代表最小竖线长度

garfieldcat1985 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

刚试了,效果确实很赞,当初折腾很久的问题竟然调整一个参数就解决了,非常感谢你的分享!

像你这样复杂的,如果出现漏的或者多的,可以调整线条过滤阈值来尝试 调整结果

image image 试了多个线疏的效果倒不太好,会不是我训练时样本没考虑到,还是按你说的调整过滤阈值

我试了一下,这个模型对线粗细敏感。粗线识别效果不好。

965662766 commented 3 years ago

您好,请问高分辨率下,找到处理办法了吗

你可以尝试切割成几个小的图片去识别,得到结果后再拼接

高分辨率的问题本质是因为源代码中的缩放使用cubic方式,图片质量会很差,缩放使用区域更好一些

原来这个样子啊,在哪个代码哪个位置,我也改改试试,超4K高分辨率可以不

可以,再高也可以,不过我的表格没你这么复杂,估计你需要多一点数据量训练

刚试了,效果确实很赞,当初折腾很久的问题竟然调整一个参数就解决了,非常感谢你的分享!

像你这样复杂的,如果出现漏的或者多的,可以调整线条过滤阈值来尝试 调整结果

image image 试了多个线疏的效果倒不太好,会不是我训练时样本没考虑到,还是按你说的调整过滤阈值

我试了一下,这个模型对线粗细敏感。粗线识别效果不好。

你可以尝试标一些数据来训练,我训练过后效果是好了一些

solofive commented 3 years ago

这种边缘问题,在util中的方法在最后判断的时候有可能过滤,自己debug一下就能看到,里面的一些写死的参数根据自己的实际情况多调整一下

solofive commented 3 years ago

附上我的识别结果 Rw0KGceil

965662766 commented 3 years ago

这种边缘问题,在util中的方法在最后判断的时候有可能过滤,自己debug一下就能看到,里面的一些写死的参数根据自己的实际情况多调整一下

看下你识别调整的结果,好像是把粗线的拆开形成多个表格了,是这样的吗

solofive commented 3 years ago

你的结果其实也是这个样子,只不过是重合上了,这个无关紧要

965662766 commented 3 years ago

你的结果其实也是这个样子,只不过是重合上了,这个无关紧要

你这个也非常赞,又认识了新的解决方法,我也试试看,感谢!感谢!