Pages

2009-12-30

Globe Tattoo on Fedora 12

How to get Globe Tattoo prepaid wireless working in Fedora 12
updated: added minor details, minor edits

It mostly just worked. By default, Network Manager and Modem Manager are installed. If not, install them first. I also installed the usb_modeswitch utility; but I didn't need it. The USB Modem is detected after about 10 secs.

  • Create a new Mobile Broadband connection in Network Manager.
  • Network Manager and Modem Manager detects Globe Tattoo as HUAWEI Technology HUAWEI Mobile
  • Choose Philippines and Globe Telecom among the mobile broadband providers.
  • Accept the default settings and Save.
  • Edit the settings

After reading assorted forums and some trial and error, here are the settings in Network Manager that worked for me.

Using the Globe Tattoo Pre-paid SIM card.
  • access number: *99#
  • username: blank
  • password: globe
  • APN: http.globe.com.ph

Using my Globe Post-paid SIM card.
I inserted my Globe Post-paid card in the modem and it worked. I made sure that I had set my internet settings to TIME. (Send TIME to 1111 via text message)

  • access number: *99#
  • username: globe
  • password: globe
  • APN: internet.globe.com.ph

Other notes

  • Markings on the USB Modem declare it as a Huawei E1552 HSDPA USB stick
  • lsub shows it is a Huawei Technologies Co., Ltd. E620 USB Modem
  • lsub shows the USB ID as 12d1:1001
  • The USB modem also shows up as a storage device with drivers and utilities for Windows, Mac OS. I didn't try these out. I usually just unmount this.
  • A fancy colored sticker covers the LED indicator. The sticker was easy to remove, just peel slowly.
  • The LED flashes green when connecting to 2G network.
  • The LED flashes blue when connecting to 3G+ networks
  • If the LED is steady the modem has successfully connected to the network.
  • Under the SIM slot, there is a microSD card slot. I have yet to try this.
  • I have 64-bit Fedora 12 installed on a Lenovo Thinkpad SL400; that's a topic for another post.

2009-11-04

...and now back to the Program

After dealing with technical and personal problems, we are back on the net. Apologies to my three readers!

Regular posting starts tomorrow. Thanks for dropping by!

2009-08-12

Welcome Thinkpad SL400

I could not afford the T-series nor the X-series. I settled for the small business line of Lenovo, the SL-series These have just about the same features but at half (or less) the price. What are the trade-offs?

  • The SL-series are heavier and bulkier. Instead of using lightweight metal parts, thick plastic parts are used.
  • Lower end video card.
  • No roll cage in SL-series. The T- and X-series have a metal roll cage around the LCD and body to protect the unit from abuse. You can feel the difference in the LCD; the SL-400 flexes more.
  • The SL-400 has a high gloss finish on the lid and the screen. Ugh. I really don't like this.
There are probably others that I have missed. These are the ones that I have noticed.

On the plus side, I got this one without any OS installed. Which means I don't have to pay for software that I don't use (i.e. Windows). I installed Fedora 11 (64-bit) and so far so good. I'll reserve another post for the Fedora 11 experience.

2009-07-22

back from the dead

I haven't been posting as much lately and for that I apologize to my readers (all three of you). I have successfully defended my thesis proposal (CS298) and I am now in thesis proper (CS300). I plan to do my final thesis defense 2nd week of October.

What have we learned during the Marathon?

  • Sign language recognition is hard. Sign language linguistics are decades behind spoken language linguistics. The field is wide open for different approaches to the problem.
  • Data! Data! Data! A lot of data is needed. Collecting and documenting FSL, its many variants, and the local signs are of vital importance if we hope to understand the underlying structure.
  • Focus the work. Far too many times we want the paper to be perfect when we are finished; and we don't start writing until we have all the pieces. Guess what? That's not going to happen. The papers and reports will always have something missing. We should always keep the big picture in mind, and focus on our little corner.
  • Keep writing. Edit later. This applies to many things, not just reports and papers. In free/open source software terms, release early and release often. That's what your editor is for (and if you don't have and editor, your adviser). They tell you what is clear and what is not; what needs reworking; what's missing.
  • Matlab is expensive. Too expensive it turns out. Since I don't have access to the Matlab installation 24/7 in the lab, I am forced to look at alternatives. Octave, Scilab and R are my candidates.

Onward!

2009-06-01

Farewell Thinkpad X31

