日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow 2学习和工业CV领域应用 心得分享

發(fā)布時間:2023/12/4 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow 2学习和工业CV领域应用 心得分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我是一名來自蘇州的機器視覺開發(fā)者,從事傳統(tǒng)的機器視覺算法開發(fā)有11年了,從2018年開始,因為一些復(fù)雜微弱的瑕疵檢測項目遇到的傳統(tǒng)算法瓶頸,開始接觸到了深度學(xué)習(xí),并選擇了使用TensorFlow,期間也是不斷摸索前進,同時得到了很多行業(yè)大佬的指導(dǎo),TensorFlow優(yōu)秀的性能和快速的模型訓(xùn)練部署,上手起來感受非常舒適。

使用TensorFlow以后,確實提升了生產(chǎn)現(xiàn)場的檢查能力,提高了生產(chǎn)產(chǎn)品的品質(zhì)和生產(chǎn)效率,主要的提升是 誤報警率的下降、微弱特征的識別率和檢查結(jié)果分類的精準(zhǔn)化。

借此機會,我想總結(jié)下個人的關(guān)于TensorFlow在工業(yè)圖像視覺領(lǐng)域的應(yīng)用經(jīng)驗。工業(yè)CV領(lǐng)域的深度學(xué)習(xí)應(yīng)用和互聯(lián)網(wǎng)行業(yè)或者研發(fā)類行業(yè),還是有一定差異的,主要在以下幾個方面:

1. 工業(yè)圖像的主要特點:工業(yè)領(lǐng)域,不管是3C、半導(dǎo)體、面板、SMD、汽車,還是飲料食品、標(biāo)簽、紡織等,不管檢測對象是表面瑕疵劃痕污染、印刷噴涂異常、組裝灌裝測量,還是讀碼和字符識別,都有一個和我們?nèi)粘J謾C攝影頭拍攝照片不一樣的地方。那就是,工業(yè)取像使用更穩(wěn)定的視覺硬件,包括工業(yè)相機、工業(yè)鏡頭和工業(yè)光源,會盡可能地打造一個穩(wěn)定的成像環(huán)境,圖像的背景和目標(biāo)一般在位置分布和灰度上不會有太多動態(tài)的變化,但是不排除復(fù)雜的紋理特征和復(fù)雜的輪廓邊界,而這也是深度學(xué)習(xí)最契合的應(yīng)用場景。因此,基于工業(yè)上的圖像集的特點,如果有較好推理應(yīng)用的模成熟型的話,在訓(xùn)練好的模型基礎(chǔ)上,做遷移學(xué)習(xí),可能會有意外的好效果。?

2. 負樣本嚴重不足:正常的工業(yè)生產(chǎn)中,良品率一般是非常高的(>90%),因此負樣本的收集非常困難,有些品質(zhì)要求嚴格的產(chǎn)品,可能1個月只會產(chǎn)生10幾個不良,這樣就對訓(xùn)練集的均衡提出了挑戰(zhàn)。需要自主開發(fā)圖像預(yù)處理算法對樣本進行增強,不能局限于TensorFlow或OpenCV自帶的的一些傳統(tǒng)的圖像集樣本增強算法。有時候甚至?xí)p少或者取消預(yù)測集和測試集,以最大限度地喂給模型訓(xùn)練。另一方面,生產(chǎn)現(xiàn)場也是允許前期一定的測試成本和評價周期,允許粗糙版本先上線,邊生產(chǎn)邊優(yōu)化升級。?

3. 深度學(xué)習(xí)如何適配老舊的系統(tǒng):眾所周知,因為設(shè)備更新和維護成本非常高,工業(yè)設(shè)備的迭代速度是很低的,設(shè)備穩(wěn)定性很好。這也造成一個問題,目前的工業(yè)領(lǐng)域的PC系統(tǒng)大多老舊,雖然是很穩(wěn)定的工控機,抗擊惡劣環(huán)境和連續(xù)工業(yè)性能很強,但PC配置大多較低,系統(tǒng)版本也不高。經(jīng)常會遇到10年前的雙核處理器,搭配win2000操作系統(tǒng),這也給深度學(xué)習(xí)的部署應(yīng)用提出了一些難題。一般的解決方案是通過在設(shè)備外部搭建深度學(xué)習(xí)服務(wù)器,和產(chǎn)線設(shè)備組成內(nèi)網(wǎng)文件共享和實時通訊,實時地讀取設(shè)備內(nèi)生成的圖像進行推理,并將推理結(jié)果通過網(wǎng)絡(luò)反饋設(shè)備。?

