Bối cảnh và vấn đề nghiên cứu

Trong lĩnh vực thị giác máy tính và trí tuệ nhân tạo, xử lý và phân tích hình ảnh đóng vai trò then chốt trong quá trình tương tác giữa người và máy. Phân đoạn ngữ nghĩa (semantic segmentation) là bài toán gán nhãn đối tượng cho từng điểm ảnh (pixel-level labeling), cho phép hệ thống phân biệt chính xác đối tượng cần quan tâm với các thực thể khác hoặc phần nền, từ đó giúp máy tính hiểu sâu sắc ngữ cảnh không gian trong ảnh. Các phương pháp phân vùng truyền thống trước đây chủ yếu dựa trên các đặc trưng mức thấp như mức xám, màu sắc hoặc kết cấu, dẫn đến độ chính xác bị hạn chế trong các tình huống phức tạp. Sự xuất hiện của học sâu (Deep Learning), đặc biệt là mạng nơ-ron tích chập (Convolutional Neural Network - CNN), đã tạo ra bước tiến lớn nhờ khả năng tự động trích xuất đặc trưng phân cấp có độ chính xác cao.

Xuất phát từ thực tiễn đó, đồ án tốt nghiệp "Phân đoạn ngữ nghĩa sử dụng mạng nơ-ron tích chập" của tác giả Phạm Thị Ngọc Anh (ngành Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng, dưới sự hướng dẫn của TS. Ngô Trường Giang, bảo vệ năm 2023) tập trung nghiên cứu và thực nghiệm mô hình học sâu giải quyết bài toán này.

Nhiệm vụ và mục tiêu nghiên cứu của đồ án được xác định rõ:

  1. Nghiên cứu tổng quan về bài toán phân đoạn ảnh, phân loại các bài toán phân vùng và khảo sát các ứng dụng thực tiễn của phân đoạn ngữ nghĩa trong đời sống (như xe tự lái, chẩn đoán y tế, nhận dạng khuôn mặt).
  2. Nghiên cứu nền tảng lý thuyết mạng nơ-ron nhân tạo và mạng nơ-ron tích chập (CNN), phân tích chi tiết cơ chế hoạt động của các tầng chức năng và khảo sát các kiến trúc CNN kinh điển (LeNet-5, AlexNet, VGG-16, Inception, U-Net).
  3. Lựa chọn kiến trúc U-Net để xây dựng và thực nghiệm mô hình phân đoạn ngữ nghĩa trên bộ dữ liệu ảnh giao thông thực tế CamVid thông qua nền tảng điện toán đám mây Google Colab.

Đối tượng nghiên cứu của đề tài là các thuật toán phân đoạn ngữ nghĩa và mô hình mạng nơ-ron tích chập. Phạm vi nghiên cứu về mặt dữ liệu là tập dữ liệu Cambridge-driving Labeled Video Database (CamVid) mô phỏng góc nhìn điều khiển giao thông đường phố đô thị. Phạm vi triển khai kỹ thuật được giới hạn trên môi trường Google Colab với phần cứng GPU T4 và ngôn ngữ lập trình Python.


Cơ sở lý thuyết và phương pháp

