Spaces:
Running
Running
| import cv2 | |
| import numpy as np | |
| from tensorflow.keras.models import load_model | |
| import os | |
| from FeatureExtraction import FeatureExtractor | |
| model = load_model('orignal_model_b32.h5') | |
| model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) | |
| # Initialize the feature extractor | |
| feature_extractor = FeatureExtractor(img_shape=(224, 224), channels=3) | |
| def predict_fight(frames_buffer): | |
| # Extract feature | |
| features_sequence = feature_extractor.extract_feature(frames_buffer) | |
| # Transpose the feature sequence to match the shape | |
| features_sequence = np.transpose(features_sequence, (1, 0)) # From (2048, 40) to (40, 2048) | |
| features_sequence = np.expand_dims(features_sequence, axis=0) # Add batch dimension (1, 40, 2048) | |
| # Predict | |
| prediction = model.predict(features_sequence) | |
| return prediction > 0.8 # Returning a boolean for fight detection | |