Skip to content

Commit

Permalink
Merge pull request #6 from grupacosmo/data_preprocessing
Browse files Browse the repository at this point in the history
Data preprocessing
  • Loading branch information
Kkoonnrr authored Apr 21, 2024
2 parents 625f010 + 1b0a465 commit ddb5358
Show file tree
Hide file tree
Showing 10,318 changed files with 160 additions and 48 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/data/train/
/data/validation/
/data/test/
/data/dataset/
27 changes: 11 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
Planning:
# CNN aerial car detection

Python project that utilizes camera input to monitor the environment, enabling
the identification and tracking of targeted objects based on the previously trained
CNN model. Any object appearances will be logged, providing additional data.

Recently, AI and detection become more and more popular among countless field of work.
This project was created as a detection module for 4 meters drone that will scan
streets seeking for cars and log their routes.

Goal:
# Usage

Identify each car on the screen and log:
WIP

Every 1 frame:
- Localization
- Date
# Documentation

Every 30 frames (~1 second):
- Photo
- Car color

Problems:
- Real-time detection
- Pursue specific car (Find the same car on different frame)

TODO:
- Find more data (photo and video)
WIP

14 changes: 12 additions & 2 deletions Scripts/data_preprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,21 @@ def augmentation(self):
pic = random.randrange(0, 14)
image_aug = self.augmentation('''image=pic''') #TODO: wsadzić tu obrazy i zobaczymy czy działa xd

def normalize(self):
for img_set in self.data.data:
self.data.data[img_set]['images'] = self.data.data[img_set]['images']/255
def resize(self):
for img_set in self.data.data:
a, b, c, d = (self.data.data[img_set]['images'].shape)
shap = (a,) + self.size + (3,)
resized_imgs = np.ndarray(shape=shap)
for index, img in enumerate(self.data.data[img_set]['images']):
self.data.data[img_set]['images'][index] = cv2.resize(img, self.size)
...
img = cv2.resize(img, dsize=self.size, interpolation=cv2.INTER_CUBIC)
resized_imgs[index] = img
self.data.data[img_set]['images'] = resized_imgs
# a, b, c, d = (self.data.data[img_set]['images'].shape)
# shap = (a,) + self.size
# self.data.data[img_set]['images'] = cv2.resize(self.data.data[img_set]['images'], self.size)

@property
def size(self):
Expand Down
96 changes: 78 additions & 18 deletions Scripts/gather_data.py
Original file line number Diff line number Diff line change
@@ -1,34 +1,40 @@
import os
import pickle
import numpy as np
from PIL import Image
import cv2
from sklearn.model_selection import train_test_split
import shutil


#TODO
# 1. Niech przy tworzeniu obiektu od razu tworzył 3 zmienne z danymi do trenowania, walidacji i testowania
# (więc trzeba dodać 3 plik), najlepiej wrzuć wszystkie dane do 1 pliku i potem to podziel na 3
# a w klasie zrób może liste list data[train[...], validation[...], test[...]]
#

class Data():
def __init__(self):
self.paths = {
'train': './data/train',
'validation': './data/validation',
#'test': '../data'
'train': 'data/train',
'validation': 'data/validation',
'test': 'data/test'
}
self.data = {'train': [], 'validation': []} # 'test': []
self.data = {'train': [], 'validation': [], 'test': []}
self.prepare_and_load_data()

def prepare_and_load_data(self):
if not os.listdir('./data/pickle'):
# if not os.listdir('./data/pickle'):
# for set_name in self.paths:
# if self.paths[set_name]:
# self.data[set_name] = self.prepare_data(self.paths[set_name])
# self.save_data(self.data[set_name], set_name)
# self.data[set_name] = self.load_data(set_name)
# else:
# for set_name in self.paths:
# self.data[set_name] = self.load_data(set_name)
if any(not os.listdir(path) for path in self.paths.values()):
print("weszlo")
all_data = self.prepare_dataset()
self.data['train'], self.data['validation'], self.data['test'] = all_data
for set_name in self.paths:
if self.paths[set_name]:
self.data[set_name] = self.prepare_data(self.paths[set_name])
self.save_data(self.data[set_name], set_name)
self.data[set_name] = self.load_data(set_name)
self.save_data(self.data[set_name], set_name)
self.copy_files_to_folders()
else:
print("nie weszło")
for set_name in self.paths:
self.data[set_name] = self.load_data(set_name)

