cooolallen / Face-recognition-with-User-interface

Master Piece
6 stars 3 forks source link

ADD AND EDIT STILL HAVE SOME PROBLEMS TO DEAL WITH #1

Open cooolallen opened 7 years ago

cooolallen commented 7 years ago

Johnson, 1. Cause the embs seems be updated in each frame, users cannot add new identity across several frames. In my opinion, if FR can add a function about giving features when user click a bunding box and Dialog send back unknown_name, new_name and feature at the same time, the process of add new identity will be stablized.

2. We want to add a new function about edit user identity. The UI can send a old_name and new_name to FR. Can you do that? Thx.

zswang666 commented 7 years ago
  1. I suppose that you should only add/remove new identity only when you are able to "see those bounding boxes" in the displaying frame, i.e. at the current inference, and I did save all embeddings including the unknowns' at the current inference (may not be exactly the current frame)

  2. Do you mean by renaming an already existing identity? if so, I haven't implemented that yet, but it will not take hard works and I can do that later on.

Johnson

cooolallen commented 7 years ago
  1. When user clicked on the bounding box, the camera won't stop. So frames keep going and going. And when user complete his new name, the embs will disappear like you say so. I think the best way to deal with these problem just like I mention above : when user click the bounding box, I can send a unknown name to FR and get his embs. After that, I can pass these informations back to the FR through add_Identity()

  2. Yeah, thats what I mean. Thx for updating your work.

Allen Wu

zswang666 commented 7 years ago
  1. Also, if you want to save embeddings and corresponding names across several inferences, you may save those data externally, but not in FaceRecognizer object, since I think that is a better coding scheme. BTW, in this case, I need to add extra "add_identity" function directly receiving arbitrary embedding and corresponding name, not restricted to those at the current inference.

Johnson

cooolallen commented 7 years ago
  1. Agree. I think in the future we will have :
    1. feature = get_features(unknown_name)
    2. add_identity(new_name, feature)
    3. edit_database(old_name, new_name)

don't forget to test your environment to ensure PyQt is okay on your laptop

Thx Allen Wu

thanhphongpham commented 6 years ago

Hi Cooolallen I have this error, while run it. You help me. Use the retry module or similar alternatives. Traceback (most recent call last): File "Top.py", line 186, in FR.build() File "D:\test\CacTacGia\cooolallen\cooolallen\FaceRecognizer.py", line 164, in build logits, _ = network.inference(self._images_placeholder, phase_train=False) TypeError: inference() missing 1 required positional argument: 'keep_probability'