91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>描述性人工智能相機的構建

描述性人工智能相機的構建

2023-07-06 | zip | 0.09 MB | 次下載 | 免費

資料介紹

描述

在這個項目中,我們將構建一個自動描述它觀察到的內容的相機。將部署在 Jetson Nano 等邊緣設備上運行的 AI 網(wǎng)絡,以便它持續(xù)提供所獲取幀的文本描述。為了保持實現(xiàn)簡單,雖然可以將注意力等高級功能添加到網(wǎng)絡中,但由于主腳本是相當模塊化的,所以沒有實現(xiàn)它們。

?
?
?
poYBAGOGxMeAUczdAAC0zrRBcHE380.png
?
1 / 2
?

將實施混合深度神經網(wǎng)絡,使用簡單的 USB 攝像頭和 Jetson Nano 實時提供每一幀的字幕。

項目設計階段

該項目將分四期建設。在第一階段,我們將在配備獨立顯卡的主機上設置和訓練網(wǎng)絡。第二階段包括設置 Jetson Nano 和實現(xiàn)從相機到 HDMI 監(jiān)視器的簡單圖像管道。第三階段包括將圖像字幕深度神經網(wǎng)絡與第二階段的圖像流水線相結合。最后,在最后一個階段,我們將在真實世界的設置下測試網(wǎng)絡。

pYYBAGOGxMyAVglMAAatWQMlz94189.jpg
帶有 USB 攝像頭的 Jetson Nano 設置
?

硬件需要為 Jetson Nano 提供 2A 電源,因為從 USB 為其供電不足以在高性能模式下運行神經模型。為此,請確保將跳線安裝在 Jetson Nano 的右側。然后插入 USB 攝像頭、帶有最新圖像的 SD 卡和以太網(wǎng)電纜。設置好硬件后,下一步就是設置先決條件框架。

主機設置

首先,我們將在主機筆記本電腦上定義和訓練網(wǎng)絡。該項目將使用 Tensorflow 2.01、Keras 2.1 和 OpenCV 4.1。先決條件是安裝 Cuda10.0 和 Visual Studio Express 17.0 以利用 GPU 速度增益,以防筆記本電腦配備支持 NVIDIA 的 GPU。

我們將用于訓練的數(shù)據(jù)集是 Flickr8K 圖像數(shù)據(jù)集。這是一個相對較小的數(shù)據(jù)集,允許在筆記本電腦級 GPU 上訓練完整的 AI 流水線。人們還可以使用更大的數(shù)據(jù)集,這將以更高的訓練時間為代價獲得更好的性能。數(shù)據(jù)集可以通過申請表從伊利諾伊大學下載。

下一個數(shù)據(jù)集是 Glove 數(shù)據(jù)集,它是一組從大型文本語料庫構建的詞嵌入。該數(shù)據(jù)集本質上充當了 AI 從中獲取詞匯的字典。標題文本清理完成后,下一步是加載 Glove 嵌入。嵌入是神經網(wǎng)絡使用的單詞編碼。基本上單詞被投影為高維空間中的向量,然后表示為向量。從這里下載數(shù)據(jù)集:

https://nlp.stanford.edu/projects/glove/

然后創(chuàng)建一個名為 /Captioning 的頂級目錄,并在其中提取兩個壓縮文件。

?
?
?
poYBAGOGxM6AFZQTAAA2gbxj93s257.png
?
1 / 2
?

另外創(chuàng)建一個名為 /data 的文件夾,用于保存訓練階段生成的文件。接下來我們將定義網(wǎng)絡并訓練網(wǎng)絡。

神經網(wǎng)絡訓練

從高層次的角度來看,圖像字幕深度學習網(wǎng)絡由菊花鏈式連接在一起的深度 CNN (InceptionV3) 和 LSTM 循環(huán)神經網(wǎng)絡組成。CNN 的輸出是一個表示圖像類別的 x 維向量。輸出被發(fā)送到 LSTM,后者生成圖像中對象的文本描述。LSTM 基本上接收 x 維向量流。在此基礎上,它實時串接了對場景的描述。

可以在 Github 上找到訓練網(wǎng)絡的 Ipython 筆記本。主網(wǎng)絡的設計基于 Jeff Heaton 的工作。它由一個 InceptionV3 CNN 和一個 LSTM 遞歸神經網(wǎng)絡組成。

下一步是從 Flickr 字幕構建數(shù)據(jù)集,并通過標記化和預處理文本來清理所有描述。然后我們將 Flickr8K 數(shù)據(jù)集拆分為測試和訓練圖像數(shù)據(jù)集。然后我們加載訓練數(shù)據(jù)集描述并訓練網(wǎng)絡。

如前所述,Inception 網(wǎng)絡用作網(wǎng)絡的第一階段。最后一個全連接層被移除,因此從第一階段 CNN 出來的數(shù)據(jù)是一個一維向量。Inception 只能接受分辨率為 299x299 像素的圖像,因此必須對相機圖像進行格式化。

inputs1 = Input(shape=(OUTPUT_DIM,))
fe1 = Dropout(0.5)(inputs1)
fe2 = Dense(256, activation='relu')(fe1)
inputs2 = Input(shape=(max_length,))
se1 = Embedding(vocab_size, embedding_dim, mask_zero=True)(inputs2)
se2 = Dropout(0.5)(se1)
se3 = LSTM(256)(se2)
decoder1 = add([fe2, se3])
decoder2 = Dense(256, activation='relu')(decoder1)
outputs = Dense(vocab_size, activation='softmax')(decoder2)
caption_model = Model(inputs=[inputs1, inputs2], outputs=outputs)

上面的代碼片段顯示了編輯后的 ??InceptionV3 CNN 與 LSTM 連接。這實現(xiàn)了編碼器-解碼器架構。

完成后,我們必須循環(huán)遍歷訓練和測試圖像文件夾,并對每張圖像進行預處理。

網(wǎng)絡的最后一部分是循環(huán)長短期記憶神經網(wǎng)絡。(LSTM) 簡稱。該網(wǎng)絡獲取序列并嘗試預測序列中的下一個單詞。這些類型的網(wǎng)絡的工作由斯坦福大學的 A. Karpathy 完成,他指出它們對于此類任務來說是多么充分。

?
?
?
pYYBAGOIMZWATEnnAAAwH5OjF2s437.png
?
1 / 2
?

最后一步是訓練網(wǎng)絡。對于這個項目,最初使用了 6 個 epoch,損失最初為 2.6%。然而,為了獲得可接受的結果,損失必須遠小于 1,因此必須訓練至少 10-15 個時期。

訓練網(wǎng)絡后,我們加載訓練好的權重并在數(shù)據(jù)集的測試圖像以及不屬于原始數(shù)據(jù)集的圖像上測試網(wǎng)絡。

poYBAGOIMZiAVIqMAAD0i3mCRTo986.png
網(wǎng)絡在這里將孩子描述為“站在草地上的人”
?

如果圖像在風格和內容上與 Flickr9K 數(shù)據(jù)集中的圖像非常相似,則描述相對準確。這也可以使用 OpenCV API 來完成。首先我們需要安裝正確的版本。

安裝OpenCV

OpenCv4.1 是從源代碼編譯的。這可能需要一段時間。要安裝 4.1 版,我使用了以下腳本:

curl -L https://github.com/opencv/opencv/archive/4.1.1.zip -o opencv-4.1.1.zip
curl -L https://github.com/opencv/opencv_contrib/archive/4.1.1.zip -o opencv_contrib-4.1.1.zip
unzip opencv-4.1.1.zip
unzip opencv_contrib-4.1.1.zip
cd opencv-4.1.1/
echo "** Building..."
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D ENABLE_PRECOMPILED_HEADERS=OFF  -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D WITH_GTK=OFF -D WITH_QT=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.1/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j3
sudo make install

請注意,GTK 已關閉,以避免在使用默認設置編譯時發(fā)現(xiàn)的庫出現(xiàn)問題。

pYYBAGOIMZqAetl6AACBsolXS_4290.png
?

安裝 OpenCV 后,使用下面附帶的文件 test_openCV.py 測試程序。USB 攝像頭在 /dev 下顯示為 /video0。

捕獲幀后,可以使用以下函數(shù)將文本覆蓋在每個幀的頂部:

def __draw_label(img, text, pos, bg_color):
  font_face = cv2.FONT_HERSHEY_TRIPLEX
  scale = 1
  color = (255, 255, 255)
  thickness = cv2.FILLED
  margin = 5
  txt_size = cv2.getTextSize(text, font_face, scale, thickness)
  end_x = pos[0] + txt_size[0][0] + margin
  end_y = pos[1] - txt_size[0][1] - margin
  cv2.rectangle(img, pos, (end_x, end_y), bg_color, thickness)
  cv2.putText(img, text, pos, font_face, scale, color, 2, cv2.LINE_AA)

下圖顯示了從相機捕獲的幀,日期覆蓋在幀的頂部。

所有通過 OpenCv API 從相機拍攝的圖像都是 numpy 數(shù)組。因此,數(shù)組必須轉換為圖像,調整大小以匹配 InceptionV3 CNN 要求,然后再轉換回圖像并進一步預處理。使用具有多個可編程分辨率的相機可以避免這種情況。

與最新的 RTX 類 GPU 相比,Jetson Nano 沒有特別強大的 GPU,因此,訓練網(wǎng)絡絕對應該在主機筆記本電腦上完成。

pYYBAGOIMaKAbCYwAADi-9YE6k4227.png
計算能力 5.3
?

。

poYBAGOIMaaASjGJAAJMVO_IZwk996.png
?

網(wǎng)絡需要 2-3 分鐘來加載,因為它讀取并解析所有編碼。然后它讀取圖像幀并將其通過網(wǎng)絡傳遞。推理發(fā)生得非常快。

網(wǎng)絡最初會根據(jù)內存不足發(fā)出一些警告。請記住,它沒有使用 TensorRT 進行優(yōu)化,因此可以通過這樣做并用更好的 CNN(例如 Xception)替換 InceptionV3 來進一步提高速度。

系統(tǒng)應用

實施此類系統(tǒng)的主要途徑是沿海監(jiān)控、公園安全監(jiān)控以及任何此類場景,其中自動監(jiān)控可用于對挽救生命和確保環(huán)境安全產生積極影響的應用。

進一步改進

下一步是將 Tensorflow 模式轉換為 NVIDIA 的 TensorRT,以獲得額外的加速。

由于這是一個模塊化系統(tǒng),網(wǎng)絡的輸出可以傳遞給通知系統(tǒng),每當圖像描述中出現(xiàn)感興趣的詞時,通知系統(tǒng)就會發(fā)送一封電子郵件。

進一步的發(fā)展是將其與對話式人工智能系統(tǒng)相結合,以構建一個“詢問和描述”系統(tǒng)。

結論

可以看出,網(wǎng)絡僅在圖像內容與訓練圖像相似的情況下表現(xiàn)良好。

為了改進描述,需要使用更大的文本語料庫以及更大的注釋數(shù)據(jù)集。雖然 Flickr30K 的大小幾乎是當前數(shù)據(jù)集的 4 倍,但如果使用 MSCoCO 數(shù)據(jù)集,可以獲得更好的結果。問題是您需要強大的 GPU 或使用云。


相機 AI nano
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1耗盡型MOS FET產品目錄選型表
  2. 0.14 MB   |  2次下載  |  免費
  3. 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺
  4. 1.51 MB  |  次下載  |  免費
  5. 3WILLSEMI韋爾20年半年度報告由代理分銷經銷一級代理分銷經銷
  6. 3.30 MB  |  次下載  |  免費
  7. 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經銷一級代理分銷經銷供應
  8. 85.84 KB  |  次下載  |  免費
  9. 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動與升級
  10. 0.64 MB   |  次下載  |  5 積分
  11. 6LAT1594_基于事件喚醒低功耗之介紹
  12. 0.37 MB   |  次下載  |  5 積分
  13. 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  14. 4.05 MB   |  次下載  |  免費
  15. 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
  16. 4.13 MB   |  次下載  |  免費

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  19次下載  |  10 積分
  3. 2反激式開關電源設計解析
  4. 0.89 MB   |  11次下載  |  5 積分
  5. 3耗盡型MOS FET產品目錄選型表
  6. 0.14 MB   |  2次下載  |  免費
  7. 4簡易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 52EDL05x06xx系列 600V半橋門驅動器帶集成自舉二極管(BSD)手冊
  10. 0.69 MB   |  1次下載  |  免費
  11. 6國產千兆網(wǎng)口芯片PT153S中文資料
  12. 1.35 MB   |  次下載  |  免費
  13. 7斯丹電子 | 用于芯片測試系統(tǒng)的射頻干簧繼電器
  14. 5.11 MB  |  次下載  |  免費
  15. 8SFI立昌ESD/TVS管原廠代理分銷經銷一級代理分銷經銷
  16. 294.76 KB  |  次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分