首先确定你的环境为windows或linux,不同的环境下搭建步骤略有不同,不过嘛,当然是linux下搭建比较方便了,因为原作者的环境就是linux下。
好的,那么下面请跟我一起在linux下一步步搭建centernet环境吧!
建议在anaconda下重新创建一个新的python3.6的环境,用于centernet搭建,不然你后面会发现…我的个亲娘啊!
conda create --name CenterNet python=3.6 创建环境,将name改为你自定义的名字
必须安装0.4.1版本,否则会发生意想不到的错误。
torch.vision0.1.6
pytorch0.4.1下载命令:conda install pytorch=0.4.1 torchvision -c pytorch
安装完成后最好检查一下torchvision版本,或直接在运行一下:conda install torchvision==0.1.6
参照以下命令:
# COCOAPI=/path to clone cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
make
python setup.py install --user
将其中path to clone cocoapi定义为自己的路径
CenterNet_ROOT=/path/to/clone/CenterNet
git clone https://github.com/xingyizhou/CenterNet $CenterNet_ROOT
注意!
这里请用在命令行克隆项目,若直接在gihub上下载下来,会导致缺失.git文件夹,而后续操作若没有此文件夹,将会导致错误!且难以发现!
进入到克隆的centernet文件夹根目录,然后:
pip install -r requirements.txt
快速安装所需要的必要的库
cd $CenterNet_ROOT/src/lib/models/networks/DCNv2
./make.sh
请注意
此处,若不是使用git命令克隆的仓库,会导致一系列问题,以后补充。
若不是使用git命令克隆的仓库,会导致缺少.git文件夹,而在编译DCNv2时,有时会出错,需要调用git checkout命令,但无法找到.git文件夹。
python demo.py ctdet --demo ../images/24274813513_0cfd2ce6d0_k.jpg --load_model ../models/ctdet_coco_dla_2x.pth
将其中的…/images/24274813513_0cfd2ce6d0_k.jpg修改为你自己的图片路径。
如果没有问题,在终端运行时,不出意外,你将会得到以下错误:
[ERROR] X server – no display in range is available
这是由于linux终端没有图形界面,而demo会调用cv2.imwrite(),需要修改
src/lib/detectors/cdet.py
def show_results(self, debugger, image, results):
debugger.add_img(image, img_id='ctdet')
for j in range(1, self.num_classes + 1):
for bbox in results[j]:
if bbox[4] > self.opt.vis_thresh:
debugger.add_coco_bbox(bbox[:4], j - 1, bbox[4], img_id='ctdet')
#debugger.show_all_imgs(pause=self.pause)
debugger.save_all_imgs(path='/home/czb/CenterNet-master/output/', genID=True)
将其中的debugger.show_all_imgs(pause=self.pause)注释掉,不让其显示,而将测试图片保存下来:
debugger.save_all_imgs(path=’/home/czb/CenterNet-master/output/’, genID=True)
路径修改为你自己的。