[digikam] [Bug 320666] New: Fuzzy search for any image

classic Classic list List threaded Threaded
60 messages Options
123
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #34 from Mario Frank <[hidden email]> ---
(In reply to Simon from comment #33)
> The percentages logged to stdout are meaningful (i.e. not binary).

Okay, then it is no HAAR search problem and must be a problem in the
listFromHaarSearch function.

Are the images with similarity 100 identical to the image searched for?

Do you use a SQLite DB or MySQL?

Can you test the following:
in libs/database/item/imagelister.cpp, function listFromHaarSearch,
after

record.currentSimilarity = (*it).toDouble();

insert:

qCDebug(DIGIKAM_DATABASE_LOG) << "Similarity of image " << record.imageID << "
in imageLister: " << record.currentSimilarity;

When you compile this and search again, is the current similarity 0.0?

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

Re: [digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

Simon Frei
I use internal mysql and the images are not (exclusively) identical ones
(range 30-100% gives all kinds of "similar" pictures as is to be expected).

I added your snippet and it produces 0/1 outputs like this:
    digikam.database: Similarity of image  77839 in imageLister:  0
    digikam.database: Similarity of image  77845 in imageLister:  1

Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #35 from Simon <[hidden email]> ---
I use internal mysql and the images are not (exclusively) identical ones
(range 30-100% gives all kinds of "similar" pictures as is to be expected).

I added your snippet and it produces 0/1 outputs like this:
    digikam.database: Similarity of image  77839 in imageLister:  0
    digikam.database: Similarity of image  77845 in imageLister:  1

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #36 from Mario Frank <[hidden email]> ---
(In reply to Simon from comment #35)
> I use internal mysql and the images are not (exclusively) identical ones
> (range 30-100% gives all kinds of "similar" pictures as is to be expected).
>
> I added your snippet and it produces 0/1 outputs like this:
>     digikam.database: Similarity of image  77839 in imageLister:  0
>     digikam.database: Similarity of image  77845 in imageLister:  1

Okay, I have found the evil thing. On SQLite, my solution works. I return the
similarity as constant in the select statement. But in MySQL the Query I
created is not stable. It seems that the double was cast to integer in the
database. Thus, the results are wrong.

Can you replace the imagelister.cpp with my new one? The new solution still
works under SQLite.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #37 from Mario Frank <[hidden email]> ---
Created attachment 103234
  --> https://bugs.kde.org/attachment.cgi?id=103234&action=edit
imagelister.cpp

Here is the new file

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

Re: [digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

Simon Frei
Works perfectly fine now!
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #38 from Simon <[hidden email]> ---
Works perfectly fine now!

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #39 from Mario Frank <[hidden email]> ---
(In reply to Simon from comment #38)
> Works perfectly fine now!

Great,

that was good teamwork. I will upload our current patch which will include your
changes. Just for archiving. If nobody gives his veto, I would merge the patch
with master branch as our joint work today.

Can https://bugs.kde.org/show_bug.cgi?id=374191 be closed? Or is there
something left?

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #40 from Mario Frank <[hidden email]> ---
Created attachment 103235
  --> https://bugs.kde.org/attachment.cgi?id=103235&action=edit
Patch working both for SQLite and MySQL

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #41 from Simon <[hidden email]> ---
Indeed :D
Yes, that bug can be closed with committing the patch there.

One minor thing: git apply complains that your new patch introduces
trailing whitespaces. I can't seem to find it though after applying, so
maybe git removed it automatically.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #42 from Mario Frank <[hidden email]> ---
(In reply to Simon from comment #41)
> Indeed :D
> Yes, that bug can be closed with committing the patch there.
>
> One minor thing: git apply complains that your new patch introduces
> trailing whitespaces. I can't seem to find it though after applying, so
> maybe git removed it automatically.

Okay. Yes, git cleans that up. But I will clean this up myself before
committing.
But first I'll wait for some of the other devs to acknowledge the commit.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

Re: [digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

Simon Frei
In case you are bored while waiting :P
Would you care to look at https://bugs.kde.org/show_bug.cgi?id=372159
and comment on https://bugs.kde.org/show_bug.cgi?id=374470 ?

Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #43 from Simon <[hidden email]> ---
In case you are bored while waiting :P
Would you care to look at https://bugs.kde.org/show_bug.cgi?id=372159
and comment on https://bugs.kde.org/show_bug.cgi?id=374470 ?

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #44 from Mario Frank <[hidden email]> ---
(In reply to Simon from comment #43)
> In case you are bored while waiting :P
> Would you care to look at https://bugs.kde.org/show_bug.cgi?id=372159
> and comment on https://bugs.kde.org/show_bug.cgi?id=374470 ?

I'm currently on my way home but I will try to take a look today.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #45 from [hidden email] ---
No objection from me to patch git/master before 5.4.0 release planed Sunday
evening. We have only one string added which is already in catalog.

Note : when you use pointer, make it const if possible (read only). It's more
safe.

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #46 from Mario Frank <[hidden email]> ---
(In reply to caulier.gilles from comment #45)
> No objection from me to patch git/master before 5.4.0 release planed Sunday
> evening. We have only one string added which is already in catalog.
>
> Note : when you use pointer, make it const if possible (read only). It's
> more safe.
>
> Gilles Caulier

Okay, i made the pointers in slotSetSelectedAlbums const. I think you ment
them.
One question. In Duplicates search, the duplicates albums contain the original
image. I am not sure if this should be this way since it is no duplicate
semantically. Should I exclude the original images from the duplicates albums?

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #47 from Mario Frank <[hidden email]> ---
(In reply to Mario Frank from comment #46)

> (In reply to caulier.gilles from comment #45)
> > No objection from me to patch git/master before 5.4.0 release planed Sunday
> > evening. We have only one string added which is already in catalog.
> >
> > Note : when you use pointer, make it const if possible (read only). It's
> > more safe.
> >
> > Gilles Caulier
>
> Okay, i made the pointers in slotSetSelectedAlbums const. I think you ment
> them.
> One question. In Duplicates search, the duplicates albums contain the
> original image. I am not sure if this should be this way since it is no
> duplicate semantically. Should I exclude the original images from the
> duplicates albums?

Ignore the latter for now. We can discuss this after the release.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #48 from Mario Frank <[hidden email]> ---
Git commit 429fa5fd8e7f53b74c82eb19dffb2e6cf4b4325c by Mario Frank.
Committed on 06/01/2017 at 18:36.
Pushed by mfrank into branch 'master'.

This patch is joint work with Simon. The patch introduces the similarity of
images to a specific image
as column in table view. Also, it fixes the sorting by similarity in sketch
search.
Moreover, the dysfunctional context menu item "Find duplicates" in people
sidebar now leads to the selection
of the people tags as regular tabs in duplicates search. Finally, selecting
multiple regular/people tags for
duplicates search is possible. Not to mention some refactoring to make function
names more fitting.
Related: bug 374191, bug 302923
FIXED-IN: 5.4.0

M  +1    -1    NEWS
M  +21   -30   app/views/digikamview.cpp
M  +5    -4    app/views/digikamview.h
M  +17   -15   app/views/leftsidebarwidgets.cpp
M  +6    -8    app/views/leftsidebarwidgets.h
M  +34   -2    app/views/tableview/tableview_column_item.cpp
M  +2    -1    app/views/tableview/tableview_column_item.h
M  +1    -1    libs/album/albumselectiontreeview.cpp
M  +1    -1    libs/album/albumselectiontreeview.h
M  +5    -0    libs/album/albumtreeview.cpp
M  +2    -1    libs/album/albumtreeview.h
M  +10   -1    libs/database/dbjobs/dbjob.cpp
M  +45   -30   libs/database/haar/haariface.cpp
M  +5    -5    libs/database/haar/haariface.h
M  +14   -0    libs/database/item/imageinfo.cpp
M  +5    -0    libs/database/item/imageinfo.h
M  +2    -0    libs/database/item/imageinfodata.h
M  +106  -6    libs/database/item/imagelister.cpp
M  +8    -1    libs/database/item/imagelister.h
M  +10   -6    libs/database/item/imagelisterrecord.h
M  +0    -6    libs/models/imagefiltermodel.cpp
M  +0    -1    libs/models/imagefiltermodel.h
M  +5    -10   libs/models/imagesortsettings.cpp
M  +0    -2    libs/models/imagesortsettings.h
M  +0    -2    libs/settings/applicationsettings.cpp
M  +0    -3    libs/settings/applicationsettings.h
M  +0    -10   libs/settings/applicationsettings_miscs.cpp
M  +0    -4    libs/settings/applicationsettings_p.cpp
M  +0    -2    libs/settings/applicationsettings_p.h
M  +3    -1    libs/tags/tagfolderview.cpp
M  +1    -1    libs/tags/tagfolderview.h
M  +3    -3    libs/tags/tagsmanager/tagsmanager.cpp
M  +16   -16   utilities/fuzzysearch/findduplicatesview.cpp
M  +5    -2    utilities/fuzzysearch/findduplicatesview.h
M  +22   -20   utilities/fuzzysearch/fuzzysearchview.cpp
M  +5    -4    utilities/fuzzysearch/fuzzysearchview.h

https://commits.kde.org/digikam/429fa5fd8e7f53b74c82eb19dffb2e6cf4b4325c

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #49 from Niels <[hidden email]> ---
Great stuff guys! Thank you!

I can't DnD from a browser, but using a staging album as suggested is doable.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 320666] Add search of similar images outside digiKam collections [patch]

bugzilla_noreply
In reply to this post by Niels
https://bugs.kde.org/show_bug.cgi?id=320666

--- Comment #50 from Mario Frank <[hidden email]> ---
(In reply to Niels from comment #49)
> Great stuff guys! Thank you!
>
> I can't DnD from a browser, but using a staging album as suggested is doable.

Hey Niels,

great to hear you like it.
I restricted the DnD on purpose.
Allowing DnD for remote files may be a security risk. Thus, only local files
are usable.

Best,
Mario

--
You are receiving this mail because:
You are the assignee for the bug.
123