Tự Động thiết kế sơ Đồ mặt bằng kiến trúc bằng các phương pháp phân tích dữ liệu Tự Động thiết kế sơ Đồ mặt bằng kiến trúc bằng các phương pháp phân tích dữ liệu
Tổng quan bài toán
Thiết kế kiến trúc, nội thất là một công việc đặc thù không phải bất cứ ai cũng có thể tạo ra một bản thiết kế hợp lý Công việc này cần có sự am hiểu kiến thức tổng quan về các tiêu chuẩn thiết kế, không gian thẩm mĩ Cùng với đó là kinh nghiệm xử lý các không gian để có thể tạo nên sự hài hòa giữa công năng và mỹ thuật của căn hộ Có thể nói, công việc thiết kế mặt bằng kiến trúc là bước đầu tiên và là bước quan trọng nhất khi xây dựng một ngôi nhà Quá trình sẽ xác định được vị trí, diện tích, công năng của các phòng trong căn hộ Nói chung, thiết kế mặt bằng kiến trúc là một quá trình thử và sai lặp đi lặp lại tốn nhiều thời gian giữa kiến trúc sư, người có chuyên môn, kinh nghiệm trong lĩnh vực thiết kế và chủ căn hộ Vì vậy, một người nghiệp dư không được đào tạo bài bản về các kỹ năng kiến trúc mỹ thuật, việc tạo nên một mặt bằng đẹp, đảm bảo công năng là vô cùng khó Trong khi đó ngày càng có nhiều những chủ căn hộ, người ngoài ngành muốn tự mình thiết kế, cải tạo lại căn hộ của mình Do vậy, chúng tôi đề xuất một hướng tiếp cận mới để thuận tiện cho việc thiết kế mặt bằng công năng của căn hộ Phương pháp sử dụng dựa trên những dữ liệu mặt bằng đã có từ các kiến trúc sư có nhiều năm kinh nghiệm để có thể tự động thiết kế một mặt bằng kiến trúc đảm bảo về mặt thẩm mĩ cũng như công năng sử dụng Mục tiêu của phương pháp nhằm hỗ trợ không chỉ các kiến trúc sư mà cả những người nghiệp dư, không có kiến thức căn bản về kiến trúc nội thất cũng có thể tự mình tạo được một mặt bằng kiến trúc hợp lý cho riêng mình Để phù hợp với cả những người nghiệp dư, không có kiến thức về thiết kế kiến trúc cũng có thể sử dụng được Chúng tôi tối giản hóa các ràng buộc trong thiết kế, dữ liệu đầu vào của bài toán chỉ bao gồm vị trí các bức tường bao quanh căn hộ và vị trí cửa chính của căn hộ Phương pháp được xây dựng dựa trên các tri thức học được từ lượng lớn dữ liệu các mặt bằng có sẵn được thiết kế bởi cácc kiến trúc sư Sau đó thông qua mạng học sâu CNN để tạo nên các mặt bằng kiến trúc tự động từ các tri thức đã được học.
Khó khăn thách thức – phương pháp giải quyết
Để có thể xây dựng một mạng học sâu có thể “bắt chước” được các thiết kế của các kiến trúc sư dày dặn kinh nghiệm, trước tiên bài toán đặt ra phải có một bộ dữ liệu đủ lớn các mặt bằng được thiết kế sẵn bởi cácc kiến trúc sư Các dữ liệu được đưa vào mô hình phải được số hóa và gán vị trí các phòng để máy tính có thể đọc hiểu được Thứ hai, việc thiết kế một mạng học sâu có thể tạo ra tự động một cách nhanh chóng mặt bằng căn hộ trực quan để có thể so sánh với mặt bằng thực tế do kiến trúc sư thiết kế, chỉ từ đường bao của căn hộ mà không có bất cứ ràng buộc nào về diện tích vị trí phòng không phải điều dễ dàng Công việc thiết kế là 1 công việc mang nhiều tính nghệ thuật sáng tạo Nếu áp dụng quá nhiều các ràng buộc vào mô hình sẽ khiến cho mặt bằng tạo ra sẽ mang khuynh hướng quá khuôn mẫu, trong khi nếu bỏ qua hết các ràng buộc đi sẽ tạo nên nhiều các trường hợp mặt bằng khác nhau Do vậy để tạo ra được một mặt bằng hợp lý về công năng và hài hòa về thẩm mĩ là vô cùng khó khăn.
Một số phương pháp giải quyết bài toán đã được đề xuất
● Mixed Integer Quadratic Programming - based Layout Design for Building Interiors (Thiết kế mặt bằng nội thất dựa trên phương pháp MIQP)
Phương pháp được nghiên cứu bởi nhóm tác giả trường Đại học Khoa học và Công nghệ Trung Hoa (University of Science and Technology of China) và trường Đại học Khoa học và Công nghệ King Abdullah, các tiểu vương quốc Ả rập (King Abdullah University of Science and Technology) [1] vào năm 2018 Để giải quyết bài toán, nhóm tác giả đã mô hình hóa các mặt bằng dưới dạng các đa giác nhỏ sau đó sử dụng phương pháp Mixed Integer Quadratic Programming (MIQP) để giải quyết bài toán Đầu tiên các mặt bằng sẽ được tham số hóa bằng các đa giác sau đó các đa giác được chia nhỏ hơn nữa thành các hình chữ nhật nhỏ hơn Bước tiếp theo các ràng buộc cấp cao trong thiết kế như: kích thước phòng, vị trí phòng, vị trí các phòng tiếp giáp, đường biên căn hộ… được xây dựng theo cách tương thích với MIQP và tham số hóa các ràng buộc Ưu điểm của phương pháp: Với các ràng buộc cấp cao trong thiết kế mặt bằng căn hộ như diện tích phòng, vị trí các phòng, vị trí các phòng tiếp giáp… phương pháp đã đạt được mục tiêu là tạo ra được 1 mặt bằng kiến trúc căn hộ phù hợp với các công năng và diện tích đặt ra Phương pháp cũng đã có thể xử lý được đa dạng các mặt bằng như
5 mặt bằng công ty, mặt bằng khu thương mại… dựa vào các ràng buộc bậc cao trong thiết kế
Nhược điểm của phương pháp: Do phương pháp phải sử dụng nhiều các ràng buộc phức tạp, mang tính khuôn mẫu dập khuôn trong thiết kế, do đó các bản thiết kế được tạo ra thường không có nhiều sự sáng tạo trong thiết kế và mang tính cứng nhắc, không có nhiều các tùy biến Bên cạnh đó, phương pháp vẫn phải phụ thuộc nhiều vào yếu tố con người trong việc đưa vào các ràng buộc trong thiết kế, do vậy kết quả của thuật toán vẫn mang nhiều yếu tố chủ quan của người sử dụng Trong quá trình xử lý dữ liệu đầu vào, phương pháp sử dụng nhiều các hình chữ nhật nhỏ để số hóa cho các kích thước không gian mặt bằng, do đó với các mặt bằng có hình dạng không phải đa giác, ví dụ như cung tròn, bài toán vẫn chưa thể xử lý được
● Data-driven estimation of building interior plans (Thiết kế mặt bằng nội thất trên cơ sở mô hình Bayes)
Phương pháp được nghiên cứu bởi nhóm tác giả trường đại học Nottingham, Vương quốc Anh (University of Nottingham) [2] vào năm 2017 Để giải quyết bài toán, nhóm tác giả đã xây dựng 1 mô hình Bayes xoay quanh việc tính xác suất xuất hiện của các loại phòng, hình dạng các loại phòng có trong mặt bằng dựa trên các hình dạng, diện tích điển hình của các loại phòng đã được thống kê trước đó Sau đó các phòng sẽ được tinh chỉnh về vị trí, góc xoay… để phù hợp với mặt bằng công trình hiện trạng
6 Hình 1.1: Sơ đồ nguyên lý hoạt động của thuật toán Data-driven estimation of building interior plans Ưu điểm của phương pháp: Việc sử mô hình Bayes giúp cho chi phí tính toán được tối ưu đáng kể Các bài toán về thiết kế mặt bằng cho nhà ở dân cư cũng đã được xử lý mà không yêu cầu các ràng buộc cấp cao trong thiết kế mặt bằng
Nhược điểm của phương pháp: Do phương pháp vẫn cần xác định các hình dạng các phòng bằng phương pháp thủ công khiến mặt bằng kiến trúc tạo ra chưa được tùy biến, các mặt bằng tạo ra có thể vẫn chưa phải tối ưu nhất mà vẫn mang nhiều yếu tố chủ quan của người đưa dữ liệu vào
● Data-driven interior plan generation for residential buildings (Thiết kế mặt bằng nội thất bằng phương pháp dữ liệu)
Phương pháp được đề xuất bởi nhóm nghiên cứu bởi nhóm các tác giả trường đại học Khoa học và công nghệ Trung Hoa (University of Science and Technology of China) [11] vào năm 2019 Để giải quyết bài toán Nhóm tác giả đã thu thập và xử lý gán nhãn thủ công cho khoảng 80.000 ảnh mặt bằng được thu thập từ các sàn bất động sản tại Trung Quốc Sau đó nhóm tác giả đã xây dựng các mạng học sâu để học các thiết kế
7 được thu thập trước đó một cách tự động Từ các thuộc tính đã được học trước đó, mạng học sâu sẽ tự động tạo ra các mặt bằng thiết kế Ưu điểm của phương pháp: Việc áp dụng các mạng học sâu vào giải quyết bài toán giúp các thiết kế tạo ra đạt độ chính xác tăng đáng kể mà không chịu ràng buộc bởi cácc ràng buộc khuôn mẫu nào Bên cạnh đó với sự phát triển ngày càng mạnh của các thiết bị phần cứng phục vụ cho các mạng học sâu giúp cải thiện đáng kể được thời gian tự động thiết kế của mô hình, việc thiết kế mặt bằng được thực hiện bởi máy tính mà không cần tới sự can thiệp của con người
Nhược điểm của phương pháp: Do phương pháp được nghiên cứu bởi nhóm các tác giả tới từ Trung Quốc nên dữ liệu phục vụ cho quá trình huấn luyện mô hình chủ yếu được lấy trong diện cục bộ Trung Quốc Từ đó các thiết kế tạo ra chưa có tính thực tiễn cao khi áp dụng vào các mặt bằng bên ngoài Trung Quốc Phương pháp được đề xuất từ năm 2019 khi đó các mạng học sâu vẫn còn giới hạn độ chính xác cũng như bị giới hạn bởi cácc thiết bị phần cứng.
Lựa chọn phương án giải quyết bài toán
Nhìn chung, các phương pháp hiện tại được xây dựng lên chủ yếu phụ thuộc nhiều vào các ràng buộc cố định để xác định mặt bằng kiến trúc, do vậy các mặt bằng tạo nên còn phụ thuộc nhiều vào các yếu tố chủ quan của con người Việc đó khiến cho quá trình tạo nên mặt bằng kiến trúc vẫn cần phải có sự hiểu biết nhất định về thiết kế kiến trúc Vấn đề trên đã được giải quyết bởi nhóm tác giả trường đại học Khoa học và Công nghệ Trung Hoa với bộ dữ liệu RPLAN [3]( gồm hơn 80.000 mặt bằng thực tế từ các tòa chung cư được giao bán trên thị trường bất động sản Trung Hoa xây dựng bởi nhóm của Wenming Wu năm 2019) được sử dụng cho quá trình huấn luyện mô hình Mỗi mặt bằng được biểu diễn dưới dạng các bức ảnh nhiều kênh bao gồm các phòng và tường được gán nhãn và số hóa ở mỗi kênh của bức ảnh
8 Hình 1.2: Chi tiết hình ảnh dữ liệu được số hóa và gán nhãn
Phương pháp được đưa ra bởi nhóm tác giả trường đại học Khoa học và Công nghệ Trung Hoa đã giải quyết được hạn chế của các phương pháp trước đó Tuy nhiên, để giải quyết bài toán có tính ứng dụng cao trong thiết kế các công trình dân dụng, nhà ở tại Việt Nam cũng như tăng độ chính xác trong việc thiết kế các mặt bằng Dựa trên phương pháp đã được đưa ra, chúng tôi đã cải thiện bằng cách tiến hành thu thập thêm các mặt bằng căn chung cư hiện tại ở Việt Nam Bộ dữ liệu thu thập thêm gồm trên 5.000 mặt bằng căn hộ khác nhau được bổ sung vào bộ dữ liệu sẵn có Các mặt bằng thu thập dạng hình ảnh *png, *jpg… Việc tiếp theo để có thể sử dụng cho quá trình học sâu là phải gán nhãn và số hóa các hình ảnh mặt bằng trên Việc gán nhãn và số hóa các hình ảnh trên được thực hiện bằng một mạng học sâu CNN nhằm giảm thiểu tối đa việc thực hiện thủ công công việc Các dữ liệu được thu thập thêm sau quá trình xử lý, gán nhãn sẽ được bổ sung vào tập dữ liệu hiện tại và tiến hành huấn luyện mô hình
9 Hình 1.3: Ảnh dữ liệu sau khi được gán nhãn tự động Để có thể đưa ra một mặt bằng gần nhất với các mặt bằng do các kiến trúc sư tạo ra
Ta xây dựng một mạng học sâu CNN với phương pháp tiếp cận 2 giai đoạn: Học các thiết kế có sẵn của con người, sau đó từ các thiết kế đã được học máy tính sẽ phân tích và “bắt chước” các thiết kế đó nhằm tạo nên các thiết kế mới Phương pháp gồm nhiều các mạng học sâu nhằm xác định vị trí của các phòng trên mặt bằng việc này sẽ được thực hiện lặp đi lặp lại, sau đó các bức tường sẽ được thêm vào bằng cách sử dụng bộ mã hóa – giải mã mạng để phân chia không gian giữa các phòng Dữ liệu đầu vào là đường bao xung quanh và vị trí cửa chính của căn hộ và sản phẩm đưa ra sẽ là mặt bằng kiến trúc của căn hộ đó dựa theo dữ liệu cho trước
Hình 1.4: Đầu vào và kết quả bài toán
10 Cách thức thực hiện bài toán sẽ được thực hiện bởi hai bài toán độc lập cụ thể như sau:
Hình 1.5 Sơ đồ các bước thực hiện bài toán
Mục đích của bài toán nhằm tạo ra các gợi ý thiết kế mặt bằng căn hộ chung cư một cách tự động hạn chế tối đa sự phụ thuộc của yếu tố con người trong thiết kế với:
● Đầu vào bài toán: Là một ảnh kỹ thuật số định vị các vị trí các tường bao quanh và cửa ra vào của căn hộ
● Đầu ra bài toán: Là một ảnh kỹ thuật số định vị các vị trí các phòng chức năng, vị trí cửa các phòng và các bức tường phân chia các phòng của căn hộ
● Kết quả bài toán đạt được sẽ hỗ trợ các kiến trúc sư, chủ căn hộ, những người không có kiến thức thiết kế kiến trúc tạo ra các mặt bằng kiến trúc căn hộ chung cư.
BÀI TOÁN 1 – SỬ DỤNG MẠNG HỌC SÂU ĐỂ ĐỌC HIỂU, GÁN NHÃN DỮ LIỆU THU THẬP
Giới thiệu
Để có thể đọc hiểu mặt bằng kiến trúc yêu cầu người đọc phải có kiến thức căn bản về trình bày bản vẽ, các ký hiệu kĩ thuật trên bản vẽ như tường, cửa sổ, cửa ra vào, tủ quần áo… Do đó công việc cũng không phải việc dễ dàng Chúng tôi đề xuất áp dụng một mạng học sâu (CNN) nhằm tự động phát hiện các đối tượng tường, cửa, các phòng chức năng… trên mặt bằng, sau đó đánh nhãn cho từng mặt bằng bằng cách sử dụng một ảnh bốn chiều có kích thước 256x256 cụ thể:
● Chiều thứ nhất: Mô tả đường bao xung quanh và cửa chính của căn hộ
● Chiều thứ hai: Mô tả phần diện tích bên trong và bên ngoài căn hộ
● Chiều thứ ba: Mô tả thông tin các bức tường ngăn cách các phòng của căn hộ
● Chiều thứ tư: Mô tả vị trí và loại phòng của căn hộ.
Xác định mô hình học sâu được sử dụng
2.2.1 Mục tiêu và vấn đề
Việc đầu tiên, mạng học sâu sẽ hướng tới việc phát hiện ra các bức tường ngăn, cửa ra vào, cửa sổ, các khu vực phòng chức năng… Sau đó, mạng học sâu sẽ xử lý các phòng hình dạng không phải hình chữ nhật và các bức tường có độ dày không đồng đều Cuối cùng là đi gán nhãn cho các phòng chức năng đã được xác định trên mặt bằng như: phòng khách, phòng ngủ, phòng ăn… Để đạt được mục tiêu trên đòi hỏi khả năng xử lý mặt bằng căn hộ và tìm ra các yếu tố không giống nhau nhưng có tương quan về mặt không gian, công năng trong mặt bằng căn hộ Dựa trên mô hình đã được phát triển bởi nhóm các tác giả trường đại học Trung Quốc – Hồng Kông (The Chinese University of Hong Kong) [4] Luận văn đề xuất phương pháp tự động nhận dạng và phân biệt các không gian kiến trúc trong căn hộ dựa trên ảnh mặt bằng kiến trúc Trước tiên chúng ta tạo ra các phần tử sơ đồ theo thứ bậc Hình 2.1, khi đó các pixel trên mặt bằng căn hộ có thể được xác định là bên trong hoặc bên ngoài, trong khi các pixel bên trong có thể được xác định thêm dưới dạng là pixel đường biên hay pixel loại phòng Trong đó, các pixel đường biên có thể là tường, cửa ra
12 vào hay cửa sổ, trong khi các pixel loại phòng có thể là phòng khách, phòng tắm, phòng ngủ… Dựa trên các phân cấp đó, ta thiết kế một mạng đa tác vụ sâu với một tác vụ để dự đoán các yếu tố ranh giới phòng
Hình 2.1: Đầu vào và kết quả bài toán gán nhãn dữ liệu
2.2.2 Kiến trúc tổng quan mạng học sâu
Kiến trúc mạng tổng thể Hình 2.2a Đầu tiên, ta áp dụng một mạng học sâu shared VGG encoder để trích xuất các thuộc tính từ hình ảnh mặt bằng đầu vào Sau đó, ta phân ra 2 nhánh để xử lý: Một nhánh cho dự đoán các pixel đường biên của các phòng với 2 nhãn được đưa ra là: tường, cửa sổ + cửa ra vào, nhánh còn lại để dự đoán các pixel cho kiểu phòng gồm 8 nhãn: phòng khách, phòng ngủ… (chi tiết Hình 2.1) Cụ thể, mạng học sâu đầu tiên học các thuộc tính được chia sẻ chung cho cả 2 nhánh, sau đó sử dụng
2 bộ giải mã VGG (Hình 2.2b các kết nối và kích thước của các thuộc tính) cho mỗi nhánh để giải quyết 2 bài toán độc lập Do đó mạng học sâu có thể thêm các thuộc tính cho mỗi nhánh Để tối ưu mạng học sâu phát hiện pixel loại phòng, sau đó các thuộc tính của nhánh xử lý pixel đường biên từ bộ giải mã trên cùng tới dưới cùng để tối đa hóa thuộc tính trong việc dự đoán các loại phòng (Hình 2.2a)
13 (a) Tổng quan kiến trúc mạng (b) Kiến trúc mạng mã hóa- giải mã VGG
Hình 2.2: Sơ đồ minh họa kiến trúc mạng nơ ron đa tác vụ
Trong Hình 2.2a Mô hình có bộ mã hóa VGG để trích xuất các tính năng từ đầu vào hình ảnh sơ đồ mặt bằng Các thuộc tính này được chia sẻ cho hai tác vụ tiếp theo trong mạng: một tác vụ để dự đoán pixel ranh giới phòng (tường, cửa ra vào và cửa sổ) và tác vụ còn lại để dự đoán pixel loại phòng (phòng ăn, phòng ngủ ) Quan trọng nhất, hai tác vụ này có bộ giải mã VGG riêng biệt, khi đó các đặc trưng của mỗi bộ giải mã sẽ tập trung vào các thuộc tính quan trọng cho mỗi tác vụ Trong nhánh xác định các loại phòng, các thuộc tính về ranh giới phòng (mũi tên màu xanh lam) được sử dụng theo cơ chế attention & contexture [5] nhằm bổ sung ranh giới các phòng trong việc xác định loại phòng Các thuộc tính từ bộ giải mã ở nhánh trên bổ sung giúp bộ giải mã ở nhánh phía dưới học các thuộc tính theo ngữ cảnh (hộp màu đỏ) sau đó dự đoán các pixel loại phòng Hình 2.2b chi tiết về bộ mã hóa và giải mã VGG Kích thước của các đối tượng của mạng được hiển thị trong từng lớp.
Chi tiết mạng học sâu
2.3.1 Trích xuất đặc trưng hình ảnh bằng mạng học sâu VGG16
VGG16 là một mạng học sâu phức tạp được huấn luyện trên tập con của bộ dữ liệu ImageNet gồm 14 triệu hình ảnh thuộc 22.000 danh mục Trong kết quả đánh giá trên tập dữ liệu ImageNet 2014, VGG16 đã đạt được độ chính xác phân loại 92.7%
14 Hình 2.3: Mô hình mạng học sâu VGG16 đầy đủ
Trong mô hình VGG16 đầy đủ gồm 3 nhóm các layer chính:
+ Nhóm thứ 1: Gồm 16 layers Convolutional và MaxPooling nhằm trích xuất các đặc trưng của hình ảnh phục vụ cho quá trình dự đoán
+ Nhóm thứ 2: Gồm các lớp kết nối đầy đủ (Fully connect) mục đích để giảm chiều dữ liệu từ mảng 2 chiều về thành mảng 1 chiều, sau đó các node này được kết nối với nhau để đưa ra vector sau đó chuyển qua giai đoạn dự đoán kết quả
+ Nhóm thứ 3: Gồm một lớp dự đoán kết quả của bài toán thông qua các hàm kích hoạt phi tuyến
Như vậy, các đặc trưng của hình ảnh đã được trích xuất sau khi đi qua nhóm thứ 1 của mạng học sâu Do vậy để phục vụ bài toán, ta tiến hành loại bỏ các layer fully connect và output layer để trích xuất được các đặc trưng của hình ảnh
Hình 2.4: Mô hình VGG lược bỏ lớp fully connect để trích chọn đặc trưng Hình ảnh có kích thước 512x512x3 sau khi được xử lý sẽ thu được các đặc trưng có kích thước 16x16x512
15 Hình 2.5: Hình ảnh đầu vào cần gán nhãn
Hình 2.6: Kết quả sau khi trích xuất đặc trưng bằng mô hình VGG16
16 2.3.2 Dự đoán các đường biên và loại phòng Ở hình 2.7 là chi tiết kiến trúc mạng Spatial contextual module gồm 2 nhánh Đầu vào của nhánh trên (nhánh dự đoán các pixel đường biên của các phòng) lấy từ các thuộc tính được chia sẻ từ mạng VGG nhánh phía trên (các hộp màu xanh lam hình 2.2a) trong khi đầu vào của nhánh thứ 2 là các thuộc tính kiểu phòng từ bộ giải mã VGG nhánh phía dưới (các hộp màu xanh lá cây hình 2.2a) Trong bộ giải mã VGG hình 2.2a có 4 lớp và spatial contextual module được áp dụng 4 lần mỗi lần cho 1 lớp để tích hợp ranh giới các phòng và công năng của mỗi phòng từ cùng 1 lớp đảm bảo các lớp xử lý cùng độ phân giải (xem các mũi tên đứt hình 2.2a) và tạo ra các thuộc tính đặc điểm (các hộp màu đỏ hình 2.2a):
Hình 2.7: Sơ đồ hoạt động của cơ chế attention contexture Ở nhánh phía trên, chúng ta áp dụng 1 loạt các phép biến đổi Conv cho đối tượng đường biên của phòng và giảm chiều nó thành một ma trận 2D thuộc tính giống như số chiều của ma trận trọng số, được kí hiệu là am,n tại mỗi vị trí pixel m, n Các trọng số được học thông qua các lần tích chập Conv chứ không được đặt cố định
Hơn nữa, ở nhánh phía dưới, các kernel tích chập sẽ được sử dụng 2 lần (xem các toán tử “X” trong hình 2.7) Lần áp dụng thứ nhất để nén các noise futures trước 4 lớp tích chập với các kernel nhận biết hướng Lần áp dụng thứ 2 để ngăn chặn thêm các thuộc tính làm mờ được gọi là cơ chế nhận biết dựa theo ranh giới phòng vì các trọng số được áp dụng học từ các đặc điểm ranh giới phòng Đặt fm,n là đặc điểm đầu vào cho các trọng số đầu tiên am,n và f ’ m,n là đầu ra, toán tử “X” có thể được biểu thị bằng công thức:
Nhánh phía dưới được biểu thị trong hình 2.8 gồm 1 lớp tính chập 3x3 cho các thuộc tính về loại phòng và sau đó các thuộc tính được giảm chiều về thành 1 ma trận 2D, tiếp theo đó là 4 kernel nhận biết hướng để phát hiện các hướng riêng biệt (ngang, dọc, chéo chính, chéo phụ) có kích thước k đơn vị để xử lý các thuộc tính Lấy kernel phát hiện đường ngang làm ví dụ ta có:
ℎ , = ∑ 𝛼 , ⋅ 𝑓 , + 𝛼 , ⋅ 𝑓 , + 𝛼 , ⋅ 𝑓 , (2.2) Trong đó hm,n là các đặc điểm theo phương ngang; f’m,n là các đặc điểm đầu vào, được lấy từ kết quả của công thức (2.1) và α là các trọng số
Trong lần áp dụng trọng số thứ 2, ta tiếp tục sử dụng trọng số α m,n để tích hợp các thuộc tính tổng hợp:
Trong đó vm,n dm,n và d’m,n biểu thị các thuộc tính đường dọc, đường thẳng đứng, đường chéo chính, chéo phụ tương ứng sau các lớp tích chập với các kernel nhận biết hướng
2.3.3 Huấn luyện mô hình – Đánh giá kết quả a Bộ dữ liệu sử dụng Để chuẩn bị dữ liệu cho quá trình huấn luyện, chúng ta sử dụng bộ dữ liệu đã được thu thập và gán nhãn R2V [5] Bộ dữ liệu gồm 815 bức ảnh mặt bằng kiến trúc căn hộ đã được gán nhãn các pixel cho tường, phòng, cửa…
Sau đó chúng ta tiến hành chia tập dữ liệu ra thành 2 phần (715 bức ảnh ngẫu nhiên trong số 815 bức ảnh sẽ được sử dụng làm dữ liệu huấn luyện, 100 bức ảnh còn lại sẽ được sử dụng cho quá trình kiểm định kết quả) b Hàm mất mát (Loss function)
Do bài toán gồm có 2 tác vụ phân biệt là xác định các pixel định nghĩa cho vị trí của tường, cửa và các pixel định nghĩa cho không gian các loại phòng Ở mỗi tác vụ, số lượng các pixel đầu ra là khác nhau tương đối lớn Do vậy cần định nghĩa hàm mất mát
18 để đánh giá cân bằng giữa cả 2 tác vụ Do đó hàm mất mát Cross and within task weighted loss nhằm đánh giá cân bằng giữa cả 2 tác vụ
Trong đó: yi là nhãn của pixel thứ i trong ảnh mặt bằng và C là số các mặt bằng trong bước đó; pi là nhãn dự đoán của các pixel của mặt bằng thứ i (pi € [0, 1]); và wi được định nghĩa:
Trong đó 𝑁 là tổng số các pixel dự đoán đúng trong mặt bằng thứ i và 𝑁 ∑ 𝑁 là tổng số các pixel dự đoán đúng trong tổng số C mặt bằng
● Cross and within task weighted loss: Lrbvà Lrt dùng để định nghĩa cho within task weighted loss lần lượt của tác vụ xác định tường, cửa và tác vụ xác định loại phòng được biểu diễn qua công thức (2.4) Khi đó hàm loss 𝐿 được định nghĩa
Trong đó wrb và wrt được tính toán bởi công thức:
𝑁 + 𝑁 (2.7) c Độ đo (Metrics) Để đánh giá độ chính xác của mô hình chúng ta đi vào đánh giá độ chính xác dự đoán tổng thể của mô hình và độ chính xác khi dự đoán lần lượt các pixel trên mỗi lớp của mô hình:
19 Trong đó: 𝑁 và 𝑁 là tổng số pixel trên bức ảnh đã được gán nhãn và số pixel dự đoán đúng trên ảnh mặt bằng thứ i d Kết quả:
Hình 2.8: So sánh kết quả mạng học sâu với Ground truth
Hình 2.9 Kết quả hàm loss nhánh xác định Boundary
20 Hình 2.10 Kết quả hàm loss nhánh xác định Room
Hình 2.11 Kết quả hàm loss tổng Đánh giá kết quả của mạng học sâu:
21 Bảng 2.1: Đánh giá kết quả mạng học sâu xử lý dữ liệu thu thập thêm
Tổng kết chương
Sau khi áp dụng mạng học sâu vào quá trình số hóa và đánh nhãn cho các mặt bằng, chúng tôi thu được các hình ảnh đã được số hóa và đánh nhãn với độ chính xác 86% Để dữ liệu đầu vào cho quá trình tự động thiết kế mặt bằng được chính xác, không bị các pixel nhiễu, chúng tôi xây dựng 1 chương trình để xử lý loại bỏ các pixel nhiễu Sau đó bằng phương pháp thủ công cùng với sự tư vấn của chuyên môn của các kiến trúc sư giàu kinh nghiệm Chúng tôi cập nhật lại những sai sót trong quá trình đánh nhãn các phòng của mặt bằng và đưa ra bộ dữ liệu bổ sung gồm 5000 mặt bằng đã được số hóa và đánh nhãn chuẩn bị cho quá trình học máy bài toán tự động thiết kế mặt bằng kiến trúc nội thất cho căn hộ.
BÀI TOÁN 2 – MẠNG HỌC SÂU TỰ ĐỘNG THIẾT KẾ MẶT BẰNG KIẾN TRÚC
Giải quyết bài toán - Tổng quan các mạng học sâu được sử dụng
3.1.1 Các giai đoạn thiết kế của bài toán Để giải quyết bài toán, chúng tôi chia bài toán ra thành 2 giai đoạn thiết kế:
● Giai đoạn thứ nhất: Xác định vị trí và tên các loại phòng trên mặt bằng
● Giai đoạn thứ hai: Xác định các bức tường để phân chia không gian các phòng với nhau
Hình 3.1: Các bước thực hiện bài toán thiết kế mặt bằng kiến trúc
Các model thiết kế được xây dựng dựa trên các thuộc tính được trích xuất từ mạng học sâu có sẵn Momentumnet dựa trên mạng học sâu Resnet34 Chi tiết các mạng học sâu được giới thiệu dưới đây:
ResNet (Residual Network) được giới thiệu đến công chúng vào năm 2015 và thậm chí đã giành được vị trí thứ 1 trong cuộc thi ILSVRC 2015 với tỉ lệ lỗi top 5 chỉ 3.57% Không những thế nó còn đứng vị trí đầu tiên trong cuộc thi ILSVRC and COCO 2015 với ImageNet Detection, ImageNet localization, Coco detection và Coco segmentation.Hiện tại thì có rất nhiều biến thể của kiến trúc ResNet với số lớp khác nhau như ResNet-18, ResNet-34, ResNet-50, ResNet-101, ResNet-152, Với tên là ResNet theo sau là một số chỉ kiến trúc ResNet với số lớp nhất định
23 ResNet [8] là kiến trúc được sử dụng phổ biến nhất ở thời điểm hiện tại ResNet cũng là kiến trúc sớm nhất áp dụng batch normalization [9] Mặc dù là một mạng rất sâu khi có số lượng layer lên tới 152 nhưng nhờ áp dụng những kỹ thuật đặc biệt mà ta sẽ tìm hiểu bên dưới nên kích thước của ResNet34 chỉ khoảng 21.5 triệu tham số Kiến trúc với ít tham số nhưng hiệu quả của ResNet đã mang lại chiến thắng trong cuộc thi ImageNet năm 2015 Kiến trúc tổng thể của ResNet được mô tả trong Hình 3.1
Hình 3.2: Kiến trúc của mạng học sâu Resnet
Những kiến trúc trước đây thường cải tiến độ chính xác nhờ gia tăng chiều sâu của mạng CNN Nhưng thực nghiệm cho thấy đến một ngưỡng độ sâu nào đó thì độ chính xác của mô hình sẽ bão hòa và thậm chí phản tác dụng và làm cho mô hình kém chính xác hơn Khi đi qua quá nhiều tầng độ sâu có thể làm thông tin gốc bị mất đi thì các nhà nghiên cứu của Microsoft đã giải quyết vấn đề này trên ResNet bằng cách sử dụng kết nối tắt
ResNet có khối tích chập (Convolutional Bock, chính là Conv block trong hình) sử dụng bộ lọc kích thước 3 x 3 giống với của InceptionNet Khối tích chập bao gồm 2 nhánh tích chập trong đó một nhánh áp dụng tích chập 1 x 1 trước khi cộng trực tiếp vào nhánh còn lại Khối xác định (Identity block) thì không áp dụng tích chập 1 x 1 mà cộng trực tiếp giá trị của nhánh đó vào nhánh còn lại Hình 3.2 minh hoạ hoạt động của một khối ResNet Block
24 Hình 3.3: Kiến trúc của một khối Resnet block
Giả sử chúng ta có x là đầu vào của khối xác định Chúng ta cần ánh xạ đầu vào x thành hàm f(x) Để tìm ra ánh xạ chuẩn xác tương đương với hàm f(x) là một việc khá khó Nhưng nếu cộng thêm ở đầu ra thành x + f(x) thì chúng ta sẽ quy về tham số hóa độ lệch, tức cần tham số hóa phần dư f(x) tìm ánh xạ theo phần dư sẽ dễ hơn nhiều vì chỉ cần tìm giá trị f(x) sao cho nó gần bằng 0 là có thể thu được một ánh xạ chuẩn xác Tại một khối xác định, chúng ta sẽ áp dụng một layer activation ReLU sau mỗi xen kẽ giữa những tầng trọng số
Ví dụ về kiến trúc mạng Resnet50:
Hình 3.4: Kiến trúc mạng Resnet50
"ID BLOCK" trong hình trên là viết tắt của từ Identity block và ID BLOCK x3 nghĩa là có 3 khối Identity block chồng lên nhau Nội dung hình trên như sau :
Stage 1 : Tích chập (Conv1) với 64 filters với shape(7,7), sử dụng stride (2,2)
Stage 2 : Convolutiontal block sử dụng 3 filter với size 64x64x256, f=3, s=1 Có 2
Identity blocks với filter size 64x64x256, f=3
Stage 3 : Convolutional sử dụng 3 filter size 128x128x512, f=3,s=2 Có 3 Identity blocks với filter size 128x128x512, f=3
25 Stage 4 : Convolutional sử dụng 3 filter size 256x256x1024, f=3,s=2 Có 5 Identity blocks với filter size 256x256x1024, f=3
Stage 5 :Convolutional sử dụng 3 filter size 512x512x2048, f=3,s=2 Có 2 Identity blocks với filter size 512x512x2048, f=3
The 2D Average Pooling : sử dụng với kích thước (2,2)
Fully Connected (Dense) : sử dụng softmax activation
Một momentum network là một phiên bản slow copy của mô hình gốc thông qua Exponential Moving Average[10] Thực nghiệm cho thấy phiên bản momentum network cho độ chính xác cao hơn và quá trình huấn luyện ổn định hơn so với phiên bản gốc của mô hình (được cập nhật trọng số thông qua back-propagation) Công thức cập nhật như sau: θ momentum t = αθ momentum t-1 + (1 - α).θ origin
Trong đó θ momentum t là trọng số (weight) của mô hình momentum tại step thứ t θ origin là weight của mô hình gốc được huấn luyện bằng back-propagation
3.1.4 Atrous Spatial Pyramid Pooling (ASPP)
Atrous Spatial Pyramid Pooling là một kiến trúc trong họ các mô hình được nhóm tác giả Liang-Chieh Chen, George Papandreou là những nhà nghiên cứu lâu năm về Semantic Segmentation công bố lần đầu vào năm 2016 và lần thứ 2 vào năm 2017 Ngay sau khi công bố, kiến trúc đã đạt được những kết quả ấn tượng trên tập dữ liệu thẩm định của Pascal VOC 2012 Đây là một kiến trúc áp dụng một cách rất linh hoạt tích chập Atrous thay vì các phương pháp trước đó là áp dụng Transposed Convolution Bên cạnh đó tác giả cũng áp dụng phương pháp Conditional Random Field để tinh chỉnh kết quả dự báo chuẩn xác hơn
26 Hình 3.5: Kiến trúc chung của mạng DeepLab Đầu tiên một ảnh đầu vào sẽ được truyền vào một mạng CNN học sâu nhiều tầng (DCNN - Deep Convolutional Neural Network) Nhiệm vụ chính của DCNN là tạo ra một feature map là một biểu diễn không gian các đặc trưng của ảnh đầu vào Trong DCNN chúng ta sử dụng các tích chập Atrous để trích lọc đặc trưng thay vì các tích chập CNN thông thường Tích chập Atrous sẽ có những tác dụng đặc biệt hơn so với tích chập CNN đó là tầm nhìn (field of view) được mở rộng hơn, không làm giảm chiều của feature map quá sâu mà vẫn giữ được số lượng tham số và chi phí tính toán tương đương với tích chập CNN Lý do không nên giảm kích thước feature map ở các bài toán Image Segmentation là bởi vì việc giảm kích thước feature map có thể dẫn tới mất mát các thông tin về không gian Trong khi mục tiêu của lớp bài toán Image Segmentation là đồng thời định vị vị trí pixels và dự báo nhãn cho chúng Sau cùng của mạng DCNN ta thu được một feature map là một bản đồ đặc trưng của ảnh đầu vào chính là Aeroplane Coarse Score map trong hình vẽ
Score map có kích thước nhỏ hơn nhiều so với ảnh gốc Chúng ta sử dụng Bi-linear Interpolation để resize lại score map về kích thước gốc Bố cục của ảnh sau khi resize không khác so với ảnh gốc, chỉ thay đổi về kích thước Để tạo ra được feature map dự báo thì chúng ta áp dụng một layer kết nối toàn bộ (Fully Connected Layer) kết hợp với phương pháp Conditional Random Field, một phương pháp thuộc nhóm mô hình đồ thị xác suất (Probabilistic Graphical Model) để
27 chuẩn hóa lại nhãn cho các pixels Sau chuẩn hóa, từ score map chúng ta thu được final output có đường biên và vùng ảnh trở nên rõ ràng hơn
Trong mạng DeepLab để nhận diện được bối cảnh (context) của bức ảnh ở một vùng không gian rộng lớn hơn thì chúng ta phải điều chỉnh tăng rate của tích chập Atrous Đồng thời giúp chúng ta có thể nhận diện các vật thể có thể xuất hiện trong ảnh với nhiều kích thước khác nhau
Ví dụ: Nếu bạn đang muốn segment các vật thể trong một ảnh tham gia giao thông Cùng là một chiếc xe ô tô nhưng nếu ở gần thì sẽ có kích thước lớn hơn và ở xa thì kích thước nhỏ hơn Như vậy mô hình của chúng ta cần có cơ chế nhận dạng được đa dạng bối cảnh và kích thước
ASPP (Atrous Spatial Pyramid Pooling) (Kim tự tháp bộ lọc atrous) là một cơ chế giúp ta thực hiện điều đó
Hình 3.6: Hình minh họa kiến trúc của một ASPP
ASPP là một tập hợp của nhiều bộ lọc atrous với kích thước khác nhau được thực hiện đồng thời trên cùng một vùng feature map (chính là Input Feature Map dòng dưới trong ảnh) Sự đa dạng về kích thước bộ lọc được xếp chồng lên nhau đã tạo thành một kim tự tháp bộ lọc atrous Khi rate càng lớn, tầm nhìn của bộ lọc trên Input Feature Map càng lớn và giúp ta học được bối cảnh tổng quát (global context) tốt hơn Với các bộ lọc kích thước nhỏ thì chúng ta sẽ học được bối cảnh cục bộ (local context) tốt hơn Đồng thời ASPP cũng giúp phát hiện vật thể ở nhiều kích thước khác nhau Sau cùng, các đặc trưng tổng quát và cục bộ được trộn lẫn với nhau để tạo thành Score map.
Xác định vị trí các phòng
Vị trí và loại phòng trong căn hộ được xác định qua ba bước:
- Bước thứ nhất: Xác định vị trí của phòng khách trong căn hộ
- Bước thứ hai: Xác định loại phòng và vị trí của phòng đó được thêm vào sau khi đã xác định được vị trí phòng khách
- Bước thứ ba: Quyết định có thêm các phòng khác vào nữa hay không, nếu có sẽ quay lại bước thứ hai, ngược lại sẽ kết thúc vòng lặp và đưa ra vị trí các phòng trong mặt bằng căn hộ
Hình 3.7: Các bước dự đoán vị trí phòng khách và các phòng chức năng
3.2.1 Xác định vị trí phòng khách
Phòng khách là một phần không thể thiết trong không gian một văn nhà Trong một căn nhà, phòng khách thường có hai đặc điểm chính:
- Đặc điểm thứ nhất: Phòng khách thường nằm ở vị trí trung tâm của căn hộ và kết nối với phía ngoài căn nhà thông qua cửa chính
- Đặc điểm thứ hai: Phòng khách thường được kết nối với hầu hết các phòng khác trong căn hộ
Dựa trên những đặc điểm trên, ta có thể xây dựng một thuật toán để xác định vị trí của phòng khách đầu tiên, sau đó ta tiến hành xác định vị trí các phòng còn lại của căn phòng
Phòng khách trong căn hộ thường có hình dạng bất định là một đa giác, vì vậy để xác định vị trí của phòng khách, ta có thể lấy tâm của đa giác đó làm điểm định vị, qua đó có thể xác định được vị trí của phòng khách trong căn hộ Để xác định được vị trí của
29 phòng khách ta sử dụng một mạng học sâu Regression Momentumnet dựa trên cơ sở mạng học sâu đã có sẵn Resnet-34 [6]
Hình 3.8: Kiến trúc mạng học sâu xác định vị trí phòng khách
Dữ liệu đầu vào của mô hình là một hình ảnh đa kênh bao gồm:
- Kênh thứ nhất: Inside layer – Xác định dữ liệu về phần diện tích trong căn hộ và diện tích ngoài căn hộ
- Kênh thứ hai: Boundary layer – Xác định dữ liệu về ranh rới của căn hộ bao gồm các tường bao ngoài và cửa chính của căn hộ
- Kênh thứ ba: Door layer – Xác định dữ liệu về vị trí của cửa chính căn hộ Để trích xuất các đặc trưng của hình ảnh dữ liệu đầu vào, ta sử dụng mạng học sâu Momentumnet dựa trên cơ sở mạng Resnet-34 được nghiên cứu và phát triển bởi sau khi đã bỏ đi các layer Average pooling và Fully connect ở phía cuối của mạng đi Sau khi các đặc trưng của hình ảnh được trích xuất từ mạng học sâu Momentumnet - Resnet-
34, ta thêm vào sau đó hai lớp tích chập Convolution với hàm kích hoạt LeakyReLU và
30 sử dụng một lớp chuẩn hóa Batch Normalization trước khi các dữ liệu đi qua một lớp Adaptive Pooling để đưa ra tọa độ (x, y) của vị trí phòng khách
3.2.2 Xác định vị trí các phòng còn lại
Sau khi đã xác định được vị trí phòng khách trên mặt bằng, ta sử dụng một mạng học sâu encoder – decoder để xác định loại phòng và vị trí phòng tiếp theo trên mặt bằng Các phòng có hình dạng không đồng nhất do vậy để đơn giản hóa trong quá trình huấn luyện ta giả định một hình vuông kích thước (18x18) ở điểm trung tâm của mỗi phòng để đại diện cho căn phòng đó Sau đó, ta xây dựng dữ liệu huấn luyện cho mạng học sâu bằng cách loại bỏ ngẫu nhiên các phòng từ mặt bằng của tập dữ liệu Do mạng học sâu xác định các phòng này dựa trên cơ sở là vị trí của phòng khách đã được xác định trước, do vậy các mẫu trong tập dữ liệu dùng để đào tạo đều vẫn chứa phòng khách Đầu vào cho mạng là một hình ảnh đa kênh gồm ba kênh như đầu vào của mạng học sâu xác định vị trí phòng khách và bổ sung thêm các kênh để xác định vị trí của từng phòng được biểu thị là các hình vuông kích thước 18x18 tại trung tâm của mỗi phòng Cuối cùng là một kênh chứa toàn bộ các phòng trên mặt bằng để bổ sung thông tin tổng thể về các phòng trên mặt bằng cho mạng học sâu Mục tiêu của mạng học sâu trên là một hình ảnh có cùng kích thước với ảnh đầu vào và đã được gán nhãn loại phòng và vị trí của mỗi phòng Để xây dựng một mạng encoder – decoder để xác định vị trí của các phòng báo cáo sử dụng mô hình học sâu DeepLab-ASPP [7] (Atrous Spatial Pyramid Pooling) của nhóm tác giả Liang - Chieh Chen trường đại học London phát triển năm 2018 được xây dựng trên mạng học sâu Momentumnet-ResNet-34 sau đó loại bỏ đi lớp Upsampling cuối cùng đi Thay vào đó, ta thêm một lớp tích chập Convolution và một lớp giải mã Transposed Convolution ở cuối cùng của mạng để nâng kích thước đầu ra của hình ảnh cuối cùng lên kích thước của đầu vào
31 Hình 3.9: Kiến trúc mạng học sâu xác định vị trí các phòng còn lại
Sau mỗi một vòng tính toán, có thể có nhiều các pixel của nhiều các phòng trên mặt bằng được mạng đưa ra, do vậy kết quả sẽ gồm nhiều các pixel nhiễu Để giảm thiểu sự tác động của các pixel nhiễu, sau mỗi vòng lặp tính toán, chúng ta chỉ xác định duy nhất một loại phòng và vị trí của phòng đó trên mặt bằng căn hộ Quy trình lấy mẫu như sau:
- Đối với mỗi pixel p được gán nhãn loại phòng trên mặt bằng, ta tính toán số lượng pixel (kí hiệu Np), có cùng nhãn với p nằm trong vùng lân cận với hình vuông 18x18 của p
- Chọn vị trí của pixel có Np lớn nhất là trung tâm của căn phòng mới được thêm vào
- Loại phòng mới có nhãn giống với nhãn của phòng đã chọn pixel được biể thị dưới dạng hình vuông 18x18 với tâm là vị trí của pixel có Np lớn nhất
32 (a) Vị trí các phòng hiện có
(b) Các pixel dự đoán cho phòng tiếp theo
(c) Quyết định phòng được thêm vào Hình 3.10: Các bước loại bỏ nhiễu và chọn phòng mới được thêm vào
Trong quá trình huấn luyện, hầu hết các pixel được gán nhãn không phải là phòng, do vậy việc sử dụng một hình vuông 18 x 18 sẽ cải thiện được sự ổn định của mô hình hơn là việc dự đoán 1 điểm có tọa độ (X, Y) trên mặt bằng.
Xác định điểm dừng của thuật toán
Việc xác định loại phòng và vị trí các phòng được thêm vào trong mặt bằng căn hộ là một vòng lặp, do vậy cần xác định thời điểm dừng của quá trình trên Do vậy, để xác định điểm dừng của thuật toán, ta xây dựng một mạng học sâu nhằm xác định điểm dừng phù hợp với bài toán Đầu tiên ta dữ liệu đào tạo sẽ được đơn giản hóa như dữ liệu dùng để huấn luận mô hình xác định loại phòng và vị trí phòng, tiếp theo đó ta chọn ngẫu nhiên một nửa trong số các mặt bằng trong tập dững liệu và gán nhãn là True (tức là tiếp tục quá trình) và phần còn lại được gán nhãn là False (kết thúc quá trình) Vì mỗi phòng trong một mẫu phòng trong bộ dữ liệu được gán nhãn True, ta loại bỏ 50% khả năng có thể xuất hiện phòng đó trong mặt bằng Đầu vào cho mạng học sâu xác định điểm dừng được lấy tương tự với đầu vào của mạng xác định vị trí các phòng và được bổ sung thêm một vector xác định các phòng đã tồn tại trong mặt bằng hiện có
33 Hình 3.11: Kiến trúc mạng học sâu xác định điểm dừng thuật toán
Ta sử dụng mạng học sâu Resnet-34 đê trích xuất các đặc trưng của dữ liệu đầu vào Sau đó kết hợp với dữ liệu về các phòng đã được xác định trên mặt bằng sẽ được đi qua ba lớp kết nối đầy đủ cùng với hàm kích hoạt leaky ReLU giữa các lớp kết nối Kết thúc mạng ta sẽ sử dụng một lớp phân loại nhị phân Softmax để xác định thời điểm dừng hay tiếp tục.
Xác định vị trí tường ngăn
Sau khi đã xác định được các phòng và vị trí của các phòng trên mặt bằng dựa vào trọng tâm của phòng, bước tiếp theo để có thể tạo nên một mặt bằng kiến trúc hoàn chỉnh, ta cần xác định các tường phân chia giới hạn cho từng phòng Để làm được điều
34 này, ta sử dụng một mạng học sâu encoder – decoder để dự đoán các bức tường bằng cách xác định các pixel có trong hình ảnh Sau đó một bước hậu xử lý để chuyển đổi các pixel này thành các biểu diễn vector
Hình 3.12: Các bước Xác định vị trí tường căn hộ
3.4.1 Mạng dự đoán mã hóa – giải mã (Encoder – Decoder)
Sau khi đã xác định được vị trí các phòng Bước tiếp theo ta cần dự đoán vị trí của các bức tường của từng phòng thông qua thông tin vị trí của chúng Để làm được điều này, ta sử dụng một mạng học sâu Encoder – decoder để dự đoán vị trí của các bức tường Để tạo ra tập dữ liệu để huấn luyện cho mạng học sâu, đầu tiên ta đơn giản hóa các hình ảnh mỗi mặt bằng như tập dữ liệu đã sử dụng ở các mạng học sâu xác định vị trí các phòng và thời điểm dừng thuật toán Dữ liệu đầu vào cho mạng giống như dữ liệu của mạng xác định vị trí các phòng Mục tiêu của mạng học sâu là một hình ảnh có cùng kích thước với hình ảnh đầu vào và đã được gán nhãn cho các pixel mô phỏng cho vị trí của tường Có ba loại nhãn cho mỗi pixel: Wall - pixel thuộc tường, Inside – pixel thuộc về phía bên trong của tường nhưng không thuộc bức tường nào, Outside – pixel thuộc phía bên ngoài Ở đây, các vị trí của cửa ra vào các phòng cũng được coi là một phần của các bức tường Ở đây ta sử dụng cùng một kiến trúc mạng như trong mạng xác định vị trí của các phòng do trong cả 2 bài toán mục đích đều nhằm phân loại các pixel Để huấn luyện cho mạng học sâu, ta sử dụng hàm mất mát cross entropy để tính theo các pixel trung bình tương tự như với mạng dự đoán vị trí các phòng
35 Hình 3.13: Kiến trúc mạng học sâu xác định vị trí tường
Kết quả thu được sau khi sử dụng mạng học sâu xác định vị trí các bức tường ta thu được một hình ảnh có kích thước giống kích thước ảnh bản đầu với các pixel rời rạc được phân loại theo các nhãn là tường hay không phải tường Tuy nhiên để có thể đưa ra được mặt bằng hoàn chỉnh ta cần phải xử lý để chuyển đổi các pixel biểu thị cho đâu là tường thành dạng vector Để thực hiện điều đó ta sẽ áp dụng theo các bước sau:
36 Hình 3.14: Quá trình vector hóa vị trí tường căn hộ
● Bước 1: Phân tách và nhóm cụm các pixel bao gồm cả các pixel nhiễu quy định cho các bức tường ngang, dọc thành các nhóm các bức tường (Hình 3.9a) Sau đó các bức tường được biểu thị thành các hình chữ nhật được xác định bởi cácc tọa độ pixel lớn nhất và nhỏ nhất tại mỗi cụm (Hình 3.9b)
● Bước 2: Tạo các liên kết để nối cá bức tường lại với nhau và căn chỉnh để khôi phục hoàn chỉnh các bức tường (Hình 3.9c) Các khối tách biệt được kết nối với nhau thông qua các tính toán về vị trí giao cắt các bức tường ngang, dọc Để tối ưu, ta điểu chỉnh một số các bức tường: Các bức tường gần nhau ở một ngưỡng xác định sẽ được hợp nhất với nhau Một số các bức tường có thể được di chuyển đẻ phù hợp với liên kết các bức tường bao quanh căn hộ
● Bước 3: Gán nhãn cho mỗi pixel dựa trên dự đoán các phòng và các bức tường Để xác định hình dạng của phòng ta sử dụng các tọa độ tâm của căn phòng đã được gán nhãn từ trước, sau đó sẽ tính toán các pixel liền kề với nó được gán nhãn inside trong mạng xác định vị trí tường (Hình 3.9d)
● Bước 4: Đặt vị trí cửa ra vào và cửa sổ cho các phòng theo các nguyên tắc:
- Các vị trí công cộng như nhà bếp với phòng khách, phòng khách với ban công… sẽ được đặt các cửa thông phòng để loại trừ đi các bức tường phân chia không gian giữa các phòng
- Các cửa sổ được đặt vào các vị trí tưởng bên ngoài có chiều dài dài nhất
- Cửa ra vào sẽ được đặt tại vị trí để thông với không gian của phòng khách
4 CHƯƠNG IV : THỰC NGHIỆM – ĐÁNH GIÁ KẾT QUẢ
Chuẩn bị dữ liệu
Bộ dữ liệu RPLAN được xây dựng bằng cách thu thập hơn 120.000 các mặt bằng tòa nhà chung cư trên thị trường bất động sản Châu Á Mỗi mặt bằng căn hộ được biểu diễn gồm cả thông tin hình học và tên của phòng trong một bức ảnh kích thước 256x256 pixel Hình 3 (b)
Bảng 4.1: Số lượng các loại phòng trong 80.788 mặt bằng bộ dữ liệu
Bảng 4.2: Thống kê số lượng phòng / mặt bằng bộ dữ liệu RPLAN
Hình 4.1: Phân bố tỉ lệ diện tích phòng khách trong bộ dữ liệu RPLAN
38 Hình 4.2: Phân bố tổng diện tích căn hộ trong bộ dữ liệu RPLAN
Trong cấu trúc của đa số các tòa chung cư trên thế giới thường có một số khu vực dành cho ống kỹ thuật, thang máy, các phòng điện nước, phòng kỹ thuật… Đây không phải mục tiêu của bài toán vì những khu vực này quá nhỏ và có thể được đặt ngẫu nhiên tận dụng các không gian chết của tòa nhà Để tránh sự ảnh hưởng của các yếu tố này và nâng cao độ tin cậy của tập dữ liệu Bộ dữ liệu RPLAN đã được loại bỏ một số dữ liệu không cần thiết để chạy training và test Do đó, trước tiên bộ dữ liệu được loại bỏ các mặt bằng có chứa loại phòng chưa được xác định hoặc phòng có tần số xuất hiện thấp trên tổng thể các mặt bằng được thu thập Thống kê trong bộ dữ liệu bao gồm 13 loại phòng khác nhau Sau đó, chỉ các mặt bằng đáp ứng được tất cả các tiêu trí sau được giữ lại:
● Tổng diện tích của mặt bằng lớn hơn 60 m2 và ít hơn 120 m2
● Số lượng phòng có trong mặt bằng lớn hơn 3 và nhỏ hơn 9
● Có tối thiểu 1 phòng khách trong mặt bằng
● Tỷ lệ diện tích của phòng khách trên tổng diện tích của mặt bằng lớn hơn 0.25 và nhỏ hơn 0.55
● Diện tích trung bình của mỗi phòng lớn hơn 10m2 và nhỏ hơn 20m2
Sau khi đã xử lý làm sạch và loại bỏ các bản vẽ không phù hợp Bộ dữ liệu còn lại 80.788 mặt bằng chi tiết trong bảng 4.1
39 Để số hóa cho dữ liệu và đưa vào mạng học sâu Mỗi mặt bằng sẽ được biểu diễn bằng một hình ảnh bốn kênh Hình 3 (c) Cụ thể, kênh thứ nhất của hình ảnh dùng để biểu diễn cho phần diện tích của căn hộ Kênh thứ hai của hình ảnh được dùng để biểu diễn cho thông tin về đường bao quanh của căn hộ Kênh thứ 3 của hình ảnh được biểu diễn thông tin của các phòng chức năng trong căn hộ Trong trường hợp trên mặt bằng có nhiều hơn 2 phòng có cùng chức năng Chúng tôi sử dụng kênh thứ tư để phân biết các phòng này Các phòng sẽ được gán bởi các số nguyên cụ thể (ví dụ 0: phòng khách, 1: phòng ngủ 1, 2: phòng ngủ 2…)
Hình 4.3: Chi tiết gán nhãn dữ liệu ảnh đầu vào
Kết hợp với 5000 mặt bằng căn hộ đã được gán nhãn và số hóa thu thập trên thị trường bất động sản tại Việt Nam ta được bộ dữ liệu gồm 85.788 mặt bằng để phục vụ cho quá trình huấn luyện mô hình
Bảng 4.3: Thống kê số lượng phòng / mặt bằng bộ dữ liệu đào tạo
40 Hình 4.4: Phân bố tổng diện tích căn hộ trong bộ dữ liệu huấn luyện
Hàm mất mát (Loss function)
4.2.1 Hàm mất mát mạng học sâu xác định vị trí phòng khách Để huấn luyện mô hình học sâu xác định vị trí phòng khách ta sử dụng hàm mất mát L1 sau khi đã được sửa đổi phù hợp với bài toán:
N là số lượng ảnh huấn luyện trong một batch (𝑤 , ℎ) và (𝑤 ∗ − ℎ ∗ ) là kết quả vị trí được dự đoán từ mạng học sâu và vị trí chính xác theo dữ liệu huấn luyện của phòng khách Hàm SmoothL1 được tính theo công thức:
4.2.2 Hàm mất mát mạng học sâu xác định vị trí các phòng còn lại Để huấn luyện cho mô hình học sâu xác định vị trí các phòng còn lại trên mặt bằng, ta sử dụng hàm mất mát Cross Entropy dựa trên các điểm pixel kết quả để tính toán
N là số ảnh huấn luyện trong một batch ∑ Phía trong là tổng tất cả các pixel 𝑤 là trọng số của mỗi loại phòng được dự đoán t là chỉ số loại phòng mục tiêu của mỗi pixel x là vector điểm dự đoán tính toán trên mỗi pixel
4.2.3 Hàm mất mát mạng học sâu xác định điểm dừng của mạng học sâu xác định vị trí các phòng Để huấn luyện cho mô hình học sâu xác định thời điểm dừng của mạng học sâu xác định vị trí phòng, ta sử dụng hàm mát mát nhị phân tiêu chuẩn cross entropy:
N là số lượng dữ liệu huấn luyện trong một batch 𝑥 ∗ và 𝑥 là điểm dự đoán cho quyết định tiếp tục và dừng
4.2.4 Hàm mất mát mạng học sâu xác định vị trí tường
Hàm mất mát sử dụng để huấn luyện mô hình xác định vị trí tường được lấy giống như hàm mất mát sử dụng để huấn luyện mô hình xác định vị trí các phòng
N là số ảnh huấn luyện trong một batch ∑ Phía trong là tổng tất cả các pixel
𝑤 là trọng số của mỗi loại phòng được dự đoán t là chỉ số tường hoặc không phải tường mục tiêu của mỗi pixel x là vector điểm dự đoán tính toán trên mỗi pixel.
Độ đo (Metrics)
4.3.1 Độ đo độ chính xác mô hình xác định vị trí phòng khách Để trực quan hóa và xác định độ chính xác của mạng học sâu Báo cáo xác định khoảng cách từ tâm của phòng khách thực tế và tâm phòng khách mà mạng học sâu dự đoán theo công thức :
W(w1, w2) là tọa độ tâm phòng khách được dự đoán từ mô hình học sâu, W * (w * 1, w * 2) là tọa độ tâm thực tế của phòng khách
4.3.2 Độ đo độ chính xác mô hình xác định vị trí các phòng còn lại
Vị trí các phòng được xác định bởi cácc pixel có gán nhãn nằm trong một hình vuông kích thước 18x18 đặt tại tâm của mỗi phòng Do đó để xác định độ chính xác của mạng học sâu ta cần xác định độ dự đoán chính xác của tập hợp các pixel Ta có Độ đo độ chính xác tổng thể của các pixel xác định theo công thức :
∑ 𝑝 là tổng số pixel dự đoán đúng vị trí trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑝 ∗ là tổng số pixel trong mỗi ảnh huấn luyện
Khi một pixel được dự đoán đúng vị trí có thể không đúng với loại phòng mục tiêu, do vậy ta có Độ đo cho sự chính xác của loại phòng :
∑ 𝑝 là tổng số pixel dự đoán đúng vị trí và loại phòng trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑝 ∗ là tổng số pixel được gán nhãn vị trí các phòng trung bình trong mỗi một ảnh huấn luyện
Tỷ lệ số pixel dự đoán chính xác so với tổng số pixel được dự đoán
∑ 𝑝 là tổng số pixel dự đoán đúng vị trí và loại phòng trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑝̂ là tổng số pixel dự đoán vị trí trung bình trong một ảnh huấn luyện thuộc batch đó
43 4.3.3 Độ đo độ chính xác mô hình xác định điểm dừng của mô hình xác định vị trí phòng Để xác định độ chính xác thuật toán xác định điểm dừng ta sẽ tính số dự đoán chính xác trên tổng số dự đoán :
∑ 𝑝𝑟𝑒 là tổng số dự đoán đúng điểm dừng trong batch đó và ∑ 𝑝𝑟𝑒 ∗ là tổng số dữ liệu huấn luyện trong batch đó
4.3.4 Độ đo độ chính xác mô hình xác định vị trí tường
Vị trí các phòng được xác định bởi cácc pixel tương tự như trong mạng học sâu dự đoán vị trí các phòng Do đó để xác định độ chính xác của mạng học sâu ta cần xác định độ dự đoán chính xác của tập hợp các pixel Ta có Độ đo độ chính xác tổng thể của các pixel xác định theo công thức :
∑ 𝑤 là tổng số pixel dự đoán đúng vị trí trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑤 ∗ là tổng số pixel trong mỗi ảnh huấn luyện
Khi một pixel được dự đoán đúng vị trí có thể không đúng là tường, do vậy ta có Độ đo cho sự chính xác tường :
∑ 𝑤 là tổng số pixel dự đoán đúng vị trí của tường trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑤 ∗ là tổng số pixel được gán nhãn vị trí tường trung bình trong mỗi một ảnh huấn luyện
Tỷ lệ số pixel dự đoán chính xác so với tổng số pixel được dự đoán
∑ 𝑤 là tổng số pixel dự đoán đúng vị trí tường trung bình trong một ảnh huấn luyện thuộc batch đó và ∑ 𝑤 là tổng số pixel dự đoán vị trí tường trung bình trong một ảnh huấn luyện thuộc batch đó
Thực nghiệm
Cấu hình máy tính sử dụng :
- CPU : Inte(R) Xeon(R) E5-2690 v3 @2.60Ghz x 24 processors
Thời gian huấn luyện mô hình :
Mạng học sâu Momentumnet Resnet-34
Xác định vị trí phòng khách 18 giờ 50 phút 22 giờ 45 phút Xác định vị trí các phòng 43 giờ 20 phút 47 giờ 10 phút Xác định thời điểm dừng 36 giờ 10 phút 41 giờ 30 phút
Xác định vị trí tường 44 giờ 15 phút 55 giờ 20 phút
Bảng 4.4: Thời gian huấn luyện các mạng học sâu
4.4.1 Mạng học sâu dự đoán vị trí phòng khách a Tham số huấn luyện :
Learning rate base 10 -3 weight decay 10 -3
Bảng 4.5: Tham số huấn luyện mạng học sâu dự đoán vị trí phòng khách b So sánh kết quả khi sử dụng mạng Resnet-34 và mạng Momentumnet dựa trên mạng Resnet-34
45 (a) Average Loss (b) Distance error Hình 4.5: Kết quả huấn luyện mạng học sâu dự đoán vị trí phòng khách
- Có thể thấy tốc độ hội tụ của mô hình Momentumnet nhanh hơn so với mô hình Resnet-34 với cùng khoảng thời gian đào tạo Mô hình Momentum hội tụ trong khoảng epoch thứ 100 trong khi mô hình Resnet-34 hội tụ ở khoảng epoch thứ
- Giá trị sai số của mô hình Resnet-34 là lớn hơn đáng kể so với mô hình Momentumnet
4.4.2 Mạng học sâu dự đoán vị trí các phòng còn lại a Tham số huấn luyện :
Learning rate base 10 -4 weight decay 10 -4
Bảng 4.6: Tham số huấn luyện mạng học sâu dự đoán vị trí các phòng b So sánh kết quả khi sử dụng mạng Resnet-34 và mạng Momentumnet dựa trên mạng Resnet-34
Hình 4.6: Kết quả huấn luyện mạng học sâu dự đoán vị trí các phòng
- Mô hình Momentumnet có điểm hội tụ cực tiểu của hàm Loss đạt giá trị tối ưu hơn so với mô hình Resnet-34 Do đó chỉ số độ chính xác tổng thể của mô hình Momentumnet cao hơn so với mô hình Resnet-34
- Ở chỉ số về độ chính xác của các pixel phân loại từng loại phòng và tỉ lệ pixel phân loại chính xác của mô hình Momentumnet cũng được cải thiện hơn so với mô hình Resnet-34
4.4.3 Mạng học sâu xác định thời điểm dừng thêm phòng mới a Tham số huấn luyện :
Learning rate base 10 -4 weight decay 10 -4
Bảng 4.7: Tham số huấn luyện mạng học sâu dự đoán thời điểm dừng
47 b So sánh kết quả khi sử dụng mạng Resnet-34 và mạng Momentumnet dựa trên mạng Resnet-34
Hình 4.7 Kết quả huấn luyện mạng học sâu dự đoán thời điểm dừng
- Tốc độ hội tụ của cả 2 mô hình không có sự khác biệt rõ ràng
- Độ chính xác của mô hình Momentumnet có cải thiện hơn một chút và có sự ổn định hơn so với mô hình Resnet34
- Ở cả 2 mô hình độ chính xác tối ưu quanh khoảng epoch thứ 50 Càng về sau loss function càng giảm tuy nhiên mô hình có độ chính xác càng giảm
4.4.4 Mạng học sâu dự đoán vị trí tường ngăn a Tham số huấn luyện :
Learning rate base 10 -4 weight decay 10 -4
Bảng 4.8: Tham số huấn luyện mạng học sâu dự đoán vị trí tường b So sánh kết quả khi sử dụng mạng Resnet-34 và mạng Momentumnet dựa trên mạng Resnet-34
Hình 4.8: Kết quả huấn luyện mạng học sâu dự đoán vị trí tường
- Ở cả 2 mô hình không có sự sai lệch đáng kể nào về điểm hội tụ của hàm tối ưu và độ chính xác của mô hình
Kết quả
4.5.1 Mặt bằng số 1 ( Diện tích : 70m 2 ) :
49 Hình 4.9: Ảnh đầu vào mặt bằng số 1 – Ground truth Kết quả:
Hình 4.10: Kết quả mặt bằng số 1
- Kết quả thiết kế từ hai mạng học sâu đưa ra về cơ bản đều xác định các vị trí các phòng ngủ, phòng vệ sinh… vị trí tường theo các tiêu chuẩn thiết kế
- Trong mặt bằng số 1 ta thấy ở mạng Resnet, mô hình đã không dự đoán được vị trí của phòng ngủ 1 do đó bức tường ngăn giữa phòng khách và phòng ngủ 1 đã không được thiết kế Ở mặt bằng được thiết kế bởi mạng Momentumnet, vị trí phòng ngủ 1 và tường ngăn đã được thiết kế
4.5.2 Mặt bằng số 2 ( Diện tích : 77m 2 ) :
Hình 4.11: Ảnh đầu vào mặt bằng số 2 – Ground truth Kết quả:
51 Hình 4.12: Kết quả mặt bằng số 2
- Kết quả thiết kế từ hai mạng học sâu đưa ra về cơ bản đều xác định các vị trí các phòng ngủ, phòng vệ sinh… vị trí tường theo các tiêu chuẩn thiết kế
- Trong mặt bằng số 2 ta thấy ở mạng Resnet, diện tích nhà vệ sinh rộng 5.84m2 và có hình dạng phức tạp Mạng momentumnet đã cải thiện được diện tích phần nhà vệ sinh là 5.14m2 và hình dạng là hình chữ nhật
4.5.3 Mặt bằng số 3 ( Diện tích : 67m 2 ) :
Hình 4.13: Ảnh đầu vào mặt bằng số 3 – Ground truth
Hình 4.14: Kết quả mặt bằng số 3
- Kết quả thiết kế từ hai mạng học sâu đưa ra về cơ bản đều xác định các vị trí các phòng ngủ, phòng vệ sinh… vị trí tường theo các tiêu chuẩn thiết kế
- Trong mặt bằng số 3 ta thấy ở mạng Resnet, mô hình đã không dự đoán được vị trí của phòng ngủ 2 do đó bức tường ngăn giữa phòng khách và phòng ngủ 2 đã không được thiết kế Ở mặt bằng được thiết kế bởi mạng Momentumnet, vị trí phòng ngủ 2 và tường ngăn đã được thiết kế
53 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
● Các kết quả đạt được :
Phương pháp Ưu điểm Nhược điểm
- Phương pháp đã tạo ra được 1 mặt bằng kiến trúc căn hộ phù hợp với các công năng và diện tích đặt ra
- Có thể xử lý được đa dạng các mặt bằng như mặt bằng công ty, mặt bằng khu thương mại…
- Các thiết kế mang tính khuôn mẫu, chưa giải quyết được các dạng hình thù phức tạp, cung tròn
Data-driven estimation of building interior plans
- Chi phí tính toán thấp
- Các mặt bằng không mang tính khuôn mẫu
- Cần nhiều thao tác của người dùng, cần nhiều dữ liệu đầu vào
Data-driven interior plan generation for residential buildings
- Các mặt bằng đa dạng
- Dữ liệu đầu vào đơn giản
- Mất nhiều thời gian gán nhãn dữ liệu
- Thời gian huấn luyện dài
- Các mặt bằng tạo ra chưa phù hợp với văn hóa tại Việt Nam
- Giảm thiểu thời gian gán nhãn dữ liệu, huấn luyện mô hình
- Tăng độ chính xác khi thiết kế mặt bằng
- Các mặt bằng tạo ra phù hợp với các căn hộ tại Việt Nam
- Chưa thiết kế được đa dạng các loại mặt bằng như công ty, khu thương mại…
Từ bài toán nhận dạng và tự động thiết kế mặt bằng kiến trúc, luận văn đã tập trung nghiên cứu và tìm hiểu về một số mạng học sâu phổ biến như VGG16, Resnet, Momentum network để áp dụng vào việc gán nhãn dữ liệu và giải quyết bài toán thiết kế mặt bằng Ngoài ra luận văn cũng đã bổ sung được một số lượng lớn các dữ liệu mới nhằm tối ưu hóa mô hình học sâu trong việc thiết kế các không gian nhỏ hơn phổ biến tại Việt Nam
Luận văn đã cho thấy hiệu quả về độ chính xác và bộ nhớ máy tính sử dụng trong quá trình huấn luyện các mạng học sâu bằng việc sử dụng mạng học sâu momentum network dựa trên cấu trúc của các mạng học sâu có sẵn như Resnet
54 Sau khi đánh giá được mức độ chính xác trong các mạng học sâu sử dụng cấu trúc momentumnet cao hơn so với sử dụng mạng học sâu resnet, luận văn đã có những so sánh sự khác biệt trong việc thiết kế mặt bằng không gian khi áp dụng hai cấu trúc mạng trên
Các mặt bằng được tạo ra đã phần đã có thể đảm bảo được về mặt tiêu chuẩn thiết kế không gian kiến trúc căn hộ chung cư hiện hành tại Việt Nam cũng như về công năng sử dụng của căn hộ
Việc luận văn chỉ dừng lại ở việc thiết kế mặt bằng cho các căn hộ chung cư chưa thể giải quyết được hết các bài toán thực tế hiện nay Do vậy, trong tương lai chúng ta có thể hướng tới việc tạo mặt bằng kiến trúc cho các căn hộ nhà ở dân dụng gồm nhiều tầng, cũng như việc thiết kế không gian cho các không gian khác : văn phòng, cửa hàng, trung tâm mua sắm…
[1] Wenming Wu, Lubin Fan, Ligang Liu, Peter Wonka ”MIQP-based Layout Design for Building Interiors” in Computer Graphics Forum, 37(2), 2018
[2] Julian F Rosser, Gavin Smith & Jeremy G Morley “Data-driven estimation of building interior plans” International Journal of Geographical Information Science
[3] Set of python utilities to work with the RPLAN dataset from "Data-driven Interior Plan Generation for Residential Buildings" paper
[4] Zhiliang Zeng, Xianzhi Li, Ying Kin Yu, Chi-Wing Fu “Deep Floor Plan Recognition Using a Multi-Task Network with Room-Boundary-Guided Attention”
[5] Reza Azad, Moein Heidari, Yuli Wu, Dorit Merhof “Contextual Attention Network: Transformer Meets U-Net” Institute of Imaging and Computer Vision, RWTH Aachen University, Germany
[6] Michael E Sander, Pierre Ablin, Mathieu Blondel, Gabriel Peyre´ “Momentum Residual Neural Networks” Proceedings of the 38 th International Conference on Machine Learning, PMLR 139, 2021
[7] Liang-Chieh Chen Google Inc., Mountain View, CA; George Papandreou; Iasonas Kokkinos; Kevin Murphy; Alan L Yuille “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs” in IEEE Transactions on Pattern Analysis and Machine Intelligence (Volume: 40, Issue: 4, April 1 2018)
[8] He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun "Deep residual learning for image recognition." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp 770-778 2016
[9] Ioffe, S., Szegedy, C (2015, June) Batch normalization: Accelerating deep network training by reducing internal covariate shift In International conference on machine learning (pp 448-456) PMLR
[10] Cai, Zhaowei, Avinash Ravichandran, Subhransu Maji, Charless Fowlkes, Zhuowen Tu, and Stefano Soatto "Exponential moving average normalization for self- supervised and semi-supervised learning." In Proceedings of the