手把手 | 親測好用!Google發布了一個新的Tensorflow物體識別API

2021-02-24 大數據文摘


大數據文摘作品,轉載具體要求見文末

作者 | Priya Dwivedi

編譯 | Lisa,Saint,Aileen

做圖像識別有很多不同的途徑。谷歌最近發布了一個使用Tensorflow的物體識別API,讓計算機視覺在各方面都更進了一步。  

這篇文章將帶你測試這個新的API,並且把它應用在youtube上(可以在GitHub上獲取用到的全部代碼

https://github.com/priya-dwivedi/Deep-Learning/blob/master/Object_Detection_Tensorflow_API.ipynb),結果如下:

這個API是用COCO(文本中的常見物體)數據集(http://mscoco.org/)訓練出來的。這是一個大約有30萬張圖像、90種最常見物體的數據集。物體的樣本包括:

這個API提供了5種不同的模型,使用者可以通過設置不同檢測邊界範圍來平衡運行速度和準確率。

上圖中的mAP(平均精度)是檢測邊界框的準確率和回召率的乘積。這是一個很好的混合測度,在評價模型對目標物體的敏銳度和它是否能很好的避免虛假目標中非常好用。mAP值越高,模型的準確度越高,但運行速度會相應下降。

(想要了解更多跟模型有關的知識https://github.com/tensorflow/models/blob/477ed41e7e4e8a8443bc633846eb01e2182dc68a/object_detection/g3doc/detection_model_zoo.md)

我決定使用最輕量級的模型(ssd_mobilenet)。主要步驟如下:

1. 下載一個打包模型(.pb-protobuf)並把它載入緩存

2. 使用內置的輔助代碼來載入標籤,類別,可視化工具等等。

3. 建立一個新的會話,在圖片上運行模型。

總體來說步驟非常簡單。而且這個API文檔還提供了一些能運行這些主要步驟的Jupyter文檔——

https://github.com/tensorflow/models/blob/master/object_detection/object_detection_tutorial.ipynb

這個模型在實例圖像上表現得相當出色(如下圖):

接下來我打算在視頻上嘗試這個API。我使用了Python moviepy庫,主要步驟如下:

對於3-4秒的片段,這個程序需要花費大概1分鐘的時間來運行。但鑑於我們使用的是一個載入緩存的模型,而且沒有使用GPU,我們實現的效果還是很驚豔的!很難相信只用這麼一點代碼,就可以以很高的準確率檢測並且在很多常見物體上畫出邊界框。

當然,我們還是能看到有一些表現有待提升。比如下面的例子。這個視頻裡的鳥完全沒有被檢測出來。

幾個進一步探索這個API的想法:

嘗試一些準確率更高但成本也更高的模型,看看他們有什麼不同;

尋找加速這個API的方法,這樣它就可以被用於車載裝置上進行實時物體檢測;

谷歌也提供了一些技能來應用這些模型進行傳遞學習。例如,載入打包模型後添加一個帶有不同圖像類別的輸出層。

參考文獻:

原文連結:https://medium.com/towards-data-science/is-google-tensorflow-object-detection-api-the-easiest-way-to-implement-image-recognition-a8bd1f500ea0

點擊圖片閱讀

乾脆麵君,你給我站住!你已經被TensorFlow盯上了

相關焦點

  • 教程 | 如何使用TensorFlow API構建視頻物體識別系統
    本文作者利用谷歌開源的 API 中 MobileNet 的組件很快開發出了識別圖像和視頻內物體的機器學習系統,讓我們看看她是怎麼做到的。市面上已有很多種不同的方法來進行圖像識別,谷歌最近開源的 TensorFlow Object Detection API 是其中非常引人注目的一個,任何來自谷歌的產品都是功能強大的。
  • 用TensorFlow訓練一個目標檢測器(手把手教學版)
    一個比較好的打標工具是LabelImg, https://github.com/tzutalin/labelImg關於圖片打標註,請參考另一篇文章《手把手教你圖片打標註》http://blog.csdn.net/chenmaolin88/article/details/793575024、到目前為止,我們有了一些浣熊的圖片以及這些圖片的標註文件
  • 業界 | 谷歌開源TensorFlow Object Detection API物體識別系統
    創造能夠在同一張圖片裡定位和識別多種物體的機器學習模型一直是業內的核心挑戰之一,谷歌宣稱自己已投入大量時間訓練和實驗此類系統。其中一個模型在示例圖片中(來自 COCO 數據集)對象識別的效果2016 年 10 月,谷歌內部的物體識別系統達到了業內最佳水平,在 COCO 識別挑戰中名列第一。
  • TensorFlow Android Demo
    這是一個目標檢測 app,可以對照片中「感興趣」的物體繪製邊界框。使用 multibox 模型。這是一個語音識別 app,顯示一系列英文單詞,當你對著手機話筒說出這些單詞時,相應位置會高亮。用 Bazel 從源碼編譯安裝 TensorFlow 的步驟不再詳述,可以參考過往文章。
  • 【乾貨】快速上手圖像識別:用TensorFlow API實現圖像分類實例
    作者通過TensorFlow API快捷地實現一個命令行圖像分類例子,詳細介紹了如何按步驟下載模型、加載圖像、執行圖像識別命令。你不需要GPU,只要有一臺筆記本就可以按照作者的步驟進行操作,並最終完成圖像識別任務。教程非常方便快捷,讀完本文之後相信你能秒秒鐘實現一個圖像分類任務。專知內容組編輯整理。
  • TensorFlow Object Detection API 實踐
    前面的文章TensorFlow 上基於 Faster RCNN 的目標檢測已經介紹過目標檢測概念,直觀表述是用算法在圖片中用框框標記各種各樣的目標
  • TensorFlow Lite 轉換器中的 TensorFlow 算子融合
    Keras LSTMhttps://tensorflow.google.cn/api_docs/python/tf/keras/layers/LSTMKeras 雙向 LSTMhttps://tensorflow.google.cn/api_docs/python/tf/keras/layers/Bidirectional此 Colab
  • Tensorflow Object Detection API介紹和應用(mac版)——(1.安裝跑測試程序)
    今天來了解一個有意思的github開源項目,娛樂娛樂,萬一在工作中用的到呢。Tensorflow Object Detection API是谷歌TensorFlow下面的物體檢測項目,可以實現圖像內物體檢測,支持視頻和圖片,可以在圖片上框框出實體,標註出實體具體類別(類別是自己打的標籤,或者項目內提供的預訓練模型和標籤數據)。原理呢,目前還一點沒看。
  • 利用Tensorflow構建自己的物體識別模型(一)
    問題或建議,請公眾號留言;[如果你覺得本文對你有幫助,歡迎讚賞]原料windows10+python3.5+pycharm安裝tensorflow利用Tensorflow訓練搭建自己的物體訓練模型,萬裡長徵第一步,先安裝tensorflow。
  • tensorflow object detection API使用之GPU訓練實現寵物識別
    請戳底部廣告支持貓狗識別概述之前寫過幾篇關於tensorflow object detection API使用的相關文章分享,收到不少關注與鼓勵,所以決定再寫一篇感謝大家肯定與支持。/tensorflow/models.git D:/tensorflow/models然後安裝protoc-3.4.0-win32執行一個命令行如下:第二步:下載Oxford-IIIT Pet數據製作tfrecord數據,首先從這裡下載數據http://www.robots.ox.ac.uk/~vgg/data/pets/
  • 使用TensorFlow進行訓練識別視頻圖像中物體
    本教程針對Windows10實現谷歌公布的TensorFlow Object Detection API視頻物體識別系統,其他平臺也可借鑑。本教程將網絡上相關資料篩選整合(文末附上參考資料連結),旨在為快速搭建環境以及實現視頻物體識別功能提供參考,關於此API的更多相關信息請自行搜索。注意: windows用戶名不能出現中文!!!
  • 深度學習入門篇——手把手教你用 TensorFlow 訓練模型
    Tensorflow在更新1.0版本之後多了很多新功能,其中放出了很多用tf框架寫的深度網絡結構,大大降低了開發難度,利用現成的網絡結構,無論fine-tuning
  • TensorFlow 2.0開發者測試版發布!每晚更新
    TensorFlow 2.0是從同一個原始碼樹構建的,因此如果你想從原始碼構建,只需從master構建即可。從 https://www.tensorflow.org/versions/r2.0/api_docs/python/tf (點擊「閱讀原文」訪問) 獲取TF開發團隊每晚新生成的文檔。由於夜間版正在積極開發中,因此文檔有時可能會過時或者不完整。
  • 讓深度學習進入移動端:在安卓上運行 TensorFlow
    $ wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz$ tar xvzf android-sdk_r24.4.1-linux.tgz -C ~/tensorflow還需要下載一些額外的SDK編譯工具。我在開始為安卓5.1.1版下載開始後關掉了這個終端。
  • 在Android中藉助TensorFlow使用機器學習
    工程中需要使用一個C++ 的編譯文件.so和一個包含調用native C++代碼的java api jar文件。這樣我們就可以在程序中方便地調TensorFlow的Api。我們需要預訓練模型和標籤文件demo中我們將要做一個圖片識別工具:2.
  • 教程 | face-api.js - 使用 tensorflow.js 在瀏覽器中進行面部識別的 JavaScript API
    在本文中,作者簡要介紹了人臉識別的原理和該開發包的使用方法,並帶領讀者開發一個簡易人臉識別案例。用於人臉檢測,人臉識別和人臉標誌檢測的JavaScript API。我很高興地說,終於可以在瀏覽器中運行人臉識別啦!
  • 在安卓上運行TensorFlow:讓深度學習進入移動端
    $ cd ~/tensorflow/android-sdk-linux$ tools/android update sdk –no-ui隨後你需要用下面的命令下載安卓NDK,並解壓:$ wget https://dl.google.com/android/repository/android-ndk-r12b-linux-x86
  • Keras,TensorFlow 的高級 API
    此 API 可用於快速原型設計、尖端研究和實際生產,並具備三項關鍵優勢:簡單易用Keras 界面簡單一致,已針對常見用例進行優化。您可以構建新層、指標和損失函數,還可以開發頂尖模型Keras:快速概覽 指南會幫助您入門(https://www.tensorflow.org/alpha/guide/keras/overview)。如需適合初學者的 tf.keras 機器學習簡介,請參閱此 入門教程集(https://www.tensorflow.org/tutorials/keras)。
  • 【免費教學】在嵌入式中使用 TensorFlow Lite
    這個模型包含的應用場景有:模型的下載地址是:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/g3doc/models.md在上述連結下載一個 Mobilenet_1.0_224 的模型包,裡面包括了:
  • TensorFlow 2.0 部署:TensorFlow Serving
    使用以下命令即可:tensorflow_model_server \ --rest_api_port=埠號(如8501) \ --model_name=模型名 \ --model_base_path="SavedModel格式模型的文件夾絕對地址(不含版本號)"註解TensorFlow