《嵌入式人工智能技術應用》課件 2.2-基于人臉屬性分析算法實現(xiàn)人臉檢測_第1頁
《嵌入式人工智能技術應用》課件 2.2-基于人臉屬性分析算法實現(xiàn)人臉檢測_第2頁
《嵌入式人工智能技術應用》課件 2.2-基于人臉屬性分析算法實現(xiàn)人臉檢測_第3頁
《嵌入式人工智能技術應用》課件 2.2-基于人臉屬性分析算法實現(xiàn)人臉檢測_第4頁
《嵌入式人工智能技術應用》課件 2.2-基于人臉屬性分析算法實現(xiàn)人臉檢測_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

項目二使用計算機視覺算法實現(xiàn)圖像識別嵌入式人工智能技術應用基于人臉屬性分析算法實現(xiàn)人臉檢測任務二職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二基于人臉屬性分析算法實現(xiàn)人臉檢測了解人臉屬性分析算法原理;掌握使用人臉屬性分析算法識別人臉屬性的方法。掌握利用OpenCV實現(xiàn)圖像的采集;掌握調(diào)用算法接口,進行人臉多屬性分析。職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二基于人臉屬性分析算法實現(xiàn)人臉檢測

本實驗將實現(xiàn)用人臉檢測和人臉屬性算法對USB攝像頭采集畫面進行人臉檢測和人臉屬性分析,并標注人臉框和人臉屬性顯示在notebook。任務描述任務要求使用人臉檢測算法和人臉屬性分析算法對單張圖像進行人臉檢測和人臉分析;基于多線程使用人臉檢測算法和人臉屬性分析算法對USB攝像頭采集的畫面進行人臉檢測和人臉屬性分析;標注人臉框和人臉屬性并進行顯示。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二基于人臉屬性分析算法實現(xiàn)人臉檢測任務分析根據(jù)自己的了解說說人臉屬性有哪些?實現(xiàn)人臉屬性分析可能會涉及到哪些步驟?任務分析與計劃03任務計劃表項目名稱使用計算機視覺算法實現(xiàn)圖像識別任務名稱基于人臉屬性分析算法實現(xiàn)人臉檢測計劃方式自主設計計劃要求請用6個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二基于人臉屬性分析算法實現(xiàn)人臉檢測04知識儲備人臉識別1人臉多屬性分析2人臉識別04人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。人臉識別04人臉識別系統(tǒng)主要包括四個組成部分,分別為:人臉圖像采集及檢測、人臉圖像預處理、人臉圖像特征提取以及匹配與識別。人臉識別04

1.企業(yè)、住宅安全和管理:如人臉識別門禁考勤系統(tǒng),人臉識別防盜門等。人臉識別應用場景人臉識別04

2.電子護照及身份證:中國的電子護照計劃公安部一所正在加緊規(guī)劃和實施。人臉識別應用場景人臉識別04

3.公安、司法和刑偵:如利用人臉識別系統(tǒng)和網(wǎng)絡,在全國范圍內(nèi)搜捕逃犯。人臉識別應用場景人臉識別04

4、自助服務:

人臉識別應用場景人臉識別04

5.信息安全:如計算機登錄、電子政務和電子商務。在電子商務中交易全部在網(wǎng)上完成,電子政務中的很多審批流程也都搬到了網(wǎng)上。使用生物特征,就可以做到當事人在網(wǎng)上的數(shù)字身份和真實身份統(tǒng)一。人臉識別應用場景人臉識別04思考人臉識別和人臉檢測有什么區(qū)別呢?他們之間有什么關系?人臉識別04人臉檢測是一個比人臉識別更廣泛的術語。人臉檢測意味著系統(tǒng)可以識別圖像/視頻中是否有人臉。人臉檢測有許多應用,人臉識別只是其中之一。人臉檢測也可以用于自動對焦相機。它可以用來計算進入特定區(qū)域的人數(shù)。人臉識別04什么是人臉檢測?

人臉檢測是指用某種策略搜索任何給定的圖像/視頻幀,以確定它是否包含人臉,如果包含,則返回人臉的位置、的大小和姿態(tài)。人臉識別04人臉檢測的原理是什么?

