数据集地址
该图像数据集是 通过一个特色的渠道获取了数据集,然后一通处理以后得到的数据,其中一张图的一部分显示如下(因为保密):。
整个数据集有100张图像,但是每张图像上的对象实在太多了,每办法,花了两天的时候,标注了其中65张图像,60张作为训练集、5张做为测试集。算是完成了数据标注工作。
模型训练
准备好数据集以后,直接按下面的命令行运行即可:
yolo train model=yolov8s.pt data=sperm_dataset.yaml epochs=50 imgsz=1280 batch=8
导出与测试
模型导出与测试
yolo export model=sperm50_640_best.pt format=onnxyolo predict model=sperm50_640_best.pt source=.sperm_test
部署推理
转成onnx格式文件以后,基于openvino-python部署推理,相关代码如下
ie = core()for device in ie.available_devices: print(device)# read irmodel = ie.read_model(model=sperm_best.onnx)compiled_model = ie.compile_model(model=model, device_name=cpu)output_layer = compiled_model.output(0)frame = cv.imread(d:/1.jpg)bgr = format_yolov8(frame)img_h, img_w, img_c = bgr.shapestart = time.time()image = cv.dnn.blobfromimage(bgr, 1 / 255.0, (640, 640), swaprb=true, crop=false)res = compiled_model([image])[output_layer] # 1x84x8400rows = np.squeeze(res, 0).tclass_ids = []confidences = []boxes = []x_factor = img_w / 640y_factor = img_h / 640for r in range(rows.shape[0]): row = rows[r] classes_scores = row[4:] _, _, _, max_indx = cv.minmaxloc(classes_scores) class_id = max_indx[1] if (classes_scores[class_id] > .25): confidences.append(classes_scores[class_id]) class_ids.append(class_id) x, y, w, h = row[0].item(), row[1].item(), row[2].item(), row[3].item() left = int((x - 0.5 * w) * x_factor) top = int((y - 0.5 * h) * y_factor) width = int(w * x_factor) height = int(h * y_factor) box = np.array([left, top, width, height]) boxes.append(box)indexes = cv.dnn.nmsboxes(boxes, confidences, 0.25, 0.45)for index in indexes: box = boxes[index] color = colors[int(class_ids[index]) % len(colors)] rr = int((box[2] + box[3])/4) cv.circle(frame, (box[0]+int(box[2]/2), box[1]+int(box[3]/2)), rr-4, color, 2) cv.puttext(frame, class_list[class_ids[index]], (box[0] + int(box[2] / 2), box[1] + int(box[3] / 2)), cv.font_hershey_simplex, .5, (0, 0, 0))cv.puttext(frame, gloomyfish@2024, (20, 45), cv.font_hershey_simplex, 1, (0, 0, 255), 2)cv.imshow(yolov8+openvino2023 sperm count, frame)cv.waitkey(0)cv.destroyallwindows()
简历中居然藏有木马 细思恐极
超级电容漏电流测试仪AT680A的性能及应用
新能源与可再生能源势必加快进入能源体系主流
摩尔定律下,真的有厂商实现了突破吗?
用于6.6kW EV/PHV车载充电器的继电器
YOLOv8也能打小目标检测实战
芯片DFX:Coresight架构
阻碍稳定货币发展的因素有哪些
Silicon Labs 向股东提交21年年度报告 安吉星服务重磅升级
3D打印机有哪些种类?
华为mate9上市价格,万元手机惊艳亮相 号称手机中的保时捷
区块链在工业大数据智慧云链中的解决方案
智能手机最大革命:车联网来了
5G和4G网络的差距在哪里?
行程开关工作原理
苏宁加大iPhone 12以旧换新补贴
指尖大小的高性能超快激光器制成,可用于无GPS情况下导航等场景
电子线路与电磁干扰/电磁兼容设计分析
离线语音在智能风扇的应用
KDD 2019录取论文终于放榜了!你的论文“中奖”了吗?