Andrew Curtin Noah Klugman Jack Schultz Overview Camera Overview Camera Basics What to look for in an embedded camera Camera Examples Overview Camera Overview Camera Basics What to look for in an embedded camera ID: 145453
Download Presentation The PPT/PDF document "Cameras" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Cameras
Andrew Curtin, Noah Klugman, Jack SchultzSlide2
Overview
Camera Overview
Camera Basics
What to look for in an embedded camera
Camera ExamplesSlide3
Overview
Camera Overview
Camera Basics
What to look for in an embedded camera
Camera ExamplesSlide4
Camera Basics
Quick Overview
Lens
Focus
Zoom
Shutter
SLR vs. point and shoot
minor differencesSlide5
Camera Basics:
Quick OverviewSlide6
Camera Basics:
LensSlide7
Camera Basics:
LensSlide8
Camera Basics:
ShutterSlide9
Camera Basics:
SLR vs. Point and ShootSlide10
Overview
Camera Overview
Camera Basics
What to look for in an embedded camera
Camera ExamplesSlide11
What to look for in a Camera
Image Sensor
Color
Resolution
Digital Shutter
Artifacts
Power & Heat
Interface
Speed & Frame Rate
Auxiliary components
Flash
CompressionSlide12
Image Sensors
Convert photons to electrons
Integrating the amount of light over time
photons hit a pixel and are converted to charge
charge directly proportional to amount of lightSlide13
Image Sensors:
CCD
Older technology
Higher quality
CMOS is catching up
Pixels must be read one at a time
O(mn)Slide14Slide15
Image Sensors:
CMOS
Lower power
CCD is catching up
Smaller physical size
Can be manufactured on with standard chip making equipment
Can read a whole row at once
O(n)Slide16Slide17Slide18
Image Sensors:
ColorSlide19
Image Sensors:
ColorSlide20
Image Sensors:
ColorSlide21
Image Sensors:
ResolutionSlide22
Image Sensors:
Digital Shutter
CMOS can use a digital shutter
CMOS sensors can reset individual rows
this allows for a rolling shutter, which is completely electronic
can read one row and reset another simultaneously
CCD requires mechanical shutter
CMOS can use mechanical shutter tooSlide23Slide24
Image Sensors:
Artifacts: CCD
Vertical SmearingSlide25
Artifacts: CCD
Vertical Smearing
CMOS
CCDSlide26
Image Sensors:
Artifacts: CMOS
Rolling shutter
Video 1
Video 2Slide27
Image Sensors:
Artifacts: CMOS
Partial ExposureSlide28
Image Sensors:
Power & Heat
CCD traditionally uses more power than CMOS
more power usage = more heat
this gap is closing with timeSlide29
Interfaces
UART
SPI
I2C
Camera Interface (CSI)
USB
GigE Vision
CompositeSlide30
Interfaces:
Speed & Frame Rate
High resolution photos take up a lot of space
Frame rate is frequency of images
Higher frame rate requires more bandwidth
or use real time image compression
Can increase frame rate based on baud rateSlide31
Interfaces:
UART
4 pins
Tx, Rx, Power, GND
0-5 V signal
Short distance, standard around 10 feet
large voltage swing
typical camera interface around 100KHzSlide32
Interfaces:
SPI
4 wire
MOSI, MISO, SCK, SS
easy to understand
Faster than I2C
Speeds of over 10Mb/s
higher throughput than I2C
Requires more pins
Short distances, standard around 10 ft
longer if careful with noise or use repeatersSlide33
Interfaces:
i2c
2 wires
SDA/SCL
Original SCL speed is 100kHz
5MHz Ultra Fast-mode with version 4.0 in 2012
Harder to use than SPI but more elegant
Easier to put multiple cameras on bus
Throughput down due to overhead of addressing and acknowledgements
Short distance, standard around 10 ft,
goes up as frequency descreases
bus must have less than 400pF capacitanceSlide34
Interfaces
Camera Interface (CSI)
8 to 12 bit parallel data line
Horizontal Sync, one line of frame transmitted
Vertical Sync, entire frame transferred
Pixel Clock, change on every pixel
Cellphones
Raspberry Pi
15 pin CSI interface
no supported camera module yet
High resolution, high bandwidthSlide35
Interfaces:
Camera Interface (CSI)Slide36
Interfaces:
USB
Refer to USB group's presentation
Common, cheap
Fast, high bandwidth
A pain to work with
Medium distanceSlide37
Interfaces:
GigE Vision
transmitting high-speed video over Ethernet
used for industrial machine vision
open standard
1000Mbit/s
100m length, can use switches and repeaters
expensive
starting around 800 dollars
high speed
scalable
around 200 cameras support itSlide38
Interfaces:
Composite Video
Analog
Old standard
from 1950s!
Low resolution
480i (640x480, interleave)
576i (704x576, interleave)
Needs a decoder
Hardware decoder
fast
more expensive
Software decoder
needs lots of cpu resources
high bandwidthSlide39
Interfaces:
Summary
higher resolution and higher frame rate lead to higher bandwidth requirements
low level protocols are good but distance limited
cheap and easy
SPI is fast
I2C is elegant
consumer protocols are good
a pain to work with
industrial protocols are good and not as distance limited
but they are expensiveSlide40
Auxiliary Components:
Flash
Xenon
More expensive than LED
More power than LED
No continuous mode
Closeups ruined
Need capacitor and boost circuit
Much brighter
LED
Not as bright as Xenon
Continuous mode
Dual LED
minimize shadows
not twice rangeSlide41
Auxiliary Components:
Off Board Memory
Secure Digital (SD) card
class 2, 4, 6, 10
microSD
cheap
SDHC
different hardware level, backward compatible
UHS-II 312 MBs!
getting cheaper
Compact flash
20 MBs typical
1 GBit/s new generation!
memory controller on card
less common, more expensiveSlide42
Image Compression
RAW
Minimally processed
Very large files
Lossless
Like a negative
Compression starts from thisSlide43
Image Compression
JPEG
Smaller format
different levels of compression
lossy
as compression increases artifacts increase and high frequency data is lostSlide44
Image Compression
VGA, QVGA, QQVGA
Confusing and can mean lots of different things
VGA resolution: 640x480
QVGA is a quarter of that, QQVGA...
most common 16 colors, 60Hz, non-interlaced
each frame is drawn in sequenceSlide45
Overview
Camera Overview
Camera Basics
What to look for in an embedded camera
Camera ExamplesSlide46
CMOS Camera
Sparkfun
640x480 pixel
30fps
2.8V Supply
Based on Fast Mode I2C
RGB color filter
6x6x4.5 mm
$9.95Slide47
CMOS Camera:
InterfacingSlide48
CMOS Camera:
InterfacingSlide49
CMOS Camera:
InterfacingSlide50
LinkSprite JPEG Color
UART
5V power
32x32 mm
Works with arduino
$44.95
VGA resolution
Great documentationSlide51
LinkSprite JPEG Color:
Interface
UART
Power (5V)
Ground
RX
TX
JST jumper
connect to ArduinoSlide52
LinkSprite JPEG Color:
Operations
Reset
Take a picture
Read JPEG file size
Read JPEG file content
Stop taking pictures
Change compression ratio
Change image size
Power saving
Change baud rateSlide53
LinkSprite JPEG Color:
Take picture
Send 56 00 36 01 00 hex
Arduino code
mySerial.begin(38400);
//Send take picture command
void SendTakePhotoCmd()
{
mySerial.print(0x56, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x36, BYTE);
mySerial.print(0x01, BYTE);
mySerial.print(0x00, BYTE);
}Slide54
LinkSprite JPEG Color:
receive image
//Read data
void SendReadDataCmd()
{
MH=a/0x100;
ML=a%0x100;
mySerial.print(0x56, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x32, BYTE);
mySerial.print(0x0c, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x0a, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(MH, BYTE); //starting address
mySerial.print(ML, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x00, BYTE);
mySerial.print(0x20, BYTE); //data length
mySerial.print(0x00, BYTE);
mySerial.print(0x0a, BYTE);
a+=0x20;
}Slide55
HackHD - 1080p
65x40x25 mm
Video - 30fps
AVI - codec?
SD storage
video can be viewed while recording
3.7V
On board mic
$159.95Slide56
HackHD - 1080pSlide57
HackHD - 1080p:
Handheld Use
Power
3.7V
3 AA 1.5V batteries
Button to start and stop recording
can be interfaced with microcontroller
Audio
has on board mic
can use better mic if attached
Storage
on board SD
can do live stream tooSlide58
HackHD - 1080p:
Arduino
Mimic button press when event
Check status with LED signals
Reactive applicationsSlide59
HackHD - 1080p:
Real Time
Composite Output
Decoder Chips
Software Decoding
Needs bandwidth
Processing power
Hardware Decoding
Fancier hardware
More expensive
Large processing requirements
Wireless video transmitter
off board processing/viewingSlide60
HackHD - 1080p:
Uses
High Altitude balloon
RC airplanes
Robots
Helmet Camera
Game CameraSlide61
Slide62
Questions?Slide63
Thank You
Sources:
Wikipedia
http://dvxuser.com/jason/CMOS-CCD/
https://www.dalsa.com/public/corp/Photonics_Spectra_CCDvsCMOS_Litwiller.pdf
http://www.eeherald.com/section/design-guide/esmod11.html
http://www.ni.com/white-paper/3287/en#toc3
http://www.visiononline.org/vision-standards-details.cfm?type=5