Đồ án xây dựng nền tảng lý luận dựa trên lý thuyết xử lý tín hiệu số 2D và cấu trúc mạng nơ-ron nhân tạo:

  • Lý thuyết Perceptron và Mạng nơ-ron nhân tạo (NN): Tác giả mô tả nơ-ron nhân tạo lấy cảm hứng từ cấu trúc nơ-ron sinh học. Perceptron cơ bản nhận đầu vào, nhân với các trọng số thực $w_i$, cộng giá trị ngưỡng lệch (bias $b$) và đưa ra đầu ra nhị phân thông qua hàm ngưỡng. Để khắc phục nhược điểm nhạy cảm quá mức của Perceptron đối với biến thiên trọng số nhỏ, mô hình chuyển sang sử dụng nơ-ron Sigmoid với hàm kích hoạt $\sigma(z) = \frac{1}{1 + e^{-z}}$, cùng các hàm kích hoạt phi tuyến khác như Tanh và ReLU ($f(x) = \max(0, x)$). Mạng Perceptron đa tầng (Multilayer Perceptron - MLP) gồm tầng vào (input layer), các tầng ẩn (hidden layers) và tầng ra (output layer) tạo thành mạng kết nối đầy đủ (Fully Connected Network).
  • Cấu trúc mạng nơ-ron tích chập (CNN): Khắc phục nhược điểm bùng nổ số lượng tham số của MLP khi xử lý dữ liệu ảnh 3 chiều (chiều rộng, chiều cao, chiều sâu kênh màu RGB). CNN gồm hai khối chính:
    1. Khối trích xuất đặc trưng: Sử dụng lớp tích chập (Convolutional Layer) với các bộ lọc (filter kernel 3x3, 5x5), bước trượt (stride) và kỹ thuật đệm lề (padding) nhằm tạo ra bản đồ đặc trưng (feature map); lớp kích hoạt phi tuyến ReLU; và lớp gộp (Pooling Layer) như Max pooling hoặc Average pooling để giảm kích thước không gian, giảm chi phí tính toán và chống quá khớp (overfitting).
    2. Khối phân loại: Làm phẳng bản đồ đặc trưng (flatten) đưa vào các lớp kết nối đầy đủ (Fully Connected Layer) và tính xác suất lớp qua hàm Softmax.
  • Khảo sát tiến trình phát triển kiến trúc: Đồ án tổng hợp sự phát triển của các mô hình CNN: LeNet-5 (1998, Yann LeCun), AlexNet (2012, Alex Krizhevsky và Geoffrey Hinton - chiến thắng ILSVRC 2012 với tỷ lệ lỗi top-5 là 15,3%), VGG-16 (Simonyan và Zisserman, sử dụng bộ lọc nhỏ 3x3), Inception/GoogLeNet (2014, kết hợp đa tỷ lệ bộ lọc và nhánh phụ output) và U-Net (Olaf Ronneberger et al., 2015).

Phương pháp nghiên cứu thực tế được tác giả áp dụng gồm:

  • Phương pháp phân tích - tổng hợp lý thuyết: Khảo sát các tài liệu khoa học, hệ thống hóa lịch sử các phương pháp phân đoạn từ phân cụm, ngưỡng, biến đổi watershed, graph cuts đến các mô hình học sâu hiện đại như FCN, R-CNN, RNN, FPN.
  • Phương pháp thực nghiệm mô hình hóa: Thiết kế, lập trình và huấn luyện kiến trúc mạng U-Net trên nền tảng Python/TensorFlow/Keras; kiểm thử và đánh giá trực quan trên tập dữ liệu ảnh kiểm thử.

Thiết kế và triển khai

Hệ thống thực nghiệm được thiết kế và triển khai hoàn toàn trên nền tảng điện toán đám mây với các thông số kỹ thuật được xác định rõ ràng:

1. Môi trường phần cứng và công nghệ

  • Nền tảng thực thi: Google Colab hỗ trợ phần cứng tăng tốc GPU T4, runtime Python 3. Nền tảng này tích hợp với Google Drive để lưu trữ mã nguồn và trọng số mô hình.
  • Hệ thống thư viện:
    • Xử lý hệ thống và tệp tin: os.
    • Tính toán số học và xử lý dữ liệu: numpy, pandas.
    • Xử lý hình ảnh: cv2 (OpenCV), PIL.
    • Trực quan hóa dữ liệu: matplotlib.
    • Khung học sâu: tensorflow, keras cùng các module lớp mạng (Conv2D, MaxPooling2D, BatchNormalization, Dense, Dropout, Flatten, Conv2DTranspose) và kỹ thuật callback (ReduceLROnPlateau, EarlyStopping, ImageDataGenerator).

2. Dữ liệu thực nghiệm

Tác giả sử dụng bộ dữ liệu Cambridge-driving Labeled Video Database (CamVid) gồm 700 ảnh ghi lại bối cảnh giao thông đô thị từ góc nhìn phía trước ô tô đang di chuyển. Cơ sở dữ liệu cung cấp nhãn chuẩn xác đến từng pixel tương ứng với 32 lớp ngữ nghĩa (đường đi, ô tô, người đi bộ, biển báo, công trình...).

Toàn bộ dữ liệu được phân bổ thành 3 tập riêng biệt:

  • Tập huấn luyện (Training set): 300 ảnh (bao gồm 150 ảnh gốc và 150 ảnh nhãn tương ứng).
  • Tập đánh giá (Validation set): 100 ảnh (bao gồm 100 ảnh gốc và 100 ảnh nhãn).
  • Tập kiểm thử (Test set): 231 ảnh (bao gồm 231 ảnh gốc và 231 ảnh nhãn).

