Nghiên cứu về “Tiếp cận và trích xuất đặc điểm của nội thất”

Một phần của tài liệu Phân loại phong cách thiết kế nội thất dùng học sâu và ứng dụng thực tế đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 59 - 74)

CHƯƠNG 2 TỔNG QUAN VỀ HỌC MÁY, HỌC SÂU

3.1. Một số nghiên cứu liên quan

3.1.1. Nghiên cứu về “Tiếp cận và trích xuất đặc điểm của nội thất”

3.1.1.1. Tóm tắt nghiên cứu.

Báo cáo này nhằm mục đích đề xuất phương pháp tiếp cận dựa trên Học Sâu để tự động nhận dạng các đặc điểm thiết kế của các yếu tố thiết kế nội thất bằng cách sử dụng các hình ảnh kỹ thuật số nhất định. Kỹ thuật nhận dạng hình ảnh gần đây sử dụng mạng nơ-ron tích tụ (Neural Network) đã cho thấy thành công lớn trong các lĩnh vực nghiên cứu và công nghiệp khác nhau. Các mã nguồn mở và các mơ hình nhận dạng hình ảnh được đào tạo trước hỗ trợ nhiệm vụ nhận dạng hình ảnh cho phép nhóm dễ dàng đào tạo lại các mơ hình để áp dụng chúng trên bất kỳ nền tảng nào. Báo cáo cũng mô tả cách áp dụng các kỹ thuật đó vào quy trình thiết kế nội thất và mơ tả một số kết quả minh họa trong cách tiếp cận đó. Đồ nội thất là một trong những yếu tố thiết kế nội thất phổ biến nhất có tính năng phụ bao gồm các đặc điểm thiết kế ngầm, chẳng hạn như phong cách, hình dạng, chức năng cũng như các thuộc tính rõ ràng, chẳng hạn như thành phần, vật liệu và kích thước. Bài báo này chỉ ra cách đào tạo lại mơ hình để trích xuất một số tính năng để quản lý và sử dụng hiệu quả thơng tin thiết kế đó. Thiết bị mục tiêu là ghế và các đặc điểm thiết kế mục tiêu được giới hạn ở các tính năng chức năng, vật liệu, sức chứa và phong cách thiết kế. Tổng số 3933 bộ dữ liệu hình ảnh chiếc ghế và 6 mơ hình nhận dạng hình ảnh đã được đào tạo lại đã được sử dụng để đào tạo lại. Thơng qua sự kết hợp của nhiều mơ hình đó, trình diễn suy luận cũng đã được mơ tả.

3.1.1.2. Kết quả của nghiên cứu.

Cơng trình nghiên cứu này nhằm mục đích phát triển việc trích xuất tự động tồn bộ thiết bị trong thiết kế nội thất và tính năng thiết kế của nó từ hình ảnh và sử dụng nó cho thiết kế nội thất. Trong số các nghiên cứu cần thiết cho điều đó, việc phát hiện các yếu tố nội thất đã có thể thực hiện được và cho thấy độ chính xác cao. Là nghiên cứu cơ bản cho bước tiếp theo, bài báo này mô tả chỉ cần khảo sát kỹ thuật và cách tiếp cận cần thiết

13 JIN SUNG KIM, JAE YEOL SONG và JIN KOOK LEE, 2018, “Approach to the extraction of design

features of interior design elements using image recognition technique”, Department of Interior Architecture &

Trang | 43 và sử dụng chúng để kiểm tra nhằm đào tạo lại mơ hình học sâu để nhận ra các thiết bị thiết kế nội thất và các tính năng thiết kế của nó.

