diff --git a/data/labels/aut/124bc07e-test_170.txt b/data/labels/aut/124bc07e-test_170.txt index ec2c06c..a1a1de6 100644 --- a/data/labels/aut/124bc07e-test_170.txt +++ b/data/labels/aut/124bc07e-test_170.txt @@ -1 +1 @@ -0 0.48771291971206665 0.7472500205039978 0.1420592963695526 0.09844733029603958 +66 0.731589674949646 0.2058008313179016 0.35398292541503906 0.4006979465484619 diff --git a/data/labels/aut/2c3a0daf-test_120.txt b/data/labels/aut/2c3a0daf-test_120.txt index 75be4a3..8045050 100644 --- a/data/labels/aut/2c3a0daf-test_120.txt +++ b/data/labels/aut/2c3a0daf-test_120.txt @@ -1 +1,4 @@ -0 0.4994882047176361 0.4316258728504181 0.06551017612218857 0.2727106511592865 +41 0.5203449130058289 0.7177358269691467 0.20717255771160126 0.49684786796569824 +41 0.3389294445514679 0.30331751704216003 0.27720382809638977 0.6009600162506104 +66 0.886417031288147 0.655850887298584 0.22624778747558594 0.5352596640586853 +65 0.2264287918806076 0.932266891002655 0.14752043783664703 0.13386501371860504 diff --git a/data/labels/aut/3ab9529c-test_150.txt b/data/labels/aut/3ab9529c-test_150.txt index c030776..9395c6c 100644 --- a/data/labels/aut/3ab9529c-test_150.txt +++ b/data/labels/aut/3ab9529c-test_150.txt @@ -1 +1 @@ -0 0.40836668014526367 0.8042894005775452 0.12351169437170029 0.23603889346122742 +66 0.8215314745903015 0.4208154082298279 0.35489732027053833 0.8266181349754333 diff --git a/data/labels/aut/3dc0398b-test_180.txt b/data/labels/aut/3dc0398b-test_180.txt index 8d90243..033a77b 100644 --- a/data/labels/aut/3dc0398b-test_180.txt +++ b/data/labels/aut/3dc0398b-test_180.txt @@ -1 +1,2 @@ -0 0.4408986270427704 0.5993431806564331 0.13503237068653107 0.09413503110408783 +65 0.6359551548957825 0.12216883152723312 0.2831403613090515 0.23993046581745148 +41 0.17873314023017883 0.7142530679702759 0.15591652691364288 0.40208977460861206 diff --git a/data/labels/aut/4d8c6c92-test_60.txt b/data/labels/aut/4d8c6c92-test_60.txt index e43ee83..24947ff 100644 --- a/data/labels/aut/4d8c6c92-test_60.txt +++ b/data/labels/aut/4d8c6c92-test_60.txt @@ -1 +1,4 @@ -0 0.5420313477516174 0.30165743827819824 0.07260242849588394 0.21659258008003235 +66 0.8745381236076355 0.2518923580646515 0.25000420212745667 0.4953087270259857 +41 0.6070730686187744 0.5007842183113098 0.20938816666603088 0.41958943009376526 +43 0.41047751903533936 0.88866126537323 0.12559576332569122 0.21784034371376038 +41 0.33719685673713684 0.2652938663959503 0.35088589787483215 0.5305877327919006 diff --git a/data/labels/aut/53996c6c-test_200.txt b/data/labels/aut/53996c6c-test_200.txt index 283b1cf..352698c 100644 --- a/data/labels/aut/53996c6c-test_200.txt +++ b/data/labels/aut/53996c6c-test_200.txt @@ -1 +1 @@ -0 0.41204801201820374 0.6444148421287537 0.13645657896995544 0.09047947824001312 +65 0.5872904658317566 0.13676130771636963 0.27503660321235657 0.2694833278656006 diff --git a/data/labels/aut/62b7a876-test_40.txt b/data/labels/aut/62b7a876-test_40.txt index fe8a3ed..797c2ed 100644 --- a/data/labels/aut/62b7a876-test_40.txt +++ b/data/labels/aut/62b7a876-test_40.txt @@ -1 +1 @@ -0 0.37702181935310364 0.4168713688850403 0.11676235496997833 0.16663137078285217 +66 0.7638658881187439 0.19576500356197357 0.43141382932662964 0.3829491436481476 diff --git a/data/labels/aut/8d3701ff-test_0.txt b/data/labels/aut/8d3701ff-test_0.txt new file mode 100644 index 0000000..8d61778 --- /dev/null +++ b/data/labels/aut/8d3701ff-test_0.txt @@ -0,0 +1 @@ +66 0.18339355289936066 0.4961889088153839 0.3619512915611267 0.9753192067146301 diff --git a/data/labels/aut/98fae6f6-test_100.txt b/data/labels/aut/98fae6f6-test_100.txt index 451f89a..2d26917 100644 --- a/data/labels/aut/98fae6f6-test_100.txt +++ b/data/labels/aut/98fae6f6-test_100.txt @@ -1 +1,3 @@ -0 0.6337539553642273 0.49059435725212097 0.058382414281368256 0.23265939950942993 +41 0.6567089557647705 0.7279508709907532 0.1723017394542694 0.41854044795036316 +66 0.9267964959144592 0.6869313716888428 0.14521464705467224 0.4587825834751129 +41 0.4756928086280823 0.3133438527584076 0.22482411563396454 0.6266877055168152 diff --git a/data/labels/aut/a7054cac-test_30.txt b/data/labels/aut/a7054cac-test_30.txt index 4a2670b..0362cd6 100644 --- a/data/labels/aut/a7054cac-test_30.txt +++ b/data/labels/aut/a7054cac-test_30.txt @@ -1 +1 @@ -0 0.23642759025096893 0.5935156345367432 0.14542384445667267 0.15417061746120453 +66 0.6173995733261108 0.23242317140102386 0.42917877435684204 0.4543992877006531 diff --git a/data/labels/aut/abe5ee7a-test_10.txt b/data/labels/aut/abe5ee7a-test_10.txt new file mode 100644 index 0000000..d087bc7 --- /dev/null +++ b/data/labels/aut/abe5ee7a-test_10.txt @@ -0,0 +1 @@ +66 0.2192573845386505 0.497122585773468 0.37990525364875793 0.9785259366035461 diff --git a/data/labels/aut/ad755539-test_160.txt b/data/labels/aut/ad755539-test_160.txt new file mode 100644 index 0000000..a9a28c0 --- /dev/null +++ b/data/labels/aut/ad755539-test_160.txt @@ -0,0 +1 @@ +66 0.7794128656387329 0.38904860615730286 0.43975722789764404 0.7610057592391968 diff --git a/data/labels/aut/b187ff7e-test_20.txt b/data/labels/aut/b187ff7e-test_20.txt index 9d5d226..66db172 100644 --- a/data/labels/aut/b187ff7e-test_20.txt +++ b/data/labels/aut/b187ff7e-test_20.txt @@ -1 +1 @@ -0 0.07122450321912766 0.9290686845779419 0.1418805867433548 0.1389940083026886 +66 0.3840898871421814 0.3075457811355591 0.39144864678382874 0.5985426902770996 diff --git a/data/labels/aut/b99ddce0-test_130.txt b/data/labels/aut/b99ddce0-test_130.txt index a3e3d08..9508db8 100644 --- a/data/labels/aut/b99ddce0-test_130.txt +++ b/data/labels/aut/b99ddce0-test_130.txt @@ -1 +1,5 @@ -0 0.47170019149780273 0.46518373489379883 0.07083358615636826 0.2886744439601898 +41 0.5073683261871338 0.7413761615753174 0.23081880807876587 0.5018818378448486 +66 0.8785611987113953 0.6182729005813599 0.2415771484375 0.6008212566375732 +39 0.46806642413139343 0.4267922639846802 0.059397317469120026 0.20679564774036407 +75 0.2924177050590515 0.3330554664134979 0.325281023979187 0.663470447063446 +41 0.2923850119113922 0.3357616066932678 0.3211429715156555 0.665602445602417 diff --git a/data/labels/aut/bb15ed26-test_110.txt b/data/labels/aut/bb15ed26-test_110.txt index de5e8b2..4881428 100644 --- a/data/labels/aut/bb15ed26-test_110.txt +++ b/data/labels/aut/bb15ed26-test_110.txt @@ -1 +1,5 @@ -0 0.558928906917572 0.4562530517578125 0.06115283817052841 0.2527773976325989 +41 0.4025701582431793 0.3041629493236542 0.2520607113838196 0.6012737154960632 +41 0.5779143571853638 0.7180625200271606 0.1843167245388031 0.4548136293888092 +66 0.9020647406578064 0.6791548132896423 0.1951572448015213 0.49554306268692017 +65 0.27958887815475464 0.9193099737167358 0.1769428551197052 0.16138000786304474 +39 0.6496475338935852 0.30608123540878296 0.17430464923381805 0.6093853712081909 diff --git a/data/labels/aut/c2aa44cb-test_80.txt b/data/labels/aut/c2aa44cb-test_80.txt index c611345..dad52cb 100644 --- a/data/labels/aut/c2aa44cb-test_80.txt +++ b/data/labels/aut/c2aa44cb-test_80.txt @@ -1 +1,5 @@ -0 0.6931028366088867 0.46893933415412903 0.055806733667850494 0.2130880504846573 +41 0.7239271998405457 0.6868422031402588 0.1673082411289215 0.4081767201423645 +65 0.9475198984146118 0.6036545038223267 0.10397186130285263 0.4299028217792511 +39 0.5200294256210327 0.31427666544914246 0.23782959580421448 0.6235197186470032 +75 0.5196282863616943 0.3139869272708893 0.23740564286708832 0.626532256603241 +67 0.4804510772228241 0.9203866124153137 0.13990208506584167 0.15822109580039978 diff --git a/data/labels/aut/c7774575-test_50.txt b/data/labels/aut/c7774575-test_50.txt index 84aa9da..fdc96d6 100644 --- a/data/labels/aut/c7774575-test_50.txt +++ b/data/labels/aut/c7774575-test_50.txt @@ -1 +1,4 @@ -0 0.46084585785865784 0.3432014584541321 0.09701843559741974 0.198017880320549 +66 0.8266304731369019 0.20892952382564545 0.3460872769355774 0.4080584943294525 +41 0.547095537185669 0.5047687888145447 0.24446941912174225 0.43043774366378784 +73 0.47169989347457886 0.17138226330280304 0.3208259344100952 0.3397272527217865 +43 0.41639193892478943 0.9306352138519287 0.08508815616369247 0.13757216930389404 diff --git a/data/labels/aut/d6032bbd-test_70.txt b/data/labels/aut/d6032bbd-test_70.txt index 58b06e6..fdaf9fb 100644 --- a/data/labels/aut/d6032bbd-test_70.txt +++ b/data/labels/aut/d6032bbd-test_70.txt @@ -1 +1,6 @@ -0 0.6320920586585999 0.33943668007850647 0.07225856930017471 0.22301295399665833 +41 0.444489449262619 0.26370611786842346 0.2797574996948242 0.5261057615280151 +41 0.6685810089111328 0.5536766052246094 0.182246595621109 0.40671131014823914 +43 0.42987874150276184 0.8771693706512451 0.15952062606811523 0.24302096664905548 +66 0.9168145656585693 0.39428022503852844 0.1657094955444336 0.47677600383758545 +63 0.2034837305545807 0.47341403365135193 0.40639734268188477 0.9309749007225037 +65 0.9168401956558228 0.39420291781425476 0.16524048149585724 0.4775548279285431 diff --git a/data/labels/aut/f8621c43-test_90.txt b/data/labels/aut/f8621c43-test_90.txt index 4a423e7..bd2ac54 100644 --- a/data/labels/aut/f8621c43-test_90.txt +++ b/data/labels/aut/f8621c43-test_90.txt @@ -1 +1,4 @@ -0 0.6932379007339478 0.47050267457962036 0.053142547607421875 0.2151389867067337 +41 0.7205477356910706 0.7003772258758545 0.16736488044261932 0.40856966376304626 +65 0.9491695165634155 0.650397539138794 0.10056362301111221 0.4320901334285736 +41 0.5244911909103394 0.31001806259155273 0.22488437592983246 0.6199653744697571 +43 0.4532232880592346 0.9155839681625366 0.16217610239982605 0.16883206367492676 diff --git a/data/labels/aut/ff93d629-test_140.txt b/data/labels/aut/ff93d629-test_140.txt index b5e94c2..102d370 100644 --- a/data/labels/aut/ff93d629-test_140.txt +++ b/data/labels/aut/ff93d629-test_140.txt @@ -1 +1,3 @@ -0 0.42775678634643555 0.5280251502990723 0.08043766021728516 0.29130128026008606 +66 0.858312726020813 0.5503764748573303 0.2823540270328522 0.6806249022483826 +41 0.48514097929000854 0.763572096824646 0.25790688395500183 0.458000510931015 +41 0.23023129999637604 0.38117530941963196 0.3835048973560333 0.7605958580970764 diff --git a/runs/detect/predict58/5.avi b/runs/detect/predict58/5.avi new file mode 100644 index 0000000..768939b Binary files /dev/null and b/runs/detect/predict58/5.avi differ diff --git a/src/__pycache__/video.cpython-313.pyc b/src/__pycache__/video.cpython-313.pyc new file mode 100644 index 0000000..2113b56 Binary files /dev/null and b/src/__pycache__/video.cpython-313.pyc differ diff --git a/src/aa.py b/src/aa.py new file mode 100644 index 0000000..a7e5f20 --- /dev/null +++ b/src/aa.py @@ -0,0 +1,40 @@ +from ultralytics import YOLO +import cv2 +import numpy as np +from video import video_to_pic +import os +from PIL import Image + +label = input("请输入标签:") + +# model = YOLO("yolov8n.pt") +model = YOLO(r"C:/workspace/le-yolo/runs/detect/train42/weights/best.pt") +video_path = 'C:/workspace/le-yolo/res/3.mp4' +video_to_pic(video_path) +file_path = 'C:/workspace/le-yolo/data/images/test/' +for filename in os.listdir(file_path): + img = cv2.imread(filename) + results = model(img) + # img_path = '../data/images/train/3fb0f9ac-t2_0.jpg' + # img = cv2.imread(img_path) + # results = model(img) + + detections = results[0].boxes + boxes = detections.xyxy.cpu().numpy() + x1_min = int(np.min(boxes[:, 0])) + y1_min = int(np.min(boxes[:, 1])) + x2_max = int(np.max(boxes[:, 2])) + y2_max = int(np.max(boxes[:, 3])) + whole_image_box = np.array([[x1_min, y1_min, x2_max, y2_max]]) + + # 可视化 + original_boxes = results[0].boxes.xyxy.tolist() + new_box = whole_image_box.tolist() + combined_boxes = original_boxes + new_box + combined_boxes = np.array(combined_boxes) + + annotated_image = results[0].plot() + cv2.imshow(label, annotated_image) + cv2.waitKey(0) + cv2.destroyAllWindows() + diff --git a/src/labels.py b/src/labels.py index 76c34e4..05d20d7 100644 --- a/src/labels.py +++ b/src/labels.py @@ -1,6 +1,7 @@ import torch from ultralytics import YOLO import os +from video import video_to_pic class Yolov8Detect(): def __init__(self, weights): @@ -35,8 +36,12 @@ def txt_construct(save_path, label_text): txt_file.write('\n') if __name__ == '__main__': - model_path = r'C:\workspace\le-yolo\runs\detect\train40\weights\best.pt' + # model_path = r'C:\workspace\le-yolo\runs\detect\train40\weights\best.pt' + model_path = r'C:\workspace\le-yolo\src\yolov8n.pt' model = Yolov8Detect(model_path) + video_path = 'C:/workspace/le-yolo/res/6.mp4' + video_to_pic(video_path) + model.inferences(video_path) import glob image_path = glob.glob('../data/images/test/*.jpg') for img_path in image_path[:]: diff --git a/src/pic.py b/src/pic.py index ae33209..fc745e5 100644 --- a/src/pic.py +++ b/src/pic.py @@ -1,6 +1,7 @@ from ultralytics import YOLO import cv2 import os +# model = YOLO("yolov8n.pt") model = YOLO(r"C:\workspace\le-yolo\runs\detect\train40\weights\best.pt") target_class = 0 cap = cv2.VideoCapture('../res/5.mp4') diff --git a/src/train.py b/src/train.py index 921eb78..b58fd84 100644 --- a/src/train.py +++ b/src/train.py @@ -5,7 +5,7 @@ model = YOLO("yolov8n.pt") # model = YOLO(r"C:\workspace\le-yolo\runs\detect\train40\weights\last.pt") model.train(data="data.yaml", epochs=100, batch=8, device=0, imgsz=640, augment = True) # model.train(data="data.yaml", epochs=100, batch=8, device='cpu', imgsz=640, augment = True, lr = 0.001,wight_decay = 0.0005 ) -model.val() +# model.val() print('训练完成') end_time = time.time() run_time = end_time - start_time diff --git a/src/video.py b/src/video.py index 582fe78..fd560fc 100644 --- a/src/video.py +++ b/src/video.py @@ -1,17 +1,20 @@ import cv2 -videopath = 'C:/workspace/le-yolo/res/6.mp4' -video = cv2.VideoCapture(videopath) -num = 0 -if video.isOpened(): - ret, frame = video.read() -else: - ret = False -timeF = 10 -filepath = 'C:/pic/test_' -while ret: - ret, frame = video.read() - if num % timeF == 0: - cv2.imwrite(filepath + str(num) + '.jpg', frame) - num = num + 1 - cv2.waitKey(1) -video.release() \ No newline at end of file +def video_to_pic(vide_opath): + # vide_opath = 'C:/workspace/le-yolo/res/6.mp4' + video = cv2.VideoCapture(vide_opath) + num = 0 + if video.isOpened(): + ret, frame = video.read() + else: + ret = False + timeF = 10 + filepath = 'C:/pic/test_' + while ret: + ret, frame = video.read() + if num % timeF == 0: + cv2.imwrite(filepath + str(num) + '.jpg', frame) + num = num + 1 + cv2.waitKey(1) + video.release() + +video_to_pic('C:/workspace/le-yolo/res/6.mp4') \ No newline at end of file