Tiền xử lý ảnh: Kích thước ảnh gốc trong CamVid là $960 \times 720$ pixel. Để tối ưu hóa tốc độ huấn luyện và đồng bộ với kích thước ma trận nhãn, toàn bộ ảnh đầu vào được nén/thay đổi kích thước (resize) về chuẩn $256 \times 256$ pixel với 3 kênh màu RGB.

3. Cấu trúc mô hình và thiết lập huấn luyện

Mô hình được lựa chọn là U-Net với kiến trúc hai nhánh đối xứng gồm đường co rút (contracting path/encoder) và đường mở rộng (expansive path/decoder), kết hợp các đường tắt (skip connections) để giữ lại các thông tin chi tiết không gian bị mất mát qua các tầng gộp.

Đoạn mã cấu hình và khởi tạo mô hình được triển khai trong đồ án:

def GiveMeUnet(inputImage, numFilters = 16, droupouts = 0.1, doBatchNorm = True):
    # Định nghĩa phần encoder
    c1 = Conv2dBlock(inputImage, numFilters * 1, kernelSize = 3, doBatchNorm = doBatchNorm)
    p1 = tf.Dropout(droupouts)(p4)
    c5 = Conv2dBlock(p4, numFilters * 16, kernelSize = 3, doBatchNorm = doBatchNorm)
    # Định nghĩa phần decoder
    u6 = tf.Conv2DTranspose(numFilters*8, (3, 3), strides = (2, 2), padding = 'same')(c5)
    u6 = tf.Conv2DTranspose(numFilters*4, (3, 3), strides = (2, 2), padding = 'same')(c6)
    u7 = tf.Conv2DTranspose(numFilters*2, (3, 3), strides = (2, 2), padding = 'same')(c7)
    u8 = tf.Conv2DTranspose(numFilters*1, (3, 3), strides = (2, 2), padding = 'same')(c8)
    u9 = tf.Dropout(droupouts)(u9)
    c9 = Conv2dBlock(u9, numFilters * 1, kernelSize = 3, doBatchNorm = doBatchNorm)
    output = tf.Conv2D(3, (1, 1), activation = 'sigmoid')(c9)
    model = tf.Model(inputs = [inputImage], outputs = [output])
    return model

Bảng thông số thiết lập huấn luyện mô hình:

Tham số / Cấu hình Giá trị thiết lập Ghi chú kỹ thuật
Kích thước đầu vào (Input shape) $(256, 256, 3)$ Chuẩn hóa từ kích thước gốc $960 \times 720$
Số lượng epoch (num_epochs) $10$ Số chu kỳ lặp huấn luyện
Kích thước batch (batch_size) $32$ Lượng mẫu xử lý trong mỗi bước lặp
Tốc độ học (learning_rate) $0.01$ Thiết lập cho thuật toán tối ưu
Tỷ lệ Dropout $0.07$ Áp dụng khi khởi tạo hàm GiveMeUnet
Hàm tối ưu hóa (Optimizer) Adam tf.Adam(learning_rate=0.01)
Hàm mất mát (Loss function) Binary Crossentropy loss='binary_crossentropy'
Thước đo đánh giá (Metrics) Accuracy metrics=['accuracy']
Tầng ngõ ra (Output layer) Conv2D (1x1, activation='sigmoid') Tạo bản đồ phân đoạn đầu ra

Nội dung chính theo từng chương

Chương 1: Tổng quan về phân đoạn ảnh

Chương mở đầu phân tích khái niệm cơ bản về xử lý ảnh số, xem ảnh như tín hiệu 2D hoặc hàm đa biến $P(c_1, c_2, ...)$ với các điểm ảnh mang giá trị cường độ sáng. Tác giả phân định ranh giới kỹ thuật giữa ba bài toán phân vùng trong thị giác máy tính:

  • Phát hiện đối tượng (Object Detection): Định vị đối tượng thông qua hộp bao (bounding box).
  • Phân vùng ngữ nghĩa (Semantic Segmentation): Gán nhãn từng pixel vào một lớp danh mục, mọi cá thể cùng lớp được gộp chung một vùng.
  • Phân vùng thực thể (Instance Segmentation): Vừa gán nhãn pixel theo lớp vừa phân biệt rõ ràng từng thực thể cá biệt thuộc cùng một lớp.

