|
||
---|---|---|
main | ||
segment-anything-main | ||
ultralytics-main | ||
readme.md |
readme.md
下载环境
pip install ultralytics
pip install opencv-python pycocotools matplotlib onnxruntime onnx torch torchvision
权重文件
- https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth SAM的权重文件,放入
segment-anything-main
目录下 - https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x.pt yolo11的权重文件,放入
ultralytics-main
目录下
运行流程
1. 用yolo11跑出汽车框作为prompt
将汽车图片放入 ultralytics-main/input下
input/
├── 00060.jpg
├── 00213.jpg
├── ...
├── 00600.jpg
运行 python3 test.py
生成output/exp
保存框出来的汽车和 output/car_boxes.txt
保存每个图片框的左上和右下坐标
2. 将框的prompt和图片一起输入SAM模型
进入segment-anything-main
文件夹
运行 python test_box.py --checkpoint sam_vit_h_4b8939.pth --model-type vit_h --input ../ultralytics-main/input --output ./output --box-file ../ultralytics-main/output/car_boxes.txt
在 segment-anything-main/output
可看到汽车显著图
3. 将显著图进行外接矩形和关键点检测
进入demo
文件夹,修改main
函数里所需要的图片路径,如下
side_mask = '../segment-anything-main/output/2_mask.png'
side_rgb = '../ultralytics-main/input/2.png'
out_dir = './result'
process_side(side_mask, side_rgb, out_dir)
运行 python3 point.py
修改侧面关键点检测效果图





有个检测不出来的原因是汽车拍出来颜色和背景颜色几乎一样,无法检测出。
还有一个是斜侧面,轴心检测还存在问题。