我应该使用哪种数据结构来存储眼睛视网膜?

时间:2016-08-09 17:55:28

标签: data-structures functional-programming artificial-intelligence image-recognition

我需要开发和申请打开/关闭我办公室的正门。该应用程序将识别人眼视网膜,然后如果有效则打开门。视网膜的图像将被存储在数据库中,在数据库中它与即将到来的图像匹配,并且存储在db中的视网膜图像。另外,当我想从数据库中删除特定人的视网膜数据时,应将其删除。 根据我的标准,内存使用量应该是更少且非常快的时间响应

我应该在这种情况下使用哪种数据结构?

1 个答案:

答案 0 :(得分:1)

<强>存储

假设您可以使用您的技术获取视网膜图像:

  1. 获取视网膜图像的字节数组。
  2. 计算该字节数组的哈希值。
  3. 将此哈希值存储在您的数据库中。
  4. <强>身份验证

    1. 获取寻找身份验证的人的视网膜图像。
    2. 计算他/她的视网膜图像的哈希值。
    3. 如果存在哈希值,请搜索数据库。
    4. 捕获

      我不确定如何生成视网膜图像。如果图像与最初用于计算哈希值的图像相差1个字节,则两个哈希值绝对不会匹配,并且无法找到两个图像的相对相似度。

      正如@DonReba在下面的评论中提到的,有专门为此目的生成的哈希值。因此,可以通过使用正确的散列来克服捕获。

      某些数字

      1. 从数据库中删除图像的散列是O(1)
      2. 如果您对哈希值进行排序,则搜索为O(n)或O(Log n)
      3. 内存使用量是每人O(1)(取决于使用的散列算法 - 可以是128字节,256字节等)。