BÁO Cáo Lý THUYẾT Nội DUNG Cấu TRÚC Và ỨNG DỤNG ... - 123doc
Có thể bạn quan tâm
- Trang chủ >>
- Giáo Dục - Đào Tạo >>
- Cao đẳng - Đại học
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 (697.91 KB, 15 trang )
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA ĐIỆN – ĐIỆN TỬBÁO CÁO LÝ THUYẾTNỘI DUNG: CẤU TRÚC VÀ ỨNG DỤNG MẠNG YOLOHọc kỳ 2. 2020-2021Môn học: Cơ sở và ứng dụng AISinh viên thực hiện:12Vũ Huy HoàngVõ Trần Chương1816122518161193Link trình bày powerpoint: /> 1. Giới thiệu chungObject Detection (Nhận dạng vật thể) là một trong những đề tài rất hot của deeplearning bởi khả năng ứng dụng cao, dữ liệu dễ chuẩn bị và kết quả ứng dụng nhiều. Cácthuật toán mới của object detection như YOLO, có tốc độ khá nhanh và độ chính xác caonên giúp cho Object Detection có thể thực hiện được các tác vụ dường như là real time,thậm chí là nhanh hơn so với con người mà độ chính xác khơng giảm. Chính vì tính ứngdụng rất cao, dễ chuẩn bị dữ liệu và huấn luyện mô hình đơn giản nên nhóm sẽ giới thiệutới một thuật tốn object detection chính là YOLO.1.1. Mạng YOLO là gì?YOLO trong object detection có nghĩa là “You only look once”. Tức là chúng tachỉ cần nhìn 1 lần là có thể phát hiện ra vật thể.Về độ chính xác thì YOLO có thể khơng phải là thuật tốn tốt nhất nhưng nó làthuật tốn nhanh nhất trong các lớp mơ hình object detection. Nó có thể đạt được tốc độgần như real time mà độ chính xác khơng q giảm.Mục tiêu của mơ hình khơng chỉ là dự báo nhãn cho vật thể như các bài tốn phânloại mà nó cịn xác định vị trí của vật thể. Do đó YOLO có thể phát hiện được nhiều vậtthể có nhãn khác nhau trong một bức ảnh thay vì chỉ phân loại duy nhất một nhãn chomột bức ảnh.1.2. Lịch sử mạng YOLOMơ hình YOLO được mơ tả lần đầu tiên bởi Joseph Redmon, và các cộng sự.trong bài viết năm 2015 có tiêu đề Bạn chỉ nhìn một lần: Phát hiện đối tượng theo thờigian thực - You Only Look Once: Unified, Real-Time Object Detection. Trong cơng trìnhnày thì một lần nữa Ross Girshick, người phát triển mạng R-CNN, cũng là một tác giả vàngười đóng góp khi ơng chuyển qua Facebook AI Research.Mơ hình YOLOv2 được Joseph Redmon và Ali Farhadi nhằm cải thiện hiệu suấthơn nữa trong bài báo năm 2016 có tựa đề là YOLO9000: Better, Faster, Stronger.Mặc dù biến thể của YOLO được gọi là YOLOv2, một instance của mơ hình theonhư mơ tả đã được đào tạo trên hai bộ dữ liệu nhận dạng đối tượng, và có khả năng dựđoán lên tới 9000 loại đối tượng khác nhau, do đó được đặt tên là YOLO9000. Với consố này thì mơ hình này đã tiến xa hơn rất nhiều so với mọi mơ hình trước đó về số lượngcác loại đối tượng có khả năng phát hiện. YOLOv3 có một số cải tiến gia tăng trên YOLOv2. DarkNet-53 với cách kết nốingắn gọn, tính năng lấy mẫu cũng như phát hiện đối tượng và nguồn cấp dữ liệu trực tiếphoặc hình ảnh tốt hơn, triển khai và cập nhật bằng cách sử dụng thư viện học sâu Kerashoặc OpenCV.1.3. Yêu cầu về mạng YOLOChúng ta cần nắm vững lý thuyết:- Nguyên lý hoạt động của mạng nơ ron tích chập (Convolutional NeuralNetwork): Đây là mạng nơ ron áp dụng các layer Convolutional kết hợp với Maxpoolingđể giúp trích xuất đặc trưng của ảnh tốt hơn.- Khái niệm về bounding box, anchor box: Bounding box là khung hình bao quanhvật thể. Anchor box là những khung hình có kích thước xác định trước, có tác dụng dựđốn bounding box.- Feature map: Là một khối output mà ta sẽ chia nó thành một lưới ơ vng và ápdụng tìm kiếm và phát hiện vật thể trên từng cell.- Non-max suppression: Phương pháp giúp giảm thiểu nhiều bounding box overlapvề 1 bounding box có xác suất lớn nhất.2. Cách hoạt động của thuật toán YOLOThuật toán YOLO hoạt động bằng cách sử dụng ba kỹ thuật sau:- Residual blocks (Khối dư).- Bounding box regression (Hồi quy hộp giới hạn).- Intersection Over Union (IOU).2.1. Residual blocks.Đầu tiên, hình ảnh được chia thành nhiều lưới khác nhau. Mỗi lưới có kích thướclà S x S. Hình 2.1 cho thấy một hình ảnh đầu vào được chia thành các lưới, có nhiều ơlưới có kích thước bằng nhau. Mỗi ơ lưới sẽ phát hiện các vật thể xuất hiện bên trongchúng. Ví dụ, nếu mộttâm vật thể xuất hiệntrong một ô cell nhấtđịnh, thì ơ này sẽ chịutrách nhiệm phát hiệnnó. Hình 2.1.Các ơ lưới SxS2.2. Bounding box regressionBounding box regression là bài toán dự đoán khi output là biến liên tục, Vìbounding box ở đây (x,y,w,h) là bốn biến liên tục nên ta gọi là bài toán regression.Mỗi Bounding box trong hình ảnh bao gồm các thuộc tính sau:- Chiều rộng (bw).- Chiều cao (bh).- Các lớp (ví dụ: người, ô tô, đèn giao thông, v.v.). Được thể hiện bằng chữ c.- Đường viền tâm hộp (bx, by).YOLO sử dụng Bounding box regression duy nhất để dự đoán chiều cao, chiềurộng, tâm và lớp của đối tượng.Hình 2.2. cho thấy một ví dụ về hộp giới hạn. Bounding box regression đã đượcthể hiện bằng một đường viền màu vàng.Hình 2.2. Boundingbox regression. 2.3. Intersection Over Union (IOU)IOU là hàm đánh giá độ chính xác của object detector trên tập dữ liệu cụ thể. Cơngthức tính IOU được thể hiện qua hình ảnh 2.3 dưới đây:Hình 2.3. Bounding box regression.Trong đó Area of Overlap là diện tích phần giao nhau giữa predicted boundingbox với grouth-truth bouding box , còn Area of Union là diện tích phần hợp giữapredicted bounding box với grouth-truth bounding box. Những bounding box được đánhnhãn bằng tay trong tập traing set và test set. Nếu IOU > 0.5 thì prediction được đánh giálà tốt.Trong hình 2.4., có hai bounding box, một box màu xanh lá cây và box còn lạimàu xanh lam. Box màu xanh lam là box dự đoán trong khi box màu xanh lá cây là hộpthực. YOLO đảm bảo rằng hai bounding box này bằng nhau.Hình 2.4. Hai bounding box xanh lam, xanh lá.2.4. Kiến trúc mạng YOLO Hình 2.5. minh họa sơ đồ kiến trúc của mạng YOLO như sau.Hình 2.5. Sơ đồ kiến trúc mạng YOLO.Kiến trúc YOLO bao gồm: base network là các mạng convolution làm nhiệm vụtrích xuất đặc trưng. Phần phía sau là những Extra Layers được áp dụng để phát hiện vậtthể trên feature map của base network.Thành phần Darknet Architechture được gọi là base network có tác dụng trích suấtđặc trưng. Output của base network là một feature map có kích thước 7x7x1024 sẽ đượcsử dụng làm input cho các extra layers có tác dụng dự đoán nhãn và tọa độ bounding boxcủa vật thể.Base network của YOLO sử dụng chủ yếu là các convolutional layer. Trong đócác convolutional layers sẽ trích xuất ra các feature của ảnh, cịn full-connected layers sẽdự đốn ra xác suất đó và tọa độ của đối tượng. Các kiến trúc YOLO cũng khá đa dạngvà có thể tùy biến thành các version cho nhiều input shape khác nhau.3. Output của YOLO3.1. OutputOutput của mơ hình YOLO là một véc tơ sẽ bao gồm các thành phần được mơ tảqua hình 2.6. dưới đây.Hình 2.6.Cơng thức ngõ racủa YOLO.Trong đó: − p0 : là xác suất dự báo vật thể xuất hiện trong bounding box.−¿ t x ,t y ,t w , t h >: giúp xác định bounding box. Trong đó, t x ,t y là tọa độ tâm còn t w ,t hlà độ rộng và chiều cao của bounding box.−¿ p1 , p2 , … , p n> :là véc tơ phân phối xác suất dự báo của n classes.Việc hiểu output khá là quan trọng để chúng ta cấu hình tham số chuẩn xác khihuấn luyện model qua các open source như darknet. Như vậy output sẽ được xác địnhtheo số lượng classes theo công thức (n_class+5). Nếu huấn luyện 80 classes thì bạn sẽ cóoutput là 85. Trường hợp bạn áp dụng 3 anchors/cell thì số lượng tham số output sẽ là:(n_class+5) x 3 = 85 x 3 = 255. Để minh họa dễ dàng hơn hình 3.1. sẽ giới thiệu về kiếntrúc một output của một model YOLO.Hình 3.1. Kiến trúc một output của model YOLO.Hình ảnh gốc là một feature map kích thước 13x13. Trên mỗi một cell của featuremap chúng ta lựa chọn ra 3 anchor boxes với kích thước khác nhau lần lượt là box 1, box 2, box 3 sao cho tâm của các anchor boxes trùng với cell. Khi đó output của YOLO làmột véc tơ concatenate (ghép lại) của 3 bounding boxes. Với các attributes (thuộc tính)tọa độ tâm, kích thước của một bounding box và các vec tơ phân phối xác suất dự báocủa các classes.3.2. Dự báo trên nhiều feature mapYOLOv3 dự báo trên nhiều feature map. Những feature map ban đầu có kíchthước nhỏ giúp dự báo được các object kích thước lớn. Những feature map sau có kíchthước lớn hơn trong khi anchor box được giữ cố định kích thước nên sẽ giúp dự báo cácvật thể kích thước nhỏ. Hình 3.2 sẽ thể hiện rõ các feature máp của mạng YOLOv3.Hình 3.2. Các feature maps của mạng YOLOv3.Với input shape là 416x416, output là 3 feature maps có kích thước lần lượtlà 13x13, 26x26 và 52x52. Trên mỗi một cell của các feature map chúng ta sẽ áp dụng 3anchor box để dự đoán vật thể. Như vậy số lượng các anchor box khác nhau trong mộtmơ hình YOLO sẽ là 9 (3 featue map x 3 anchor box).Đồng thời trên một feature map hình vng S x S, mơ hình YOLOv3 sinh ra mộtsố lượng anchor box là: S x S x 3. Như vậy số lượng anchor boxes trên một bức ảnh sẽ là:(13×13+26×26+52×52)×3=10647 (anchor boxes).4. Anchor boxAnchor box là một bounding box cơ sở để xác định bounding box bao quanh vậtthể dựa trên các phép dịch tâm và độ phóng đại kích thước chiều dài, rộng.Để tìm được bounding box cho vật thể, YOLO sẽ cần các anchor box làm cơ sởước lượng. Những anchor box này sẽ được xác định trước và sẽ bao quanh vật thể một cách tương đối chính xác. Sau này thuật tốn regression bounding box sẽ tinh chỉnh lạianchor box để tạo ra bounding box dự đốn cho vật thể. Trong một mơ hình YOLO: Mỗimột vật thể trong hình ảnh huấn luyện được phân bố về một anchor box. Nếu trường hợpcó từ 2 anchorboxestrở lên cùng baoquanhvật thể thì ta sẽxác địnhanchor box màcó IoUvới ground truthbounding box làcaonhất. Hình 4.1.sẽ thểhiện cách xácđịnhanchor box chomột vậtthể.Hình 4.1. Xác định anchor box cho một vật thể.Nhìn vào hình ta có thể thấy, Từ Cell i ta xác định được 3 anchor boxes viền xanhnhư trong hình. Cả 3 anchor boxes này đều giao nhau với bounding box của vật thể. Tuynhiên chỉ anchor box có đường viền dày nhất màu xanh được lựa chọn làm anchor boxcho vật thể bởi nó có IoU so với ground truth bounding box là cao nhất.Như vậy khi xác định một vật thể ta sẽ cần xác định 2 thành phần gắn liền với nólà (cell, anchor box). Khơng chỉ riêng mình cell hoặc chỉ mình anchor box.Một số trường hợp 2 vật thể bị trùng mid point, mặc dù rất hiếm khi xảy ra, nhưngkhi gặp trường hợp này thuật toán sẽ rất khó xác định được class cho chúng. Như hình4.2. dưới đây, ta có thể thấy rõ giữa chiếc xe và người bị trùng mid point thuộc cùng mộtcell. Hình 4.2. Chiếc xe vàngười trùng mid point.Khi 2 vật thể người và xe trùng mid point và cùng thuộc một cell. Thuật toán sẽcần thêm những lượt tiebreak để quyết định đâu là class cho cell.5.Hàm loss functionHàm loss function của YOLO chia thành 2 phần: Lloc (localization loss) đo lườngsai số của bounding box và Lcls(confidence loss) đo lường sai số của phân phối xác suấtcác classes. Hình 5.1. sẽ thể hiện công thức của hàm loss function của YOLO. Hình 5.1. Cơng thức hàm loss function.Trong đó:−1obji : Hàm indicator có giá trị 0,1 nhằm xác định xem cell i có chứa vật thể haykhông. Bằng 1 nếu chứa vật thể và 0 nếu khơng chứa.−1objij : Cho biết bounding box thứ j của cell i có phải là bouding box của vật thểđược dự đoán hay không.−c ij: Điểm tin cậy của ô i, P(contain object) * IoU (predict bbox, ground truthbbox).−ĉ ij : Điểm tự tin dự đoán.- C: Tập hợp tất cả các lớp.- pi (c): Xác suất có điều kiện, có hay khơng ơ i có chứa một đối tượng củalớp c∈C.- ^pi (c): Xác suất có điều kiện dự đốn.6.Bounding boxBounding box là khung hình bao chứa vật thể được xác định trong quá trình huấnluyện.Để dự báo bounding box cho một vật thể chúng ta dựa trên một phép biến đổi từanchor box và cell. YOLOv2 và YOLOv3 dự đốn bounding box sao cho nó sẽ khơnglệch khỏi vị trí trung tâm q nhiều. Nếu bounding box dự đốn có thể đặt vào bất kỳphần nào của hình ảnh, như trong mạng regional proposal network, việc huấn luyện mơhình có thể trở nên khơng ổn định. Hình 6.1. giúp chúng ta hình dung cơng thức ướclượng bounding box từ anchor box. Hình 6.1. Cơng thức ước lượng bounding box từ anchor box.Nhìn vào hình ta có thể thấy: một anchor box có kích thước (pw,ph) tại cell nằmtrên feature map với góc trên cùng bên trái của nó là (cx,cy), mơ hình dự đốn 4 thamsố (tx,ty,tw,th) trong đó 2 tham số đầu là độ lệch (offset) so với góc trên cùng bên trái củacell và 2 tham số sau là tỷ lệ so với anchor box. Và các tham số này sẽ giúp xác địnhbounding box dự đốn b có tâm (bx,by) và kích thước (bw,bh) thơng qua hàm sigmoid vàhàm exponential như các công thức bên cạnh.Tọa độ của một bounding box sẽ được xác định dựa trên đồng thời cả anchor boxvà cell mà nó thuộc về. Điều này giúp kiểm sốt vị trí của bounding box dự đốn đâu đóquanh vị trí của cell và bounding box mà khơng vượt q xa ra bên ngồi giới hạn này.quá trình huấn luyện sẽ ổn định hơn rất nhiều.7. Non-max suppressionNon-max suppression là phương pháp giúp giảm thiểu nhiều bounding boxoverlap nhau về một bounding box có xác suất lớn nhất.Do thuật toán YOLO dự báo ra rất nhiều bounding box trên một bức ảnh nên đốivới những cell có vị trí gần nhau, khả năng các khung hình bị overlap là rất cao. Trongtrường hợp đó YOLO sẽ cần đến non-max suppression để giảm bớt số lượng các khunghình được sinh ra một cách đáng kể. Hình 7.1. thể hiện sự trùng lặp của các khung hìnhtrước khi sử dụng non-max suppression và sau khi sử dụng non-max suppression. Hình 7.1. Trước và sau khi sử dung non-max suppression cho vật thể.Các bước của non-max suppression:- Bước 1: Đầu tiên chúng ta sẽ tìm cách giảm bớt số lượng các bounding box bằngcách lọc bỏ toàn bộ những bounding box có xác suất chứa vật thể nhỏ hơn một ngưỡngthreshold nào đó, thường là 0,5.- Bước 2: Đối với các bouding box giao nhau, non-max suppression sẽ lựa chọn ramột bounding box có xác xuất chứa vật thể là lớn nhất. Sau đó tính tốn chỉ số giao thoaIoU với các bounding box còn lại.Nếu chỉ số này lớn hơn ngưỡng threshold thì điều đó chứng tỏ 2 bounding boxesđang overlap nhau rất cao. Ta sẽ xóa các bounding có có xác xuất thấp hơn và giữ lạibouding box có xác xuất cao nhất. Cuối cùng, ta thu được một bounding box duy nhấtcho một vật thể.8. Kết luậnQua bài báo cáo này đã cung cấp một cái nhìn tổng quan về thuật tốn YOLO vàcách nó được sử dụng trong phát hiện đối tượng. Kỹ thuật này cung cấp kết quả phát hiệnđược cải thiện so với các kỹ thuật phát hiện đối tượng khác như Fast R-CNN và RetinaNet.Như vậy bài báo cáo đã lý giải được nguyên lý hoạt động mạng YOLO theo mộtcách khái quát nhất. Đây là một thuật toán rất phức tạp và bên trong nó có rất nhiều cácxử lý tính tốn mà không đơn giản để chúng ta hiểu hết được toàn bộ chúng. 1.
Tài liệu liên quan
- Báo cáo tóm tắt Chuẩn Chữ ký số và ứng dụng
- 37
- 739
- 13
- Tài liệu Báo cáo tốt nghiệp: Nghiên cứu cấu trúc và tính chất điện hóa của vật liệu oxit mangan được điều chế bằng phương pháp khử doc
- 32
- 954
- 2
- Báo cáo "Tổng hợp, phân tích cấu trúc và tính chất phổ một số aryloxiaxetylhiđrazon của carvon " pot
- 6
- 468
- 0
- Báo cáo "Nghiên cứu chế tạo, cấu trúc và tính chất của nanocompozit trên cơ sở cao su tự nhiên và silica biến tính silan " ppt
- 5
- 716
- 0
- Báo cáo " Tổng hợp, nghiên cứu cấu trúc và tính chất của một số N-aryliđen[6-(2-hetarylvinyl)-3-oxo-piriđazin-2-YL]axetohiđrazit " doc
- 5
- 868
- 1
- Báo cáo " Tổng hợp, nghiên cứu cấu trúc và thăm dò hoạt tính sinh học của các phức chất Cu(II), Ni(II) với xitronenlal và menton thiosemicacbazon " doc
- 6
- 680
- 0
- Báo cáo "Phân lập, xác định cấu trúc và tổng hợp một số dẫn xuất của anpha- amyrin từ cây cùm rụm răng " docx
- 7
- 498
- 0
- Công nghệ quản lý dữ liệu phi cấu trúc và ứng dụng phát triển hệ thống thông tin quản lý
- 80
- 780
- 0
- Báo cáo nghiên cứu khoa học " CẤU TRÚC VÀ BIẾN TRÌNH NHIỆT ĐỘ Ở CÁC TÂM NƯỚC TRỒI MẠNH TRONG VÙNG BIỂN ĐÔNG NAM VIỆT NAM " docx
- 14
- 483
- 0
- Báo cáo: LÝ THUYẾT THÔNG TIN ppsx
- 18
- 471
- 6
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(697.91 KB - 15 trang) - BÁO cáo lý THUYẾT nội DUNG cấu TRÚC và ỨNG DỤNG MẠNG YOLO Tải bản đầy đủ ngay ×Từ khóa » Darknet Yolo Là Gì
-
Bài Toán Phát Hiện Biển Số Xe Máy Việt Nam - Deep Learning Cơ Bản
-
Bài 25: YOLO - Khoa Học Dữ Liệu
-
[CNN] Tạo Models ùy Chỉnh Cho YOLO V3 | Detect Custom Object With ...
-
Tìm Hiểu Về YOLO Trong Bài Toán Real-time Object Detection - Viblo
-
Tìm Hiểu Mô Hình YOLO Cho Phát Hiện Vật - Từ YOLOv1 đến YOLOv3
-
Hiểu Về Phát Hiện đối Tượng Bằng YOLO - HelpEx - Trao đổi & Giúp đỡ
-
Forum Machine Learning Cơ Bản | Object Detection YOLO V1 , V2, V3
-
Object Detection Với Mô Hình YOLO - Panda ML
-
Mô Hình Phát Hiện đối Tượng YOLO - 123doc
-
Giải Thích Lý Thuyết Của YOLO V3 - Nghịch Code Cho Vui
-
BÁO Cáo Lý THUYẾT Nội DUNG Cấu TRÚC Và ỨNG ...
-
Nhận Dạng đối Tượng Trong ảnh Bằng Thư Viện YOLO3 - Techmaster
-
Series YOLO: #4 Tìm Hiểu Cấu Trúc YOLOv1,v2,v3 Và V4 - Phần 2
-
[Yolo Series] #2 – Cách Train Yolo để Detect Các Object đặc Thù - Mì AI