0llheaven commited on
Commit
c3b67bf
1 Parent(s): b3d1e1d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -17
README.md CHANGED
@@ -7,31 +7,97 @@ tags: []
7
 
8
  <!-- Provide a quick summary of what the model is/does. -->
9
 
 
 
 
 
 
 
10
 
 
 
11
 
12
- ## Model Details
 
 
13
 
14
- ### Model Description
 
15
 
16
- <!-- Provide a longer summary of what this model is. -->
 
 
 
 
17
 
18
- This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
 
 
19
 
20
- - **Developed by:** [More Information Needed]
21
- - **Funded by [optional]:** [More Information Needed]
22
- - **Shared by [optional]:** [More Information Needed]
23
- - **Model type:** [More Information Needed]
24
- - **Language(s) (NLP):** [More Information Needed]
25
- - **License:** [More Information Needed]
26
- - **Finetuned from model [optional]:** [More Information Needed]
27
 
28
- ### Model Sources [optional]
 
 
29
 
30
- <!-- Provide the basic links for the model. -->
31
 
32
- - **Repository:** [More Information Needed]
33
- - **Paper [optional]:** [More Information Needed]
34
- - **Demo [optional]:** [More Information Needed]
35
 
36
- ## Uses
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
 
 
7
 
8
  <!-- Provide a quick summary of what the model is/does. -->
9
 
10
+ ## Uses
11
+ import os
12
+ from transformers import AutoImageProcessor, AutoModelForObjectDetection
13
+ import torch
14
+ from PIL import Image
15
+ import pandas as pd
16
 
17
+ # กำหนดพาธไปยังโฟลเดอร์ที่เก็บรูปภาพ
18
+ folder_path = ""
19
 
20
+ # โหลดโมเดลและโปรเซสเซอร์
21
+ processor = AutoImageProcessor.from_pretrained("0llheaven/CON-DETR-V5")
22
+ model = AutoModelForObjectDetection.from_pretrained("0llheaven/CON-DETR-V5")
23
 
24
+ # สร้าง DataFrame เพื่อเก็บผลลัพธ์
25
+ results_list = []
26
 
27
+ # วนลูปผ่านไฟล์ทั้งหมดในโฟลเดอร์
28
+ for image_name in os.listdir(folder_path):
29
+ if image_name.endswith((".jpg", ".png", ".jpeg")): # กรองเฉพาะไฟล์รูปภาพ
30
+ image_path = os.path.join(folder_path, image_name)
31
+ image = Image.open(image_path)
32
 
33
+ # แปลงรูปภาพเป็น RGB หากเป็น grayscale
34
+ if image.mode != "RGB":
35
+ image = image.convert("RGB")
36
 
37
+ # ทำนายผล
38
+ inputs = processor(images=image, return_tensors="pt")
39
+ outputs = model(**inputs)
 
 
 
 
40
 
41
+ # กรองการทำนายที่มีความแม่นยำมากกว่า 0.9
42
+ target_sizes = torch.tensor([image.size[::-1]])
43
+ results = processor.post_process_object_detection(outputs, target_sizes=target_sizes)
44
 
45
+ print(f"Processing image: {image_name}") # แสดงชื่อรูปภาพที่กำลังประมวลผล
46
 
47
+ # ตรวจสอบว่ามีการตรวจจับหรือไม่
48
+ detected_any = False
 
49
 
50
+ for result in results:
51
+ scores = result["scores"]
52
+ labels = result["labels"]
53
+ boxes = result["boxes"]
54
+
55
+ # กรองเฉพาะ 2 กล่องแรกที่มีคะแนนสูงกว่า 0.5
56
+ filtered_data = [(score, label, box) for score, label, box in zip(scores, labels, boxes) if score > 0.5][:2] # จำกัดให้เก็บได้ไม่เกิน 2 กล่อง
57
+ # for score, label, box in zip(scores, labels, boxes):
58
+ # if score > 0.5: # กรองเฉพาะผลลัพธ์ที่มีความแม่นยำมากกว่า 0.9
59
+ if len(filtered_data) > 0: # ตรวจสอบว่ามีการตรวจจับ
60
+ detected_any = True
61
+
62
+ for score, label, box in filtered_data:
63
+ # กำหนดชื่อ label ตาม index ของ label ที่ได้
64
+ if label.item() == 0:
65
+ label_name = "Pneumonia"
66
+ elif label.item() == 1:
67
+ label_name = "Normal"
68
+ elif label.item() == 2:
69
+ label_name = "Pneumonia_bacteria"
70
+ else:
71
+ label_name = "Pneumonia_virus"
72
+
73
+ xmin, ymin, xmax, ymax = [round(i, 2) for i in box.tolist()]
74
+ print(f" - Detected {label_name} with score {round(score.item(), 3)} at {xmin, ymin, xmax, ymax}") # แสดงข้อมูลที่ทำนายได้
75
+ results_list.append({
76
+ "image_name": image_name,
77
+ "label": label_name,
78
+ "xmin": xmin,
79
+ "ymin": ymin,
80
+ "xmax": xmax,
81
+ "ymax": ymax,
82
+ "score": round(score.item(), 3),
83
+ })
84
+
85
+ if not detected_any:
86
+ print(" - No Detect")
87
+ results_list.append({
88
+ "image_name": image_name,
89
+ "label": "Other",
90
+ "xmin": 0,
91
+ "ymin": 0,
92
+ "xmax": 0,
93
+ "ymax": 0,
94
+ "score": 0,
95
+ })
96
+
97
+ # แปลง List เป็น DataFrame
98
+ results_df = pd.DataFrame(results_list)
99
+
100
+ # แสดงผล DataFrame
101
+ print("\nFinal results:")
102
 
103
+ results_df.to_csv("testmodel.csv", index=False)