谷歌通過TensorFlow Object Detection API開源其物體識別系統
選自Google Open Source
作者:Jonathan Huang
機器之心編譯
參與:黃小天、李澤南
近日,谷歌在其開源博客上發表了一篇名為《Supercharge your Computer Vision models with the TensorFlow Object Detection API》的文章,通過 TensorFlow Object Detection API 將谷歌內部使用的物體識別系統(2016 年 10 月,該系統在 COCO 識別挑戰中名列第一)開源給更大的社區,幫助打造更好的計算機視覺模型。機器之心對該文進行了編譯,原文鏈接請見文末。
在谷歌,研究人員開發了最高水平的計算機視覺機器學習系統,不僅可以用於谷歌自身的產品和服務,還可以推廣至整個研究社區。創造能夠在同一張圖片里定位和識別多種物體的機器學習模型一直是業內的核心挑戰之一,谷歌宣稱自己已投入大量時間訓練和實驗此類系統。
其中一個模型在示例圖片中(來自 COCO 數據集)識別對象的效果
2016 年 10 月,谷歌內部的物體識別系統達到了業內最佳水平,在 COCO 識別挑戰中名列第一。自那時起,該系統為大量文獻提供了結果,並被一些谷歌的產品所採用,如 NestCam,同樣的理念也被識別谷歌街景街道名稱和門牌號的 Image Search 採用。
今天,我們很高興通過 TensorFlow Object Detection API 把該系統開源給更大的研究社區。這個代碼庫是一個建立在 TensorFlow 頂部的開源框架,方便其構建、訓練和部署目標檢測模型。我們設計這一系統的目的是支持當前最佳的模型,同時允許快速探索和研究。我們的第一個版本包含:
一個可訓練性檢測模型的集合,包括:
帶有 MobileNets 的 SSD(Single Shot Multibox Detector)
帶有 Inception V2 的 SSD
帶有 Resnet 101 的 R-FCN(Region-Based Fully Convolutional Networks)
帶有 Resnet 101 的 Faster RCNN
帶有 Inception Resnet v2 的 Faster RCNN
上述每一個模型的凍結權重(在 COCO 數據集上訓練)可被用於開箱即用推理。
一個 Jupyter notebook 可通過我們的模型之一執行開箱即用的推理
藉助谷歌雲實現便捷的本地訓練腳本以及分布式訓練和評估管道
SSD 模型使用了輕量化的 MobileNet,這意味著它們可以輕而易舉地在移動設備中實時使用。在贏得 2016 年 COCO 挑戰的研究中,谷歌使用了 Fast RCNN 模型,它需要更多計算資源,但結果更為準確。
如需了解更多細節,請參閱谷歌發表在 CVPR 2017 上的論文:https://arxiv.org/abs/1611.10012
準備好了嗎?
這些代碼在谷歌的計算機視覺應用中非常有用,谷歌希望本次開源能夠將這份便利帶給所有人。谷歌同時也歡迎更多貢獻者參與進來。現在,你可以下載代碼,使用 Jupyter notebook 嘗試在圖片中識別物體,也可以開始在 Cloud ML 引擎中訓練你自己的識別器了。
代碼:https://github.com/tensorflow/models/tree/master/object_detection
Jupyter notebook:https://github.com/tensorflow/models/blob/master/object_detection/object_detection_tutorial.ipynb
Cloud ML:https://cloud.google.com/blog/big-data/2017/06/training-an-object-detector-using-cloud-machine-learning-engine
參考資料
1. Speed/accuracy trade-offs for modern convolutional object detectors (https://arxiv.org/abs/1611.10012), Huang et al., CVPR 2017 (paper describing this framework)
2. Towards Accurate Multi-person Pose Estimation in the Wild (https://arxiv.org/abs/1701.01779), Papandreou et al., CVPR 2017
3. YouTube-BoundingBoxes: A Large High-Precision Human-Annotated Data Set for Object Detection in Video (https://arxiv.org/abs/1702.00824), Real et al., CVPR 2017 (see also our blog post (https://research.googleblog.com/2017/02/advancing-research-on-video.html))*
4. Beyond Skip Connections: Top-Down Modulation for Object Detection (https://arxiv.org/abs/1612.06851), Shrivastava et al., arXiv preprint arXiv:1612.06851, 2016
5. Spatially Adaptive Computation Time for Residual Networks (https://arxiv.org/abs/1612.02297), Figurnov et al., CVPR 2017
6. AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions (https://arxiv.org/abs/1705.08421), Gu et al., arXiv preprint arXiv:1705.08421, 2017
7. MobileNets: Efficient convolutional neural networks for mobile vision applications (https://arxiv.org/abs/1704.04861), Howard et al., arXiv preprint arXiv:1704.04861, 2017
※谷歌開源物體識別系統API
※這家積累9年的老牌技術供應商,打算如何做嵌入式AI?
※超越蒙特卡洛樹搜索:北大提出深度交替網路和長期評估圍棋模型
※超越蒙特卡洛樹搜索:北京大學提出深度交替網路和長期評估圍棋模型
TAG:機器之心 |
※LinkedIn 開源 TonY:在 Hadoop 上運行 TensorFlow 的框架
※LinkedIn 開源 TonY:在 Hadoop 上運行 TensorFlow 的框架
※Oracle開源GraphPipe:幾行代碼讓你在TensorFlow部署PyTorch模型
※AWS 發布自家版本的開源 Elasticsearch:Open Distro for Elasticsearch
※Facebook 開源 Detectron
※開源 Resonance Audio
※可以拋棄 Python?Google 開源 Swift for TensorFlow 意味什麼
※LinkedIn開源TonY 原生支持TensorFlow
※Facebook開源Katran負載均衡器並公開Provisioning Tool
※谷歌開源AdaNet:基於TensorFlow的AutoML框架
※TensorFlow、MXNet、PaddlePaddle三個開源庫對比
※Google 的新開源系統 Fuchsia OS 將支持 Android 應用運行
※Swift for TensorFlow 已在 GitHub 上開源,Tensor 成為 Swift 語言裡面的一等公民
※Facebook 開源其調試平台 Sonar,支持 Android 與 iOS
※Pidgin:Skype for Business 的開源替代品
※大新聞!Facebook 開源了 Python 實現的物體檢測研究平台 Detectron
※可以拋棄 Python 了?Google 開源 Swift for TensorFlow 意味著什麼
※Swift For TensorFlow開源,敲響了Python的喪鐘?
※Salesforce開源構建Einstein AI模型的工具
※資源 | 谷歌開源AdaNet:基於TensorFlow的AutoML框架