Skip to content

Vision: Add gRPC support for face detection. - #2922

Merged
daspecster merged 1 commit into
googleapis:masterfrom
daspecster:vision-add-face-from-pb
Jan 19, 2017
Merged

Vision: Add gRPC support for face detection.#2922
daspecster merged 1 commit into
googleapis:masterfrom
daspecster:vision-add-face-from-pb

Conversation

@daspecster

@daspecsterdaspecster commented Jan 6, 2017

Copy link
Copy Markdown
Contributor

Based from #2918

This adds gRPC support for face_detect().

@daspecsterdaspecster added the api: vision Issues related to the Cloud Vision API. label Jan 6, 2017
@googlebotgooglebot added the cla: yes This human has signed the Contributor License Agreement. label Jan 6, 2017
if coordinate is None:
return
self.assertIsInstance(coordinate, (int, float))
self.assertNotEqual(coordinate, 0.0)

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

Comment threadsystem_tests/vision.py Outdated

class TestVisionClientFace(BaseVisionTestCase):
def setUp(self):
Config.CLIENT = vision.Client(use_gax=True)

This comment was marked as spam.

Comment threadsystem_tests/vision.py Outdated

def test_detect_text_content(self):
client = Config.CLIENT
client._use_gax = True

This comment was marked as spam.

Comment threadvision/google/cloud/vision/face.py Outdated
:rtype: :class:`~google.cloud.vision.likelihood.Likelihood`
:returns: Instance of ``Likelihood`` converted from gRPC value.
"""
likelihood_pb = LIKELIHOOD_PB.get(likelihood)

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

Comment threadvision/google/cloud/vision/face.py Outdated
return cls(roll, pan, tilt)

@classmethod
def from_pb(cls, response):

This comment was marked as spam.

Comment threadvision/google/cloud/vision/face.py Outdated
def from_pb(cls, response_landmark):
"""Factory: construct an instance of a Landmark from a response.

:type response_landmark: dict

This comment was marked as spam.

Comment threadvision/google/cloud/vision/face.py Outdated
"""
landmarks = []
for landmark in response:
landmarks.append(Landmark.from_api_repr(landmark))

This comment was marked as spam.


if content is not None:
content = _bytes_to_unicode(b64encode(_to_bytes(content)))
content = _to_bytes(content)

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

if self.content:
return {
'content': self.content
'content': _bytes_to_unicode(b64encode(self.content))

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

self.assertEqual(entity.locations[0].longitude, 2.0)


class TestMakeFacesFromPB(unittest.TestCase):

This comment was marked as spam.

@daspecster
daspecsterforce-pushed the vision-add-face-from-pb branch from b5bf40f to 28bc79eCompareJanuary 13, 2017 15:53
@googlebot

Copy link
Copy Markdown

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that they're okay with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of the commit author(s) and merge this pull request when appropriate.

@googlebotgooglebot added cla: no This human has *not* signed the Contributor License Agreement. and removed cla: yes This human has signed the Contributor License Agreement. labels Jan 13, 2017
@daspecster
daspecsterforce-pushed the vision-add-face-from-pb branch from 28bc79e to c30955dCompareJanuary 13, 2017 15:54
@googlebot

Copy link
Copy Markdown

CLAs look good, thanks!

@googlebotgooglebot added cla: yes This human has signed the Contributor License Agreement. and removed cla: no This human has *not* signed the Contributor License Agreement. labels Jan 13, 2017
@daspecster
daspecsterforce-pushed the vision-add-face-from-pb branch 2 times, most recently from 732c099 to 46edcc2CompareJanuary 14, 2017 00:28
@daspecster

Copy link
Copy Markdown
ContributorAuthor

Rebased on master.

@daspecster
daspecsterforce-pushed the vision-add-face-from-pb branch 3 times, most recently from b17c58a to 01474ccCompareJanuary 17, 2017 01:02
@daspecsterdaspecster changed the title Vision add face from pbVision: Add gRPC support for face detection.Jan 17, 2017
Comment threadsystem_tests/vision.py Outdated

class TestVisionClientFace(BaseVisionTestCase):
def setUp(self):
Config.CLIENT = vision.Client()

This comment was marked as spam.

"""
if image.content is not None:
return image_annotator_pb2.Image(content=_to_bytes(image.content))
return image_annotator_pb2.Image(content=image.content)

This comment was marked as spam.

This comment was marked as spam.


def __init__(self, project=None, credentials=None, http=None,
use_gax=False):
use_gax=None):

This comment was marked as spam.

This comment was marked as spam.

joy_likelihood = Likelihood[emotions['joyLikelihood']]
sorrow_likelihood = Likelihood[emotions['sorrowLikelihood']]
surprise_likelihood = Likelihood[emotions['surpriseLikelihood']]
anger_likelihood = Likelihood[emotions['angerLikelihood']]

This comment was marked as spam.

This comment was marked as spam.

CHIN_LEFT_GONION = 'CHIN_LEFT_GONION'
CHIN_RIGHT_GONION = 'CHIN_RIGHT_GONION'
# Unknown face landmark detected. Should not be filled.
UNKNOWN_LANDMARK = 0

This comment was marked as spam.

"""
return self._x_coordinate
if self._x_coordinate != 0:
return self._x_coordinate

This comment was marked as spam.


if content is not None:
content = _bytes_to_unicode(b64encode(_to_bytes(content)))
content = _to_bytes(content)

This comment was marked as spam.

if self.content:
return {
'content': self.content
'content': _bytes_to_unicode(b64encode(self.content))

This comment was marked as spam.

self.assertEqual(annotations.labels, [])
self.assertEqual(annotations.logos, [])
self.assertEqual(annotations.faces, ())
self.assertEqual(annotations.faces, [])

This comment was marked as spam.

This comment was marked as spam.

from google.cloud.vision.annotations import _make_faces_from_pb
return _make_faces_from_pb(annotations)

def test_make_face_from_pb(self):

This comment was marked as spam.

@daspecster
daspecsterforce-pushed the vision-add-face-from-pb branch from ff3f62b to 04517cdCompareJanuary 19, 2017 17:20
@daspecster

daspecster commented Jan 19, 2017

Copy link
Copy Markdown
ContributorAuthor

Merging after chat LGTM and Travis went green.

@daspecster
daspecster merged commit 309fa8d into googleapis:masterJan 19, 2017
@daspecster
daspecster deleted the vision-add-face-from-pb branch January 19, 2017 17:36
@daspecsterdaspecster mentioned this pull request Jan 31, 2017
10 tasks
richkadel pushed a commit to richkadel/google-cloud-python that referenced this pull request May 6, 2017
…om-pb
Vision: Add gRPC support for face detection.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: visionIssues related to the Cloud Vision API.cla: yesThis human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@daspecster@googlebot@dhermes@tseaver