Nhóm nghiên cứu đã khảo sát các kỹ thuật có sẵn như CNN và thư viện nhận dạng hình ảnh và sử dụng chúng cho mục đích nhận diện. Trong bài báo cáo, các thiết bị thiết kế nội thất nhận diện được giới hạn ở những thiết bị như: có chỗ ngồi như ghế, sofa và ghế đẩu. Các tính năng thiết kế bị giới hạn ở một số tính năng có thể nhận dạng trực quan trên hình ảnh. Dữ liệu hình ảnh về đào tạo được thu thập từ tìm kiếm hình ảnh của Google và trang web chuyên nghiệp có liên quan như Houzz, một trong những trang web thương mại điện tử nội thất phổ biến nhất. Quy trình của bài báo này được tóm tắt như sau:

• Đào tạo và trích xuất tự động các đặc điểm thiết kế của ghế: Đồ nội thất và tính năng của nó được xác định và các đặc điểm tiêu chí thú vị có thể kiểm tra bằng mắt. Tiếp theo, tập dữ liệu hình ảnh đã được xây dựng theo các tính năng từ nhiều nguồn dựa trên web. Nhiều mơ hình nhận dạng hình ảnh được đào tạo lại cho từng loại thiết bị nội thất.

• Tự động hóa và một số tính năng thiết kế của nó bằng cách sử dụng các mơ hình đào tạo lại: tích hợp nhiều mơ hình khai thác tự động hóa, các tính năng thiết kế khác nhau được suy ra từ hình ảnh cho trước.

Hình 3.1: Phạm vi cơng việc khai thác tự động các thiết bị trong thiết kế nội thất và các tính năng thiết kế

Trang | 44

3.1.2. Nghiên cứu về “Cơng cụ tìm kiếm đa phương thức cho thiết kế thời trang và nội thất”14

3.1.2.1. Tóm tắt nghiên cứu.

Trong bài báo, nhóm đã đề xuất một cơng cụ tìm kiếm đa phương thức kết hợp các đặc điểm trực quan và văn bản để truy xuất các mục từ cơ sở dữ liệu đa phương tiện tương tự như truy vấn. Mục tiêu của ứng dụng của nhóm là cho phép truy xuất trực quan các mặt hàng thời trang như quần áo hoặc đồ nội thất. Các cơng cụ tìm kiếm hiện tại chỉ coi đầu vào dạng văn bản là nguồn thơng tin bổ sung về hình ảnh truy vấn và khơng tương ứng với tình huống thực tế, nơi người dùng tìm kiếm “cùng một chiếc áo thun nhưng bằng vải coton”. Phương pháp mới của nhóm nghiên cứu, có tên là DeepStyle, giảm thiểu những thiếu sót đó bằng cách sử dụng kiến trúc mạng nơ-ron chung để mơ hình hóa sự phụ thuộc theo ngữ cảnh giữa các tính năng của các phương thức khác nhau. Nhóm đã chứng minh tính mạnh mẽ của phương pháp này trên hai tập dữ liệu đầy thách thức khác nhau về các mặt hàng thời trang và nội thất, trong đó cơng cụ DeepStyle của chúng tôi vượt trội hơn các phương pháp cơ bản hơn 20% trên các tập dữ liệu đã thử nghiệm. Cơng cụ tìm kiếm của chúng tơi được triển khai thương mại và có sẵn thơng qua một ứng dụng dựa trên Web.

3.1.2.2. Kết quả của nghiên cứu.

Trong bài báo này, chúng tôi đề xuất một phương pháp mới để truy vấn đa phương thức. Phương pháp được đề xuất là một kiến trúc mạng nơ-ron Siamese tìm hiểu sự tương đồng về phong cách bằng cách tận dụng thông tin ngữ cảnh thực nghiệm - tần suất các mục đã cho xuất hiện trong cùng một ngữ cảnh phong cách. Phương pháp của nghiên cứu vượt qua các phương pháp cơ bản và đạt được kết quả tốt hơn để tạo ra các nhóm mặt hàng tương thích về mặt phong cách.

14 IVONA TAUTKUTE (s16352 at pjwstk.edu.pl), TOMASZ TRZCIŃSKI, (Member, IEEE), ALEKSANDER P. SKORUPA, ŁUKASZ BROCKI, AND KRZYSZTOF MARASEK, “DeepStyle: Multimodal Search Engine for

