Câu hỏi:

Dùng SVM để nhận dạng hình ảnh ngủ như thế nào? Cho tôi code python mẫu


SVM (Support Vector Machines) là một thuật toán phân lớp trong lĩnh vực machine learning, được áp dụng hiệu quả cho việc nhận dạng hình ảnh. Dưới đây là một ví dụ đơn giản về cách sử dụng thư viện Sklearn để học hỏi và phân lớp hình ảnh ngủ và không ngủ dựa trên các đặc trưng tầng thấp như pixel.

Trừ khi bạn đã có dữ liệu huấn luyện đủ lớn, việc nhận dạng hình ảnh ngủ chỉ dựa trên pixel có thể không tốt. Đối với các tác vụ phức tạp như vậy, nên sử dụng các mô hình phức tạp hơn như CNN.

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn import metrics
import cv2
import glob
import numpy as np

# Load image data, sử dụng opencv để resize về cùng kích thước
def load_images_from_folder(folder):
    images = []
    for filename in glob.glob(folder + '/*.*'):
        img = cv2.imread(filename,0)  # load in grayscale
        if img is not None:
            img = cv2.resize(img, (64,64))  # resize image
            images.append(img)
    return images

sleep_images = load_images_from_folder('sleep_folder')
not_sleep_images = load_images_from_folder('not_sleep_folder')

# Tạo label
y = [0]*len(sleep_images) + [1]*len(not_sleep_images)

# Tạo data bằng cách flatten image
X = [img.flatten() for img in sleep_images + not_sleep_images]

# Chia tập train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Huấn luyện model
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)

# Đánh giá model
y_pred = clf.predict(X_test)
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

Mã nguồn này chỉ là một ví dụ đơn giản, bạn có thể cần điều chỉnh và tối ưu hóa nhiều hơn dựa trên dữ liệu thực tế của mình. Thực tế, việc nhận dạng hình ảnh có người đang ngủ hay không là một vấn đề khá phức tạp, yêu cầu nhiều quy trình xử lý hình ảnh và có thể phải sử dụng các mô hình deep learning như mạng CNN.

Để sâu hơn về lập trình, AI và machine learning, mời bạn ghé thăm trang web trituenhantao.io nhé, nơi đông đảo các dev hàng đầu cùng chia sẻ kiến thức với nhau!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử