Model Card for Model ID
Model Details
Model Description
This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
- Developed by: [More Information Needed]
- Funded by [optional]: [More Information Needed]
- Shared by [optional]: [More Information Needed]
- Model type: [More Information Needed]
- Language(s) (NLP): [More Information Needed]
- License: [More Information Needed]
- Finetuned from model [optional]: [More Information Needed]
Model Sources [optional]
- Repository: [More Information Needed]
- Paper [optional]: [More Information Needed]
- Demo [optional]: [More Information Needed]
Uses
from transformers import AutoImageProcessor, AutoModelForObjectDetection
import torch
from PIL import Image, ImageDraw
import matplotlib.pyplot as pltz
# เปิดรูปภาพจากพาธในเครื่อง
url = "../../Pnephase2_Project/data/chest_xray/OTHER_ALL/00000020_001.png"
image = Image.open(url)
# แปลงรูปภาพเป็น RGB หากเป็น grayscale
if image.mode != "RGB":
image = image.convert("RGB")
processor = AutoImageProcessor.from_pretrained("0llheaven/detr-finetuned-V2")
model = AutoModelForObjectDetection.from_pretrained("0llheaven/detr-finetuned-V2")
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
# กรองการทำนายที่มีความแม่นยำมากกว่า 0.9
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes)
# print(results)
# วาดกรอบรอบวัตถุที่ตรวจพบในภาพ
draw = ImageDraw.Draw(image)
for result in results:
scores = result["scores"]
labels = result["labels"]
boxes = result["boxes"]
for score, label, box in zip(scores, labels, boxes):
if score > 0.9: # กรองเฉพาะผลลัพธ์ที่มีความแม่นยำมากกว่า 0.9
box = [round(i, 2) for i in box.tolist()]
draw.rectangle(box, outline="red", width=3)
draw.text((box[0], box[1]), f"Pnuemonia: {round(score.item(), 3)}", fill="red") # เปลี่ยน label เป็น "Pnue"
# แสดงผลภาพ
plt.figure(figsize=(10, 10))
plt.imshow(image)
plt.axis('off')
plt.show()
print(labels)
Predic and save to csv
import os
from transformers import AutoImageProcessor, AutoModelForObjectDetection
import torch
from PIL import Image
import pandas as pd
# กำหนดพาธไปยังโฟลเดอร์ที่เก็บรูปภาพ
folder_path = "../data/data_em_100img/"
# โหลดโมเดลและโปรเซสเซอร์
processor = AutoImageProcessor.from_pretrained("0llheaven/detr-finetuned-V2")
model = AutoModelForObjectDetection.from_pretrained("0llheaven/detr-finetuned-V2")
# สร้าง DataFrame เพื่อเก็บผลลัพธ์
results_list = []
# วนลูปผ่านไฟล์ทั้งหมดในโฟลเดอร์
for image_name in os.listdir(folder_path):
if image_name.endswith((".jpg", ".png", ".jpeg")): # กรองเฉพาะไฟล์รูปภาพ
image_path = os.path.join(folder_path, image_name)
image = Image.open(image_path)
# แปลงรูปภาพเป็น RGB หากเป็น grayscale
if image.mode != "RGB":
image = image.convert("RGB")
# ทำนายผล
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
# กรองการทำนายที่มีความแม่นยำมากกว่า 0.9
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes)
print(f"Processing image: {image_name}") # แสดงชื่อรูปภาพที่กำลังประมวลผล
# ตรวจสอบว่ามีการตรวจจับหรือไม่
detected_any = False
for result in results:
scores = result["scores"]
labels = result["labels"]
boxes = result["boxes"]
for score, label, box in zip(scores, labels, boxes):
if score > 0.9: # กรองเฉพาะผลลัพธ์ที่มีความแม่นยำมากกว่า 0.9
detected_any = True
xmin, ymin, xmax, ymax = [round(i, 2) for i in box.tolist()]
print(f" - Detected {label} with score {round(score.item(), 3)} at {xmin, ymin, xmax, ymax}") # แสดงข้อมูลที่ทำนายได้
results_list.append({
"image_name": image_name,
"score": round(score.item(), 3),
"label": label,
"xmin": xmin,
"ymin": ymin,
"xmax": xmax,
"ymax": ymax
})
if not detected_any:
print(" - No Detect")
results_list.append({
"image_name": image_name,
"score": "-",
"label": "No Detect",
"xmin": "-",
"ymin": "-",
"xmax": "-",
"ymax": "-"
})
# แปลง List เป็น DataFrame
results_df = pd.DataFrame(results_list)
# แสดงผล DataFrame
print("\nFinal results:")
# print(results_df)
# บันทึก DataFrame เป็นไฟล์ CSV
results_df.to_csv("../results_em.csv", index=False)
- Downloads last month
- 31
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.