AI
YOLO
You Only Look Once (You Only Live Once)
三個重要步驟
Resize輸入圖片尺寸至448*448
執行卷積神經網路CNN
基於模型所建立的信心程度Confidence,依據閥值、Non-max suppression得到偵測結果。
1.Resize image.
更新pip: python -m pip install --upgrade pip
安裝pillow程式庫: pip install pillow
resize_image.py 程式碼
from PIL import Image
import os
import tkinter as tk
from tkinter import filedialog
def resize_images(input_dir, output_dir, size=(448, 448)):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(input_dir):
if filename.endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif')):
img = Image.open(os.path.join(input_dir, filename))
img_resized = img.resize(size, Image.LANCZOS)
img_resized.save(os.path.join(output_dir, filename))
print(f"Resized {filename} and saved to {output_dir}")
def select_directories():
root = tk.Tk()
root.withdraw() # Hide the root window
print("請選擇輸入資料夾") #Please select the input directory.
input_dir = filedialog.askdirectory(title="Select Input Directory")
if not input_dir:
print("No input directory selected. Exiting...")
return
print("選擇寫入資料夾") # Please select the output directory.
output_dir = filedialog.askdirectory(title="Select Output Directory")
if not output_dir:
print("No output directory selected. Exiting...")
return
resize_images(input_dir, output_dir)
if __name__ == "__main__":
select_directories()
2.Run convolutional netwoek.
3.Non-max suppression.
參考文獻
YT: https://www.youtube.com/watch?v=LNwODJXcvt4