<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>André Cohen</title>
	<atom:link href="http://andrecohen.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://andrecohen.com</link>
	<description>A young scholar&#039;s past projects, current dealings, and future ambitions.</description>
	<lastBuildDate>Thu, 09 Feb 2012 15:24:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Coin classification</title>
		<link>http://andrecohen.com/projects/coin-classification/</link>
		<comments>http://andrecohen.com/projects/coin-classification/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 15:43:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Classification]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://andrecohen.com/?p=110</guid>
		<description><![CDATA[There are thousands of coins sitting in large safes around the world waiting to be catalogued. The task of cataloguing is a painful process of looking up old and damaged coins in relatively old clumsy books and then manually retyping the information from the book into the institutions own catalogue system. My current focus is in classifying coins based [...]]]></description>
			<content:encoded><![CDATA[<p>There are thousands of coins sitting in large safes around the world waiting to be catalogued. The task of cataloguing is a painful process of looking up old and damaged coins in relatively old clumsy books and then manually retyping the information from the book into the institutions own catalogue system.</p>
<p>My current focus is in classifying coins based on the images that appear on the obverse/reverse of the coins. This is a multi-class problem in the scale of 30-50 classes. This coin dataset is extremely difficult due to odd coin shapes, relatively low contrast of details, and a lot of rust damage. Due to these characteristics methods such as Surft, Sift, and SVM classification schemes fail very badly.</p>
<p>The current strategy for the coin dataset is in using multiple &#8220;expert&#8221; hierarchical classifiers to manage this large multi-class classification problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/coin-classification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CL++</title>
		<link>http://andrecohen.com/projects/cl/</link>
		<comments>http://andrecohen.com/projects/cl/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:34:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[OpenCL]]></category>

		<guid isPermaLink="false">http://andrecohen.com/?p=70</guid>
		<description><![CDATA[OpenCL is an amazing library for writing computationally intensive functions directly to the computer&#8217;s GPU. And while the standard headers are good and concise, there is a lot of overhead just to get a small piece of code to work. CL++ is a small wrapper I developed to make using OpenCL even easier. Particularly good [...]]]></description>
			<content:encoded><![CDATA[<p>OpenCL is an amazing library for writing computationally intensive functions directly to the computer&#8217;s GPU. And while the standard headers are good and concise, there is a lot of overhead just to get a small piece of code to work.</p>
<p>CL++ is a small wrapper I developed to make using OpenCL even easier. Particularly good is the integration of Eigen, a linear algebra C++ library, with OpenCL. Almost always the data I am working with is in matrix form and so having an easy way to call GPU functions with matrixes as parameters makes things very user friendly.</p>
<p>This project has been used to create dozens of small OpenCL routines which have probably saved me numerous hours due to the performance gains.</p>
<p>Note: OpenCL does offer an experimental C++ wrapper, however it neither is stable nor does it offer linear algebra integration functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/cl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StellaAI</title>
		<link>http://andrecohen.com/projects/stellaai/</link>
		<comments>http://andrecohen.com/projects/stellaai/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 19:56:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[RL]]></category>

		<guid isPermaLink="false">http://andrecohen.com/?p=64</guid>
		<description><![CDATA[StellaAI was the first Atari emulator with extensions to facilitate development of AI agents. Along with allowing seamless reading of the graphics, RAM, and game controls, there was also specialized tools for detecting objects, scripting, and C/Java bridges. This projected was motivated by the Pitfal Project and later there was some work with Marc Lanctot [...]]]></description>
			<content:encoded><![CDATA[<p>StellaAI was the first Atari emulator with extensions to facilitate development of AI agents. Along with allowing seamless reading of the graphics, RAM, and game controls, there was also specialized tools for detecting objects, scripting, and C/Java bridges.</p>
<p>This projected was motivated by the Pitfal Project and later there was some work with Marc Lanctot to integrate StellaAI with RL-Glue. Do the intense C/C++ code, people of the Reinforcement community opted for a simpler Java Atari emulator rendering this project not needed.</p>
<p>In 2009 IEEE created a competition with Infinite Mario based very closely to this project, however it is much simpler than what StellaAI offered. (Objects are given and must not be detected).</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/stellaai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Circles</title>
		<link>http://andrecohen.com/projects/circles/</link>
		<comments>http://andrecohen.com/projects/circles/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 21:10:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://andrecohen.com/?p=44</guid>
		<description><![CDATA[In every meaningful relationship often there is important information that both wish to share and record. This could be phone numbers, facts (such as birthdays or food allergies), or simply notes. Circles is a wiki based knowledge management system where users (elements of a set) share wiki pages with other users in form of a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">In every meaningful relationship often there is important information that both wish to share and record. This could be phone numbers, facts (such as birthdays or food allergies), or simply notes. Circles is a wiki based knowledge management system where users (elements of a set) share wiki pages with other users in form of a Venn Diagram.</p>
<p><img class="size-full wp-image-46   aligncenter" title="Circles" src="http://andrecohen.com/bio/wp-content/uploads/2009/08/circles.png" alt="Circles wiki page sharing system" width="288" height="177" /></p>
<p>As the diagram illustrates, User A and User B have the option of choosing how their wiki pages are to be shared if at all. The mechanism for sharing is simple enough to encourge users to take an active role is deciding what pieces of knowledge should be shared and with whom. This is important because once a page is shared with other users this page can be edited by all users who can see the page allowing for it to organically grown with the combined knowledge of all.</p>
<p>This very light weight application was implemented using PHP and MySQL over the span of a weekend. Because Circles is designed for the sharing of many different kinds of data it was important to create a strong system of meta-annotations. Although the wiki pages are open for any content special preformatted templates for addresses, calendar dates and lists are encouraged to be used. The meta-annotations not only create a more pleasurable experience but also extends the the very important search mechanism.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/circles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telegraph</title>
		<link>http://andrecohen.com/projects/telegraph/</link>
		<comments>http://andrecohen.com/projects/telegraph/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 14:45:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=3</guid>
		<description><![CDATA[With the disappearance of the telegraph an important and convenient medium of communication vanished. Although emails today are fast and readily accessible, they come with certain expectations. These expectations can be seen from the toolbar of most email clients which often include: New, Reply, Forwards, Spam and etc&#38;.. Are all of these actions (or features) [...]]]></description>
			<content:encoded><![CDATA[<p>With the disappearance of the telegraph an important and convenient medium of communication vanished. Although emails today are fast and readily accessible, they come with certain expectations. These expectations can be seen from the toolbar of most email clients which often include: New, Reply, Forwards, Spam and etc&amp;.. Are all of these actions (or features) really necessary for a correspondence.</p>
<p>In my experience I often find myself in situations where I desire to receive messages, but not be prompted for an action. I wish to be given the closest thing to a telegram: a message in a medium which can be quickly discarded or folded into my pocket to be acted upon later. This passive method of receiving messages is quite possibly extinct from the information age where even twitter expects a response or another half thought out 140 character blurb of meaninglessness.</p>
<p>Telegraph was an experimental project that attempted to create such a medium of communication where speed and convenience were the focus of the user experience. In accordance to telegrams a certain amount of privacy is eliminated that is because to make the receiving of email faster one should not have to be bothered with logins (specially when having multiple accounts). For that reason once the user has logged in to the Telegraph site he or she will no longer be prompted for authentication on that device. This clearly insecure method is to insure speed, and for any one who desires security should opt for safer full fledged email clients instead.</p>
<p>Upon entering Telegraph, there are no folders or tags but only the &#8220;messages&#8221; that have been received and have been marked not read. With a click one is reading the latest messages without fear that a message will compulsorily prompt the user to respond to it thus diverging the user for the actual task at hand. Any response has to be done on a different, traditional, email client. Once the message is read it is automatically &#8220;tossed&#8221; away, that is, marked as read thereby removing it from appearing on Telegraph again. The user does have the option of storing it in their wallet for later reference, however even there after a certain fixed amount of time it is automatically removed from it as well.</p>
<p>As it can be seen Telegraph is not a program for doing one&#8217;s traditional email reading but rather a simple method of receiving messages while on the go. The user is offered a streamlined experience to getting messages without hesitation or apprehension that a message will require a response since after all that would require a different program. The limitation forces the user to stick to a previously thought out plan and accomplish the plan as quickly and easily as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/telegraph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birch</title>
		<link>http://andrecohen.com/projects/birch/</link>
		<comments>http://andrecohen.com/projects/birch/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 14:57:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Boost]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming Language]]></category>
		<category><![CDATA[Statistics]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=16</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/birch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Face Tracking</title>
		<link>http://andrecohen.com/projects/face-tracking/</link>
		<comments>http://andrecohen.com/projects/face-tracking/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 14:51:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Face tracking]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=6</guid>
		<description><![CDATA[Face tracking, is still a young and experimental science. One often faces efficiency for accuracy and often times simple everyday occurrences (like an obstacle coming between the camera and one&#8217;s face) can entirely through off the agent from where the face actually is. In this project the focus was on maintaining tracking accuracy while improving [...]]]></description>
			<content:encoded><![CDATA[<p>Face tracking, is still a young and experimental science. One often faces efficiency for accuracy and often times simple everyday occurrences (like an obstacle coming between the camera and one&#8217;s face) can entirely through off the agent from where the face actually is. In this project the focus was on maintaining tracking accuracy while improving efficiency so that at some point this algorithm could be run in real-time on a handheld device.</p>
<p>The work was published at <a href='http://andrecohen.com/projects/face-tracking/latex8/' rel='attachment wp-att-97'>ICPR10</a>.</p>
<p><strong>The idea</strong></p>
<p>Given that every algorithm has at least one positive and negative quality, the project focused on using several algorithms at the same time. By it self this would be very costly, thus a RL based system was designed to &#8220;know&#8221; which face detecting algorithm would perform best given the current conditions of the video. Furthermore weights were &#8220;learned&#8221; to favor faster and less reliable algorithms as opposed to slower but very accurate algorithms. In this manner the final face tracking mechanism was many times faster than previous work while still preserving the accuracy that has been thought to be state-of-the-art.</p>
<p><strong>Implementation</strong></p>
<p>The implementation had been once done in Matlab however due to its limited platform usage and efficiency a C++ version of the algorithm had to be implemented. There were at least 4 iterations of the code and just about every graphical and mathematical library available for C++ was at some point used to see which one was most efficient. It was finally determined that the Eigen library and FFMPEG libraries were the only two libraries that were not only cross-platform but also extensive enough for the purposes of face tracking.</p>
<p>Given the cross-platform nature the code, the project was easily (within a week) also migrated to Linux, Windows and the iPhone. Demos can be found on <a href="http://www.youtube.com/user/musicbyte256">YouTube</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/face-tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source To Source Translation</title>
		<link>http://andrecohen.com/projects/source-to-source-translation/</link>
		<comments>http://andrecohen.com/projects/source-to-source-translation/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 15:01:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linguistics]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Ontology]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=24</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/source-to-source-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ping</title>
		<link>http://andrecohen.com/projects/ping/</link>
		<comments>http://andrecohen.com/projects/ping/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 14:52:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Experiment]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=8</guid>
		<description><![CDATA[Computers today travel equal to if not more than their owners. In their journeys they experience tumbles, battery losses and gains and many hundreds of different IP addresses. Just like humans who track their diabetes, and life&#8217;s many stories in journals, Ping would be the journal of a computer. Intermittently Ping would connect to a [...]]]></description>
			<content:encoded><![CDATA[<p>Computers today travel equal to if not more than their owners. In their journeys they experience tumbles, battery losses and gains and many hundreds of different IP addresses. Just like humans who track their diabetes, and life&#8217;s many stories in journals, Ping would be the journal of a computer. Intermittently Ping would connect to a fixed server to log its journey since the last update. In the life of the computer all of its myriad of hotel IP addresses, battery charges and workloads would be recorded as a historical record of one of computer science&#8217;s most loyal companion, the laptop.</p>
<p>Developed primarily for the OSX, Ping was a small deamon like tool which began as soon as the computer started. In fixed (custumizable) intervals if an internet connection was available a &#8220;ping&#8221; to the server was performed. If no internet was found the &#8220;ping&#8221; would be saved and sent a later time. The actual journal for the computer was stored online, so that its timelessness would be independent of the machine. No computer crash nor OS reinstallation would risk the loss of the records.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/ping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pitfall</title>
		<link>http://andrecohen.com/projects/pitfall/</link>
		<comments>http://andrecohen.com/projects/pitfall/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 14:53:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Atari]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RL]]></category>

		<guid isPermaLink="false">http://andrecohen.com/bio/?p=10</guid>
		<description><![CDATA[Most of machine learning, when it comes to complex worlds, is pretty much useless. Problems quickly become intractable and agents often take valuable time attempting to learn things that humans would never even consider. It was for this reason that Atari&#8217;s Pitfall presents an interesting and complicated environment for learning. With a seemingly infinite state [...]]]></description>
			<content:encoded><![CDATA[<p>Most of machine learning, when it comes to complex worlds, is pretty much useless. Problems quickly become intractable and agents often take valuable time attempting to learn things that humans would never even consider. It was for this reason that Atari&#8217;s Pitfall presents an interesting and complicated environment for learning. With a seemingly infinite state space (imagine learning about the color of each pixel of each frame of the game) a human element had to be added to make this task possible.</p>
<p>When coming into the game a player may not know what the rules, goals are rewards are but they do know a few things about objects. This notion of objects allows the player to understand that one can fall down holes, climb ladders and not attempt to through walls. Using this same concept the agent was no longer interested in learning about pixels or impossible situations but rather how each object interacted with immediate environment.</p>
<p>The algorithm attempted to learn how each object (deterministically) functioned and later how, if possible, the objected functioned when it touched other objects. This can be clearly see with Harry (the main character of the game) who the agent first learns about its basic movements and only then attempts to guide him to other objects where possible new insights can be gained (for instance the log, hole, ladder, and wall).</p>
<p>In this manner the learning process, which using normal AI algorithms would have made Pitfall impossible to be masters, became doable within seconds. The first screen took less than 5sec to be learned and only 500 rules were generated about how all the objects on the screen functioned.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrecohen.com/projects/pitfall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

