asad231 commited on
Commit
5242e79
·
verified ·
1 Parent(s): 2405a2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -178,22 +178,32 @@ uploaded_video = st.file_uploader("Upload a Video", type=["mp4", "avi", "mov"])
178
  def detect_deepfake_video(video_path):
179
  cap = cv2.VideoCapture(video_path)
180
  frame_scores = []
 
181
 
182
  while cap.isOpened():
183
  ret, frame = cap.read()
184
  if not ret:
185
  break
186
 
187
- frame_path = "temp_frame.jpg"
188
- cv2.imwrite(frame_path, frame)
189
- result = detect_deepfake_image(frame_path)
190
- frame_scores.append(result["score"])
191
- os.remove(frame_path)
 
 
 
192
 
193
  cap.release()
 
 
 
 
194
  avg_score = np.mean(frame_scores)
 
195
  final_label = "FAKE" if avg_score > 0.5 else "REAL"
196
- return {"label": final_label, "score": round(float(avg_score), 2)}
 
197
 
198
  if uploaded_video is not None:
199
  st.video(uploaded_video)
@@ -202,12 +212,14 @@ if uploaded_video is not None:
202
  f.write(uploaded_video.read())
203
 
204
  if st.button("Analyze Video"):
205
- st.write("🔍 Processing...")
206
  result = detect_deepfake_video(temp_file.name)
207
 
208
  if result["label"] == "FAKE":
209
- st.warning(f"⚠️ Result: This video contains Deepfake elements. (Confidence: {result['score']:.2f})")
 
 
210
  else:
211
- st.success(f" Result: This video is Real. (Confidence: {1 - result['score']:.2f})")
212
 
213
  st.markdown("🔹 **Developed for Fake News & Deepfake Detection Hackathon**")
 
178
  def detect_deepfake_video(video_path):
179
  cap = cv2.VideoCapture(video_path)
180
  frame_scores = []
181
+ frame_count = 0
182
 
183
  while cap.isOpened():
184
  ret, frame = cap.read()
185
  if not ret:
186
  break
187
 
188
+ if frame_count % 10 == 0: # ہر 10ویں فریم کا تجزیہ کریں
189
+ frame_path = "temp_frame.jpg"
190
+ cv2.imwrite(frame_path, frame)
191
+ result = detect_deepfake_image(frame_path)
192
+ frame_scores.append(result["score"])
193
+ os.remove(frame_path)
194
+
195
+ frame_count += 1
196
 
197
  cap.release()
198
+
199
+ if not frame_scores:
200
+ return {"label": "UNKNOWN", "score": 0.0} # اگر کوئی فریم پراسیس نہ ہو سکے
201
+
202
  avg_score = np.mean(frame_scores)
203
+ confidence = round(float(avg_score), 2)
204
  final_label = "FAKE" if avg_score > 0.5 else "REAL"
205
+
206
+ return {"label": final_label, "score": confidence}
207
 
208
  if uploaded_video is not None:
209
  st.video(uploaded_video)
 
212
  f.write(uploaded_video.read())
213
 
214
  if st.button("Analyze Video"):
215
+ st.write("🔍 Processing... Please wait.")
216
  result = detect_deepfake_video(temp_file.name)
217
 
218
  if result["label"] == "FAKE":
219
+ st.error(f"⚠️ Deepfake Detected! This video appears to be FAKE. (Confidence: {result['score']:.2f})")
220
+ elif result["label"] == "REAL":
221
+ st.success(f"✅ This video appears to be REAL. (Confidence: {1 - result['score']:.2f})")
222
  else:
223
+ st.warning("⚠️ Unable to analyze the video. Please try a different file.")
224
 
225
  st.markdown("🔹 **Developed for Fake News & Deepfake Detection Hackathon**")