Fashion and Interior Design”,

1 Institute of Multimedia, Polish-Japanese Academy of Information Technology, 02-008 Warsaw, Poland.

2 Tooploox Sp. z o.o., 00-001 Warsaw, Poland.

3 Institute of Computer Science, Warsaw University of Technology, 00-661 Warsaw, Poland.

Received May 1, 2019, accepted June 6, 2019, date of publication June 17, 2019, date of current version July 15, 2019.

Trang | 45 Ưu điểm lớn nhất của phương pháp này là hiệu quả gấp hai lần. Đầu tiên, nó cho phép mở rộng truy vấn trực quan với đầu vào văn bản tùy ý và truyền tải thơng tin khơng có trong đầu vào trực quan, do đó cho phép người dùng tìm thấy các sản phẩm phù hợp hơn. Thứ hai, nó truy xuất các kết quả tương tự về mặt phong cách.

Nhược điểm chính của phương pháp này là cần dữ liệu được gắn nhãn lớn về hình ảnh ngữ cảnh (thông tin ngữ cảnh nơi các mục xuất hiện cùng nhau). Các phương pháp học tập bán giám sát có thể giảm nhu cầu về dữ liệu như vậy là tùy thuộc vào công việc trong tương lai của chúng tôi.

Nghiên cứu áp dụng thành công phương pháp luận cho một số ứng dụng miền thương mại - thời trang và thiết kế nội thất, bằng cách khai thác hình ảnh sản phẩm và siêu dữ liệu liên quan của chúng. Cuối cùng, nhóm đã triển khai một triển khai web có sẵn thơng minh về sản phẩm của chúng tôi và phát hành bộ dữ liệu mới với các mặt hàng nội thất IKEA.

Trang | 46

Trang | 47

3.2. Phương pháp đề xuất.

Trang | 48

3.3. Một số mơ hình CNN. 3.3.1. DenseNet15

Hình 3.5: Kiến trúc của mơ hình DenseNet.

DenseNet là một kiến trúc CNN mới được huấn luyện trên tập dữ liệu phân loại (CIFAR, SVHN, ImageNet ) sử dụng ít tham số. Nhờ việc sử dụng Residual như mơ hình ResNet nên mạng có thể sâu hơn các mạng thơng thường và dễ dàng tối ưu hóa.

Kiến trúc DenseNet bao gồm các khối Dense khác nhau, trong mỗi khối, các lớp được kết nối với nhau một cách dày đặc. Mỗi lớp nhận được thông tin từ đầu ra của tất cả các lớp trước nó. Việc sử dụng Residual giống như một các kiểm sốt thơng tin của mỗi lớp, tránh sự mất mát thông tin đi qua các lớp.

Khối Dense (Dense Block)

Mỗi một khối Dense bao gồm nhóm các FC layer kết nối với các layer trước đó:

• Batch Normalization.

Trang | 49

• ReLU activation.

• 3x3 Convolution.

Tác giả mơ hình cho thấy rằng sử sụng Batch Normalization ở trước có hiệu quả hơn ở cuối lớp.

Lớp Transition (Transition Layer)

Thay vì tính tổng như ResNet thì DenseNet kết hợp tất cả các feature map lại. Transition layer bao gồm :

• Batch Normalization

• 1x1 Convolution

• Average pooling

Hình 3.6: Kiến trúc các phiên bản của mơ hình DenseNet.

Sau khi kết nối các lớp, với CNN truyền thống nếu chúng ta có L layer thì sẽ có L connection, cịn trong mơ hình DenseNet sẽ có 𝐿(𝐿 + 1)/2 connection.

Trang | 50

3.3.2. InceptionV3.

Kiến trúc Inception được phát triển bởi Christian Szegedy và các công sự từ đội ngũ Google Research và đã giành chiến thắng trong cuộc thi ILSVRC 2014 với tỷ lệ lỗi dưới 7%. Sở dĩ mơ hình này trở nên đặc biệt và vì phần lớn mơ hình đã sâu hơn nhiều so với những mạng CNN trước đây và sử dụng các Inception Module giúp mơ hình giảm ít tham số đi 10 lần so với AlecNet nhưng hiệu quả vẫn tốt.

