Trong khuông khổ đề tài này nhằm xây dựng một phần mềm đếm tế bào phục vụ sinh viên ngành y sinh để đưa ra được kết quả đếm tế bào nhanh tiện lợi cho quá trình học tập nghiên cứu của si
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
TRẦN VĂN NINH
XÂY DỰNG ỨNG DỤNG ĐẾM TẾ BÀO TỪ ẢNH PHÔI DỰA TRÊN XÁC ĐỊNH BIÊN TẾ BÀO
CHO ĐIỆN THOẠI THÔNG MINH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã chuyên ngành: 60480101
LUẬN VĂN THẠC SĨ
Trang 2Công trình được hoàn thành tại Trường Đại học Công nghiệp tp Hồ Chí Minh Người hướng dẫn khoa học: PGS.TS Phạm Thế Bảo
Người phản biện 1: TS Lê Thành Sách
Người phản biện 2: Trần Anh Tuấn
Luận văn thạc sĩ được bảo vệ tại Hội đồng chấm bảo vệ Luận văn thạc sĩ Trường Đại học Công nghiệp thành phố Hồ Chí Minh ngày 12 tháng 04 năm 2019
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS.TS Huỳnh Trung Hiếu - Chủ tịch Hội đồng
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA CNTT
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Trần Văn Ninh MSHV:15118291
Ngày, tháng, năm sinh: 06-11-1989 Nơi sinh: Thái Bình
Chuyên ngành: Khoa Học Máy Tính Mã chuyên ngành: 60480101
I TÊN ĐỀ TÀI:
Xây dựng ứng dụng đếm tế bào từ ảnh phôi dựa trên xác định biên tế bào cho điện thoại thông minh
NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ nghiên cứu giải thuật xử lý ảnh để đếm tế bào trên điện thoại thông minh Nội dung nghiên cứu tập trung vào giải thuật xử lý ảnh tìm biên, để phân tách được
tế bào khỏi nền từ đó làm căn cứ xây dựng lên giải thuật đếm phù hợp cho ứng dụng
II NGÀY GIAO NHIỆM VỤ: Theo quyết định số 3441/QĐ-DHCN 26/12/2017 III NGÀY HOÀN THÀNH NHIỆM VỤ: 26/6/2018
IV NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Phạm Thế Bảo
Tp Hồ Chí Minh, ngày … tháng … năm 20 …
NGƯỜI HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
Trang 4LỜI CẢM ƠN
Trước hết tôi xin gửi lời cảm ơn chân thành tới tập thể các thầy cô giáo trong Khoa Công nghệ Thông tin, Trường Đại học Công Nghiệp TP Hồ Chí Minh đã giúp đỡ tận tình và chu đáo để tôi có môi trường tốt học tập và nghiên cứu
Đặc biệt, tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS.TS Phạm Thế Bảo, người
đã trực tiếp hướng dẫn, chỉ bảo tôi tận tình trong suốt quá trình nghiên cứu và hoàn thiện luận văn này
Một lần nữa tôi xin được gửi lời cảm ơn đến tất cả các thầy cô giáo, bạn bè, gia đình
và cơ quan đã giúp đỡ tôi trong thời gian vừa qua
Trang 5tế bào có độ chính xác là 87,31%
Trang 6ABSTRACT
In the field of biology the number of cells is used as an indicator to assess the growth
of organisms, resulting if manual counting takes time and errors This article has sought and proposed a method to count the total number of cells in the image through
a microscope using the finding Contours method This process includes preprocessing and segmenting an image after cutting it to get the right selection After that, the finding Contour method was applied to detect and count the number of cells based on its size The results showed that from sixteen samples of cell images the accuracy of using Contours method was 87.31%
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan nội dung của luận văn “xây dựng ứng dụng đếm tế bào từ ảnh phôi dựa trên xác định biên tế bào cho điện thoại thông minh” là do tôi thực hiện dưới sự hướng dẫn của thầy PGS.TS Phạm Thế Bảo Những nội dung được trình bày trong luận văn hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu khác nhau Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn đầy đủ
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Học viên
Trần Văn Ninh
Trang 8MỤC LỤC
MỤC LỤC v
DANH MỤC HÌNH ẢNH viii
DANH MỤC BẢNG BIỂU xi
DANH MỤC TỪ VIẾT TẮT xii
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Cách tiếp cận và phương pháp nghiên cứu 2
5 Ý nghĩa thực tiễn của đề tài 2
CHƯƠNG 1 TỔNG QUAN 4
1.1 Bài toán đếm tế bào 4
1.2 Khó khăn và thách thức 5
1.2.1 Các vấn đề cần giải quyết 5
1.2.2 Khó khăn và thách thức 5
1.3 Các hướng tiếp cận 8
1.3.1 Phương pháp tạo mẫu và đếm thủ công 8
1.3.2 Sử dụng thiết bị đếm 10
1.3.3 Phần mềm đếm trên máy tính 11
1.3.4 Phần mềm trên điện thoại thông minh 14
1.4 Hướng giải quyết 15
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 18
2.1 Thiết bị nghiên cứu 18
2.1.1 Kính hiển vi 18
2.1.2 Thiết bị di động 22
2.1.3 Ngôn ngữ lập trình 24
2.2 Giới thiệu ảnh số 26
2.2.1 Ảnh kĩ thuật số 26
2.2.2 Ảnh tế bào 28
2.3 Phân đoạn ảnh 28
Trang 92.3.1 Biến đổi ảnh xám 28
2.3.2 Biến đổi ảnh đen trắng 29
2.3.3 Biểu đồ phân bố tần số 30
2.3.4 Lọc thông số cao 31
2.3.5 Ngưỡng màu 33
2.4 Xử lý hình thái học 35
2.5 Phép biến đổi Hough Circle 36
2.5.1 Khái niệm 36
2.5.2 Nguyên lý hoạt động của thuật toán 36
2.6 Tìm tế bào dựa vào biên 38
2.6.1 Khái niệm 38
2.6.2 Nguyên lý hoạt động của thuật toán 38
CHƯƠNG 3 XÂY DỰNG THUẬT GIẢI 41
3.1 Giới thiệu các vấn đề cần xử lý 41
3.2 Tiền xử lý 42
3.3 Phân đoạn ảnh 44
3.3.1 Biến đổi ảnh xám 44
3.3.2 Biến đổi ảnh đen trắng 46
3.4 Xử lý hình thái học 47
3.5 Xác định ứng viên tế bào 50
3.5.1 Hướng tiếp cận Hough Circle Transform 50
3.5.2 Hướng tiếp cận dựa vào tìm biên 53
3.6 Loại ứng viên có diện tích nhỏ 55
3.7 Loại ứng viên có hình dạng không phải tế bào 56
3.8 Tách các đối tượng chồng lấp 57
3.9 Giải thuật đếm tế bào 58
3.10 Cấu trúc phần mềm 60
CHƯƠNG 4 KẾT QUẢ & PHÁT TRIỂN 63
4.1 Môi trường thực nghiệm 63
4.2 Quy trình sử dụng phần mềm 66
Trang 104.4 Kết quả và đánh giá 76
4.5 Hướng phát triển 79
KẾT LUẬN VÀ KIẾN NGHỊ 81
1 Kết luận 81
2 Kiến nghị 81
TÀI LIỆU THAM KHẢO 82
LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN 84
Trang 11DANH MỤC HÌNH ẢNH
Hình 1.1 Các mẫu tế bào đặc trưng 6
Hình 1.2 Các mẫu phân bố màu sắc và ánh sáng trong hình tế bào mẫu 7
Hình 1.3 Phần mềm trên Appstore 8
Hình 1.4 Tế bào trên vỉ đếm 9
Hình 1.5 Máy XT1800i đếm tế bào bằng laser 11
Hình 1.6 Cơ chế đếm tế bào bằng laser 11
Hình 1.7 Thao tác xử lý 13
Hình 1.8 Xuất kết quả 13
Hình 1.9 Xuất kết quả của phần mềm CellCounter 14
Hình 1.10 Các phần mềm trên kho ứng dụng 15
Hình 2.1 Kính hiển vi quang học 19
Hình 2.2 Cấu trúc kính hiển vi 21
Hình 2.3 Các dòng điện thoại thông minh hiện nay 23
Hình 2.4 Thị phần hệ điều hành Android đầu năm 2018 26
Hình 2.5 Cấu trúc ảnh RGB 28
Hình 2.6 Biến đổi ảnh đen trắng 29
Hình 2.7 Đây là hình dạng histogram mà bạn hay nhìn thấy 30
Hình 2.8 Gaussian lọc với kernel 3x3 σ=1,11x11 σ=2 và 21x21 σ=4 33
Hình 2.9 Các ngưỡng thresholding 34
Hình 2.10 Các dạng thresholding với ngưỡng bằng 127 35
Hình 2.11 Quá trình Morphology theo dạng hình 36
Trang 12Hình 2.13 Freeman duyệt đối tượng 39
Hình 3.1 Chuẩn kích thước của hình chụp 43
Hình 3.2 Trước và sau khi chuẩn hóa ảnh gốc 44
Hình 3.3 Biến đổi ảnh Gray 45
Hình 3.4 Công đoạn lấy ngưỡng bằng tay 47
Hình 3.5 Xử lý hình thái học trên ảnh tế bào 49
Hình 3.6 Hình mẫu tế bào hồng cầu 50
Hình 3.7 Sơ đồ bài toán đếm tế bào màu đỏ bằng Circular Hough Transform 51
Hình 3.8 Circular Hough Transform trên ảnh hồng cầu 52
Hình 3.9 Kiểm thử Circular Hough Transform trên điện thoại 53
Hình 3.10 các bước sử lý để đưa ra được ảnh có biên 54
Hình 3.11 Ảnh sau khi tìm biên 55
Hình 3.12 Dính nhau thành cụm 57
Hình 3.13 Tế bào nằm chồng lấp nhau 57
Hình 3.14 Hiển thị kết quả đếm 60
Hình 3.15 Mô hình hoạt động phần mềm 62
Hình 4.1 Lamen mẫu 63
Hình 4.2 Canh chỉnh kính hiển vi 64
Hình 4.3 Sử dụng điện thoại chụp lấy mẫu 65
Hình 4.4 Ảnh mẫu bị nhòe do rung khi chụp 66
Hình 4.5 Giao diện chính 67
Hình 4.6 Giao diện cắt 68
Hình 4.7 Ảnh đã cắt đưa lên khung ảnh 1 69
Trang 13Hình 4.8 Sự thay đổi ngưỡng làm thay đổi nhận diện 70
Hình 4.9 Kết quả sau lần nhấn đầu 71
Hình 4.10 Kết quả gần đúng nhất 72
Hình 4.11 Tỉ lệ đếm đúng của từng mẫu ảnh tế bào 77
Hình 4.12 Tỉ lệ đếm đúng của nhóm 1 77
Hình 4.13 Tỉ lệ đếm đúng của nhóm 2 78
Hình 4.14 Tỉ lệ đếm đúng của nhóm 3 78
Hình 4.15 Thời gian thực thi 79
Hình 4.16 Hướng phát triển tìm và cắt điểm nối giữa các tế bào nàm sát nhau 80
Trang 14DANH MỤC BẢNG BIỂU
Bảng 4.1 Tập dữ liệu ảnh tế bào 73Bảng 4.2 Phần trăm đếm đúng của từng nhóm mẫu 76
Trang 15DANH MỤC TỪ VIẾT TẮT
BMP Bitmap Image File
CCD Charge Coupled Device
GIF Graphics Interchange Format
GPS Global Positioning System
JPEG Joint Photographic Experts Group
MP3 Movie Picture Experts Group-Layer 3
PDA Personal Digital Assistant
Pixel picture element
PNG Portable Network Graphics
RGB Red, Green, Blue
Trang 16MỞ ĐẦU
1 Đặt vấn đề
Đếm tế bào trong xét nghiệm giúp cung cấp thông tin về chủng loại và số lượng tế bào trong một đơn vị diện tích nhất định, kết quả của việc đếm là đưa ra mật độ tế bào, đóng góp rất nhiều tới việc nghiên cứu trong ngành y sinh, về tốc độ phát triển của sinh vật, khả năng đề kháng của động vật hay nắm được số lượng kháng thể hoặc
tế bào bệnh trong cơ thể người Là căn cứ có thể dự đoán một phần sức khỏe cũng như bệnh lý của sinh vật Trong khuông khổ đề tài này nhằm xây dựng một phần mềm đếm tế bào phục vụ sinh viên ngành y sinh để đưa ra được kết quả đếm tế bào nhanh tiện lợi cho quá trình học tập nghiên cứu của sinh viên ngành sinh và từ những nghiên cứu lý thuyết xử lý ảnh để xây dựng nên luận văn này làm nền tảng phát triển nên
“Ứng dụng đếm tế bào trên điện thoại thông minh”
2 Mục tiêu nghiên cứu
Mục tiêu nghiên cứu tổng quát: Hiện nay trên thế giới đã có nhiều ứng dụng sử dụng các thuật toán xử lý, phân tách xác định dối tượng trên hình ảnh, tiêu biểu như ứng dụng đếm hạt gạo, đếm cá trên băng truyền, các ứng dụng tế bào hiện đã được làm là phân tách đếm số lượng hồng cầu, bạch cầu tất cả đều được thực hiện trên nền tảng ứng dụng trên máy tính Trên hai nền tảng điện thoại thông minh hiện nay có nhiều phần mềm phục vụ đếm tế bào nhưng đều là phần mềm hỗ trợ đếm nhẩm từng tế bào
Ở Việt Nam các ứng dụng đếm tế bào đã được hiện thực trên máy tính, tuy nhiên chưa có phần mềm nào trên điện thoại di động hỗ trợ việc đếm tế bào Điện thoại thông minh ngày nay rất phổ biến với bộ vi xử lý ngày càng mạnh mẽ Và việc sử dụng điện thoại thông minh phục vụ cho công việc đang dần phổ biến
Mục tiêu nghiên cứu cụ thể: Nghiên cứu và xây dựng giải thuật phù hợp với việc phát hiện các tế bào theo dạng hình tròn và phân tách tế bào Hiện thực nghiên cứu và kiểm thử thực tế trên điện thoại thông minh
Trang 173 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là giải thuật xử lý ảnh Contours kết hợp với các thuật toán xử lý ảnh đưa ra đươc đối tượng là tế bào, từ đó tiến hành đếm tế bào Nghiên cứu ngôn ngữ viết ứng dụng trên thiết bị di động là Android Studio từ đấy hiện thực trên thiết bị di động
Phạm vi nghiên cứu là phân tách đối tượng mục tiêu ở đây là tế bào qua hình chụp từ điện thoại thông minh xử lý đưa ra số lượng, loại bỏ các đối tượng gây nhiễu
4 Cách tiếp cận và phương pháp nghiên cứu
Thời gian nghiên cứu từ 12/2017- 11/2018
Địa điểm nghiên cứu: Nghiên cứu được thực nghiệm tại phòng thực hành thí nghiệm
vi sinh thuộc Khoa Sinh Trường ĐH Khoa học Tự nhiên Chụp ảnh phân tích tế bào tại chỗ
Vật liệu nghiên cứu: Mẫu hình ảnh tế bào thực nghiệm trong phòng thí nghiệm, thiết
bị hỗ trợ là laptop Asus cấu hình Core i5 8250U, 8Gb Ram và điện thoại thông minh Phương pháp nghiên cứu: Dựa vào phương pháp quan sát, phát hiện ra những điểm thay đổi dẫn đến sai lệch kết quả Nhu cầu người dùng để tiết kiệm thời gian làm việc
5 Ý nghĩa thực tiễn của đề tài
Đề tài đưa ra được giải thuật xác định tế bào từ ảnh số được chụp trên điện thoại thông minh Hỗ trợ cho việc học tập nghiên cứu của các bạn sinh viên Khoa Sinh trong việc phân tích tế bào sinh vật
Trang 18Kết cấu của luận văn được trình bày gồm các phần sau:
CHƯƠNG 1: Tổng quan giới thiệu sơ lược các yêu cầu của đề tài và các phương pháp đang áp dụng
CHƯƠNG 2: Nêu lên các lý thuyết mà đề tài sử dụng trong ứng dụng
CHƯƠNG 3: Xử lý từng phần lý thuyết được áp dụng trong bài
CHƯƠNG 4: Thực nghiệm, kết quả và đánh giá
Trang 19CHƯƠNG 1 TỔNG QUAN
1.1 Bài toán đếm tế bào
Tế bào (Cell [1] xuất phát từ tiếng Latinh: cella, có nghĩa là "phòng nhỏ") là một đơn
vị cấu trúc cơ bản có chức năng sinh học của sinh vật sống Tế bào là đơn vị nhỏ nhất của sự sống có khả năng phân chia độc lập Tế bào còn chứa nguyên liệu di truyền và
tế bào có thể tự tạo nên nhiều bản sao từ chính chúng
Vậy vì sao phải đếm tế bào? Trong ngành huyết học của ngành y đếm tế bào CD4+
là xét nghiệm máu để xác định hệ miễn dịch có còn hoạt động tốt ở những người bị mắc bệnh nhiễm gây suy giảm miễn dịch hay còn gọi là HIV Tế bào CD4+ là một loại bạch cầu Bạch cầu rất quan trọng trong việc chống lại các virus hay vi khuẩn gây bệnh cho cơ thể Số lượng tế bào CD4+ ở những người không nhiễm HIV từ 600 đến 1500 tế bào/microlit (mcl) Số lượng tế bào CD4+ giảm sẽ có khả năng cao tiến triển thành AIDS Trong ngành sinh học thường đếm tế bào nấm, trực khuẩn … nhằm mục đích theo dõi mật độ tế bào ảnh hưởng tới sự phát triển từng chu kì của sinh vật, xác định sự biến đổi số lượng và chất lượng vi sinh vật để hiểu được sự sinh trưởng của vi sinh vật, biết được tốc độ sinh trưởng và thời gian thế hệ của sinh vật
Hiện nay có rất nhiều phương pháp đếm tế bào và thiết bị đếm chuyên biệt dành cho từng nhóm tế bào nhưng nhược điểm là phải sử dụng máy đếm lớn yêu cầu tài nguyên lớn hoặc phải xử dụng các vỉ đếm trên một vùng và tính tỷ lệ nhưng kết quả phải chờ thời gian xử lý Trong thực tế hoạt động học tập nghiên cứu của các bạn sinh viên trường Đại học Khoa học Tự nhiên, khi phân tích các mẫu tế tào các bạn sinh viên phải đếm số lượng tế bào, việc này thường đếm trực tiếp trên kính hiển vi sau này có
sự hỗ trợ của phần mềm máy tính, nhưng công đoạn đếm này tốn thời gian khi phải chụp hình sau đó mới chuyển qua máy tính phân tích Việc chụp lại tế bào từ kính hiển vi thường được các bạn sinh viên dùng điện thoại thông minh để tháo tác cho nhanh và mỗi lần thực hành có rất đông sinh viên phân tích nên các bạn phải đợi nhau làm trên máy tính, với sự phát triển ngày một mạnh mẽ của chip xử lý di động hiện
Trang 20thao tác ngay trên điện thoại của minh Dựa vào nhu cầu thực tế của các bạn sinh viên khoa Sinh trường Đại học Khoa học Tự nhiên đặt hàng phần mềm đếm tế bào trên điện thoại thông minh nhằm hỗ trợ sinh viên thuận lợi hơn trong việc nghiên cứu mẫu
tế bào và tiết kiệm một phần kinh phí phục vụ sinh viên
1.2 Khó khăn và thách thức
1.2.1 Các vấn đề cần giải quyết
Mục tiêu nghiên cứu của đề tài là đi tìm hướng giải quyết các vấn đề sau:
• Tìm hiểu về mẫu tế bào và phương thức sử dụng công cụ hỗ trợ để lấy mẫu cụ thể
ở đây là kính hiển vi quang học và điện thoại thông minh
• Tìm hiểu lý thuyết sử lý ảnh, áp dụng các lý thuyết đã có tìm ra phương pháp giải bài toán là nghiên cứu và xây dựng giải thuật phù hợp với bài toán đếm tế bào trên điện thoại thông minh
• Hiện thực nghiên cứu và kiểm thử thực tế trên điện thoại thông minh
1.2.2 Khó khăn và thách thức
Như giới thiệu ở trên để đạt độ chính xác cao trong việc đếm tế bào, tìm ra được mật độ tế bào trong một vùng đếm, các nhà khoa học sử dụng những máy đếm chuyên nghiệp có chức năng đẩy từng tế bào đi qua các mắt đếm được chiếu tia, sau đó đếm hoặc có những máy chụp cắt lớp với kết quả thu được có độ tin cậy cao nhưng chi phí cao, phức tạp trong khâu vận hành khi muốn đếm tế bào trên một tấm ảnh, dẫn đến tiến trình xử lý gặp rất nhiều khó khăn lý do là:
• Các tế bào không nằm đơn lẻ từng phần và có kích thước hình dạng không đồng nhất Có tế bào nằm tập trung thành từng cụm, có tế bào đang trong quá trình phân tách, có tế bào chết đang phân rã
• Do tế bào sinh trưởng trong môi trường dưỡng chất có các protein khác cùng phát triển trong một không gian dẫn đến khả năng phát hiện sai
• Tất cả thông tin đều nằm trên tấm hình ta phải lọc ra những thông tin nhiễu đưa ra kết quả ít sai số nhất
Trang 21• Trong môi trường ánh sáng bình thường ánh sáng chiếu không đồng nhất và khi chụp có vùng ảnh ánh sáng hội tụ lớn, vùng thiếu sáng kèm theo màu sắc của tế bào trong từng trường hợp không giống nhau dẫn đến bảng phân bố ánh sáng trong ảnh không đều, gây khó khăn trong khâu tiền xử lý ảnh và nhận diện tế bào
Hình 1.1 Các mẫu tế bào đặc trưng
A tế bào nằm đơn lẻ, B tế bào dính cụm và bị nhòe, C Tế bào nằm hỗn loạn nằm đè
lên nhau, D tế bào chết, E ảnh bị quá sáng ở 1 cụm kèm theo nhiễu, F ảnh sau khi
khử nhiễu nhưng các vùng vẫn dính nhau
Trang 22Hình 1.2 Các mẫu phân bố màu sắc và ánh sáng trong hình tế bào mẫu
Thách thức của đề tài là bản thân điện thoại thông minh được thiết kế ra với mục đích đàm thoại liên lạc và giải trí chứ không được thiết kế chuyên biệt cho mục đích xử lý ảnh Với sự phát triển của khoa học kĩ thuật bộ vi xử lý của điện thoại thông minh có tốc độ sử lý ngày càng tăng lên nhưng vẫn còn hạn chế nhiều so với máy tính ở khả năng tính toán, mặc khác máy ảnh của điện thoại thông minh ở mỗi hãng sản xuất lại
có độ nét và cân chỉnh màu sắc khác nhau dẫn đến hình ảnh đưa vào thuật toán phân tích không đồng nhất Đây là phần mềm dành cho các bạn sinh viên nghiên cứu học tập đòi hỏi luôn có sự đa dạng mẫu đếm, số lượng cũng như hình dạng màu sắc tế bào, tế bào không chuyên biệt nên cần một phần mềm xử lý các tế bào chung trước Phần mềm xử lý ảnh trên máy tính hiện cho độ chính xác cao dẫn đến khi đưa phần mềm nên điện thoại thông minh phải cho ra được kết quả ít sai số nhất có thể Hai nền tảng hệ điều hành cho thiết bị di động phổ biến hiện nay là IOS và Android cũng
đã xuất hiện những phần mềm hỗ trợ công việc đếm tế bào trên điện thoại thông minh, nhưng tất cả chỉ có tác dụng ghi chú lại thành quả sau khi đếm thủ công trước ấy hoặc thao tác đếm nhẩm, cứ mỗi lần đếm nhẩm là nhấp màn hình điện thoại thông minh
Trang 23một lần quá trình tiếp diễn như vậy tới khi đếm hết, không xử lý trực tiếp mà hầu như
là làm thủ công nên việc đếm thủ công tốn rất nhiều thời gian và công sức
Hình 1.3 Phần mềm trên Appstore
1.3 Các hướng tiếp cận
Hiện nay có nhiều phương pháp đếm từ đếm thủ công là đếm bằng mắt và ghi nhớ, cho đến đếm bằng công cụ hỗ trợ như máy đếm tế bào chuyên dụng hay sử dụng máy tính đếm trên ảnh tế bào
1.3.1 Phương pháp tạo mẫu và đếm thủ công
Đối với phương pháp đếm thử công nên chúng ta phải thông qua kính hiển vi nhìn vào các mẫu buồng đếm tế bào, buồng đếm là một lam mẫu được sử dụng để xác định
Trang 24bào máu gọi là buồng đếm hồng cầu Lamen được đặt trên mẫu, nổi trên mặt chất lỏng, được đặt ở độ cao nhất định (thường 0.1mm) Ngoài ra, còn có một mạng lưới được khắc vào bên trong phần kính của buồng đếm hồng cầu Lưới này gồm các hình vuông kích thước khác nhau được sắp xếp trật tự, cho phép tính toán dễ dàng các tế bào Bằng cách này, có thể xác định số lượng tế bào trong một thể tích quy định Pha trộn: chất lỏng phải ở dạng huyền phù đồng nhất Các tế bào dính lại với nhau thành một khối rất khó đếm và không được phân bổ đồng đều Nồng độ thích hợp: Nồng độ của các tế bào không nên quá cao hoặc quá thấp Nếu nồng độ quá cao, các tế bào sẽ chồng lên nhau và rất khó đếm Còn nồng độ thấp thì chỉ có một vài tế bào trên mỗi một ô vuông sẽ làm lỗi thống kê cao hơn, đo đó phải đếm nhiều ô vuông gây mất thời gian Dịch huyền phù có nồng độ cao cần được pha loãng thành 1:10, 1: 100 và 1:
1000 Để có dung dịch có độ pha loãng 1:10 lấy 1 phần của mẫu trộn với 9 phần nước (hoặc tốt hơn là nước muối sinh lý để tránh làm vỡ các tế bào) Đếm tế bào đang ở trên đường kẻ của ô vuông: Cần phải chú ý các tế bào nằm trên đường kẻ của ô vuông của buồng đếm hồng cầu Tế bào chạm vào đường kẻ phía trên và bên phải của một
ô vuông không nên đếm, nên đếm các tế bào ở phía dưới và bên trái Số ô vuông cần đếm: nồng độ càng thấp, dẫn đến số ô vuông phải đếm càng nhiều Nếu không sẽ bị lỗi thống kê Cần đếm bao nhiêu hình vuông? Để tìm hiểu thì có thể tính nồng độ tế bào trên mỗi ml dựa trên những con số thu được từ hai ô vuông khác nhau Nếu kết quả cuối cùng khác nhau nhiều dẫn đến có thể là một dấu hiệu của lỗi lấy mẫu [2]
Hình 1.4 Tế bào trên vỉ đếm
Trang 25Ví dụ về tính toán mật độ tế bào:
• Bước 1 - Tính trung bình: Nếu không đếm tất cả các tế bào trong một hình vuông lớn (1mmx1mm) thì cần phải tính trung bình các kết quả trước khi tiếp tục Trong
ví dụ này, giả sử số lượng tế bào trung bình 123.456 tế bào
• Bước 2 - Tính thể tích: Cần xác định thể tích thể hiện bằng các hình vuông Chiều rộng và chiều cao của hình vuông (ví dụ như 0.25mm x 0.25mm) phải được nhân với chiều cao của mẫu (thường được in trên buồng đếm hồng cầu, trong ví dụ này
là 0.1mm): v = 0.25mm x 0.25mm x 0.1mm = 0.00625mm³ = 0.00625ul (ul là microliters)
• Bước 3 - Tính toán số lượng của các tế bào trong 1 ml
• Bước 4 - Nhân hệ số pha loãng: Nếu mẫu được pha loãng trước khi đếm, cần phải tính đến hệ số này Giả sử mẫu được pha loãng 1:10 Kết quả cuối cùng sẽ là 19
752 960 tế bào x 10 = 197 529 600 tế bào trong 1 ml
Lưu ý: Loại buồng đếm có nhiều loại với kích thước lưới khác nhau Trong một buồng đếm cũng có các lưới với kích cỡ khác nhau Bạn phải biết kích thước lưới và chiều cao nếu không bạn sẽ tính toán sai
1.3.2 Sử dụng thiết bị đếm
Hiện nay có rất nhiều thiết bị hỗ trợ cho việc đếm tế bào ngay từ bước soi tế bào từ kính hiển vi đã có những kính hiển vi được gắn với máy ảnh hoặc nối trực tiếp đến máy tính, cho đến những thiết bị lớn hỗ trợ chuyên biệt như máy đếm tế bào tự động
sử dụng nguyên lý điện trở kháng tế bào máu được pha loãng trong dung dịch điện phân sau đó, tế bào được đi qua một lỗ nhỏ dòng điện một chiều được đặt giữa hai điện cực platinum ở hai phía, tế bào máu dẫn điện kém khi một tế bào đi ngang qua
lỗ giảm độ dẫn điện tức thời thay đổi hiệu điện thế giữa hai điện cực tạo ra tần số sung điện số lượng xung thể hiện số lượng tế bào hoặc nguyên lý quang học khi tế bào đi qua một vùng được chiếu sáng, ánh sáng sẽ bị phản xạ, khúc xạ, tán xạ Các tế bào quang điện sẽ ghi nhận sự thay đổi của các xung ánh sáng số lượng xung thay đổi
là số lượng tế bào
Trang 26Hình 1.5 Máy XT1800i đếm tế bào bằng laser
Hình 1.6 Cơ chế đếm tế bào bằng laser
1.3.3 Phần mềm đếm trên máy tính
Để phục vụ cho việc đếm tế bào trên ảnh có trước đã có nhiều phần mềm bán tự động được lập trình viên viết ra hỗ trợ công tác phân tích mẫu cho các nhà nghiên cứu cụ thể ở đây tôi xin nêu ra hai phần mềm một là mã nguồn mở ImageJ và CellCounter của tác giả Nghia Ho
Trang 27ImageJ [3] được viết bằng ngôn ngữ Java, cho phép hoặc động trên cả 3 hệ điều hành
phổ biến Linux, Mac OS X, và Windows ImageJ là công cụ xử lý hình ảnh mạnh mẽ
và hoàn toàn mở, do đó được hỗ trợ rất nhiều từ cộng đồng phát triển trên toàn thế
giới Ưu điểm của ImageJ đó là rất nhẹ, dễ cài đặt nhưng có tốc độ xử lý siêu tốc,
nhanh nhất trong số các chương trình xử lý hình ảnh trên nền Java, lên đến khoảng
40 triệu điểm ảnh/giây (tương đương với việc làm smooth một file ảnh có kích thước
2048×2048 chỉ trong 0.1s) ImageJ cũng hỗ trợ đa số các định dạng ảnh phổ biến hiện
nay như GIF, JPEG, BMP, PNG Thực nghiệm phần mềm máy tính đếm tế bào như
sau:
Đầu tiên là đưa hình vào phần mềm, chọn kích thước và khoảng cách phù hợp, sau
đấy điều chỉnh histogram canh chỉnh độ nét và ngưỡng của hình làm xuất hiện đối
tượng
Trang 28Hình 1.7 Thao tác xử lý
Hình 1.8 Xuất kết quả
Ưu điểm của phần mềm là sử lý nhanh, nhược điểm là có nhiều bước thao tác yêu cầu
người sử dụng phải thao tác thủ công nhiều như loại bỏ các điểm xấu, tinh chỉnh cho
nổi đối tượng, điều chỉnh cân bằng màu
CellCounter [4] Đây là một phần mềm đếm số lượng tế bào trên các mẫu vật tròn mà
tác giả viết Đó là một công cụ bán tự động để giúp đếm các số lượng của tế bào Chỉ
để đưa ra một ví dụ về cách miền cụ thể, nó được thiết kế để làm việc với các hình
ảnh của mẫu cụ thể Các tế bào phải tối hơn so với xung quanh
Trang 29Hình 1.9 Xuất kết quả của phần mềm CellCounter Nhược điểm của giải pháp này là tốn khá nhiều thời gian ở công đoạn chụp hình trên máy ảnh sau đó đưa dữ liệu vào máy tính canh chỉnh Cần một giải pháp tiết kiệm thời gian
1.3.4 Phần mềm trên điện thoại thông minh
Trên nền tảng Android có rất nhiều phần mềm hỗ trợ đếm nhưng hầu hết đều là phần mềm không đếm trực tiếp từ hình ảnh mà hướng người dùng kích tay sau mỗi lần đếm nhẩm hoặc là công cụ ghi nhớ tại những lần đếm Chứ chưa có phần mềm thao tác trực tiếp lên hình ảnh và đưa kết quả trực tiếp ra màn hình
Trang 30Hình 1.10 Các phần mềm trên kho ứng dụng
1.4 Hướng giải quyết
Đánh giá hiện trạng phần mềm đếm tế bào trên ảnh số hiện có và các nguyên tắc đếm
cũng như công cụ đếm hiện nay Đưa ra định hướng phát triển đề tài là phần mềm
đếm tế bào trên điện thoại thông minh, đưa ra hướng giải quyết cho các bài toán về
sử lý ảnh làm sao cho thời gian thực hiện nhanh nhất và kết quả ít sai số nhất Trong
phần xử lý ảnh cần tìm phương pháp tiền xử lí phù hợp, nghiên cứu phương pháp
đếm tế bào từ bức ảnh đã có, kiểm thử thực tế để tinh chỉnh lại cho phù hợp Tận
dụng máy ảnh của điện thoại thông minh làm thiết bị thu hình ảnh trực tiếp Với mục
đích dành cho các bạn sinh viên có kết quả ngay tại phòng thí nghiệm Các bạn chỉ
cần đưa máy điện thoại lên ống kính hiển vi chụp và tinh chỉnh thông số là đưa ra kết
quả số lượng tế bào trên mẫu vật được chụp trước đấy Vì giới hạn tài nguyên cũng
như cấu hình của thiết bị di động đa dạng từ cấu hình thấp đến cao nên, đặc điểm
phần mềm là phù hợp với điện thoại thông minh có cấu hình thấp, phát hiện đối tượng
nhanh và trả về kết quả nhanh Hiện điện thoại thông minh có 2 hệ điều hành phổ
biến là IOS của hãng Apple và Android của Google về nền tảng IOS việc lập trình
IOS còn giới hạn ở hệ sinh thái của hãng Apple nên trên đề tài tôi sử dụng nền tảng
Android vì độ phổ biến của hệ điều hành Android đại đa số người dùng Từ những
Trang 31yếu tố trên tôi sử dụng phần mềm lập trình điện thoại thông minh là Android Studio
để viết phần mềm trên di động sử lý các bài toán xử lý ảnh Dựa vào các nghiên cứu
và thực nghiệm những bài toán tương tự tôi đưa ra hướng giải cho bài toán cellphone gồm các bước sau:
• Tiền xử lý: mỗi máy chụp hình đều có độ phân giải khác nhau, cấu trúc điều khiển khác nhau cũng như ảnh hưởng từ thao tác chụp dẫn đến hình ảnh có thể bị nhoè hoặc độ nhiễu cao, từ đấy chúng ta cần làm sạch tấm ảnh bằng cách lọc nhiễu băng thông cao và lọc hạt nhiễu Chuẩn hóa lại ảnh cho đúng định dạng cần xử lý, cắt gọt vùng cần đếm, loại bỏ các thành phần gây nhiễu ảnh hưởng đến toàn bộ tấm hình, từ đó chúng ta nên đưa tấm hình chụp về một chuẩn định dạng duy nhất có cùng kích thước, cùng độ phân giải giúp cho quá trình xử lý sau này
• Phân đoạn: là quá trình chuyển đổi ảnh xám thành ảnh nhị phân nhưng chúng ta phải chọn đúng phương pháp thích hợp cho ảnh chụp tế bào Khi chúng ta chọn ngưỡng cố định để phân đoạn từ đó kết quả đưa ra không tốt nguyên do ảnh chụp không cố định điều kiện không gian ánh sáng và người chụp tác động dẫn đến ảnh mẫu trên cùng một mẫu vật mà có ngưỡng khác nhau Cũng do lý do trên mà ngưỡng theo môi trường cũng không phù hợp lý do có ảnh góc sáng cao hơn so với góc khác nên làm ảnh bị cháy sáng không phân biệt được Phương pháp đưa ra là
sử dụng ngưỡng cố định ban đầu nếu ảnh nhị phân không rõ đối tượng ta nên điều chỉnh cho phù hợp
• Xác định tế bào :Dựa vào tính chất tế bào được nghiên cứu ở đây là đa dạng không
có hình dạng màu sắc cụ thể, không có nhận dạng riêng nên khó khăn trong bước xác định, nhưng chúng ta có thể trích xuất tế bào đếm có các tính chất chung như
có hình gần tròn, có dính và bị biến dạng nên hướng nghiên cứu đề xuất là thuật toán Hough Transform tìm hình tròn, elip và thuật toán Finding Contours tìm đường viền và tìm mặt nạ hình từ đó đưa ra kết quả là các đối tượng tế bào được trích xuất
ra khỏi hình ban đầu
• Kĩ thuật đếm: Áp dụng các thuật toán xử lý ảnh phân tách tế bào chuẩn xác, ước lượng kích thước Dựa vào các mẫu tế bào được sinh viên cung cấp kiểm thử và
Trang 32• Đưa ra được kết quả trực quan, có thể kiểm thử ngay tại bước cuối
• Thực nghiệm và kiểm thử kết quả, chỉnh sửa lại cho phù hợp với đề tài
Đối tượng nghiên cứu của đề tài là thực hiện việc đếm các dạng tế bào mẫu trên điện thoại thông minh sử dụng giải thuật đường biên kết hợp với các thuật toán xử lý ảnh đưa ra đươc đối tượng là tế bào, từ đó xuất kết quả đếm Nghiên cứu ngôn ngữ viết ứng dụng di động từ đấy hiện thực trên thiết bị di động
Phạm vi nghiên cứu là phân tách đối tượng mục tiêu ở đây là tế bào qua hình chụp từ điện thoại thông minh xử lý đưa ra số lượng, loại bỏ các đối tượng gây nhiễu, đưa ra đươc kết quả gần chính xác nhất so với đếm thực tế
Đề tài áp dụng cho hệ điều hành Android trên điện thoại thông minh Phần mềm nghiên cứu được viết được thực hiện trên thiết bị cấu hình là laptop mã hiệu dell 7240
sử dụng cấu hình core i5-4300U, Ram 8Gb Hệ điều hành Window 10 64bit Kiểm thử trên máy ảo Google Pixel chạy phiên bản Androis 6.0, kiểm thử trên máy thật là Samsung Note 5, Xiaomi 3, AsusZenphone 3Max
Trang 33CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Thiết bị nghiên cứu
Trong qua trình nghiên cứu chúng ta cần sử dụng nhiều thiết bị hỗ trợ nghiên cứu từ thiết bị phần cứng đến thiết bị phần mềm Ở mục này tôi đưa ra các đặc tính thiết bị
hỗ trợ trong quá trình thực hiện nghiên cứu
2.1.1 Kính hiển vi
Với sự phát triển ngày càng cao của khoa học công nghệ chúng ta quan sát, phân tích một số tế bào hồng cầu hoặc những hạt diệp lục đã không còn khó khăn Nhờ kính hiển vi mà con người có thể biết được cấu tạo, màu sắc,… của thế giới vi mô mà bằng mắt thường ta không thể nào thấy được Với đặc điểm đó, ứng dụng của kính hiển vi vào các ngành khoa học thí nghiệm như y tế, giáo dục, nông, lâm, ngư nghiệp… là vô cùng to lớn Chủng loại của kính hiển vi cũng rất phong phú và đa dạng Vậy, làm thế nào để chọn được loại kính phù hợp, đưa vào sử dụng đúng với mục đích nghiên cứu? Bài viết này, tôi sẽ nêu ra một số đặc điểm, cấu tạo của các
loại kính hiển vi thông dụng để giúp mọi người phần nào hiểu được chức năng và ứng
dụng nghiên cứu, tránh tình trạng chọn lựa những loại kính không phù hợp với yêu cầu ban đầu mà lại không sử dụng hết được khả năng của nó Hiện nay có ba chủng loại kính hiển vi phổ biến trên thế giới là: Kính hiển vi quang học, kính hiển vi điện
tử và kính hiển vi quét đầu dò
Kính hiển vi quang học: Là một loại kính hiển vi sử dụng ánh sáng khả kiến để quan sát, hình ảnh các vật thể nhỏ được phóng đại nhờ một hệ thống các thấu kính thủy tinh Kính hiển vi quang học là dạng kính hiển vi đơn giản, lâu đời nhất và cũng là phổ biến nhất Các kính hiển vi quang học cũ thường phải quan sát hình ảnh trực tiếp bằng mắt nhìn qua thị kính, nhưng các kính hiện đại hiện nay còn được gắn thêm các CCD máy ảnh hoặc các phim ảnh quang học để chụp ảnh
Trang 34Hình 2.1 Kính hiển vi quang học Kính hiển vi điện tử: Là nhóm kính hiển vi mà ở đó nguồn bức xạ ánh sáng được thay thế bằng các chùm điện tử hẹp được tăng tốc dưới hiệu điện thế từ vài chục kV đến vài trăm kV Thay vì sử dụng thấu kính thủy tinh, kính hiển vi điện tử sử dụng các thấu kính từ để hội tụ chùm điện tử, và cả hệ được đặt trong buồng chân không cao Kính hiển vi điện tử có độ phân giải giới hạn bởi bước sóng của sóng điện tử, nhưng do sóng điện tử có bước sóng rất ngắn nên chúng có độ phân giải vượt xa các kính hiển vi quang học truyền thống, và kính hiển vi điện tử truyền qua hiện đang là loại kính hiển vi có độ phân giải tốt nhất tới cấp độ hạ nguyên tử Ngoài ra nhờ tương tác giữa chùm điện tử với mẫu vật, kính hiển vi điện tử còn cho phép quan sát các cấu trúc điện từ của vật rắn, đem lại nhiều phép phân tích hóa học với chất lượng rất cao
Kính hiển vi quét đầu dò: Tạo ảnh bề mặt của mẫu vật được thực hiện bằng cách quét một mũi dò nhỏ trên bề mặt của mẫu vật Khác với các loại kính hiển vi khác như quang học, hay hiển vi điện tử, kính hiển vi quét đầu dò không sử dụng nguồn bức
xạ để tạo ảnh, mà tạo ảnh thông qua tương tác giữa đầu dò và bề mặt của mẫu vật
Trang 35Do đó, độ phân giải của kính hiển vi đầu dò chỉ bị giới hạn bởi kích thước của đầu
dò
Trong ba chủng loại kính hiển vi kể trên thì chúng còn được phân loại ra thành những loại kính hiển vi khác nhau phù hợp với từng yêu cầu sử dụng khác nhau Ở bài này tôi sẽ giới thiệu những loại kính hiển vi quang học thường gặp và ứng dụng rộng rãi
ở Việt Nam Kính hiển vi quang học thường gặp và phổ biến nhất hiện nay là kính hiển vi ánh sáng truyền qua hay còn gọi là kính hiển vi trường sáng Chúng ta thường bắt gặp chúng ở trường học, bệnh viên, phòng thí nghiệm,… chúng thường sử dụng một nguồn ánh sáng trắng hoặc vàng rọi qua mẫu đặt trên một lam kính để quan sát hình dạng và vi cấu trúc của mẫu Ảnh của mẫu là hình ảnh hai chiều Độ phóng đại của kính hiển vi quang học là 40 đến 1500 lần Kính hiển vi gồm có 4 hệ thống: Hệ thống giá đỡ, Hệ thống phóng đại, Hệ thống chiếu sáng, Hệ thống điều chỉnh
Hệ thống giá đỡ gồm: Bệ, thân, Revonve mang vật kính, bàn để tiêu bản, kẹp tiêu bản
Hệ thống phóng đại gồm: Thị kính là một bộ phận của kính hiển vi mà người dùng
để mắt và để soi kính, có 2 loại ống đôi và ống đơn (Bản chất là một thấu kính hội
tụ có tiêu cự rất ngắn, dùng để tạo ra ảnh thật của vật cần quan sát) Vật kính là một bộ phận của kính hiển vi quay về phía có vật mà người dùng muốn quan sát, có 3 độ phóng đại chính của vật kính: x10, x40, x100
Hệ thống chiếu sáng gồm: Nguồn sáng (gương hoặc đèn) Màn chắn, được đặt vào trong tụ quang dùng để điều chỉnh lượng ánh sáng đi qua tụ quang Tụ quang, dùng
để tập trung những tia ánh sáng và hướng luồng ánh sáng vào tiêu bản cần quan sát
Vị trí của tụ quang nằm ở giữa gương và bàn để tiêu bản Di chuyển tụ quang lên xuống để điều chỉnh độ chiếu sáng
Hệ thống điều chỉnh gồm: Ốc vĩ cấp, ốc vi cấp, ốc điều chỉnh tụ quang lên xuống, ốc điều chỉnh độ tập trung ánh sáng của tụ quang, núm điều chỉnh màn chắn và ốc di chuyển phiến kính mang tiêu bản (trước, sau, trái, phải)
Trang 36Hình 2.2 Cấu trúc kính hiển vi Các bước sử dụng kính hiển vi:
• Đặt tiêu bản lên bàn để tiêu bản, dùng kẹp để giữ tiêu bản, nhỏ một giọt dầu soi để soi chìm trên phiến kính khi soi vật kính x100
• Chọn vật kính: tùy theo mẫu tiêu bản và mục đích quan sát để chọn vật kính thích hợp
• Điều chỉnh ánh sáng
• Điều chỉnh tụ quang: đối với vật kính x10 hạ tụ quang đến tận cùng, vật kính x40
để tụ quang ở đoạn giữa, vật kính x100
• Điều chỉnh cỡ màn chắn tương ứng với vật kính
• Hạ vật kính sát vào tiêu bản (mắt nhìn tiêu bản)
• Mắt nhìn thị kính, tay vặn ốc vĩ cấp để đưa vật kính lên cho đến khi nhìn thấy hình ảnh mờ của vi trường
• Điều chỉnh ốc vi cấp để được hình ảnh rõ nét
Trang 37di động và các phụ kiện đi kèm cho máy Những điện thoại thông minh phổ biến nhất hiện nay dựa trên nền tảng của hệ điều hành Android của Google và iOS của Apple Các ngành công nghiệp tin rằng điện thoại thông minh đa số có một màn hình độ phân giải cao hơn so với điện thoại truyền thống và điện thoại thông minh như một máy tính di động, vì nó có một hệ điều hành riêng biệt vì có thể hiển thị phù hợp các trang website bình thường và người dùng có thể thay đổi một giao diện và sở hữu khả năng mở ứng dụng tiện hơn và dễ dàng cài đặt lẫn gỡ bỏ ứng dụng, điện thoại thông minh có màn hình cảm ứng độ phân giải cao, và sẵn sàng để gọi bàn phím ảo và viết chữ tay Có thể tiến hành đa tác vụ và có một đa phương tiện mạnh mẽ như Email, Internet, nên điện thoại thông minh hoàn toàn có thể thay đổi các thiết bị truyền thống như MP3 và PDA, điện thoại thông minh có thể thay thế xử lý các vấn đề máy tính văn phòng và các vấn đề khác, nó có thể giao tiếp với mạng duy trì một thời gian kết nối liền mạch với thời gian, đồng thời có thể vô hiệu hóa mạng bất cứ lúc nào, và đồng bộ hóa dữ liệu với máy tính, máy tính xách tay và các thiết bị khác
Trang 38Hình 2.3 Các dòng điện thoại thông minh hiện nay Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết
bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 Chiếc điện thoại đầu tiên chạy Android được bán vào năm 2008 [6] Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian OS vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên tivi thông minh,
Trang 39máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở
để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác Android chiếm 87,7% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 2 năm 2017, với tổng cộng 2 tỷ thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Chính vì điện thoại thông minh hiện nay thuận tiện cho người sử dụng trong vấn đề mang đi bất cứ đâu do nhỏ gọn và vi
sử lý cao, hiện nay các điện thoại thông minh tầm trung giá thị trường phù hợp mới túi tiền mọi người nhất là sinh viên, ở thời điểm năm 2018 chip sử lý phổ thông là Snapdragon 625 8 nhân 64-bit, kích thước màn hình 5-5.99, độ phân giải màn hình Full HD+ (1080 x 2160 Pixels) và có Ram cơ bản 3Gb Thích hợp cho mọi tác vụ xử
lý hình ảnh thêm vào đấy phần mềm lập trình cho điện thoại thông minh cụ thể là Android Studio cho hệ điều hành android thường xuyên được cập nhật
2.1.3 Ngôn ngữ lập trình
Android Studio [7] là hệ điều hành di động phổ biến nhất hiện tại, cũng như phát triển nhanh nhất Do vậy tiềm năng với nó rất lớn, mặc dù song hành cũng nó còn có hệ điều hành khác như IOS nhưng ở đây tôi chỉ thực hiện trên Android mà thôi Lịch sử của Android ra đời vào vào năm 2005, nó là hệ điều hành nhân Linux và sau đó được goolge mua lại và họ đã đưa Android trở thành một hệ điều hành mã nguồn mở Điều này có nghĩa là bạn có thể download mã nguồn Android và phục vụ cho những mục đích riêng của mình Hiện tại thì Android xuất hiện hầu như trong các sản phẩm của các nhà sản xuất lớn Samsung, Sony, Htc…từ điện thoại thông minh cho tới máy tính bảng, ti vi…Và có thể nói đây là một trong những nguyên nhân để nó phát triển mạnh tới vậy cũng là tiềm năng lớn cho các lập trình viên với hệ điều hành này.à một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết
bị sử dụng hệ điều hành Android như các loại điện thoại điện thoại thông minh, các máy tính bảng Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance hỗ trợ và một hệ thống build/deploy (trong đó có trình giả lập
Trang 40máy ảo để giả lập môi trường của thiết bị điện thoại hoặc máy tính bảng trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp Android gồm 5 phần chính sau được chứa trong 4 lớp:
Nhân Linux: Đây là nhân nền tảng mà hệ điều hành Android dựa vào nó để phát triển Đâu là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển các phần cứng khác trên thiết bị Android
Thư viện: Chứa tất cả các mã cái mà cung cấp cấp những tính năng chính của hệ điều hành Android, đôi với ví dụ này thì SQLite là thư viện cung cấp hỗ trợ làm việc với database dùng để chứa dữ liệu Hoặc Webkit là thư viện cung cấp những tính năng cho trình duyệt Web
Android runtime: Là tầng cùng với lớp thư viện Android runtime cung cấp một tập các thư viện cốt lỗi để cho phép các lập trình viên phát triển viết ứng dụng bằng việc
sử dụng ngôn ngữ lập trình Java Android Runtime bao gốm máy ảo Dalvik (ở các version < 4.4, hiện tài là phiên bản máy ảo ART được cho là mạnh mẽ hơn trong việc
xử lý biên dịch) Là cái để điều khiển mọi hoạt động của ứng dụng Android chạy trên
nó (máy ảo Dalvik sẽ biên dịch ứng dụng để nó có thể chạy (thực thi) được , tương
tự như các ứng dụng được biên dịch trên máy ảo Java vậy) Ngoài ra máy ảo còn giúp tối ưu năng lượng pin cũng như CPU của thiết bị Android
Android framework: Là phần thể hiện các khả năng khác nhau của Android (kết nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được tạo ra