Đo đánh giá mô hình

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân lớp đồng phục sinh viên dùng mô hình học sâu (Trang 52)

Đánh giá hiệu quả của một mô hình máy học là phải đo được mức độ chính xác mà mô hình trả về sau quá trình huấn luyện với bộ dữ liệu. Thường người ta sẽ tập trung vào khả năng dự đoán của mô hình hơn là tốc độ phân loại hay xây dựng mô hình, khả năng co dãn…

Với việc trả về kết quả phân lớp của một đối tượng dữ liệu, cơ bản ta sẽ thu được 4 giá trị kết quả sau đây :

- TP (true positive) : dự đoán đúng việc dữ liệu có thuộc phân lớp

- FP (false positive) : dữ liệu không thuộc phân lớp nhưng lại dự đoán là có - TN (true negative) : dự đoán đúng việc dữ liệu không thuộc phân lớp

- FN (false negative) : dữ liệu thuộc phân lớp nhưng lại dự đoán là không

Confusion-Matrix

Để hiểu 4 giá trị TP, FP, TN, FN, ta lấy một ví dụ nhỏ bằng kết quả dự đoán phân lớp ảnh xe hơi như sau :

Phân lớp dự đoán

Phân lớp thực tế

Xe hơi Không phải xe hơi

Xe hơi TP FN

Không phải xe hơi FP TN

Confusion-Matrix [17] là một loại biểu đồ thể hiện sự tương quan giữa giá trị trả về của phân lớp dự đoán so với phân lớp thực tế ban đầu. Trên thực tế người ta biểu diễn Confusion-Matrix tương quan giữa tất cả phân lớp của toàn tập dữ liệu để quan sát bao nhiêu dữ liệu được phân lớp đúng và nếu sai thì nó sẽ đưa vào phân lớp nào từ đó điều chỉnh các thông số của mô hình, tập dữ liệu cho phù hợp.

Hình 2.27. Biểu đồ Confusion-Matrix với 5 phân lớp

Accuracy

Dựa trên mối liên hệ của 4 giá trị kết quả, người ta lập công thức để tính được độ chính xác (Accuracy) của mô hình như sau :

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (2.12)

Ở đây, độ chính xác được hiểu là những dự đoán đúng của mô hình trên tổng số kết quả dự đoán được. Từ đó, ta sẽ có thêm khái niệm độ lỗi (Error_rate) của mô hình sẽ được tính bằng công thức

Error_rate = 1 – Accuracy (2.13)

Precision và Recall

Precision là tỷ lệ kết quả dự đoán đúng phân lớp trên tất cả dự đoán đúng của toàn mô hình. Giá trị ta quan tâm ở đây với một phân lớp bất kỳ thì bao nhiêu kết quả mà mô hình có thể phân lớp đúng là bao nhiêu, còn việc mô hình đánh giá dữ liệu này thuộc một phân lớp nào đó khác thì không quan trọng.

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑃 (2.14)

Recall là tỷ lệ kết quả dự đoán đúng trên tổng số dữ liệu thuộc về phân lớp đã được biết. Tỷ lệ này rất quan trọng, ta có thể thấy nếu với một bộ dữ liệu đầu vào ta đã phân lớp sẵn, thì việc mô hình bỏ mất nhiều dữ liệu phân lớp này hết sức tai hại và ảnh hưởng nhiều đến hiệu quả của mô hình.

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑁 (2.15)

Độ đo F1

Để dung hòa 2 giá trị Precision và Recall, người ta tạo ra thêm một giá trị độ đo F1 để xem xét mức độ đóng góp của cả 2 giá trị này. Giá trị F1 càng cao tức là mô hình càng tốt, tỷ lệ dự đoán đúng cao và tỷ lệ bị không bỏ mất dữ liệu cũng cao.

𝐹1 𝑠𝑐𝑜𝑟𝑒 = 2 1 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+ 1 𝑅𝑒𝑐𝑎𝑙𝑙 =2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙 (2.16)

Qua chương này ta đã tìm hiểu được những kỹ thuật phân lớp cơ bản nhất. Trong nhiều năm qua, các nhà khoa học đã không ngừng nghiên cứu, cải tiến các kỹ

thuật tiên tiến để giải quyết bài toán phân lớp hình ảnh, đây luôn là chủ đề nóng trong lĩnh vực thị giác máy tính. Mục đích chính trong những cải tiến này là làm sao tạo nên một mô hình vừa phù hợp với nguồn dữ liệu ban đầu, vừa dễ cài đặt, thực thi, tiết kiệm chi phí, thời gian xử lý của máy nhưng vẫn mang lại hiệu suất khả quan nhất.

CHƯƠNG 3.MÔ HÌNH CNN CHO PHÂN LỚP ĐỒNG PHỤC SINH VIÊN CÁC KHOA CỦA TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HCM

Với những kết quả nghiên cứu được từ những kỹ thuật xử lý bài toán phân lớp hình ảnh ứng với yêu cầu đã đặt ra là phân lớp hình ảnh đồng phục của sinh viên. Trong những kỹ thuật đó, CNN là một kỹ thuật học sâu phổ biến, ưu điểm của nó là dễ xây dựng và thực thi, mọi công việc từ rút trích các đặc trưng của hình ảnh đến việc nghiên cứu, phân tích mối liên hệ giữa các đặc trưng để đánh giá, đưa ra kết luận về phân lớp của hình ảnh. Do đó, trong chương này, tác giả sẽ chọn hướng tiếp cận của kỹ thuật CNN và tiến hành đề xuất mô hình để huấn luyện trên tập dữ liệu hình ảnh đồng phục sinh viên do tác giả thu thập.

Tiền xử lý ảnh và chuẩn hóa dữ liệu

Tập dữ liệu đầu vào của bài toán là ảnh màu kỹ thuật số chụp các sinh viên có mặc đồng phục áo khoa trong quá trình sinh hoạt tại trường. Tập ảnh lấy 2 nguồn chính là từ các trang mạng xã hội của sinh viên và từ các Đoàn Thanh niên - Liên chi hội Sinh viên của khoa. Tất cả tập ảnh đều đã được bộ phận quản lý của Đoàn Thanh niên - Liên chi hội Sinh viên của khoa kiểm tra và gắn nhãn. Với giới hạn và thời gian cho phép của luận văn, tác giả đã liên hệ và thu thập hình ảnh của 4 khoa thuộc Trường Đại học Sư phạm Thành phố Hồ Chí Minh để thí nghiệm mô hình bao gồm các khoa : Giáo dục Tiểu học, Giáo dục Mầm non, Giáo dục Đặc biệt, Công nghệ Thông tin.

Do thu thập dữ liệu từ nhiều nguồn cung cấp khác nhau, các hình ảnh này có thể là ảnh khổ đứng (portrail) hoặc khổ ngang (landspace) và mỗi ảnh lại có kích thước khác nhau. Với một chiếc điện thoại hiện nay có thể chụp được một tấm hình có kích thước từ 3000 đến 4000 pixel, trong khi con số này với một chiếc máy ảnh có thể lên tới vài chục nghìn pixel. Hình ảnh càng lớn, số lượng đặc trưng đầu vào càng nhiều thì quá trình huấn luyện sẽ tốn nhiều thời gian. Tất nhiên hình ảnh càng chi tiết thì quá trình huấn luyện sẽ đạt kết quả tốt nhưng phải làm sao cân đối cho hợp lý giữa thời gian huấn luyện và hiệu suất thì việc thực thi mô hình mới có ý nghĩa. Do đó tất cả dữ liệu hình ảnh sẽ được chuẩn hóa để giảm kích thước và đưa

