chương 1 là làm rõ cách thức mà mạng CNN hoạt động đối với bài toán nhận dạng hình ảnh. Chính vì vậy, phần đầu chương sẽ giới thiệu về bài toán nhận dạng ảnh số, các khâu quan trọng trong hệ thống nhận dạng ảnh, các hướng tiếp cận chính trong nhận dạng ảnh (bao gồm các kỹ thuật trích, chọn đặc trưng và phân loại). Phần tiếp theo của chương trình bày các kiến thức tổng quan về mạng CNN. Bắt đầu từ ý tưởng hình thành mạng CNN cho đến việc triển khai kiến trúc của mạng CNN nhằm thực thi hai tác vụ quan trọng trong bài toán nhận dạng (trích rút đặc trưng và phân lớp).
Phần kế tiếp của chương sẽ mô tả cụ thể cách thức hoạt động của mạng CNN trong bài toán nhận dạng ảnh. Phần cuối chương sẽ cập nhật các kết quả nghiên cứu trong và ngoài nước về việc ứng dụng mạng CNN trong nhận dạng hình ảnh. Bài toán nhận dạng ảnh số 1. Ảnh số Hình 1.
Ảnh số trắng đen và ảnh màu Như chỉ ra trong Hình 1.1, một hình ảnh số (đen trắng) có thể được định nghĩa là hàm hai chiều, f (x, y), trong đó x và y là tọa độ không gian (mặt phẳng) và biên độ của f tại bất kỳ cặp tọa độ (x, y) nào được gọi là cường độ hoặc mức độ màu xám của hình ảnh tại điểm đó. Khi x, y và các giá trị cường độ của f đều là các đại lượng hữu hạn, rời rạc, chúng ta gọi hình ảnh là hình ảnh kỹ thuật số". Có thể hiểu một cách 6 đơn giản rằng "Ảnh số là số hóa làm cho một hình ảnh kỹ thuật số trở thành một xấp xỉ của một cảnh thực". Hình ảnh kỹ thuật số chứa một số lượng hữu hạn các hàng và cột của các phần tử.
Mỗi phần tử được gọi là điểm ảnh (pixel). Với ảnh màu ta hay nhìn thì mỗi điểm ảnh sẽ có 3 giá trị tương ứng với độ sáng của các màu đỏ, xanh lục, xanh dương (RGB) 1. Nhận dạng ảnh số Nhận dạng ảnh số (hay phân loại ảnh số) là một trong những tác vụ của thị giác máy tính, ở đó thuật toán xem xét và dán nhãn cho hình ảnh từ một tập danh mục được xác định và huấn luyện trước. Minh họa hệ thống nhận dạng ảnh Chó/Mèo Ví dụ, như mô tả trong Hình 1.2, với một tập các hình ảnh, mỗi hình ảnh mô tả một con mèo hoặc một con chó, thuật toán sẽ “quan sát” toàn bộ dữ liệu và dựa trên hình dạng, màu sắc để hình thành giả thuyết liên quan đến nội dung của ảnh.
Kết quả thu được là từ tập dữ liệu ban đầu, các hình ảnh chó/mèo đã được phân loại một cách tự động. Thực tế, thị giác góp phần tạo nên 80-85% nhận thức của con người về thế giới. Hàng ngày, mỗi người phải thực hiện nhận dạng trên bất kỳ dữ liệu hình ảnh nào mà chúng ta bắt gặp. Do đó, mô phỏng nhiệm vụ nhận dạng ảnh với sự trợ giúp của mạng nơron (và gần đây là mạng nơron CNN) là một trong những ứng dụng đầu tiên của thị giác máy tính mà các nhà nghiên cứu nghĩ đến.
Hệ thống nhận dạng hình ảnh Nhiệm vụ của hệ thống nhận dạng hình ảnh là xử lý tự động thông tin từ các ảnh để tìm ra độ tương tự giữa chúng và đưa ra quyết định về tính đồng nhất giữa chúng. Cấu trúc của hệ thống nhận dạng hình ảnh được thể hiện như Hình 1.3 và gồm các khâu chức năng sau: - Tiền xử lý (Pre-Processing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất lượng ảnh để chuẩn hóa ảnh cần tìm giúp cho việc tìm kiếm được hiệu quả hơn. Các công việc trong bước tiền xử lý có thể là: Chuẩn hóa kích cỡ giữa ảnh trong cơ sở dữ liệu và ảnh cần tìm, hiệu chỉnh độ sáng, tối của ảnh; lọc nhiễu, chuẩn hóa về vị trí. - Trích chọn đặc trưng (FE): Tìm ra các đặc trưng chính của ảnh, từ các đặc trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh cần tìm và ảnh trong cơ sở dữ liệu.
Cấu trúc tổng quát của hệ thống nhận dạng hình ảnh - Nhận dạng/Phân loại: Bước nhận dạng (recognition) hay phân loại (classification), tức là xác định danh tính (identity) hay nhãn (label) của ảnh. - Dữ liệu hệ thống nhận dạng: Dữ liệu hệ thống nhận dạng được chia làm 3 tập gồm tập dữ liệu huấn luyện (training set), tập dữ liệu đánh giá (validation data) và tập dữ liệu thử nghiệm (testing data). Tập huấn luyện được sử dụng để xây dựng thuật toán nhận dạng. Các nhà khoa học dữ liệu sẽ cung cấp dữ liệu đầu vào cho thuật toán, tương ứng với đầu ra dự kiến.
Dựa trên đó, mô hình sẽ đánh giá dữ liệu nhiều lần để tìm hiểu thêm về đặc tính của dữ liệu và tiếp tục tự điều 8 chỉnh nhằm hướng tới mục đích đã định. Trong quá trình đào tạo, dữ liệu đánh giá sẽ cung cấp thêm dữ liệu mới vào mô hình, nhằm xác định khả năng dự đoán của thuật toán đối với những dữ liệu chưa từng nhìn thấy trước đó. Thực tế, không phải tất cả các nhà khoa học dữ liệu đều sử dụng dữ liệu đánh giá, nhưng nó có thể cung cấp một số thông tin hữu ích để tối ưu hóa các tham số cũng như hiệu suất của thuật toán. Dữ liệu thử nghiệm được đưa vào sau khi xây dựng mô hình, nhằm xác nhận hiệu quả của thuật toán.
Nếu dữ liệu đào tạo và dữ liệu đánh giá đều đi kèm các nhãn nhằm theo dõi các chỉ số hiệu suất thì dữ liệu thử nghiệm phải được bỏ nhãn. Điều này nhằm đưa mô hình vào môi trường kiểm tra thực tế và xác nhận lần cuối rằng nó có thể hoạt động hiệu quả. Phân chia dữ liệu cho hệ thống nhận dạng Hệ thống nhận dạng hình ảnh cần đảm bảo các yêu cầu: - Độ chính xác nhận dạng có thể chấp nhận được đối với yêu cầu của bài toán nhận dạng. - Tốc độ vận hành cao đối với các cơ sở dữ liệu lớn và số lượng các yêu cầu có thể giải quyết được.
- Đơn giản trong việc cài đặt, lựa chọn thiết bị và vận hành, an toàn với người sử dụng. Các hướng tiếp cận chính trong nhận dạng ảnh Như trong phần 1.3 đã trình bày, hệ thống nhận dạng ảnh gồm ba khâu chính (tiền xử lý, trích chọn đặc trưng, phân loại). Mỗi một khâu đều có tác động đến độ chính xác của hệ thống. Tuy nhiên, hai khâu quan trọng nhất vẫn là trích chọn đặc trưng và phân loại (ra quyết định).
Chính vì vậy, qua khảo sát các công trình nghiên cứu liên quan đến nhận dạng hình ảnh, ta có thể thấy các công trình công bố đều chủ yếu tập trung vào cải tiến hai bước chính là trích chọn đặc trưng và phân loại 1. Các kỹ thuật trích chọn đặc trưng Trích chọn đặc trưng là tìm ra điểm đặc trưng của đối tượng so với đối tượng khác tuỳ theo mục đích nhận dạng trong quá trình xử lí ảnh. Ví dụ như ta muốn phân biệt đâu là ảnh cà chua chín thì dựa vào màu sắc chẳng hạn. Có thể dựa vào một số đặc điểm sau: - Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn.
- Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.) - Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng. Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v. Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống.
Các kỹ thuật nhận dạng ảnh Có nhiều thuật toán khác nhau được ứng dụng trong việc phân loại hình ảnh. Các thuật toán này được chia thành hai nhóm chính là Học có giám sát và Học không giám sát. - Học có giám sát 10 Trong học có giám sát, thuật toán được huấn luyện trên một tập hình ảnh đã được dán nhãn. Từ dữ liệu mẫu này, thuật toán có thể trích xuất thông tin, phục vụ phân loại ngay cả những hình ảnh chưa từng nhìn thấy trước đó.
Xuyên suốt quá trình huấn luyện, đặc điểm của ma trận hình ảnh sẽ được trích xuất dưới dạng dữ liệu quan trọng để đưa vào xử lý. Các đặc điểm này đại diện cho hình ảnh trong không gian chiều thấp và là cơ sở để thuật toán tiến hành phân loại. Trong quá trình đánh giá, các đặc điểm của ảnh thử nghiệm được thu thập và tái phân loại. Hệ thống lúc này đã có thể nhận biết các đặc điểm điển hình của mọi lớp hình ảnh mà nó được huấn luyện.
Các phương pháp phân loại phổ biến dựa trên học có giám sát bao gồm: - Học máy véc tơ hỗ trợ (Support Vector Machines) - Cây quyết định (Decision Trees) - Thuật toán K láng giềng gần nhất (K Nearest Neighbors) - Mạng nơron nhân tạo (Neural Network) Gần đây, các mạng nơron học sâu thường được sử dụng để phân loại hình ảnh có giám sát bao gồm AlexNet, ResNet, DenseNet và Inception. Đây chính là hướng chuyên sâu nghiên cứu của luận văn. - Học không giám sát Trong học không giám sát, thuật toán chỉ sử dụng dữ liệu thô để huấn luyện. Các nhãn phân loại thường không xuất hiện trong kiểu học này và mô hình học bằng cách nhận dạng các mẫu trong tập dữ liệu huấn luyện.
Giống như phân loại có giám sát, các phương pháp dựa trên không giám sát cũng liên quan đến bước trích xuất đặc điểm với các thông tin chi tiết nhất về hình ảnh. Các đặc điểm này sau đó được xử lý bằng các phương pháp phân cụm tham số (Gaussian Mixture Models) và phi tham số (K-means) hoặc các thuật toán học không giám sát khác. Các thuật toán và kỹ thuật phân loại của thị giác máy tính không chỉ giới hạn trong dữ liệu hình ảnh 2D đơn giản mà còn mở rộng ra dưới dạng video và ảnh 3D. Ứng dụng của nhận dạng ảnh Công nghệ nhận dạng hình ảnh trí tuệ nhân tạo ngày càng được sử dụng rộng rãi trong các ngành công nghiệp khác nhau và xu hướng này được dự đoán sẽ tiếp tục trong tương lai gần.