Chương 1 Giới thiệu 1 Giới thiệu đề tài Thế ký 21, trí tuệ nhân tạo, thị giác máy tính ngày càng phát triển, ngày càng giải quyết được nhiều bài toán hơn và được áp dụng vào hầu hết các lĩnh vực trong đời sống xã hội. Tuy vậy, vẫn có nhiều vấn đề còn tồn đọng cần giải quyết nhưng không nhiều người chú ý đến nó, chẳng hạn như chúng ta thường đặt câu hỏi "hệ thống có giải quyết được vấn đề này hay không?" mà đôi khi quên mất câu hỏi "hệ thống này có giải quyết được vấn đề này trong điều kiện khắc nghiệt hay không?". Nhiều người hẳn sẽ nghĩ "Những trường hợp quá khó đối với mô hình thì bỏ qua, dù sao đây chỉ là những trường hợp hiếm gặp!". Nhưng thực tế thì không thể như vậy, lấy ví dụ cho một hệ thống xe tự lái, hệ thống này hoạt động hoàn hảo trong thời tiết nắng đẹp, nhưng đến tối thì chỉ đôi khi xãy ra lỗi.
Lỗ hổng này có thể gây ra hàng loạt tai nạn nếu người sử dụng không chú ý hoặc chủ quan khi sử dụng vào buổi tối, và nhà sản xuất cũng không thể đưa ra khuyến cáo “Không bật tính năng vào buổi tối” được. Vậy làm sao giải quyết vấn đề này? Cách đơn giản nhất là thu thập thêm dữ liệu vào ban đêm và đưa vào mạng để huấn luyện. Nhưng đúng là nói thì dễ hơn làm, việc thu thập thêm dữ liệu có rất nhiều khó khăn: • Điều kiện khắc nghiệt đó có dễ dàng cho việc thu thập dữ liệu không? Nếu như không phải là trời tối mà là trời mưa bão thì sao? Hình 1: Một ví dụ ảnh được chụp trong điều kiện khắc nghiệt (buổi tối, thiếu ảnh sáng, phương tiện chạy chiều ngược lại bật đèn pha). LCcycleGAN: Điều chỉnh độ sáng ảnh hỗ trợ tăng cường dữ liệu Trang 10/53 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính • Dữ liệu mới thu thập có cùng một phân phối với dữ liệu ban đầu hay không? Ví dụ toàn bộ dữ liệu ban đầu được thu thập ở Nhật Bản, thì ta buộc phải thu thập dữ liệu buổi tối cũng ở Nhật Bản, không thể thay thế bằng dữ liệu ở Việt Nam.
• Sau khi thu thập xong dữ liệu, chi phí để gắn nhãn cho dữ liệu mới là bao nhiêu? Chúng ta có đủ nguồn lực để gắn nhãn cho các bài toán khó như phân vùng, đếm số người tham gia giao thông hay không? Từ những câu hỏi khó đó, nhất thiết phải có một phương án nào đó để tạo thêm dữ liệu trong điều kiện khắc nghiệt mà không phải tốn quá nhiều công sức, hay nói một cách khác là “phải có một hệ thống tăng cường dữ liệu để hỗ trợ cho các hệ thống thị giác máy tính khác”. 2 Lý do chọn đề tài Các bất cập đã đề cập bên trên vô tình xuất hiện khi tôi khi giải quyết bài toán “nhận diện biển báo giao thông ở Việt Nam”, yêu cầu đặt ra lúc bấy giờ là làm sao để hệ thống có thể hoạt động tốt cả ban ngày và ban đêm, việc tìm kiếm một tập dữ liệu ban ngày trên mạng là dễ dàng, nhưng tìm kiếm một tập dữ liệu có ban đêm và đủ khó cho điều kiện ở Việt Nam là vô vọng, tập dữ liệu thường chỉ chứa một phần nhỏ ảnh được chụp vào buổi tối, các ảnh này cũng có chất lượng tương đối tốt, trong khi thực tế thì camera còn phải đối mặt với các vấn đề khác như pha ngược chiều, thiếu chiếu sáng,. Từ những phân tích ở trên, tôi đã quyết định xây dựng một hệ thống giúp tăng cường dữ liệu bằng cách chuyển ảnh từ ngày sang đêm và ngược lại, ảnh đầu ra phải hiệu chỉnh được và quan trọng là có thể áp dụng được với bất kỳ tập dữ liệu theo cặp hoặc không theo cặp1. Khi áp dụng hệ thống này, ảnh sinh ra thường có cấu trúc tương tự ảnh đầu vào, vì vậy ta có thể tái sử dụng nhãn, từ đó giảm được chi phí gắn nhãn lại toàn bộ tập dữ liệu.
3 Phạm vi đề tài Do bài toán được xác định trong lúc giải quyết bài toán phát hiện vật thể nhằm phục vụ cho xe tự hành và yêu cầu đặt ra là nhận diện ảnh vào buổi tối, vì vậy phạm vi đề tài cũng được giới hạn trong các vấn đề liên quan: • Xây dựng một hệ thống chuyển ảnh từ ngày sang đêm và ngược lại. • Ảnh trong tập dữ liệu là ảnh từ camera hành trình trên xe hơi và được quay ở đường phố Việt Nam. 1 Tập dữ liệu theo cặp nghĩa là với mỗi ảnh huấn luyện trong tập thì cần phải có một ảnh nhãn để hệ thống học theo. Tuy nhiên do bài toán cần giải quyết là tăng cường dữ liệu, vì vậy, tập huấn luyện chỉ có nhãn cho bài toán nhận diện biển báo, hoàn toàn không có nhãn cho bài toán chuyển kiểu ảnh.
LCcycleGAN: Điều chỉnh độ sáng ảnh hỗ trợ tăng cường dữ liệu Trang 11/53 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Hình 2: Các vật thể trong ảnh vào buổi tối đều khó nhận diện hơn so với ảnh vào buổi sáng (phương tiện giao thông, biển báo giao thông), tuy nhiên dữ liệu huấn luyện trong điều kiện này lại vô cùng hạn chế. 4 Quá trình thực hiện Quá trình thực hiện luận văn này trải qua 4 bước: Bước 1: Tìm hiểu những công liên quan đến vấn đề chuyển kiểu ản: Công việc đầu tiên là tìm hiểu các công trình liên quan, các phương pháp trước đây để giải quyết bài toán chuyển kiểu ảnh này. Bước 2: Xây dựng hệ thống chuyển kiểu ảnh từ kiến thức đã thu thập được theo yêu cầu đã đặt ra: Hệ thống xây dựng phải vừa giải quyết được yêu cầu đã đặt ra, vừa phải có đặc tính nổi bật hơn các công trình trước đây Bước 3: Thu thập dữ liệu để huấn luyện: Sau khi xây dựng xong hệ thống thì cần có một tập dữ liệu vừa để huấn luyện, vừa để đánh giá. Bước 4: Đánh giá kết quả: đánh giá mô hình của mình bằng cả phươn pháp định tính và định lượng qua đó rút ra được ưu, nhược điểm và hướng phát triển tương lai của hệ thống.
LCcycleGAN: Điều chỉnh độ sáng ảnh hỗ trợ tăng cường dữ liệu Trang 12/53 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 2 Công trình liên quan Vấn đề chuyển kiểu ảnh không phải mới, từ trước đến nay đã có nhiều phương pháp khác nhau để giải bài toán này, các phương pháp này có thể được chia làm ba hướng chính: • Hệ thống GAN có điều kiện: bao gồm các hệ thống GAN cần dữ liệu huấn luyện thep cặp, ứng với mỗi ảnh trong tập huấn luyện thì cần phải có một ảnh đầu ra và một ảnh kèm theo. • Hệ thống GAN huấn luyện với dữ liệu không theo cặp điển hình là CycleGAN[4]. Nhóm này bao gồm các hệ thống GAN chuyển kiểu giữa các nhóm ảnh, các mạng sinh có nhiệm vụ sinh ra một ảnh mới từ một ảnh đã có sao cho ảnh mới phải có cùng phân bố với nhóm ảnh yêu cầu. • Các mô hình không sử dụng GAN nổi bật có thể kể đến là hệ thống Chuyển kiểu ảnh sử dụng mạng học sâu [2, 5, 3].
Bên cạnh sử dụng phương pháp học sâu, còn có những phương pháp cổ điển khác như [6], tuy nhiên những phương pháp này thường khó đạt được độ chân thực như các hệ thống sử dụng kỹ thuật học sâu. 1 Hệ thống mạng GAN [1] Hệ thống GAN là một hệ thống mạng học sâu có thể sinh ra ảnh theo một yêu cầu nhất định. GAN được huấn luyện dựa trên cơ chế giữa người nghệ sĩ và nhà phê bình. Người nghệ sĩ là một mô hình sinh ảnh (Generator model) có nhiệm vụ tạo ra ảnh đầu ra, nhà phê thì có thể được hiểu là một mạng phân lớp (còn được gọi là Discrinimator model) có nhiệm vụ đánh giá chất lượng ảnh do người nghệ sĩ tạo ra2.
Hai mạng này được huấn luyện thay phiên nhau theo hai nhiệm vụ cực đại khả năng mạng phê bình nhận diện được ảnh thật hay giả và cực đại khả năng đánh lừa của mạng sinh ảnh. Hàm mất mát của mạng GAN có thể được biểu diễn như sau: L = Ex [logD(x)] + Ez [log(1 − D(G(z)))] (1) Với G(x) là hàm sinh ảnh và D(x) là hàm phê bình đưa ra nhận định về ảnh do mạng sinh sinh ra. Hàm lỗi trên cho thấy đặc tính đặc biệt của mạng GAN là một mạng trong hệ thống cố gắng cực đại hóa hàm lỗi và mạng còn lại cố gắng cực tiểu hóa hàm lỗi đó. Về ưu điểm, hệ thống GAN có thể giải quyết được rất nhiều bài toán về ảnh nói riêng và về tạo ra cái mới nói chung.
Chỉ cần xây dựng hệ thống hợp lý thì GAN có thể huấn luyện ra một mạng sinh có thể tạo hầu hết mọi thứ (Tạo ra ảnh mới, tô màu ảnh đã có, phục chế ảnh đã hư hỏng,. 2 Cụ thể mạng Discriminator này có nhiệm vụ phân biệt một ảnh bất kỳ là ảnh từ tập train hay ảnh được tạo ra bởi Generator LCcycleGAN: Điều chỉnh độ sáng ảnh hỗ trợ tăng cường dữ liệu Trang 13/53 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học và Kỹ Thuật Máy Tính Hình 3: Cấu trúc của một hệ thống GAN bao gồm mạng sinh (Generator) và mạng phân biệt (Discriminator), hai mạng này đối đầu với nhau trong quá trình huấn luyện để đạt được mục tiêu cuối cùng là mạng sinh có thể tạo ra hình ảnh có phân bố gần với ảnh trong tập huấn luyện 4 Về nhược điểm, mạng sinh trong hệ thống GAN thường khó hội tụ khi huấn luyện, ảnh được tạo ra có thể bị biến dạng. Bên cạnh đó, ngay cả khi mạng đã hội tụ thì vẫn đối mặt với nhiều vấn đề như “sụp đổ miền ảnh3 ”. Hệ thống GAN qua thời gian đã phát triển thành nhiều hướng khác nhau tương ứng là vô số ứng dụng khác nhau.
Tuy vậy, trong hướng “chuyển giao kiểu ảnh” này có một vài công trình tiêu biểu như Pix2pix[7], CycleGAN sẽ được trình bày sau đây. 2 Chuyển kiểu ảnh với tập dữ liệu huấn luyện theo cặp - Pix2pix Pix2pix[7] là một hệ thống GAN có thể thực hiện nhiều chức năng khác nhau và không chỉ bao hàm chuyển giao kiểu ảnh, một số có thể nhắc đến như tô màu ảnh, phục chế ảnh, tạo ra ảnh có độ phân giải siêu cao, .