Tác giả hệ thống hóa lịch sử phát triển của các kỹ thuật phân đoạn ảnh từ năm 1970 đến nay:

  • Giai đoạn cổ điển: Kỹ thuật lan vùng (Brice và Fennema - 1970; cải tiến bởi Pavlidis 1990, Bischof 1994, Zugaj 1998); kỹ thuật ngưỡng (Watanabe - 1974); phát hiện biên (Jack Sklansky - 1978); phân cụm (Coleman và Andrews - 1979); biến đổi topo Watershed (Digabel và Lantuéjoul - 1978; cải tiến bởi Beucher 1992, Grau 2004); Graph cuts (Rother et al. - 2004); và Trường ngẫu nhiên Markov có điều kiện CRF (Kato và Pong - 2006).
  • Giai đoạn học sâu (từ 2015): Mạng tích chập đầy đủ FCN (Long et al. - 2015), mô hình Tự mã hóa - giải mã (Noh et al. - 2015), mạng R-CNN cho phân vùng thực thể (Ren et al. - 2015), mạng RNN mô hình hóa phụ thuộc không gian (Visin et al. - 2016), mạng kim tự tháp đặc trưng FPN (Lin et al. - 2017) và mô hình kết hợp biên động Active Contour (Marcos et al. - 2018).

Chương 1 cũng khảo sát các lĩnh vực ứng dụng (chẩn đoán hình ảnh y tế, xe tự hành, giám sát an ninh, tương tác người máy, đa dạng sinh học và viễn thám vệ tinh), các hướng nghiên cứu tại Việt Nam (Viện MICA, Viện Điện tử Y Sinh - ĐHBK Hà Nội, Viện CNTT - Viện Hàn lâm KHCNVN, Học viện KTQS, ĐHQG Hà Nội, ĐHQG TP.HCM, Công ty Biển Bạc) cùng 5 thách thức lớn: tập dữ liệu phức tạp hơn, mô hình học sâu có khả năng giải thích, học ít giám sát/không giám sát, xử lý thời gian thực và phân vùng dữ liệu đám mây điểm 3D (3D point cloud).

Chương 2: Mạng nơ-ron nhân chập

Chương 2 trình bày chi tiết toán học và cấu trúc của mạng nơ-ron tích chập (CNN). Tác giả bắt đầu từ đơn vị nơ-ron sinh học đến Perceptron nhị phân, sau đó giải thích nguyên lý hàm kích hoạt phi tuyến Sigmoid, Tanh và ReLU nhằm tăng cường khả năng học biểu diễn dữ liệu phức tạp. Mạng nơ-ron tích chập được chứng minh có ưu thế vượt trội so với MLP nhờ cấu trúc xử lý không gian 3 chiều và cơ chế chia sẻ trọng số của các bộ lọc (filters), giúp giảm số lượng tham số cần tối ưu.

Các thành phần cốt lõi của CNN được phân tích cặn kẽ:

  • Lớp tích chập (Conv): Cơ chế trượt cửa sổ bộ lọc qua ma trận ảnh với các tham số Stride, Padding (chèn viền số 0 để bảo toàn kích thước) nhằm xuất ra bản đồ đặc trưng (Feature map).
  • Lớp ReLU: Áp dụng $f(x) = \max(0, x)$ để khử các giá trị âm, tăng tính phi tuyến.
  • Lớp gộp (Pooling): Cơ chế Max pooling và Average pooling giúp giảm chiều dữ liệu không gian, giảm thiểu nguy cơ quá khớp (overfitting).
  • Lớp kết nối đầy đủ (FC) và Softmax: Làm phẳng dữ liệu thành vector 1D, tổng hợp đặc trưng và tính xác suất lớp đối tượng.