Hình 3.1. Minh họa một số ảnh thu thập trong tập dữ liệu đồng phục sinh viên Thông thường người ta thường chuẩn hóa hình ảnh theo tỉ lệ 1 : 1, ví dụ như 32x32 trong bộ dữ liệu CIFAR-10 hay 28x28 trong các bộ dữ liệu MINST, FASHION MINST… Nhưng tùy theo cấu trúc của hình ảnh, một số nhà nghiên cứu có thể tùy chỉnh tỉ lệ này sao cho phù hợp. Ví dụ như chia tập dữ liệu thành 3 tập con với tỉ lệ hình ảnh là 128x128 và 64x128. Với mục tiêu tập trung vào huấn luyện phần đồng phục áo khoa, tác giả đề xuất thử nghiệm với tỉ lệ chiều ngang và chiều dọc là 2 : 3 (ví dụ : 100 -150 pixel) để chiếu theo chiều dọc của thân áo.

Ảnh thực tế Ảnh sau khi chuẩn hóa

Kích thước : 2400 x 1600 pixel

Kích thước: 1000 x 1500 pixel

Kích thước: 1000 x 1500 pixel

Kích thước: 1400 x 2100 pixel

Kích thước: 1000 x 1500 pixel

Hình 3.2. Mô tả giai đoạn chuẩn hóa hình ảnh

Đề xuất mô hình CNN

Như đã giới thiệu ở trên, một số kỹ thuật phân lớp ảnh thông thường cần phải kết hợp với một kỹ thuật rút trích đặc trưng phía trước. Công việc trích xuất đặc trưng này là một trong những thế mạnh của kỹ thuật phân lớp bằng mô hình CNN. Quá trình rút trích đặc trưng được thực hiện hoàn toàn tự động trong mô hình CNN.

Trong quá trình nghiên cứu, tác giả nhận thấy các mô hình CNN nổi tiếng và hiện đại như VGG-16, VGG-19, ResNet-34, ResNet-50, ResNeXt, DenseNet… đã được huấn luyện sẵn trên bộ dữ liệu của ImageNet và đạt được những kết quả rất khả quan. Tuy nhiên ImageNet là một kho dự liệu ảnh khổng lồ bao phủ trên nhiều lĩnh vực, với nhiều đặc tính khác nhau trong khi kết quả hướng đến của bài toán đặt ra là chỉ xác định phân lớp đồng phục áo của một số khoa nên qui mô thực tế tương

đối nhỏ hơn. Bên cạnh đó, cấu trúc của các mạng này khá phức tạp, để có thể thực thi được cần phải các bộ công cụ chuyên biệt và yêu cầu những GPU có khả năng mạnh nhằm tăng tốc đáng kể cho quá trình huấn luyện.

Trước những khó khăn đó, tác giả đề xuất một mô hình CNN đơn giản hơn, lấy ý tưởng từ những mô hình CNN trước đó cho bài toán phân lớp đồng phục áo sinh viên của 04 khoa thuộc Trường. Công việc xử lý chính trong việc rút trích các đặc trưng để huấn luyện được thực hiện tương đối giống với mô hình LeNet-5 bằng các tầng convolution và pooling liên kết với nhau. Nhưng thay vì chỉ thực hiện 2 lần CONV - POOL, mô hình này hướng tới việc học sâu hơn như VGG-16 nhưng không quá sâu do thời gian và khả năng phần cứng máy tính không đáp ứng được. Do đó việc huấn luyện các đặc trưng của mô hình sẽ gồm 4 tầng CONV - POOL. Sau những tầng này, để giảm bớt sự liên kết quá khớp giữa các đặc trưng, tác giả sẽ sử dụng thêm các hàm Dropout. Phần cuối của mô hình sẽ là 2 tầng FC với vector cuối cùng sẽ có 4 giá trị phù hợp với 4 phân lớp ảnh đầu vào.

