Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (843.88 KB, 34 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>
<b>KHOA CƠNG NGHỆ PHẦN MỀM</b>
<b>BÁO CÁO ĐỒ ÁN 1</b>
<b>Thiết kế thuật toán so sánh ảnh màu dựa trên điểm ảnh</b>
Giảng viên hướng dẫn
ThS. Huỳnh Hồ Thị Mộng TrinhSinh viên thực hiện
Nguyễn Hoàng Linh - 21522289Lê Thành Lộc - 21521087
TP. Hồ Chí Minh, tháng 12 năm 2023
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>LỜI CẢM ƠN</b>
Trong quá trình thực hiện đề tài, chúng em đã nhận được rất nhiều sự giúp đỡ,hướng dẫn và hỗ trợ từ q nhà trường, q thầy cơ. Nhờ đó mà chúng em đã có đượcnhiều kinh nghiệm và đạt được kết quả như ngày hôm nay. Chúng em xin được bày tỏlòng biết ơn chân thành đến:
ThS. Huỳnh Hồ Thị Mộng Trinh, người đã trực tiếp hướng dẫn và đồng hành cùngchúng em xuyên suốt đồ án này. Trong quá trình thực hiện, cơ đã tận tình hướng dẫn,giúp chúng em định hướng được mục tiêu đề tài, lắng nghe những thắc mắc và hỗ trợ giảiquyết vấn đề.
Quý nhà trường đã tạo nên một môi trường năng động, sáng tạo nơi chúng em cóthể phát huy những khả năng của bản thân và tạo điều kiện tốt nhất để chúng em có thểhồn thành đồ án.
Do kiến thức cịn nhiều hạn chế cũng như chưa đủ kinh nghiệm cho nên chúng emcũng khơng tránh khỏi những thiếu sót khi thực hiện đề tài, kính mong nhận được sựđánh giá, góp ý từ q thầy cơ và nhà trường.
Chúng em xin chân thành cảm ơn!.
Sinh viên Lê Thành LộcSinh viên Nguyễn Hoàng Linh
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>ĐỀ CƯƠNG CHI TIẾT</b>
<b>Tên đề tài: Thiết kế thuật toán so sánh ảnh màu dựa trên điểm ảnhGiảng viên hướng dẫn: ThS. Huỳnh Hồ Thị Mộng Trinh</b>
<b>Thời gian thực hiện: Từ ngày 7/9/2023 đến ngày 31/12/2023Sinh viên thực hiện: Lê Thành Lộc - 21521087</b>
Nguyễn Hoàng Linh - 21522289
<b>Nội dung đề tài:</b>
Nhận thấy nhu cầu và tiềm năng phát triển của hệ thống đề xuất ảnh (recommendsystem) trong những ứng dụng hiện đại ngày nay với mục đích cá nhân hóa trải nghiệmngười dùng, nhóm chúng em đã quyết định hướng nghiên cứu của đề tài sẽ tập trungvào việc so sánh ảnh màu với nhằm hiểu rõ bản chất của thuật tốn để có thể xây dựngmột ứng dụng hiệu quả đến từ độ chính xác của các thuật tốn cốt lõi.
Mục tiêu của đồ án này là tìm hiểu và so sánh các thuật toán so sánh ảnh màu để biếtđược cơ chế hoạt động của các thuật toán so sánh, với mong muốn tìm được thuật tốncho ra kết quả chính xác và nhanh nhất.
Kết quả đồ án bao gồm bảng so sánh chi tiết các thuật toán liên quan, và sản phẩmminh họa, cho ra kết quả khi so sánh sảnh.
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>KẾ HOẠCH THỰC HIỆN</b>
Đề tài được thực hiện trong vòng 16 tuần, với nội dụng và thời gian cụ thể như sau:
vector của một tập dữ liệu ảnh trắng đen
1/11/2023 - 21/11/2023
Xác nhận của GVHD(Ký và ghi rõ họ tên)
<b>Huỳnh Hồ Thị Mộng Trinh</b>
TP. Hồ Chí Minh, ngày 20/12/2023(Ký và ghi rõ họ tên)
<b>Nguyễn Hoàng LinhLê Thành Lộc</b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>DANH MỤC HÌNH ẢNH</b>
Fig.1. Ví dụ input của bài toán...11
Fig.2. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng GEN... 15
Fig.3. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng GEN... 15
Fig.4. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng FRQ...17
Fig.5. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng AVE...19
Fig.6. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng LL vớiindex = 0... 20
Fig.7. Bảng so sánh các thuật tốn trích xuất vector... 22
Fig.8. Các shade khác nhau của màu xanh... 23
Fig.9. AvgR = 133, AvgG = 135, AvgB = 132... 26
Fig.10. AvgR = 130, AvgG = 130, AvgB = 130... 27
Fig.11. Trích xuất màu chủ đạo của ảnh... 29
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>DANH MỤC TỪ TIẾNG ANH</b>
thường được sử dụng mạnh mẽ trong xử lý ảnh và video
sử dụng để ánh xạ một khóa (key) tới giá trị tương ứng(value). Mục tiêu là cung cấp một phương tiện hiệu quả đểtìm kiếm, chèn và xóa dữ liệu trong thời gian tuyến tính ởmức độ trung bình.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Machine learning Máy học
thêm hoặc giảm lượng đen hoặc trắng vào màu gốc
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>MỞ ĐẦU</b>
Trong thời đại số ngày nay, việc sử dụng Recommend Systems đã trở thành mộtphần không thể thiếu đối với nhiều ứng dụng và dịch vụ trực tuyến. Các công nghệ nàykhông chỉ giúp cá nhân hóa trải nghiệm người dùng mà cịn mang lại nhiều lợi ích quantrọng trong việc tối ưu hóa tương tác và giữ chân người dùng.
Một trong những khía cạnh quan trọng của hệ thống Recommend System đó làkhả năng nó tạo ra sự kết nối giữa người dùng và nội dung một cách nhanh chóng và hiệuquả. Điều này không chỉ giúp người dùng khám phá nội dung mới mà họ có khả năng uthích, mà cịn tối ưu hóa thời gian và nỗ lực tìm kiếm, dẫn đến một trải nghiệm ngườidùng mượt mà và tốt hơn.
Chẳng hạn, trong lĩnh vực thương mại điện tử, nó có thể được sử dụng để tối ưuhóa quảng cáo, đề xuất các sản phẩm phù hợp dựa trên lịch sử mua sắm và xem sản phẩmhay như các nền tảng xã hội để đề xuất các nội dung chia sẻ phù hợp với người dùng.
<b>Xác định từ thực tế đó, nhóm chúng em đã chọn đề tài Nghiên cứu phương pháp</b>
<b>so sánh ảnh màu để hiểu rõ cơ chế hoạt động của hệ thống qua việc thực hành viết thuật</b>
toán so sánh và so sánh các thuật toán liên quan.Nội dung của đề tài được chia gồm 6 chương:● Chương 1: Giới thiệu đề tài
● Chương 2: So sánh ảnh giống nhau hoàn toàn
● Chương 3: Các thuật toán nhận diện feature vector của một tập ảnh cùng lớp● Chương 4: Các thuật toán so sánh màu
● Chương 5: Tổng kết● Chương 6: Đánh giá
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>1.1. Giới thiệu</b>
Cuộc cách mạng công nghệ đã mở ra những cơ hội mới trong việc phân tích và xửlý ảnh màu, đặt ra thách thức đối với cộng đồng nghiên cứu và các nhà phát triển. Trongbối cảnh này, đồ án của nhóm em đặt ra một quan điểm quan trọng với việc thực hiện sosánh ảnh màu thông qua việc nhận diện các feature vector quan trọng từ các điểm ảnh.
Với sự tiến bộ của máy học và trí tuệ nhân tạo, chúng ta đang chứng kiến sự trỗidậy của các thuật toán nhận diện feature tiên tiến. Nghiên cứu của chúng ta tập trung vàoviệc áp dụng những thuật toán này để so sánh ảnh màu một cách hiệu quả, dựa trên khảnăng nhận diện các feature vector trong hình ảnh và so sánh màu ảnh.
Thơng qua các thuật tốn tìm hiểu được, và một số thuật tốn mà nhóm tự sáng tạora, đồ án này sẽ khám phá và so sánh hiệu suất của các thuật toán khác nhau trong việc sosánh ảnh màu.
<b>1.2. Mục tiêu</b>
Input: 2 ảnh 28x28 thể hiện một chữ số 0 - 9 có màu bất kỳ
<i><small>Fig.1. Ví dụ input của bài tốn</small></i>
Output: Cho biết 2 ảnh đó có cùng thể hiện một số giống nhau khơng, có cùng màukhơng
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Quy trình xử lý: chuyển ảnh sang trắng đen để phân loại, so sánh màu.
<b>CHƯƠNG 2: SO SÁNH ẢNH GIỐNG NHAU HOÀN TOÀN2.1. So sánh từng điểm ảnh</b>
Khi nhắc đến so sánh ảnh có cùng kích thước, dù ảnh màu hay trắng đen, mộttrong các phương pháp đơn giản nhất mà ai cũng có thể nghĩ ra được, đó chính là so sánhtừng điểm ảnh (pixel by pixel).
Đối với ảnh trắng đen, ảnh thường được lưu trữ dưới dạng một vector có W*Hphần từ với W và H là kích thước của ảnh (WxH pixels). Mỗi phần tử sẽ có giá trị từ 0đến 255, với 0 cho pixel hiển thị màu đen và 255 cho pixel hiển thị màu trắng, các giá trịở giữa hiển thị greyscale. Nếu tất cả các phần tử trong vector của hai ảnh đều có giá trịbằng nhau thì ta có thể kết luận hai ảnh giống nhau (giống 100%).
Tương tự với ảnh màu, chỉ khác ở chỗ thay vì một vector đại diện từ đen đếntrắng, thì ảnh màu có 3 vectors, các phần tử có giá trị từ 0 - 255 nhưng lần lượt từ đen đếnđỏ, đen đến xanh lá, đen đến xanh dương, hay còn được biết đến với định dạng RGB (red,green, blue). Vì thế nên thay vì so sánh từng phần tử của một vector thì ta so sánh cả ba,kết luận ảnh giống khi tất cả phần tử của ba vectors ảnh này đều giống tất cả phần tử củaba vectors tương ứng ảnh kia.
<b>Thuật toán 1: So sánh điểm ảnh</b>
<b>Input: hai vector có kích thước bằng nhau, đại diện cho hai bức ảnh:</b>𝑣 = { , ,... },
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">if ( !=𝑡 ): return False.
else: = + 1.𝑖 𝑖3. Return True.
<b>Nhận xét</b>
Phương pháp này thường được sử dụng để
● Tìm điểm khác biệt giữa 2 ảnh gần tương tự nhau
● Tìm điểm bị thay đổi được thực hiện trên một bức ảnh nào đó sau khi nó bị thayđổi
Hạn chế:
● Phương pháp so sánh ảnh này sẽ chỉ cho ra kết quả 2 ảnh giống khi ảnh giốngnhau hồn tồn, kể cả những điểm khác biệt khơng thể nhận thấy bằng mắtthường, chính vì thế mà có thể có trường hợp các ảnh bị thay đổi tương đối nhỏvẫn có thể cho ra kết quả ảnh khác. Điều này có thể dẫn đến kết luận falsenegatives hoặc positives
● Chỉ dừng lại ở việc so sánh mà không nhận biết được đối tượng được so sánh là gì.● Đối với các ảnh có kích thước q lớn, sẽ tốn nhiều thời gian để lặp quả cả vector
Khi hash một bức ảnh, các ảnh trùng lặp sẽ luôn cho ra một chuỗi hash như nhau.Hai ảnh dù chỉ khác nhau rất nhỏ vẫn sẽ cho ra hai chuỗi hash khác nhau. Chính vì thế
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">mà thuật tốn này thường được dùng để tạo ‘digital fingerprint’. Các bước để hash mộtbức ảnh:
Ngồi MD5, cịn có một số cách hash mới, và bảo mật hơn như SHA1, SHA256 vàSHA512
Ví dụ:
<small>Fig.2. Ví dụ cho thuật tốn hash ảnh</small>
Fig.2. Sẽ được mã hóa thành một chuỗi như sau, bằng các thuật toán Hash:● MD5: 381e3093eaa21f7c81ae49b6ff6bdaad
● SHA1: d43a84f20b512beaa42b0f2e91d3d8299f4a9e4a● SHA256:
e32bef2846c1acccc44b461eea8545802dc2d6fe6d81177bf22fd876ceaab8fc● SHA512:
2.2.2. Base64
Base64 là một phương pháp mã hóa dữ liệu nhị phân thành một chuỗi ký tựASCII, bao gồm ảnh. Trong quá trình này, từng khối 3 byte (24 bit) của dữ liệu nhị phânđược chuyển đổi thành 4 ký tự Base64 tương ứng. Điều này giúp tránh các vấn đề liên
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">quan đến việc truyền dữ liệu nhị phân qua các giao thức hoặc ngữ cảnh yêu cầu dữ liệuvăn bản.
Ví dụ, một phần nhỏ của ảnh sẽ được chuyển thành dạng Base64 như sau:SGVsbG8gd29ybGQ=
Ở đây, mỗi ba ký tự ASCII tương ứng với một khối ảnh 24 bit. Điều này giúp giảmkích thước dữ liệu khi truyền và làm cho nó dễ dàng tích hợp vào các văn bản.
Base64 thường được sử dụng trong các trường hợp yêu cầu dữ liệu văn bản, chẳnghạn như truyền dữ liệu qua email hoặc HTTP. Nó khơng tạo ra một "fingerprint” nhưMD5, mà chỉ là một biện pháp chuyển đổi dữ liệu nhị phân sang dạng văn bản để thuậntiện trong truyền tải.
Ta có thể lợi dụng phương thức này để so sánh ảnh.
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b>CHƯƠNG 3: CÁC THUẬT TOÁN NHẬN DIỆN FEATURE VECTOR CỦA MỘTTẬP ẢNH CÙNG LỚP</b>
Dưới đây là các thuật toán chiết xuất feature vector từ một tập các ảnh grayscalecùng lớp. Sử dụng bộ dataset MNIST chữ số viết tay. Mục đích nhằm tìm ra một featurevector đại diện cho lớp dữ liệu đó, để so sánh, phân loại các ảnh.
<b>3.1. Least Generalization</b>
Thuật toán chiết xuất feature vector bằng Least Generalization (gọi tắt là GEN) được đềxuất trong [1], với mục đích phân loại ảnh mà khơng dùng đến CNN. Thuật tốn được lấycảm hứng từ khái niệm Generalization trong Inductive Logic Programming (ILP).
Một generalization là một tổng quát hóa của nhiều biểu thức tương thích (cùng ngơi).
nhất 1 tổng qt hóa (được chứng minh ở [2]). Với tổng quát hóa là (z, y), tập thay thếcủa A là { f(x)|z }, của B là { x|z }. Thuật tốn tìm tổng qt hóa được đề xuất trong [2]có thể được diễn giải như sau:
trong hai biểu thức
Ngồi ra, bài báo ở [1] cịn đề xuất phân lớp các giá trị grayscale của ảnh thành các biểuthức đại diện cho một mảng nhằm tăng hiệu quả của việc khái quát hóa. Cụ thể, với x làgiá trị của một điểm ảnh (từ 0 đến 255). Đặt:
Vậy, nhóm có được thuật tốn GEN như sau:
<b>—</b>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b>Algorithm 2: trích xuất Feature với GEN</b>
<b>Input: Một mảng T 3 chiều đại diện cho tập ảnh, mỗi ảnh là ma trận với số lượng phần tử</b>
bằng WxH.
<b>Output: Một ma trận có kích thước WxH, thể hiện feature vector của tập ảnh.</b>
1. Feat := T[0], ElementOfClass := len(T)
Feat[ ][ ] = (Feat[ ][ ] + (Image[ ][ ]/64 + 1))) / 2𝑖 𝑗 𝑖 𝑗 𝑖 𝑗
Feat[ ][j] = Feat[ ][ ] as integer𝑖 𝑖 𝑗4. Return Feat.
—
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><i><small>Fig.3. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng GEN</small></i>
<small>𝑖𝑗</small> 𝑥
Algorithm 3: trích xuất Feature với FRQ
Input: Một mảng T 3 chiều đại diện cho tập ảnh, mỗi ảnh là ma trận với số lượng phần tửbằng WxH.
Output: Một ma trận có kích thước WxH, thể hiện feature vector của tập ảnh.DoubleSort:
1. ElementOfClassA := len(A), ElementOfClassB := len(B)
If A[ ] < A[ ], do:𝑖 𝑗t = A[ ]𝑖A[ ] = A[ ]𝑖 𝑗
A[ ] = t𝑗t = B[ ]𝑖B[ ] = B[ ]𝑖 𝑗B[ ] = t𝑗FRQ:
1. T = Training, ElementOfClass = len(T), Feat = T[0]
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">2. For from 0 to 28 , do:𝑖
a = np.array([T[ ][ ][ ] for k in range(0, ElementOfClass)])𝑘 𝑖 𝑗unique, counts = np.unique(a, return_counts=True)
unique = unique.tolist()counts = counts.tolist()DoubleSort(counts, unique)pos = 0
Feat[ ][ ] = int(unique[pos])𝑖 𝑗3. Return Feat
<i><small>Fig.4. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng FRQ</small></i>
<small>28.28𝑘</small>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">với𝑥 là giá trị pixel. Đặt = { | 1 ≤ k ≤ n } (1 ≤ , ≤ 28).
<small>𝑖𝑗</small> 𝑥
<b>Algorithm 4: trích xuất Feature với AVE</b>
<b>Input: Một mảng T 3 chiều đại diện cho tập ảnh, mỗi ảnh là ma trận với số lượng phần tử</b>
bằng WxH.
<b>Output: Một ma trận có kích thước WxH, thể hiện feature vector của tập ảnh.</b>
1. Feat := T[0], ElementOfClass := len(T)
Feat[ ][ ] = (Feat[ ][ ] * + Image[ ][ ]) / ( + 1)𝑖 𝑗 𝑖 𝑗 𝑘 𝑖 𝑗 𝑘
Feat[ ][j] = Feat[ ][ ] as integer𝑖 𝑖 𝑗4. Return Feat.
—
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><i><small>Fig.5. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng AVE</small></i>
<b>3.4. SAM (sample)</b>
Sau khi sử dụng 3 phương pháp trên thì nhóm nhận thấy, vector feature mang đặc trưngcủa một lớp vẫn mang hình dạng nhận thấy được của lớp (feature vector của tập số 1 vẫnnhìn ra số 1). Nhóm muốn thử nghiệm khơng train để lấy feature vector mà dụng một ảnhbất kỳ của lớp để đại diện lớp đó làm feature vector. Với phương pháp này, thời gian trainđể trích xuất feature vector gần như bằng 0, với độ phức tạp O(1), chỉ cần trả về phần tửđầu tiên (hoặc bất kỳ) trong mảng.
Algorithm 5: trích xuất Feature với LL
Input: Một mảng T 3 chiều đại diện cho tập ảnh, mỗi ảnh là ma trận với số lượng phần tử
Output: Một ma trận có kích thước WxH, thể hiện feature vector của tập ảnh.1. Feat := T[ ]𝑖
2. Return Feat.—
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><i><small>Fig.6. Các feature vector chiết xuất được từ 10 class của bộ MNIST sử dụng LL với index = 0</small></i>
<b>3.5. Phân loại ảnh sử dụng các thuật tốn trích xuất vector</b>
Sau khi lấy được feature vector của các lớp khác nhau, có thể sử dụng các vector đó đểphân loại ảnh vào đúng lớp của nó. Giả sử chúng ra có m lớp ảnh, có thể phân loại ảnhbằng thuật toán sau:
<b>Algorithm 6: Phân loại tập ảnh test</b>
<b>Input: một vector</b> 𝑣 đại diện cho một ảnh WxH chưa được phân loại và một tập các
<b>Output: loại ảnh của 𝑣</b>
Dk := 0
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>3.6. So sánh các thuật toán</b>
Để đo lường được phần nào mức hiệu quả của thuật tốn, nhóm thử nghiệm với bộdataset MNIST chữ số viết tay. Dataset này gồm hai phần: tập ảnh dùng để train (60.000ảnh) và tập dùng để test (10.000 ảnh). Thí nghiệm gồm 2 bước cho mỗi thuật toán:
thường được dùng để đo lường trong machine learning:Precision := TP / (TP + FP)
Recall := TP / (TP + FN)
Accuracy := (TP + TN) / (TP + TN + FP + FN)
với TP, TN, FP và FN lần lượt nghĩa là True Positive (“phân loại đúng” đúng), TrueNegative (“phân loại sai” đúng), False Positive (“phân loại đúng” sai), and FalseNegative (“phân loại sai” sai).
Thangđiểm
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Accuracy 0.98 0.79 0.94 0.94 0.95 0.94 0.97 0.96 0.94 0.94 0.922SAM Precision 0.82 0.74 0.30 0.36 0.21 0.37 0.74 0.49 0.28 0.69 0.486
SAM là một trường hợp đặc biệt, do chỉ sử dụng một ảnh ngẫu nhiên của mỗi tập làmfeature vector nên kết quả sẽ không đồng nhất mà cũng ngẫu nhiên theo, hay nói cáchkhác là tùy vào độ may mắn của việc “chọn” feature vector mà độ hiệu quả của thuật tốnsẽ thay đổi có thể tốt hơn hoặc cũng có thể tệ hơn.
Tóm lại, kết quả này, nhóm sẽ sử dụng AVE làm thuật toán phân loại ảnh cho bài toán ởđược đề ra.
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24"><b>CHƯƠNG 4: CÁC THUẬT TOÁN SO SÁNH ẢNH MÀU</b>
Sau khi phân loại được ảnh, nếu hai ảnh thuộc cùng lớp thì ta có thể kết luận hai ảnh thểhiện cùng một vật thể. Bước tiếp theo là xét xem vật thể đó có cùng màu sắc hay không.Hai ảnh gọi là giống màu khi màu của nó là giống nhau khi nhìn bằng mắt thường, haynói cách khác, nó khơng phải giống nhau một cách tuyệt đối nhưng là các shade khácnhau của một màu cơ bản. Ví dụ, các màu bên dưới sẽ được cho là giống nhau:
<i><small>Fig.8. Các shade khác nhau của màu xanh</small></i>
Nếu hai ảnh màu cùng thể hiện một vật thể, có thể kết luận hai ảnh giống nhau.Nhóm thử nghiệm với hai thuật toán so sánh màu do nhóm đề xuất:
<b>4.1. Tính trung bình các mảng màu</b>
Như đã nói ở trên, một ảnh màu được thể hiện bởi 3 vector đại diện cho 3 thông số R(đỏ), G (xanh lá), B (xanh dương) với các phần tử có giá trị từ 0 đến 255, tạo nên màucủa một điểm ảnh. Xuất phát từ đặc điểm này, nhóm muốn thí nghiệm với thuật tốnđược phát biểu như sau, với m là sai số trong khoảng chấp nhận được:
</div>