1.3 Nội dung thực hiệnSử dụng các kiến thức đã học trong 2 học phần môn vi điều khiển và trí tuê m nhân tạo để tìm hiểu:- Tiến hành thiết lâ mp sơ đồ khối hê m thống.- Xử lí các quá trìn
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
-
-ĐỒ ÁN HỌC PHẦN Ngành: Công nghệ kỹ thuật điện tử - viễn thông Chuyên ngành: Điện tử máy tính – mạng truyền thông
Đề tài:
NHẬN DIỆN NGƯỜI ĐEO KHẨU TRANG THEO THỜI
GIAN THỰC
Giảng viên hướng dẫn : TS Nguyễn Linh Nam
Sinh viên thực hiện: Bùi Xuân Quang 1911505410148 -19DT1 Trần Duy Tân 1911505410153 - 19DT1
Đà Nẵng, tháng 12 năm 2022
Trang 2LỜI CẢM ƠN
Lời đầu tiên, chúng em xin trân thành cảm ơn và bày tỏ lòng biết ơn sâu sắc nhấttới giảng viên hướng dẫn môn Đồ án Điện tử - Viễn thông 2 - thầy Nguyễn LinhNam đã nhiệt tình hướng dẫn
Chúng em xin chân thành cảm ơn các thầy cô giáo đang giảng dạy tại KhoaĐiện - Điện tử đã nhiệt tình ủng hộ, cung cấp tài liệu và đưa ra những ý kiến góp ýquý báu
Do kiến thức còn hạn chế của chúng em, bài báo cáo này không thể tránhkhỏi những thiếu sót Chúng em rất mong được thầy cô giáo nhận xét và góp ý
để chúng em hoàn thiện tốt hơn đề tài của mình
Xin chân thành cảm ơn!
Trang 3
MỤC LỤC
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 4
1.1 Lý do chọn đề tài 4
1.2 Vấn đè giải quyết 4
1.3 Nội dung thực hiện 5
1.4 Công nghệ nhận dạng khuôn mặt 5
1.5 Các bước trong chu trình xây dựng thuật toán nhận diện khuôn mặt 7
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 8
2.1 Hệ thống nhận diện khuôn mặt 8
2.1.1 Cấu trúc chương trình 8
2.1.2 Những tham số hình ảnh cơ bản 8
2.2 Giới thiệu về ESP32-CAM 9
2.2.1 Khái niệm 9
2.2.2 Ứng dụng 10
2.2.3 Thông số kĩ thuật 10
2.3 Một số khái niệm cơ bản về xử lý ảnh 18
2.3.1 Xử lý ảnh 18
2.3.2 Nhận diện hình ảnh 19
2.4 Giới thiệu về ngôn ngữ lập trình Python và OpenCV 20
2.4.1 Giới thiệu OpenCV 20
2.4.2 Ngôn ngữ Python 21
2.5 Thuật toán hệ thống 23
2.5.1 Thuật toán thu thập dữ liệu 23
2.5.2 Thuật toán huấn luyện mô hình 24
2.5.3 Thuật toán phát hiện người đeo khẩu trang trong thời gian thực 25
CHƯƠNG 3 MÔ PHỎNG CHƯƠNG TRÌNH 27
3.1 Cài đặt cơ bản cấu hình ESP32-CAM 27
3.2 Kết quả chạy chương trình trên ESP32-CAM 32
3.3 Kết luận 33
3.4 Hướng phát triển 33
Trang 4Danh sách hình ảnh
Hình 1.1 Công nghệ xử lý ảnh 5
Hình 1.2 Nhận diện khuôn mặt truyền thống 7
Hình 1.3 Nhận diện khuôn mặt 3D 7
Hình 2.1 Hệ thống nhận dạng khuôn mặt 9
Hình 2.2 ESP32-CAM 10
Hình 2.3 Hình ảnh các chân ESP32 Cam 18
Hình 2.4: ESP32-CAM Schematic 19
Hình 2.5 Xử lý ảnh công nghiệp 19
Hình 2.6 Nhận diện hình ảnh 21
Hình 2.7 Logo OpenCV 21
Hình 2.8 Logo ngôn ngữ Python 22
Hình 2.9 Thuật toán thu thập dữ liệu 24
Hình 2.10 Thuật toán huấn luyện mô hình 25
Hình 2.11 Thuật toán phát hiện người đeo khẩu trang 26
Hình 3.1 ESP32-CAM 28
Hình 3.2 Mạch chuyển UART CP2102 28
Hình 3.4 Kết quả hiển thị màu xanh khi đeo khẩu trang 33
Trang 5CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 Lý do chọn đề tài
Việc đeo khẩu trang nơi công cộng đã góp phần hạn chế được sự lây lan củadịch bệnh covid 19 trên toàn cầu Giám sát người dân thực hiện đúng chủ trương,chính sách của Nhà nước trong việc đeo khẩu trang nơi công cộng hoàn toàn có thểđược thực hiện một cách tự động Bằng việc ứng dụng công nghệ xử lý ảnh, nhóm
em đã cùng nhau xây dựng nên chương trình phát hiện người dân có đeo khẩu tranghay không và nhắc nhở Chương trình dựa trên ngôn ngữ python và một số thư viện
mã nguồn mở như Open CV, Keras, Mô hình được thực hiện đạt độ chính xác caolên đến 98, 99% khi tiến hành phát hiện người đeo khẩu trang trên tập dữ liệu thửnghiệm
Hình 1.1 Công nghệ xử lý ảnh
1.2 Vấn đề giải quyết
Với đề tài này chúng ta xác định mục tiêu là người có đeo khẩu trang hay không.Yêu cầu đă mt ra này gồm các tiêu chí:
- Nhâ mn diê mn có đô m chính xác cao
- Cho phép lưu khuôn mă mt vào dữ liê mu hê m thống
- Tốc đô m xử lý nhanh, khi có người không đeo khẩu trang đứng trong khunghình của camera lập tức có kòi báo
Sản phẩm có tính thẩm my,nhỏ gọn
Trang 61.3 Nội dung thực hiện
Sử dụng các kiến thức đã học trong 2 học phần môn vi điều khiển và trí tuê m nhântạo để tìm hiểu:
- Tiến hành thiết lâ mp sơ đồ khối hê m thống
- Xử lí các quá trình nhâ mn diê mn và thông báo đúng lúc
- Thực hiê mn lắp đă mt phần cứng và viết nạp code theo yêu cầu chức năng
- Nhâ |n dạng truyền thống.
Một số thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằngcách trích xuất các ranh giới, hoặc đặc điểm, từ một hình ảnh khuôn mặt của đốitượng Ví dụ, một thuật toán có thể phân tích các vị trí tương đối, kích thước,và/hoặc hình dạng của mắt, mũi, gò má, và cằm Những tính năng này sau đó được
sử dụng để tìm kiếm các hình ảnh khác với các tính năng phù hợp
Các thuật toán bình thường hóa một bộ sưu tập các hình ảnh khuôn mặt và sau
đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu ích cho việc nhậndạng khuôn mặt Một hình ảnh mẫu sau đó được so sánh với các dữ liệu khuônmặt Một trong những hệ thống thành công sớm nhất dựa trên các ky thuật phù hợpvới mẫu áp dụng cho một tập hợp các đặc điểm khuôn mặt nổi bật, cung cấp mộtdạng đại diện của khuôn mặt được nén
Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình học,
đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng), là sử dụng phươngpháp thống kê để 'chưng cất' một hình ảnh thành những giá trị và so sánh các giá trịvới các mẫu để loại bỏ chênh lệch
Trang 7Hình 1.2 Nhận diện khuôn mặt truyền thống
- Nhâ |n dạng 3D
Một xu hướng mới nổi lên, tuyên bố cải thiện được độ chính xác, là nhận dạngkhuôn mặt ba chiều Ky thuật này sử dụng các cảm biến 3D để nắm bắt thông tin vềhình dạng của khuôn mặt Thông tin này sau đó được sử dụng để xác định các tínhnăng đặc biệt trên bề mặt của một khuôn mặt, chẳng hạn như các đường viền củahốc mắt, mũi và cằm
Các điểm dữ liệu ba chiều từ một khuôn mặt cải thiện lớn độ chính xác cho nhậndạng khuôn mặt Nghiên cứu 3D được tăng cường bởi sự phát triển của các bộ cảmbiến tinh vi giúp nắm bắt hình ảnh chụp khuôn mặt 3D được tốt hơn Các cảm biếnhoạt động bằng cách chiếu ánh sáng có cấu trúc lên gương mặt
Hàng chục hoặc nhiều hơn nữa các bộ cảm biến hình ảnh này có thể được đặt lêntrên cùng một con chip CMOS-mỗi cảm biến sẽ thu một phần khác nhau của hìnhảnh
Hình 1.3 Nhận diện khuôn mặt 3D
Trang 81.5 Các bước trong chu trình xây dựng thuật toán nhận diện khuôn mặt Bước 1: Nhận diện khuôn mặt.
Máy ảnh phát hiện và định vị hình ảnh của một khuôn mặt khi đối tượng đang ởmột mình hoặc trong một đám đông Từ đó ghi nhận hình ảnh của đối tượng
Bước 2: Phân tích khuôn mặt.
Tiếp theo, hình ảnh khuôn mặt đối tượng được chụp lại và tiến hành phân tích.Hầu hết công nghệ nhận diện khuôn mặt dựa trên hình ảnh 2D thay vì 3D vì nó có thểkhớp hình ảnh 2D với ảnh công khai trong cơ sở dữ liệu một cách thuận tiện và chínhxác hơn Sau đó đưa vào phần mềm để tiến hành đọc hình dạng khuôn mặt của đốitượng Các yếu tố chính cần xử lý bao gồm khoảng cách giữa hai mắt, độ sâu của hốcmắt, khoảng cách từ trán đến cằm, hình dạng của gò má và đường viền của môi, tai vàcằm Mục đích là để xác định các điểm mốc chính trên khuôn mặt nhằm phân biệtnhiều người khác nhau
Bước 3: Chuyển đổi hình ảnh thành dữ liệu.
Chuyển đổi ảnh chụp khuôn mặt thành một tập hợp thông tin ky thuật số (dữ liệu)dựa trên các đặc điểm khuôn mặt của người đó Những thuộc tính khuôn mặt sẽ được
xử lý dưới dạng các thuật toán và công thức, và mỗi người sẽ sở hữu một dữ liệukhuôn mặt riêng biệt
Bước 4: Tìm kết quả nhận diện khuôn mặt phù hợp.
Bước tiếp theo tiến hành so sánh với cơ sở dữ liệu khuôn mặt sẵn có Nếu khuônmặt được ghi lại khớp với một hình ảnh trong cơ sở dữ liệu, thì việc xác định sẽ hoàntất
Trang 9CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Hệ thống nhận diện khuôn mặt
2.1.1 Cấu trúc chương trình
Hê m thống nhâ mn dạng mă mt người là mô mt hê m thống nhâ mn vào mô mt ảnh hoă mc đoạnvideo (mô mt dòng gồm các ảnh liên tục) Qua quá trình xử lí, tính toán hê m thốngxác định vị trí mă mt người có trong ảnh và xác định là người nào trong số nhữngngười mà hê m thống biết (qua quá trình học) hoă mc người lạ
Hình 2.1 Hệ thống nhận dạng khuôn mặtCấu trúc chương trình gồm 3 bước được thể hiện trên Hình 1
Bước 1: Thu thập dữ liệu: Sử dụng mã nguồn mở OpenCV để phát hiện, lưu trữ 500 bức ảnh của người đeo khẩu trang và 500 bức ảnh của ngườikhông đeo khẩu trang
Bước 2: Sử dụng nguồn dữ liệu đã thu thập được ở bước 1 để huấn luyện mô hình dựa trên mô hình mạng nơron tích chập CNN
Bước 3: Phát hiện người đeo khẩu trang hay không Bước này sẽ tiến hành so sánh dữ liệu được trích xuất từ camera (sau khi đã được xử lý dữ liệuđầu vào) với dữ liệu đã được huấn luyện để trích xuất kết quả và cảnh báo bằng giọng nói
2.1.2 Những tham số hình ảnh cơ bản
Khuôn mă mt con người vốn d} đa dạng Điều này khiến cho hình ảnh thu đượccủa khuông mă mt rất phong phú, có thể chỉ ra mô mt số tham số cho các hình ảnhnày như:
Trang 10- Góc quay xung quanh trục thẳng đứng: tham số này ảnh hưởng tới tính đốixứng của khuôn mă mt, đồng thời che lấp mô mt con mắt và làm thay đổi hìnhảnh hiển thị của những chi tiết khác trên khuôn mă mt.
- Góc quay xung quanh trục nằm ngang: ứng với tư thế ngẩng hay cúi đầucủa đối tượng thu nhâ mp trước máy quay, tham số này ảnh hưởng tới sự hiê mndiê mn của mô mt số chi tiết quan trọng trên khuôn mă mt như đôi mắt, vùng tránhay vùng miê mng
- Góc quay xung quanh trục nối liền khuôn mă mt với máy quay: tham số nàykhông biểu hiê mn đến những chi tiết trên khuôn mă mt và có thể khôi phục về
vị trí thẳng đứng bằng phép xử lí quay hình
- Kích thước khuôn mă mt
- Tỉ lê m của các chiều của khuôn mă mt
- Cảm xúc của khuôn mă mt: tham số này làm thay đổi hình ảnh hiển thị củanhững chi tiết trên khuôn mă mt
Trang 11ESP32-CAM được đóng gói DIP-16 (Dual In-line Package) và có thể đượclắp trực tiếp vào bo mạch chủ, cung cấp cho khách hàng chế độ kết nối với độ tincậy cao, thuận tiện cho việc ứng dụng trong các thiết bị IoT khác nhau.
Module cần phải được lập trình với ESP-IDF và không hỗ trợ Arduino IDE.ESP32 là chip kết hợp Wi-Fi và Bluetooth 2,4 GHz được thiết kế với TSMC 40
nm công suất cực thấpCông nghệ Nó được thiết kế để đạt được công suất và hiệusuất RF tốt nhất, thể hiện sự mạnh mẽ, linh hoạt vàđộ tin cậy trong nhiều ứng dụng
và các kịch bản điện năng
Dòng chip ESP32 bao gồm D0WD-V3, D0WDQ6-V3, D0WD, ESP32-D0WDQ6, ESP32-D2WD, ESP32-S0WD và ESP32-U4WDH,trong đó, ESP32-D0WD-V3, ESP32-D0WDQ6-V3, và ESP32-U4WDH dựa trêntấm wafer ECO V3
ESP32-2.2.2 Ứng dụng
…ng dụng thực tế trong thực tế
Sử dụng rộng rãi trong các ứng dụng IoT: các thiết bị thông minh trong nhà,giám sát và điều khiển không dây, nhận dạng không dây QR, tín hiệu hệ thốngđịnh vị không dây,…
- Bộ lệnh 16/24-bit cung cấp mật độ mã cao
- Hỗ trợ cho Đơn vị dấu chấm động
- Hỗ trợ các lệnh DSP, chẳng hạn như bộ nhân 32 bit, bộ chia 32 bit vàMAC 40 bit
- Hỗ trợ 32 vectơ ngắt từ khoảng 70 nguồn ngắt
Các giao diện CPU đơn / kép bao gồm:
- Giao diện RAM / ROM Xtensa cho các hướng dẫn và dữ liệu
Trang 12- Giao diện bộ nhớ cục bộ Xtensa để truy cập thanh ghi ngoại vi nhanhchóng.
- Nguồn ngắt bên ngoài và bên trong
Bộ nhớ
Bộ nhớ trong của ESP32 bao gồm:
- 448 KB ROM để khởi động và các chức năng cốt lõi
- 520 KB SRAM trên chip cho dữ liệu và hướng dẫn
- 8 KB SRAM trong RTC, được gọi là Bộ nhớ NHANH RTC và có thểđược sử dụng để lưu trữ dữ liệu; nó được truy cậpbởi CPU chính trongkhi Khởi động RTC từ chế độ Ngủ sâu
- 8 KB SRAM trong RTC, được gọi là Bộ nhớ RTC SLOW và có thểđược truy cập bởi bộ đồng xử lýtrong chế độ Ngủ sâu
- 1 Kbit của eFuse: 256 bit được sử dụng cho hệ thống (địa chỉ MAC vàcấu hình chip) và phần còn lại768 bit được dành riêng cho các ứngdụng của khách hàng, bao gồm mã hóa flash và ID chip
- Đèn flash nhúng
Timers and Watchdogs.
Bộ hẹn giờ 64bit.
Có bốn bộ hẹn giờ có mục đích chung được nhúng trong chip Chúng đều là
bộ định thời chung 64bit dựa trêntrên bộ đếm trước 16bit và bộ định thời gianlên / xuống có khả năng tự động tải lại 64 bit
Tính năng hẹn giờ:
- Bộ định mức đồng hồ 16 bit, từ 2 đến 65536
- Bộ đếm thời gian 64 bit
- Bộ đếm thời gian lên / xuống có thể định cấu hình: tăng hoặc giảm
- Tạm dừng và tiếp tục bộ đếm gốc thời gian
- Tự động tải lại khi báo động
- Tải lại tức thì do phần mềm kiểm soát
- Tạo mức và ngắt cạnh
Trang 13Bộ định thời gian cho cơ quan giám sát.
Con chip này có ba bộ định thời cơ quan giám sát: một bộ định thời trong mỗihai mô-đun bộ định thời (được gọi là Bộ định thời cơ quan giám sát chính,hoặcMWDT) và một trong mô-đun RTC (được gọi là RTC Watchdog Timer,hoặc RWDT) Những bộ hẹn giờ của cơ quan giám sát này là nhằm khôi phục
từ một lỗi không mong muốn khiến chương trình ứng dụng từ bỏ trình tự bìnhthường của nó Bộ đếm thời gian watchdog có bốn giai đoạn Mỗi giai đoạn
có thể kích hoạt một trong ba hoặc bốn hành động có thể xảy ra khi hết hạnkhoảng thời gian lập trình của nó, trừ khi cơ quan giám sát được cho ăn hoặc
bị vô hiệu hóa Các hành động là: ngắt, đặt lại CPU và đặt lại hệ thống ChỉRWDT mới có thể kích hoạt thiết lập lại hệ thống và có thể đặt lại toàn bộchip,bao gồm cả RTC Giá trị thời gian chờ có thể được đặt cho từng giaiđoạn riêng lẻ
Trong quá trình khởi động flash, RWDT và MWDT đầu tiên sẽ tự động khởiđộng để phát hiện và khôi phục từ quá trình khởi động các vấn đề
Cơ quan giám sát có các tính năng sau:
- Bốn giai đoạn, mỗi giai đoạn có thể được cấu hình hoặc tắt riêng biệt
- Khoảng thời gian có thể lập trình cho từng giai đoạn
- Một trong ba hoặc bốn hành động có thể xảy ra (ngắt, đặt lại CPU, đặtlại lõi và đặt lại hệ thống) khi hết hạn mỗi giai đoạn
- Bộ đếm hết hạn 32 bit
- Bảo vệ ghi để ngăn cấu hình RWDT và MWDT vô tình bị thay đổi
- Bảo vệ khởi động bằng flash SPI Nếu quá trình khởi động từ đèn flashSPI không hoàn thành trong một khoảng thời gian, cơ quan giám sát sẽkhởi động lại toàn bộ hệ thống
Trang 14- Bộ tạo xung nhịp.
Wifi.
WiFi Radio and Baseband.
Wi-Fi Radio và băng tần cơ sở ESP32 hỗ trợ các tính năng sau:
- Công suất phát lên đến 20,5 dBm
- Công suất phát có thể điều chỉnh
- Đa dạng ăng-ten
WiFi MAC.
ESP32 Wi-Fi MAC tự động áp dụng các chức năng giao thức cấp thấp:
- 4 × giao diện Wi-Fi ảo
- Chế độ Trạm BSS Cơ sở hạ tầng đồng thời / Chế độ SoftAP / Chế độPromiscuous
- Bảo vệ RTS, bảo vệ CTS, ACK chặn ngay lập tức
Trang 15Bluetooth Radio và Baseband hỗ trợ các tính năng sau:
- Công suất đầu ra truyền lớp 1, lớp 2 và lớp 3 và phạm vi điều khiểnđộng lên đến 24 dB
- Điều chế π / 4-DQPSK và 8 DPSK
- Hiệu suất cao ở độ nhạy máy thu NZIF với dải động hơn 94 dBm
- Hoạt động lớp 1 không có PA bên ngoài
- SRAM nội bộ cho phép truyền dữ liệu tốc độ cao, thoại và dữ liệu hỗnhợp cũng như hoạt động piconet đầy đủ
- Logic để sửa lỗi chuyển tiếp, kiểm soát lỗi tiêu đề, tương quan mã truycập, CRC, giải điều chế,mã hóa tạo dòng bit, làm trắng và truyền địnhhình xung
- ACL, SCO, eSCO và AFH
- Giải A-law digital audio code ,i -law và CVSD trong giao diện PCM
- SBC audio CODEC
- Quản lý nguồn điện cho các ứng dụng tiêu thụ điện năng thấp
- SMP với 128-bit AES
Giao diện Bluetooth.
- Cung cấp giao diện UART HCI, lên đến 4 Mbps
- Cung cấp giao diện SDIO / SPI HCI
- Cung cấp giao diện âm thanh PCM / I²S
Ngăn xếp Bluetooth.
Ngăn xếp Bluetooth của chip tương thích với Bluetooth v4.2 BR / EDR và Bluetooth LEthông số ky thuật
Bộ điều khiển liên kết Bluetooth.
Bộ điều khiển liên kết hoạt động ở ba trạng thái chính: chờ, kết nối và đánh hơi Nó cho phép nhiều kết nối, và các hoạt động khác
Thiết bị ngoại vi và Cảm biến.
- Giao diện đầu vào / đầu ra mục đích chung (GPIO)
- Bộ chuyển đổi số tương tự (ADC)
Trang 16- Cảm biến Hall.
- Bộ chuyển đổi DigitaltoAnalog (DAC)
- Cảm biến, cảm ứng
- Bộ đồng xử lý UltraLowPower
- Giao diện MAC Ethernet
- Bộ điều khiển máy chủ SD / SDIO / MMC
- Bộ điều khiển Slave SDIO / SPI
- Máy phát thu không đồng bộ đa năng (UART)
- Giao diện I²C
- Giao diện I²S
- Bộ điều khiển từ xa hồng ngoại
- Bộ đếm xung
- Điều chế độ rộng xung (PWM)
- LED PWM
- Giao diện ngoại vi nối tiếp (SPI)
- Bộ điều khiển TWAI
- Bộ tăng tốc
Thông số
Camera
+ Đầầu nốối FPC + Hốỗ tr camera OV2640(bán kèm theo board) ho c camera OV7670 ợ ặ + JPEG(ch hốỗ tr OV2640), BMP, GRAYSCALE ỉ ợ
+ Đèn led
D i quang ph ả ổ 2412 ~2484MHz
Antenna Onboard PCB antenna, gain 2dBi
Transmit Power 802.11b: 17±2 dBm (@11Mbps)
Trang 17802.11g: 14±2 dBm (@54Mbps) 802.11n: 13±2 dBm (@MCS7)
Receiving Sensitivity
CCK, 1 Mbps : -90dBm CCK, 11 Mbps: -85dBm
6 Mbps (1/2 BPSK): -88dBm
54 Mbps (3/4 64-QAM): -70dBm MCS7 (65 Mbps, 72.2 Mbps): -67dBm
Tiêu th đi n năng ụ ệ
+ Tăốt đèn flash: 180mA@5V + B t đèn flash và b t đ sáng tốối đa: ậ ậ ộ 310mA@5V + Deep-sleep: 6mA@5V
+ Moderm-sleep: 20mA@5V + Light-sleep: 6.7mA@5V
B o m t ả ậ WPA/WPA2/WPA2-Enterprise/WPS
Nhi t đ ho t đ ng ệ ộ ạ ộ -20 ~ 85 ℃ ℃
Mối tr ườ ng b o qu n ả ả -40 ~ 90 , < 90%RH ℃ ℃