需要CenterFusion项目源码中convert_nuscenes.py文件将所有的nuscene数据集(就是包括1.0travel、test和mini的)完成转换成coco格式的json文件,因为只有这个转换后的json文件中记录的数据能够完成训练和检测,自己电脑转换不过来老是死机,希望有做过的分享一下。需要的是文件哦~是这种样子的,如下:
你只是电脑本身受限,实际方法和思路自己都有是不?
所以,你是需要别人将你的NUSCENES数据集转COCO格式文件,在通过其他方式转发给你?
参考GPT和自己的思路,在使用 CenterFusion 中的 convert_nuscenes.py 脚本将 NuScenes 数据集转换成 COCO 格式的 JSON 文件之前,你需要先按照 NuScenes 官方文档中的指导下载并准备好 NuScenes 数据集。
步骤:
下载并准备 NuScenes 数据集
按照 NuScenes 官方文档中的指导,下载并解压缩 NuScenes 数据集。确保数据集目录结构与文档中描述的一致。
下载 CenterFusion 代码
从 CenterFusion 的 GitHub 仓库中下载源代码并解压缩。你可以通过以下命令来完成:
git clone https://github.com/tianweiy/CenterFusion.git
安装依赖项
CenterFusion 依赖于 Python3 和一些 Python 包。你可以通过以下命令来安装这些依赖项:
pip install -r requirements.txt
转换 NuScenes 数据集为 COCO 格式
运行 convert_nuscenes.py 脚本可以将 NuScenes 数据集转换成 COCO 格式的 JSON 文件。该脚本提供了以下命令行参数:
python convert_nuscenes.py --data_root=<NUCENSES_DATA_ROOT> --version=<NUCENSES_VERSION> --out_dir=<OUTPUT_DIR>
其中:
NUCENSES_DATA_ROOT 是 NuScenes 数据集的根目录,例如 ~/nuscenes
NUCENSES_VERSION 是 NuScenes 数据集的版本,例如 v1.0-trainval
OUTPUT_DIR 是输出 COCO 格式 JSON 文件的目录,例如 ~/nuscenes_coco
你可以使用以下命令来运行脚本:
python convert_nuscenes.py --data_root=<NUCENSES_DATA_ROOT> --version=<NUCENSES_VERSION> --out_dir=<OUTPUT_DIR>
脚本运行后,将会在指定的输出目录下生成一个名为 annotations 的子目录,并在该目录下生成 COCO 格式的 JSON 文件。
注意:该脚本默认只转换 NuScenes 数据集中的车辆、行人和自行车三类物体,如果你想转换其他物体类别,需要修改 object_classes 参数的值。
参考链接:https://github.com/tianweiy/CenterFusion/blob/master/data/convert_nuscenes.py
在这里只能提供转化的方法,如果要转化好的成品,数据集很大,不好搞。
你好,我参考了ChatGPT作如下解答,希望能帮你解决这个问题。如果你已经有了 NuScenes 数据集,并且需要将其转换为 COCO 格式,你可以使用 CenterFusion 项目中的 convert_nuscenes.py 脚本来完成此操作。
以下是使用 convert_nuscenes.py 脚本进行 NuScenes 数据集转换的步骤:
$ git clone https://github.com/tianweiy/CenterFusion.git
$ cd CenterFusion/tools
$ pip install numpy scipy pyquaternion fire
下载 NuScenes 数据集并解压缩到某个文件夹,例如 /path/to/nuscenes/。
运行 convert_nuscenes.py 脚本:
$ python convert_nuscenes.py \
--root_path=/path/to/nuscenes/ \
--version="v1.0-trainval" \
--output_path=/path/to/output/ \
--max_sweeps=10 \
--nsweeps_lidar=1 \
--nsweeps_radar=1 \
--class_name_mapping_path=./nuscenes_to_coco_class_name_mapping.json
其中:
该脚本将 NuScenes 数据集转换为 COCO 格式,并将生成的 JSON 文件保存在指定的输出路径中。
注意:在运行脚本之前,请确保您已经下载了 NuScenes 数据集并且已经安装了所需的 Python 库。
nuscenes数据集转COCO格式
如果是3D标注框转2D:
使用官方工具nuscenes-devkthttps://github.com/nutonomy/nuscenes-devkit
克隆下来
cd ~
git clone https://github.com/nutonomy/nuscenes-devkit
找到export_2d_annotations_as_json.py路径在/nuscenes-devkit/python-sdk/nuscenes/scripts/export_2d_annotations_as_json.py
该文件有以下5种选项,分别是--dataroot/--version/--filename/--visibilities/--image_limit
--dataroot是我们下载的MetaData的路径
--version是我们需要转化的json文件的存放文件夹名
--filename是我们对生成的2D框的json文件的保存名称
parser.add_argument('--dataroot', type=str, default='/data/sets/nuscenes', help="Path where nuScenes is saved.")
parser.add_argument('--version', type=str, default='v1.0-trainval', help='Dataset version.')
parser.add_argument('--filename', type=str, default='image_annotations.json', help='Output filename.')
parser.add_argument('--visibilities', type=str, default=['', '1', '2', '3', '4'],
help='Visibility bins, the higher the number the higher the visibility.', nargs='+')
parser.add_argument('--image_limit', type=int, default=-1, help='Number of images to process or -1 to process all.')
运行该python文件即可获得2D-box型的json文件,例如,我下载了Mini的数据包,我的MetaData路径是~/nuscenes,该文件下有以下四个文件夹
在/nuscenes-devkit/python-sdk/nuscenes/scripts/路径下打开终端,我的命令如下,大家自行修改自己的路径及文件夹名称
python3 export_2d_annotations_as_json.py --dataroot ~/nuscenes --version v1.0-mini --filename 2D-box.json