Update photos to use descriptorXId
Signed-off-by: James Ketrenos <james_git@ketrenos.com>
This commit is contained in:
parent
997df5d8b6
commit
92dacb74c1
@ -433,8 +433,8 @@ const deletePhoto = function(photo) {
|
|||||||
console.log(`Deleting faces: ${JSON.stringify(ids, null, 2)}`);
|
console.log(`Deleting faces: ${JSON.stringify(ids, null, 2)}`);
|
||||||
return photoDB.sequelize.query(
|
return photoDB.sequelize.query(
|
||||||
"DELETE FROM facedistances " +
|
"DELETE FROM facedistances " +
|
||||||
"WHERE face1Id IN (:ids) " +
|
"WHERE descriptor1Id IN (:ids) " +
|
||||||
"OR face2Id IN (:ids)", {
|
"OR descriptor2Id IN (:ids)", {
|
||||||
replacements: { ids },
|
replacements: { ids },
|
||||||
transaction: transaction
|
transaction: transaction
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
@ -553,7 +553,7 @@ router.delete("/:id?", function(req, res/*, next*/) {
|
|||||||
}).then((faces) => {
|
}).then((faces) => {
|
||||||
const faceIds = faces.map(face => face.id);
|
const faceIds = faces.map(face => face.id);
|
||||||
return photoDB.sequelize.query(
|
return photoDB.sequelize.query(
|
||||||
"DELETE FROM facedistances WHERE face1Id IN (:ids) OR face2Id IN (:ids)", {
|
"DELETE FROM facedistances WHERE descriptor1Id IN (:ids) OR descriptor2Id IN (:ids)", {
|
||||||
replacements: {
|
replacements: {
|
||||||
ids: faceIds
|
ids: faceIds
|
||||||
}
|
}
|
||||||
@ -911,12 +911,12 @@ function getFacesForPhoto(id) {
|
|||||||
}).then((faces) => {
|
}).then((faces) => {
|
||||||
/* For each face in the photo, get the related faces */
|
/* For each face in the photo, get the related faces */
|
||||||
return photoDB.sequelize.query(
|
return photoDB.sequelize.query(
|
||||||
"SELECT relatedFaces.photoId AS photoId,fd.face1Id,fd.face2Id,fd.distance,relatedFaces.faceConfidence " +
|
"SELECT relatedFaces.photoId AS photoId,fd.descriptor1Id,fd.descriptor2Id,fd.distance,relatedFaces.faceConfidence " +
|
||||||
"FROM (SELECT id,photoId,faceConfidence FROM faces WHERE faces.faceConfidence>=0.9 AND faces.id IN (:ids)) AS faces " +
|
"FROM (SELECT id,photoId,faceConfidence FROM faces WHERE faces.faceConfidence>=0.9 AND faces.id IN (:ids)) AS faces " +
|
||||||
"INNER JOIN faces AS relatedFaces ON relatedFaces.faceConfidence>=0.9 AND relatedFaces.id IN (fd.face1Id,fd.face2Id) " +
|
"INNER JOIN faces AS relatedFaces ON relatedFaces.faceConfidence>=0.9 AND relatedFaces.id IN (fd.descriptor1Id,fd.descriptor2Id) " +
|
||||||
"INNER JOIN facedistances AS fd ON fd.distance<=0.5 " +
|
"INNER JOIN facedistances AS fd ON fd.distance<=0.5 " +
|
||||||
" AND (fd.face1Id=faces.id OR fd.face2Id=faces.id) " +
|
" AND (fd.descriptor1Id=faces.id OR fd.descriptor2Id=faces.id) " +
|
||||||
"WHERE (faces.id=fd.face1Id OR faces.id=fd.face2Id) " +
|
"WHERE (faces.id=fd.descriptor1Id OR faces.id=fd.descriptor2Id) " +
|
||||||
"ORDER BY fd.distance ASC", {
|
"ORDER BY fd.distance ASC", {
|
||||||
replacements: {
|
replacements: {
|
||||||
ids: faces.map(face => face.id),
|
ids: faces.map(face => face.id),
|
||||||
@ -926,13 +926,13 @@ function getFacesForPhoto(id) {
|
|||||||
}).then((relatedFaces) => {
|
}).then((relatedFaces) => {
|
||||||
faces.forEach((face) => {
|
faces.forEach((face) => {
|
||||||
face.relatedFaces = relatedFaces.filter((related) => {
|
face.relatedFaces = relatedFaces.filter((related) => {
|
||||||
return (related.photoId != id && (related.face1Id == face.id || related.face2Id == face.id));
|
return (related.photoId != id && (related.descriptor1Id == face.id || related.descriptor2Id == face.id));
|
||||||
}).map((related) => {
|
}).map((related) => {
|
||||||
return {
|
return {
|
||||||
distance: related.distance,
|
distance: related.distance,
|
||||||
faceConfidence: related.faceConfidence,
|
faceConfidence: related.faceConfidence,
|
||||||
photoId: related.photoId,
|
photoId: related.photoId,
|
||||||
faceId: related.face1Id != face.id ? related.face1Id : related.face2Id
|
faceId: related.descriptor1Id != face.id ? related.descriptor1Id : related.descriptor2Id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user