Đặt vấn đề Ngày nay, camera được ứng dụng ở hầu hết các lĩnh vực, từ các hệ thống giám sát an ninh, trong xe hơi đến những thiết bị di động như smartphone. Việc thu thập dữ liệu hình ảnh chiếm một vị trí vô cùng quan trọng trong cuộc sống hiện đại. Do đó, hàng loạt các kỹ thuật mới, các bài báo, nghiên cứu về xử lý ảnh, nâng cao chất lượng ảnh chụp, cân bằng sáng,…ra đời nhằm cải thiện dữ liệu hình ảnh thu được. Giữa xu hướng đó, việc xử lý ảnh chụp trong điều kiện tối vẫn luôn là một lĩnh vực thu hút sự quan tâm.
Bởi lẽ, chụp ảnh trong điều kiện thiếu sáng vẫn đang gặp nhiều thách thức vì số photon thấp và tỉ lệ nhiễu cao. Camera hoạt động dựa trên việc thu nhận dữ liệu của các cảm biến ảnh. Nguyên lý hoạt động của cảm biến ảnh là chuyển đổi tín hiệu sóng ánh sáng thành tín hiệu điện, sau đó các tín hiệu điện được lưu trữ và hiển thị bởi các thiết bị điện tử. Trong điều kiện thiếu sáng như ban đêm, độ rọi của ánh sáng– đại lượng đặc trưng cho lượng ánh sáng trên một đơn vị diện tích – rất thấp dẫn tới các cảm biến này không thể hoạt động hiệu quả.
Nếu chụp ảnh với thời gian phơi sáng ngắn, ảnh sẽ chịu tác động của nhiễu, ngược lại, khi tăng thời gian phơi sáng, ảnh sẽ có hiện tượng mờ do sự chuyển động của vật thể và mất đi tính chân thực. Hiện nay, trên thị trường có nhiều sản phẩm, phương pháp để khắc phục hiện tượng trên, có thể kể đến một số phương pháp như sau: Ø Sử dụng camera có độ phân giải cao: Các hệ thống High ISO chỉ phù hợp trong việc tăng cường độ sáng, nhưng hệ thống này cũng gặp nhiều hạn chế là khuếch đại tín hiệu nhiễu. Ø Các loại camera ban đêm: night vision camera - loại camera được trang bị cảm biến ảnh chất lượng cao, nhạy với ánh sáng ngoài vùng khả kiến, hoặc camera hồng ngoại. Tuy nhiên, hai phương pháp này loại có những nhược điểm là ảnh thu được là ảnh trắng đen, không thu được màu sắc chính xác của vật thể.
Ø Tăng thời gian phơi sáng: là tăng thời gian để ánh sáng đi vào cảm biến ảnh. Phương pháp này chỉ có thể áp dụng để chụp ảnh tĩnh, vật thể không di chuyển. Cùng với sự phát triển không ngừng của khoa học kỹ thuật, công nghệ trí tuệ nhân tạo Artificial Intelligent (AI) đã và đang chiếm hữu một vị trí cực kì quan trọng ở rất nhiều lĩnh vực. AI có thể học hỏi và xây dựng mô hình toán học từ những dữ liệu của người dùng cung cấp và thực hiện kết quả với độ chính xác cao trên dữ liệu cần xử lý.
Nắm được những đặc trưng đó, đã có nhiều nghiên cứu ra đời trong việc ứng dụng Neural Network vào xử lý ảnh ban đêm. Có thể kể đến nghiên cứu “A New Scheme for Color Trang 1 NÂNG CAO CHẤT LƯỢNG ẢNH TỐI SỬ DỤNG THUẬT TOÁN MẠNG THẦN KINH Luận văn Thạc sĩ QUATERNION Night Vision by Quaternion Neural Network” [1], nhóm tác giả đã đề xuất mô hình Quaternion Neural Network (QNN) – một biến thể của ANN và họ đã đạt được kết quả thực nghiệm tốt hơn các mô hình ANN thông thường và đây cũng là ý tưởng chính của đề tài này. Tiếp đó, “Learning to See in the Dark” [2] đã đề xuất một phương pháp khác là Fully-Convolutional Network (FCN), chất lượng ảnh hồi phục loại bỏ hầu hết nhiễu, khôi phục sinh động màu sắc của vật thể và thời gian, tốc độ xử lý tối ưu hơn các phương pháp xử lý truyền thống. Đề tài này đã sử dụng bộ ảnh “See-in-the-Dark” – SID của nhóm tác giả.
Tuy nhiên, những nghiên cứu nói trên đều tương đối phức tạp, chủ yếu được triển khai trên phần mềm như nền tảng của Amazon [3]. Bên cạnh đó, có thể kể đến một số nghiên cứu thermal image colorization - “tô màu” cho ảnh hồng ngoại như “Learning to Colorize Infrared Images” [4] hay “Thermal Colorization using Deep Neural Network” [5]. Trong điều kiện không có ánh sáng, camera hồng ngoại (thermal infrared camera) có thể hoạt động và thu thập ảnh trắng đen. Với các phương pháp này, ảnh từ camera hồng ngoại sẽ được thêm màu nhằm tăng thêm độ sinh động cho vật thể.
Tuy nhiên, việc thêm màu không đảm bảo tính chính xác của thông tin thu thập được. Hơn thế, với camera thường, hình ảnh thu được chất lượng tương đối thấp và việc tô màu như camera hồng ngoại gặp nhiều thách thức. Tổng hợp các vấn đề trên để hình thành ý tưởng xây dựng một phần cứng nâng cao chất lượng ảnh tối sử dụng Quaternion Neural Network. Bởi lẽ, xu hướng hiện nay là triển khai hệ thống AI trên phần cứng FPGA và Application-Specific Integrated Circuit (ASIC), để tăng tốc xử lý.
Có thể kể đến các phần cứng phổ biến như Tensor Processing Unit (TPU) của Google [3], Deep Convolution Neural Network SoC của STMicroelectronics [6]. Hệ thống nâng cao chất lượng ảnh tối sử dụng thuật toán Quaternion Neural Network sẽ bao gồm hai giai đoạn cơ bản: training (học) và inference (suy luận và đưa ra quyết định). Trong đó, giai đoạn traning là giai đoạn chỉ thực hiện một lần dựa trên những dữ liệu đã được chuẩn bị sẵn nên có thể thực hiện trên phần mềm, giai đoạn inference là giai đoạn thực hiện tính toán dựa trên dữ liệu ngõ vào, cho nên có thể tối ưu giai đoạn này trên phần cứng để tăng tốc độ xử lý. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu Để xây dựng thiết kế nâng cao chất lượng ảnh trong điều kiện thiếu sáng, cần khảo sát đặc điểm, tính chất của những đối tượng sau: Ø Thuật toán Quaternion Neural Network: thuật toán AI xử lý dựa trên các số Quaternion.
Trang 2 NÂNG CAO CHẤT LƯỢNG ẢNH TỐI SỬ DỤNG THUẬT TOÁN MẠNG THẦN KINH Luận văn Thạc sĩ QUATERNION Ø Tập dữ liệu training: tập dữ liệu bao gồm ảnh trong điều kiện sáng và ảnh trong điều kiện tối để làm dữ liệu mẫu. Ø Các thuật toán để xây dựng các phép trính trên phần cứng. Ø Kỹ thuật viết RTL code tối ưu cho kiến trúc phần cứng. Ø Các phần mềm training, phần mềm mô phỏng và tổng hợp mạch.
Phạm vi nghiên cứu Nghiên cứu các bài báo khoa học, các đề tài nghiên cứu được đăng trên tạp chí, các bài báo tham dự hội thảo, luận văn tốt nghiệp. Nghiên cứu về cơ sở khoa học, kiến trúc và thuật toán của Quaternion Neural Network. Thiết kế mô hình training bằng ngôn ngữ lập trình C++ để hiện thực hoá giai đoạn training. Thiết kế mô hình nhận dạng bằng ngôn ngữ lập trình MATLAB để kiểm tra mô hình và debug phần cứng.
Thiết kế phần cứng bằng ngôn ngữ lập trình Verilog HDL và kiểm tra thiết kế để đảm bảo yêu cầu về chức năng cũng như tốc độ và tài nguyên. Mục tiêu và nội dung đề tài Dựa trên những vấn đề thực tiễn và cơ sở khoa học, những nghiên cứu được trình bày phía trên, ta có thể xây dựng hệ thống “Nâng cao chất lượng ảnh tối sử dụng thuật toán mạng thần kinh Quaternion trên FPGA” với những đặc điểm và tính năng mong đợi như sau: v Về nguyên lý hoạt động: Hệ thống là phần cứng có khả năng xử lý dữ liệu ảnh ngõ vào được chụp trong điều kiện thiếu sáng. Ảnh sau khi qua hệ thống sẽ được khôi phục thành ảnh có hình dạng rõ ràng và có màu sắc của vật thể. v Về nội dung đề tài: Đề tài phải xây dựng được các thành phần cơ bản như bên dưới.
Ø Thu thập tập dữ liệu đầu vào và đầu ra mong đợi cho quá trình training, có thể tham khảo tập dữ liệu SID của nghiên cứu [2]. Ø Hiện thực hoá việc training mô hình QNN với giai đoạn feed-forward là đưa dữ liệu thu thập được vào tính toán và giai đoạn Back-propagation trên C++ để cập nhật các thông số cho mô hình, tăng độ chính xác cho QNN. Ø Mô phỏng mô hình QNN trên phần mềm MATLAB để đánh giá độ chính xác của thuật toán. Ø Xây dựng thuật toán cho phần cứng, tìm hiểu các thuật toán xử lý tối ưu, phù hợp với thiết kế phần cứng FPGA.
Trang 3 NÂNG CAO CHẤT LƯỢNG ẢNH TỐI SỬ DỤNG THUẬT TOÁN MẠNG THẦN KINH Luận văn Thạc sĩ QUATERNION TÌM HIỂU VỀ THUẬT TOÁN AI và các khái niệm của AI Artificial Intelligence (AI) là định nghĩa của trí tuệ nhân tạo và được ứng dụng trong công nghệ máy tính hiện nay. Khái niệm AI được xuất hiện đầu tiên bởi John McCarthy – nhà khoa học máy tính Mỹ, năm 1956 tại Hội nghị The Dartmouth, từ đó đã mở ra một lĩnh vực nghiên cứu đầy thú vị và tiềm năng. Mục đích của AI là dựa trên cách thức hoạt động của não bộ con người, từ đó hình thành khả năng xử lý thông minh cho máy móc, thiết bị như trí thông minh của con người. Cùng với sự phát triển của AI, khái niệm Machine Learning (ML – máy học) cũng xuất hiện.
Máy học là một tập con của AI, thể hiện khả năng học hỏi dựa trên dữ liệu đầu vào rất lớn. Đầu tiên, các phương pháp ML phải trải qua giai đoạn học (training) để rút trích đặc trưng từ những dữ liệu này và xây dựng mô hình tổng quát. Sau đó là giai đoạn suy luận (inference), lúc này các đặc trưng đã tổng quát thành mô hình, dữ liệu mới sẽ đi vào mô hình này và được đưa ra quyết định kết quả ngõ ra. Neural Network Neural Network (NN) là mô hình toán học mô phỏng cách thức hoạt động của các nơ ron trong bộ não của con người.
Hình 1 là sự tương đồng giữa các Neural được toán học hóa và các nơ ron trong não bộ con người. Neural nhân tạo và mô hình neural sinh học. Về cách thức hoạt động, khi nơ ron nhận tín hiệu đầu vào từ các sợi nhánh của tế bào thần kinh (dendrites), nếu tín hiệu vượt qua ngưỡng (threshold) thì nó sẽ được chuyển qua các nơ ron khác theo đường đi là các sợi trục (axon). Dựa trên ý tưởng đó, neural nhân tạo sẽ nhận giá trị ngõ vào, sau đó tính toán dựa trên trọng số w (weight) và ngưỡng θ (threshold) để quyết Trang 4 NÂNG CAO CHẤT LƯỢNG ẢNH TỐI SỬ DỤNG THUẬT TOÁN MẠNG THẦN KINH Luận văn Thạc sĩ QUATERNION định ngõ ra tương ứng.
Ngoài ra, để ngõ ra trở nên chính xác, cần bổ sung thêm một hàm chuẩn hóa output gọi là activation function a. Hàm activation function thường là những hàm tiêu biểu như Step function, Linear function, Sigmoid function, Tanh function hoặc RELU. Hình 2 là đồ thị của các hàm activation function.