My notebook finally died. IBM Thinkpad X31 model 2672-B2U purchased sometime in 2003. No amount of poking, (re)assembly, or pleading would bring it back. When plugged-in (with or without battery) the lights would come on and sometimes the CPU fan, then nothing. Hard disk doesn't spin up (or down), display remains blank. It has been dying for about a year now; a few months ago I just have to keep plugging/unplugging (with or without battery) and it will eventually switch on. Now, it is officially dead.

I love the keyboard on the X31. I love the nipple mouse TrackPoint. I don't have to move my fingers away from the keyboard in order to use the mouse. I like the black matte finish (No fingerprints!) I like the fact that you could easily download the maintenance manuals and take the X31 apart. It is easy to add/replace the RAM, hard disk, Bluetooth card, and 802.11a/b/g network card.

I have set my sights on the latest Lenovo Thinkpad X-series. Now, I just need to raise the money.

2009-05-21

marathon day 21: a long way to go

Data Collection
  • total of 117 unique signs (60 2-handed signs + 57 2-handed signs)
  • 3 signers per sign; on average 2 samples per sign per signer
  • approximately 700 isolated sign samples
  • 88 out of 700 isolated sign samples edited
  • 63 grouped sign samples
  • 37 out of 68 grouped sign samples edited

This is far from complete. In addition to editing the existing samples I also need to annotate and re-sample (resize) them appropriately. Analysis should reveal the direction(s) to take the research; this implies a new list will be made designed to capture/answer the questions raised during the analysis. One question already raised is this: what is the complexity of one-handed signs vs. two-handed signs?

Papers and Presentations
  • draft Chapter 1: Introduction almost done
  • draft Chapter 2: Review of Related Lit almost done
  • draft Chapter 3: Research Problem started
  • draft Chapter 4: Methodology started
  • draft Chapter 5: Results has nothing yet
  • elevator pitch presentation half-way done; needs more images/pictures
  • proposal defense presentation not even close

The goal is to produce a draft that can be edited and tweaked for three purposes: (a) a mid-term report; (b) paper for publication; and (c) thesis proposal.

2009-05-11

minor updates

  • changed "research tips" label to "research"
  • added "marathon" label to all research marathon posts
  • added title to marathon day 4 post

marathon day 18: small steps

FSL video progress

  • 90 out of 127 signs (9 out of 13 groups) recorded
  • 2 out of 3 signers recorded
  • 90 out of 328 recorded samples processed

Proposal/Thesis Paper writing

  • configured LaTeX templates
  • draft Chapter 1: Introduction
  • draft Chapter 2: Related Literature
  • draft Chapter 3: Research Problem

2009-05-07

Underestimating the Problem

update: minor edits for clarification

Challenges in Sign Language Recogniton

  1. Multiple types of events
  2. Multiple channels
  3. Multiple interpretations
  4. Sign language linguistics

Multiple types of events
From an earlier post, I mentioned that sign language has several things going on. We need to look at the hand shapes, the arm motion with respect to the body, the body posture, and facial expressions; each one a different problem. For example, recognizing facial expressions require a different sort of processing than tracking arm motions.

Multiple channels
We can think of a channel as "one thing to keep an eye on". In sign language we have at least three channels: the left arm, the right arm and the face. Thankfully, we only have a limited set of combinations with types of events. For example, hands are found on the ends of the arms. If we can track the arms, we can easily find the hands. In general, we will never find a head on the end of an arm.

Multiple Interpretations
This is where things get messy. When you see a gesture, it could be one of three things: (a) a lexical(?) sign, (b) a (cultural) gesture or (c) visual action. (I am not sure if lexical is the correct term to use.)

  • lexical signs: This is what you would normally think of as a sign - a gesture + hand shape + facial expression that has a specific meaning. You could think of it as words or phrases in sign language.
  • gestures: This is a gesture that has specific meaning to a particular culture. For example showing someone an extended middle to insult them. This gesture is known and used by both signers and non-signers alike.
  • visual action: Like playing Charades, the motion of the hands, arms, head, and body act out something related to the meaning or idea being conveyed.

For example, let's say the signer taps the side of their head with their index finger. Does that mean (a) the sign for THINKING; or does it mean (b) "he's crazy"; or is it (c) acting out "something long and thin poked my head"?

Sign Language linguistics
On top of all of that, we have sign language linguistics. How can we tell when one sign ends and another begins? Unfortunately, we don't have a clear model for Filipino Sign Language at the sentence and discourse levels, which means that automatic, real-time translation is not possible at the moment.

marathon day 15: I lost my nose

It is time to re-evaluate our progress. What have we accomplished? What have we learned?

