Thứ Sáu, 23 tháng 11, 2018

Phân lớp hình ảnh

Định nghĩa image classification

Đầu tiên, Classification ở đây là gì? Hiểu 1 cách đơn giản, classification là bạn sẽ gán nhãn cho 1 đối tượng. Ví dụ cho dễ hiểu nhá: bạn có 1 bộ bài chứa hình ảnh của những con vật. Bạn rút ra 1 lá bài có hình con mèo, classification là bạn phải viết chữ “mèo” lên lá bài đó. Tức là bạn đang phân loại cho từng lá bài với những cái tên tương ứng. Nghe quá là đơn giản luôn. Nhưng đó là với con người! Còn với máy tính, làm sao để máy có thể nhìn và hiểu con bài đó mà gán cho nó cái nhãn “mèo”, đây là một vấn đề cực lớn chứ ko phải dễ ăn.
Bây giờ vào định nghĩa sâu hơn cho bài toán classification: classification là gán nhãn. Vậy mấy cái nhãn này lấy từ đâu ra? Thực ra, đối với mỗi bài toán classification, chúng ta cần phải xác định trước tập hữu hạn các nhãn dán có thể có. Ví dụ như với bộ bài vừa rồi, tập nhãn dán của chúng ta là hữu hạn tên các con vật. Và kết quả của classification phải là 1 nhãn trong tập những nhãn dán đã có đó. Vậy thôi, ko có gì quá cao siêu và xa vời cả. ( thực ra đào sâu vào khái niệm thì nó cao siêu và xa vời thật, nhưng những kẻ tay mơ như mình và số ít các bạn đang đọc thì nhiêu trên là quá đủ ).
Cuối cùng, image classification là gì? Rất đơn giản, là classification trên tập các dữ liệu dạng ảnh.

Thách thức của bài toán classification

Với con người, để gán nhãn cho 1 đối tượng, thì những đứa nhóc tầm 5-6 tuổi có thể thực hiện dễ quá rồi. Lí do là con người trong suốt quá trình phát triển đã tự học hỏi và trau dồi đươc kiến thức. Còn máy tính lại khác, đưa vào 1 bức hình và ra lệnh cho nó dán nhãn cho bức hình thì ko hề dễ. Tới với ví dụ dán nhãn con mèo. Chúng ta có một mô hình classification trên máy tính, với tập nhãn dán được định nghĩa là: {mèo, chó , trâu, heo} . Bây giờ ta đưa vào 1 bức hình con mèo có kích thước 248*400 px, máy tính sẽ hiểu nó là 1 ma trận số 3*248*400, tức là 297,600 con số.
 
Giải thích cho ma trận số này một chút nếu bạn nào chưa hiểu. Bức ảnh 248*400px thực chất là 1 ma trận 2 chiều 248*400 điểm ảnh. Mỗi điểm ảnh thực chất là sự kết hợp của 3 giá trị RGB (mã màu red green blue).
Do đó, bức ảnh dưới con mắt của máy tính là 1 ma trận số 3*248*400. Và qua 297,600 con số này, máy tính sẽ tính toán thông qua mô hình classification và đưa ra được kết quả đại loại nhu sau: 82% mèo, 15% chó, 2% trâu và 1% heo. Và kết quả này có nghĩa là nhãn dán của bức hình trên rất có thể là “con mèo” . Vậy đấy, đó là quá trình nhận dạng hình ảnh của máy tính. Vậy thì bài toán này có thách thức gì? Tất nhiên là một đống thứ kể ko hết, cơ mà hầu hết liên quan tới sự đa dạng của tập hình ảnh: như là hướng chiếu khác nhau, độ phân giải khác nhau, màu sắc đa dạng, background phức tạp khiến khó xác định được chủ thể, sư đa dạng của đối tượng (như mèo ta, mèo tây, mèo lé, mèo què),…….

Vậy làm sao để giải quyết được bài toán kinh cmn khủng này?

Bạn còn nhớ những thuật toán đỉnh cao được học trước đây chứ? Interchange sort, buble sort.. rồi mấy thuật toán đẳng cấp như quick sort. Nhưng, cái đó khó có thể áp dụng được vào lĩnh vực này. Ở những bài toán này, phương thức tiếp cận đó là: “Máy học”. Vậy máy học là gì thì bạn có thể về đây để xem lại. Nôm na là: bạn có 1 tập dữ liệu ban đầu bao gồm input và output tương ứng với input đó, máy sẽ học như một con người, sau đó bạn chỉ cần đưa 1 cái input vào là máy nó trả lời cho bạn output ngon lành.
Share:

0 nhận xét:

Đăng nhận xét

Được tạo bởi Blogger.