Skip to content

Instantly share code, notes, and snippets.

View pranjalAI's full-sized avatar

Pranjal Saxena pranjalAI

View GitHub Profile
!sed -i 's/batch=1/batch=64/' cfg/yolov4.cfg
!sed -i 's/subdivisions=1/subdivisions=16/' cfg/yolov4.cfg
!sed -i 's/max_batches = 500500/max_batches = 6000/' cfg/yolov4.cfg
!sed -i '968 s@classes=80@classes=1@' cfg/yolov4.cfg
!sed -i '1056 s@classes=80@classes=1@' cfg/yolov4.cfg
!sed -i '1144 s@classes=80@classes=1@' cfg/yolov4.cfg
!sed -i '961 s@filters=255@filters=18@' cfg/yolov4.cfg .
!sed -i '1049 s@filters=255@filters=18@' cfg/yolov4.cfg
!sed -i '1137 s@filters=255@filters=18@' cfg/yolov4.cfg
!git clone https://github.com/AlexeyAB/darknet
# verify CUDA
!/usr/local/cuda/bin/nvcc --version
# change makefile to have GPU and OPENCV enabled
%cd darknet
!sed -i 's/OPENCV=0/OPENCV=1/' Makefile
!sed -i 's/GPU=0/GPU=1/' Makefile
!sed -i 's/CUDNN=0/CUDNN=1/' Makefile
!sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
from google.colab import drive
drive.mount('/content/gdrive')
!ln -s /content/gdrive/My\ Drive/ /mydrive
!ls /mydrive
if __name__ == "__main__":
angels=[45,90,135,180,225,270,315]
for filename in tqdm(os.listdir()):
file =filename.split(".")
if(file[-1]=="jpg"):
image_name=file[0]
image_ext="."+file[1]
else:
continue
for angle in angels:
class yoloRotatebbox:
def __init__(self, filename, image_ext, angle):
assert os.path.isfile(filename + image_ext)
assert os.path.isfile(filename + '.txt')
self.filename = filename
self.image_ext = image_ext
self.angle = angle
# Read image using cv2
# Convert from opencv format to yolo format
# H,W is the image height and width
def cvFormattoYolo(corner, H, W):
bbox_W = corner[3] - corner[1]
bbox_H = corner[4] - corner[2]
center_bbox_x = (corner[1] + corner[3]) / 2
center_bbox_y = (corner[2] + corner[4]) / 2
return corner[0], round(center_bbox_x / W, 6),
round(center_bbox_y / H, 6),
round(bbox_W / W, 6),
# Importing Libraries
import os
import numpy as np
import cv2
import argparse
import time
from tqdm import tqdm
#convert from Yolo_mark to opencv format
def yoloFormattocv(x1, y1, x2, y2, H, W):
bbox_width = x2 * W
test_image=cv2.imread("IMAGE_PATH")
test_image = np.expand_dims(test_image, axis=0)
out=np.argmax(model_loaded.predict(test_image))
Ans=np.where(out==0, "Middle",
(np.where(out==1,"Old",
"Young"))).item()
print(Ans+" age person.")
model=Sequential()
model.add(Conv2D(16,kernel_size=(3,3), activation="relu" ,input_shape=IMAGE_SIZE + [3], padding='same'))
model.add(Conv2D(32, kernel_size=(3,3), activation="relu",padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.30))
model.add(Conv2D(64, kernel_size=(3,3), activation="relu",padding='same'))
#model.add(BatchNormalization())
datagen = ImageDataGenerator(rescale=1.0/255.0)
train_path = 'Your Image Folder Path'
train_batches = datagen.flow_from_directory(train_path, target_size=(200,200), classes=classes_required, batch_size=batch_size_train)