Hình 3.7: Mơ-đun Inception.

Các tín hiệu đầu vào được sao chép và đưa vào 4 layer khác nhau, tất cả các Convolutional Layers đều sử dụng ReLU activation. Ký hiệu “3 x 3 + 1 (S)” có nghĩa là lớp sử dụng Kernel 3x3, Stride = 1 và “same” Padding. Các Convolutional Layers có kích thước Kernel khác nhau ([1 x 1], [3 x 3], [5 x 5]) giúp mơ hình nắm bắt các mẫu ở các tỷ lệ khác nhau. Mỗi lớp đều sử dụng Stride = 1 và “same” Padding nên output của module này có cùng kích thước với input, vì vậy ở output của mỗi lớp có thể nối tất cả lại với nhau theo chiều sâu.

Inception Module có các Convolutional Layers với Kernels 1 x 1 khơng thể quan sát được diện rộng trên hình ảnh nhưng nó có thể quan sát được các mẫu theo chiều sâu, chúng được sử dụng để xuất các feature maps ít hơn so với đầu vào, có nghĩa chúng giảm việc tính tốn và số lượng tham số giảm, giúp mơ hình traning với tốc độ nhanh hơn, nâng cao khả năng học tổng qt của mơ hình. Mỗi cặp Convolution Layers nối với nhau ([1 x 1, 3 x 3] và [1 x 1]) giống như một Powerful Convolutional Layer có khả năng quan sát các mẫu phức tạp hơn.

Trang | 51

Hình 3.8: Kiến trúc Inception.

Kiến trúc của Inception có 9 Module Inception với sáu số đại diện cho số Feature Maps Output của mỗi Convolutional Layers (các Layers này đều sử dụng

𝑅𝑒𝐿𝑈 activation):

• Hai lớp đầu tiên, kích thước của ảnh được chia cho 4 để giảm khối lượng tính tốn, lớp Convolutional đầu tiên sử dụng [7𝑥7] lớn hơn để khơng mất mát

nhiều thơng tin.

• Sau đó ảnh được chuyển đến lớp Local Response Normalization để đảm bảo lớp trước đó học được nhiều mẫu khác nhau

• Hai lớp Convolutional tiếp theo hoạt động giống như một “cổ chai” giúp số lượng tham số và khối lượng tính tốn giảm.

Trang | 52

• Tiếp theo ảnh được đi qua một lớp MaxPooling để kích thước hình ảnh được giảm đi 2 lần để tăng tốc độ tính tốn

• Sau đó qua một qua một ngăn xếp cao gồm 9 Module Inception được xe kẽ một vài lớp MaxPooling để giảm kích thước và tăng tốc độ cho mạng.

• Tiếp theo lớp Global Avarage Pooling tính ra giá trị trung bình của mỗi feature map : điều này làm giảm các thông tin không gian,

• Sau đó được qua một lớp FC có 1000 units vì có 1000 classes và qua một lớp Softmax Activation để tính xác xuất các lớp kết quả đầu ra.

Inception có nhiều biến thể khác nhau như InceptionV3, InceptionV4 sử dụng các Module Inception khác nhau để đạt hiệu suất tốt hơn.

InceptionV3 chủ yếu tập trung vào việc giảm khối lượng tính tốn các tham số bằng cách thay đổi kiến trúc của Module Inception trước đó, ý tưởng này được đề xuất trong bài báo “Rethinking the Inception Architecture for Computer Vision” vào năm 2015 bởi Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, and Jonathon Shlens. InceptionV3 khác các phiên bản trước đó với những thay đổi thuật toán như (RMSprop, Label Smoother, BN(Batch Normalization)).

Trang | 53

3.3.3. Xception16.

