|
Hello!
I have scanned quite a few images already and there is one thing I'm not sure whether it is a bug. If I select a tag within "People", e.g. People > Person 1 it shows me all the phtos associated to that person. Having that view I start the scanning+merge for another folder. Faces found are now added to the People > Person 1 view instead of unknown or the proper tag, i.e. People > Person 2. In fact the Person 2 does not show any new pictures found althought there are quite a few so it should have found at least one that matches Person 2. So to me it seems that found faces are always added to the tag that one currently views while scanning. Another thing I do not understand is of what purpose it is to have some checkboxes in the "pick albums for scanning" in a brighter colour than others. Also it seems that the list scrolls automatically if one moves the mouse cursor to its bottom but not when moving it to its top. Further, after I have scanned a folder and want to pick another one to scan I have to uncheck the former. there is neither a "clear line" button in the drop-down field nor does digikam uncheck the folders it finished scanning. whereby the latter might be due to the bug that it hangs on one of the last images when scanning and thus never actually finishes. Sven _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
Some more findings:
Lets say one confirmed Person 1 for a picture where actually Person 2 is shown. IMO there is no obvious (easy enough) way to correct that mistake. If one views People > Person 1 and removes the Person 1 tag from an image the image is not removed from the view. If one opens the picture one sees that it still has the face marked as Person 1. Clicking on the "Person 1" tag does not give any possibility to change or remove that tag. "Clear all faces" is not really an option since one would have to rescan the picture and in case there is more than one face on it one would remove all others as well. So it seems that in that case tags and faces are out of sync. For pictures in the "unknown" tag if one clicks on "Who is this" there is no way to select an already existing tag but one has to type the name again. If one starts typing the already existing tag suddenly appears in a drop-down menu. Moving the mouse on the drop-down menu and out of it closes the drop- down menu which should not happen. If one wants to add/confirm etc. tags while digikam still scans the view is refreshed constantly and makes working on the pictures impossible. I think this is related to the bug that restarts videos when one plays them from within a folder that new pictures are added to. I'll add to this thread id I find new things. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by S. Burmeister
> If I select a tag within "People", e.g. People > Person 1 it shows me all > the phtos associated to that person. Having that view I start the > scanning+merge for another folder. Faces found are now added to the People > > Person 1 view instead of unknown or the proper tag, i.e. People > Person > 2. In fact the Person 2 does not show any new pictures found althought > there are quite a few so it should have found at least one that matches > Person 2. > > So to me it seems that found faces are always added to the tag that one > currently views while scanning. Does this assignment remain after switching the view or closing digikam, so it's really the wrong tag assigned? Is this reproducible also for other tags, so it is not caused by a broken face recognition which assigns Person 1 to almost anything? > > Another thing I do not understand is of what purpose it is to have some > checkboxes in the "pick albums for scanning" in a brighter colour than > others. I can confirm this, it's probably a subtle gradient applied by the oxygen style. Going towards the bottom, the color becomes darker. > Also it seems that the list scrolls automatically if one moves the > mouse cursor to its bottom but not when moving it to its top. Yes. If you hover an item, you "select" it. Qt always shows the complete currently selected item. In the top, there is never a partially visible item, it's always scrolled to an exact item border. At the bottom, there is often a partially visible item, which becomes selected on mouse over, is shown fully, and so on. If this is undesirable, we can disable autoscrolling. > > Further, after I have scanned a folder and want to pick another one to scan > I have to uncheck the former. there is neither a "clear line" button in > the drop-down field nor does digikam uncheck the folders it finished > scanning. No, the last used folder are stored in config. We'll need a clear button. > whereby the latter might be due to the bug that it hangs on one > of the last images when scanning and thus never actually finishes. I'll commit some debugging statement to SVN to finally fix this annoying bug (which I cannot reproduce...) > Lets say one confirmed Person 1 for a picture where actually Person 2 is > shown. IMO there is no obvious (easy enough) way to correct that mistake. I'm unsure atm if training can be undone. Need to ask Alex. > > If one views People > Person 1 and removes the Person 1 tag from an image > the image is not removed from the view. If one opens the picture one sees > that it still has the face marked as Person 1. Clicking on the "Person 1" > tag does not give any possibility to change or remove that tag. In preview, you'll need to click on the label with the name to open that one for editing again. In the icon view, there's still the Reject overlay to remove, though you're right, there should be an overlay for editing. And when removing a tag, all faces for this tag need to be removed as well, I will fix that. > For pictures in the "unknown" tag if one clicks on "Who is this" there is > no way to select an already existing tag but one has to type the name > again. You'd prefer the combo box like in the preview mode? Note that the last typed text remains, which can be both convenient or annoying. > > If one starts typing the already existing tag suddenly appears in a > drop-down menu. Moving the mouse on the drop-down menu and out of it > closes the drop- down menu which should not happen. It happens when you touch a different picture with the mouse. That's the idea of a mouse-hover overlay... perhaps we need some sort of locking for the cases when the overlay opens a menu. > If one wants to add/confirm etc. tags while digikam still scans the view is > refreshed constantly and makes working on the pictures impossible. I think > this is related to the bug that restarts videos when one plays them from > within a folder that new pictures are added to. It's a similar problem, but probably not the same solution. But it has the same solution as the mouse-over-drop-down-menu problem above. When images are inserted before the current picture, its position will change. We can think of a solution with a "persistent editor" if the line edit currently has the focus, but it's not too easy to implement (currently, the overlays take the easy way of hiding at any indication of change.) _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
> > Further, after I have scanned a folder and want to pick another one to > > scan I have to uncheck the former. there is neither a "clear line" > > button in the drop-down field nor does digikam uncheck the folders it > > finished scanning. > > No, the last used folder are stored in config. We'll need a clear button. Clear button is added > > > whereby the latter might be due to the bug that it hangs on one > > of the last images when scanning and thus never actually finishes. > > I'll commit some debugging statement to SVN to finally fix this annoying > bug (which I cannot reproduce...) Debug statements contain "Check for finish: " _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
Am Donnerstag, 4. November 2010, 19:34:33 schrieb Marcel Wiesweg:
> > > whereby the latter might be due to the bug that it hangs on one > > > of the last images when scanning and thus never actually finishes. > > > > I'll commit some debugging statement to SVN to finally fix this annoying > > bug (which I cannot reproduce...) > > Debug statements contain "Check for finish: " Should I see this when I run digikam from the konsole? In that case the last output before it does not continue/finish the face detection is just the normal output it shows for every picture it processes: Error: Upper boundary of data for directory Panasonic, entry 0x0021 is out of bounds: Offset = 0x000005e0, size = 8200, exceeds buffer size by 30 Bytes; adjusting the size Error: Offset of directory Panasonic, entry 0x0025 is out of bounds: Offset = 0x000025e8; truncating the entry Error: Offset of directory Panasonic, entry 0x0033 is out of bounds: Offset = 0x000025f8; truncating the entry Error: Offset of directory Panasonic, entry 0x004d is out of bounds: Offset = 0x0000260c; truncating the entry Error: Offset of directory Panasonic, entry 0x004e is out of bounds: Offset = 0x0000261c; truncating the entry Error: Offset of directory Panasonic, entry 0x8010 is out of bounds: Offset = 0x00002646; truncating the entry Sven _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Marcel Wiesweg
Am Donnerstag, 4. November 2010, 15:31:04 schrieb Marcel Wiesweg:
> > If I select a tag within "People", e.g. People > Person 1 it shows me all > > the phtos associated to that person. Having that view I start the > > scanning+merge for another folder. Faces found are now added to the > > People > > > > > Person 1 view instead of unknown or the proper tag, i.e. People > > > > Person > > > > 2. In fact the Person 2 does not show any new pictures found althought > > there are quite a few so it should have found at least one that matches > > Person 2. > > > > So to me it seems that found faces are always added to the tag that one > > currently views while scanning. > > Does this assignment remain after switching the view or closing digikam, so > it's really the wrong tag assigned? Yes > Is this reproducible also for other tags, so it is not caused by a broken > face recognition which assigns Person 1 to almost anything? Indeed they are always assigned to Person 1. And this happens everytime I "scan and merge" the same folder although I mark those pictures as "not this person", i.e. click on the "-" in the mouse-over GUI. I think it really is the first tag I added. And those faces confused are already quite well trained, i.e. > 50 pitures confirmed for each. > > Another thing I do not understand is of what purpose it is to have some > > checkboxes in the "pick albums for scanning" in a brighter colour than > > others. > > I can confirm this, it's probably a subtle gradient applied by the oxygen > style. Going towards the bottom, the color becomes darker. Here the first checkbox(es) are dark as well. > > Also it seems that the list scrolls automatically if one moves the > > mouse cursor to its bottom but not when moving it to its top. > > Yes. If you hover an item, you "select" it. Qt always shows the complete > currently selected item. In the top, there is never a partially visible > item, it's always scrolled to an exact item border. At the bottom, there > is often a partially visible item, which becomes selected on mouse over, > is shown fully, and so on. > If this is undesirable, we can disable autoscrolling. As far as I can judge there is no partly visible item and it happens always not just sometimes, i.e. for some items. Unless one scrolls to the bottom of the list it is not possible to select the last item in the list because as soon as one touches it, the scrolling starts and not just for that possibly partly shown item but until the list ends. > > Lets say one confirmed Person 1 for a picture where actually Person 2 is > > shown. IMO there is no obvious (easy enough) way to correct that mistake. > > I'm unsure atm if training can be undone. Need to ask Alex. > > > If one views People > Person 1 and removes the Person 1 tag from an image > > the image is not removed from the view. If one opens the picture one sees > > that it still has the face marked as Person 1. Clicking on the "Person 1" > > tag does not give any possibility to change or remove that tag. > > In preview, you'll need to click on the label with the name to open that > one for editing again. Nothing happens if I click on the label in the preview, neither right nor left-click does anything. > In the icon view, there's still the Reject overlay > to remove, though you're right, there should be an overlay for editing. Only to remove the whole picture i.e. train the facerecognition that this is not a face at all. That seems wrong. The picture whose Person 1 tag I removed and which still shows up in the Person 1 tag view does not show any mouse-over GUI anymore. > > For pictures in the "unknown" tag if one clicks on "Who is this" there is > > no way to select an already existing tag but one has to type the name > > again. > > You'd prefer the combo box like in the preview mode? In preview mode, i.e. clicking on a picture when viewing all pictures with People > Person 1 tag, clicking on "add face" does not do anything. So I cannot answer this yet. > Note that the last typed text remains, which can be both convenient or > annoying. Yes, I thought about this too. It is handy if one uses it to assign the same name to all pictures where it fits, then changes the name and does so again. Yet it feels like a feature which is not meant to work that way but was introduced by coincidence. I think a bigger list of alread available tags would be most convenient, including some picture of those tags, i.e. something like: Possible matches: picture of a person 1 | tag-name picture of a person 2 | tag-name picture of a person 3 | tag-name One could actually even just display the photos as possible matches since this whole thing is about face recognition and not name recognition. :) Possible matches: picture of tag person 1 | picture of tag person 2. Of course for this digikam would have to be able to at least tell whether some faces look similar, i.e. group as mentioned above. This gets me to another point. Would it be possible to not only have unknown pictures but groups of unknown, i.e. digikam should be able to guess which faces might look the same although it does not know their name. And also, what happens if a user scans the whole collection and ends up with thousands of pictures in unknown? He would have to assign tags to each of them and digikam would not try automatically to guess faces again after it got some training. So the user would have to know about the "recognise again" feature in the scanning GUI. I think there should be some smartness in digikam that at least asks after x pictures training for a tag whether it should try to find all pictures for that person. Also, since digikam only uses tags, is it possible to add more to a face, i.e. some data about that person, e.g. a photo (as icon for that tag), which familiy/group of persons (other persons/tags) he belongs to? > > If one starts typing the already existing tag suddenly appears in a > > drop-down menu. Moving the mouse on the drop-down menu and out of it > > closes the drop- down menu which should not happen. > > It happens when you touch a different picture with the mouse. That's the > idea of a mouse-hover overlay... perhaps we need some sort of locking for > the cases when the overlay opens a menu. If the user typed something the pop-up should not close until the user confirms or erases what he typed. > > If one wants to add/confirm etc. tags while digikam still scans the view > > is refreshed constantly and makes working on the pictures impossible. I > > think this is related to the bug that restarts videos when one plays > > them from within a folder that new pictures are added to. > > It's a similar problem, but probably not the same solution. But it has the > same solution as the mouse-over-drop-down-menu problem above. > When images are inserted before the current picture, its position will > change. We can think of a solution with a "persistent editor" if the line > edit currently has the focus, but it's not too easy to implement > (currently, the overlays take the easy way of hiding at any indication of > change.) It also happens if a picture is added below the picture one is currently typing a name for. Sven _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
> I think it really is the first tag I added. > > And those faces confused are already quite well trained, i.e. > 50 pitures > confirmed for each. I'll test face recognition. Maybe it simply still doesnt work. > > Here the first checkbox(es) are dark as well. Dont know. certainly no line of code in digikam for this. > > > > In preview, you'll need to click on the label with the name to open that > > one for editing again. > > Nothing happens if I click on the label in the preview, neither right nor > left-click does anything. This is very strange. When you hover a confirmed face, instead of the combo box + confirm + reject widget, there should be a simple text label with the confirmed name. The cursor should be a hand cursor, and the label should be clickable like a link. > i.e. train the facerecognition that this is not a face at all. That would be face detection ("Is it a face?") which is not trained. Only recognition ("Who is it?") is trained. > The picture whose Person 1 tag I removed and which still shows up in the > Person 1 tag view does not show any mouse-over GUI anymore. That was a bug now fixed. You should at least be able to edit that from the preview mode. > > In preview mode, i.e. clicking on a picture when viewing all pictures with > People > Person 1 tag, clicking on "add face" does not do anything. So I > cannot answer this yet. mouse-hover items - see above. > > This gets me to another point. Would it be possible to not only have > unknown pictures but groups of unknown, i.e. digikam should be able to > guess which faces might look the same although it does not know their > name. I have already thought of this. No idea if face recognition technology availalbe to us is ready for this. > > And also, what happens if a user scans the whole collection and ends up > with thousands of pictures in unknown? He would have to assign tags to > each of them and digikam would not try automatically to guess faces again > after it got some training. So the user would have to know about the > "recognise again" feature in the scanning GUI. I think there should be > some smartness in digikam that at least asks after x pictures training for > a tag whether it should try to find all pictures for that person. Yes, interesting idea. > > Also, since digikam only uses tags, is it possible to add more to a face, > i.e. some data about that person, e.g. a photo (as icon for that tag), > which familiy/group of persons (other persons/tags) he belongs to? Principally yes, implemented: no. We should aim at integration with Nepomuk / PIMO ontologies. > > Debug statements contain "Check for finish: " > Should I see this when I run digikam from the konsole? Yes, once for each package: digikam(24532)/digikam (core) Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: 13 packages, 0 infos to filter, hasFinished() false ... digikam(24532)/digikam (core) Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
On Fri, Nov 5, 2010 at 7:55 PM, Marcel Wiesweg <[hidden email]> wrote:
I recall that there was a bug in libface, the very first training has to be done with more than one tag IDs. That is, in the very first training of the database, all the faces in the training vector should not have the same ID. This is an issue with the very nature of the algorithm.
Two ways to fix this : Patching libface I might take a look into how to fix this soon, most likely it will be fixed by appending a dummy face with a special ID (one that will be never assigned by digikam normally).
Workaround in digiKam I haven't looked in the new code about how things are done, but the faces could be given for training in bunches of 10 or 20 at a time.
The second way is rather hackish however, and I'd look at patching libface as a solution to this.
About grouping within the "Unknown" set: This, although possible in theory, is *very* computationally expensive. It requires a clustering algorithm to condense the faces into groups, however, in the clustering, the computation of the "distance" between faces in the face space is computationally. More so because the dimension of the face space changes with the amount of faces, plus the number of unknown faces is supposed to change so frequently that a re-clustering every now and then would be required. AFAIK, none of the 'competition' do this.
I support this idea too. -- Adi _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
You can do all this already. Just got to use more than one instance of libface. The only issue might be is the name of configuration file. At the moment its libface-config.xml, so if more than one instance of libface is running on the same config folder it will get confused. But that can be easily changed.
The only difficulty is how good Eigen values are, as a measure of similarity. I personally think not very good. What might be good to try is to project images using Eigen values (what we are doing now), but the actual metrics for calculating similarity can be different. For example one can use root mean squared (RMS) to see how similar a test face is to every other projected face in the database. Once you find a similar face project it using existing data. Which is very fast. In fact its constant with respect to total number of trained faces, because you not actually recomputing everything. Alex On 5 Nov 2010, at 15:07, Aditya Bhatt wrote:
_______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Marcel Wiesweg
Am Freitag, 5. November 2010, 15:25:04 schrieb Marcel Wiesweg:
> > > In preview, you'll need to click on the label with the name to open > > > that one for editing again. > > > > Nothing happens if I click on the label in the preview, neither right nor > > left-click does anything. > > This is very strange. When you hover a confirmed face, instead of the combo > box + confirm + reject widget, there should be a simple text label with the > confirmed name. The cursor should be a hand cursor, and the label should be > clickable like a link. Everything is there but clicking does not trigger/show anything. > > i.e. train the facerecognition that this is not a face at all. > > That would be face detection ("Is it a face?") which is not trained. Only > recognition ("Who is it?") is trained. Ok, so I know that using that button on faces will not harm the training. > > The picture whose Person 1 tag I removed and which still shows up in the > > Person 1 tag view does not show any mouse-over GUI anymore. > > That was a bug now fixed. You should at least be able to edit that from the > preview mode. What do you mean by fixed. I run Rev: 1193326 and hovering the thumbnail does not show any GUI or mouse-over whatsoever. Clicking on the thumbnail and having a look at the picture including hovering the face shows the white quadrangle plus the name of the tag (although I removed the tag). > > In preview mode, i.e. clicking on a picture when viewing all pictures > > with People > Person 1 tag, clicking on "add face" does not do anything. > > So I cannot answer this yet. > > mouse-hover items - see above. I do not understand what you mean. I think I remember that "add face" would add a red quadrangle that I could use to mark some face manually. This quadrangle does not appear anymore in fact nothing happens if I click on that icon. > > > Debug statements contain "Check for finish: " > > > > Should I see this when I run digikam from the konsole? > > Yes, once for each package: > digikam(24532)/digikam (core) > Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: > 13 packages, 0 infos to filter, hasFinished() false > ... > digikam(24532)/digikam (core) > Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: > 0 packages, 0 infos to filter, hasFinished() true Ok, I had to explicitely enable debugging for digikam and not just compile with debugfull: digikam(22011)/digikam (core) Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: 2 packages, 0 infos to filter, hasFinished() false digikam(22011)/digikam (core) Digikam::DetectionWorker::process: Found 0 faces in "P1020035.jpg" QSize(3072, 2306) QSize(3072, 2306) digikam(22011)/digikam (core) Digikam::DetectionWorker::process: Found 0 faces in "P1020034.jpg" QSize(3072, 2306) QSize(3072, 2306) digikam(22011)/digikam (core) Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: 1 packages, 0 infos to filter, hasFinished() false digikam(22011)/digikam (core) Digikam::FacePipeline::FacePipelinePriv::checkFinished: Check for finish: 0 packages, 0 infos to filter, hasFinished() true digikam(22011)/digikam (core) Digikam::BatchFaceDetector::continueAlbumListing: false false digikam(22011)/kio (Scheduler) KIO::SchedulerPrivate::doJob: KIO::SimpleJob(0x6fadd30) digikam(22011)/kio (Slave) KIO::Slave::createSlave: createSlave "digikamtags" for KUrl("digikamtags:/5?databaseType=QSQLITE&databaseName=%2xxxxxdigikam4.db&connectOptions=&hostName=&userName=&password=") digikam(22011)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on "local:/tmp/ksocket-rabauke/digikamL22011.slave-socket" digikam(22011)/digikam (core) Digikam::BatchFaceDetector::slotItemsInfo: 1 digikam(22011)/kio (KIOJob) KIO::TransferJob::slotFinished: KUrl("digikamtags:/5?databaseType=QSQLITE&databaseName=xxxxxxFdigikam4.db&connectOptions=&hostName=&userName=&password=") digikam(22011)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::SpecialJob(0x6fadd30) KIO::Slave(0x8b39b20) digikam(22011)/digikam (core) Digikam::BatchFaceDetector::continueAlbumListing: false true digikam(22011)/kio (Slave) KIO::Slave::kill: killing slave pid 22087 ( "digikamalbums://" ) After that the scanning progress just moves from left to tight without closing or processing another picture. Sven _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
| Free forum by Nabble | Edit this page |
