Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	Update app.py
Browse files
    	
        app.py
    CHANGED
    
    | 
         @@ -36,12 +36,16 @@ model_4 = AutoModelForImageClassification.from_pretrained(models[1]).to(device) 
     | 
|
| 36 | 
         
             
            model_5_path = "prithivMLmods/Deep-Fake-Detector-v2-Model"
         
     | 
| 37 | 
         
             
            clf_5 = pipeline("image-classification", model=model_5_path, device=device)
         
     | 
| 38 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 39 | 
         
             
            # Define class names for all models
         
     | 
| 40 | 
         
             
            class_names_1 = ['artificial', 'real']
         
     | 
| 41 | 
         
             
            class_names_2 = ['AI Image', 'Real Image']
         
     | 
| 42 | 
         
             
            labels_3 = ['AI', 'Real']
         
     | 
| 43 | 
         
             
            labels_4 = ['AI', 'Real']
         
     | 
| 44 | 
         
             
            class_names_5 = ['Realism', 'Deepfake']
         
     | 
| 
         | 
|
| 45 | 
         | 
| 46 | 
         
             
            def softmax(vector):
         
     | 
| 47 | 
         
             
                e = np.exp(vector - np.max(vector))  # for numerical stability
         
     | 
| 
         @@ -223,6 +227,30 @@ def predict_image(img, confidence_threshold): 
     | 
|
| 223 | 
         | 
| 224 | 
         
             
                print(result_5output)
         
     | 
| 225 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 226 | 
         | 
| 227 | 
         
             
                # try:
         
     | 
| 228 | 
         
             
                #     result_5output = [5, 'TBA', 0.0, 0.0, 'MAINTENANCE']
         
     | 
| 
         @@ -245,11 +273,12 @@ def predict_image(img, confidence_threshold): 
     | 
|
| 245 | 
         
             
                    "ViT/AI-vs-Real": label_2,
         
     | 
| 246 | 
         
             
                    "Swin/SDXL": label_3,
         
     | 
| 247 | 
         
             
                    "Swin/SDXL-FLUX": label_4,
         
     | 
| 248 | 
         
            -
                    "prithivMLmods": label_5
         
     | 
| 
         | 
|
| 249 | 
         
             
                }
         
     | 
| 250 | 
         
             
                    # Generate HTML content
         
     | 
| 251 | 
         | 
| 252 | 
         
            -
                combined_outputs = [ result_1output, result_2output, result_3output, result_4output, result_5output ]
         
     | 
| 253 | 
         
             
                # html_content = generate_results_html(combined_outputs)
         
     | 
| 254 | 
         | 
| 255 | 
         
             
                return img_pil, combined_outputs
         
     | 
| 
         @@ -488,6 +517,7 @@ def generate_results_html(results): 
     | 
|
| 488 | 
         
             
                                <h4 class="mt-4 text-sm font-semibold tracking-wide">Vits Model</h4>
         
     | 
| 489 | 
         | 
| 490 | 
         
             
                                <div class="text-xs font-mono">Real: {results[4][2]:.4f}, AI: {results[4][3]:.4f}</div>
         
     | 
| 
         | 
|
| 491 | 
         | 
| 492 | 
         
             
                                <a class="mt-2 text-xs tracking-wide">@prithivMLmods / more info</a>
         
     | 
| 493 | 
         
             
                            </div>
         
     | 
| 
         | 
|
| 36 | 
         
             
            model_5_path = "prithivMLmods/Deep-Fake-Detector-v2-Model"
         
     | 
| 37 | 
         
             
            clf_5 = pipeline("image-classification", model=model_5_path, device=device)
         
     | 
| 38 | 
         | 
| 39 | 
         
            +
            model_5b_path = "prithivMLmods/Deepfake-Detection-Exp-02-22"
         
     | 
| 40 | 
         
            +
            clf_5b = pipeline("image-classification", model=model_5b_path, device=device)
         
     | 
| 41 | 
         
            +
             
     | 
| 42 | 
         
             
            # Define class names for all models
         
     | 
| 43 | 
         
             
            class_names_1 = ['artificial', 'real']
         
     | 
| 44 | 
         
             
            class_names_2 = ['AI Image', 'Real Image']
         
     | 
| 45 | 
         
             
            labels_3 = ['AI', 'Real']
         
     | 
| 46 | 
         
             
            labels_4 = ['AI', 'Real']
         
     | 
| 47 | 
         
             
            class_names_5 = ['Realism', 'Deepfake']
         
     | 