人臉檢測算法通常從搜索人眼開始。眼睛形成所謂的山谷區(qū)域,是最容易被發(fā)現(xiàn)的特征之一。一旦檢測到眼睛,該算法可以嘗試檢測面部區(qū)域,包括眉毛、嘴、鼻子、鼻孔和虹膜。一旦算法推測它已經(jīng)檢測到一個面部區(qū)域,它可以應用附加的測試來驗證它是否已經(jīng)實際檢測到一個面部。人臉識別04什么是人臉識別?人臉識別是一種基于人臉特征信息的生物識別技術。簡而言之,人臉識別解決了“這是誰的臉”的問題。人臉識別04人臉檢測和人臉識別之間的關系?

人臉檢測最重要的應用之一就是人臉識別。人臉識別技術描述了一種生物識別技術,其技術遠不止于在人臉出現(xiàn)時進行識別。它實際上試圖確定它是誰的臉。該過程使用計算機應用程序進行工作,該計算機應用程序捕獲個人人臉的數(shù)字圖像(有時是從視頻幀中獲?。┎⑵渑c存儲的記錄數(shù)據(jù)庫中的圖像進行比較。盡管人臉識別并非100%準確,但它可以非常準確地確定何時人臉很可能與數(shù)據(jù)庫中的某人匹配。

簡而言之,盡管所有人臉識別系統(tǒng)都使用人臉檢測,但并非所有人臉檢測系統(tǒng)都具有人臉識別組件。04知識儲備人臉識別1人臉多屬性分析2人臉屬性04人臉屬性分析是人臉識別的另一種應用場景,依賴于人臉識別接口來確定人臉的位置信息。人臉屬性分析算法接口的調(diào)用,不但要進行識別檢測,還要把結(jié)果顯示在圖像上,比如說把人臉框畫在圖像上,并把人臉屬性,年齡,性別寫在圖像上等等。人臉屬性04人臉屬性1.人臉矩形檢測到的每個人臉對應于響應中的faceRectangle字段。這是一組像素坐標,用于檢測臉部的左邊緣、頂部、寬度和高度。使用這些坐標可以獲取人臉的位置及大小。在API響應中,人臉按照從大到小的順序列出。2.人臉I(yè)D人臉I(yè)D是在圖像中檢測到的每個人臉的唯一標識符字符串。可以在人臉-檢測API調(diào)用中請求人臉I(yè)D。人臉屬性043.人臉特征點人臉特征點是人臉上的一組易于查找的點,例如瞳孔或鼻尖。默認情況下,有27個預定義的特征點。下圖顯示了所有27個點:以像素為單位返回的點坐標。Detection_03模型目前具有最準確的地標檢測能力。此模型返回的眼睛和瞳孔地標足夠精確,可以對面部進行注視跟蹤。人臉屬性044.屬性屬性是可由人臉-檢測API選擇性地檢測到的一組特征。以下屬性可以檢測到:配飾。給定的人臉是否戴有配飾。此屬性會返回可能的配飾,包括頭飾、眼鏡和口罩,每個配飾的置信度分數(shù)介于0到1之間。Age:特定人臉的估計年齡(歲)。Blur:圖像中人臉的模糊度。此屬性返回0到1的值,以及非正式分級:low、medium或high。Emotion:給定人臉的情感列表及其檢測置信度。置信度分數(shù)會進行標準化,所有情感的分數(shù)加起來后得到一個總的分數(shù)。返回的情感包括快樂、悲傷、中性、憤怒、蔑視、厭惡、驚訝、恐懼。Exposure:圖像中人臉的曝光度。此屬性返回0到1的值,以及非正式的分級:underExposure、goodExposure或overExposure。Facialhair:給定人臉的胡須狀態(tài)和長度。Gender:給定人臉的估計性別。可能的值為male、female和genderless。人臉屬性04Glasses:給定的人臉是否戴有眼鏡。可能的值為NoGlasses、ReadingGlasses、Sunglasses和SwimmingGoggles。Hair:人臉的發(fā)型。此屬性顯示頭發(fā)是否可見、是否檢測到禿頂,以及檢測到了哪種發(fā)色。Headpose:人臉在3D空間中的擺向。Makeup:人臉是否有化妝。此值返回eyeMakeup和lipMakeup的布爾值??谡帧H四樖欠衽宕骺谡?。此屬性會返回可能的口罩類型,以及一個布爾值,用于指示鼻子和嘴巴是否被覆蓋。Noise:在人臉圖像中檢測到的視覺噪點。此屬性返回0到1的值,以及非正式分級:low、medium或high。Occlusion:是否存在遮擋人臉部位的物體。此屬性返回eyeOccluded、foreheadOccluded和mouthOccluded的布爾值。Smile:給定人臉的微笑表情。此值介于0(未微笑)與1(明確的微笑)之間。QualityForRecognition是與檢測中使用的圖像是否具有足夠高的質(zhì)量嘗試人臉識別有關的整體圖像質(zhì)量。人臉屬性041.廣告投放通過人臉識別技術對來往觀看廣告的人員進行人臉檢測,然后分析檢測出的行人的人臉年齡、性別。根據(jù)人臉檢測分析了解相應人群的年齡、性別、顏值等信息,推送相應的廣告內(nèi)容,實現(xiàn)廣告的精準投放。人臉多屬性應用場景人臉屬性042.門店用戶畫像在商業(yè)方面,通過人臉識別技術對對門店中的視頻、來往客戶等人臉圖像進行檢測,對門店客流的年齡、性別、顏值等屬性進行分析,幫助商家構(gòu)建用戶畫像。商家還可以通過人臉識別檢測顧客的面部表情分析對商品的購買情況,實現(xiàn)精準營銷。人臉多屬性應用場景人臉屬性043.娛樂活動在一些娛樂app、H5或者是小程序中,使用到人臉識別技術對用戶上次的人臉照片進行檢測,分析人物的顏值、年齡、微笑值等屬性。人臉檢測與屬性分析在娛樂方面的應用可以使有更多的娛樂玩法,提升用戶的樂趣。在日常生活中有越來越多的場景通過人臉識別技術對人臉圖像進行檢測,并且進行年齡、顏值等屬性的分析,為運營和營銷更為精準化。人臉多屬性應用場景人臉屬性04(1)相似性不同個體之間的區(qū)別不大,所有的人臉的結(jié)構(gòu)都相似,甚至人臉器官的結(jié)構(gòu)外形都很相似。(2)易變性人臉的外形很不穩(wěn)定,人可以通過臉部的變化產(chǎn)生很多表情,而在不同觀察角度,人臉的視覺圖像也相差很大,另外,人臉識別還受光照條件(例如白天和夜晚,室內(nèi)和室外等)、人臉的很多遮蓋物(例如口罩、墨鏡、頭發(fā)、胡須等)、年齡等多方面因素的影響。(3)用戶配合度現(xiàn)有的人臉識別系統(tǒng)在用戶配合、采集條件比較理想的情況下可以取得令人滿意的結(jié)果。但是,在用戶不配合、采集條件不理想的情況下,現(xiàn)有系統(tǒng)的識別率將陡然下降。人臉多屬性應用難點職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二基于人臉屬性分析算法實現(xiàn)人臉檢測05任務實施利用多線程方式實現(xiàn)視頻流的人臉屬性分析2調(diào)用人臉多屬性分析算法接口142圖片加載與人臉檢測1模型加載與配置3人臉屬性分析顯示算法處理的圖像調(diào)用人臉多屬性分析算法接口05調(diào)用人臉多屬性分析算法接口人臉多屬性分析是人臉識別的另一種應用場景,所以有依賴于人臉識別接口,來確定人臉的位置信息。人臉多屬性分析算法接口的調(diào)用,不但要進行識別檢測,還要把結(jié)果顯示在圖片上。比如說把人臉框畫在圖片上,并把人臉屬性,年齡,性別寫在圖片上等等。調(diào)用人臉多屬性分析算法接口05fromlib.faceDetectimportNLFaceDetectfromlib.faceAttrimportNlFaceMultiAttrimportcv2importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫1.模型加載與配置(1)導入算法接口庫NLFaceDetect#人臉識別庫NlFaceMultiAttr#人臉多屬性庫這兩種算法庫都是是底層由C寫的算法庫,集成在核心開發(fā)板上,在經(jīng)過python的對接后,形成了一套python的接口庫,可以直接調(diào)用。face_libNamePath='/usr/local/lib/libNL_faceEnc.so'#指定人臉識別庫文件路徑nlFaceDetect=NLFaceDetect(face_libNamePath)#實例化人臉識別算法類em_libNamePath='/usr/local/lib/libNLMultiAttrPredEnc.so'#指定人臉多屬性庫文件路徑nlFaceMulti=NlFaceMultiAttr(em_libNamePath)#實例化人臉多屬性算法類(2)實例化算法接口對象實例化的時候,會自動執(zhí)行init()初始化函數(shù),該函數(shù)功能主要是加載算法庫,指定函數(shù)參數(shù)類型和返回值類型,并初始化結(jié)構(gòu)體變量,libNamePath是固定庫文件路徑,執(zhí)行沒有報錯,表示實例化成功。調(diào)用人臉多屬性分析算法接口05configPath=b"/usr/local/lib/rk3399_AI_model"#指定模型以及配置文件路徑nlFaceDetect.NL_FD_ComInit(configPath)#加載人臉識別模型并初始化nlFaceMulti.NL_EM_ComInit(configPath)#加載人臉多屬性分析模型并初始化1.模型加載與配置(3)加載模型和配置將內(nèi)存分配到各個模塊,比如,在人臉識別里面是人臉檢測,人臉對齊等等,在人臉多屬性里面,是針對人臉多屬性模塊的分配。configPath是模型和配置文件路徑,執(zhí)行沒有報錯,表示加載成功。調(diào)用人臉多屬性分析算法接口05importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫image=cv2.imread("./exp/face1.jpg")imgbox=widgets.Image()#定義一個圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值ret1=nlFaceDetect.NL_FD_InitVarIn(image)#圖像加載到人臉算法中2.圖片加載與人臉檢測(1)加載圖片數(shù)據(jù)將采集到的圖片數(shù)據(jù),加載到兩個算法中(image為圖片數(shù)據(jù)),返回0表示加載成功。ret2=nlFaceDetect.NL_FD_Process_C()#返回值是目標個數(shù)(2)調(diào)用人臉檢測主函數(shù)處理圖像返回人臉個數(shù),并輸出人臉框的位置信息,在輸出結(jié)構(gòu)體,可以獲取相關信息。nlFaceMulti.faceNum=nlFaceDetect.djEDVarOut.numret3=nlFaceMulti.NL_EM_InitVarIn(image)#圖像加載到人臉多屬性算法中(3)取出人臉個數(shù)值從人臉檢測輸出結(jié)構(gòu)體里面,獲取人臉個數(shù),并賦值給人臉屬性分析。調(diào)用人臉多屬性分析算法接口05fFDCoordinates=[]foriinrange(nlFaceDetect.djEDVarOut.num):outObject=nlFaceDetect.djEDVarOut.faceInfos[i].bboxfFDCoordinates.append(outObject.x1)fFDCoordinates.append(outObject.y1)fFDCoordinates.append(outObject.x2)fFDCoordinates.append(outObject.y2)cv2.rectangle(image,(int(outObject.x1),int(outObject.y1)),(int(outObject.x2),int(outObject.y2)),(0,0,255),2)image=nlFaceMulti.NL_EM_bbox(fFDCoordinates,image)print(fFDCoordinates)3.人臉屬性分析(1)將人臉坐標信息輸入人臉多屬性模型根據(jù)人臉個數(shù),把人臉坐標的位置信息,作為人臉多屬性的輸入。ifret3==0:ret4=nlFaceMulti.NL_EM_Process_C()(2)取出人臉個數(shù)值調(diào)用主處理函數(shù),分析人臉多屬性,包括年齡,性別,有無口罩,是否帶眼鏡等等,具體看接口信息。如果沒有人臉就不執(zhí)行主處理函數(shù),否則會報錯。返回的是能獲取到屬性的人臉個數(shù)信息。調(diào)用人臉多屬性分析算法接口05image=nlFaceMulti.result_show(image)4.顯示算法處理的圖像(1)結(jié)果畫在圖片上調(diào)用結(jié)果函數(shù),輸出結(jié)果,并描繪在圖片上。nlFaceMulti.result_show(rgb)該函數(shù)里面有調(diào)用freetype的中文描繪模塊,目的是把中文顯示在圖片上,opencv是不支持中文顯示的。importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫imgbox=widgets.Image()#定義一個圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值nlFaceDetect.NL_FD_Exit()#釋放算法內(nèi)存和模型nlFaceMulti.NL_EM_Exit()(2)結(jié)果可視化利用jupyter的畫圖庫和顯示庫將經(jīng)過算法處理的圖像顯示,并釋放內(nèi)存和模型。05任務實施利用多線程方式實現(xiàn)視頻流的人臉屬性分析2調(diào)用人臉多屬性分析算法接口142定義攝像頭采集線程1引入相關的庫3定義算法識別線程啟動與停止線程利用多線程方式實現(xiàn)視頻流的人臉屬性分析05利用多線程方式實現(xiàn)視頻流的人臉屬性分析利用多線程,使圖像采集和算法識別同時運行,從而實現(xiàn)視頻流的人臉檢測,并且可以避免一些因花時間太久,導致的視頻卡頓。利用多線程方式實現(xiàn)視頻流的人臉屬性分析05importtime#時間庫importcv2#引入opencv圖像處理庫importthreading#這是python的標準庫,線程庫importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫fromlib.faceDetectimportNLFaceDetect#人臉識別算法庫接口fromlib.faceAttrimportNlFaceMultiAttr#人臉多屬性算法接口1.引入相關的庫threading線程庫多線程類似于同時執(zhí)行多個不同程序,多線程運行有如下優(yōu)點:使用線程可以把占據(jù)長時間的程序中的任務放到后臺去處理;用戶界面可以更加吸引人,比如用戶點擊了一個按鈕去觸發(fā)某些事件的處理,可以彈出一個進度條來顯示處理的進度;程序的運行速度可能加快;在一些等待的任務實現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如內(nèi)存占用等等。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應用程序中,由應用程序提供多個線程執(zhí)行控制。利用多線程方式實現(xiàn)視頻流的人臉屬性分析05classCameraThread(threading.Thread):def__init__(self,camera_id,camera_width,camera_height):threading.Thread.__init__(self)self.working=Trueself.cap=cv2.VideoCapture(camera_id)#打開攝像頭

self.cap.set(cv2.CAP_PROP_FRAME_WIDTH,camera_width)#設置攝像頭分辨率寬度

self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT,camera_height)#設置攝像頭分辨率高度

