yolo11n标定数据集训练数据集测试验证
在乌班图20.04 ros1 环境下用配置好yolov11的环境下载标记数据集工具在python3.8.10环境下pip install labelimg而后创建文件夹Annotations为xml文件夹JPEGImages需要标记的图片labels为txt文件夹标记好的txt文件放里面yolo为训练测试验证的文件夹classes.txt为类别文本需要修改类别文本时可以修改文件过运行下面命令覆盖cp classes.txt JPEGImages/classes.txt修改后可以查看cat JPEGImages/classes.txt开始标记labelImg JPEGImages/ JPEGImages/classes.txt标记完成后新建data_10class文件夹里面放data.yamlpath: /home/robot/yolov11_date/yolo/data_10class train: train/images val: train/images nc: 10 names: 0: 有害垃圾 1: 厨余垃圾 2: 可回收垃圾 3: 其他垃圾 4: 火灾楼宇 5: 坍塌楼宇 6: 有毒气体楼 7: 电力故障楼 8: 普通救助人群 9: 医疗救助人群train文件夹放images文件夹放标记的图片labels放标记的txt文件predict_v2.pyfrom ultralytics import YOLO from PIL import Image, ImageDraw, ImageFont import glob model YOLO(yolo/raicom_new/weights/best.pt) # 你只需要改这两行 FONT_PATH /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc # 中文字体路径 FONT_SIZE 100 # 字号越大字越大 # font ImageFont.truetype(FONT_PATH, FONT_SIZE) for img_path in sorted(glob.glob(JPEGImages/*.jpg)): results model.predict(sourceimg_path, channels3, verboseFalse) img Image.open(img_path).convert(RGB) draw ImageDraw.Draw(img) for b in results[0].boxes: x1, y1, x2, y2 map(int, b.xyxy[0].tolist()) label f{model.names[int(b.cls[0])]} {float(b.conf[0]):.2f} tw draw.textbbox((0, 0), label, fontfont)[2] th draw.textbbox((0, 0), label, fontfont)[3] draw.rectangle([x1, y1, x2, y2], outlinelime, width4) draw.rectangle([x1, y1 - th - 6, x1 tw 6, y1], filllime) draw.text((x1 3, y1 - th - 3), label, fillblack, fontfont) img.save(fyolo/predict_new/images_v2/{img_path.split(/)[-1]}) print(Done!)train.pyfrom ultralytics import YOLO model YOLO(yolo/yolov11n.pt) model.train( datayolo/data_10class/data.yaml, epochs200, imgsz640, batch1, projectyolo, nameraicom_10class, devicecpu, )而后开始训练数据集python3 yolo/train.py测试robotwp:~/yolov11_date$ python3 yolo/predict_10class.py