PhotArk
  1. PhotArk
  2. PHOTARK-73

Adding Face Recognition functionality to PhotArk

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: PhoatArk Services
    • Labels:
    • Environment:
      UNIX

      Description

      This is a new feature for Photark where this face recognition engine can be used to enhance and extend the scope of gallery features. So basically after implementing this feature there will be a generic face recognition framework which can be used by other PhotArk face recognition related applications and a Facebook friend finder (later explain in detail) application using the above framework.

      1. basic_interface_def.patch
        2 kB
        Subash Chaturanga
      2. patch1_extendedFaceRecognitionService.patch
        4 kB
        Subash Chaturanga
      3. addedFaceModule.patch
        5 kB
        Subash Chaturanga
      4. scatried.patch
        7 kB
        Subash Chaturanga
      5. Screenshot-2.png
        33 kB
        Subash Chaturanga
      6. Screenshot-1.png
        6 kB
        Subash Chaturanga
      7. issuesWithServices.patch
        17 kB
        Subash Chaturanga

        Activity

        Hide
        Subash Chaturanga added a comment -

        Here this has a rough interface definition on FaceRecognitionService and FacebookFaceRecognition SCA component interfaces.

        Show
        Subash Chaturanga added a comment - Here this has a rough interface definition on FaceRecognitionService and FacebookFaceRecognition SCA component interfaces.
        Hide
        Subash Chaturanga added a comment -

        Here I have extended the scope of FaceRecognitionService interface where it acts in a more generic way.

        Show
        Subash Chaturanga added a comment - Here I have extended the scope of FaceRecognitionService interface where it acts in a more generic way.
        Hide
        Luciano Resende added a comment -

        Couple comments

        • Javadocs would help understand some of the operations/parameters
        • These should be stateless services, thus oAuth credentials should not be passed in a "initialization" operation, but somewhat embedded per operation
        • How about making this it's own module, instead of adding it to photark ?
        • Also, when it's on it's own module, feel free to committ, it's better to review from svn
        Show
        Luciano Resende added a comment - Couple comments Javadocs would help understand some of the operations/parameters These should be stateless services, thus oAuth credentials should not be passed in a "initialization" operation, but somewhat embedded per operation How about making this it's own module, instead of adding it to photark ? Also, when it's on it's own module, feel free to committ, it's better to review from svn
        Hide
        Subash Chaturanga added a comment -

        Yes I was also thinking on creating a separate module for this. Hope thats what you also meant.

        Actually the implementation of this interface going to be some what a wrapper of org.face4j.DefaultFaceClient class. But as we do have the method DefaultFaceClient.setFacebookOauth2(fbUserID, Oauth2) , it work based on the current credential. So it wont be an issue I guess . And also as we do train(), detect() saveTags(), getTags() based on "uids" one DefaultFaceClient instance will be fine.(but i will find out the possibility of this by looking in to its code or contacting the author of this client) .

        Show
        Subash Chaturanga added a comment - Yes I was also thinking on creating a separate module for this. Hope thats what you also meant. Actually the implementation of this interface going to be some what a wrapper of org.face4j.DefaultFaceClient class. But as we do have the method DefaultFaceClient.setFacebookOauth2(fbUserID, Oauth2) , it work based on the current credential. So it wont be an issue I guess . And also as we do train(), detect() saveTags(), getTags() based on "uids" one DefaultFaceClient instance will be fine.(but i will find out the possibility of this by looking in to its code or contacting the author of this client) .
        Hide
        Luciano Resende added a comment -

        My issue is, even tough we have a fine-grained statefull api, we can still make a stateless service

        Show
        Luciano Resende added a comment - My issue is, even tough we have a fine-grained statefull api, we can still make a stateless service
        Hide
        Subash Chaturanga added a comment -

        +1 for that. You are quite right. The service should be stateless. My only concern is that the FaceRecognitionService impl will suppose to function on top of org.face4j.DefaultFaceClient class where, to obtain one instance of it, we have to provide a face.com registered an api_key and an api_secret. So for one account they offer very limited no of keys. So instance creation per operation may not be possible. But as you said, we can make the service impl such that its Stateless. These days I am doing a small research of the possibility of doing that with one instance. I think that is what you also meant. Please correct me if I am wrong. And will commit after adding a separate module for face recognition.

        Show
        Subash Chaturanga added a comment - +1 for that. You are quite right. The service should be stateless. My only concern is that the FaceRecognitionService impl will suppose to function on top of org.face4j.DefaultFaceClient class where, to obtain one instance of it, we have to provide a face.com registered an api_key and an api_secret. So for one account they offer very limited no of keys. So instance creation per operation may not be possible. But as you said, we can make the service impl such that its Stateless. These days I am doing a small research of the possibility of doing that with one instance. I think that is what you also meant. Please correct me if I am wrong. And will commit after adding a separate module for face recognition.
        Hide
        Subash Chaturanga added a comment -

        This patch contains the addition of photark-face-recognition module for photark trunk.

        Show
        Subash Chaturanga added a comment - This patch contains the addition of photark-face-recognition module for photark trunk.
        Hide
        Subash Chaturanga added a comment -

        Hi , This patch has what I have tried to make a tuscany SCA component and how it can be accessed from the gallery. But I am getting a class not found error for the interface I defined. If you examine(or apply) this patch you can understand changes I have done to web.composite.xml and sca-contribution.xml and constant.js specially. I have done created SCA components successfully before and here I have done the pretty same. But I could not figure out the exact problem. If anyone identified the issue, please update this JIRA. I am still looking what went wrong

        Show
        Subash Chaturanga added a comment - Hi , This patch has what I have tried to make a tuscany SCA component and how it can be accessed from the gallery. But I am getting a class not found error for the interface I defined. If you examine(or apply) this patch you can understand changes I have done to web.composite.xml and sca-contribution.xml and constant.js specially. I have done created SCA components successfully before and here I have done the pretty same. But I could not figure out the exact problem. If anyone identified the issue, please update this JIRA. I am still looking what went wrong
        Hide
        Subash Chaturanga added a comment -

        This is the UI panel which gives users to train their friend's images. Here I have created a seperate html called face.html(Screenshot-2.png) which is directed from a link through gallery(Screenshot-1.png) .

        Show
        Subash Chaturanga added a comment - This is the UI panel which gives users to train their friend's images. Here I have created a seperate html called face.html(Screenshot-2.png) which is directed from a link through gallery(Screenshot-1.png) .
        Hide
        Subash Chaturanga added a comment -

        Here is the patch which have some unexpected issues with the face services

        Show
        Subash Chaturanga added a comment - Here is the patch which have some unexpected issues with the face services

          People

          • Assignee:
            Unassigned
            Reporter:
            Subash Chaturanga
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development