{ "cells": [ { "cell_type": "code", "execution_count": 1, "source": [ "from mmdet3d.apis import inference_detector, init_model\n", "from mmdet3d.registry import VISUALIZERS\n", "from mmdet3d.utils import register_all_modules" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/home/PJLAB/zhuchenming/mmdet3d_refactor/mmengine/mmengine/model/utils.py:800: UserWarning: Cannot import torch.fx, `merge_dict` is a simple function to merge multiple dicts\n", " warnings.warn('Cannot import torch.fx, `merge_dict` is a simple function '\n" ] } ], "metadata": { "pycharm": { "is_executing": false } } }, { "cell_type": "code", "execution_count": 2, "source": [ "# register all modules in mmdet3d into the registries\n", "register_all_modules()" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/home/PJLAB/zhuchenming/mmdet3d_refactor/mmdetection3d/mmdet3d/models/backbones/mink_resnet.py:10: UserWarning: Please follow `getting_started.md` to install MinkowskiEngine.`\n", " 'Please follow `getting_started.md` to install MinkowskiEngine.`')\n" ] } ], "metadata": {} }, { "cell_type": "code", "execution_count": 8, "source": [ "config_file = '../configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py'\n", "# download the checkpoint from model zoo and put it in `checkpoints/`\n", "checkpoint_file = '../work_dirs/second/epoch_40.pth'" ], "outputs": [], "metadata": { "pycharm": { "is_executing": false } } }, { "cell_type": "code", "execution_count": 9, "source": [ "# build the model from a config file and a checkpoint file\n", "model = init_model(config_file, checkpoint_file, device='cuda:0')" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/home/PJLAB/zhuchenming/mmdet3d_refactor/mmdetection3d/mmdet3d/models/dense_heads/anchor3d_head.py:93: UserWarning: dir_offset and dir_limit_offset will be depressed and be incorporated into box coder in the future\n", " 'dir_offset and dir_limit_offset will be depressed and be '\n" ] }, { "output_type": "stream", "name": "stdout", "text": [ "local loads checkpoint from path: /home/PJLAB/zhuchenming/checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-3class_20210831_022017-ae782e87.pth\n" ] } ], "metadata": {} }, { "cell_type": "code", "execution_count": 10, "source": [ "# init visualizer\n", "visualizer = VISUALIZERS.build(model.cfg.visualizer)\n", "visualizer.dataset_meta = {\n", " 'CLASSES': model.CLASSES,\n", " 'PALETTE': model.PALETTE\n", "}" ], "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/home/PJLAB/zhuchenming/mmdet3d_refactor/mmengine/mmengine/visualization/visualizer.py:167: UserWarning: `Visualizer` backend is not initialized because save_dir is None.\n", " warnings.warn('`Visualizer` backend is not initialized '\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/svg+xml": "\n\n\n \n \n \n \n 2022-08-04T17:45:38.225868\n image/svg+xml\n \n \n Matplotlib v3.5.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEiUlEQVR4nO3VMQEAIAzAMMC/5+ECjiYK+nXPzAKAivM7AABeMj4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIMT4AUowPgBTjAyDF+ABIueF8BVm9xhwpAAAAAElFTkSuQmCC" }, "metadata": { "needs_background": "light" } } ], "metadata": { "pycharm": { "is_executing": false } } }, { "cell_type": "code", "execution_count": 11, "source": [ "# test a single sample\n", "pcd = './data/kitti/000008.bin'\n", "result, data = inference_detector(model, pcd)\n", "points = data['inputs']['points']\n", "data_input = dict(points=points)" ], "outputs": [], "metadata": { "pycharm": { "is_executing": false } } }, { "cell_type": "code", "execution_count": 12, "source": [ "# show the results\n", "out_dir = './'\n", "visualizer.add_datasample(\n", " 'result',\n", " data_input,\n", " pred_sample=result,\n", " show=True,\n", " wait_time=0,\n", " out_file=out_dir,\n", " vis_task='det')" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\u001b[1;33m[Open3D WARNING] invalid color in PaintUniformColor, clipping to [0, 1]\n", "\u001b[0;m\u001b[1;33m[Open3D WARNING] invalid color in PaintUniformColor, clipping to [0, 1]\n", "\u001b[0;m" ] } ], "metadata": { "pycharm": { "is_executing": false } } } ], "metadata": { "kernelspec": { "name": "python3", "display_name": "Python 3.7.6 64-bit ('torch1.7-cu10.1': conda)" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "pycharm": { "stem_cell": { "cell_type": "raw", "source": [], "metadata": { "collapsed": false } } }, "interpreter": { "hash": "a0c343fece975dd89087e8c2194dd4d3db28d7000f1b32ed9ed9d584dd54dbbe" } }, "nbformat": 4, "nbformat_minor": 4 }