Phần sau của chương đi sâu phân tích 5 kiến trúc CNN điển hình:

  1. LeNet-5 (1998): 5 tầng có trọng số học, xử lý ảnh xám $32 \times 32$, sử dụng bộ lọc $5 \times 5$, average pooling và phân loại 10 lớp ký tự viết tay.
  2. AlexNet (2012): 8 tầng (5 Conv, 3 FC), áp dụng ReLU, Max pooling, Local Response Normalization (LRN), kỹ thuật Dropout và tối ưu bằng SGD có động lượng (momentum), đạt tỷ lệ lỗi top-5 15,3% tại ILSVRC 2012.
  3. VGG-16: 16 tầng có trọng số (13 Conv, 3 FC), sử dụng toàn bộ bộ lọc nhỏ $3 \times 3$ với stride 1 và Conv $1 \times 1$, loại bỏ chuẩn hóa LRN để tiết kiệm tài nguyên tính toán.
  4. Inception (GoogLeNet): Thiết kế khối cell kết hợp song song các bộ lọc kích thước $1 \times 1$, $3 \times 3$, $5 \times 5$ và bổ sung 2 ngõ ra phụ (auxiliary outputs) hỗ trợ hội tụ trong các epoch đầu; lược kê các biến thể Inception-v2, v3 (23 triệu tham số), v4 kết hợp khối kết nối tắt (residual connection) của ResNet-50 và DenseNet.
  5. U-Net: Phân tích chi tiết kiến trúc dạng chữ U gồm nhánh Contracting (trích xuất đặc trưng đa tầng bằng Conv $3 \times 3$ và Max pooling $2 \times 2$) và nhánh Expansive (tái tạo kích thước không gian bằng Upsampling $2 \times 2$ nối với đặc trưng từ skip connections và Conv $3 \times 3$), kết thúc bằng lớp Conv $1 \times 1$ phân loại điểm ảnh.

Chương 3: Ứng dụng CNN cho phân đoạn ngữ nghĩa

Chương này tập trung toàn bộ vào quy trình thực nghiệm kỹ thuật:

  • Cài đặt và cấu hình môi trường Google Colab với T4 GPU và tích hợp Google Drive.
  • Tổ chức tập dữ liệu CamVid (700 ảnh, 32 lớp ngữ nghĩa), xử lý chia tập thành 300 ảnh huấn luyện, 100 ảnh đánh giá và 231 ảnh kiểm thử. Thực hiện tiền xử lý đưa toàn bộ ảnh về kích thước $256 \times 256 \times 3$.
  • Hiện thực hóa hàm kiến trúc mạng GiveMeUnet bằng ngôn ngữ Python sử dụng thư viện TensorFlow và Keras với các khối Conv2dBlock, Conv2DTranspose, áp dụng Dropout (tỷ lệ 0.07).
  • Cấu hình huấn luyện mô hình với 10 epoch, batch size 32, tốc độ học 0.01, bộ tối ưu hóa Adam, hàm mất mát binary crossentropy và độ đo accuracy.
  • Tiến hành thực thi kiểm thử mô hình trên tập dữ liệu test và chạy thử nghiệm phân đoạn độc lập trên từng ảnh đơn lẻ.

Kết quả và đóng góp

1. Kết quả thực nghiệm chính

  • Xây dựng thành công quy trình xử lý dữ liệu và tiền xử lý ảnh cho bài toán phân đoạn ngữ nghĩa, thực hiện chuẩn hóa và giảm tỷ lệ hình ảnh từ $960 \times 720$ về $256 \times 256$ để phù hợp năng lực tính toán.
  • Thiết lập hoàn chỉnh kiến trúc U-Net tích hợp các khối giải chập Conv2DTranspose và các đường nối tắt (skip connections) trên nền tảng TensorFlow/Keras.
  • Hoàn thành quá trình biên dịch và huấn luyện mô hình trên môi trường điện toán đám mây Google Colab sử dụng GPU T4 với bộ tham số xác định (epochs=10, batch_size=32, learning_rate=0.01, hàm mất mát binary_crossentropy).
  • Triển khai kiểm thử thành công khả năng gán nhãn điểm ảnh của mô hình trên tập kiểm thử (231 ảnh) và ghi nhận kết quả dự đoán trực quan trên các trường hợp kiểm thử cụ thể (kết quả test 1, test 2 và test trên ảnh độc lập).