Accomplishments

  1. Created a screencast of the prototype of the visualization tool for demonstrations.
  2. Incremental improvements in the visualization tool.
  3. Standardized the mencoder options for my data files. mencoder is part of the MPlayer project.
  4. Scheduled additional recording sessions with the Deaf next week.
  5. Edited two groups of FSL video recordings. I am looking into automating this with video segmentation.
  6. Started working on the problem of metrics. How do I measure similarities between (recorded) signs?

Non-Accomplishments

  1. Re-organized the files under my thesis directory. Includes updates to the back-up scripts.
  2. Added to the goals for the marathon: video segmentation module
  3. Added to the goals for the marathon: hand shape recognition
  4. Added to the goals for the marathon: hand tracking
  5. Constantly underestimate the scope of sign language complexity.

2009-04-22

marathon day 4: nose to the grindstone

From the recording sessions, I now have 89 unique FSL signs. Each sign was recorded for both Rommel and Mary Jane, making a total of 178 samples. Sometimes there two or more takes per sample, meaning I'll end up with more than 178 samples in all. Right now I am editing and resizing the video files into small 160x120 clips - one clip per sign.

20 out of 178 done

2009-04-20

marathon day 1: Procrastination

I have forgotten all about this: Structured Procrastination. Combined with mini-milestones, this approach works very well for me.

Mini-milestones, for those unfamiliar with the term, are very small tasks with only two possible statuses - NOT DONE and DONE. There is no 80% Done, it is either finished or not finished. This means the tasks must be small and straight-forward. We break down projects into smaller and smaller sub-projects, modules, functions and tasks until we have small, easily finished to-do items.

Structured procrastination exploits these small tasks. Large to-do items are broken up into small tasks making it easy to switch projects. If I don't feel like doing Project A, there are several mini-milestones from Project B I can accomplish. Once I get bored, switch back to Project A or yet another Project C.

2009-04-19

marathon day 0

This summer, starting April 20, the lab is doing a Research Marathon. Forty-two days of nose-to-the grindstone research grunt work. The goals of the marathon is to (a) produce solid experimental data to back up the thesis; and (b) to produce a paper or report ready for publication. In my case, I will add a third goal: (c) my thesis proposal defense.

I am simultaneously excited and terrified, although I'm long past the stage where fear and excitement are indistinguishable. I have no idea what's going to happen and that's a good thing! You could say I am taking the pessimistic approach: I'll be pleasantly surprised more often.

2009-03-27

Sign Language Recognition - Vision

The other common approach to sign language recognition is Vision-based. Video footage of subjects signing are fed into the computer either in real-time or as a video file recorded earlier.

Advantages

  • Mainstream hardware. Video cameras are easier to obtain, configure and control than the CyberGlove.
  • Closer to natural. Signers don't wear any special equipment that may impede in their signing.
  • Easier to productionize. No (extra) special equipment needed in applications.

Disadvantages

  • Sensitive to lighting conditions, and background noise.
  • Occlusion is a problem. In certain positions, the hands and arms will obscure the face or the other hand/arm.
  • Not as accurate as Direct Measure and it depends on the camera resolution.

If it wasn't obvious already, I'll be going with the Vision-based approach.

2009-03-24

Sign Language Recognition - Direct Measure

There are two general approaches to sign language recognition in terms of how the computer "sees". Direct Measure approaches rely on devices that sense the position of the fingers, thumb, arms, and so on. The CyberGlove is one such measuring device. The subject wears the glove and when the subject moves, the glove relays the information from sensors built-in the glove to a computer or other recording device.

Advantages

  • Exact measurements of positions, angles, velocities of the fingers, thumb, arms and so on.
  • It is unaffected by lighting conditions, static/dynamic backgrounds, color and pattern of clothes worn by the subject, and subject skin tones.
  • No obstruction problems. It doesn't matter if one hand is in front of another.

Disadvantages

  • Cumbersome in non-laboratory settings.
  • Artificial; most people don't wear gloves in their day-to-day activities (at least here in the tropics).
  • Gloves bring additional equipment costs if we are creating practical applications of sign language recognition.

2009-03-13

video recording update

Update: changed photo URLs to point to Flickr

After 4 sessions, we now have 80 signs, with each sign performed by two signers. Many thanks to my models Rommel and Mary Jane.

FSL-01 Rommel waits patiently while we get the lights going.

A reflector was placed in front of the signers (supported by two chairs) to bounce the light up and soften the shadows in the face. We had two lights, one on the left and one on the right, facing the signer approximately 180 cm away.



FSL-02
Mary Jane and Rommel discuss the signs to be performed.
When Rommel is seated in front of the camera, Mary Jane is seated at the behind the camera to prompt Rommel which sign to perform next. Then they switch places after one set of signs have been performed. The signs were arranged into groups 10.

