Local blog for Italian speaking developers
Potenzia i tuoi modelli di visione artificiale con l'API Object Detection di TensorFlow
28 giugno 2017
Pubblicato da Jonathan Huang, Research Scientist e Vivek Rathod, Software Engineer
In Google sviluppiamo avanzatissimi sistemi flessibili di machine learning (ML) per la visione artificiale che, non solo possono essere utilizzati per migliorare i nostri prodotti e servizi, ma anche per
stimolare i progressi compiuti nell'ambito della comunità di ricerca
. La creazione di modelli ML accurati, in grado di localizzare e identificare più oggetti in un'unica immagine, rimane una problematica fondamentale nel settore e infatti investiamo una quantità significativa di formazione e sperimentazione su questi sistemi.
Oggetti rilevati in un'immagine campione (dal set di dati
COCO
) creati da uno dei nostri modelli. Crediti per l'immagine:
Michael Miley
,
immagine originale
.
Lo scorso ottobre il nostro sistema di rilevamento degli oggetti in-house ha ottenuto ottimi risultati piazzandosi primo nella
competizione di rilevamento COCO
. Da allora, questo sistema ha generato risultati per diverse pubblicazioni di ricerca
1,2,3,4,5,6,7
ed è stato utilizzato in prodotti Google, quali:
NestCam
, la funzionalità
Oggetti simili e idee di stile
nella Ricerca di immagini, il
rilevamento di nome e numero civico
in Street View.
Ora siamo lieti di rendere disponibile questo sistema a una comunità di ricerca più ampia attraverso l'
API Object Detection di TensorFlow
. Questo codebase è un framework open source basato su
TensorFlow
che semplifica la creazione, formazione e distribuzione dei modelli di rilevamento degli oggetti. Il nostro obiettivo nella progettazione di questo sistema è supportare modelli allo stato dell'arte consentendo nel contempo una rapida esplorazione e ricerca. La nostra prima versione include i componenti che seguono.
Una selezione di modelli di rilevamento addestrabili, tra cui:
Single Shot Multibox Detector
(SSD) con
MobileNets
SSD con
Inception V2
Region-Based Fully Convolutional Networks
(R-FCN) con
Resnet 101
Faster RCNN
con Resnet 101
Faster RCNN
con
Inception Resnet v2
Carichi calibrati e fissati (addestrati in base al
set di dati COCO
) per ciascuno dei modelli precedenti tali da poter essere usati per soluzioni di inferenza predefinita
Jupyter Notebook
per eseguire l'inferenza predefinita con uno dei modelli rilasciati
Convenienti script di formazione locali nonché pipeline di formazione e di valutazione distribuite tramite Google Cloud
I modelli SSD che utilizzano MobileNet sono leggeri per essere comodamente eseguiti in tempo reale sui dispositivi mobili. Per la nostra presentazione vincente alla competizione COCO del 2016 abbiamo utilizzato un insieme di modelli Faster RCNN, che sono più impegnativi dal punto di vista computazionale ma sono significativamente più precisi. Per ulteriori informazioni sulle prestazioni di questi modelli, consulta il nostro
paper CVPR 2017
.
Sei pronto per iniziare?
Questo codice ci è stato decisamente utile nell'ambito della visione artificiale, e ci auguriamo che lo sia anche per te. Ti invitiamo a mandarci qualsiasi contributo relativo al codebase e a seguirci per scoprire i nuovi aggiornamenti sul framework. Per iniziare, scarica il codice
qui
e cerca di rilevare gli oggetti in alcune delle tue immagini utilizzando
Jupyter Notebook
o
addestrando il tuo rilevatore di animali domestici nel motore Cloud ML
!
Riconoscimenti
La release dell'API Object Detection di TensorFlow e il modello di zoo preaddestrato sono il risultato di un'ampia collaborazione tra diversi ricercatori di Google che si sono avvalsi del feedback e del testing di gruppi di prodotti. In particolare vogliamo menzionare i contributi delle seguenti persone.
Contributori principali:
Derek Chow, Chen Sun, Menglong Zhu, Matthew Tang, Anoop Korattikara, Alireza Fathi, Ian Fischer, Zbigniew Wojna, Yang Song, Sergio Guadarrama, Jasper Uijlings, Viacheslav Kovalevskyi, Kevin Murphy
Un ringraziamento particolare a:
Andrew Howard, Rahul Sukthankar, Vittorio Ferrari, Tom Duerig, Chuck Rosenberg, Hartwig Adam, Jing Jing Long, Victor Gomes, George Papandreou, Tyler Zhu
Riferimenti
Speed/accuracy trade-offs for modern convolutional object detectors
,
Huang et al., CVPR 2017 (paper che descriive questo framework)
Towards Accurate Multi-person Pose Estimation in the Wild
,
Papandreou et al., CVPR 2017
YouTube-BoundingBoxes: A Large High-Precision Human-Annotated Data Set for Object Detection in Video
,
Real et al., CVPR 2017 (vedi anche il nostro
post del blog
)
Beyond Skip Connections: Top-Down Modulation for Object Detection
,
Shrivastava et al., arXiv preprint arXiv:1612.06851, 2016
Spatially Adaptive Computation Time for Residual Networks
,
Figurnov et al., CVPR 2017
AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions
,
Gu et al., arXiv preprint arXiv:1705.08421, 2017
MobileNets: Efficient convolutional neural networks for mobile vision applications
,
Howard et al., arXiv preprint arXiv:1704.04861, 2017
Etichette
Android
Firebase
Google Cloud Platform
GDL
Eventi
Google Developers Live
machine learning
App
Google Play
Chrome
Cloud
api
GDLItalia
GDE
TensorFlow
iOS
AppEngine
GDG
AMP
Cloud Functions
Google Assistant
Android Studio
BigQuery
Google Developers Expert
Università
Google AppEngine
Actions on Google
Android Wear
Deep Learning
GAE
Google Play Store
HTML5
JavaScript
Maps
AngularJS
Annunci
Cloud Machine Learning
Kubernetes
Polymer
Android Things
Community
DevTools
Google App Engine
IoT
Kotlin
intelligenza artificiale
Cloud Firestore
Entrepreneurship
Firebase Analytics
Google Cast
Google I/O
security
Dart
Drive
Google Data Studio
Google Play Games
Android O
Cloud Spanner
Cloud TPU
Compute Engine
Flutter
GSoC
Games
Google Compute Engine
Material Design
Mobile
PWA
Startup
open source
AIY Project
Apps Script
Crashlytics
Diversity
Firebase Cloud Messaging
Google Maps
Gsuite
Python
Research
VR
coding
AR
ARCore
Augmented Reality
Cardboard
Cloud AI
Dialogflow
Firebase Realtime Database
Gmail
Google Cloud Messaging
Google ContainerEngine
Google Play Console
Responsive Design
Women
beacons
cloud storage
node JS
unity
API Cloud Vision
Add-ons
Android Jetpack
Android P
AndroidDevStory
Brillo
Classroom
DevFest
Fabric
G Suite
GWT
GoLang
Google Brain
Google Container Engine
Google I/O Extended
ML kit
Mobile Sites
Prediction
Project Tango
SDK
Stackdriver
Tales
Testing
Udacity
Virtual Reality
WTM
YouTube
analytics
api.ai
courses
reti neurali
sign-in
ARkit
Android App bundle
Android Architecture
Android Architecture Components
Android Go
Android Instant App
Android Pie
AndroidTV
Angular
AutoML
Betatesting
C++
Certification
Cloud Service Platform
Cloud Shell
Community Connector
Computer Science
Converge
Conversation Design
Emulatore Android
GCE
GDD
Gboard
Glass
Go
Google App Script
Google Cloud Functions
Google Cloud billing
Google Developer Days
Google Identity Platform
Google Launchpad
Google Lens
Google Now
Google Photos
Google Plus
Google+
GoogleDevWeekly
GoogleLaunchpad
Graph
Ingress
Instant Apps
Knative
Lighthouse
Localization
Mondaygram
Monetization
NativeScript
PHA
Resonance Audio
Serverless
TensorFlow Lite
UX
WWW
Wear OS
Web
WebAssembly
authsub
botnet
cancer
chatbot
codelab
daydream
designer
hashcode
kids
maker
nearby
oauth
openid
realtime
verify apps
Archivio Blog
2019
feb
gen
2018
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2017
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2016
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2015
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2014
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2013
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
Feed
Follow @GoogleDevsItaly