| 48 | 
         
            +
            class_names_5b = ['Real', 'Deepfake']
         
     | 
| 49 | 
         | 
| 50 | 
         
             
            def softmax(vector):
         
     | 
| 51 | 
         
             
                e = np.exp(vector - np.max(vector))  # for numerical stability
         
     | 
| 
         | 
|
| 227 | 
         | 
| 228 | 
         
             
                print(result_5output)
         
     | 
| 229 | 
         | 
| 230 | 
         
            +
                try:
         
     | 
| 231 | 
         
            +
                    prediction_5b = clf_5b(img_pilvits)
         
     | 
| 232 | 
         
            +
                    result_5b = {pred['label']: pred['score'] for pred in prediction_5b}
         
     | 
| 233 | 
         
            +
                    result_5boutput = [6, 'ViT-base Newcomer', result_5b['Real'], result_5b['Deepfake']]
         
     | 
| 234 | 
         
            +
                    
         
     | 
| 235 | 
         
            +
                    # Ensure the result dictionary contains all class names
         
     | 
| 236 | 
         
            +
                    for class_name in class_names_5b:
         
     | 
| 237 | 
         
            +
                        if class_name not in result_5b:
         
     | 
| 238 | 
         
            +
                            result_5b[class_name] = 0.0
         
     | 
| 239 | 
         
            +
                    # Check if either class meets the confidence threshold
         
     | 
| 240 | 
         
            +
                    if result_5b['Deepfake'] >= confidence_threshold:
         
     | 
| 241 | 
         
            +
                        label_5b = f"AI, Confidence: {result_5b['Deepfake']:.4f}"
         
     | 
| 242 | 
         
            +
                        result_5boutput += ['AI']
         
     | 
| 243 | 
         
            +
                    elif result_5b['Real Image'] >= confidence_threshold:
         
     | 
| 244 | 
         
            +
                        label_5b = f"Real, Confidence: {result_5b['Real']:.4f}"
         
     | 
| 245 | 
         
            +
                        result_5boutput += ['REAL']
         
     | 
| 246 | 
         
            +
                    else:
         
     | 
| 247 | 
         
            +
                        label_5b = "Uncertain Classification"
         
     | 
| 248 | 
         
            +
                        result_5boutput += ['UNCERTAIN']
         
     | 
| 249 | 
         
            +
                except Exception as e:
         
     | 
| 250 | 
         
            +
                    label_5b = f"Error: {str(e)}"
         
     | 
| 251 | 
         
            +
                    
         
     | 
| 252 | 
         
            +
                print(result_5boutput)
         
     | 
| 253 | 
         
            +
                
         
     | 
| 254 | 
         | 
| 255 | 
         
             
                # try:
         
     | 
| 256 | 
         
             
                #     result_5output = [5, 'TBA', 0.0, 0.0, 'MAINTENANCE']
         
     | 
| 
         | 
|
| 273 | 
         
             
                    "ViT/AI-vs-Real": label_2,
         
     | 
| 274 | 
         
             
                    "Swin/SDXL": label_3,
         
     | 
| 275 | 
         
             
                    "Swin/SDXL-FLUX": label_4,
         
     | 
| 276 | 
         
            +
                    "prithivMLmods": label_5,
         
     | 
| 277 | 
         
            +
                    "prithivMLmods-2-22": label_5b 
         
     | 
| 278 | 
         
             
                }
         
     | 
| 279 | 
         
             
                    # Generate HTML content
         
     | 
| 280 | 
         | 
| 281 | 
         
            +
                combined_outputs = [ result_1output, result_2output, result_3output, result_4output, result_5output, result_5boutput ]
         
     | 
| 282 | 
         
             
                # html_content = generate_results_html(combined_outputs)
         
     | 
| 283 | 
         | 
| 284 | 
         
             
                return img_pil, combined_outputs
         
     | 
| 
         | 
|
| 517 | 
         
             
                                <h4 class="mt-4 text-sm font-semibold tracking-wide">Vits Model</h4>
         
     | 
| 518 | 
         | 
| 519 | 
         
             
                                <div class="text-xs font-mono">Real: {results[4][2]:.4f}, AI: {results[4][3]:.4f}</div>
         
     | 
| 520 | 
         
            +
                                <div class="text-xs font-mono">Real: {results[5][2]:.4f}, AI: {results[5][3]:.4f}</div>
         
     | 
| 521 | 
         | 
| 522 | 
         
             
                                <a class="mt-2 text-xs tracking-wide">@prithivMLmods / more info</a>
         
     | 
| 523 | 
         
             
                            </div>
         
     |