2. Đóng góp khoa học và thực tiễn của đồ án

  • Về mặt học thuật: Hệ thống hóa một cách toàn diện tiến trình lịch sử và nguyên lý toán học của các phương pháp phân đoạn ảnh từ các thuật toán xử lý ảnh truyền thống (lan vùng, ngưỡng, watershed, CRF) đến các kiến trúc mạng nơ-ron học sâu hiện đại; làm sáng tỏ cơ chế hoạt động của các lớp trích xuất đặc trưng và lớp phân loại trong CNN.
  • Về mặt ứng dụng: Minh chứng tính khả thi của việc triển khai mô hình học sâu U-Net giải quyết bài toán phân đoạn ngữ nghĩa cảnh quan giao thông đô thị bằng hạ tầng điện toán đám mây miễn phí (Google Colab), cung cấp giải pháp tham khảo cho các bài toán phân đoạn ảnh trong điều kiện hạn chế tài nguyên phần cứng cục bộ.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung đồ án và phạm vi nghiên cứu thực tế, tác giả chỉ ra các mặt hạn chế và phương hướng phát triển:

Hạn chế của đề tài

  • Tài nguyên tính toán và thời gian huấn luyện: Quá trình huấn luyện phụ thuộc hoàn toàn vào dịch vụ miễn phí Google Colab, vốn bị giới hạn thời gian cấp phát GPU liên tục, dẫn đến việc thiết lập số lượng chu kỳ huấn luyện dừng lại ở mức khiêm tốn ($10\text{ epochs}$).
  • Độ phân giải dữ liệu bị suy giảm: Do giới hạn phần cứng, kích thước ảnh đầu vào phải thu nhỏ từ $960 \times 720$ xuống $256 \times 256$, làm thất thoát một phần thông tin biên và chi tiết các đối tượng nhỏ ở khoảng cách xa trong cảnh giao thông.
  • Hạn chế được tác giả thừa nhận: Trong lời cảm ơn, tác giả nêu rõ do rào cản về thời gian và năng lực nghiên cứu nên đồ án không tránh khỏi những thiếu sót nhất định trong quá trình triển khai.

Hướng nghiên cứu tiếp

  • Mở rộng thử nghiệm mô hình trên các tập dữ liệu có quy mô lớn hơn, đa dạng hơn về điều kiện ánh sáng, thời tiết và địa hình giao thông.
  • Nghiên cứu tối ưu hóa mô hình hướng tới khả năng xử lý thời gian thực (real-time segmentation) phục vụ các hệ thống hỗ trợ lái xe tự động thực tế.
  • Khảo sát các hướng tiếp cận học ít giám sát (few-shot learning) hoặc không giám sát (unsupervised learning) để giảm thiểu chi phí gán nhãn pixel thủ công.
  • Tiếp cận phân vùng trên dữ liệu đám mây điểm 3D (3D point cloud) từ các thiết bị cảm biến không gian hiện đại, giải quyết các thách thức thị giác máy tính mà chương tổng quan đã đề ra.

Giá trị tham khảo

Đồ án là tài liệu học thuật có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Khoa học dữ liệu và Trí tuệ nhân tạo: Có thể sử dụng đồ án như tài liệu học tập nhập môn về thị giác máy tính, nắm vững sự khác biệt giữa các bài toán phân vùng (phát hiện đối tượng, phân vùng ngữ nghĩa, phân vùng thực thể) và hiểu rõ nguyên lý hoạt động của các kiến trúc mạng CNN từ cổ điển (LeNet, AlexNet) đến hiện đại (VGG, Inception, U-Net).
  • Người nghiên cứu triển khai mô hình học sâu ứng dụng: Phần trình bày về kiến trúc U-Net và mã nguồn xây dựng mạng bằng TensorFlow/Keras tại Chương 3 cung cấp khung triển khai mẫu rõ ràng, giúp người làm đồ án hoặc dự án tương tự dễ dàng kế thừa cách tiền xử lý dữ liệu ảnh, tổ chức các lớp Encoder/Decoder và thiết lập pipeline huấn luyện trên nền tảng Google Colab.

Câu hỏi thường gặp

1. Phân đoạn ngữ nghĩa (Semantic Segmentation) khác biệt như thế nào so với Phân đoạn thực thể (Instance Segmentation) theo phân tích của tác giả?
Trả lời: Theo Chương 1 của đồ án, phân đoạn ngữ nghĩa phân chia các điểm ảnh vào các lớp định trước, trong đó mọi đối tượng thuộc cùng một lớp sẽ được gộp chung vào cùng một vùng (ví dụ: tất cả mọi người trong ảnh đều mang chung một nhãn lớp). Ngược lại, phân đoạn thực thể vừa phân loại điểm ảnh theo lớp, vừa phân biệt ranh giới giữa các cá thể riêng biệt trong cùng lớp đó (ví dụ: mỗi người trong ảnh sẽ được gán một nhãn cá thể riêng biệt).

