從模仿先開始,照著DIY自己的深度學習項目!

受到本文中Akshay Bahadur偉大工作的啟發,您將看到一些應用計算機視覺和深度學習的項目,以及實現和細節的情況,以便您可以在計算機上重現它們。

從模仿先開始,照著DIY自己的深度學習項目!

LinkedIn數據科學社區

從模仿先開始,照著DIY自己的深度學習項目!

Akshay Bahadur是LinkedIn的數據科學社區給出的最好例子之一。在Quora,StackOverflow,Youtube等其他平臺上,還有很多論壇和平臺在科學、哲學、數學、語言以及數據科學及其許多領域相互幫助。

從模仿先開始,照著DIY自己的深度學習項目!

Akshay Bahadur

在過去3年裡,LinkedIn社區在分享數據科學領域的精彩內容,從分享經驗到詳細論述如何在現實世界中進行機器學習或深度學習方面表現出色。你可以在這個地方找到你想要的資源。

從深度學習和計算機視覺開始

從模仿先開始,照著DIY自己的深度學習項目!

對深度學習領域的研究對圖像中的事物進行分類,檢測它們並在“看到”某些事物時採取行動,在這十年中一直非常重要,它帶來了令人驚歎的結果,例如在超越人類在某些問題的表現。

在本文中,將向您展示Akshay Bahadur在計算機視覺(CV)和深度學習(DL)領域所做的每一篇文章。

  • 深度學習的“怪異”介紹
  • 這裡有關於Deep Learning的精彩介紹、課程和博客文章。但這是一種不同的介紹( https://towardsdatascience.com/a-weird-introduction-to-deep-learning-7828803693b0),感興趣的話可以去看看。
  • 兩個月探索深度學習和計算機視覺
  • 我決定開發熟悉計算機視覺和機器學習技術。作為一名網絡開發人員,我發現了這個(https://towardsdatascience.com/two-months-exploring-deep-learning-and-computer-vision-3dcc84b2457f )
  • 從神經科學到計算機視覺
  • 《人類與計算機的50年展望》(https://towardsdatascience.com/from-neuroscience-to-computer-vision-e86a4dea3574)
  • 計算機視覺吳恩達:11個經驗教訓
  • 我最近在Coursera完成了吳恩達的計算機視覺課程。( https://medium.com/m/global-identity?redirectUrl=https://towardsdatascience.com/computer-vision-by-andrew-ng-11-lessons-learned-7d05c18a6999)

1.使用OpenCV

通過在GitHub.github.com上創建帳戶,為HandMovementTracking開發做出貢獻( https://github.com/akshaybahadur21/HandMovementTracking)

來自Akshay:

為了執行視頻追蹤、算法分析順序視頻幀並輸出幀之間的目標移動。有各種各樣的算法,每個算法又都有自己的優點和缺點。考慮到預期用途在選擇使用哪種算法時很重要,視覺跟蹤系統有兩個主要組件:目標表示和本地化,以及過濾和數據關聯。

這是您需要重現它的所有代碼:

從模仿先開始,照著DIY自己的深度學習項目!

從模仿先開始,照著DIY自己的深度學習項目!

是的,就是這54行代碼。你需要在你的電腦上安裝OpenCV,如果你有Mac,請檢查一下:

在MacOS上安裝OpenCV 3

在這篇文章中,我們將提供有關在MacOS和OSX上安裝OpenCV 3.3.0(C ++和Python)的逐步說明... (www.learnopencv.com)

如果你有Ubuntu:

OpenCV:在Ubuntu中安裝OpenCV-Python

現在我們擁有所有必需的依賴關係,讓我們安裝OpenCV。安裝必須使用CMake進行配置。(docs.opencv.org)

如果你有Windows:

在Windows中安裝OpenCV-Python - OpenCV 3.0.0-dev文檔

在本教程中,我們將學習在Windows系統中設置OpenCV-Python。以下步驟在Windows 7-64可以在docs.opencv.org中進行測試

2.睏意檢測OpenCV

通過在GitHub.github.com上創建一個帳戶來幫助Drowsiness_Detection開發( https://github.com/akshaybahadur21/Drowsiness_Detection)

這種情況可以由傾向於長時間駕駛並可能導致事故的駕駛者使用。此代碼可以檢測到您的眼睛,並在用戶睏倦時發出警報。

依賴:

1.CV2

2.immutils

3.DLIB

4.SciPy

算法:

每隻眼睛由6(x,y)座標表示,從眼睛的左角開始(就好像你在看人一樣),然後順時針在眼睛周圍工作:

從模仿先開始,照著DIY自己的深度學習項目!

條件:

它會檢查20個連續幀,如果眼睛縱橫比小於0.25,則會生成警報。

關係:

從模仿先開始,照著DIY自己的深度學習項目!

總結:

從模仿先開始,照著DIY自己的深度學習項目!

3.使用Softmax迴歸的數字識別

數字識別器 - 機器學習分類器,用於識別digits.github.com(https://github.com/akshaybahadur21/Digit-Recognizer)

此代碼可幫助您使用softmax迴歸對不同的數字進行分類。您可以安裝Conda for python,它解決了機器學習的所有依賴關係。

描述

Softmax迴歸(同義詞:多項Logistic,最大熵分類器,或者僅僅是多級邏輯迴歸)是邏輯迴歸的泛化,我們可以用於多類分類(假設類是互斥的)。我們在二元分類任務中使用(標準)邏輯迴歸模型。

從模仿先開始,照著DIY自己的深度學習項目!

Python實現

所使用的數據集是MNIST,其圖像大小為28×28,並且這裡的計劃是使用邏輯迴歸,淺網絡和深度神經網絡將數字從0分類到9。

這裡最好的部分之一是他使用Numpy編碼了三個模型,包括優化、前向傳播和後向傳播等等。

對於邏輯迴歸:請參閱此處的代碼( https://gist.github.com/FavioVazquez/122e778c15e23d6c18969bc9e70cdbc5)

對於淺神經網絡:請參閱此處的代碼( https://gist.github.com/FavioVazquez/6b4f476c3258a52b6accd842d57a3281)

最後是深度神經網絡:請參閱此處的代碼( https://gist.github.com/FavioVazquez/45f182f79e2afc39ea0536ae2d118370)

執行通過網絡攝像頭寫入

要運行代碼,輸入python Dig-Rec.py

從模仿先開始,照著DIY自己的深度學習項目!

通過網絡攝像頭顯示圖像的執行

要運行代碼,請輸入python Digit-Recognizer.py

從模仿先開始,照著DIY自己的深度學習項目!

Devanagiri識別

https://github.com/akshaybahadur21/Devanagiri-Recognizer

這段代碼可以幫助你使用Convnets來分類不同的印地文字母(Devanagiri)。您可以安裝Conda for python,它解決了機器學習的所有依賴關係。

使用的技術

已經使用了卷積神經網絡,使用Tensorflow作為框架,並使用Keras API來提供高級別的抽象。

架構

CONV2D→MAXPOOL→CONV2D→MAXPOOL→FC→Softmax→分類

一些額外的需要關注的點

1.你可以選擇額外的conv層。

2.添加正則化以防止過度配合。

3.您可以將其他圖像添加到訓練集中以提高準確性。

Python實現

數據集-DDCD(Devnagari字符數據集),其中規模為32×32,使用卷積網絡。

要運行代碼,輸入python Dev-Rec.py

從模仿先開始,照著DIY自己的深度學習項目!

4.使用FaceNet進行面部識別

使用facenets.github.com實現面部識別( https://github.com/akshaybahadur21/Facial-Recognition-using-Facenet)

此代碼有助於使用facenets進行面部識別(https://arxiv.org/pdf/1503.03832.pdf)。facenets的概念最初是在一篇研究論文中提出的。主要討論了三重損失函數如何來比較不同人的圖像。這個概念使用從源頭取得的初始網絡,fr_utils.py取自deeplearning.ai以供參考。為了提供穩定性和更好的檢測功能,這裡會添加一些我自己的功能。

代碼要求

您可以安裝Conda for python,它解決了機器學習的所有依賴關係,您將需要:

  • numpy
  • matplotlib
  • CV2
  • keras
  • DLIB
  • h5py
  • SciPy

描述

面部識別系統是能夠從數字圖像或來自視頻源的視頻幀中識別或驗證人的技術。面部識別系統有多種工作方式,但通常情況下,他們通過比較來自給定圖像的選定面部特徵與數據庫中的面部進行工作。

功能添加

1.只有當你的眼睛被打開時才能檢測到臉部(安全措施)。

2.使用dlib中的面對齊功能才可以在實時流式傳輸時進行有效預測。

Python實現

1.網絡使用 - 初始網絡

2.原始文件 - 谷歌Facenet

程序

如果你想訓練網絡,運行Train-inception.py,但是你不需要那樣做,因為我已經訓練了模型並將它保存為在運行時加載的face-rec_Google.h5文件。

現在需要在你的數據庫中有圖像。您可以將圖片粘貼到代碼檢查/圖像文件夾處,也可以使用網絡攝像頭進行點擊。為此,運行create-face.py將圖像存儲在/ incept文件夾中。您必須手動將它們粘貼到/ images文件夾中

運行rec-feat.py從而運行該應用程序。

5. Emojinator

一個用於humans.github.com的簡單表情符號分類器( https://github.com/akshaybahadur21/Emojinator)

此代碼可幫助您識別和分類不同的表情符號。截至目前,我們只支持手繪表情符號。

代碼要求

您可以安裝Conda for python,它解決了機器學習的所有依賴關係,您將需要:

  • numpy
  • matplotlib
  • CV2
  • keras
  • DLIB
  • h5py
  • SciPy

描述

表情符號是電子信息和網頁中使用的表意文字和表情符號。表情符號存在於各種流派中,包括面部表情,常見對象,天氣的地點和類型以及動物。他們很像表情符號,但表情符號是實際圖片而不是印刷圖。

功能

1.過濾器用來檢測手

2.CNN訓練模型

Python實現

網絡使用 - 卷積神經網絡

程序

1.首先,你必須創建一個手勢數據庫。為此,運行CreateGest.py。輸入手勢名稱,您將顯示2個框架。看看輪廓框架並調整你的手,以確保能夠捕捉到你的手的特徵,按’c’鍵拍攝圖像。這將需要1200個圖像的一個手勢。試著在框架內稍微移動一下你的手,以確保你的模型在訓練時不會過度訓練。

2.對所有您想要的功能重複此操作

3.運行CreateCSV.py將圖像轉換為CSV文件

4.如果你想訓練模型,運行’TrainEmojinator.py'

5.最後,運行Emojinator.py以通過網絡攝像頭測試您的模型

總結

所有人都可以在計算機上運行這些項目,或者在Deep Cognition的平臺上運行它們,如果你不想安裝任何東西,它也可以在線運行。

這只是DL和CV可以做的令人驚歎的事情的一個小例子,取決於你如何將它變成可以幫助世界變得更好的地方。

我們需要每個人都對許多不同的事情感興趣,我們可以通過自己的力量改善世界、改善我們的生活、我們的工作方式,思考和解決問題,如果我們引導現在的所有資源,使這些知識領域共同努力,會實現更大的利益,更可以在世界和我們的生活中產生巨大的積極影響。


分享到:


相關文章: