Thread: GSoC

GSoC

From
Anindya Jyoti Roy
Date:
I have some idea of implementing am image database system, which will
let you search against the image and fingerprint:

The idea crudely is the following:

I want to implement a image database system: This will have the
following quality:
1> will store image along with the other attributes
2> the database search engine will be able to search for image also
3> it will list the matching images in the order of degree of match.
4> in this matching system I will likely use the system of dividing the
image into important parts and match them.
5> The database will also contain fingerprints, that may  be the primary
key.
6> it will match the finger prints on the basis of the nodes and then
making a bitmap of it and using the coordinates with some error it will
match them
7> to include some accuracy in case of the angle of picture in case of
search of equality we will introduce some logical amount of error.
8> this project can be coded by me as I have some previous experience in
this type of project.
9> this will make a definitly good search engine as well as innovative
and uncommon.



About me:

I am Sophomore of Indian Institute of Technology, kanpur in CSE BTech. I
have a good academic record till date and a keen interest on Data Mining
and Machine language as well as Image processing. I am attaching my
resume in short form with this mail hoping it may help you to judge my
credibility. I am strong in Coding and Maths and able to solve problems
within given timeline.

I can give a more detail explanation of my project. But I just wanted to
give an outline here.

Let me know the feedback.
Thanks for your time,

Your faithfully,

     Anindya Jyoti Roy
     Sophomore
     CSE Bteck
     IIT Kanpur

Attachment

Re: GSoC

From
Robert Haas
Date:
On Mon, Mar 29, 2010 at 4:03 PM, Anindya Jyoti Roy <anindyar@iitk.ac.in> wrote:
> I want to implement a image database system: This will have the following
> quality:
> 1> will store image along with the other attributes
> 2> the database search engine will be able to search for image also
> 3> it will list the matching images in the order of degree of match.
> 4> in this matching system I will likely use the system of dividing the
> image into important parts and match them.
> 5> The database will also contain fingerprints, that may  be the primary
> key.
> 6> it will match the finger prints on the basis of the nodes and then making
> a bitmap of it and using the coordinates with some error it will match them
> 7> to include some accuracy in case of the angle of picture in case of
> search of equality we will introduce some logical amount of error.
> 8> this project can be coded by me as I have some previous experience in
> this type of project.
> 9> this will make a definitly good search engine as well as innovative and
> uncommon.

While you can certainly use PostgreSQL's extensible type system to
implement something like this, you'll probably need a good deal more
help and guidance from someone who is an expert on image matching
algorithms than you will from pgsql-hackers.  But feel free to reach
out to this community for help with the PG bits.

Having said that, I wouldn't suggest submitting this as a GSoC
project.  It sounds far too hard to be done well (or maybe even
poorly) in one summer.  To be really useful, this would probably need
some kind of index support, maybe based on GIN.  You're not going to
get that done by August even if you start now and don't sleep.  Even
if you did, my guess is that this is the sort of thing that the PG
community would prefer to see maintained as a separate project that
integrates with PG, rather than a part of core PG.

See also:

http://archives.postgresql.org/pgsql-hackers/2010-03/msg01034.php
http://archives.postgresql.org/pgsql-hackers/2010-03/msg01116.php

...Robert


Re: GSoC

From
Josh Berkus
Date:
> The idea crudely is the following:
> 
> I want to implement a image database system: This will have the
> following quality:

This seems fine, but I believe it's been done before.  You might want to
search for existing projects, and make an improvement on an existing
project rather than starting from scratch.

--                                  -- Josh Berkus                                    PostgreSQL Experts Inc.
                        http://www.pgexperts.com
 


Re: GSoC

From
"Dann Corbit"
Date:
Maybe this can be helpful:
http://sourceforge.net/search/?type_of_search=soft&words=fingerprint
http://sourceforge.net/search/?type_of_search=soft&words=image+recogniti
on


> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers-
> owner@postgresql.org] On Behalf Of Anindya Jyoti Roy
> Sent: Monday, March 29, 2010 1:04 PM
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] GSoC
>
> I have some idea of implementing am image database system, which will
> let you search against the image and fingerprint:
>
> The idea crudely is the following:
>
> I want to implement a image database system: This will have the
> following quality:
> 1> will store image along with the other attributes
> 2> the database search engine will be able to search for image also
> 3> it will list the matching images in the order of degree of match.
> 4> in this matching system I will likely use the system of dividing
the
> image into important parts and match them.
> 5> The database will also contain fingerprints, that may  be the
> primary
> key.
> 6> it will match the finger prints on the basis of the nodes and then
> making a bitmap of it and using the coordinates with some error it
will
> match them
> 7> to include some accuracy in case of the angle of picture in case of
> search of equality we will introduce some logical amount of error.
> 8> this project can be coded by me as I have some previous experience
> in
> this type of project.
> 9> this will make a definitly good search engine as well as innovative
> and uncommon.
>
>
>
> About me:
>
> I am Sophomore of Indian Institute of Technology, kanpur in CSE BTech.
> I
> have a good academic record till date and a keen interest on Data
> Mining
> and Machine language as well as Image processing. I am attaching my
> resume in short form with this mail hoping it may help you to judge my
> credibility. I am strong in Coding and Maths and able to solve
problems
> within given timeline.
>
> I can give a more detail explanation of my project. But I just wanted
> to
> give an outline here.
>
> Let me know the feedback.
> Thanks for your time,
>
> Your faithfully,
>
>      Anindya Jyoti Roy
>      Sophomore
>      CSE Bteck
>      IIT Kanpur


Re: GSoC

From
Jeff Davis
Date:
On Mon, 2010-03-29 at 19:08 -0400, Robert Haas wrote:
> To be really useful, this would probably need
> some kind of index support, maybe based on GIN.

Yes.

>   You're not going to
> get that done by August even if you start now and don't sleep.

The extensibility mechanism is designed so that an expert in one field
can add interesting operators and indexing strategies with a reasonable
amount of effort. If he already understands the image processing aspect
well (and has at least some working code somewhere), I would like to
think that it's possible to develop very basic support in postgresql in
a few months.

It doesn't need to be as complete as PostGIS after one summer of work.
It just needs to be able to search images with basic functionality, and
the rest can be added later after he's already hooked on PostgreSQL ;)

>  Even
> if you did, my guess is that this is the sort of thing that the PG
> community would prefer to see maintained as a separate project that
> integrates with PG, rather than a part of core PG.

That isn't necessarily a bad thing. PostGIS is an incredibly successful
extension that is developed outside the project. It may be a problem
with GSoC unless we have some sort of community buy-in, but from a
technical standpoint I don't see a problem here.

Regards,Jeff Davis



Re: GSoC

From
Jeff Davis
Date:
On Tue, 2010-03-30 at 01:33 +0530, Anindya Jyoti Roy wrote:
> I have some idea of implementing am image database system, which will 
> let you search against the image and fingerprint:
> 
> The idea crudely is the following:
> 
> I want to implement a image database system: This will have the 
> following quality:
> 1> will store image along with the other attributes
> 2> the database search engine will be able to search for image also
> 3> it will list the matching images in the order of degree of match.
> 4> in this matching system I will likely use the system of dividing the 
> image into important parts and match them.
> 5> The database will also contain fingerprints, that may  be the primary 
> key.
> 6> it will match the finger prints on the basis of the nodes and then 
> making a bitmap of it and using the coordinates with some error it will 
> match them
> 7> to include some accuracy in case of the angle of picture in case of 
> search of equality we will introduce some logical amount of error.
> 8> this project can be coded by me as I have some previous experience in 
> this type of project.
> 9> this will make a definitly good search engine as well as innovative 
> and uncommon.

If you plan to spend your time refining complex image processing
algorithms, or learning about image processing as you go, I think the
project will be impossible to finish in one summer. Not only that, you
would need to find someone capable of reviewing such code.

I believe you should focus on a couple simple image processing
algorithms that you already understand very well. If you written image
processing code in the past, I believe it could be a good project. The
way I see it, you would need to:
 1. Create a user-defined type for the fingerprint. 2. Create a user-defined function to transform a raster image into
a
fingerprint. 3. Code to index fingerprints using the GiST or GIN API. 4. Code to search for fingerprints that match a
givenfingerprint,
 
using the GiST or GIN API and a custom operator.

After you have the basics completed, you can introduce more
sophisticated fingerprint representations and comparison algorithms.
That would probably be an ongoing effort after the GSoC project is
complete.

Regards,Jeff Davis





Re: GSoC

From
tomas@tuxteam.de
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, Mar 30, 2010 at 01:33:59AM +0530, Anindya Jyoti Roy wrote:
> I have some idea of implementing am image database system, which will let 
> you search against the image and fingerprint:

As others already pointed out, this seems a huge task for a summer,
unless you have the image processing parts sorted out. That said, you
might want to have a look at GNU Gift [1], [2]. They seem to have sorted
out the image fingerprinting and comparing bits and have a sound
academic foundation.

Note that the project itself is under the GNU GPL, thus you won't
be able to just copy code from there to build "into" PostgreSQL. But
you can turn to this project for inspiration and algorithms (or you
can realize it as an external project, as others have proposed).

[1] <http://en.wikipedia.org/wiki/GIFT_(Gnu)>
[2] <http://www.gnu.org/software/gift/>

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFLsZEKBcgs9XrR2kYRAhmYAJ0dwQdYxTq1dOt5dszPKEUk6E6dfQCdFFF7
Nh0cErVA+KgBxsn8O7MSOno=
=zGRr
-----END PGP SIGNATURE-----


Re: GSoC

From
Peter Eisentraut
Date:
On mån, 2010-03-29 at 17:03 -0700, Josh Berkus wrote:
> > The idea crudely is the following:
> > 
> > I want to implement a image database system: This will have the
> > following quality:
> 
> This seems fine, but I believe it's been done before.  You might want to
> search for existing projects, and make an improvement on an existing
> project rather than starting from scratch.

You mean INGRES, the Interactive Graphics Retrieval System?

;-)



Re: GSoC

From
Anindya Jyoti Roy
Date:
As Jeff Davis pointed out, I followed the modification he suggested and 
now I want to have a basic matching only. I think atleast the 
fingerprint processing can be done in summer (if not the image 
processing). Is it a good GSoC project now?

Waiting for a reply eagerly
Thanks and regards,

Anindya Jyoti Roy    Sophomore    CSE Btech    IIT Kanpur

On 30-Mar-10 6:33 AM, Jeff Davis wrote:
> On Tue, 2010-03-30 at 01:33 +0530, Anindya Jyoti Roy wrote:
>    
>> I have some idea of implementing am image database system, which will
>> let you search against the image and fingerprint:
>>
>> The idea crudely is the following:
>>
>> I want to implement a image database system: This will have the
>> following quality:
>> 1>  will store image along with the other attributes
>> 2>  the database search engine will be able to search for image also
>> 3>  it will list the matching images in the order of degree of match.
>> 4>  in this matching system I will likely use the system of dividing the
>> image into important parts and match them.
>> 5>  The database will also contain fingerprints, that may  be the primary
>> key.
>> 6>  it will match the finger prints on the basis of the nodes and then
>> making a bitmap of it and using the coordinates with some error it will
>> match them
>> 7>  to include some accuracy in case of the angle of picture in case of
>> search of equality we will introduce some logical amount of error.
>> 8>  this project can be coded by me as I have some previous experience in
>> this type of project.
>> 9>  this will make a definitly good search engine as well as innovative
>> and uncommon.
>>      
> If you plan to spend your time refining complex image processing
> algorithms, or learning about image processing as you go, I think the
> project will be impossible to finish in one summer. Not only that, you
> would need to find someone capable of reviewing such code.
>
> I believe you should focus on a couple simple image processing
> algorithms that you already understand very well. If you written image
> processing code in the past, I believe it could be a good project. The
> way I see it, you would need to:
>
>    1. Create a user-defined type for the fingerprint.
>    2. Create a user-defined function to transform a raster image into a
> fingerprint.
>    3. Code to index fingerprints using the GiST or GIN API.
>    4. Code to search for fingerprints that match a given fingerprint,
> using the GiST or GIN API and a custom operator.
>
> After you have the basics completed, you can introduce more
> sophisticated fingerprint representations and comparison algorithms.
> That would probably be an ongoing effort after the GSoC project is
> complete.
>
> Regards,
>     Jeff Davis
>
>
>
>    




Re: GSoC

From
Anindya Jyoti Roy
Date:
As Jeff Davis pointed out, I followed the modification he suggested and 
now I want to have a basic matching only. I think atleast the 
fingerprint processing can be done in summer (if not the image 
processing). Is it a good GSoC project now?

Waiting for a reply eagerly
Thanks and regards,

Anindya Jyoti Roy    Sophomore    CSE Btech    IIT Kanpur

On 30-Mar-10 6:33 AM, Jeff Davis wrote:
> On Tue, 2010-03-30 at 01:33 +0530, Anindya Jyoti Roy wrote:
>
>> I have some idea of implementing am image database system, which will
>> let you search against the image and fingerprint:
>>
>> The idea crudely is the following:
>>
>> I want to implement a image database system: This will have the
>> following quality:
>> 1>  will store image along with the other attributes
>> 2>  the database search engine will be able to search for image also
>> 3>  it will list the matching images in the order of degree of match.
>> 4>  in this matching system I will likely use the system of dividing the
>> image into important parts and match them.
>> 5>  The database will also contain fingerprints, that may  be the primary
>> key.
>> 6>  it will match the finger prints on the basis of the nodes and then
>> making a bitmap of it and using the coordinates with some error it will
>> match them
>> 7>  to include some accuracy in case of the angle of picture in case of
>> search of equality we will introduce some logical amount of error.
>> 8>  this project can be coded by me as I have some previous experience in
>> this type of project.
>> 9>  this will make a definitly good search engine as well as innovative
>> and uncommon.
>>
> If you plan to spend your time refining complex image processing
> algorithms, or learning about image processing as you go, I think the
> project will be impossible to finish in one summer. Not only that, you
> would need to find someone capable of reviewing such code.
>
> I believe you should focus on a couple simple image processing
> algorithms that you already understand very well. If you written image
> processing code in the past, I believe it could be a good project. The
> way I see it, you would need to:
>
>    1. Create a user-defined type for the fingerprint.
>    2. Create a user-defined function to transform a raster image into a
> fingerprint.
>    3. Code to index fingerprints using the GiST or GIN API.
>    4. Code to search for fingerprints that match a given fingerprint,
> using the GiST or GIN API and a custom operator.
>
> After you have the basics completed, you can introduce more
> sophisticated fingerprint representations and comparison algorithms.
> That would probably be an ongoing effort after the GSoC project is
> complete.
>
> Regards,
>     Jeff Davis
>
>
>
>




Re: GSoC

From
Robert Haas
Date:
On Tue, Mar 30, 2010 at 12:56 AM, Anindya Jyoti Roy <anindyar@iitk.ac.in> wrote:
> As Jeff Davis pointed out, I followed the modification he suggested and now
> I want to have a basic matching only. I think atleast the fingerprint
> processing can be done in summer (if not the image processing). Is it a good
> GSoC project now?

I'm not sure.  Can you provide a more detailed design?

...Robert


Re: GSoC

From
Dimitri Fontaine
Date:
Robert Haas <robertmhaas@gmail.com> writes:

> On Tue, Mar 30, 2010 at 12:56 AM, Anindya Jyoti Roy <anindyar@iitk.ac.in> wrote:
>> As Jeff Davis pointed out, I followed the modification he suggested and now
>> I want to have a basic matching only. I think atleast the fingerprint
>> processing can be done in summer (if not the image processing). Is it a good
>> GSoC project now?
>
> I'm not sure.  Can you provide a more detailed design?

Apply the following to fingerprint searches ?
 http://www.postgresql.org/docs/current/static/gist-implementation.html
http://wiki.postgresql.org/wiki/Image:Prato_2008_prefix.pdf

I guess that what remains to be defined is how you get those
fingerprint, what the datatype is named, is it fixed size or varlena,
what operators you want to make available, and which will have index
support. That's GiST + GIN, right ?

Regards,
--
dim


Re: GSoC

From
Robert Haas
Date:
On Tue, Mar 30, 2010 at 9:36 AM, Dimitri Fontaine
<dfontaine@hi-media.com> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>
>> On Tue, Mar 30, 2010 at 12:56 AM, Anindya Jyoti Roy <anindyar@iitk.ac.in> wrote:
>>> As Jeff Davis pointed out, I followed the modification he suggested and now
>>> I want to have a basic matching only. I think atleast the fingerprint
>>> processing can be done in summer (if not the image processing). Is it a good
>>> GSoC project now?
>>
>> I'm not sure.  Can you provide a more detailed design?
>
> Apply the following to fingerprint searches ?
>
>  http://www.postgresql.org/docs/current/static/gist-implementation.html
>  http://wiki.postgresql.org/wiki/Image:Prato_2008_prefix.pdf
>
> I guess that what remains to be defined is how you get those
> fingerprint, what the datatype is named, is it fixed size or varlena,
> what operators you want to make available, and which will have index
> support. That's GiST + GIN, right ?

Well, yeah.  I think the fingerprinting and operator support are the
real questions.  My fear is that the student who is asking this
question does not really have a good handle on that aspect of the
project.  Maybe I'm wrong.  However the description that was given
was:

2> the database search engine will be able to search for image also
3> it will list the matching images in the order of degree of match.
4> in this matching system I will likely use the system of dividing
the image into important parts and match them.

That's pretty vague.  If someone came and said, I'm going to use XYZ
system from the following academic papers, that would inspire a lot
more confidence, at least for me.  Also I think this item from the
original email reflects a fundamental misunderstanding of how this
would integrate into PostgreSQL:

5> The database will also contain fingerprints, that may  be the primary key.

Again, if the student had said, the XYZ system above will work well
with GIN indexing because we can construct the posting lists like
thus-and-so, or if they had said, it will work well with GIST because
there is a similarity metric we can use to construct the penalty and
picksplit functions, I would feel a lot better.  But the description
given is so general in terms of both what is to be done on the image
processing side and what is to be done on the PostgreSQL side that I
am afraid that the student is going to be in far too deep.  Compare
this description with the one from the student who wants to implement
JSON support - that sounds a whole lot closer to something that
someone (perhaps him) could sit down and code.

My point here is not to discourage anyone or turn them off on trying
to submit a GSoC project related to PostgreSQL.  Indeed, I really hope
they do.  But it will benefit the project much more if the projects
are small and successful than it will if they are large and not
successful, or successful according to some metric but not actually
producing code that will be widely used or merged into core.

...Robert