關(guān)于我們
書單推薦
新書推薦
|
深入理解計算機視覺:關(guān)鍵算法解析與深度神經(jīng)網(wǎng)絡設計 本書對二維、三維目標檢測技術(shù)涉及的骨干網(wǎng)絡及入門必備的計算機視覺算法進行全面的介紹。本書由淺入深地介紹了MNIST、ImageNet、CIFAR、波士頓房產(chǎn)、ModelNet等經(jīng)典二維、三維數(shù)據(jù)集和相關(guān)國際賽事,還介紹了TensorFlow中的二維卷積層、全連接層、激活層、池化層、批次歸一化層、隨機失活層的算法和梯度下降原理,AlexNet、VGG、ResNet、DarkNet、CSP-DarkNet等經(jīng)典骨干網(wǎng)絡的設計原理,以及PointNet、GCN等三維計算機視覺神經(jīng)網(wǎng)絡。此外,本書通過設計巧妙且具體的案例,讓讀者穩(wěn)步建立扎實的編程能力,包括數(shù)據(jù)集的制作和解析、神經(jīng)網(wǎng)絡模型設計能力和開銷估算、損失函數(shù)的設計、神經(jīng)網(wǎng)絡的動態(tài)模式和靜態(tài)模式的訓練方法和過程控制、神經(jīng)網(wǎng)絡的邊緣計算模型量化、神經(jīng)網(wǎng)絡的云計算部署。完成本書的學習,讀者可以繼續(xù)閱讀與本書緊密銜接的《深入理解計算機視覺:在邊緣端構(gòu)建高效的目標檢測系統(tǒng)》,將所學的計算機視覺基礎知識運用到目標檢測的神經(jīng)網(wǎng)絡設計中,對邊緣計算環(huán)境下的神經(jīng)網(wǎng)絡進行游刃有余的調(diào)整。 視覺雙雄,隆重出版! 《深入理解計算機視覺:關(guān)鍵算法解析與深度神經(jīng)網(wǎng)絡設計》 《深入理解計算機視覺:在邊緣端構(gòu)建高效的目標檢測應用》 凝聚作者半生心血,內(nèi)含實用專利技術(shù) 真正的從實戰(zhàn)中來,到培訓中去,再進入實戰(zhàn) 跟著學習,就能學會AI應用構(gòu)建的思路、方法、技巧 堪稱ChatGPT式人工智能應用開發(fā)的保姆級教程 推薦序一 在人工智能70余年的發(fā)展歷程中,機器學習的重要性不容忽視。隨著神經(jīng)聯(lián)結(jié)主義方法論的不斷發(fā)展,近10年來,建立在深度神經(jīng)網(wǎng)絡模型之上的深度學習技術(shù)異軍突起,已經(jīng)成為人工智能的中堅力量。與此同時,計算機視覺技術(shù)也達到了前所未有的高度。 本書介紹的計算機視覺相關(guān)技術(shù)是深度學習在計算機視覺領(lǐng)域的具體應用,不僅介紹了當下最為流行的圖像分類和目標檢測技術(shù)的算法框架,還介紹了它們的數(shù)據(jù)集處理、云計算、邊緣計算的運用技巧,過程詳實、簡單實用。推廣一個技術(shù)的最好方式就是運用它,如果越來越多的企業(yè)和工程人員能夠運用機器學習乃至機器意識的相關(guān)技術(shù)為用戶和社會創(chuàng)造價值,那么人工智能的未來之路就一定會越走越寬! 人無遠慮,必有近憂。為了能夠參與全球性的人工智能競爭和合作,我們現(xiàn)在就應該前瞻性地開展前沿關(guān)鍵技術(shù)的基礎性研究。本書在介紹工程應用的同時,還對深度學習的算法原理、神經(jīng)網(wǎng)絡設計意圖等較為基礎和抽象的概念進行了介紹,邏輯清晰、形象直觀。特別是近些年興起的三維計算機視覺和圖卷積神經(jīng)網(wǎng)絡技術(shù),它們與二維計算機視覺有著千絲萬縷的聯(lián)系。唯有夯實計算機視覺的技術(shù)基礎,我們才能參與自動駕駛、感知計算等前沿領(lǐng)域的全球競爭和合作。 最后,希望讀者能夠?qū)械纳疃葘W習技術(shù)運用到具體問題的解決之中,通過扎實的研究建立深厚的人工智能理論基礎,通過技術(shù)應用積累計算機視覺實戰(zhàn)經(jīng)驗,共同參與到讓計算機更加靈活地服務于人類社會的實踐之中,為智能社會的發(fā)展貢獻一份力量。 周昌樂 北京大學博士,廈門大學教授,心智科學家 中國人工智能學會理事,福建省人工智能學會理事長 推薦序二 I am happy to hear that Eric Zhang wrote a book covering object detection using TensorFlow. He knows how to quickly develop a solution based on the Neural Network using the high level frameworks like TensorFlow which otherwise would have required many more lines of code. The book also covers an end to end development cycle of a Deep Learning neural network and it will be very useful for the readers who are interested in this topic. Writing a book requires an extensive amount of effort and he finally completed it. Congratulations to Eric and all the readers who will gain a lot of useful knowledge from this book as well! Soonson Kwon Google Global ML Developer Programs Lead 我聽聞Eric Zhang撰寫了這本介紹如何使用TensorFlow進行目標檢測的書。Eric深知如何使用以TensorFlow為代表的機器學習高級框架來提高神經(jīng)網(wǎng)絡的代碼編寫效率,以及如何使用深度神經(jīng)網(wǎng)絡來快速開發(fā)人工智能解決方案。這本書涵蓋了深度學習神經(jīng)網(wǎng)絡端到端的全研發(fā)周期,對于讀者大有裨益。這本書傾注了Eric的大量心力,祝賀他如愿完成了此書的編寫,相信讀者將從這本書中獲得大量有用的知識。 Soonson Kwon 谷歌全球機器學習生態(tài)系統(tǒng)項目負責人 前言 數(shù)字化時代的核心是智能化。隨著人工智能技術(shù)的逐步成熟,智能化應用不斷涌現(xiàn),因此信息行業(yè)從業(yè)人員需要具備一定的人工智能知識和技術(shù)儲備。人工智能最突出的兩個技術(shù)應用領(lǐng)域是計算機視覺和自然語言。計算機視覺處理的是圖像,自然語言處理的是語音和語言。由于計算機視覺采用的CNN神經(jīng)元結(jié)構(gòu)較早被提出,技術(shù)方案也較為成熟,因此本書著重介紹計算機視覺技術(shù)。 在整個計算機視覺領(lǐng)域中,本書選擇重點講述二維、三維目標檢測技術(shù),主要基于兩方面的考慮:一方面,目標檢測技術(shù)是當前計算機視覺中最具有應用價值的技術(shù),大到自動駕駛中的行人和車輛識別,小到智慧食堂的餐盤識別,日常生活中的視頻監(jiān)控、專業(yè)領(lǐng)域中的路面鋪裝質(zhì)量監(jiān)控都是目標檢測技術(shù)的具體應用場景;另一方面,目標檢測神經(jīng)網(wǎng)絡一般包含骨干網(wǎng)絡、中段網(wǎng)絡(特征融合網(wǎng)絡)、頭網(wǎng)絡(預測網(wǎng)絡)、解碼網(wǎng)絡、數(shù)據(jù)重組網(wǎng)絡、NMS算法模塊等,知識點覆蓋較為全面。 從計算機視覺的新手到目標檢測專家的進階過程不僅要求開發(fā)者具備數(shù)據(jù)集制作和骨干網(wǎng)絡設計的基本技能,也要求開發(fā)者具備中段網(wǎng)絡、頭網(wǎng)絡設計的技能,更需要具備根據(jù)邊緣端部署和服務器端部署的要求調(diào)整網(wǎng)絡的能力?梢哉f,學會了目標檢測技術(shù),就擁有了計算機視覺的完整技術(shù)棧,就具備了較為全面的技能去應對其他計算機視覺項目。 本書采用的編程計算框架TensorFlow是深度學習領(lǐng)域中應用最廣泛的編程框架,最早由谷歌公司推出,目前已被廣泛用于全球各大人工智能企業(yè)的深度學習實驗室和工業(yè)生產(chǎn)環(huán)境。互聯(lián)網(wǎng)上大部分的人工智能前沿成果都是通過TensorFlow實現(xiàn)的。TensorFlow提供了更齊全的數(shù)據(jù)集支持和更快的數(shù)據(jù)管道,支持GPU和TPU的硬件加速。TensorFlow支持多種環(huán)境部署。開發(fā)者可通過TensorFlow Serving工具將模型部署在服務器上,還可通過TensorFlow Lite工具將模型轉(zhuǎn)化為可在邊緣端推理的TFlite格式。特別地,TensorFlow升級至2.X版本之后可支持Eager Mode的立即執(zhí)行模式,這使得它的編程更加直觀和便于調(diào)試。 如果執(zhí)著于由淺及深地講授計算機視覺的基礎理論,那么對讀者而言會較為抽象、枯燥;如果拼湊、堆砌易于上手的實踐案例,那么會落入常用技術(shù)反復講、關(guān)鍵技術(shù)脈絡不清的桎梏。因此,本書通過設計巧妙的案例,將計算機視覺技術(shù)抽絲剝繭,讓讀者在探索計算機視覺的每個學習階段都能找到合適的項目代碼并著手嘗試,從而在積累基礎理論知識的同時,穩(wěn)步建立實踐能力。 最后,為避免混淆,有必要厘清兩個概念人工智能和深度學習。人工智能是指應用計算機達到與人類智慧相當?shù)乃,深度學習是指運用深度神經(jīng)網(wǎng)絡技術(shù)達到一定的智能水平。人工智能指向的是效果,深度學習指向的是方法,二者不可等同。實現(xiàn)人工智能的方法不僅有深度學習,還包含傳統(tǒng)的信息化手段和專家邏輯判斷。但以目前的技術(shù)水平,深度學習所能達到的智能水平是最高的,所以一般用人工智能來指代深度學習,也用深度學習來指代人工智能,因此本書對二者不進行嚴格的區(qū)分。 為何撰寫本書 筆者在做以目標檢測為主題的講座報告或技術(shù)分享時,發(fā)現(xiàn)聽眾普遍對人工智能技術(shù)很感興趣,但是又不知從何下手。目標檢測技術(shù)涉及理工科多種基礎知識和技能。其一是數(shù)學,涉及矩陣計算、概率分布;其二是編程,涉及計算框架API和面向?qū)ο蟮腜ython編程技巧;其三是數(shù)據(jù)處理,涉及數(shù)字圖像算法和嵌入式系統(tǒng)。每種基礎知識和技能都對應著高等教育中的一門課程,多數(shù)開發(fā)者對此似曾相識,但又理解得不夠深刻。高等教育偏向于挖掘垂直領(lǐng)域,并沒有刻意將跨領(lǐng)域的知識融會貫通。因此,筆者在詳細講授目標檢測原理和應用之前,先詳細介紹了目標檢測中將會用到的關(guān)鍵算法,并對目標檢測中最重要的骨干網(wǎng)絡進行了由淺入深的介紹。深入理解本書所涵蓋的理論知識便于讀者閱讀與本書緊密相關(guān)的進階書籍《深入理解計算機視覺:在邊緣端構(gòu)建高效的目標檢測應用》,并在目標檢測的理論和實踐上都達到一定的高度。 為避免讀者在閱讀公式和代碼時感到抽象,筆者在編寫過程中有意圍繞較為形象的數(shù)據(jù)流闡釋原理,盡量使用數(shù)據(jù)結(jié)構(gòu)圖來展示算法對數(shù)據(jù)的處理意圖和邏輯。相信讀者在理解了輸入/輸出數(shù)據(jù)流結(jié)構(gòu)圖的基礎上,面對公式和代碼時不會感到晦澀。 筆者發(fā)現(xiàn)許多企業(yè)在初期涉足人工智能時,由于對人工智能不甚了解,陷入了模型選型性能不理想修改失敗嘗試其他模型再次失敗的怪圈。目前有大量的計算機視覺代碼可供下載,簡單配置后就能成功運行,但筆者仍建議從基礎的數(shù)據(jù)集處理、特征提取網(wǎng)絡入手,建立和解析若干個數(shù)據(jù)集,深入剖析若干個經(jīng)典的神經(jīng)網(wǎng)絡,這對讀者真正掌握目標檢測的原理是很有幫助的。我們在工作中難免會不斷更換模型,甚至不斷更換框架,如果缺乏對神經(jīng)網(wǎng)絡設計的深入理解,那么對每種模型、每個框架都無法運用自如。不同模型和不同框架在本質(zhì)上有異曲同工之處,筆者希望人工智能從業(yè)人員能扎實掌握某種框架下具有代表性的模型,在計算機視覺領(lǐng)域中自然也能有所創(chuàng)新。 關(guān)于本書的作者 作者本科畢業(yè)于天津大學通信工程專業(yè),碩士研究生階段就讀于廈門大學,主攻嵌入式系統(tǒng)和數(shù)字信號底層算法,具備扎實的理論基礎。作者先后就職于中國電信和福建省電子信息集團,目前擔任福建省人工智能學會理事和企業(yè)工作委員會主任,同時也擔任谷歌開發(fā)者社區(qū)、亞馬遜開發(fā)者生態(tài)的福州區(qū)域負責人。作者長期從事計算機視覺和自然語言基礎技術(shù)的研究,積累了豐富的人工智能項目經(jīng)驗,致力于推動深度學習在交通、工業(yè)、民生、建筑等應用領(lǐng)域的落地。作者于2017年獲得高級工程師職稱,擁有多項發(fā)明專利。 本書作者GitHub賬號是fjzhangcr。 本書的主要內(nèi)容 本書共6篇,第1篇至第4篇適合開發(fā)者和本科生快速入門計算機視覺,第5篇涉及目標檢測中的特征提取網(wǎng)絡設計原理和技巧,第6篇涉及三維計算機視覺入門和實戰(zhàn),適合進階開發(fā)者和高等院校高年級學生深入了解人工智能。本書的主要內(nèi)容如下。 第1篇旨在讓讀者快速搭建TensorFlow開發(fā)環(huán)境,并使用TensorFlow快速建立基礎的神經(jīng)網(wǎng)絡。在具備開發(fā)環(huán)境的條件下,即使是第一次接觸計算機視覺的新手,利用TensorFlow強大的編程能力,預計也能在10分鐘內(nèi)完成該篇介紹的圖像分類項目。 第2篇旨在讓讀者快速熟悉計算機視覺的開發(fā)流程。從數(shù)據(jù)集的制作入手,延伸至神經(jīng)網(wǎng)絡的構(gòu)建、編譯和訓練,以及神經(jīng)網(wǎng)絡靜態(tài)圖的邊緣端和服務器端的部署,掌握該篇內(nèi)容就可以應對大多數(shù)企業(yè)計算機視覺項目的研發(fā)、生產(chǎn)和運維。 第3篇旨在讓讀者深入理解深度學習的原理和TensorFlow的類繼承關(guān)系。神經(jīng)網(wǎng)絡的本質(zhì)是函數(shù),該篇給出了神經(jīng)網(wǎng)絡推理和訓練的數(shù)學定義,幫助開發(fā)者在神經(jīng)網(wǎng)絡的基礎理論領(lǐng)域有所創(chuàng)新。該篇還介紹了TensorFlow的自動微分機制和基礎類的繼承關(guān)系,有助于開發(fā)者靈活地使用層和模型定義工具,將基礎理論創(chuàng)新轉(zhuǎn)化為代碼編程實踐。 第4篇旨在讓讀者熟練使用TensorFlow的重要層組件組裝模型。該篇并非枯燥地介紹層組件的屬性,而是通過計算機視覺神經(jīng)網(wǎng)絡的經(jīng)典案例,讓讀者快速了解和掌握這些層組件的屬性和資源開銷。雖然這些神經(jīng)網(wǎng)絡只能用于圖像分類,但在目標檢測的計算機視覺應用中承擔著特征提取的重要職責。該篇還介紹了神經(jīng)網(wǎng)絡計算加速硬件、TensorFlow的訓練方法和訓練過程監(jiān)控,方便開發(fā)者靈活調(diào)用。 第5篇由淺及深地介紹了目標檢測中的特征提取網(wǎng)絡。該篇介紹的若干神經(jīng)網(wǎng)絡非常經(jīng)典,小核卷積和殘差連接是目前神經(jīng)網(wǎng)絡廣泛使用的設計思路。該篇還介紹了目標檢測神經(jīng)網(wǎng)絡中性能較強的特征提取骨干網(wǎng)絡和知名計算機視覺數(shù)據(jù)集,以及如何使用預訓練權(quán)重進行遷移學習。 第6篇旨在讓讀者了解三維機器學習領(lǐng)域,三維計算機視覺使用的數(shù)據(jù)表達方式與二維計算機視覺有著巨大的差別,對神經(jīng)網(wǎng)絡也有著特殊的要求。該篇在三維數(shù)據(jù)格式的基礎上介紹了從二維數(shù)據(jù)重建三維物體的若干神經(jīng)網(wǎng)絡,并借助實際的編程案例展示了三維物體的識別。因為三維視覺數(shù)據(jù)在本質(zhì)上是一個圖,所以該篇還介紹了圖計算的相關(guān)基礎理論,展示了基于圖卷積神經(jīng)網(wǎng)絡的具體應用。 附錄中說明了本書的官方代碼引用、運行環(huán)境搭建,以及TensorFlow矩陣的基本操作。讀者若對基本操作有疑問,則可以根據(jù)附錄說明登錄相關(guān)網(wǎng)站進行查閱和提問。 如何閱讀本書 本書適合具備一定計算機、通信、電子等理工科專業(yè)基礎的本科生、研究生及具有轉(zhuǎn)型意愿的軟件工程師閱讀。讀者應當具備高等數(shù)學、線性代數(shù)、概率論、Python編程、圖像處理等基礎知識。上述知識有所遺忘也無大礙,本書會幫助讀者進行適當?shù)臏亓暫突仡櫋?/p> 如果希望快速了解計算機視覺的整體概念,那么建議閱讀本書的第1篇、第2篇。第1篇、第2篇以花卉識別的案例,介紹了計算機視覺項目從數(shù)據(jù)集到訓練,再到云計算部署和邊緣部署的全部流程。讀者閱讀這部分內(nèi)容后,只需要稍微調(diào)整數(shù)據(jù)集,就可以實現(xiàn)個性化的計算機視覺項目。 如果希望深入掌握計算機視覺的基礎原理,那么建議仔細閱讀本書的第3篇、第4篇,這部分內(nèi)容將介紹目標檢測網(wǎng)絡中骨干網(wǎng)絡的結(jié)構(gòu)及搭建網(wǎng)絡必需的各種層組件,幫助讀者形成觸類旁通的知識沉淀。 如果希望掌握計算機視覺神經(jīng)網(wǎng)絡的設計原理,那么建議仔細閱讀本書的第5篇。第5篇介紹了若干經(jīng)典的骨干網(wǎng)絡,骨干網(wǎng)絡負責提取特征,是所有計算機視覺神經(jīng)網(wǎng)絡擁有的結(jié)構(gòu)單元。掌握骨干網(wǎng)絡的設計原理能夠培養(yǎng)領(lǐng)悟計算機視覺相關(guān)文獻和代碼的能力,從而具備神經(jīng)網(wǎng)絡定制和開發(fā)的能力。 如果讀者對二維計算機視覺已經(jīng)有了較為深刻的認識,那么可以通過第6篇快速入門三維計算機視覺。雖然三維計算機視覺在數(shù)據(jù)結(jié)構(gòu)和算法實現(xiàn)上與二維計算機視覺不同,但三維計算機視覺神經(jīng)網(wǎng)絡仍大量借鑒了二維計算機視覺的設計邏輯和層組件。 讀完本書,相信讀者能夠掌握層組件的原理,具備多種神經(jīng)網(wǎng)絡的知識,理解二維、三維計算機視覺的異同點,熟練使用TensorFlow開發(fā)框架,從而應對復雜多變的應用場景。 本書遵循理論和實踐相融合的編寫原則,讀者可以直接通過代碼示例加深理論理解。數(shù)學是工科的基礎,理論永遠走在技術(shù)的前面。建議讀者務必按照本書的篇章順序,動手實踐書中介紹的計算機視覺項目,從零開始打好計算機視覺基礎,從而更快上手其他計算機視覺技術(shù)(如目標檢測、圖像分割、圖像注意力機制、圖像擴散模型等)。另外,需要聲明的是,由于本書涉及實際工程知識較多,所以在書中習慣性地將計算機視覺稱為機器視覺,機器視覺是計算機視覺在實際工程中的應用。 致謝 感謝我的家人,特別是我的兒子,是你平時提出的一些問題,推動我不斷地思考人工智能的哲學和原理,這門充斥著公式和代碼的學科背后其實也有著淺顯和直白的因果邏輯。 感謝求學路上福州格致中學的王恩奇老師,福州第一中學的林立燦老師,天津大學的李慧湘老師,廈門大學的黃聯(lián)芬老師、鄭靈翔老師,是你們當年的督促和鼓勵讓我有能力和勇氣用知識去求索技術(shù)的極限。 感謝福建省人工智能學會的周昌樂理事長,谷歌全球機器學習開發(fā)者生態(tài)的負責人Soonson Kwon,谷歌Coral產(chǎn)品線負責人欒躍,谷歌中國的魏巍、李雙峰,北京算能科技有限公司的范硯池、金佳萍、張晉、侯雨、吳楠、檀庭梁、劉晨曦,福州十方網(wǎng)絡科技有限公司,福建米多多網(wǎng)絡科技有限公司,福州樂凡唯悅網(wǎng)絡科技有限公司及那些無法一一羅列的默默支持我的專家。感謝你們一直以來對人工智能產(chǎn)業(yè)的關(guān)注,感謝你們對本書的關(guān)懷和支持。 感謝電子工業(yè)出版社計算機專業(yè)圖書分社社長孫學瑛女士,珠海金山數(shù)字網(wǎng)絡科技有限公司(西山居)人工智能技術(shù)專家、高級算法工程師黃鴻波的熱情推動,最終促成了我將內(nèi)部培訓文檔出版成圖書,讓更多的人看到。你們具有敏銳的市場眼光,你們將傾聽到的致力于人工智能領(lǐng)域的廣大開發(fā)者的心聲與我分享,堅定了我將技術(shù)積淀整理成書稿進行分享的決心。在本書的整理寫作過程中,你們多次邀請專家提出有益意見,對于本書的修改和完善起到了重要作用。 由于作者水平有限,書中難免存在不足之處,敬請專家和讀者批評指正。 張晨然 2023年2月 作者本科畢業(yè)于天津大學通信工程專業(yè),碩士研究生階段就讀于廈門大學,主攻嵌入式系統(tǒng)和數(shù)字信號底層算法,具備扎實的理論基礎。作者先后就職于中國電信集團公司和福建省電子信息(集團)有限責任公司,目前擔任福建省人工智能學會的理事和企業(yè)工作委員會的主任,同時也擔任谷歌開發(fā)者社區(qū)、亞馬遜開發(fā)者生態(tài)的福州區(qū)域負責人,長期從事機器視覺和自然語言基礎技術(shù)的研究,積累了豐富的人工智能項目經(jīng)驗,致力于推動深度學習在交通、工業(yè)、民生、建筑等領(lǐng)域的應用落地。作者于2017年獲得高級工程師職稱,擁有多項發(fā)明專利。 目錄
你還可能感興趣
我要評論
|