TruthLens commited on
Commit
dc4f473
·
verified ·
1 Parent(s): 01c9857

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -29
app.py CHANGED
@@ -1,36 +1,46 @@
1
- import streamlit as st
2
  from transformers import pipeline
3
- from PIL import Image
 
4
  import requests
5
- from io import BytesIO
 
 
 
 
 
 
6
 
7
- # Title and description
8
- st.title("Deepfake Image & Video Detector")
9
- st.write("Upload an image or enter a video link to check for AI manipulations.")
 
 
 
 
10
 
11
- # Image Detection Function
12
- def detect_image(image_file):
13
- model = pipeline("image-classification", model="microsoft/resnet-50")
14
- image = Image.open(image_file)
15
- results = model(image)
16
- return results
17
 
18
- # Video Detection Function (Placeholder)
19
- def detect_video(video_link):
20
- st.write("Video detection coming soon.")
 
 
 
 
 
 
21
 
22
- # Image Upload Section
23
- uploaded_image = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])
24
- if uploaded_image:
25
- st.image(uploaded_image, caption="Uploaded Image", use_container_width=True)
26
- with st.spinner("Analyzing image..."):
27
- image_results = detect_image(uploaded_image)
28
- st.write("### Detection Results:")
29
- for result in image_results:
30
- st.write(f"{result['label']}: {result['score']*100:.2f}%")
31
 
32
- # Video Link Section
33
- video_link = st.text_input("Enter a video link")
34
- if video_link:
35
- st.write(f"Analyzing video at: {video_link}")
36
- detect_video(video_link)
 
 
1
  from transformers import pipeline
2
+ import streamlit as st
3
+ import torch
4
  import requests
5
+ from PIL import Image
6
+ from pytube import YouTube
7
+ import tempfile
8
+
9
+ def detect_image(image):
10
+ model = pipeline("image-classification", model="google/vit-base-patch16-224")
11
+ return model(image)
12
 
13
+ def detect_video(video_url):
14
+ yt = YouTube(video_url)
15
+ stream = yt.streams.filter(file_extension='mp4').first()
16
+ with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as tmp_file:
17
+ stream.download(filename=tmp_file.name)
18
+ video_path = tmp_file.name
19
+ return video_path
20
 
21
+ def main():
22
+ st.title("VerifiAI - Image & Video Authenticity Checker")
23
+ option = st.sidebar.selectbox("Select Option", ["Image Detection", "Video Detection"])
 
 
 
24
 
25
+ if option == "Image Detection":
26
+ uploaded_image = st.file_uploader("Upload an Image", type=["jpg", "jpeg", "png"])
27
+ if uploaded_image:
28
+ image = Image.open(uploaded_image)
29
+ st.image(image, caption="Uploaded Image", use_container_width=True)
30
+ with st.spinner("Analyzing Image..."):
31
+ results = detect_image(image)
32
+ for result in results:
33
+ st.write(f"{result['label']}: {result['score']*100:.2f}%")
34
 
35
+ elif option == "Video Detection":
36
+ video_url = st.text_input("Enter YouTube Video Link")
37
+ if video_url:
38
+ st.video(video_url)
39
+ with st.spinner("Analyzing Video..."):
40
+ video_path = detect_video(video_url)
41
+ st.success("Video downloaded for analysis. Video detection model coming soon.")
 
 
42
 
43
+ if __name__ == "__main__":
44
+ if not torch.cuda.is_available():
45
+ st.warning("CUDA not available. Running on CPU might be slower.")
46
+ main()