版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
ComputerVision第8章
計算機視覺2035主講:王紅梅知識目標:能理解計算機“看”圖像和“懂”圖像的基本原理,能描述計算機視覺及相關概念,能列舉計算機視覺的相關應用。能力目標:能結合現(xiàn)實生活,判斷哪些場景是計算機視覺的應用;能結合應用,分析其建立的過程和方法。素養(yǎng)目標:培養(yǎng)學生能用計算機視覺解決問題的思維。
目錄CONTENTS8.18.28.38.4計算機視覺那些事計算機視覺概述人臉識別原理人臉識別實現(xiàn)8.506擴展:空間智能目錄CONTENTS8.18.28.38.4計算機視覺那些事計算機視覺概述人臉識別原理人臉識別實現(xiàn)8.506擴展:空間智能
隨著人工智能技術快速發(fā)展,人工智能在知識學習、邏輯推理、生成式人工智能方面不斷獲得突破和進展,同時人工智能邁入感知智能階段。人工智能發(fā)展的三個階段
在感知智能階段,“能聽會說,能看會認”是其主要功能。在“能聽會說”方面,需要自然語言處理支持;而在“能看會認”方面,則需要計算機視覺的技術支持。人工智能發(fā)展的三個階段本章的內(nèi)容主要是解決機器如何看見客觀世界,又如何能對看見的世界進行認識和理解的問題,即:(1)機器如何“看”世界,(2)機器如何“懂”世界。故事導入:小智又忘記帶“鑰匙”的困惑。小智看到別的地方的人臉識別,就像如果自己宿舍也安裝上人臉識別,那自己的臉不就可以當鑰匙了嗎?從此解決自己忘記帶鑰匙的問題。故事導入:小智又忘記帶“鑰匙”的困惑。主講:王紅梅ArtificialIntelligenceandFuture人工智能與未來2035ComputerVision第8章
計算機視覺2035主講:王紅梅目錄CONTENTS8.18.28.38.4計算機視覺那些事計算機視覺概述人臉識別原理人臉識別實現(xiàn)8.506擴展:空間智能8.2.1什么是計算機視覺?8.2.2計算機視覺要解決的問題是什么?8.2.3我們?nèi)祟惾绾巍翱词澜纭保?.2.4人類如何教會機器“看世界”?8.2.5機器要認識什么?8.2.6計算機視覺的處理方法8.2.7計算機視覺的任務、分類及應用8.2.8人臉識別、計算機機視覺和人工智能之間的關系
我們?nèi)祟愅ㄟ^視覺可以和客觀世界進行溝通和交流。討論:(1)你有沒有通過視覺進行交流過,舉個例子唄!
(2)在交流的過程中,都會發(fā)生什么?試著描述。8.2.1什么是計算機視覺?
與人類和世界進行溝通和交流的情況類似。計算機視覺(ComputerVision,簡稱CV)是讓機器通過模擬人類視覺來和世界溝通與交流的方式,具體來說就是通過數(shù)字圖像或視頻等視覺信息來模擬人類視覺的過程,以達到對物體的理解、識別、分類、跟蹤、重建等目的的技術。8.2.1什么是計算機視覺?
計算機視覺要解決的問題主要是讓機器能看見世界中的客觀對象和對對象有一定的理解能力。
換句話說計算機視覺要研究的問題:(1)機器“看見”世界的能力,(2)機器“看懂”和“理解”世界的能力(3)機器能進行“溝通”和“交互”的能力。說到這個問題,要先從我們?nèi)祟惾绾握J識世界說起。8.2.2計算機視覺要解決的問題是什么?8.2.3我們?nèi)祟惾绾巍翱词澜纭保?/p>
從最早感知光線的生物三葉蟲到我們?nèi)祟?,自然界?jīng)歷了5億4千萬年的努力,而這大部分的時間都是在完成人類大腦內(nèi)視覺處理器官的進化,而不是眼睛本身。8.2.3我們?nèi)祟惾绾巍翱词澜纭保?/p>
在這個非常漫長的過程,“視覺”從眼睛采集數(shù)據(jù)開始,而大腦才是它呈現(xiàn)意義的地方,8.2.3我們?nèi)祟惾绾巍翱词澜纭保?/p>
(a)寶寶水杯
(b)媽媽的水杯
(c)爸爸的水杯幼年時期認識的各種水杯8.2.3我們?nèi)祟惾绾巍翱词澜纭保?/p>
當我們認識足夠多的水杯后,下次再見到一個水杯,不用告訴我們這是水杯,我們就可以認識到它是個水杯了,甚至還可以表達出一些需求,媽媽,我想要這個水杯
李飛飛在TED的演講中,講到3歲的孩子,他通過眼睛要看到3億張的圖片,并把它們存入大腦,3歲以后的孩子對世界的認識基本就建立起來了。人類對現(xiàn)實世界的認識其實就是建立在先認識、后識別的基礎上。8.2.3我們?nèi)祟惾绾巍翱词澜纭保?/p>
人類經(jīng)過上億年的進化,我們才具備用眼看世界和識別世界的能力,其實機器對世界的認識,也同樣是經(jīng)過先認識,再識別的過程。8.2.3我們?nèi)祟惾绾巍翱词澜纭保?.2.4人類如何教會機器“看世界”?1839年能記錄圖像,照相機的發(fā)明1957年圖像數(shù)字化20世紀60年代(1)三維視覺理解的研究(2)發(fā)明了圖像傳感器1959年二維圖像的分析和識別20世紀90年代特征識別2009年高質(zhì)量數(shù)據(jù)集ImageNet2006年至今深度學習在視覺中的應用
(一)出現(xiàn)有標注的高質(zhì)量數(shù)據(jù)集
2009年,李飛飛教授等發(fā)布了ImageNet數(shù)據(jù)集。8.2.4人類如何教會機器“看世界”?
(一)出現(xiàn)有標注的高質(zhì)量數(shù)據(jù)集
ImageNet數(shù)據(jù)集包含了1400多萬幅圖片。2萬多個類別的大型數(shù)據(jù)庫,這個數(shù)據(jù)集是一個用于圖像識別和分類的大型數(shù)據(jù)庫,?包含了大量的標注圖片,?用于訓練和測試圖像識別算法。?ImageNet數(shù)據(jù)集的規(guī)模和多樣性對于推動計算機視覺領域的發(fā)展起到了重要作用,?使得研究人員能夠開發(fā)出更加準確的圖像識別和分類算法。8.2.4人類如何教會機器“看世界”?
(二)2010年-至今深度學習在視覺中流行,在應用上百花齊放
2012年,AlexKrizhevsky、IlyaSutskever和GeoffreyHinton創(chuàng)造了一個“大型的深度卷積神經(jīng)網(wǎng)絡”,也即現(xiàn)在眾所周知的AlexNet。8.2.4人類如何教會機器“看世界”?(三)計算機視覺應用系統(tǒng)主要包括圖像采集、預處理、特征提取、圖像識別和決策判斷等模塊。圖像采集預處理特征提取圖像識別輸出結果場景決策判斷8.2.4人類如何教會機器“看世界”?過程舉個例子:高鐵出現(xiàn)時人臉識別
8.2.5機器要認識什么?
機器認識對象,其實是對對應圖像的認識,更準確地說是對從圖像中提取出來的特征的認識,如人臉的輪廓、眼、鼻子、嘴巴、眉毛等特征,或是花朵的顏色、形狀等特征。
8.2.5機器要認識什么?
要得到圖像就需要圖像采集系統(tǒng)了。對可見光的處理是計算機視覺的一個非常重要的應用,攝像頭是可見光范圍內(nèi)常用的采集傳感器。但在實際應用中的光學采集傳感器還有很多,如雷達傳感器、紅外傳感器等,他們的作用范圍也不相同。
8.2.5機器要認識什么?
在本章,提到的傳感器采集的數(shù)據(jù)主要是基于攝像頭的光敏傳感器采集的可見光范圍的圖像。
8.2.5機器要認識什么?
采集后,顯示的是數(shù)字圖像。數(shù)字圖像由像素構成,其中每個像素有位置值和顏色值兩個屬性,位置用x、y表示,顏色用RGB表示。機器就是通過對這些像素值進行計算處理來認識圖像。
8.2.6計算機視覺的處理方法計算機視覺的處理自動學習特征,但需要大量數(shù)據(jù)和計算資源傳統(tǒng)基于特征學習的方法基于關鍵點的特征基于紋理的特征基于區(qū)域的特征基于顏色和形狀的特征基于多尺度提取圖像特征深度學習方法卷積神經(jīng)網(wǎng)絡(CNN)生成對抗網(wǎng)絡(GAN)循環(huán)神經(jīng)網(wǎng)絡(RNN)Transformer架構等端到端,速度更快,使用更為簡單和高效,尤其在嵌入式設備中,被廣泛使用
以人臉識別為例,在機器實現(xiàn)人臉識別的的過程中,人們提出了很多有效的方法,主要經(jīng)歷了三個階段。
8.2.6計算機視覺的處理方法
第一個階段:基于幾何特征的人臉識別方法,20世紀60至80年代思想:每個人的面部幾何結構都是獨特的
8.2.6計算機視覺的處理方法第二個階段:自動化與算法化,20世紀90年代至21世紀初(a)原圖
(b)多個找人臉的滑動窗口
(c)找到人臉通過滑動窗口來進行人臉識別
8.2.6計算機視覺的處理方法第三個階段:深度學習方法,自21世紀初至今
楊立昆所開發(fā)的手寫字識別技術,基于神經(jīng)網(wǎng)絡算法,成功地將郵局提供的9000份掃描件進行了識別,該技術亦被稱為LeNet。
自2012年李飛飛的ImageNet數(shù)據(jù)集問世以來,楊立昆的學弟,更確切地說是辛頓的學生們,持續(xù)在大數(shù)據(jù)識別領域進行深入研究。隨后,AlexNet誕生,它基于海量數(shù)據(jù),在英偉達的圖形處理單元上對神經(jīng)網(wǎng)絡算法進行了驗證。數(shù)據(jù)算法算力
之后,深度學習方法在人類識別中取得了巨大成功,并大規(guī)模走向商業(yè)使用,基于特定數(shù)據(jù)集LFW(LabeledFacesintheWild,自然環(huán)境下帶標注人臉數(shù)據(jù)集)上的識別率均在99%以上。研究表明,人類的識別率為97%左右,可見機器人臉識別遠超人類人臉識別的水平。
8.2.6計算機視覺的處理方法第三個階段:深度學習方法,自21世紀初至今
8.2.6計算機視覺的處理方法第三個階段:深度學習方法,自21世紀初至今模型訓練人臉識別準備階段實施階段如何認識人臉?解決這是誰的臉?解決深度學習的人臉識別流程(1)講述李飛飛自身成長的勵志書(2)講述人工智能發(fā)展(3)講述計算機視覺的發(fā)展...圖書推薦
8.2.7計算機視覺的任務、分類及應用是什么?
在哪里?
是什么?在哪里?
像素的歸屬問題計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。分類
定位
檢測
分割計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。
8.2.7計算機視覺的任務、分類及應用1.
分類(Classification)問題:圖片里是什么?例子:給你一張圖,判斷是“貓”還是“狗”。技術本質(zhì):算法給整張圖打一個標簽,像老師批改選擇題(單選)。實際應用:相冊自動分類(貓/狗/風景)、垃圾郵件過濾(正常/垃圾)。關鍵特點:只關心“是什么”,不關心“在哪里”或“有多少”。計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。
8.2.7計算機視覺的任務、分類及應用2.定位(Localization)問題:目標在哪里?(通常已知類別)例子:已知圖中有貓,用框標出貓的位置。技術本質(zhì):在分類基礎上加一個邊界框,像用筆圈出答案。實際應用:人臉識別時框出人臉、自動駕駛中標記車輛位置。關鍵特點:通常針對單個目標,既要分類也要定位。計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。
8.2.7計算機視覺的任務、分類及應用3.檢測(Detection)問題:圖中是什么?它們在哪里?例子:一張街景圖中找出所有的車、行人、紅綠燈,并分別標出位置和類別。技術本質(zhì):多目標定位+分類,像在一群小朋友中找出所有戴紅帽子的并點名。實際應用:自動駕駛、安防監(jiān)控(識別多個人或物體)。關鍵特點:處理多個目標,輸出一堆邊界框和類別標簽。計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。
8.2.7計算機視覺的任務、分類及應用4.分割(Segmentation)問題:每個像素歸屬問題?例子:把照片中的貓的每一根毛發(fā)、腳爪的像素都精確標出來,其他背景排除。技術本質(zhì):給每個像素分類,像用彩色筆給不同區(qū)域涂色(貓涂藍色、狗涂青色)。細分類型:語義分割和實例分割:實際應用:醫(yī)學圖像(標記腫瘤區(qū)域)、地圖分割等。關鍵特點:像素級精度,比檢測的邊界框更精細。計算機視覺關于圖像識別主要有四大任務,分別為分類、定位、檢測和分割,不同任務解決不一樣的問題。
8.2.7計算機視覺的任務、分類及應用技術關聯(lián):這些任務通常共用底層技術(如卷積神經(jīng)網(wǎng)絡CNN)來完成,四個任務難度遞增:(1)分類是基礎,(2)檢測=分類+定位的多次應用,(3)分割需要更精細的處理。根據(jù)應用的目的和場景不同
(1)圖像分類(2)目標檢測(3)目標跟蹤(4)語義分割(5)實例分割有時候還會有些應用上的細分
8.2.7計算機視覺的任務、分類及應用
8.2.7計算機視覺的任務、分類及應用(1)圖像分類。是一種利用計算機技術對圖像進行處理、分析和理解,按照一定的分類規(guī)則將圖像自動分到一組預定義類別中的過程。超市購物時能自動進行水果分類
8.2.7計算機視覺的任務、分類及應用(2)目標檢測。是指在圖像或視頻中識別出目標物體所在的位置,并標注出其所屬的類別。(3)目標跟蹤。目標跟蹤是指計算機視覺系統(tǒng)發(fā)現(xiàn)目標后,能在后續(xù)時間內(nèi),不管目標位置是否發(fā)生變化,始終“看到”目標并獲得目標的實時位置、形態(tài)等信息。目標跟蹤相當于動態(tài)進行目標檢測。自動駕駛中的目標檢測
8.2.7計算機視覺的任務、分類及應用(4)語義分割
語義分割旨在將輸入圖像中的每個像素標記為屬于哪個語義類別。與目標檢測和圖像分類不同,語義分割不僅可以識別圖像中的物體,還可以為每個像素分配標簽,從而提供更詳細和準確的圖像理解。
8.2.7計算機視覺的任務、分類及應用(4)語義分割
主要應用:適用于對圖像進行精細分割和像素級分類的場景,例如自動駕駛中的道路分割、醫(yī)學圖像中的病灶分割、地理信息系統(tǒng)中的土地分類等。
8.2.7計算機視覺的任務、分類及應用(5)實例分割
實例分割是結合目標檢測和語義分割的一個更高層級的任務,旨在檢測圖像中的物體的同時將每個物體分割成精確的像素級別的區(qū)域。(a)原圖
(b)語義分割
(c)實例分割討論:語義分割和實例分割的區(qū)別
實例分割和語義分割都屬于計算機視覺任務,而且都屬于預測單個像素點的類型。給定一張人群的圖片,兩者的區(qū)別在于,語義分割只對類別進行了區(qū)別,不管有幾個人,都會預測為一個類別。而實例分割不僅預測類別,還要識別每個不同的個體,每個個體會被預測為不同的對象。有點像結合了目標檢測的語義分割。計算機視覺類別和任務對應一覽表類別
任務分類定位檢測分割備注圖像分類√
目標檢測√√√
目標跟蹤√√√
持續(xù)的目標檢測語義分割√√√√只考慮類型實例分割√√√√考慮類型和每一個對象
8.2.8人臉識別、計算機機視覺和人工智能之間的關系在計算智能階段,能說會算是核心能力;在感知智能階段,能聽會說,能看會認是核心能力;到認知智能階段,能理解、會思考則是核心能力。人工智能發(fā)展的三個階段人工智能
計算機視覺
人臉識別
8.2.8人臉識別、計算機機視覺和人工智能之間的關系人臉識別、計算機視覺和人工智能的關系主講:王紅梅ArtificialIntelligenceandFuture人工智能與未來2035ComputerVision第8章
計算機視覺2035主講:王紅梅目錄CONTENTS8.18.28.38.4計算機視覺那些事計算機視覺概述人臉識別原理*人臉識別實現(xiàn)8.506擴展:空間智能討論:在眾多的生物識別技術中如:指紋、聲紋、掌紋、虹膜、人臉識別、DNA等生物識別技術中,為什么人臉識別最受待見?人臉識別由于其方便、友好、符合人類傳統(tǒng)識別方式(人與人之間就是通過觀察面孔信息來識別對方身份的)、非接觸、成本較低、穩(wěn)定性高等優(yōu)點,在眾多生物識別技術中脫穎而出。討論:人如何分辨面孔?大腦中有個梭狀回的特殊腦區(qū),負責面孔辨識如果人的梭狀回區(qū)天生較弱,或受過腦損傷,有可能分辨不出人臉,俗稱“臉盲癥”。
要完成人臉識別,一般的處理過程可分為圖像采集、人臉定位、特征提取和特征對比等過程。8.3.1人臉識別基本流程是什么?1.圖像采集是指通過傳感器如攝像頭等把客觀世界中的信息采集到計算機上。8.3.1人臉識別基本流程是什么?2.人臉定位是指檢測到人臉并確定人臉的位置。8.3.1人臉識別基本流程是什么?3.特征提取是從圖像中提出特征,如人臉的輪廓、嘴、眼、鼻的位置等,好方便下一步的分類或識別。8.3.1人臉識別基本流程是什么?4.特征對比就是根據(jù)已經(jīng)訓練的特征模型,從特征庫中找出和提供的人臉相似的人臉,當相似度到達一直閾值,就認為是相同的臉。8.3.1人臉識別基本流程是什么?
不同的應用場景對相似度的要求也不盡相同。如家里的門鎖、手機支付相似度要求就很高,而普通的簽到對人臉識別可能就會要求低一些。8.3.1人臉識別基本流程是什么?用專業(yè)術語叫什么?閾值
實際上在人臉識別前,還有個模型訓練的過程,模型訓練的過程和人臉識別過程很像,也有圖像采集、預處理,特征提取過程,不同的是在特征提取時:數(shù)據(jù)集不同。模型訓練的特征提取一般會用專門的訓練數(shù)據(jù)集,而人臉識別的特征提取用的是測試數(shù)據(jù)集,這個測試數(shù)據(jù)集也可以理解為就是要識別的對象。8.3.1人臉識別基本流程是什么?8.3.1人臉識別基本流程是什么?人臉識別要提取特征,你覺得應該提取什么特征呢?怎么提取呢?我們會發(fā)現(xiàn)關于圖像特征的提取無非是顏色特征、形狀特征、紋理特征、空間關系特征等等,每一種特征都有相應的檢測和提取方法。
實際上提取什么特征決定于要識別什么,假如要進行人臉識別則需要提取人臉的輪廓,眼、嘴、鼻等的特征。而在提取特征之前,必須先檢測到人臉;在特征提取之后,又需要根據(jù)提取的特征進行識別。我們把整個過程通常成為檢測方法。
下面將詳細介紹人臉檢測方法中的Haar級聯(lián)檢測器方法(HaarFeature-basedCascadeClassifier,簡稱Haar級聯(lián)檢測器)8.3.1人臉識別基本流程是什么?8.3.2
Haar級聯(lián)檢測器人臉檢測方法基于知識的檢測方法基于統(tǒng)計的檢測方法基于深度學習的檢測方法檢測器官特征和器官之間的幾何關系檢測的是像素之間的相似度,根據(jù)相似度量來判斷人臉是否存在通過對大量的臉部樣品集和非臉部樣品集的學習產(chǎn)生分類器8.3.2
Haar級聯(lián)檢測器
目前,檢測技術(目標檢測)已經(jīng)進入深度學習時代,但傳統(tǒng)的方法還有必要了解,一方面由于深度學習也是基于傳統(tǒng)方法,如級聯(lián)CNN,就基于VJ檢測器(ViolaJonesDetector,簡稱VJ檢測器)中的級聯(lián)結構,另一方面,傳統(tǒng)方法由于不需要復雜軟、硬件環(huán)境支持,有一定的應用場景。8.3.2
Haar級聯(lián)檢測器在VJ檢測器基礎上,發(fā)展出了OpenCV中的Haar級聯(lián)檢測器,Haar級聯(lián)檢測器是廣泛使用的檢測器之一。Haar級聯(lián)檢測器是基于統(tǒng)計的方法,將人臉看作一個整體,也就是二維像素矩陣,從統(tǒng)計的觀點通過大量人臉圖像樣本來構造人臉模式空間,從而根據(jù)相似度來判斷人臉是否存在。如通過分析5000張人臉照片,發(fā)現(xiàn)“眼睛比臉頰暗”、“鼻梁比兩側(cè)亮”、“嘴巴比周圍暗”這樣的規(guī)律。8.3.2
Haar級聯(lián)檢測器Haar級聯(lián)檢測器由Haar特征、積分圖、AdaBoost算法和級聯(lián)分類器組成,可表示為:Haar級聯(lián)檢測器=Haar特征+積分圖+AdaBoost算法+級聯(lián)分類器1.使用Haar特征做檢測,提供基礎特征;2.使用積分圖對Haar特征求值進行加速;3.使用AdaBoost算法,訓練區(qū)分人臉和非人臉的強分類器;4.使用級聯(lián)把強分類器聯(lián)到一起,提高準確率。8.3.2
Haar級聯(lián)檢測器Haar特征想象你是一位偵探,要在茫茫人海中找到目標人物。Haar級聯(lián)檢測器就像一支訓練有素的偵探小分隊,通過層層篩選快速鎖定嫌疑人。積分圖AdaBoost算法級聯(lián)分類器把目標人物畫個像Haar級聯(lián)檢測器偵探小分隊模板發(fā)明家偵探的“速算神器”偵探的“層層安檢”“精英偵探團”類比8.3.3使用Haar特征進行檢測
1.Haar特征模板Haar是一種特征描述,這種描述用Haar特征模板來實現(xiàn),這種特征模板用于描述圖像局部灰度變化。
X2
Y2
X3
Y3
X2-Y2
邊緣特征
邊緣特征
線性特征
線性特征
對角特征8.3.3使用Haar特征進行檢測
1.Haar特征模板
如我們要檢測人臉中的輪廓,就可以用邊緣特征,通過計算模板兩邊白色像素框和黑色像素框的像素的灰度差值,就知道是輪廓(差值大)。8.3.3使用Haar特征進行檢測
2.進行檢測
怎么檢測呢?在實際中,Haar特征模板可以在檢測子窗口,通過縮放+平移產(chǎn)生一系列子特征。舉個現(xiàn)實中類似套娃找匹配的例子8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(1)首先把原圖像按一定尺寸,劃分成子窗口(這里劃分為9個子窗口),子窗口按一定步長在圖像中滑動。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
X2
Y2
X3
Y3
X2-Y2
邊緣特征
邊緣特征
線性特征
線性特征
對角特征X3的不同比例
(2)然后在每一個固定子窗口內(nèi),通過該層所有特征模以不同比例進行匹配。(3)在匹配過程中,基本特征模板會嘗試檢測不同的位置。8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
(2)然后在每一個固定子窗口內(nèi),通過該層所有特征模以不同比例進行匹配。(3)在匹配過程中,基本特征模板會嘗試檢測不同的位置。
X2
Y2
X3
Y3
X2-Y2
邊緣特征
邊緣特征
線性特征
線性特征
對角特征X3的不同比例8.3.3使用Haar特征進行檢測
2.進行檢測檢測過程
最后對該層級所有匹配結果進行綜合統(tǒng)計。8.3.3使用Haar特征進行檢測
2.進行檢測模版1倍2倍3倍4倍5倍6倍7倍8倍X2√√√√√√√√Y2√√√√√√√√X3√√√√√
Y3√√√√√
X2-Y2√√√√√√√√縮放倍數(shù)的問題:舉例:對于16×16子窗口,Haar特征模板以自己小于等于16×16子窗口的任何倍數(shù)為基準滑動過一遍。8.3.3使用Haar特征進行檢測
2.進行檢測對于X3特征模版,原始大小為3×1,在24×24的子圖像窗口上進行滑動。水平可滑動22步,垂直可滑動24步,共有22×24個特征值,8.3.3使用Haar特征進行檢測
2.進行檢測
一個模板可以以不同的比例在不同的位置上進行滑動,每滑動一次會產(chǎn)生一個特征值。這樣產(chǎn)生的特征值就會有模版類型(目前有5種類型的模板,實際更多)、大小和位置三個要素來決定。不同子窗口大小內(nèi),Haar特征的總數(shù)量窗口大小36×3630x3024x2420x2016x16特征數(shù)量8162643947251623667846032384檢測出這樣大量的值,怎么處理呢???8.3.4Haar特征值的計算和積分圖
1.Haar特征值Haar子特征值=白色矩形像素灰度值之和-黑色矩形像素灰度值之和如果是X3或Y3模版,黑色要乘以2,以平衡各個部分的比例。特征值的正負和大小反映了矩形區(qū)域之間的亮度差異:正值:白色區(qū)域比黑色區(qū)域更亮。負值:白色區(qū)域比黑色區(qū)域更暗。絕對值大?。毫炼炔町惖膹姸取?.3.4Haar特征值的計算和積分圖
1.Haar特征值Haar特征值反映了圖像的灰度值變化情況,如眼睛要比臉頰顏色深,鼻子兩側(cè)顏色要比鼻梁顏色深,嘴巴要比周圍顏色深等。因此可以把特征模版“蒙”在要識別的圖像上,通過水平和垂直滑動的來確定對象的特征輪廓。8.3.4Haar特征值的計算和積分圖
1.Haar特征值
類別不同的模版,再改變大小、位置的變化,在子窗口中滑動,每滑動一次就會產(chǎn)生一個特征值,如X3在6*6像素大小的子窗口移動就可以產(chǎn)生24個特征值。25392035100115503865112102050259025603060407040508.3.4Haar特征值的計算和積分圖
1.Haar特征值
要是在24*24像素大小的檢測窗口內(nèi)矩形特征值就達16萬之多。這么多特征值,計算量(計算是為了得到特征)自然很大,為提高計算速度引入了積分圖,為提高選取效率引入了AdaBoost級聯(lián)分類器。8.3.4Haar特征值的計算和積分圖
2.積分圖
在上面特征模板的移動過程中,會產(chǎn)生大量的特征值,然后每次都要對這些值進行遍歷才能找到對應的特征值。
積分圖是提高圖像特征值計算效率的方法。8.3.4Haar特征值的計算和積分圖
2.積分圖
主要的思想是圖像某點積分圖的值,是某點與起點作為對角點所形成的矩形區(qū)域像素之和。(a)原特征值
(b)積分圖特征值8.3.4Haar特征值的計算和積分圖
2.積分圖502=25+3+9+35+100+115+38+65+112287=25+3+9+35+100+115(a)原特征值
(b)積分圖特征值8.3.4Haar特征值的計算和積分圖
3.計算Haar特征值
積分圖一旦計算完成,就可以輕易求出原圖像任意區(qū)域的像素之和,就是對象的特征值。比如計算I部分的特征值:
I特征值=I(I)+I(E)?I(H)?I(F)。
這里的I特征值指的是對應I位置的積分圖值。ABCDEFGHI8.3.4Haar特征值的計算和積分圖
3.計算Haar特征值利用這種方法,可以把積分圖特征值計算出來,原特征值
積分圖特征值
計算出來的最終特征值(邊緣特種)100=163+25-60-2810011550-3006511210-225502590-185-218-261-170767這個表的計算位置并不是從第一個開始,因為是子窗口。8.3.4Haar特征值的計算和積分圖
4.Haar特征值的含義
在人臉檢測中,左側(cè)特征可對應人眼區(qū)域,右邊則無意義(因為人臉中,眼睛、眉毛、鼻子、嘴巴的特征都沒有和右圖特征一致的)。8.3.4Haar特征值的計算和積分圖
4.Haar特征值的含義
通過這種的方法,我們可以逐步根據(jù)各個特征模版在子窗口的滑動進而提取各個部分的特征,從而得到人臉的特征。
上面的方法是通過修改特征模版的比例,來進行滑動產(chǎn)生特征值。其實也可以通過縮放圖像,形成不同大小的圖像金字塔如圖8.3.8所示,讓模版不變,在不同大小的圖像上同樣通過滑動來產(chǎn)生特征。8.3.4Haar特征值的計算和積分圖
其實不論是滑動模板,還是滑動圖像,其目的都是為了能找到特征。
你可以想象,你有一套俄羅斯套娃和一個球,球的大小比最大的俄羅斯套娃小,比最小的俄羅斯套娃大,為了找到球剛剛好可以放進的那個俄羅斯套娃,你可以從最小的套娃開始,一個一個的試,當最小的不行,就換一個大一點點的,如果不行,繼續(xù)換一個再大一點點的,總能找到剛剛好能放進去的那個。8.3.4Haar特征值的計算和積分圖討論:這種縮放是隨意的嗎?如果不是,是否有比例呢?如果有比例,比例一般是多少?你一般解決復雜問題的方法是什么?8.3.5AdaBoost級聯(lián)分類器要對圖像目標進行檢測和識別時需要對多個特征(多個條件)進行判斷,直接判斷過程復雜,分類器很難設計,所以才用級聯(lián)的方式容易實現(xiàn)。例如,在識別一個圖片中的動物是否是狗時,簡單而快速的方法是先看是否有四條腿,再進一步看看是否有一個頭,最后看看是否長有毛等,每一個判斷都很簡單,逐步深入,很快就能完成對狗的識別。8.3.5AdaBoost級聯(lián)分類器1.AdaBoost算法AdaBoost算法是將弱學習算法提升為強學習算法的過程,主要思想是“三個臭皮匠頂個諸葛亮”。8.3.5AdaBoost級聯(lián)分類器1.AdaBoost算法AdaBoost算法的核心思想是針對不同的訓練數(shù)據(jù)集訓練同一弱分類器,再把這些弱分類器集合在一起,構成一個強分類器。8.3.5AdaBoost級聯(lián)分類器腿頭毛AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法隨意畫一條分類線弱分類器1AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法加大未能正確分類的樣本的權重弱分類器1AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法再繪制一條分類線弱分類器1弱分類器2AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法弱分類器1弱分類器2加大未能正確分類的樣本的權重AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法弱分類器1弱分類器2再繪制一條分類線弱分類器3AdaBoost算法通過調(diào)整訓練數(shù)據(jù)集的權重,使得每個弱分類器專注于之前分類器未能正確分類的樣本,從而逐步提高整體的分類性能?。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法弱分類器1弱分類器2弱分類器構成了強分類器弱分類器38.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法弱分類器1弱分類器2弱分類器構成了強分類器弱分類器3思考問題,怎么確定實線問題(強分類器)?激活函數(shù)(分段函數(shù))????8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法思考問題,怎么確定實線問題?激活函數(shù)(分段函數(shù))旋轉(zhuǎn)一下角度,就可以了后一個模型的訓練永遠是在前一個模型的基礎上完成!策略是通過提高前一輪分類器分類錯誤的樣本的權值,降低分類正確的樣本權值,對于那些沒有分類正確的樣本會得到后面分類器更多的關注。然后可以產(chǎn)生很多的弱分類器,通過多數(shù)加權投票組合這些弱分類器,加大誤差率小的分類器,減少誤差率大的分類器,使其在表決中起到較少的作用。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法練習一下,這個怎么尋找弱分類和強分類器AdaBoost算法的基本步驟:(1)?初始化權重?:為每個訓練樣本分配相等的初始權重。(2)?訓練弱分類器?:根據(jù)當前樣本權重訓練一個弱分類器,并計算其錯誤率。(3)?更新權重?:增加錯分類樣本的權重,使后續(xù)弱分類器更關注這些樣本,減少正確分類樣本的權重。(4)?組合分類器?:將所有弱分類器的加權結果組合起來,形成最終的強分類器。(5)?迭代?:反復執(zhí)行以上步驟,直到達到所需的迭代次數(shù)或滿足其他停止條件?8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法訓練數(shù)據(jù)結合策略強學習器模型1帶權重1的訓練集弱學習器1基于學習的誤差率1更新學習器權重1模型2帶權重2的訓練集弱學習器2基于學習的誤差率2更新學習器權重2模型n帶權重n的訓練集弱學習器n基于學習的誤差率n更新學習器權重n根據(jù)權重1更新樣本權重2根據(jù)權重n-1更新樣本權重n8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法
弱分類器對所有區(qū)域完整計算,效率低,為提升效率,采用基于決策樹的級聯(lián)分類器。8.3.5AdaBoost級聯(lián)分類器----1.AdaBoost算法級聯(lián)分類器表現(xiàn)形式是決策樹,讓每一個AdaBoost出身的強分類器依次進行決策,被認為正確的就往下傳遞,被認為錯誤的就直接拋棄。8.3.5AdaBoost級聯(lián)分類器----2.級聯(lián)(Cascade)分類器
弱分類器1弱分類器2
stageN-1否決stage1否決stage0否決通過...每一級強分類器又由多個弱分類器組成
其中每一個stage都是代表一級強分類器。每一級強分類器又由多個弱分類器組成,強分類器和弱分類器都是樹狀結構。8.3.5AdaBoost級聯(lián)分類器----2.級聯(lián)(Cascade)分類器假設我們使用三個Haar特征f1,f2,f3來判斷輸入數(shù)據(jù)是否為人臉,可以建立如圖所示的決策樹8.3.5AdaBoost級聯(lián)分類器----2.級聯(lián)(Cascade)分類器
這樣對于單一圖像窗口,不再是單純的匹配所有特征,而是將特征分組,用于不同層級。
往往在初始層級,使用相對粗略的特征模板進行匹配,將得到的匹配結果綜合統(tǒng)計,看是否通過該層級設置的“層級閾值”,如果通過,才會進行下一輪特征匹配,否則就對該區(qū)域停止檢測——視為“丟棄”。8.3.5AdaBoost級聯(lián)分類器----2.級聯(lián)(Cascade)分類器強分類器是由多個弱分類器“并聯(lián)”構成,即強分類器中的弱分類器是兩兩相互獨立的。而由強分類器“串聯(lián)”組成級聯(lián)分類器。8.3.5AdaBoost級聯(lián)分類器----3.強分類器和弱分類器弱分類器0弱分類器1...弱分類器n強分類器的值=弱分類器0+弱分類器1+...+弱分類器n
通過Haar特征模板,就可以實現(xiàn)特征提取,并利用提取的特征值進行人臉局部特征(如輪廓、鼻子)的識別,再通過級聯(lián)分類器來實現(xiàn)人臉整體的識別。8.3.5AdaBoost級聯(lián)分類器----3.強分類器和弱分類器主講:王紅梅ArtificialIntelligenceandFuture人工智能與未來2035ComputerVision第8章
計算機視覺2035主講:王紅梅目錄CONTENTS8.18.28.38.4計算機視覺那些事計算機視覺概述人臉識別原理人臉識別實現(xiàn)8.506擴展:空間智能Haar特征算法是OpenCV最流行的目標檢測算法,由于其算法的簡潔性,和不受環(huán)境限制的使用條件,使其在很多環(huán)境,尤其是嵌入式環(huán)境中廣泛使用。本節(jié)以Python的第三方庫OpenCV為例,詳細描述其在人臉識別的實現(xiàn)和應用。8.4.1OpenCV的提供的人臉分類器OpenCV中已經(jīng)內(nèi)置了訓練好的人臉、眼睛、鼻子、嘴巴等檢測器,以*.xml的文件存在特定的目錄下,一般默認是存放在opencv安裝目錄下源碼文件夾中sources\data\haarcascades,可以實現(xiàn)圖片或視頻流的檢測。8.4.1OpenCV的提供的人臉分類器OpenCV內(nèi)置的haar級聯(lián)模型;haarcascade_frontalface_default.xml:檢測面部;haarcascade_eye.xml:檢測左眼和右眼;haarcascade_smile.xml:檢測面部是否存在嘴部;haarcascade_eye_tree_eyeglasses.xml:檢測是否帶墨鏡;haarcascade_frontalcatface.xml:檢測貓臉;haarcascade_frontalcatface_extended.xml:檢測貓臉延伸;haarcascade_frontalface_alt.xml:檢測人臉屬性;haarcascade_frontalface_alt_tree.xml;haarcascade_frontalface_alt2.xml;從文件名可知這些級聯(lián)檢測器可用于面部、眼睛、全身等的檢測和跟蹤。8.4.1OpenCV的提供的人臉分類器haarcascade_fullbody.xml:檢測全身;haarcascade_lefteye_2splits.xml:檢測左眼;haarcascade_licence_plate_rus_16stages.xml:檢測證件;haarcascade_lowerbody.xml:檢測下半身;haarcascade_profileface.xml;haarcascade_righteye_2splits.xml:檢測右眼;haarcascade_russian_plate_number.xml:檢測俄羅斯字母車牌號;haarcascade_upperbody.xml:檢測上半身。1.數(shù)據(jù)準備正如前文所描述,要實現(xiàn)人臉識別,首先需要采集數(shù)據(jù),在本節(jié)我們采集數(shù)據(jù)的方式有:(1)通過提供靜態(tài)圖片的方法,(2)攝像頭直接采集,(3)通過提供視頻流的方法。
Haar級聯(lián)分類器執(zhí)行流程2.人臉檢測其次,進行人臉檢測,在本節(jié)主要通過調(diào)研OpenCV的方法來進行。3.模型訓練再次,要進行模型訓練,我們通過提供特定的數(shù)據(jù)集,然后調(diào)研OpenCV的方法進行訓練。4.人臉識別最后用訓練好的模型進行人臉識別。
Haar級聯(lián)分類器執(zhí)行流程1.在Python中(Python環(huán)境的配置請參考算法章節(jié)),調(diào)用第三方庫OpenCV。2.需要下載資源包。并解壓到D盤的根目錄下,解壓時選擇解壓到“faceDetection”,解壓后的文件夾和文件如圖所示。
在具體實現(xiàn)之前,準備工作:接下來的應用案例主要是人臉識別的具體實現(xiàn),如果你沒有Python基礎或是不想寫代碼,直接體驗人臉識別的實現(xiàn),請直接打開下載的源代碼文件即可。說明本部分的圖像來自視覺中國網(wǎng)站。
在具體實現(xiàn)之前,準備工作:8.4.2調(diào)用OpenCV顯示圖像本案例的主要任務是實現(xiàn)能在Python中調(diào)用OpenCV,能正常顯示圖像。具體實現(xiàn)步驟如下:1、啟動Python的IDLE,在IDLE中,用菜單“文件/打開”命令(英文版是菜單“File/Open”),打開文件夾“D:\faceDetection”中的“faceTest01-showimage.py”。2、這時就會在打開的文件窗口中顯示對應的代碼,代碼有詳細的注釋和解釋,主要的功能是調(diào)用OpenCV的imread方法讀取圖像,并用OpenCV的imshow方法顯示圖像。8.4.2調(diào)用OpenCV顯示圖像3、點擊菜單“運行/運行”命令(英文版“Run/RunModule”)或按鍵盤上的快捷鍵“F5”,就可以執(zhí)行命令,并調(diào)用和現(xiàn)實圖片如圖所示。說明用OpenCV調(diào)用圖像成功。8.4.3進行人臉檢測本案例通過調(diào)用OpenCV中的“haarcascade_frontalface_default.xml”,文件,來實現(xiàn)調(diào)用Haar級聯(lián)分類器從而實例化人臉分類器。具體實現(xiàn)步驟如下:1、啟動Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest02-facedetection.py”。2、這時就會在打開的文件窗口中顯示對應的代碼,代碼有詳細的注釋和解釋,運行后,點擊這個紅色的按鈕結束8.4.3進行人臉檢測3、點擊運行命令,就可以執(zhí)行命令,其調(diào)用和現(xiàn)實圖片如圖8.4.3所示。說明用OpenCV檢測人臉成功。8.4.4通過攝像頭或視頻流采集照片本案例的主要任務是通過調(diào)用OpenCV來實現(xiàn)捕捉攝像頭或視頻流的方法來采集圖像,通常用于實時視頻處理或視頻捕獲。具體實現(xiàn)步驟如下:1、啟動Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest03-camara.py”文件。2、這時就會在打開的文件窗口中顯示對應的代碼,代碼有詳細的注釋和解釋,主要的功能是調(diào)用OpenCV的VideoCapture方法讀取攝像頭或視頻流,并用OpenCV的imshow方法顯示圖像。8.4.4通過攝像頭或視頻流采集照片說明:下面兩種采集方式,使用其一即可。(1)當cap=cv2.VideoCapture("video\東京街頭的人流.mp4")這個語句在執(zhí)行的時候,采集的是同目錄下“video”文件夾下的視頻“東京街頭的人流.mp4”,當然你也可以改變本視頻。(2)當cap=cv2.VideoCapture(0)這個語句執(zhí)行的時候,是采用默認的第一個攝像頭,你需要保證你的設備上有攝像頭才可以使用。8.4.4通過攝像頭或視頻流采集照片3、點擊菜單運行命令就可以執(zhí)行,并調(diào)用攝像頭或指定的視頻流如圖所示。說明用OpenCV調(diào)用攝像頭或指定的視頻流成功。(a)調(diào)用攝像頭采集
(b)調(diào)用指定的視頻流采集8.4.5通過攝像頭或視頻流檢測人臉本案例的主要任務是通過調(diào)用OpenCV來實現(xiàn)對攝像頭或視頻流的人臉進行檢測,具體實現(xiàn)步驟如下:1、啟動Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest04-facedetection-camera.py”文件。2、這時就會在打開的文件窗口中顯示對應的代碼,代碼有詳細的注釋和解釋,主要的功能是調(diào)用OpenCV的CascadeClassifier和detectMultiScale方法來檢測人臉,并用矩形框標注檢測到的人臉。3、點擊菜單運行命令就可以執(zhí)行,調(diào)用并檢測到人臉如圖8.4.5所示。說明用OpenCV進行人臉檢測成功。(a)通過攝像頭人臉檢測
(b)通過視頻流的人臉檢測8.4.5通過攝像頭或視頻流檢測人臉8.4.6訓練人臉識別模型本案例的主要任務是通過提供的數(shù)據(jù)集來訓練一個人臉識別的模型,提供的數(shù)據(jù)集在“trainphotos”文件夾下,當然你也可以下載其它的數(shù)據(jù)集來進行模型訓練。具體實現(xiàn)步驟如下:1、啟動Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest05-train.py”文件。2、這時就會在打開的文件窗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貓咪夢幻課件
- 重慶王海洋課件
- 校園霸凌防治主題海報設計大賽
- 重復執(zhí)行課件
- 獄中詩作者簡介課件
- 物資出庫課件
- 物質(zhì)或離子共存課件
- 物理課件使用
- 模擬訓練安全措施
- 2026年重慶單招電子商務專業(yè)模擬卷含答案直播電商方向
- 消毒供應中心護士長筆試題及答案
- 系統(tǒng)分析師技術面試題與解析
- 中共宜春市袁州區(qū)委社會工作部2025年公開招聘編外人員備考題庫附答案
- 2025中小銀行數(shù)字金融發(fā)展研究報告
- 河南省部分重點中學2025-2026年高三上學期11月質(zhì)量檢測語文試題(解析版)
- 2025年森林碳匯項目可行性研究報告
- 四川省成都市八區(qū)聯(lián)考2024-2025學年八年級上學期數(shù)學期末考試卷(含答案)
- 初中級檔案職稱考試(檔案基礎)手機備考題庫及答案(2025川省)
- 2025年社區(qū)警務規(guī)范考試題庫及答案
- 南瓜餅課件導入
- 碳匯市場交易操作流程解析
評論
0/150
提交評論