Next: Really cheap lights

2009-02-27

MATLAB vs Octave: first impressions

MATLAB is a very nice computation and data analysis tool. Many engineering and science research I have come across use MATLAB. Octave is another computation and data analysis tool that is mostly compatible with MATLAB. It is also Free/Open Source Software.

Much like OpenOffice.org vs Microsoft Office; and GIMP vs Adobe Photoshop, comparisons will be made between the proprietary software and their similar Free/Open Source Software counterparts. Here are my impressions from about two weeks worth of fiddling around.

  • Mostly compatible is probably the best way to say it. Format and syntax is (almost) the same between the two. Functions and parameters to the functions are (almost) the same. M-code that runs in MATLAB (mostly) runs in Octave and vice-versa.
  • Graphs looks better in MATLAB than in Octave. Some things are not implemented (yet) in Octave like shading interp and dotted lines. I think Octave uses Gnuplot for plotting, but I have to read the documentation to be sure.
  • No MATLAB compatible GUI in Octave. This can be a deal-breaker for some.
  • Command-line interface for Octave. Again, this can be a deal-breaker for some. I am used to the command-line so this doesn't bother me much. There is a Qt GUI for Octave, called QtOctave available in the Fedora repositories.

I'll probably end up using MATLAB since their visualization tools look better, and they have GUI functions. However, I will try to separate the visualization code and the computation and analysis code so I can still run the analysis in Octave.

progress report 2009-02-28

We have recorded 50 signs (FSL) with two native signers and we plan to record 50 more in the next two weeks. The Digital Signal Processing (DSP) Lab at the EEE Institute next door have been kind enough to assist us. They have a Sony HandyCam with a built-in hard drive. Our raw samples are recorded at 720x480 at 30 fps.

I forgot to bring my camera last week. No pictures yet. I'll make another post with a shot of our setup

Notes and observations

  • You can make decent studio lights using a fluorescent bulb, cardboard and aluminium foil.
  • Tracing paper makes a good diffuser. More layers mean softer lights. Space between the papers soften the lights better than just stacking more paper.
  • Three hours is about the limit. Any longer than that and you start making mistakes more often.
  • Masking tape is very versatile. Just make sure you buy a good brand. Good masking tape should be sticky without leaving any residue.
  • Don't worry about bloopers. Just save it and go; Hard disk space is cheap enough and you could still find some use for it later.

2009-02-18

stuck in a rut

Sometimes, when doing research, we find going in circles. We keep hitting a wall. We run faster and faster only to find we hardly moved. That's where I was this past two weeks. I found that I loose interest quickly if I cannot see the goal. Or I can see the goal, but I cannot see the next milestone. The solution I found would be to look at the research roadmap and figure out where to go from there.

I also found that I am very vulnerable to mental fatigue. Tedious, repetitive tasks (like editing and converting videos), reading too much (so. many. papers.) or thinking about one particular problem (like algorithm design) pound my poor brain into mush. The solution that works for me is to switch tasks; when I start to feel fatigued, I go do something else, preferably something very different from what I was originally doing. Hobbies become very critical for maintaining sanity.

It's nice to see that I can still learn something new about myself.

2009-02-03

Video Processing - version 1

First Attempt at video processing

We don't know yet what to expect, so we'll just try things out and see what sticks. We'll use that as a starting point. We already have a small pilot video. We just need to convert it to something we can play with, starting with color.

To simplify things, we'll start by removing color:

Monochrome (1-bit) or Black and White with dithering looks too noisy.

Monochrome without dithering looks flat. The AI might miss out on important features.

Grayscale looks the best among the three.

We don't know how big an image/video we need. We'll just scale out samples from 320x240 to 160x120 and 80x60. We'll also resample the video from 30-frames per second (fps) to 24-fps and 16-fps. This will give us 9 (3 sizes x 3 fps) combinations to play with.

2009-02-02

Data Collection

update: I lost the pictures

In order to teach the machine FSL, video recordings of native signers are needed. For the first (pilot) stage, 50 1-handed (1H) signs and 57 2-handed (2H) signs will be recorded. Only traditional signs were selected. Each sign will be recorded in isolation; hands and arms start at a neutral position and will return to the neutral position after each sign. For comfort, the signer will be seated. To simplify processing, signers will wear black short-sleeved shirts and will be seated in front of a plain black background. Each video will be shot (and probably cropped) to include the whole signing space and little bit of space on the sides. The picture shows the neutral position.

In addition, 96 hand shapes will we recorded in isolation. Only the hand and a bit of the forearm will be included in the shot. Each hand shape will be recorded moving through six palm orientations.

The signs are grouped according to their basic hand shapes: Solid, Plane, Arc, Line and Other. Solid hand shapes are formed by forming a fist (or similar to it); Plane hand shapes have all (or most) fingers extended; Arc hand shapes have the fingers curved (round); Line hand shapes have one (or two) fingers selected and extended; Other is for everything else. Signs belong to one group; the groups are mutually exclusive. Note that this grouping is more for organizational purposes and nothing else; several hand shapes can be argued to belong to two (or more) groups .

This is not meant to be a comprehensive recording of FSL but rather a starting point for the research. A comprehensive collection of FSL recordings are another project.

2009-01-20

Search Compensates for Lack of Knowledge

Problem solving can sometimes be modeled as a search problem i.e. we can restate the problem as looking for the answer in the among all candidate answers. For example, solving a jigsaw puzzle can be restated as "Which among all the possible arrangements of pieces do the pieces fit together to form the picture?". The set of "all possible arrangements of pieces" is our solution space and we need to search that space for the correct arrangement.

Sometimes we don't know how to solve the problem, so we use trial-and-error; we try out a solution at random and see if that solves our problem. Search long enough, try enough number of pieces and you will eventually put together the puzzle. This is what is meant by Search Compensates for Lack of Knowledge.

The converse is also applies: Knowledge Compensates for Lack of Search. If you cannot or don't want to spend most of your time searching, you need to search smarter. Which piece fits this piece? You then only try pieces that might fit. What color is this part of the puzzle? If you know this part of the puzzle is blue, you only try blue pieces.

Restated to apply to a larger domain:

  • If you don't have the talent, work harder.
  • If there's too much work, work smarter.

2009-01-19

Short Introduction to Sign Language, part 2

Part 1 here

Signing space is a three-dimensional space from about the mid-torso to just above the head, extending forward from the chest to about one-arm length away, and extending about half an arm's length on both sides. During most signs, the hands and arms do not go beyond this space.

Fingerspelling space is a small space just large enough to fit the hand; it is located midway near the chin and shoulder. Note that the fingerspelling space is still located within the signing space. Fingerspelling space is where the hands are used to spell out letters borrowed from a written language.

One or both hands may be used in signing, depending on the sign and the sign language. In the case where two-hands are used where only one hand is moving, the moving hand is called the dominant hand (DH) and the stationary hand is called the non-dominant hand (NDH) or the passive hand. Two-handed signs where both hands move in the same path and use the same handshapes are sometimes called symmetrical signs.

There are no left-handed or right-handed signs, one-handed signs may be performed with either left hand or right hand; and either hand may be used as the dominant hand in two-handed signs. In practice, right-handed people usually use their right hand for one-handed signs, fingerspelling, and as the DH in two-handed signs; and left-handed people usually use their left.

2009-01-16

Short Introduction to Sign Language, part 1

Update: Part 2 here

Sign Language is the natural language of the Deaf. It is a visual language and those who use sign language are called signers. Signers use their hands, shoulders, arms, torso, neck and face to communicate. In spoken languages, the basic unit of sound utterance is called a phonemes. Similarly, the basic unit of sign language are also called phonemes even though they are not based on sound.

The Liddel and Johnson model Sign language has five parameters that describe phonemes:

  1. handshape - decribed by which fingers and/or thumb are selected and flexed
  2. palm orientation (or just "orientation")- described by where the palm is facing
  3. hand location (or just "location") - described by where one or both hands are with respect to the face, shoulders, arms, and torso
  4. movement - described by movement of fingers, thumb, hand and arms
  5. non-manual signals (NMS) - which includes facial expression and body posture

Initial inventory of Filipino Sign Language (FSL) observed over ninety handshapes, approximately twenty locations, and six orientations. Movement can be grouped generally into two categories: gross arm movement (tracking the path of the hand and arm) and internal movement (changes in hand shape).

Liddell and Johnson further grouped these into segments; a Movement segment (M) and a Hold segment (H). Movement segments are portions of the sign where the hands (and arms) are motion or the hand shape is in transition. Hold segments are portions of the sign where there is no motion or where hand shapes are in steady state. Signs are then composed of one or more segments. For example, HMH means there is a Hold segment followed by a Movement segment followed by a Hold segment.

Segments observed in FSL include H, M, MH, HMH, and MHMH.

2009-01-11

Disclaimer

Any errors and mistakes found here are mine. If I have misunderstood anything, please don't hesitate to point them out.Corrections and updates will be posted as soon as I am able.

Thank you!