2. Bộ dữ liệu CamVid được sử dụng trong đồ án có đặc điểm gì và được phân chia theo tỷ lệ nào?
Trả lời: Bộ dữ liệu Cambridge-driving Labeled Video Database (CamVid) gồm 700 ảnh ghi lại khung cảnh đô thị từ góc nhìn ô tô di chuyển, được gán nhãn chính xác mức pixel cho 32 lớp ngữ nghĩa. Tác giả phân chia dữ liệu thành 3 tập: tập huấn luyện gồm 300 ảnh (150 ảnh gốc kèm 150 ảnh nhãn), tập đánh giá gồm 100 ảnh (100 ảnh gốc kèm 100 ảnh nhãn), và tập kiểm thử gồm 231 ảnh (231 ảnh gốc kèm 231 ảnh nhãn).

3. Kiến trúc U-Net được thiết kế như thế nào và đường nối tắt (skip connection) đóng vai trò gì?
Trả lời: Mạng U-Net gồm hai nhánh đối xứng: nhánh co rút (contracting path/encoder) gồm các lớp tích chập $3 \times 3$ và Max pooling $2 \times 2$ để trích xuất đặc trưng và giảm kích thước không gian; nhánh mở rộng (expansive path/decoder) gồm các lớp giải chập/upsampling $2 \times 2$ và tích chập $3 \times 3$ để khôi phục độ phân giải. Các đường "skip connections" liên kết trực tiếp các tầng của encoder sang decoder tương ứng, giúp chuyển giao thông tin chi tiết về mặt không gian từ ảnh gốc, khắc phục hiện tượng mất mát biên pixel qua các lần tích chập và gộp.

4. Quá trình huấn luyện mô hình U-Net trong đồ án được thiết lập với các siêu tham số nào?
Trả lời: Mô hình U-Net được tác giả cấu hình với các tham số: kích thước ảnh đầu vào $(256, 256, 3)$, tỷ lệ Dropout khởi tạo $0.07$, số lượng epoch là $10$, kích thước batch là $32$, tốc độ học ban đầu $0.01$, sử dụng bộ tối ưu hóa Adam (optimizer='Adam'), hàm mất mát binary crossentropy (loss='binary_crossentropy') và độ đo đánh giá độ chính xác accuracy.

5. Đồ án đã khảo sát chi tiết những kiến trúc mạng nơ-ron tích chập kinh điển nào trước khi chọn U-Net?
Trả lời: Trong Chương 2, tác giả khảo sát và so sánh 5 kiến trúc tiêu biểu: LeNet-5 (1998, nhận dạng ký tự viết tay với 5 tầng), AlexNet (2012, chiến thắng ILSVRC 2012 với 8 tầng và hàm ReLU), VGG-16 (16 tầng sử dụng bộ lọc nhỏ $3 \times 3$), Inception/GoogLeNet (kết hợp bộ lọc đa tỷ lệ $1 \times 1$, $3 \times 3$, $5 \times 5$ cùng ngõ ra phụ), và U-Net (kiến trúc đối xứng encoder-decoder chuyên dụng cho phân đoạn ảnh).


Kết luận

Đồ án tốt nghiệp của sinh viên Phạm Thị Ngọc Anh đã hệ thống hóa hoàn chỉnh cơ sở lý thuyết về phân đoạn ảnh và mạng nơ-ron tích chập, đồng thời làm rõ ưu thế cấu trúc của mô hình U-Net trong bài toán gán nhãn pixel. Tác giả đã xây dựng thành công quy trình thực nghiệm trên nền tảng Google Colab sử dụng GPU T4, hoàn thành việc tiền xử lý, cấu hình và huấn luyện mô hình U-Net trên bộ dữ liệu cảnh quan giao thông thực tế CamVid. Mặc dù còn những giới hạn về tài nguyên phần cứng miễn phí và số lượng chu kỳ huấn luyện, công trình đã giải quyết trọn vẹn mục tiêu nghiên cứu đề ra và mang lại giá trị tham khảo thiết thực cho các nghiên cứu ứng dụng thị giác máy tính trong phân tích ngữ nghĩa hình ảnh.