Tập dữ liệu đầu vào của mô hình sẽ gồm 4 phân lớp tương ứng với đồng phục áo sinh viên 4 khoa Giáo dục Tiểu học, Giáo dục Mầm non, Giáo dục Đặc biệt, Công nghệ Thông tin. Tập dữ liệu này sẽ được phân chia thành 02 tập con là tập dữ liệu huấn luyện và tập dữ liệu kiểm tra bằng phương pháp Hold-Out (1/3 cho tập kiểm tra và 2/3 cho tập huấn luyện).

Để dễ hình dung, ta có thể xem những thông số của mô hình mạng CNN trong quá trình chạy thực nghiệm bằng ngôn ngữ Python trên môi trường Anaconda 3 - Jupyter Notebook:

Hình 3.3. Cấu trúc mô hình CNN trong quá trình thực nghiệm thay đổi tỉ lệ tập huấn luyện và kiểm tra

Hình trên mô tả mô hình CNN cho bài toán phân lớp đồng phục sinh viên. Bài toán phân lớp đồng phục bao gồm 5 khối thực thi chính : khối đầu tiên sử dụng đầu vào là các hình ảnh thuộc tập dữ liệu huấn luyện để rút trích các đặc trưng cơ bản với bộ lọc có kích thước 2x2 và tiến hành max-pooling để giảm mẫu biểu đồ đặc trưng ; 3 khối tiếp theo cũng rút trích các đặc trưng với số lượng bộ lọc tăng dần và tiến hành max-pooling, tuy nhiên do sử dụng nhiều bộ lọc, các khối này sẽ thực hiện dropout để tránh xảy ra tình trạng overfitting ; khối cuối cùng là các tầng FC, được giảm nhỏ dần để tiến tới vector giá trị cuối cùng có độ dài bằng với số lượng phân lớp ban đầu, khối này cũng thực hiện thêm một lần dropout để tránh overfitting.

Mô hình CNN đề xuất sẽ được hiện thực hóa trên ngôn ngữ Python. Tác giả sẽ sử dụng một số bộ thư viện hỗ trợ trong việc xây dựng mô hình và hoàn thiện hệ thống phân loại ảnh sử dụng trong ngôn ngữ Python như Tensorflow, Keras.

Quá trình huấn luyện mô hình và phân lớp hình ảnh

Quá trình huấn luyện dữ liệu thông thường sẽ yêu cầu cân chỉnh một số tham số như Filter, Epoch, Batch size, ... Số lượng tham số, giá trị tham số thay đổi sẽ cho kết quả huấn luyện khác nhau. Việc lựa chọn thông số phù hợp sẽ tốn thời gian thực nghiệm nhưng cũng chính là điều phải làm để đạt được kết quả tối ưu.

Với tập dữ liệu không quá lớn, số lượng phân lớp khá ít nên việc áp dụng mô hình kiến trúc mạng đơn giản 4 tầng ở trên có thể áp dụng được và có thể đạt được hiệu suất tốt cũng như thời gian xử lý cũng nhanh. Tuy nhiên để mô hình CNN đạt kết quả tốt thì nó phải được huấn luyện với nhiều dữ liệu, do đó trong quá trình thực hiện có thể dùng thêm một số phương pháp xử lý ảnh để gia tăng số lượng hình ảnh như xoay hình, tăng giảm cường độ sáng, co giãn hình…

Mô hình sử dụng bộ lọc có kích thước nhỏ, số lượng bộ lọc ở từng tầng tích chập tăng tiến theo bội số của 2 (4,8,12,16) giúp mô hình học ngày càng sâu hơn cùng với và để kích hoạt biểu đồ đặc trưng sau mỗi lần tích chập thì tác giả sử dụng hàm kích hoạt ReLu. Bên cạnh đó, hàm max-pooling cũng được sử dụng sau mỗi tầng tích chập vừa giảm kích thước vừa tăng cường biểu đồ đặc trưng.