Expand All @@ -45,12 +51,66 @@ def prepare_data(self, path):
data['labels'].append(label)
return data

def prepare_dataset(self):
base_path = 'data/dataset'
categories = {'cars': 1, 'non_cars': 0}
file_paths = {'images': [], 'labels': []}
data = {'images': [], 'labels': []}

for category, label in categories.items():
category_path = os.path.join(base_path, category).replace("\\", "/")
for file in os.listdir(category_path):
file_path = os.path.join(category_path, file).replace("\\", "/")
image = cv2.imread(file_path)
image = cv2.resize(image, (100, 100))
image = np.array(image)
data['images'].append(image)
data['labels'].append(label)
file_paths['images'].append(file_path)
file_paths['labels'].append(label)

images = np.array(data['images'])
labels = np.array(data['labels'])

train_images, temp_images, train_labels, temp_labels, train_indices, temp_indices = train_test_split(
images, labels, range(len(labels)), test_size=0.2, stratify=labels, random_state=42, shuffle=True)
test_images, val_images, test_labels, val_labels, test_indices, val_indices = train_test_split(
temp_images, temp_labels, temp_indices, test_size=0.5, stratify=temp_labels, random_state=42, shuffle=True)

self.indices = {
'train': train_indices,
'validation': val_indices,
'test': test_indices
}
self.file_paths = file_paths

train_data = {'images': train_images, 'labels': train_labels}
val_data = {'images': val_images, 'labels': val_labels}
test_data = {'images': test_images, 'labels': test_labels}

return train_data, val_data, test_data

def copy_files_to_folders(self):
for set_name in ['train', 'validation', 'test']:
target_folder = self.paths[set_name]
indices = self.indices[set_name]
for idx in indices:
label = 'cars' if self.file_paths['labels'][idx] == 1 else 'non_cars'
src_file_path = self.file_paths['images'][idx]
dest_folder = os.path.join(target_folder, label)
if not os.path.exists(dest_folder):
os.makedirs(dest_folder)
shutil.copy(src_file_path, dest_folder)

def save_data(self, data, file_name):
file_path = f'./data/pickle/{file_name}.pkl'
file_path = f'data/pickle/{file_name}.pkl'
with open(file_path, 'wb') as file:
pickle.dump(data, file)

def load_data(self, filename):
file_path = f'./data/pickle/{filename}.pkl'
file_path = f'data/pickle/{filename}.pkl'
with open(file_path, 'rb') as file:
return pickle.load(file)

if __name__ == '__main__':
data = Data()
61 changes: 49 additions & 12 deletions Scripts/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,68 @@
from keras.models import Sequential
from keras.layers import Dense, Conv2D, MaxPool2D, Flatten

from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, BatchNormalization
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.initializers import RandomNormal
from keras.regularizers import l2


#TODO
# 1. Make some hyperparameters tuning
class Model:
def __init__(self, prepared_data:Preprocessing):
self.prepared_data = prepared_data
self.size = prepared_data.size
self.size = list(prepared_data.size)
self.model = Sequential()

def build_cnn_model(self):
self.model = Sequential()
self.model.add(Conv2D(filters=32, kernel_size=(4, 4), input_shape=(self.size, self.size, 3), activation='relu'))
self.model.add(MaxPool2D(pool_size=(2, 2)))
self.model.add(Conv2D(filters=32, kernel_size=(4, 4), input_shape=(self.size, self.size, 3), activation='relu'))
self.model.add(MaxPool2D(pool_size=(2, 2)))
# self.model = Sequential()
# self.model.add(Conv2D(filters=32, kernel_size=(4, 4), input_shape=(self.size[0], self.size[1], 3), activation='relu'))
# self.model.add(MaxPool2D(pool_size=(2, 2)))
# self.model.add(Conv2D(filters=32, kernel_size=(4, 4), input_shape=(self.size[0], self.size[1], 3), activation='relu'))
# self.model.add(MaxPool2D(pool_size=(2, 2)))
# self.model.add(Flatten())
# self.model.add(Dense(256, activation="relu"))
# self.model.add(Dense(1, activation='softmax'))
# self.model.compile(loss='binary_crossentropy', metrics=['accuracy'], optimizer='adam')