defrun(self):globalcamera_img#定義一個全局變量,用于存儲獲取的圖片,以便于算法可以直接調(diào)用

camera_img=Nonewhileself.working:ret,image=self.cap.read()#獲取新的一幀圖片

ifret:camera_img=imagedefstop(self):self.working=Falseself.cap.release()2.定義攝像頭采集線程結(jié)合上面的opencv采集圖像的內(nèi)容,利用多線程的方式串起來,形成一個可傳參,可調(diào)用的通用類。這里定義了一個全局變量camera_img,用作存儲獲取的圖片數(shù)據(jù),以便于其他線程可以調(diào)用。init初始化函數(shù)實例化該線程的時候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,打開攝像頭,并設置分辨率。run函數(shù)該函數(shù)是在實例化后,執(zhí)行start啟動函數(shù)的時候,會自動執(zhí)行。在該函數(shù)里,實現(xiàn)了循環(huán)獲取圖像的內(nèi)容。利用多線程方式實現(xiàn)視頻流的人臉屬性分析053.定義算法識別線程結(jié)合調(diào)用算法接口的內(nèi)容和圖像顯示內(nèi)容,利用多線程的方式整合起來,循環(huán)識別,對攝像頭采集線程中獲取的每一幀圖片進行識別,并顯示,形成視頻流的畫面。init初始化函數(shù)實例化該線程的時候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,定義了顯示內(nèi)容,并實例化算法和加載模型。run函數(shù)該函數(shù)是在實例化后,執(zhí)行start啟動函數(shù)的時候,會自動執(zhí)行。在該函數(shù)是一個循環(huán),實現(xiàn)了對采集的每一幀圖片進行算法識別,然后將結(jié)果繪畫在圖片上,并將處理后的圖片顯示出來。利用多線程方式實現(xiàn)視頻流的人臉屬性分析05camera_th=CameraThread(0,640,480)face_attr_th=FaceAttrThread()camera_th.start()face_attr_th.start()4.啟動和停止線程(1)啟動線程實例化兩個線程,并啟動這兩個線程,實現(xiàn)完整的人臉屬性分析功能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論