Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在创建gt database时报错 #443

Open
Lucas-SJY opened this issue Jan 27, 2024 · 5 comments
Open

在创建gt database时报错 #443

Lucas-SJY opened this issue Jan 27, 2024 · 5 comments
Assignees

Comments

@Lucas-SJY
Copy link

在我按照readme中尝试使用kitti数据集时,使用python ./Paddle3D/tools/create_det_gt_database.py --dataset_name kitti --dataset_root ./kittimini --save_dir ./dataset/kitti命令创建gt database时报错

2024-01-11 16:29:09,128 - INFO - Begin to generate a database for the KITTI dataset.
libpng error: IDAT: bad parameters to zlib
Traceback (most recent call last):
File "/home/lucas/PycharmProjects/paddle3d/./Paddle3D/tools/create_det_gt_database.py", line 55, in
main(args)
File "/home/lucas/PycharmProjects/paddle3d/./Paddle3D/tools/create_det_gt_database.py", line 46, in main
generate_kitti_gt_database(args.dataset_root, save_dir=args.save_dir)
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle3d-1.0.0-py3.9.egg/paddle3d/datasets/generate_gt_database.py", line 52, in generate_kitti_gt_database
sample = dataset[data_idx]
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle3d-1.0.0-py3.9.egg/paddle3d/datasets/kitti/kitti_pointcloud_det.py", line 62, in getitem
sample = self.transforms(sample)
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle3d-1.0.0-py3.9.egg/paddle3d/transforms/base.py", line 45, in call
sample = t(sample)
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle3d-1.0.0-py3.9.egg/paddle3d/transforms/reader.py", line 185, in call
im_shape = cv2.imread(str(im_path)).shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'

可以确定路径没错,单独使用cv2.imread也能读取图片数据,在ai studio上也能顺利运行,但是在我的本地会发生如上报错

@warrentdrew
Copy link
Collaborator

您好,从报错看应该还是im_path不正确或是某些图片文件缺失导致imread没有读取到图片出现None的情况,建议在代码中增加一些im_path打印或者os.path.exists检查下路径和图片读取的正确性

@Lucas-SJY
Copy link
Author

我的路径存在,且直接使用cv2.imread可以读取这些图片,print(cv2.imread("kittimini/training/image_2/000012.png").shape[:2])可以正常返回(375, 1242)
但是使用create_det_gt_database.py脚本依然返回None,且报错信息中有libpng error: IDAT: bad parameters to zlib
完整报错信息如下
-------------------current path kitti300frame/training/image_2/000012.png
Path exist
libpng error: IDAT: bad parameters to zlib
Traceback (most recent call last):
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/tools/create_det_gt_database.py", line 55, in
main(args)
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/tools/create_det_gt_database.py", line 46, in main
generate_kitti_gt_database(args.dataset_root, save_dir=args.save_dir)
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/paddle3d/datasets/generate_gt_database.py", line 52, in generate_kitti_gt_database
sample = dataset[data_idx]
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/paddle3d/datasets/kitti/kitti_pointcloud_det.py", line 62, in getitem
sample = self.transforms(sample)
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/paddle3d/transforms/base.py", line 45, in call
sample = t(sample)
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/paddle3d/transforms/reader.py", line 186, in call
im_shape = cv2.imread(str(im_path)).shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'

@warrentdrew
Copy link
Collaborator

可能跟环境有关,可以检查下opencv-python的版本以及依赖的libpng的版本,或者试下其他图像读取库如PIL Image.open()看下能否正常读取

@Lucas-SJY
Copy link
Author

在我将opencv-python版本切换成4.5.5.64后,再次运行create_det_gt_database.py脚本,报错变成了
Traceback (most recent call last):
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/tools/create_det_gt_database.py", line 17, in
from paddle3d.datasets.generate_gt_database import (
File "/home/lucas/PycharmProjects/paddle3d/Paddle3D/paddle3d/init.py", line 17, in
import paddle
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle/init.py", line 75, in
from paddle import ( # noqa: F401
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle/dataset/init.py", line 18, in
from . import ( # noqa: F401
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle/dataset/flowers.py", line 36, in
from paddle.dataset.image import load_image_bytes, simple_transform
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/paddle/dataset/image.py", line 39, in
import cv2
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/cv2/init.py", line 190, in
bootstrap()
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/cv2/init.py", line 184, in bootstrap
if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/cv2/init.py", line 37, in __load_extra_py_code_for_module
py_module = importlib.import_module(module_name)
File "/home/lucas/.conda/envs/paddle/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/lucas/.conda/envs/paddle/lib/python3.9/site-packages/cv2/typing/init.py", line 156, in
Prim = _typing.Union[cv2.gapi.wip.draw.Text, cv2.gapi.wip.draw.Circle, cv2.gapi.wip.draw.Image, cv2.gapi.wip.draw.Line, cv2.gapi.wip.draw.Rect, cv2.gapi.wip.draw.Mosaic, cv2.gapi.wip.draw.Poly]
AttributeError: module 'cv2.gapi.wip.draw' has no attribute 'Text'

@warrentdrew
Copy link
Collaborator

这个应该和opencv的依赖有关,建议尝试下其他opencv的版本如4.6.0.66

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants