v2
1
.gitignore
vendored
@ -155,3 +155,4 @@ node_modules/
|
||||
/test/yolov7-tracker/runs
|
||||
/test/yolov7-tracker/wandb
|
||||
VoTT-v2-none.zip
|
||||
VoTT-v2-done.zip
|
||||
|
96
yolov7-setup/v2/compute_yolov3_anchors_v2.py
Normal file
@ -0,0 +1,96 @@
|
||||
import json
|
||||
import os, sys
|
||||
import math
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import seaborn as sns; sns.set() # for plot styling
|
||||
from PIL import Image
|
||||
|
||||
imgsize = int(input("Image size for train and run? "))
|
||||
print("=> imgsize =",imgsize)
|
||||
# imgsize = 256
|
||||
|
||||
BBDlabeldict = {"runner":0}
|
||||
|
||||
datasetpath = '/Users/noham/Documents/GitHub/Stage-2024/yolov7-setup/v2/datasetv2/'
|
||||
images_path = datasetpath+"images"
|
||||
labels_path = datasetpath+"labels"
|
||||
|
||||
filenames = sorted(os.listdir(images_path))
|
||||
print("Nb d'images =",len(filenames))
|
||||
w,h = [] , []
|
||||
for i,file in enumerate(filenames):
|
||||
#print(file)
|
||||
try:
|
||||
# if True:
|
||||
im = Image.open(images_path+"/"+file)
|
||||
img_width = im.width
|
||||
img_height = im.height
|
||||
#print(img_width,img_height)
|
||||
fo = open(images_path.replace("images","labels")+"/"+file.replace("jpg","txt"), "r+")
|
||||
lines = fo.readlines()
|
||||
for line in lines:
|
||||
a = np.array(line.split(" ")).astype(float)
|
||||
w.append(a[3]*img_width)
|
||||
h.append(a[4]*img_height)
|
||||
if (a[3]*img_height<0.001) or (a[4]*img_height<0.001):
|
||||
print("!! ATTENTION : boite trop petite dans le fichier ",file, "=> il faut vérifier et supprimer la ligne dans le fichier label au format txt !!")
|
||||
except:
|
||||
pass
|
||||
w=np.asarray(w)#+0.001*(np.random.random((len(w),)) - 0.5)
|
||||
h=np.asarray(h)#+0.001*(np.random.random((len(w),)) - 0.5)
|
||||
print("h => min =",h.min()," max =",h.max())
|
||||
print("w => min =",w.min()," max =",h.max())
|
||||
print("Nb objets entourés =",len(h))
|
||||
|
||||
x=[w,h]
|
||||
x=np.asarray(x)
|
||||
x=x.transpose()
|
||||
########################################## K- Means
|
||||
##########################################
|
||||
|
||||
from sklearn.cluster import KMeans
|
||||
kmeans3 = KMeans(n_clusters=9)
|
||||
kmeans3.fit(x)
|
||||
y_kmeans3 = kmeans3.predict(x)
|
||||
|
||||
##########################################
|
||||
centers3 = kmeans3.cluster_centers_
|
||||
|
||||
yolo_anchor_average=[]
|
||||
for ind in range (9):
|
||||
yolo_anchor_average.append(np.mean(x[y_kmeans3==ind],axis=0))
|
||||
|
||||
yolo_anchor_average=np.array(yolo_anchor_average)
|
||||
|
||||
plt.scatter(x[:, 0], x[:, 1], c=y_kmeans3, s=2, cmap='viridis')
|
||||
plt.scatter(yolo_anchor_average[:, 0], yolo_anchor_average[:, 1], c='red', s=50)
|
||||
yoloV3anchors = yolo_anchor_average
|
||||
yoloV3anchors[:, 0] =yolo_anchor_average[:, 0] /1920 *imgsize
|
||||
yoloV3anchors[:, 1] =yolo_anchor_average[:, 1] /1056 *imgsize
|
||||
yoloV3anchors = np.rint(yoloV3anchors)
|
||||
fig, ax = plt.subplots()
|
||||
for ind in range(9):
|
||||
rectangle= plt.Rectangle((0.5*imgsize-yoloV3anchors[ind,0]/2,0.5*imgsize-yoloV3anchors[ind,1]/2), yoloV3anchors[ind,0],yoloV3anchors[ind,1] , fc='b',edgecolor='b',fill = None)
|
||||
ax.add_patch(rectangle)
|
||||
ax.set_aspect(1.0)
|
||||
plt.axis([0,imgsize,0,imgsize])
|
||||
plt.savefig(datasetpath+"boites.png",dpi=150)
|
||||
plt.show()
|
||||
|
||||
yoloV3anchors.sort(axis=0)
|
||||
print("Your custom anchor boxes are {}".format(yoloV3anchors))
|
||||
|
||||
F = open(datasetpath+"YOLOV_BDD_Anchors_"+str(imgsize)+".txt", "w")
|
||||
F.write("{}".format(yoloV3anchors))
|
||||
F.close()
|
||||
|
||||
print("Anchors box for yaml file :")
|
||||
s_anchors = yoloV3anchors[yoloV3anchors[:, 0].argsort()]
|
||||
anchor_lists = [s_anchors[i:i+3].tolist() for i in range(0, len(s_anchors), 3)]
|
||||
# anchor_lists = [[[14.0, 37.0], [15.0, 48.0], [19.0, 53.0]], [[21.0, 70.0], [24.0, 88.0], [31.0, 112.0]], [[34.0, 136.0], [35.0, 155.0], [76.0, 161.0]]]
|
||||
p = ['] # P3/8', '] # P4/16', '] # P5/32']
|
||||
out = "anchors:"
|
||||
for l in anchor_lists:
|
||||
out += '\n' + " - [" + ", ".join([f"{int(i[0])},{int(i[1])}" for i in l]) + p[anchor_lists.index(l)]
|
||||
print(out)
|
9
yolov7-setup/v2/datasetv2/YOLOV_BDD_Anchors_720.txt
Normal file
@ -0,0 +1,9 @@
|
||||
[[ 23. 58.]
|
||||
[ 27. 104.]
|
||||
[ 38. 106.]
|
||||
[ 46. 146.]
|
||||
[ 47. 156.]
|
||||
[ 68. 192.]
|
||||
[ 68. 232.]
|
||||
[134. 273.]
|
||||
[204. 498.]]
|
BIN
yolov7-setup/v2/datasetv2/boites.png
Normal file
After Width: | Height: | Size: 21 KiB |
4
yolov7-setup/v2/datasetv2/dataset.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
train: data/datasetv2/liste_images.txt
|
||||
val: data/datasetv2/liste_images.txt
|
||||
nc: 1
|
||||
names: ['runner']
|
BIN
yolov7-setup/v2/datasetv2/images/image_000000000000.jpg
Normal file
After Width: | Height: | Size: 812 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000001.jpg
Normal file
After Width: | Height: | Size: 820 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000002.jpg
Normal file
After Width: | Height: | Size: 816 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000003.jpg
Normal file
After Width: | Height: | Size: 814 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000004.jpg
Normal file
After Width: | Height: | Size: 840 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000005.jpg
Normal file
After Width: | Height: | Size: 864 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000006.jpg
Normal file
After Width: | Height: | Size: 844 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000007.jpg
Normal file
After Width: | Height: | Size: 860 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000008.jpg
Normal file
After Width: | Height: | Size: 838 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000009.jpg
Normal file
After Width: | Height: | Size: 877 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000010.jpg
Normal file
After Width: | Height: | Size: 833 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000011.jpg
Normal file
After Width: | Height: | Size: 856 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000012.jpg
Normal file
After Width: | Height: | Size: 853 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000013.jpg
Normal file
After Width: | Height: | Size: 878 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000014.jpg
Normal file
After Width: | Height: | Size: 890 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000015.jpg
Normal file
After Width: | Height: | Size: 919 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000016.jpg
Normal file
After Width: | Height: | Size: 937 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000017.jpg
Normal file
After Width: | Height: | Size: 941 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000018.jpg
Normal file
After Width: | Height: | Size: 964 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000019.jpg
Normal file
After Width: | Height: | Size: 980 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000020.jpg
Normal file
After Width: | Height: | Size: 1014 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000021.jpg
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000022.jpg
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000023.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000024.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000025.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000026.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000027.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000028.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000029.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000030.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000031.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000032.jpg
Normal file
After Width: | Height: | Size: 849 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000033.jpg
Normal file
After Width: | Height: | Size: 887 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000034.jpg
Normal file
After Width: | Height: | Size: 859 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000035.jpg
Normal file
After Width: | Height: | Size: 965 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000036.jpg
Normal file
After Width: | Height: | Size: 1008 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000037.jpg
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000038.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000039.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000040.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000041.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000042.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000043.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000044.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000045.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000046.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000047.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000048.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000049.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000050.jpg
Normal file
After Width: | Height: | Size: 818 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000051.jpg
Normal file
After Width: | Height: | Size: 895 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000052.jpg
Normal file
After Width: | Height: | Size: 930 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000053.jpg
Normal file
After Width: | Height: | Size: 961 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000054.jpg
Normal file
After Width: | Height: | Size: 977 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000055.jpg
Normal file
After Width: | Height: | Size: 1006 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000056.jpg
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000057.jpg
Normal file
After Width: | Height: | Size: 1.0 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000058.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000059.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000060.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000061.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000062.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000063.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000064.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000065.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000066.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000067.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000068.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000069.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000070.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000071.jpg
Normal file
After Width: | Height: | Size: 852 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000072.jpg
Normal file
After Width: | Height: | Size: 779 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000073.jpg
Normal file
After Width: | Height: | Size: 748 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000074.jpg
Normal file
After Width: | Height: | Size: 787 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000075.jpg
Normal file
After Width: | Height: | Size: 759 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000076.jpg
Normal file
After Width: | Height: | Size: 742 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000077.jpg
Normal file
After Width: | Height: | Size: 724 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000078.jpg
Normal file
After Width: | Height: | Size: 736 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000079.jpg
Normal file
After Width: | Height: | Size: 716 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000080.jpg
Normal file
After Width: | Height: | Size: 706 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000081.jpg
Normal file
After Width: | Height: | Size: 723 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000082.jpg
Normal file
After Width: | Height: | Size: 755 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000083.jpg
Normal file
After Width: | Height: | Size: 777 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000084.jpg
Normal file
After Width: | Height: | Size: 779 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000085.jpg
Normal file
After Width: | Height: | Size: 791 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000086.jpg
Normal file
After Width: | Height: | Size: 792 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000087.jpg
Normal file
After Width: | Height: | Size: 804 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000088.jpg
Normal file
After Width: | Height: | Size: 814 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000089.jpg
Normal file
After Width: | Height: | Size: 816 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000090.jpg
Normal file
After Width: | Height: | Size: 784 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000091.jpg
Normal file
After Width: | Height: | Size: 773 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000092.jpg
Normal file
After Width: | Height: | Size: 831 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000093.jpg
Normal file
After Width: | Height: | Size: 852 KiB |
BIN
yolov7-setup/v2/datasetv2/images/image_000000000094.jpg
Normal file
After Width: | Height: | Size: 890 KiB |