Một trong những phiên bản biến thể nổi trội của GoogleLeNet (cũng cịn có tên là Inception-V1) được Google phát triển đó là Xception (viết tắt của Extreme Inception). Nó là Á quân của cuộc thi ILSVRC17 vào năm 2015 trên cả hai tập dữ liệu là ImageNet ILSVRC và JFT. Xception được đề xuất là năm 2016 bi Franỗoi Chollet (tỏc gi ca Keras) và nó vượt trội hơn đáng kể so với Inception-V3 trong việc phân loại trên tập dữ liệu khổng lồ (350 triệu hình ảnh và 17.000 lớp khác nhau).

Ý tưởng của Xception là kết hợp giữa hai mơ hình là GoogleLeNet và ResNet gần giống với Inception-V4 nhưng có khác ở chỗ là thay vì sử dụng các inception modules thì Xception sử dụng các layer đặc biệt khác được gọi là lớp tích chập theo chiều sâu (Depthwise Separable Convolution layer hay còn được viết tắt là Separable Convolution layer).

Sự khác nhau của Convolution layer và Separable Convolution layer

• Ở các lớp tích chập (Convolution layer) ta thường thấy ở các mơ hình CNN. Chúng thường sử dụng bộ lọc (filters) để cố gắng học được đồng thời các mẫu không gian (spatial patterns) khác nhau ví dụ: hình trịn, hình bầu dục, đường thẳng,… và các mẫu kênh chéo (cross-channel patterns) ví dụ như: mắt + mũi + miệng = khn mặt,…

• Cịn phần ở các lớp tích chập phân tách (Separable Convolutional layer) có thể phân tách và tạo ra các giả định về các mẫu không gian và mẫu kênh chéo có thể mơ hình hóa theo cách riêng biệt. Nó gồm hai phần:

- Phần đầu tiên áp dụng một bộ lọc không gian duy nhất cho feature map đầu vào.

- Sau đó, phần thứ hai sẽ dành riêng cho các mẫu kênh chéo. nó chỉ là một lớp tích hợp thơng thường với các bộ lọc 1 × 1 (học nhờ xuyên qua các features map).

16 Viết tắt của “Extreme Inception”, Tham khảo từ: Francois Chollet, 2017, “Xception: Deep Learning with Depthwise Separable Convolutions”, Google, Inc

17 Là cuộc thi để tìm ra các giải pháp phân loại hình ảnh (thường là CNN) trên quy mô lớn sử dụng một phần nhỏ của tập ImageNet với khoảng 1.2 triệu ảnh của 1000 nhãn (trung bình mỗi nhãn có khoảng 1.2 ngàn hình ảnh) làm tập train, 50000 ảnh làm tập validation và 150000 ảnh làm tập test (tập validation và tập test đều có 1000 nhãn thuộc tập train) - ImageNet - Wikipedia

Trang | 54

Hình 3.9: Depthwise Separable Convolutional layer (Separable Convolutional layer).

Vì các lớp tích chập phân tách chỉ có một bộ lọc khơng gian cho mỗi kênh đầu vào, nên tránh sử dụng chúng sau các lớp có q ít kênh, như sau lớp đầu vào. Vì lý do này, kiến trúc Xception bắt đầu với 2 lớp tích tụ thơng thường, nhưng sau đó phần cịn lại của kiến trúc chỉ sử dụng các lớp chập trùng tách biệt (34 tất cả), cộng với một số lớp max pooling layers và usual final layers (a global average pooling layer and a dense output layer).

Separable Convolution layer tốt hơn Convolution layer?

Convolutional layers:

• Có nhiệm vụ tính tốn các convolution.

• Chỉ là các layer đơn. Separable convolutional layers:

• Số lượng tham số ít hơn so với Convolutional layers.

• Độ chính xác cao hơn vì độ sâu được tăng lên.

• Học được các đặc điểm nhờ việc xun qua các features map.

• Có 2 thành phần là: Spacial filter và Cross channel pattern.

Một phần của tài liệu Phân loại phong cách thiết kế nội thất dùng học sâu và ứng dụng thực tế đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 59 - 74)