4. 模型部署推理如何和現(xiàn)有程序集成:工業(yè)上使用的檢查程序大多數(shù)是基于.NET或者C++,和較流行的python不同,而且開發(fā)者也無法再切換原有程序的語言,因為涉及到PC內(nèi)很多運動控制、各種板卡和通訊交互等外部依賴的商業(yè)類庫,更換語言的成本很高,也幾乎不可能完成。目前一般2種方式對應(yīng):通過post通訊,python上訓(xùn)練和部署,并通過flask服務(wù)和原程序通訊交互;或者采用C++版本或者.net版本支持GPU的TensorFlow擴展,直接集成到現(xiàn)在程序中,進行訓(xùn)練和推理,實時內(nèi)存中共享圖像變量和結(jié)果。個人建議采用第2種方式,開發(fā)起來更快高效。?

5. 模型不需要前沿 需要穩(wěn)定高效:工業(yè)上的算法應(yīng)用一般略微落后于前沿技術(shù),以穩(wěn)定高效為主。像圖像處理方面一般還是使用一些傳統(tǒng)的經(jīng)典的算法,以深度學(xué)習(xí)做圖像分類為例,簡單的項目使用LeNet和AlexNet網(wǎng)絡(luò)就足夠,復(fù)雜的項目一般使用到VGG Net就可以。但也有部分較前沿的技術(shù)應(yīng)用,比如超分算法,對圖像進行擴展以增加細節(jié),幫助提升分類精準(zhǔn)性。?

6. 算法落地的配套工具開發(fā)量占比高:工業(yè)中一個完整項目的落地,需要交付一整套系統(tǒng),其中生產(chǎn)人員的便捷應(yīng)用和人性化的交互UI也是比較重要的。因此,深度學(xué)習(xí)在工業(yè)現(xiàn)場應(yīng)用,很大一部分開發(fā)工作量在于配套的工具。例如,數(shù)據(jù)集標(biāo)注制作、模型訓(xùn)練、模型快速部署和訓(xùn)練推理過程的可視化,這些都需要封裝成易用穩(wěn)定的工具,交付客戶時可以讓無編程經(jīng)驗的客戶也能快速開展深度學(xué)習(xí)的業(yè)務(wù)。

7. 傳統(tǒng)算法為主 深度學(xué)習(xí)輔助:雖然現(xiàn)在深度學(xué)習(xí)技術(shù)已經(jīng)看上去無所不能,但在工業(yè)應(yīng)用上,還是主要以傳統(tǒng)算法為主,深度學(xué)習(xí)輔助的模式。這并非是孰是孰非的問題,而是當(dāng)前時期,傳統(tǒng)視覺算法在兼顧運算速度、像素計算精度和算法開發(fā)速度上,還是略微占優(yōu)勢。而深度學(xué)習(xí)一般作為補充,彌補傳統(tǒng)算法在復(fù)雜紋理和復(fù)雜特征描述上的不足,將傳統(tǒng)算法達到的90%準(zhǔn)確率,助推至95%。

以上,是我個人的一些工業(yè)應(yīng)用中的心得,接下來,和大家分享一下我自己學(xué)習(xí)TensorFlow 2.x的一些經(jīng)驗和故事。

最初,我是在B站偶然的看到Google的官方賬號的,然后在這里學(xué)習(xí)了一些TensorFlow一手視頻資料,同時結(jié)合TensorFlow官網(wǎng)的API手冊進行邊學(xué)邊用。

然后,在今年年初的 Google 開發(fā)者大會 TensorFlow DEV SUMMIT 2020 上,學(xué)習(xí)了解到了很多東西。包括TensorFlow 2.2的新特性,TensorFlow致力打造的生態(tài),TFUG(TensorFlow User Groups),以及TensorFlow Certificate開發(fā)者認證體系。

在這次開發(fā)者大會后,我開始接觸并使用TensorFlow 2.x,工作中的項目也逐漸從1.x轉(zhuǎn)換至2.x。同時,我也關(guān)注了TensorFlow官方微信公眾號,加入了TFUG社區(qū)成為其中一員。