self.model.add(Conv2D(32, (5, 5), kernel_initializer=RandomNormal(mean=0.0, stddev=0.05, seed=None),
kernel_regularizer=l2(0.001), input_shape=(self.size[0], self.size[1], 3)))
self.model.add(Activation('relu'))
self.model.add(MaxPooling2D(pool_size=(2, 2)))

self.model.add(Conv2D(32, (5, 5), kernel_initializer=RandomNormal(mean=0.0, stddev=0.05, seed=None),
kernel_regularizer=l2(0.001), input_shape=(self.size[0], self.size[1], 3)))
self.model.add(Activation('relu'))
self.model.add(MaxPooling2D(pool_size=(2, 2)))

# self.model.add(Conv2D(64, (5, 5), kernel_initializer=RandomNormal(mean=0.0, stddev=0.05, seed=None),
# kernel_regularizer=l2(0.001), input_shape=(self.size[0], self.size[1], 3)))
# self.model.add(Activation('relu'))
# self.model.add(MaxPooling2D(pool_size=(2, 2)))

self.model.add(Flatten())
self.model.add(Dense(256, activation="relu"))
self.model.add(Dense(10, activation='softmax'))
self.model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='rmsprop')
self.model.add(Dense(64, kernel_initializer=RandomNormal(mean=0.0, stddev=0.05, seed=None), kernel_regularizer=l2(0.001)))
self.model.add(Activation('relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(1))
self.model.add(Activation('sigmoid'))

self.model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])

print(self.model.summary())
def fit_model(self):
self.model.fit()
self.model.fit(self.prepared_data.data.data['train']['images'],
self.prepared_data.data.data['train']['labels'], epochs=50, batch_size=50)

def validate_model(self):
self.model.evaluate()
self.model.evaluate(self.prepared_data.data.data['validation']['images'],
self.prepared_data.data.data['validation']['labels'])