Để đánh giá hiệu suất huấn luyện mô hình CNN trên, tác giả sử dụng một số giá trị như Training Accuracy, Training Loss, Test Accuracy. Mô hình cũng dùng phương pháp Hold-Out để phân chia bộ dữ liệu ban đầu. Trên thực tế, tập dữ liệu huấn luyện được chia thành hai phần là phần dữ liệu huấn luyện và phần dữ liệu đối sánh (validation) với mục đích trong mỗi lần huấn luyện, mô hình sẽ kiểm tra kết quả phân lớp sau khi cập nhật các trọng để tiếp tục huấn luyện trong những lần tiếp theo.

Quá trình thu thập và tiền xử lý nguồn dữ liệu hình ảnh đã được mô tả trong chương này. Tác giả cũng đã dựa trên ý tưởng từ các mô hình CNN nổi tiếng như LeNet và VGG để đề xuất một mô hình CNN với 5 khối xử lý chính bao gồm 4 tầng CONV - POOL, 2 tầng FC và 4 lần Dropout. Việc thực nghiệm mô hình và đánh giá kết quả sẽ được nhắc đến ở chương tiếp theo.

CHƯƠNG 4. THỰC NGHIỆM VÀ BÀN LUẬN

Dựa trên mô hình CNN đã đề xuất, tác giả sẽ tiến hành thực nghiệm để đưa ra kết luận và hướng giải quyết cho bài toán phân lớp hình ảnh đồng phục sinh viên. Chương này sẽ mô tả kỹ quá trình thực nghiệm và nguồn dữ liệu hình ảnh được sử dụng trong quá trình thực nghiệm huấn luyện và kiểm tra mô hình đã nêu.

Cơ sở dữ liệu

Thông qua hệ thống Đoàn Thanh niên - Hội Sinh viên Việt Nam của 4 khoa Giáo dục Tiểu học, Giáo dục Mầm non, Giáo dục Đặc biệt, Công nghệ Thông tin, hình ảnh được gửi về từ cá nhân các sinh viên, các chi đoàn, chi hội (tương đương với một lớp học) và kể cả kho hình ảnh của các khoa. Nội dung trong ảnh thể hiện những sinh viên đang mặc áo đồng phục của khoa trong quá trình học tập, vui chơi, tham gia các hoạt động ngoại khóa.

Dữ liệu thu thập được là ảnh màu được chụp bằng các thiết bị di động hoặc máy chụp hình (có thể là ảnh gốc hoặc tải lại từ các phương tiện lưu trữ tạm thời) với nhiều kích thước và định dạng khác nhau, (*.jpg, *png, *jpeg, *raw, *nef …). Trong quá trình thu thập, tác giả cũng đặt ra yêu cầu trong hình ảnh có đối tượng chính là sinh viên và chỉ xuất hiện một bạn sinh viên trong hình (không quan tâm đến nền phía sau) để việc.

Tuy nhiên trong quá trình tổng hợp hình ảnh tác giả cũng đã kiểm tra lại một số hình ảnh xuất hiện nhiều hơn 1 sinh viên trong hình, tác giả cũng đã sử dụng các phần các mềm xử lý ảnh chuyên dụng để điều chỉnh hình ảnh tập trung về 1 đối tượng duy nhất. Sau đó, tất cả các ảnh đều được chuẩn hóa về cùng một kích thước là 1000 x 1500 pixel (W x H) (bất kể hình đang ở khổ đứng hay khổ ngang).

Hình 4.1. Mô tả một số hình ảnh sau khi tổng hợp và chuẩn hóa cơ bản

Các hình ảnh này được sắp xếp lại thành các thư mục được đặt tên theo những chữ cái đầu tiên của tên khoa và số lượng hình ảnh theo cú pháp: “tên viết tắt” + “_” + “số lượng ảnh”. Ví dụ khoa Giáo dục Tiểu học có 641 là thư mục “GDTH_641”.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân lớp đồng phục sinh viên dùng mô hình học sâu (Trang 52)

Tải bản đầy đủ (PDF)

(88 trang)