關(guān)注TensorFlow官方公眾號真的給我?guī)砹撕芏嘁皇中迈r的資訊和前沿技術(shù)信息。通過這個公眾號,我參加了第1期TensorFlow機器學(xué)習(xí)Study Jam課程,并獲得第1批通過在線考試的證書卡片和精美定制背包禮品。也陸續(xù)參加了后續(xù)的一系列Study Jam課程,以及每一次的視頻直播,收獲頗豐。

課程里,我發(fā)現(xiàn)了GDE李錫涵大佬的“簡單粗暴TensorFlow2”的在線網(wǎng)站,并注冊成為第1批早期論壇會員,在論壇上和大家積極交流互動。“簡單粗暴TensorFlow2”一直是我強烈推薦給身邊同事好友的,我認為是快速入門TensorFlow最好的教材,也特別適合一些偏現(xiàn)場應(yīng)用的攻城獅們,可以低學(xué)習(xí)成本快速進入深度學(xué)習(xí)殿堂。

也是在今年初的開發(fā)者大會上,我了解到了TensorFlow開發(fā)者認證。在國內(nèi)和國外一些前幾位通過TF認證的大佬們的指導(dǎo)幫助下,我系統(tǒng)地學(xué)習(xí)了Coursera上面吳恩達老師旗下deeplearning.ai出品的Laurence Moroney老師的著名課程“TensorFlow In Practice專項課程”,并且認真準(zhǔn)備全部滿分通過了該課程的所有課后練習(xí)和考試,順利拿到了該課程的全部結(jié)業(yè)認證證書。通過接下來的一個月每天晚上下班后在家的復(fù)習(xí)備考,我也順利通過TensorFlow Certificate認證,成為國內(nèi)前幾位拿到證書的開發(fā)者。為了幫助國內(nèi)更多地了解TF認證,也方便大家交流學(xué)習(xí),將大佬們無私指導(dǎo)我的精神傳承下去,我利用業(yè)余時間翻譯了官方的考試手冊,整理出中文版認證考試手冊方便大家了解,并建立交流群,方便大家交流學(xué)習(xí),目前已經(jīng)有好多群友陸續(xù)通過認證。

同時,我也是一位.NET開發(fā)者,如何讓TensorFlow 2.x和.NET框架緊密集成,也是我在工作中遇到的挑戰(zhàn)。通過github上查找資源,我認識了SciSharp社區(qū)的TensorFlow .Net開發(fā)者,并加入SciSharp社區(qū),一起幫忙廣大.NET開發(fā)者更方便地使用TensorFlow 2.x,通過半年多的努力,目前TensorFlow .NET終于綁定升級到TensorFlow 2.3,實現(xiàn)了大部分的2.x API,可以十分快速地使用C#進行TensorFlow的項目應(yīng)用。

以上,就是我今年學(xué)習(xí)TensorFlow 2的一些經(jīng)驗分享,主要的節(jié)點是關(guān)注了 TesnsorFlow 官方公眾號,通過上面的新鮮信息資訊,進一步發(fā)現(xiàn)了大量優(yōu)秀的學(xué)習(xí)資源,大大拓寬了自己的學(xué)習(xí)視野,也認識了很多大牛們。

以上,是個人的一些學(xué)習(xí)經(jīng)歷分享,歡迎大家交流指正!

加入TFUG蘇州

參與TFUG社區(qū)活動,可以是組織者,志愿者,講師(不一定是大牛,只要能分享相關(guān)經(jīng)驗即可)等;也可以是合作伙伴,為社區(qū)提供各種資源。

如果您想作為TFUG蘇州的組織者或志愿者,或者有任何意見或建議,歡迎給我們的公眾號留言!

微信公眾號:?TFUG蘇州

Join Us

If you love TensorFlow, machine learning and willing to share, if you have?other great ideas about our activities,?if you are interested in our community and activities here, please contact us!?

WeChat:?TFUGSuzhou

關(guān)注我們的公眾號,第一時間獲取最新活動消息

Gmail: tfugsuzhou@gmail.com?

微信號:

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的TensorFlow 2学习和工业CV领域应用 心得分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。