def save_model(self):
self.model.save("model.h5")
self.model.save("model.keras")
Binary file added data/dataset/cars/cars (1).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (10).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added data/dataset/cars/cars (1000).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1001).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1002).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1003).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added data/dataset/cars/cars (1005).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1008).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added data/dataset/cars/cars (101).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1010).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1011).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1012).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1013).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added data/dataset/cars/cars (1015).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1016).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added data/dataset/cars/cars (1018).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/dataset/cars/cars (1019).jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1021).jpg
Binary file added data/dataset/cars/cars (1022).jpg
Binary file added data/dataset/cars/cars (1023).jpg
Binary file added data/dataset/cars/cars (1024).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1026).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1028).jpg
Binary file added data/dataset/cars/cars (1029).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1030).jpg
Binary file added data/dataset/cars/cars (1031).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1034).jpg
Binary file added data/dataset/cars/cars (1035).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1038).jpg
Binary file added data/dataset/cars/cars (1039).jpg
Binary file added data/dataset/cars/cars (104).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1041).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1043).jpg
Binary file added data/dataset/cars/cars (1044).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1047).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1049).jpg
Binary file added data/dataset/cars/cars (105).jpg
Binary file added data/dataset/cars/cars (1050).jpg
Binary file added data/dataset/cars/cars (1051).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1053).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1055).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1057).jpg
Binary file added data/dataset/cars/cars (1058).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1060).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1062).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1064).jpg
Binary file added data/dataset/cars/cars (1065).jpg
Binary file added data/dataset/cars/cars (1066).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1069).jpg
Binary file added data/dataset/cars/cars (107).jpg
Binary file added data/dataset/cars/cars (1070).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1074).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1078).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (108).jpg
Binary file added data/dataset/cars/cars (1080).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1082).jpg
Binary file added data/dataset/cars/cars (1083).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1085).jpg
Binary file added data/dataset/cars/cars (1086).jpg
Binary file added data/dataset/cars/cars (1087).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (109).jpg
Binary file added data/dataset/cars/cars (1090).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1094).jpg
Binary file added data/dataset/cars/cars (1095).jpg
Binary file added data/dataset/cars/cars (1096).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1098).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1102).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1107).jpg
Binary file added data/dataset/cars/cars (1108).jpg
Binary file added data/dataset/cars/cars (1109).jpg
Binary file added data/dataset/cars/cars (111).jpg
Binary file added data/dataset/cars/cars (1110).jpg
Binary file added data/dataset/cars/cars (1111).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1113).jpg
Binary file added data/dataset/cars/cars (1114).jpg
Binary file added data/dataset/cars/cars (1115).jpg
Binary file added data/dataset/cars/cars (1116).jpg
Binary file added data/dataset/cars/cars (1117).jpg
Binary file added data/dataset/cars/cars (1118).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (112).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1121).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1125).jpg
Binary file added data/dataset/cars/cars (1126).jpg
Binary file added data/dataset/cars/cars (1127).jpg
Binary file added data/dataset/cars/cars (1128).jpg
Binary file added data/dataset/cars/cars (1129).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1130).jpg
Binary file added data/dataset/cars/cars (1131).jpg
Binary file added data/dataset/cars/cars (1132).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1134).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1139).jpg
Binary file added data/dataset/cars/cars (114).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1141).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1144).jpg
Binary file added data/dataset/cars/cars (1145).jpg
Binary file added data/dataset/cars/cars (1146).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1149).jpg
Binary file added data/dataset/cars/cars (115).jpg
Binary file added data/dataset/cars/cars (1150).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1152).jpg
Binary file added data/dataset/cars/cars (1153).jpg
Binary file added data/dataset/cars/cars (1154).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1157).jpg
Binary file added data/dataset/cars/cars (1158).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (116).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1161).jpg
Binary file added data/dataset/cars/cars (1162).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1164).jpg
Binary file added data/dataset/cars/cars (1165).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1168).jpg
Binary file added data/dataset/cars/cars (1169).jpg
Binary file added data/dataset/cars/cars (117).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1175).jpg
Binary file added data/dataset/cars/cars (1176).jpg
Binary file added data/dataset/cars/cars (1177).jpg
Binary file added data/dataset/cars/cars (1178).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1180).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1186).jpg
Binary file added data/dataset/cars/cars (1187).jpg
Binary file added data/dataset/cars/cars (1188).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1190).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1193).jpg
Binary file added data/dataset/cars/cars (1194).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1198).jpg
Binary file added data/dataset/cars/cars (1199).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1202).jpg
Binary file added data/dataset/cars/cars (1203).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1205).jpg
Binary file added data/dataset/cars/cars (1206).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1208).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1210).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1213).jpg
Binary file added data/dataset/cars/cars (1214).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1216).jpg
Binary file added data/dataset/cars/cars (1217).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1219).jpg
Binary file added data/dataset/cars/cars (122).jpg
Binary file added data/dataset/cars/cars (1220).jpg
Binary file added data/dataset/cars/cars (1221).jpg
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1224).jpg
Binary file added data/dataset/cars/cars (1225).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1227).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1229).jpg
Binary file added data/dataset/cars/cars (123).jpg
Binary file added data/dataset/cars/cars (1230).jpg
Binary file added data/dataset/cars/cars (1231).jpg
Binary file added data/dataset/cars/cars (1232).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1234).jpg
Binary file added data/dataset/cars/cars (1235).jpg
Binary file added data/dataset/cars/cars (1236).jpg
Binary file added data/dataset/cars/cars (1237).jpg
Binary file added data/dataset/cars/cars (1238).jpg
Binary file added data/dataset/cars/cars (1239).jpg
Binary file added data/dataset/cars/cars (124).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (1243).jpg
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (125).jpg
Binary file added data/dataset/cars/cars (1250).jpg
Binary file added data/dataset/cars/cars (1251).jpg
Binary file added data/dataset/cars/cars (1252).jpg
File renamed without changes
Binary file added data/dataset/cars/cars (1254).jpg
Binary file added data/dataset/cars/cars (1255).jpg
Binary file added data/dataset/cars/cars (1256).jpg
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added data/dataset/cars/cars (126).jpg
Binary file added data/dataset/cars/cars (1260).jpg
Binary file added data/dataset/cars/cars (1261).jpg
Binary file added data/dataset/cars/cars (1262).jpg
File renamed without changes
Loading

0 comments on commit ddb5358

Please sign in to comment.