Skip to content

Commit 8249b8f

Browse files
committed
Remove Multiple from default imports
1 parent 55a36b6 commit 8249b8f

File tree

8 files changed

+22
-19
lines changed

8 files changed

+22
-19
lines changed

README.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ import numpy as np
6060
from PIL import Image
6161
from abraia import detect
6262

63-
6463
model_uri = f"https://api.abraia.me/files/multiple/models/yolov8n.onnx"
6564

6665
model = detect.load_model(model_uri)
@@ -83,23 +82,19 @@ import numpy as np
8382
from abraia.draw import load_image, save_image, render_results
8483
from abraia.faces import Recognition
8584

86-
8785
img = load_image('images/rolling-stones.jpg')
8886
out = img.copy()
8987

9088
recognition = Recognition()
9189
results = recognition.represent_faces(img)
9290

91+
index = []
9392
for src in ['mick-jagger.jpg', 'keith-richards.jpg', 'ronnie-wood.jpg', 'charlie-watts.jpg']:
9493
img = load_image(f"images/{src}")
9594
rslt = recognition.represent_faces(img)[0]
96-
sims = [recognition.compute_similarity(rslt['embeddings'], result['embeddings']) for result in results]
97-
idx = np.argmax(sims)
98-
if sims[idx] > 0.45:
99-
results[idx]['label'] = os.path.splitext(src)[0]
100-
results[idx]['confidence'] = sims[idx]
101-
print(src, sims[idx], sims)
95+
index.append({'name': os.path.splitext(src)[0], 'embeddings': rslt['embeddings']})
10296

97+
result = recognition.identify_faces(results, index)
10398
render_results(out, results)
10499
save_image('images/rolling-stones-identified.jpg', out)
105100
```
@@ -255,7 +250,7 @@ The Multiple extension has being developed by [ABRAIA](https://abraia.me/about)
255250
For instance, you can directly load and save ENVI files, and their metadata.
256251

257252
```python
258-
from abraia import Multiple
253+
from abraia.multiple import Multiple
259254

260255
multiple = Multiple()
261256

abraia/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@
44

55
from . import config
66
from .client import Abraia, APIError
7-
from .multiple import Multiple
87

9-
__all__ = ['config', 'Abraia', 'APIError', 'Multiple']
8+
__all__ = ['config', 'Abraia', 'APIError']

abraia/faces/__init__.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66

77
def euclidean_distance(feat1, feat2):
8-
return np.sqrt(np.square(feat1 - feat2).sum())
8+
return float(np.linalg.norm(feat1 - feat2))
99

1010

1111
def cosine_similarity(feat1, feat2):
12-
return np.dot(feat1, feat2) / (np.linalg.norm(feat1) * np.linalg.norm(feat2))
12+
return float(np.dot(feat1, feat2) / (np.linalg.norm(feat1) * np.linalg.norm(feat2)))
1313

1414

1515
class Recognition:
@@ -31,8 +31,14 @@ def represent_faces(self, img, results=None):
3131
result['embeddings'] = self.arcface.calculate_embeddings(face)
3232
return results
3333

34-
def compute_similarity(self, feat1, feat2):
35-
return float(cosine_similarity(feat1, feat2))
34+
def identify_faces(self, results, index, threshold=0.45):
35+
for result in results:
36+
sims = [cosine_similarity(result['embeddings'], ind['embeddings']) for ind in index]
37+
idx = np.argmax(sims)
38+
if sims[idx] > threshold:
39+
result['confidence'] = sims[idx]
40+
result['label'] = index[idx]['name']
41+
return results
3642

3743

3844
__all__ = [Recognition]

abraia/multiple.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import os
21
import tifffile
32
import numpy as np
43
from PIL import Image

images/screenshot.jpg

3.29 KB
Loading

notebooks/hyperspectral-analysis.ipynb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
"import numpy as np\n",
4242
"import pandas as pd\n",
4343
"import matplotlib.pyplot as plt\n",
44-
"from abraia import Multiple, hsi\n",
44+
"\n",
45+
"from abraia.multiple import Multiple\n",
46+
"from abraia import hsi\n",
4547
"\n",
4648
"plt.rcParams['figure.figsize'] = [12, 6]\n",
4749
"plt.rcParams['figure.dpi'] = 100\n",

notebooks/hyperspectral-classification.ipynb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
"import numpy as np\n",
4646
"import pandas as pd\n",
4747
"import matplotlib.pyplot as plt\n",
48-
"from abraia import Multiple, hsi\n",
48+
"\n",
49+
"from abraia.multiple import Multiple\n",
50+
"from abraia import hsi\n",
4951
"\n",
5052
"plt.rcParams['figure.figsize'] = [12, 6]\n",
5153
"plt.rcParams['figure.dpi'] = 100\n",

tests/test_multiple.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import numpy as np
22

3-
from abraia import Multiple
3+
from abraia.multiple import Multiple
44

55
multiple = Multiple()
66

0 commit comments

Comments
 (0)