Skocz do zawartości

Problem z konwersją danych wyjściowych z YOLOv8 na współrzędne


AntekBezak

Pomocna odpowiedź

Witam.

 

Wytrenowałem model sztucznej inteligencji YOLOv8 do segmentacji i chciałbym go użyć w moim kodzie w Pythonie za pomocą biblioteki ultralytics. Używam do tego następującego kodu:

from ultralytics import YOLO

model = YOLO('/content/drive/MyDrive/AI/AI_v0.pt')
results = model("/content/drive/MyDrive/AI/2.png")
print('\n\n\n')
print(results)

Zmienna "results" zawiera następujące dane (współrzędne punktów):

[Ultralytics YOLO <class 'ultralytics.yolo.engine.results.Boxes'> masks
type: <class 'torch.Tensor'>
shape: torch.Size([12, 6])
dtype: torch.float32
 + tensor([[1.73000e+02, 6.05000e+02, 2.35000e+02, 8.27000e+02, 9.72734e-01, 0.00000e+00],
        [1.18000e+03, 1.78000e+02, 1.19800e+03, 2.24000e+02, 7.43283e-01, 0.00000e+00],
        [2.00000e+00, 2.46000e+02, 1.93000e+02, 6.27000e+02, 7.19931e-01, 0.00000e+00],
        [6.01000e+02, 2.00000e+02, 7.18000e+02, 2.67000e+02, 6.99744e-01, 0.00000e+00],
        [1.74000e+02, 1.75000e+02, 9.99000e+02, 8.91000e+02, 5.84899e-01, 0.00000e+00],
        [7.91000e+02, 5.43000e+02, 9.02000e+02, 6.28000e+02, 5.37030e-01, 0.00000e+00],
        [2.09000e+02, 8.70000e+01, 2.51000e+02, 1.88000e+02, 5.12727e-01, 0.00000e+00],
        [9.90000e+01, 8.74000e+02, 1.09000e+02, 8.94000e+02, 4.21027e-01, 0.00000e+00],
        [2.00000e+00, 2.42000e+02, 1.93000e+02, 9.27000e+02, 3.55947e-01, 0.00000e+00],
        [9.20000e+02, 6.18000e+02, 1.01900e+03, 7.11000e+02, 3.37368e-01, 0.00000e+00],
        [1.50000e+02, 6.05000e+02, 2.35000e+02, 8.37000e+02, 2.99827e-01, 0.00000e+00],
        [9.21000e+02, 0.00000e+00, 9.97000e+02, 1.84000e+02, 2.63442e-01, 0.00000e+00]], device='cuda:0')Ultralytics YOLO <class 'ultralytics.yolo.engine.results.Masks'> masks
type: <class 'torch.Tensor'>
shape: torch.Size([12, 480, 640])
dtype: torch.float32
 + tensor([[[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]],

        [[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]],

        [[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]],

        ...,

        [[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]],

        [[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]],

        [[0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         ...,
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.],
         [0., 0., 0.,  ..., 0., 0., 0.]]], device='cuda:0')]

Chciałbym wyodrębnić z nich współrzędne i zapisać do listy, ale próbowałem już wielu sposobów i żaden nie działa.

 

Edit: pomoże mi też informacja jak można przekonwertować pliki *.pt na *.weights.

 

Z góry dziękuję za pomoc, pozdrawiam.

Edytowano przez AntekBezak
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.