Ruby 3D Depth Camera

Ruby 3D Depth Camera
Manwal sa Gumagamit
(v1.0) Septiyembre 28, 2022
MGA TEKNOLOHIYA SA PANAN-AW
Nerian Vision GmbH Zettachring 2
70567 Stuttgart Alemanya
Email: service@nerian.com www.nerian.com

Mga sulod

1 Nahuman ang Pag-andarview

4

2 Lakip nga mga Bahin

4

3 Kinatibuk-ang Detalye

4

3.1 Mga Detalye sa Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.2 Pagpares sa Stereo . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.3 Mga Rate ug Resolusyon sa Frame . . . . . . . . . . . . . . . . . . . 5

4 Kaluwas sa Laser

5

5 Mga Pagpiho sa Mekanikal

6

5.1 Mga Dimensyon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.2 Pag-mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.3 Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6 Pisikal nga Interface

9

6.1 Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . 9

6.2 Suplay sa Gahum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6.3 GPIO Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6.3.1 Pag-trigger Output . . . . . . . . . . . . . . . . . . . . . . . 11

6.3.2 Trigger Input . . . . . . . . . . . . . . . . . . . . . . . . 11

6.3.3 Synchronization pulse (PPS) . . . . . . . . . . . . . . . . 11

6.4 I-reset ang Butang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.5 Status LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7 Mga Resulta sa Pagproseso

13

7.1 Gitul-id nga mga Larawan . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

7.2 Disparity Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

7.3 Kolor nga Imahe nga Projection . . . . . . . . . . . . . . . . . . . . . . . 16

7.4 Panahonamps ug Sequence Numbers . . . . . . . . . . . . . . . . 16

8 Konfigurasyon sa Networking

17

8.1 IP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8.2 Jumbo nga mga Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

9 Configuration

19

9.1 Kahimtang sa Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

9.2 Preset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

9.3 Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

9.4 Mga Setting sa Pagkuha . . . . . . . . . . . . . . . . . . . . . . . . . 23

9.4.1 Mga Setting sa Format . . . . . . . . . . . . . . . . . . . . . . . 23

9.4.2 Frame Rate . . . . . . . . . . . . . . . . . . . . . . . . . 24

1

9.4.3 Pagkontrol sa Exposure . . . . . . . . . . . . . . . . . . . . . . 24 9.4.4 Pagkontrol sa White Balance . . . . . . . . . . . . . . . . . . . 24 9.5 Mga Setting sa Network . . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.6 Mga Kanal sa Output . . . . . . . . . . . . . . . . . . . . . . . . . . 26 9.7 Pagmentinar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.8 Pag-calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.8.1 Calibration Board . . . . . . . . . . . . . . . . . . . . . . 29 9.8.2 Pagpugong sa gidak-on sa hulagway para sa pag-calibrate . . . . . . . . 30 9.8.3 Pagrekord sa Calibration Frames . . . . . . . . . . . . . . . 31 9.8.4 Pagbuhat sa Calibration . . . . . . . . . . . . . . . . . . . 31 9.9 Mga Setting sa Pagproseso . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.9.1 Mode sa Operasyon . . . . . . . . . . . . . . . . . . . . . . 32 9.9.2 Disparity Settings . . . . . . . . . . . . . . . . . . . . . . 33 9.9.3 Mga Setting sa Algorithm . . . . . . . . . . . . . . . . . . . . . 33 9.10 Advanced nga Auto Exposure ug Gain Settings . . . . . . . . . . . 35 9.10.1 Exposure ug Gain . . . . . . . . . . . . . . . . . . . . . 35 9.10.2 Mga Manwal nga Setting . . . . . . . . . . . . . . . . . . . . . . . 36 9.10.3 Mga Setting sa ROI . . . . . . . . . . . . . . . . . . . . . . . . 37 9.11 Mga Setting sa Pag-trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.12 Pag-synchronize sa Oras . . . . . . . . . . . . . . . . . . . . . . . 38 9.13 ReviewMga Resulta sa Pag-calibrate. . . . . . . . . . . . . . . . . . . 39 9.14 Auto Re-calibration . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.15 Rehiyon sa Interes . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.16 Inertial Measurement Unit . . . . . . . . . . . . . . . . . . . . . 43 9.16.1 Pag-calibrate sa inertial nga yunit sa pagsukod . . . . . . . 44

10 Impormasyon sa Paggamit sa API

45

10.1 Kinatibuk-ang Impormasyon . . . . . . . . . . . . . . . . . . . . . . . . 45

10.2 Pagbalhin sa Imahe Example . . . . . . . . . . . . . . . . . . . . . . 45

10.3 AsyncTransfer Example . . . . . . . . . . . . . . . . . . . . . . 47

10.4 3D nga Pagtukod . . . . . . . . . . . . . . . . . . . . . . . . . 48

10.5 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

11 Gihatag nga Software

49

11.1 NVCom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

11.2 GenICam GenTL Producer . . . . . . . . . . . . . . . . . . . . 50

11.2.1 Pag-instalar . . . . . . . . . . . . . . . . . . . . . . . . . 50

11.2.2 Virtual nga mga Device . . . . . . . . . . . . . . . . . . . . . . . 51

11.2.3 Device ID . . . . . . . . . . . . . . . . . . . . . . . . . . 52

11.3 ROS Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

12 Suporta

52

13 Impormasyon sa Garantiya

53

2

14 Open Source nga Impormasyon

53

3

3 KINATIBUK-ANG ESPISPIKASYON

1 Nahuman ang Pag-andarview
Ang Ruby usa ka stereo-vision-based depth camera. Ang duha ka mga sensor sa imahe nga monochrome nagrekord sa usa ka talan-awon sa gamay nga kalainan viewmga posisyon. Pinaagi sa pag-correlate sa datos sa imahe gikan sa duha ka mga sensor sa imahe, si Ruby makahunahuna sa giladmon sa matag naobserbahan nga punto. Ang computed depth map gipasa pinaagi sa 1G Ethernet ngadto sa konektado nga computer o sa laing embedded system. Ang usa ka dugang nga sensor sa kolor gigamit alang sa pagkuha sa kasayuran sa kolor, ug ang kolor nga imahe awtomatik nga gipahiangay sa giladmon nga datos.
Si Ruby makahimo sa mga pagsukod nga aktibo o pasibo. Alang sa aktibo nga pagsukod, gigamit ang usa ka projector sa laser sa pagproyekto sa usa ka pattern sa makita nga mga ibabaw. Gitugotan niini ang mga butang nga masukod bisan kung kini adunay uniporme ug wala’y texture nga hitsura.
Sa mga sitwasyon diin ang giplano nga pattern dili maobserbahan, tungod sa hayag nga ambient nga kahayag, taas nga gilay-on sa pagsukod o tungod kay ang projector nabaldado, ang mga pagsukod mahimo gihapon nga makuha nga pasibo. Sa kaso sa passive measurements, gikinahanglan ang igo nga texture sa ibabaw aron makuha ang tukma nga mga resulta.

2 Lakip nga mga Bahin
Ang mosunod nga mga bahin kinahanglang iapil sa dihang mag-order ug bag-ong Ruby 3D depth camera gikan sa Nerian Vision Technologies:
· Ruby 3D depth camera · 12 V DC power supply nga adunay mabaylo nga mga konektor sa mains para sa Eu-
pisi, North America, United Kingdom ug Australia · Giimprinta nga manwal sa paggamit · Ethernet cable, 3 m
Kung adunay bisan unsang mga butang nga nawala, nan palihug kontaka ang suporta sa kustomer.

3 Kinatibuk-ang Detalye

3.1 Mga Detalye sa Hardware
Image sensor Image Resolution Sensor format Focal length Field of View Aperture Pattern nga projector

IMX296 1.5 MP 1/2.9″ 4.18 mm 62.2° × 48.8° (74.0° diagonal) 3.0 Random nga tuldok nga laser (klase 1)

4

3.2 Pagpares sa Stereo

4 LASER KALIGTASAN

Projector wavelength Inertial sensor (IMU) Max. IMU measurement rate Power supply Power consumption Dimensions Timbang I/O Operating temperature Conformity

830 nm BNO085 400 Hz (magnetometer: 100 Hz) 11.2 30 V DC 9W 130 × 92.5 × 34.5 mm ca. 450 g Gigabit Ethernet, GPIO 0 40°C CE, FCC, UKCA, RoHS, Laser nga klase 1

3.2 Pagpares sa Stereo
Stereo algorithm Max resolution Gisuportahan nga pixel format Disparity range Frame rate Sub-pixel resolution Post-processing

Variation sa Semi-Global Matching (SGM) 1440 × 1056 pixels Mono8, Mono12, RGB8 32 to 256 pixels hangtod sa 60 fps 4 bits (1/16 pixel) Consistency check, uniqueness check, gap interpolation, noise reduction, speckle filtering

3.3 Mab-ot nga Frame Rate ug Image Resolution
Ang kinatas-an nga frame rate nga mahimong makab-ot nagdepende sa gi-configure nga resolusyon sa imahe ug disparity range. Ang talaan 1 naghatag ug lista sa girekomendar nga mga pag-configure. Kini usa lamang ka subset sa magamit nga wanang sa pag-configure. Ang lainlaing mga resolusyon sa imahe ug mga sakup sa kalainan mahimong magamit aron matubag ang piho nga mga kinahanglanon sa aplikasyon.

Talaan 1: Maximum nga frame rate pinaagi sa resolusyon sa hulagway ug disparity range.

Disparity Range
128 ka pixel 256 ka pixel

Resolusyon sa Hulagway 720 × 512 1024 × 768 1440 × 1026

60 fps n/a

30 fps 17 fps

15 fps 8 fps

4 Kaluwas sa Laser
Ang Ruby adunay infrared laser projector nga dili makita sa mata sa tawo. Ang laser nagsunod sa internasyonal nga mga sumbanan IEC 60825-1: 2014 ug DIN EN 60825-1: 2015 alang sa Klase 1. Busa, ang laser giisip nga luwas sa mata ug dili kinahanglan ang mga pag-amping sa kaluwasan.
5

5 MEKANIKAL NGA ESPESPIKASYON
Figure 1: Laser label sa ubos nga bahin ni Ruby.
Ang Class 1 nga laser notice makita sa label sa produkto sa ubos nga bahin sa device. Kini nga label gihulagway sa Figure 1.
Ang bisan unsang mga pagbag-o o pagbag-o nga gihimo sa sistema nga dili klaro nga giaprubahan sa tiggama mahimo’g makawala sa awtoridad sa tiggamit sa pag-operate sa kagamitan.
5 Mga Pagpiho sa Mekanikal
5.1 Mga Dimensyon
Ang mga numero 2 ug 3 nagpakita kang Ruby nga makita gikan sa lain-laing direksyon. Ang gihatag nga mga sukod gisukod sa milimetro.
5.2 Pag-mount
Ang housing ni Ruby adunay duha ka mounting bracket sa mga kilid sa device. Ang matag mounting bracket adunay duha ka slotted hole, nga nagtugot kang Ruby nga i-mount sa patag nga nawong. Ang mga sukod ug pagbutang sa mga slotted hole gihatag sa Figure 2b.
Dugang pa, ang Ruby adunay 1/4 ″ UNC threaded hole sa ubos nga bahin. Gitugotan niini si Ruby nga ma-mount sa usa ka standard tripod sa camera.
5.3 Temperatura
Ang Ruby mahimong operahan nga walay dugang nga mga lakang sa ambient nga temperatura tali sa 0°C ug 40°C. Kung gikinahanglan ang operasyon sa mas taas nga temperatura sa palibot, ang dugang nga mga lakang sa pagpabugnaw kinahanglan buhaton. Ang ingon nga mga lakang mahimo’g maglangkob sa pag-mount ni Ruby sa usa ka thermally conductive surface ug/o paggamit og fan aron madugangan ang pag-agos sa hangin. Palihog bantayi ang mga sensor sa temperatura sa device (tan-awa ang Seksyon 9.1) sa pag-operate sa Ruby sa maong taas nga temperatura sa palibot.
6

5.3 Temperatura

5 MEKANIKAL NGA ESPESPIKASYON

(a) atubangan view

(b) Ibabaw view
Hulagway 2: (a) Atubangan ug (b) ibabaw view ni Ruby nga adunay mga dimensyon sa milimetro.
7

5.3 Temperatura

5 MEKANIKAL NGA ESPESPIKASYON

(a) Balik view

(b) Ubos view
Hulagway 3: (a) Balik ug (b) ubos view ni Ruby nga adunay mga dimensyon sa milimetro.
8

6 PISIKAL NGA MGA INTERFAS
Figure 4: Anaa nga mga interface sa luyo.
6 Pisikal nga Interface
6.1 Interface Overview
Gipakita sa Figure 4 ang magamit nga pisikal nga mga interface sa luyo ni Ruby. Kini nga mga interface mao ang: DC power connector: Nagkonektar sa usa ka power supply sulod sa gitugot
voltage range (tan-awa ang Seksyon 6.2). GPIO port: Nagpagawas ug trigger signal o nag-synchronize ni Ruby sa external
tinubdan sa trigger. Naglihok usab ingon usa ka input alang sa pulso sa pag-synchronize sa oras (tan-awa ang Seksyon 6.3). Ethernet port: Port para sa pagkonektar kang Ruby sa usa ka computer sa kliyente o sa laing embedded system pinaagi sa 1G Ethernet. Kini nga pantalan gigamit alang sa paghatod sa mga resulta sa pagproseso ug sa paghatag og access sa interface sa configuration. Button sa pag-reset: Button alang sa pag-reset sa firmware sa device balik sa kahimtang sa pabrika (tan-awa ang Seksyon 6.4). Power LED: Usa ka berde nga LED nga nagpaila nga ang aparato gipaandar. LED status sa link (berde): Nagpakita kung malampuson nga natukod ang usa ka link sa Ethernet (tan-awa ang Seksyon 6.5) LED status sa pag-angkon (orange): Nagpakita sa kahimtang sa pagkuha sa imahe ug nagreport sa mga potensyal nga pagkapakyas sa laser (tan-awa ang Seksyon 6.5).
9

6.2 Suplay sa Gahum

6 PISIKAL NGA MGA INTERFAS

1 6

Pin Assignment 1 Trigger input (opto-isolated) 2 Sync input (opto-isolated) 3 Trigger output (opto-isolated) 4 Opto GND 5 +5V 6 GND

Figure 5: Pin assignment sa GPIO connector.

6.2 Suplay sa Gahum
Ang power connector kinahanglan nga konektado sa gihatag nga power adapter o laing angay nga voltage tinubdan. Kung mogamit ug alternatibong suplay sa kuryente, palihug siguroha nga ang voltage anaa sa gitugot nga range nga 11.2 – 30 V DC. Taas nga voltagMahimong makadaot kini sa aparato. Ang usa ka suplay sa kuryente kinahanglan nga adunay marka nga labing menos 10 W.
Ang power connector naggamit ug female barrel jack nga adunay internal diameter nga 6.5 mm ug usa ka pin diameter nga 2 mm. Ang mating connector kinahanglan nga adunay usa ka gawas nga diametro nga 5.5 mm. Ang polarity kinahanglan nga sentro nga positibo.

6.3 GPIO Port
Ang GPIO port naghatag og access sa mosunod nga mga signal:
· Pag-trigger nga output
· Pag-aghat sa input
· Pag-synchronize sa pulso (PPS)
· + 5V DC nga output
Ang tanan nga data input ug output signal konektado pinaagi sa opto-coupler. Busa, ang Opto GND pin kinahanglang gamiton isip ground reference sa tanang signal.
Dugang pa sa mga signal sa I/O, si Ruby naghatag ug 5V DC output, nga makahatag ug kasamtangang hangtod sa 100 mA. Kung ang kasamtangan nga limitasyon molapas, ang output sa kuryente mapalong.
Ang GPIO connector naggamit ug usa ka babaye nga Molex Micro-Lock Plus 505567 series connector. Ang buluhaton sa pin gipakita sa Figure 5. Ang mosunod nga mga numero sa bahin sa pabrika katumbas sa matching connectors, ug kinahanglan gamiton alang sa interfacing:

45111-0606 204532-0601

Matching connector nga adunay 600 mm cable Matching connector nga walay mga cable

Ang mga kinaiya sa matag indibidwal nga signal sa I/O gihulagway sa mosunod nga mga subseksyon.

10

6.3 GPIO Port

6 PISIKAL NGA MGA INTERFAS

Trigger Output 6

1

Opto GND

4

3

TLP293

GND

Figure 6: Schematics sa trigger output circuit

6.3.1 Pag-trigger Output
Sa usa ka aplikasyon sa panan-awon sa makina, mahimong gikinahanglan nga i-synchronize ang ubang mga sensor o suga (pananglitan usa ka pattern nga projector) sa pagkuha sa imahe ni Ruby. Alang niini nga katuyoan, si Ruby makapagawas ug open collector trigger signal sa GPIO pin 3. Ang signal gilain pinaagi sa opto-coupler sama sa gipakita sa circuit diagram sa Figure 6.
Ang hingpit nga labing taas nga mga rating sa opto-coupler mao ang:

Kolektor-emitter voltage: max. 80 V

Emitter-collector voltage: max. 7 V

Kolektor kasamtangan:

max 50 mA

Pagkawala sa gahum sa kolektor: max. 100 mW

Palihug tan-awa ang Seksyon 9.11 para sa dugang nga mga detalye kon unsaon pag-configure ang gatilyo nga output.

6.3.2 Trigger Input
Imbis nga i-synchronize ang ubang mga ekipo sa pagkuha sa imahe ni Ruby, mahimo usab nga i-synchronize ni Ruby ang pagkuha sa imahe niini sa usa ka eksternal nga gigikanan sa pag-trigger, gamit ang trigger input signal sa pin 1. Ang voltage ang-ang sa usa ka input trigger signal kinahanglan nga sa taliwala sa 3.3 V ug 24 V. Ruby konsumo sa 2 mA sa kasamtangan niini nga signal. Palihug tan-awa ang Seksyon 9.11 para sa dugang nga mga detalye kon unsaon pag-configure ang trigger input.

6.3.3 Synchronization pulse (PPS)
Ang pulso sa pag-synchronize gikan sa mga pin 2 usa ka signal sa input nga magamit alang sa pag-synchronize sa internal nga orasan ni Ruby nga adunay taas nga katukma. Kanus-a madawat ang usa ka positibo nga sulud sa signal, mahimo’g i-reset ni Ruby ang internal nga oras sa 0 o i-save ang karon nga oras sa sistema ug ipadala kini sa sunod nga frame. Ang voltage niini nga pulso kinahanglan nga tali sa 3.3 ug 24 V. Sa usa ka tipikal nga aplikasyon, ang pulso namugna gikan sa usa ka Pulse Per Second (PPS) nga tinubdan.
Palihog tan-awa ang Seksyon 9.12 para sa mga detalye kon unsaon pag-configure ang synchronization pulse ug uban pang mga pamaagi sa pag-synchronize sama sa PTP o NTP.

11

6.4 I-reset ang Butang

6 PISIKAL NGA MGA INTERFAS

6.4 I-reset ang Butang
Sa likod nga bahin sa device adunay usa ka recessed reset button. Ang buton gigamit alang sa pag-reset sa firmware ni Ruby sa estado sa pabrika. Ang pag-reset kinahanglan nga himuon kung ang aparato dili mosanong tungod sa usa ka sayup nga pag-configure o pagkadaot sa firmware. Kung gisugdan ang pamaagi sa pag-reset, nawala ang tanan nga mga pag-configure, pagkakalibrate ug gi-install nga mga update sa firmware.
Aron masugdan ang pag-reset, hinayhinay nga pindota ang buton gamit ang pin, samtang ang aparato gipalong. Dayon ikonektar ang gahum samtang gipadayon ang pagpindot sa buton, ug buhii ang buton pagkahuman.
Ang pamaagi sa pag-reset nanginahanglan pipila ka minuto aron makompleto. Kung nahuman na ang pag-reset ang aparato magsugod sa normal ug makit-an sa network nga adunay default nga IP address. Mahimo nimong gamiton ang aplikasyon sa NVCom (tan-awa ang Seksyon: 11.1) aron ma-monitor kung ang aparato mahimong makit-an pagkahuman makompleto ang pag-reset.
6.5 Mga status sa LED
Ang device adunay tulo ka status LEDs, sama sa gihulagway sa Figure 4:
Power LED (berde): Ang power LED mosiga nga berde kung ang aparato gipaandar.
Link status LED (berde): Nagpakita kung ang usa ka Ethernet link malampuson nga natukod. Kung ang LED dili mosiga pagkahuman sa pagkonektar sa usa ka Ethernet cable, nan palihug susiha ang cable alang sa mga kadaot ug siguroha nga ang remote nga sistema (switch o host PC) naglihok.
Ang kahimtang sa pag-angkon LED (orange): Kini nga LED nagreport sa kahimtang sa pagkuha sa imahe ug posible nga pagkapakyas sa laser:
Off: Ang pagkuha sa imahe wala pa magsugod. Kini ang kaso kung ang aparato nag-booting pa. Palihug susiha ang web interface alang sa mga kasaypanan (tan-awa ang Seksyon 9.1), kung ang LED magpabilin nga wala sa pipila ka minuto pagkahuman sa power-up.
Pagkidlap: Malampuson nga nasugdan ang pagkuha sa imahe ug ang aparato naglihok sumala sa katuyoan.
Kanunay nga nag-on: Ang usa ka pagkapakyas sa laser nakit-an ug ang projector sa laser gipalong. Palihug kontaka ang suporta alang sa pagsulbad niini nga kapakyasan.

12

7 PAGPROSESO RESULTA

(a)

(b)

Hulagway 7: Example para sa (a) wala matul-id ug (b) gitul-id nga hulagway sa kamera.

7 Mga Resulta sa Pagproseso
7.1 Gitul-id nga mga Imahen
Bisan sa tukma nga gi-align nga mga sensor sa imahe ni Ruby dili ka makadawat mga imahe nga mohaum sa gipaabut nga resulta gikan sa usa ka sulundon nga stereo camera. Ang mga imahe naapektuhan sa lainlaing mga pagtuis nga resulta sa mga sayup sa optika ug pagbutang sa sensor. Busa, ang una nga pagproseso nga lakang nga gihimo mao ang usa ka operasyon nga dili pagbag-o sa imahe, nga nailhan nga pagtul-id sa imahe.
Ang pagtul-id sa imahe nanginahanglan ug tukma nga kahibalo sa mga projective parameter sa setup sa camera. Kini matino pinaagi sa pag-calibrate sa camera. Palihug tan-awa ang Seksyon 9.8 alang sa usa ka detalyado nga pagpasabut sa pamaagi sa pagkakalibrate sa camera. Ang Ruby ipadala nga pre-calibrated ug ang re-calibration kasagarang dili na kinahanglan sa tibuok kinabuhi sa device.
Ang Figure 7a nagpakita sa usa ka example camera image, diin ang camera gipunting ngadto sa calibration board. Ang mga ngilit sa tabla morag gamay nga kurbado, tungod sa radial distortions tungod sa optika sa camera. Gipakita sa Figure 7b ang parehas nga imahe pagkahuman sa pagtul-id sa imahe. Niining higayona, ang tanang sulab sa calibration board makita nga hingpit nga tul-id.

7.2 Mga Mapa sa Disparity
Ang stereo matching nga mga resulta gihatag sa porma sa usa ka disparity map gikan sa panglantaw sa wala nga monochrome camera. Ang disparity map nag-asoy sa matag pixel sa wala nga hulagway sa camera nga adunay katumbas nga pixel sa tuo nga hulagway sa camera. Tungod kay ang duha ka mga hulagway kaniadto gitul-id aron mohaum sa usa ka sulundon nga stereo camera geometry, ang katugbang nga mga pixel kinahanglan nga magkalahi lamang sa ilang pinahigda nga mga coordinate. Ang disparity map sa ingon nag-encode lamang sa usa ka pinahigda nga kalainan sa koordinasyon.

13

7.2 Mga Mapa sa Disparity

7 PAGPROSESO RESULTA

(a)

(b)

Hulagway 8: Example para sa (a) wala nga hulagway sa camera ug katugbang nga disparity map.

Examples para sa wala nga hulagway sa camera ug ang katugbang nga disparity map gipakita sa Figures 8a ug 8b. Dinhi ang mapa sa disparity gi-color code, nga adunay mga asul nga kolor nga nagpakita sa gagmay nga mga kalainan, ug pula nga mga kolor nga nagpakita sa daghang mga kalainan. Ingon sa makita, ang disparity proporsyonal sa kabaliktaran nga giladmon sa katugbang nga punto sa talan-awon.
Ang disparity range nagtino sa rehiyon sa imahe nga gipangita alang sa pagpangita sa mga korespondensiya sa pixel. Ang usa ka dako nga disparity range nagtugot alang sa tukma kaayo nga mga pagsukod, apan hinungdan sa usa ka taas nga computational load, ug sa ingon nagpaubos sa makab-ot nga frame rate. Gisuportahan ni Ruby ang usa ka ma-configurable nga disparity range (tan-awa ang Seksyon 9.9), nga nagtugot sa user sa pagpili tali sa high-precision o high-speed nga pagsukod.
Posible nga usbon ang disparity map ngadto sa usa ka set sa 3D points. Mahimo kini sa saktong metric scale kung ang sistema na-calibrate sa husto. Ang pagbag-o sa usa ka disparity nga mapa ngadto sa usa ka set sa 3D nga mga punto nanginahanglan ug kahibalo sa disparity-to-depth mapping matrix Q, nga gikuwenta atol sa camera calibration ug gipasa ni Ruby uban sa matag disparity map. Ang 3D nga lokasyon xyz T sa usa ka punto nga adunay mga koordinasyon sa imahe (u, v) ug disparity d mahimong matukod pag-usab sama sa mosunod:

xy =

z

1 w

x · y ,

z

uban sa

x

u

y

z

=

Q

·

v

d

w

1

Kung gamiton ang Q matrix nga gihatag ni Ruby, ang nadawat nga mga koordinasyon masukod sa mga metro kalabot sa sistema sa coordinate nga gihulagway sa Fig-

14

7.2 Mga Mapa sa Disparity
z (optical axis)

7 PAGPROSESO RESULTA
x

y
Figure 9: Coordinate system nga gigamit para sa 3D reconstruction.
ure 9. Dinhi, ang gigikanan motakdo sa sentro sa projection sa lens (ang lokasyon sa aperture sa modelo sa pinhole camera) para sa wala nga monochrome nga kamera. Ang episyente nga pagpatuman niini nga pagbag-o gihatag sa magamit nga API (tan-awa ang Seksyon 10.4).
Gikwenta ni Ruby ang mga disparity nga mapa nga adunay disparity resolution nga ubos sa usa ka pixel. Ang disparity nga mga mapa adunay gamay nga giladmon nga 12 ka bit, nga ang ubos nga 4 ka bit sa matag bili nagrepresentar sa fractional disparity component. Busa gikinahanglan nga bahinon ang matag bili sa disparity map sa 16, aron madawat ang hustong disparity magnitude.
Gipadapat ni Ruby ang daghang mga pamaagi sa pagproseso sa post aron mapauswag ang kalidad sa mga mapa sa disparity. Ang pipila niini nga mga pamaagi makamatikod sa sayop nga mga kalainan ug markahan kini nga dili balido. Ang dili balido nga mga disparidad gitakda sa 0xFFF, nga mao ang labing taas nga kantidad nga mahimong tipigan sa usa ka 12-bit nga disparity nga mapa. Sa exampAng disparity map gikan sa Figure 8b, ang dili balido nga disparities gihulagway nga grey.
Palihug timan-i nga kasagaran adunay usa ka guhit sa dili balido nga mga kalainan sa wala nga utlanan sa imahe sa usa ka disparity nga mapa. Kini nga kinaiya gilauman samtang ang disparity map gikalkula gikan sa panglantaw sa wala nga camera. Ang mga rehiyon sa hulagway sa wala nga kilid sa wala nga hulagway sa kamera dili maobserbahan sa tuo nga kamera, ug busa walay balido nga disparity ang makwenta. Ang layo nga nahabilin sa usa ka butang nahimutang, labi ka layo nga kinahanglan, aron makita usab sa tuo nga camera. Busa, ang bug-os nga giladmon nga han-ay maobserbahan lamang alang sa wala nga mga pixel sa imahe nga adunay pinahigda nga koordinasyon sa imahe u dmax.
Ingon usab, ang dili balido nga mga kalainan mahimong gilauman nga mahitabo sa wala sa bisan unsang butang sa atubangan. Kining sama sa anino nga dili balido nga rehiyon tungod sa makita nga background nga gitakpan sa tuo nga hulagway sa kamera apan dili sa wala nga hulagway sa kamera. Kini nga epekto nailhan nga occlusion shadow ug klaro nga makita sa gihatag nga exampang imahe.
15

7.3 Kolor nga Imahe nga Projection

7 PAGPROSESO RESULTA

(a)

(b)

Hulagway 10: Example para sa (a) disparity map ug (b) projected color image with artifact.

7.3 Kolor nga Imahe nga Projection
Ang wala nga monochrome sensor gigamit isip reference camera alang sa depth computation. Bisan kung ang sensor sa kolor gibutang sa tupad niini, adunay usa ka paralaks (usa ka dayag nga optical shift) tali sa kolor nga imahe ug sa disparity map / left monochrome nga imahe.
Kini nga pagbalhin mahimong mabayran pinaagi sa pagproyekto sa kolor nga imahe balik sa view sa reference camera. Kung mabuhat na kini nga projection, ang katugbang nga mga punto sa imahe tali sa wala nga imahe sa monochrome, mapa sa disparity ug imahe nga kolor ang tanan adunay parehas nga mga coordinate sa imahe, ug ang tanan nga tulo nga mga imahe mahimong direktang ma-overlay.
Si Ruby makahimo sa paghimo niini nga projection nga awtomatiko. Ang projection nagdepende sa giladmon nga mga sukod ug sa kasubo dili perpekto. Kini nagpasabot nga ang pipila ka mga biswal nga artifact ang gipaabut. Ang gidaghanon sa mga artifact nagdepende pag-ayo sa kalidad sa pagsukod sa giladmon. Ilabi na ang mga sulud sa butang mahimong maapektuhan sa mga artifact.
Usa ka gipadako nga subseksyon sa usa ka exampAng kolor nga hulagway ug giladmon nga mapa nga nagpakita niini nga epekto makita sa Figure 10. Sa mga kaso diin ang usa ka paralaks tali sa giladmon nga mga sukod ug kolor nga hulagway madawat, ang mga artifact mahimong malikayan pinaagi sa pag-disable niini nga projection. Para sa dugang nga mga detalye, palihog tan-awa ang Seksyon 9.6.

7.4 Panahonamps ug Sequence Numbers
Ang matag set sa mga imahe nga gipasa ni Ruby, naglakip usab sa usa ka timestamp ug usa ka sequence number. Ang panahonamp gisukod sa microsecond accuracy ug gitakda sa panahon diin ang mga sensor sa imahe nagsugod sa pagbutyag sa usa ka frame.

16

8 NETWORKING CONFIGURATION
Busa ang oras sa pagkaladlad kinahanglan kanunay nga tagdon kung mosulay sa pagsukod sa pagkalangan sa sensor.
Sama sa gipatin-aw sa Mga Seksyon 6.3.3 ug 9.12, posible nga i-synchronize ang internal nga orasan ni Ruby sa usa ka eksternal nga signal o usa ka server sa oras. Kini direkta nga makaapekto sa gihimo nga oras stamps. Kung gi-synchronize sa usa ka server sa oras, ang oras stamps gisukod sa microseconds sukad 1 Enero 1970, 00:00:00 UTC. Kung walay pag-synchronize nga gihimo, ang internal nga orasan i-set sa 0 sa powered up. Kung nag-synchronize sa usa ka eksternal nga signal sa PPS, ingon nga gipatin-aw sa Seksyon 6.3.3, ang orasan gitakda sa 0 sa umaabot nga pagtaas sa signal sa kilid.
Palihug timan-i nga ang pag-synchronize sa usa ka signal sa PPS nagpatungha usab ug negatibo nga orasamps. Mahitabo kini kung ang usa ka signal sa pag-synchronize madawat samtang giproseso ni Ruby ang nakuha na nga pares sa imahe. Ang negatibo nga orasamp mao unya ang kalainan sa oras tali sa pagdawat sa signal sa pag-synchronize ug sa oras sa pagkuha sa kasamtangan nga pares sa imahe.
8 Konfigurasyon sa Networking
Girekomenda nga ikonekta si Ruby direkta sa ethernet port sa host computer, nga wala’y bisan unsang mga switch o hub sa taliwala. Kini tungod kay si Ruby naghimo ug taas kaayo nga throughput nga data sa network, nga mahimong mosangpot sa pagkawala sa packet kung mogamit sa mga switch sa network nga dili makatagbo sa gikinahanglan nga performance. Kinahanglan nga masiguro nga ang interface sa network sa host computer makadumala sa umaabot nga rate sa datos nga 900 MBit / s.
Ang gikinahanglan nga network configuration settings alang sa host computer gihulagway sa mosunod nga mga subsection.
8.1 Pag-configure sa IP
Sa kasagaran, gamiton ni Ruby ang IP address 192.168.10.10 nga adunay subnet mask 255.255.255.0. Kung ang usa ka DHCP server anaa sa network, bisan pa niana, kini mahimong mag-assign og lain nga adres ngadto kang Ruby. Sa kini nga kaso palihug gamita ang gihatag nga NVCom software para sa pagdiskubre sa aparato (tan-awa ang Seksyon 11.1).
Kung walay laing DHCP server ang anaa sa network, si Ruby magsugod sa iyang kaugalingong DHCP server. Kini nagpasabot nga kung ang imong kompyuter gi-configure aron mogamit sa usa ka dinamikong IP address ang kompyuter awtomatik nga makadawat og IP address sa husto nga subnet ug wala nay dugang nga configuration ang gikinahanglan.
Kung ang imong kompyuter wala ma-configure aron magamit ang usa ka dinamikong IP address o ang integrated DHCP server ni Ruby na-disable, nan kinahanglan nimo nga i-configure ang imong IP address nga mano-mano. Alang sa Windows 10 palihug sunda kini nga mga lakang:
1. I-klik ang Start Menu > Settings > Network & Internet > Ethernet > Change adapter options.
2. Pag-right-click sa gusto nga koneksyon sa Ethernet.
17

8.2 Jumbo nga mga Frame

8 NETWORKING CONFIGURATION

3. I-klik ang `Properties'
4. Pilia ang `Internet Protocol Version 4 (TCP/IPv4)'.
5. I-klik ang `Properties'.
6. Pilia ang `Gamita ang mosunod nga IP address'.
7. Pagsulod sa gitinguha nga IP address (192.168.10.xxx).
8. Pagsulod sa subnet mask (255.255.255.0).
9. Pagpadayon OK.
Para sa Linux, palihog gamita ang mosunod nga mga sugo aron temporaryong itakda ang IP address 192.168.10.xxx sa interface sa network eth0: sudo ifconfig eth0 192.168.10.xxx netmask 255.255.255.0
8.2 Jumbo nga mga Frame
Para sa pinakataas nga performance, si Ruby kinahanglang i-configure nga mogamit ug Jumbo Frames (tan-awa ang Seksyon 9.5). Sa kasagaran, ang suporta sa Jumbo Frame mahimong dili ma-enable sa gipadala nga configuration, tungod kay nagkinahanglan kini og tukma nga configuration sa network interface sa host computer.
Kung si Ruby ma-access pinaagi sa web interface ug nadiskobrehan sa lista sa mga himan (eg sa NVCom, tan-awa ang Seksyon 11.1), apan walay data sa imahe nga nadawat (0 fps), kini mahimong magpakita nga ang Jumbo Frames gi-activate sa Ruby, apan ang koneksyon sa network sa tagsa-tagsa ka kliyente nga kompyuter dili. husto nga gi-configure aron dawaton kini.
Aron ma-aktibo ang suporta sa Jumbo Frame sa Windows 10, palihug sunda kini nga mga lakang:
1. Ablihi ang `Network and Sharing Center'
2. Ablihi ang dialogo sa mga kabtangan sa gusto nga koneksyon sa network
3. Pindota ang buton `I-configure…'
4. Ablihi ang tab nga `Advanced'
5. Pilia ang `Jumbo Packet' ug pilia ang gusto nga gidak-on sa pakete (tan-awa ang Figure 11)
Palihug timan-i nga dili sama sa Linux, ang pipila ka mga driver sa Windows network nag-ihap usab sa 14-byte Ethernet header isip kabahin sa gidak-on sa pakete. Kung gi-configure si Ruby nga mogamit usa ka 9000 bytes nga MTU, ang usa ka kompyuter sa Windows mahimong magkinahanglan usa ka 9014 bytes nga gidak-on sa pakete.
Sa Linux, ang suporta sa Jumbo Frame mahimong ma-activate pinaagi sa pagbutang og igo nga dako nga MTU, pinaagi sa ifconfig command. Para sa pag-configure sa 9000 bytes nga MTU para sa interface eth0, palihug gamita ang mosunod nga command line:
18

9 CONFIGURATION
Figure 11: Jumbo Frames configuration sa Windows > sudo ifconfig eth0 mtu 9000 Palihug hibaloi nga ang interface name mahimong lahi sa eth0, ilabi na sa mas bag-ong Linux releases. Ang MTU awtomatik nga gi-assign sumala sa Ruby Jumbo Frame setting sa matag higayon nga ang Linux computer makadawat og configuration gikan sa aktibong Ruby DHCP server (tan-awa ang Seksyon 9.5). Sa Windows, ang awtomatik nga buluhaton sa MTU dili molihok, tungod kay ang Windows dili mosuporta niini nga bahin.
9 Configuration
Ang Ruby gi-configure pinaagi sa a web interface, nga maabot pinaagi sa pagsulod sa IP address niini sa imong browser. Ang default nga adres mao ang http://192.168.10.10 apan kung adunay usa ka DHCP server nga naa sa network, mahimo’g maghatag kini usa ka lahi nga adres sa Ruby (tan-awa ang Seksyon 8.1). Sa kini nga kaso palihug gamita ang gihatag nga NVCom software para sa pagdiskubre sa aparato (tan-awa ang Seksyon 11.1).
Kon si Ruby bag-o lang nasaksak, molungtad kini og pipila ka segundo sa dili pa ang web interface kay accessible. Alang sa paggamit sa web interface, nagkinahanglan ka og browser nga adunay suporta sa HTML 5. Palihug gamita ang bag-o nga bersyon sa usa sa mga mayor nga browser, sama sa Chrome, Firefox, Safari, o Edge.
Ang web-interface gibahin sa duha ka mga seksyon: Kinatibuk-ang Settings ug Ad19

9.1 Kahimtang sa Sistema

9 CONFIGURATION

Figure 12: Screenshot sa panid sa status sa configuration.
vanced Settings. Ang mga panid sa kinatibuk-ang setting naglangkob sa labing kasagarang gi-adjust nga mga parameter. Ang pagbag-o lamang niini nga mga parameter kinahanglan nga igo alang sa kadaghanan sa mga aplikasyon. Ang dili kaayo kasagarang gi-adjust nga mga parametro nga mahimong may kalabotan sa mga espesipiko kaayong mga aplikasyon makita sa mga panid sa advanced settings.
9.1 Kahimtang sa Sistema
Ang unang panid nga imong makita sa dihang giablihan ang web interface mao ang `system status' nga panid nga gipakita sa Figure 12. Niini nga panid, imong makita ang mosunod nga impormasyon:
Modelo: Ang ngalan sa modelo alang sa imong device.
Ang kahimtang sa pagkakalibrate: Naghatag ug kasayuran kung ang sistema na-calibrate ba sa husto.
Status sa pagproseso: Nagpakita kung ang sub-system sa pagproseso sa imahe nagsugod na. Kung dili kini mao ang kahimtang, nan mahimo nga adunay usa ka problema sa pag-configure, o usa ka sayup sa sistema mahimo’g nahitabo. Palihug konsultaha ang mga log sa sistema sa kini nga kaso. Ang sub-system sa pagproseso sa imahe magsugod dayon sa higayon nga masulbad na ang hinungdan sa sayup.
Temperatura sa SOC: Ang temperatura sa sentral nga System-on-Chip (SoC) nga nagpahigayon sa tanan nga mga buluhaton sa pagproseso. Ang maximum nga operating temperatura
20

9.2 Mga Preset

9 CONFIGURATION

Figure 13: Screenshot sa panid sa mga preset sa configuration.
kay ang gigamit nga SoC anaa sa 100 C. Usa ka green-orange-red color-coding ang gipadapat sa signal nga maayo, makapaalarma ug kritikal nga temperatura.
Wala/tuo/kolor nga sensor sa hulagway: Chip temperatura para sa wala, tuo ug kolor nga mga sensor sa hulagway. Ang labing taas nga temperatura sa pag-operate alang sa mga sensor sa imahe mao ang 75 C. Sama sa temperatura sa SOC, usa ka green-orange-red color coding ang gipadapat.
Mga log sa sistema: Listahan sa mga mensahe sa log sa sistema nga gisunod sa oras. Sa regular nga operasyon, makit-an nimo ang kasayuran sa karon nga pasundayag sa sistema. Kung adunay mga sayup, ang mga log sa sistema adunay katugbang nga mga mensahe sa sayup.
9.2 Mga Preset
Ang lainlaing mga preset sa pag-configure magamit alang sa pinili nga mga kombinasyon sa resolusyon sa imahe ug rate sa frame. Ang paggamit sa usa ka preset girekomendar kaayo, tungod kay kini makagarantiya sa usa ka maayo nga paggamit sa performance ni Ruby.
Ang Figure 13 nagpakita sa mga preset web-interface nga panid. Ang pag-load sa usa ka preset magbag-o lang sa mga parametro nga may kalabutan sa gihatag nga configuration. Ang ubang mga parameter dili usbon. Kung ang tanan nga mga parameter kinahanglan nga itakda sa gusto nga default nga kantidad, girekomenda nga una nga himuon ang usa ka pag-reset sa pag-configure (tan-awa ang Seksyon 9.7) ug dayon i-load ang gusto nga preset pagkahuman.
21

9.3 Preview

9 CONFIGURATION

Figure 14: Screenshot sa configuration preview panid.
9.3 Preview
Ang preview panid, nga gipakita sa Figure 14, naghatag usa ka buhi nga preview sa kasamtangan nga gikalkula nga disparity map. Palihug siguroha nga ang imong koneksyon sa network nagsuporta sa taas nga bandwidth nga gikinahanglan alang sa streaming nga data sa video (tan-awa ang Seksyon 8.2). Alang sa paggamit sa preview panid, nagkinahanglan ka og direktang koneksyon sa network ngadto kang Ruby. Ang usa ka in-between proxy server o usa ka router nga nagpahigayon sa network address translation (NAT) dili magamit.
Sa pagbukas sa preview panid, si Ruby mihunong sa pagbalhin sa datos sa imahe sa bisan unsang laing host. Ang pagbalhin nagpadayon sa diha nga ang browser window sirado, ang user mopilit sa pause button ubos sa preview lugar, o kung ang tiggamit mag-navigate sa lain nga panid. Usa ra ka bukas nga pananglitan sa preview panid, o bisan unsang ubang panid nga nag-streaming sa data sa video sa browser, gitugotan sa usa ka higayon. Kung mosulay sa pag-abli labaw pa sa kausa, usa ra ka higayon ang makadawat mga datos.
Ang preview nga gipakita sa browser wala magpakita sa hingpit nga kalidad sa nakalkula nga disparity map. Sa partikular, ang frame rate limitado sa 20 fps ug ang sub-pixel nga katukma dili magamit. Aron makadawat usa ka hingpit nga kalidad nga preview, palihug gamita ang aplikasyon sa NVCom, nga gihulagway sa Seksyon 11.1.
Ang lain-laing mga color-coding schemes mahimong mapili pinaagi sa drop-down list sa ubos sa preview lugar. Ang usa ka sukdanan sa kolor gipakita sa tuo, nga naghatag kasayuran sa pagmapa tali sa mga kolor ug mga kantidad sa disparity. Ang posible
22

9.4 Mga Setting sa Pagkuha

9 CONFIGURATION

Figure 15: Screenshot sa panid sa pag-configure alang sa mga setting sa pagkuha.
Ang mga laraw sa kolor mao ang:
Balangaw: Usa ka laraw sa kolor sa balangaw nga adunay mubu nga wavelength nga katumbas sa taas nga disparidad ug taas nga wavelength nga katumbas sa mubu nga disparidad. Ang dili balido nga disparidad gihulagway sa gray.
Pula / asul: Usa ka gradient gikan sa pula hangtod sa asul, nga adunay pula nga mga kolor nga katumbas sa taas nga mga disparidad ug asul nga mga kolor nga katumbas sa gamay nga mga kalainan. Ang dili balido nga disparidad gihulagway sa itom.
Raw data: Ang hilaw nga disparity data nga walay color-coding. Ang pixel intensity motakdo sa integer component sa gisukod nga disparity. Ang dili balido nga mga kalainan gipakita sa puti.
9.4 Mga Setting sa Pagkuha
Ang labing may kalabutan nga mga parameter alang sa pagkuha sa imahe gilista sa panid sa mga setting sa pagkuha nga gipakita sa Figure 15. Kini nga panid gibahin sa tulo nga lahi nga mga lugar.
9.4.1 Mga Setting sa Format Kini nga seksyon naglangkob sa tanan nga mga setting nga may kalabutan sa format sa imahe. Imbis nga usbon ang mga setting sa format nga tinagsa, among girekomenda nga mogamit usa ka preset
23

9.4 Mga Setting sa Pagkuha

9 CONFIGURATION

(tan-awa ang Seksyon 9.2), ug usba lamang ang indibidwal nga mga setting kon gikinahanglan. Kini makasiguro nga ang imaging ug pagproseso nga kapabilidad ni Ruby magamit sa labing maayo.
Palihug timan-i nga ang pag-apply nga buton kinahanglan nga ipadayon aron ang bisan unsang pagbag-o sa pag-configure mahimong epektibo. Ang magamit nga mga setting mao ang:

gilapdon:
Taas: Pixel Format:
Binning Horizontal:
Binning Vertical:
Pattern nga Projector Brightness:

Lapad sa pixel sa pinili nga Rehiyon-Sa-Interest (ROI). Tan-awa usab ang Seksyon 9.15 alang sa dugang nga mga kapilian sa ROI. Gitas-on sa mga pixel sa pinili nga ROI. Gitinguha nga pixel encoding mode. Ang magamit nga mga setting mao ang 8-bit mono (Mono8) o 12-bit mono (Mono12P). Gidaghanon sa pinahigda nga photosensitive nga mga selula nga gihiusa alang sa usa ka pixel sa imahe. Gidaghanon sa mga bertikal nga photosensitive nga mga selula nga gihiusa alang sa usa ka pixel sa imahe. Ang kahayag sa pattern nga projector nga gitakda sa porsyento. Ang 100% nagpakita sa bug-os nga kahayag, samtang ang 0% nagpalong sa projector sa hingpit.

9.4.2 Frame Rate
Ang frame rate diin si Ruby nagrekord sa mga hulagway mahimong gawasnon nga ma-configure. Ang pinakataas nga frame rate nga makab-ot nagdepende sa gipili nga resolusyon sa imahe, disparity range, pixel format ug network interface. Kung magbutang ka og frame rate nga mas taas pa sa makab-ot nga maximum, nan kini mahimong moresulta sa dili regular nga pagkuha sa imahe o walay mga frame nga makuha. Girekomendar nga mopili una og preset (tan-awa ang Seksyon 9.2) nga adunay gusto nga resolusyon, ug dayon ipaubos lang ang frame rate kon gikinahanglan.
9.4.3 Pagkontrol sa Exposure
Awtomatiko nga kontrolon ni Ruby ang pagkaladlad sa sensor ug makuha aron mohaum sa gihatag nga average nga intensity, nga mahimong mapili sa lugar nga 'kontrol sa exposure'. Kung ang usa ka awtomatik nga pag-adjust dili gusto, nan ang user mahimo nga alternatibong magtakda sa usa ka manwal nga oras sa pagkaladlad ug makakuha og setting. Mas abante nga exposure ug gain nga mga opsyon anaa sa pahina sa `advanced nga auto exposure ug gain settings' (tan-awa ang Seksyon 9.10).
9.4.4 Pagkontrol sa White Balance
Gisuportahan ni Ruby ang awtomatiko o manwal nga pagbalanse sa puti; ang pula ug asul nga kolor balanse nga mga hinungdan mahimong kontrolado. Kini nga gamit mahimong ma-configure sa `white balance control' nga lugar. Sa default nga white balance mode, `awtomatikong (gray nga kalibutan)`, ang mga setting sa balanse sa channel sa kolor gi-adjust sa tinuod nga panahon, base sa usa ka heuristic nga pagtantiya sa kolor sa kahayag gikan sa datos sa imahe. Sa `manual` white balance mode, ang algorithm gi-disable, ug ang pula ug

24

9.5 Mga Setting sa Network

9 CONFIGURATION

Figure 16: Screenshot sa panid sa pag-configure alang sa mga setting sa network.
Ang mga hinungdan sa asul nga balanse mahimong i-adjust sa kamut. Ang karon nga epektibo nga mga hinungdan sa balanse gipakita usab sa lugar.
9.5 Mga Setting sa Network
Ang panid sa `network settings', nga gipakita sa Figure 16, gigamit alang sa pag-configure sa tanang mga parameter nga may kalabutan sa network. Makapangutana si Ruby sa configuration sa network nga awtomatiko pinaagi sa mga hangyo sa kliyente sa DHCP, nga mahimo pinaagi sa default aron matabangan ang pagbalhin tali sa mga naglungtad nga network setup. Ang mga Ruby device sa usa ka network nga nag-assign sa IP settings pinaagi sa DHCP dali nga madiskubre ug ma-access pinaagi sa device discovery API ug usab sa NVCom utility (Seksyon 11.1). Kung walay mga server sa DHCP, gigamit ni Ruby ang mga static IP setting niini isip usa ka fallback.
Ang suporta sa kliyente sa DHCP mahimong ma-disable kung gusto ang mga setting sa IP ug ang aparato dili ibalhin taliwala sa lainlaing mga network. Sa kini nga kaso, ang mga setting sa IP sa kini nga seksyon gigamit ingon mga static nga kantidad.
Naglangkob usab si Ruby og fallback DHCP server. Gi-enable kini pinaagi sa default apan gilusad lamang kung napakyas ang usa ka naunang hangyo sa kliyente sa DHCP. Kini nagpasabot nga walay DHCP server nga gilusad kon ang DHCP nga suporta sa kliyente gipalong, aron sa pagsiguro nga si Ruby dili gayud makigkompetensya sa usa ka kasamtangan nga DHCP server. Ang Ruby DHCP server naggamit sa mga setting sa IP address isip base; ang range sa pag-arkila kanunay anaa sa /24 subnet sa IP address.
Sa seksyon nga `Mga setting sa IP', mahimo nimong i-disable o i-enable ang komposisyon sa DHCP.
25

9.6 Mga Kanal sa Output

9 CONFIGURATION

nents ug ipiho ang IP address, subnet mask ug gateway address, nga gigamit isip static configuration o fallback configuration depende sa DHCP settings. Kung usbon ang mga setting sa IP, palihug siguroha nga ang imong computer naa sa parehas nga subnet, o adunay usa ka gateway router diin ang data mahimong mabalhin taliwala sa duha nga mga subnet. Kung dili, dili ka maka-access sa web interface ug mahimong mapugos ka sa paghimo og firmware reset (tan-awa ang Seksyon 6.4).
Sa seksyon sa `network protocol', mahimo nimong pilion ang nagpahiping network protocol nga gamiton alang sa paghatud sa mga resulta sa pagkalkula sa kompyuter sa kliyente. Ang posible nga mga kapilian mao ang TCP ug UDP. Tungod sa high-bandwidth real time data among girekomendar ang paggamit sa UDP.
Aron makuha ang labing maayo nga posible nga pasundayag, ang suporta sa jumbo frame kinahanglan nga ma-aktibo sa seksyon nga 'jumbo frames'. Sa dili pa kini buhaton, bisan pa, kinahanglan nimo nga sigurohon nga ang suporta sa jumbo frame mahimo usab nga magamit alang sa interface sa network sa computer sa imong kliyente. Ang mga detalye kon unsaon pag-enable ang jumbo frame nga suporta sa imong computer makita sa Seksyon 8.2 sa pahina 18. Para sa Linux client computers, ang jumbo frames (MTU) setting awtomatik nga i-apply kon makadawat og configuration gikan sa aktibong Ruby DHCP server. Palihug timan-i nga sa niini nga kaso ang pag-usab sa Ruby Jumbo Frames mode o MTU Size nagkinahanglan ug bag-ong DHCP lease aron ipakaylap ang setting (pananglitan pinaagi sa pag-unplug ug pag-insert sa network cable).
9.6 Mga Kanal sa Output
Ang aktibo nga mga channel sa output mahimong ma-configure sa panid sa `mga channel sa output. Ang usa ka channel sa output usa ka stream sa datos sa imahe nga gipasa sa network. Ang mosunod nga mga channel sa output anaa:
· Wala nga output sa camera
· Disparity nga output
· Tuo nga camera output
· Kolor nga output sa camera
Kung ang mode sa operasyon (tan-awa ang Seksyon 9.9) gitakda sa stereo matching (ang default) o gitul-id, nan ang datos sa imahe sa tanan nga mga agianan sa output gitul-id (tan-awa ang Seksyon 7.1 alang sa mga detalye). Kung ang mode sa operasyon gitakda nga moagi, bisan pa, ang mga imahe sa camera ipadala nga wala’y mga pagbag-o.
Sama sa gihulagway sa seksyon 7.3, ang imahe sa kolor nga kamera mahimong i-proyekto sa view sa wala nga camera. Kini nga projection mahimong ma-activate pinaagi sa pagpili sa katugbang nga opsyon alang sa `color output mode' parameter.
Palihug timan-i nga ang pagdugang sa gidaghanon sa aktibo nga mga channel sa output makapadugang usab sa load sa network ug mahimong moresulta sa pagkunhod sa frame rate. Ang tanang espesipikasyon sa performance nga gihatag niini nga dokumento nagtumong sa usa ka configuration nga ang color ug disparity output channel lang ang gi-activate.
26

9.7 Pagmentinar

9 CONFIGURATION

Figure 17: Screenshot sa mga output channels configuration page.
9.7 Pagmentinar
Sa pahina sa pagmentinar nga gipakita sa Figure 18, mahimo nimong i-download ang a file nga naglangkob sa kasamtangan nga configuration sa device ug sa sistema logs, pinaagi sa pagpindot sa download link. Sa kaso sa teknikal nga mga problema palihug iapil kini file sa imong hangyo sa suporta, sa ingon nga ang configuration sa imong device mahimong kopyahon ug nga ang mga problema sa sistema mahimong masusi.
Usa ka na-download nga configuration file mahimong i-upload pag-usab sa ulahi nga punto sa panahon. Gitugotan niini ang dali nga pagbalhin tali sa lainlaing mga pag-configure sa aparato. Aron maka-upload og configuration, palihog pilia ang configuration file ug pindota ang upload button. Palihug hibaloi nga ang pag-upload og lain nga configuration mahimong makausab sa IP address sa device. Aron malikayan ang usa ka sayup nga kahimtang sa pag-configure, palihug i-upload lamang ang mga pag-configure nga na-download kaniadto pinaagi sa web interface.
Kung nakasinati ka mga problema sa imong karon nga pag-configure sa aparato, mahimo nimong i-reset ang tanan nga mga setting sa pag-configure sa mga default sa pabrika, pinaagi sa pagpindot sa buton sa pag-reset. Palihug timan-i nga kini usab mag-reset sa network configuration, nga mahimong mosangpot sa pagbag-o sa IP address ni Ruby.
Kung magpakita si Ruby og mga timailhan sa sayup nga pamatasan, posible nga i-reboot ang aparato pinaagi sa pagpindot sa buton nga `reboot karon'. Nagkinahanglan kini og pipila ka mga segundo hangtud nga ang usa ka reboot makompleto ug si Ruby naghatag pag-usab sa datos sa pagsukod. Palihug gamita kini nga function isip alternatibo sa usa ka siklo sa kuryente, kung ang aparato dili mahimo
27

9.8 Pag-calibrate

9 CONFIGURATION

Figure 18: Screenshot sa panid sa pagmentinar sa configuration.
dali nga ma-access. Ang panid sa pagmentinar dugang nga nagtugot kanimo sa paghimo sa mga update sa firmware. Paggamit
kini nga pag-andar alang lamang sa firmware files nga opisyal nga gipagawas sa Nerian Vision Technologies. Aron mahimo ang pag-update sa firmware, pilia ang gusto nga firmware file ug pindota ang update button. Ang proseso sa pag-update mokabat ug pipila ka segundo. Ayaw i-unplug ang device, i-reload ang maintenance page o i-klik pag-usab ang update button samtang naghimo og firmware updates. Kung dili, kini mahimong mosangpot sa usa ka dunot nga kahimtang sa firmware. Kung nahuman na ang pag-update ang aparato awtomatiko nga maghimo usa ka reboot gamit ang bag-ong bersyon sa firmware. Gipreserbar ang configuration sa device atol sa pag-update sa firmware, apan ang pipila ka mga update mahimong magkinahanglan kanimo sa pag-adjust sa piho nga mga setting pagkahuman.
9.8 Pag-calibrate
Ang Ruby gipadala nga pre-calibrated ug ang usa ka user calibration kasagaran dili gikinahanglan sa tibuok kinabuhi sa device. Bisan pa, kung makasinati ka usa ka pagkunhod sa kalidad ug densidad sa pagsukod, mahimo nimong matul-id ang mga potensyal nga sayup sa optical pinaagi sa pag-re-calibration. Sa kini nga kaso ang panid sa pagkakalibrate, nga gipakita sa Figure 19, kinahanglan gamiton.
28

9.8 Pag-calibrate

9 CONFIGURATION

Figure 19: Screenshot sa panid sa pag-configure alang sa pag-calibrate sa camera.
9.8.1 Calibration Board
Kinahanglan nimo ang usa ka calibration board, nga usa ka flat panel nga adunay makita nga pattern sa pagkakalibrate sa usa ka kilid. Ang sumbanan nga gigamit ni Ruby naglangkob sa usa ka asymmetric grid sa itom nga mga lingin sa puti nga background, sama sa gipakita sa Figure 20.
Kung ablihan ang panid sa pagkakalibrate, kinahanglan nimo una nga ipiho ang gidak-on sa calibration board, nga imong gamiton sa proseso sa pagkakalibrate. Palihug siguroha ang pagpili sa husto nga gidak-on, kay kung dili ang mga resulta sa pagkakalibrate dili magamit alang sa 3D nga pagtukod pag-usab nga adunay husto nga metric nga sukdanan (tan-awa ang Seksyon 7.2).
Ang pattern mahimong ma-download direkta gikan niini nga panid. Pilia lang ang gusto nga gidak-on sa pattern sa drop-down list sa `calibration board', ug i-klik ang download link.
Kung kinahanglan nimo ang usa ka calibration board nga adunay usa ka naandan nga gidak-on, nan mahimo kang mopili ug custom gikan sa `calibration board' nga drop-down list. Kini nagtugot kanimo sa pagsulod sa mga detalye sa calibration board nga mano-mano. Ang una nga dimensyon sa gidak-on sa pattern mao ang gidaghanon sa mga lingin sa usa ka kolum sa grid. Kini nga numero kinahanglan nga managsama alang sa tanan nga mga kolum sa mga lingin nga grid.
Ang gidaghanon sa mga lingin kada laray gitugotan nga mag-usab-usab sa 1 tali sa odd ug even nga mga laray. Ang ikaduha nga dimensyon mao ang sumada sa mga lingin sa duha ka sunodsunod nga laray. Ang tanan nga ma-download nga default nga mga pattern sa pagkakalibrate adunay gidak-on nga 4 × 11.
Ang katapusan nga parameter nga kinahanglan nimong isulod kung mogamit usa ka naandan nga pagkakalibrate
29

9.8 Pag-calibrate

9 CONFIGURATION

5 cm 2 in

Gidak-on: 4 x 11; Gilay-on sa lingin: 2.0 cm; Diametro sa lingin: 1.5 cm; nerian.com

Figure 20: Calibration board nga gigamit ni Ruby.
Ang board mao ang gilay-on sa lingin. Kini ang gilay-on tali sa mga sentro sa duha ka silingang mga lingin. Ang gilay-on kinahanglan nga managsama sa pinahigda ug bertikal nga direksyon alang sa tanan nga mga lingin.
Kung matino na ang husto nga gidak-on sa board, palihug i-klik ang buton sa pagpadayon aron mapadayon ang proseso sa pagkakalibrate.
9.8.2 Pagpugong sa gidak-on sa hulagway para sa pag-calibrate
Pinaagi sa default, ang proseso sa pag-calibrate modagan sa tibuuk nga lugar sa sensor, nga adunay labing kataas nga balido nga gidak-on sa imahe nga magamit alang sa aktibo nga format sa imahe ug mga setting sa pagkuha. Girekomenda kini alang sa kadaghanan sa mga setup, tungod kay ang usa ka gamay nga Rehiyon sa Interes mahimong mapili bisan unsang oras pagkahuman sa pagkakalibrate (tan-awa ang Seksyon 9.15). Para sa mga espesyal nga setup, alang sa exampKung ang lingin sa imahe sa usa ka lente mas gamay kaysa sa lugar sa sensor sa imahe, kinahanglan nga pugngan ang may kalabutan nga rehiyon sa sensor sa wala pa ang inisyal nga pagkakalibrate.
Pinaagi sa pagpindot sa `pagpugong sa usa ka bintana' nga buton sa ubos sa `camera preview` nga lugar, usa ka nakasentro nga overlay nga bayanan ang gipakita, nga mahimong mabag-o pinaagi sa pag-drag. Kung gamiton, ang pag-calibrate mobalhin sa mode nga limitado nga rehiyon. Ang pagkakalibrate mahimong ibalik sa default nga operasyon pinaagi sa pagpindot sa `reset to full-resolution' nga buton.
Kung ang proseso sa pag-calibrate malampuson nga nahuman sa usa ka gipugngan nga rehiyon, kini makapakunhod sa default nga gidak-on sa output (ug labing kadaghan nga magamit nga gidak-on sa Rehiyon sa Interes) gikan sa labing kataas nga balido nga gidak-on sa imahe hangtod sa napili, epektibo nga dili iapil ang bisan unsang mga lugar nga naa sa gawas sa gi-calibrate nga rehiyon sa sensor.
30

9.8 Pag-calibrate

9 CONFIGURATION

9.8.3 Pagrekord sa Calibration Frames
Usa ka buhi preview sa tanan nga mga sensor sa imahe gipakita sa `camera preview' dapit. Gawas kung ang rehiyon sa pagkakalibrate gipugngan sama sa gilatid sa ibabaw, ang resolusyon sa camera sa panahon sa pag-calibrate gitakda sa labing taas nga balido nga gidak-on sa imahe alang sa aktibo nga format sa imahe ug mga setting sa pagkuha. Siguruha nga ang calibration board hingpit nga makita sa tanan nga mga imahe sa camera ug dayon pindota ang buton nga `capture single frame' sa control section. Balika kini nga proseso sa makadaghang higayon samtang ginalihok ang camera o ang calibration board.
Ang calibration board kinahanglan nga irekord sa daghang lainlaing mga posisyon ug oryentasyon. Usa ka green nga overlay ang ipakita sa preview bintana alang sa tanan nga mga lokasyon, kung ang board nakit-an kaniadto. Kinahanglan nimo nga lainlain ang gilay-on sa pisara ug siguruha nga imong gitabonan ang kadaghanan sa natad sa view sa tanang camera.
Kon mas daghang mga frame ang imong girekord, mas tukma ang nakalkula nga pagkakalibrate. Bisan pa, daghang mga frame ang hinungdan usab nga magdugay ang pagkalkula sa mga parameter sa pagkakalibrate. Gisuportahan ni Ruby ang pagrekord hangtod sa 40 ka mga frame sa pagkakalibrate. Among girekomendar ang paggamit ug labing menos 20 ka mga frame sa pagkakalibrate aron makadawat ug tukmang resulta.
Ang pagrekord sa mga calibration frame mahimong mapasayon ​​pinaagi sa pagpaaktibo sa `auto capture' mode. Niini nga mode, usa ka bag-ong calibration frame ang natala sa fix capture intervals. Mahimo nimong isulod ang gusto nga agwat sa seksyon sa auto capture ug dayon pindota ang buton nga `start auto capture'. Kung gusto, ang usa ka madungog nga tunog mahimong ipatugtog aron magsenyas sa pag-ihap ug pagrekord sa usa ka bag-ong frame. Ang mode sa auto capture mahimong mahunong pinaagi sa pagpindot sa `stop auto capture' nga buton.
Usa ka gamay nga preview sa matag nakuha nga calibration frame idugang sa `captured frames' nga seksyon. Ang mga bayanan gisapawan sa mga nakit-an nga posisyon sa mga lingin sa calibration board. Mahimo nimong i-klik ang bisan unsang preview mga hulagway aron makita ang calibration frame sa bug-os nga resolusyon niini. Usa ka example para sa usa ka calibration frame nga adunay husto nga namatikdan nga calibration board gipakita sa Figure 21. Kung ang calibration board wala ma-detect sa husto o kung dili ka malipayon sa kalidad sa usa ka calibration frame, nan mahimo nimo kini papason pinaagi sa pag-klik sa ×-simbolo .
9.8.4 Pagbuhat sa Calibration
Kung narekord na nimo ang igo nga gidaghanon sa mga frame sa pagkakalibrate, mahimo nimong sugdan ang proseso sa pagkakalibrate pinaagi sa pagpindot sa buton sa pag-calibrate sa seksyon sa pagkontrol. Ang oras nga gikinahanglan alang sa pag-calibrate sa camera nagdepende sa gidaghanon sa mga frame sa pagkakalibrate nga imong narekord. Ang pag-calibrate kasagarang mokabat ug pipila ka minuto aron makompleto. Kung malampuson ang pag-calibrate unya ma-redirect ka dayon sa `review calibration' nga panid.
Mapakyas ang pag-calibrate kung ang gikalkula nga bertikal o pinahigda nga pag-ilis sa pixel molapas sa gitugotan nga range alang sa bisan unsang punto sa imahe. Ang labing kasagaran nga mga hinungdan sa pagkapakyas sa pag-calibrate mao ang:
· Dili igo nga gidaghanon sa mga frame sa pagkakalibrate.
31

9.9 Mga Setting sa Pagproseso

9 CONFIGURATION

Hulagway 21: Example calibration frame nga adunay nakit-an nga calibration board.
· Dili maayo nga coverage sa natad sa view uban sa calibration board.
· Mga lente nga adunay kusog nga geometric nga pagtuis.
· Mga lente nga dili patas ang focal length.
· Mga frame nga adunay mga sayop nga pag-ila sa calibration board.
Kung mapakyas ang pag-calibrate, nan palihug sulbaron ang hinungdan sa sayup ug balika ang proseso sa pagkakalibrate. Kung ang hinungdan sa sayup mao ang usa o daghan pa nga sayup nga mga frame sa pagkakalibrate, mahimo nimong papason ang mga frame ug i-press pag-usab ang buton sa pag-calibrate. Ingon usab, kung gamay ra ang mga frame sa pagkakalibrate, mahimo nimong irekord ang dugang nga mga frame ug i-restart ang pagkalkula sa pagkakalibrate.
9.9 Mga Setting sa Pagproseso
9.9.1 Mode sa Operasyon
Ang mayor nga mga parametro sa pagproseso mahimong usbon sa panid sa `processing settings', nga gipakita sa Figure 22. Ang labing may kalabutan nga opsyon mao ang operation mode, nga mahimong itakda sa usa sa mosunod nga mga bili:
Pag-agi: Niini nga mode gipadayon ni Ruby ang imahe sa tanan nga mga sensor sa imahe nga wala’y pagbag-o. Kini nga mode gituyo alang sa reviewpag-ihap sa datos sa imahe sa wala pa magamit ang bisan unsang pagproseso.
Pagtul-id: Sa kini nga mode si Ruby nagpadala sa gitul-id nga mga imahe sa tanan nga mga sensor sa imahe. Kini nga mode gituyo alang sa pagsusi sa pagkahusto sa pagtul-id sa imahe.
Stereo matching: Kini ang default mode, diin si Ruby naghimo sa aktuwal nga stereo image processing (stereo matching). Gipadala ni Ruby ang disparity map ug, depende sa configuration sa mga channel sa output, ang gitul-id nga mga hulagway.
32

9.9 Mga Setting sa Pagproseso

9 CONFIGURATION

Figure 22: Screenshot sa panid sa pag-configure alang sa mga setting sa pagproseso.
9.9.2 Disparity Settings
Kung ang mode sa operasyon gitakda sa stereo matching, nan ang `disparity settings' motugot sa usa ka configuration sa disparity range nga gipangita ni Ruby. Ang disparity range makaapekto sa frame rate nga mahimong makab-ot. Kinahanglang i-adjust ang frame rate sa higayon nga mausab ang disparity range (tan-awa ang Seksyon 3.3 sa pahina 5 para sa mga rekomendasyon). Palihug hibaloi nga ang pagdugang sa disparity range makapakunhod usab sa maximum nga gidak-on sa imahe nga mahimong ma-configure.
Ang opsyon nga `number of disparities' nagtino sa kinatibuk-ang gidaghanon sa mga pixel nga gipangita alang sa mga sulat. Kini nga opsyon adunay taas nga epekto sa depth resolution ug sa covered measurement range (tan-awa ang Seksyon 7.2). Ang pagsugod sa disparity range mahimong mapili pinaagi sa `disparity offset' nga kapilian. Kasagaran, usa ka kantidad nga 0 ang gitinguha alang sa offset, nga nagtugot sa mga pagsukod sa range hangtod sa infinity. Kung ang makit-an nga gilay-on sigurado nga mapugngan, nan ang ubos nga mga kantidad sa disparity dili mahitabo. Niini nga kaso posible nga madugangan ang disparity offset, sa ingon nga kini nga mga ubos nga disparidad dili makwenta.
9.9.3 Mga Setting sa Algoritma
Ang pamatasan sa mga algorithm sa pagproseso sa imahe mahimong makontrol pinaagi sa 'mga setting sa algorithm'. Ang default nga pag-configure gitino gamit ang mga pamaagi sa pagkat-on sa makina, ug kinahanglan nga kini ang labing kaayo nga kapilian alang sa kadaghanan nga paggamit
33

9.9 Mga Setting sa Pagproseso

9 CONFIGURATION

mga kaso. Bisan pa, ang tanan nga mga parameter sa algorithm mahimong ma-adjust pinaagi sa web interface. Ang mosunod nga mga parameter nagkontrolar sa stereo matching algorithm:
Silot sa mga pagbag-o sa disparity (P1): Usa ka silot nga gigamit sa hinayhinay nga pagbag-o sa mga kalainan. Ang usa ka dako nga kantidad hinungdan sa anam-anam nga mga pagbag-o sa kalainan nga mahitabo dili kaayo kanunay, samtang ang usa ka gamay nga kantidad hinungdan sa hinay-hinay nga mga pagbag-o nga mahitabo nga mas kanunay. Ang lainlaing mga kantidad mahimong ma-configure alang sa mga pixel nga naa sa mga sulud sa imahe (P1-edge) ug mga pixel nga wala sa mga sulud (P1-no-edge). Kini nga mga kantidad kinahanglan nga mas gamay kaysa sa mga kantidad sa P2.
Silot alang sa disparity discontinuities (P2): Usa ka silot nga gipahamtang sa kalit nga pagbag-o sa mga kalainan. Ang usa ka dako nga kantidad hinungdan sa disparity discontinuities nga mahitabo dili kaayo kanunay, samtang ang usa ka gamay nga kantidad hinungdan sa discontinuities nga mahitabo sa mas kanunay. Ang lainlaing mga kantidad mahimong ma-configure alang sa mga pixel nga naa sa mga sulud sa imahe (P2-edge) ug mga pixel nga wala sa mga sulud (P2-no-edge). Kini nga mga kantidad kinahanglan nga labaw pa sa mga kantidad sa P1.
Nag-aplay si Ruby og algorithm sa pag-optimize aron mapausbaw ang katukma sa gikalkula nga disparity map ngadto sa sub-pixel nga resolusyon. Kung gamay ra nga rehiyon sa interes (ROI) sa input nga imahe / disparity nga mapa ang may kalabutan, nan kini nga proseso sa pag-autotune mahimong mapugos sa kini nga ROI. Sa kini nga kaso ang usa kinahanglan nga magdahum nga mas tukma nga mga pagsukod sa sub-pixel sa sulod sa ROI. Ang may kalabutan nga mga parameter alang sa pagpugong sa sub-pixel tuning ROI mao ang:
I-tune ang sub-pixel optimization sa ROI: Kung mahimo, ang sub-pixel optimization i-tune sa rehiyon nga gihubit sa sunod nga mga parameter, imbes sa tibuok nga hulagway.
Lapad: Lapad sa pixel sa pinili nga Rehiyon sa Interes (ROI).
Gitas-on: Gitas-on sa mga pixel sa pinili nga ROI.
Offset X: Horizontal offset sa ROI kalabot sa image center.
Offset Y: Vertical offset sa ROI kalabot sa image center.
Nag-implementar si Ruby og daghang mga pamaagi para sa post-processing sa computed disparity map. Ang matag post-processing nga pamaagi mahimong ma-activate o ma-deactivate nga tagsa-tagsa. Ang magamit nga mga pamaagi mao ang:
Mask border pixels: Kung mahimo, kini nga kapilian nagtimaan sa tanan nga mga kalainan nga duol sa utlanan sa makita nga lugar sa imahe nga dili balido, tungod kay kini adunay taas nga kawalay kasiguruhan. Naglakip usab kini sa tanan nga mga pixel diin walay aktuwal nga datos sa imahe nga magamit, tungod sa pag-warping nga gigamit sa pagtul-id sa imahe (tan-awa ang Seksyon 7.1).

34

9.10 Advanced Auto Exposure ug Gain Settings 9 CONFIGURATION
Pagsusi sa pagkamakanunayon: Kung mahimo, ang stereo matching gihimo sa parehas nga direksyon, wala-pa-tuo ug tuo-pa-wala. Ang mga pixel diin ang disparity dili makanunayon gimarkahan nga dili balido. Ang pagkasensitibo sa tseke sa pagkamakanunayon mahimong makontrol pinaagi sa slider nga 'pagkasensitibo sa pagsusi sa pagkamakanunayon.
Talagsaon nga pagsusi: Kung mahimo, ang mga pixel sa disparity nga mapa gimarkahan nga dili balido kung walay igo nga talagsaon nga solusyon (ie ang gasto function walay global nga minimum nga mas ubos kay sa tanan nga lokal nga minimum). Ang pagkasensitibo sa pagsusi sa pagkatalagsaon mahimong kontrolahon pinaagi sa slider sa `pagkatalagsaon nga pagsusi sa pagkasensitibo'.
Texture filter: Kung mahimo, ang mga pixel nga nahisakop sa mga rehiyon sa imahe nga adunay gamay nga texture gimarkahan nga dili balido sa disparity map, tungod kay adunay taas nga posibilidad nga kini nga mga pixel dili magkatugma. Ang pagkasensitibo niini nga filter mahimong i-adjust pinaagi sa `texture filter sensitivity' slider.
Gap interpolation: Kung mahimo, ang gagmay nga mga patch sa dili balido nga mga kalainan, nga tungod sa usa sa nag-una nga mga pagsala, mapuno pinaagi sa interpolation.
Pagminus sa kasaba: Kung mahimo, usa ka filter sa imahe ang magamit sa mapa sa kalainan, nga makapamenos sa kasaba ug magtangtang sa mga outlier.
Mga pag-ulit sa speckle filter: Gimarkahan ang gagmay nga mga hilit nga mga patch nga parehas nga kalainan ingon dili balido. Ang ingon nga mga puntik kasagaran resulta sa sayup nga mga posporo. Ang gidaghanon sa mga pag-ulit nagtino kung unsa ka agresibo ang filter sa pagtangtang sa mga speckle. Ang kantidad nga 0 makapugong sa filter.
9.10 Advanced nga Auto Exposure ug Gain Settings
Aron masiguro ang labing maayo nga kalidad sa imahe, si Ruby naghatag usa ka hingpit nga awtomatik nga oras sa pagkaladlad ug nakuha ang pagpahiangay alang sa paspas nga pagbag-o sa mga kondisyon sa suga, nga sagad mahitabo sa mga senaryo sa gawas. Mahimo nimong i-activate ug i-deactivate ang duha ka auto function nga independente sa auto exposure page, nga gipakita sa Figure 23.
9.10.1 Exposure ug Gain
Mode: Gipili kung ang oras sa pagkaladlad ug/o ganansya awtomatikong i-adjust. Ubos sa normal nga mga kahimtang, kinahanglan nga pilion ang 'awtomatikong pagkaladlad ug ganansya' alang sa awtomatik nga pag-adjust sa duha nga mga parameter.
Target nga intensity: Nagpili usa ka average nga kantidad sa intensity alang sa mga imahe sa stereo, nga gipunting sa awtomatikong pag-adjust. Ang mga kantidad sa intensity gisulat sa porsyentotage numero nga adunay 0 nga nagrepresentar sa itom ug 100 puti. Ang lainlaing mga kantidad mahimong ihatag alang sa mga sensor sa kolor ug monochrome.
35

9.10 Advanced Auto Exposure ug Gain Settings 9 CONFIGURATION
Figure 23: Screenshot sa panid sa pag-configure alang sa awtomatikong pagkaladlad ug mga setting sa pag-adjust sa pag-angkon. Target nga frame: Gipili kung ang intensity sa wala nga frame, ang intensity sa
tuo nga frame o ang kasagaran nga intensity sa duha ka mga frame kinahanglan nga ipahiangay sa target intensity. Labing kataas nga oras sa pagkaladlad: Ang labing kataas nga kantidad alang sa oras sa pagkaladlad mahimong ipiho aron malimitahan ang blur sa paglihok. Ang bili alang sa labing taas nga oras sa pagkaladlad kinahanglan kanunay nga mas gamay kaysa sa oras tali sa duha ka mga frame. Ang lainlaing mga kantidad mahimong ihatag alang sa mga sensor sa kolor ug monochrome. Pinakataas nga ganansya: Sama sa oras sa pagkaladlad, posible usab nga mapugngan ang labing kadaghan nga gitugot nga ganansya. Ang pagpugong sa ganansya makapauswag sa mga resulta sa pagproseso sa imahe alang sa mga sitwasyon nga adunay taas nga kasaba sa sensor. Ang lainlaing mga kantidad mahimong ihatag alang sa mga sensor sa kolor ug monochrome. 9.10.2 Mga Manwal nga Setting Kung ang awtomatik nga pag-adjust ma-deactivate sa pagpili sa mode, ang oras sa pagkaladlad ug/o ganansya mahimong mano-mano nga itakda ngadto sa fixed values ​​niini nga seksyon.
36

9.11 Mga Setting sa Pag-trigger

9 CONFIGURATION

Figure 24: Screenshot sa panid sa pag-configure alang sa mga setting sa pag-trigger.
9.10.3 Mga Setting sa ROI
Imbis nga himuon ang pag-adjust kalabot sa kasagaran nga intensity sa kompleto nga imahe, mahimo nimong kwentahon ang kasagaran nga intensity sa usa ka rehiyon nga interesado. I-enable ang `paggamit sa ROI para sa pag-adjust' sa maong kaso. Ang `Offset X' ug `Offset Y' naghulagway sa posisyon sa sentro sa rehiyon nga may kalabotan sa sentro sa imahe. Ang `Width ROI' ug `Height ROI' nagtugot kanimo sa pag-adjust sa spatial extension sa ROI. Ang ROI kinahanglang bug-os nga anaa sa hulagway. Kung dili kini ang kahimtang, ang ROI awtomatiko nga maputol.
9.11 Mga Setting sa Pag-trigger
Ang panid sa `trigger settings' nga gipakita sa Figure 24 nagtugot sa usa ka configuration sa trigger input ug output. Ang Ruby adunay usa ka GPIO port nga naghatag og access sa usa ka trigger output ug usa ka trigger input signal. Para sa electrical specifications niini nga mga signal palihog tan-awa ang Seksyon 6.3.
Kung ma-enable ang trigger input, si Ruby mokuha lang og frame kung ang signal pulse moabot sa trigger input pin, o kung ang software trigger ipagawas pinaagi sa API. Alang sa signal sa pag-trigger sa hardware, ang pagkaladlad sa sensor sa imahe gisugdan sa nag-unang ngilit sa umaabot nga signal. Sa diha nga ang trigger input gipalihok, ang gatilyo output mao ang dili anaa.
Kung ang output sa gatilyo dili ma-enable, mahimong matino kung ang
37

9.12 Pag-synchronize sa Oras

9 CONFIGURATION

Figure 25: Screenshot sa panid sa pag-configure alang sa pag-synchronize sa oras.
Ang output kinahanglan nga ihigot sa usa ka kanunay nga on (lohikal 1) o kanunay nga off (lohikal 0). Kung mahimo, ang polarity sa namugna nga signal mahimo nga aktibo-taas o aktibo nga ubos. Ang gilapdon sa pulso mahimong makanunayon o siklo tali sa usa ka lista sa pre-configured nga mga kantidad.
Ang frequency sa gatilyo nga output motakdo kanunay sa kasamtangang frame rate ni Ruby. Bisan pa, posible nga mahibal-an ang usa ka oras nga offset, nga mao ang paglangan gikan sa pagsugod sa pagkaladlad sa sensor hangtod sa nanguna nga sulud sa output sa gatilyo.
9.12 Pag-synchronize sa Oras
Ang panid sa `pag-synchronize sa oras', nga gipakita sa Figure 25, mahimong magamit sa pag-configure sa tulo ka posible nga mga pamaagi sa pag-synchronize sa internal nga orasan ni Ruby. Sama sa gipatin-aw sa Seksyon 7.4, ang internal nga orasan gigamit alang sa orasampsa nakuha nga mga frame.
Ang una nga kapilian mao ang pag-synchronize sa usa ka time server, gamit ang Network Time Protocol (NTP) hangtod sa bersyon 4. Sa kini nga kaso gi-synchronize ni Ruby ang internal nga orasan sa gihatag nga server sa oras, gamit ang Coordinated Universal Time (UTC). Ang katukma sa pag-synchronize sa oras nagdepende sa latency sa imong network ug time server. Kon aktibo ang NTP time synchronization, ang mga estadistika sa pag-synchronize gipakita sa usa ka gipahinungod nga status area.
Isip alternatibo sa NTP, ang Precision Time Protocol (PTP) mahimong gamiton alang sa pag-synchronize. Ang PTP naghatag ug mas taas nga katukma kon
38

9.13 ReviewMga Resulta sa Pag-calibrate

9 CONFIGURATION

Figure 26: Screenshot sa panid sa pag-configure alang sa reviewpag-calibrate sa camera.
gipares sa NTP, ug kinahanglan nga pilion kung naa. Sama sa NTP, ang orasan itakda usab sa UTC ug ang impormasyon sa status sa pag-synchronize ipakita.
Kung gigamit ang signal sa Pulse Per Second (PPS), ang internal nga orasan mahimong i-reset sa 0 kung adunay madawat nga signal sa pag-synchronize. Sa laing bahin, ang sistema sa oras stamp kay ang kataposang nadawat nga PPS signal mahimong mapasa sa usa ka nadakpan nga bayanan. Palihog tan-awa ang Seksyon 6.3.3 sa pahina 11 para sa mga detalye sa PPS synchronization.
9.13 ReviewMga Resulta sa Pag-calibrate
Kung nahimo na ang pagkakalibrate, mahimo nimong susihon ang mga resulta sa pagkakalibrate sa `review calibration' page, nga gipakita sa Figure 26. Sa ibabaw niini nga page makita nimo ang usa ka live preview sa tanan nga mga sensor sa imahe ingon nga kini gitul-id sa karon nga mga parameter sa pagkakalibrate. Palihug siguroha nga ang katugbang nga mga punto sa mga hulagway sa tanang mga sensor sa imahe adunay managsama nga bertikal nga koordinasyon.
Pinaagi sa pagpaaktibo sa opsyon nga `display epipolar lines', mahimo nimong i-overlay ang usa ka set sa pinahigda nga linya sa mga imahe. Kini nagtugot alang sa usa ka dali nga pagtimbangtimbang kung ang parehas nga bertikal nga mga coordinate nga sukaranan natuman. Usa ka example para sa wala ug tuo nga input nga imahe nga adunay gisapawan nga mga linya sa epipolar gipakita sa Figure 27.
Sa seksyon sa 'kalidad nga impormasyon' makit-an nimo ang kasagaran nga sayup sa pag-reprojection. Kini usa ka sukod alang sa kalidad sa imong pagkakalibrate, nga adunay ubos nga balbula.
39

9.13 ReviewMga Resulta sa Pag-calibrate

9 CONFIGURATION

Hulagway 27: Example alang sa pagtimbang-timbang sa mga bertikal nga mga koordinasyon sa imahe.

ues nga nagpakita sa mas maayo nga mga resulta sa pagkakalibrate. Palihug siguroha nga ang kasagaran nga reprojection error kay ubos kaayo sa 1 pixel.
Ang tanan nga nakalkula nga mga parameter sa pagkakalibrate gipakita sa seksyon sa `data sa pagkakalibrate'. Kini nga mga parameter mao ang:

M1, M2 ug M3: mga matrice sa camera para sa wala, tuo ug kolor nga camera.
D1, D2 ug D3: distortion coefficients alang sa wala, tuo ug kolor nga camera.
R1, R2 ug R3: rotation matrice para sa mga rotation tali sa orihinal ug gitul-id nga mga hulagway sa camera.
P1, P2 ug P3: projection matrices sa bag-ong (gitul-id) nga mga sistema sa coordinate.
Q12: ang disparity-to-depth mapping matrix para sa wala nga camera. Tan-awa ang Seksyon 7.2 para sa paggamit niini.
Q13: ang disparity-to-depth mapping matrix para sa color camera (kasagaran dili kinahanglan).
T12, T13: vector sa paghubad tali sa mga sistema sa koordinasyon sa wala ug tuo, ug wala ug kolor nga mga kamera.
R12, R13: rotation matrix tali sa mga coordinate system sa wala ug tuo, ug wala ug kolor nga mga camera.

Ang mga matrice sa camera nga Mi gi-istruktura sama sa mosunod:

fx 0 cx

Mi

=

0

fy

cy

,

(1)

001

40

9.14 Auto Re-calibration

9 CONFIGURATION

Figure 28: Screenshot sa mga setting sa auto re-calibration.

diin ang fx ug fy mao ang focal length sa mga lente sa horizontal ug vertical nga direksyon (gisukod sa pixels), ug ang cx ug cy mao ang image coordinates sa projection center.
Ang distortion coefficient vectors D1 ug D2 adunay mosunod nga istruktura:

Di = k1 k2 p1 p2 k3 ,

(2)

diin ang k1, k2 ug k3 mga radial distortion coefficients, ug ang p1 ug p2 mga tangential distortion coefficients.
Mahimo nimong i-download ang tanan nga kasayuran sa pagkakalibrate ingon usa ka YAML nga mabasa sa makina file, pinaagi sa pag-klik sa link sa pag-download sa ubos sa seksyon sa `calibration data'. Gitugotan ka niini nga dali nga ma-import ang datos sa pagkakalibrate sa imong kaugalingon nga mga aplikasyon. Dugang pa, mahimo nimong i-save ang data sa pagkakalibrate sa imong PC ug i-reload kini sa ulahi, pinaagi sa paggamit sa seksyon nga 'pag-upload sa data sa pagkakalibrate'.

9.14 Auto Re-calibration
Sa panid sa `auto re-calibration', nga gipakita sa Figure 28, mahimo nimong palihokon ang usa ka awtomatiko nga pagbanabana sa mga parameter sa pagkakalibrate. Sa kini nga kaso, ang sistema nagpabilin nga na-calibrate bisan kung ang optical alignment gipailalom sa mga kalainan.
Ang mga parametro sa pagkakalibrate kasagarang gibahin ngadto sa intrinsic nga mga parameter (focal length, projection center ug distortion coefficients) ug extrinsic parameters (transformation tali sa mga poses sa tanang camera). Auto re-calibration lang
41

9.15 Rehiyon sa Interes

9 CONFIGURATION

naghimo sa usa ka pag-update sa mga extrinsic nga mga parameter, tungod kay sila labi ka dali nga magbag-o. Labaw nga espesipiko, ang rotation lang sa taliwala sa mga camera ang gibanabana. Kasagaran kini ang labing huyang nga parameter, nga mahimong maapektuhan sa bisan gamay nga mga deformasyon.
Mahimong ma-activate ang auto re-calibration pinaagi sa pagpili sa 'enable auto re-calibration' nga opsyon. Si Ruby dayon mag-compute sa samples alang sa gibana-bana nga inter-camera rotation. Usa ka lig-on nga pamaagi sa pagbanabana gigamit alang sa pagpili sa usa ka katapusan nga rotation banabana gikan sa set sa rotation samples. Ang gidaghanon sa sampAng mga gigamit alang niini nga proseso sa pagbanabana mahimong ma-configure. Gamay nga sample gidak-on nagtugot alang sa usa ka dali nga reaksyon sa paglinya kalainan, samtang dako sampAng mga gidak-on nagtugot alang sa tukma kaayo nga mga banabana. Kung ang kapilian nga 'permanenteng i-save ang gitul-id nga pagkakalibrate' gipili, nan ang gi-update nga pagkakalibrate gisulat sa dili mabag-o nga panumduman ug nagpabilin nga naa bisan pagkahuman sa usa ka siklo sa kuryente.
Aron ang auto-calibration molihok, ang mga camera kinahanglan nga mag-obserbar sa usa ka talan-awon nga adunay igo nga biswal nga impormasyon. Ilhon ni Ruby ang talagsaong mga bahin sa imahe ug ipahiangay kini sa tanan nga mga imahe. Kung dili igo nga mga bahin ang makit-an, unya ang auto re-calibration dili modagan. Ang usa ka tipikal nga talan-awon kinahanglan nga igo alang sa awtomatikong pag-calibrate sa wala ug tuo nga monochrome nga mga kamera. Alang sa pagpadagan sa auto re-calibraiton sa color camera, bisan pa niana, girekomendar ang usa ka feature-rich black/white pattern. Usa ka puti nga panid nga adunay giimprinta nga teksto, pananglitanample, nagsilbi nga maayo alang niini nga katuyoan.
Sa lugar sa estadistika makit-an nimo ang lainlaing kasayuran sa karon nga pasundayag sa proseso sa pag-calibrate sa awto. Naglakip kini sa kahimtang sa labing bag-o nga pagsulay sa pag-calibrate, ang oras sukad sa katapusan nga pag-update sa pagkakalibrate, ang rotational offset sa katapusan nga pag-update ug ang gidaghanon sa rotation s.amples nga nakolekta ug gilabay sukad sa katapusan nga update. Sa katapusan, makit-an nimo ang usa ka lista sa bag-o nga nakalkula nga mga rotation sa inter-camera sa lugar sa kasaysayan. Ang nalista nga mga rotation girepresentahan isip rotation quaternions.
9.15 Rehiyon sa Interes
Kung dili ang tibuuk nga imahe sa sensor ang gikinahanglan apan usa lamang ka subseksyon, nan mahimo kini nga ma-configure sa panid sa `rehiyon sa interes' (ROI). Kini nga panid magbukas ug preview sa wala ug tuo nga mga hulagway nga adunay gisapawan nga mga bayanan nga nagpakita sa giputol nga rehiyon, nga mahimong ibalhin ug usbon sa dungan gamit ang mouse (tan-awa ang Fig. 29). Ang aparato magbag-o sa gihangyo nga mga sukat sa ROI; sa kini nga kaso imong makita ang rehiyon nga awtomatikong mo-snap sa labing duol nga balido nga gidak-on sa imahe.
Kung ang pag-calibrate gihimo sa usa ka gipugngan nga nakasentro nga bintana imbes sa bug-os nga resolusyon sa sensor (tan-awa ang Seksyon 9.8), kini nga gipugngan nga mga gilapdon dili malapas sa panahon sa pagpili sa ROI. Ang preview Ang gidak-on sa imahe sa panid sa pagpili sa ROI magpakita sa gipugngan nga resolusyon sa oras sa pag-calibrate.

42

9.16 Inertial Measurement Unit

9 CONFIGURATION

Figure 29: Screenshot sa pagpili sa Rehiyon sa Interes.
9.16 Inertial Measurement Unit
Ang inertial measurement unit (IMU) nga nasulod sa Ruby, nga makahatag ug real-time nga three-dimensional measurements para sa accelerometer, gyroscope, linear acceleration ug magnetometer data, ingon man ang integrated quaternion orientation readings, mahimong ma-configure sa `inertial measurement unit' panid, nga gipakita sa Figure 30.
Sa seksyon nga 'frequency packet sa network', mahimo nimong itakda ang rate sa packet matag segundo alang sa mga pagbasa sa sensor. Ang bili mahimong madugangan alang sa minimumlatency (tinuod nga panahon) nga paggamit, o mapakunhod alang sa lunsay nga pagrekord sa mga serye sa panahon, diin ang mas taas nga mga batch sa datos ig-aggregate alang sa matag pakete.
Ang sampAng mga frequency sa ling alang sa indibidwal nga mga sensor mahimong ma-configure sa `sampseksyon sa ling frequency. Ang mga kantidad nagsangkad tali sa 0 Hz (nga nagpugong sa usa ka piho nga channel) ug ang labing taas nga rate, nga 100 Hz alang sa data sa magnetometer ug 400 Hz alang sa ubang mga channel. Ang `rotation quaternion' channel, nga nagpakita sa device orientation nga gihiusa gikan sa tagsa-tagsa nga sensor channels, adunay usa ka dugang nga mode toggle: sa `absolute (geomagnetic)' mode, ang device nag-integrate sa magnetometer aron makahatag og mga pagbasa alang sa yaw angle (ie rotation sa palibot sa gravity axis), sa ingon gibanabana ang hingpit nga pagdala sa kompas. Sa `relative (non-geomagnetic)' mode, walay magnetometer data ang gigamit, ug ang pagbasa sa yaw gibase lamang sa motion integration nga nagkinahanglan og pagsugod sa zero yaw, bisan unsa pa ang inisyal nga device orientation, ug usa ka progresibong divergent.
43

9.16 Inertial Measurement Unit

9 CONFIGURATION

Figure 30: Screenshot sa Inertial Measurement Unit Settings page.
pag-anod sa gikataho nga anggulo sa yaw nga may kalabotan sa hingpit nga direksyon sa kompas.
9.16.1 Pag-calibrate sa inertial nga yunit sa pagsukod
Usa ka buhi view sa orientation readings mahimong maobserbahan sa `calibration / device orientation' nga seksyon. Gawas sa mga anggulo sa roll, pitch, ug yaw, ang kalidad sa pagkakalibrate gitaho sa usa ka sukdanan gikan sa zero ngadto sa tulo (nagpakita sa BNO08X nga lebel sa Dili Masaligan; Ubos nga Katumpakan; Medium Accuracy; ug High Accuracy). Ang gibanabana nga katukma alang sa anggulo sa yaw (compass bearing) gitaho kung ang `absolute (geomagnetic)' mode gipagana. Ang mga pagbasa sa magnetometer mao ang dili kaayo kasaligan nga sangkap, busa ang kahimtang sa pagkakalibrate mahimong ireport nga dili kaayo tukma sa mode nga `absolute (geomagnetic)'.
Ang buton sa `pagsugod sa pag-calibrate' nagbutang sa IMU sa mode sa pagkakalibrate. Ang girekomendar nga pamaagi mao ang pag-orient dayon sa device ngadto sa lima ngadto sa unom ka tul-id nga direksyon (parehas sa cube nga mga nawong) nga adunay lain-laing mga rotation, ug sa makadiyot ipabilin ang device sa matag usa sa mga oryentasyon. Ang kahimtang sa pag-calibrate kinahanglan nga anam-anam nga molambo sa lebel 2 o 3. Ang buton nga `finish calibration' nagtipig sa bag-ong datos sa pagkakalibrate ug ang pag-reset sa mga pagbasa sa IMU magpadayon pagkahuman sa usa ka mubo nga higayon sa bag-ong pag-calibrate sa base, nga magpadayon sa mga siklo sa kuryente.
44

10 IMPORMASYON SA PAGGAMIT sa API
10 Impormasyon sa Paggamit sa API
10.1 Kinatibuk-ang Impormasyon
Ang cross-platform libvisiontransfer C ++ ug Python API anaa alang sa interfacing custom software uban ni Ruby. Alang sa Windows, adunay binary nga bersyon sa librarya nga magamit sa Microsoft Visual Studio. Alang sa Linux, palihog pagtipon sa librarya gikan sa anaa nga source code. Ang API gilakip isip bahin sa magamit nga pagpagawas sa software, nga mahimong ma-download gikan sa among suporta website1.
Ang libvisiontransfer API naghatag ug gamit para sa pagdawat sa mga resulta sa pagproseso ni Ruby sa usa ka computer network. Dugang pa, gitugotan usab sa API ang pagpasa sa datos sa imahe. Sa ingon kini magamit alang sa pagsundog kang Ruby sa paghimo sa pagpalambo sa mga sistema.
Ang gipasa nga mga resulta sa pagproseso naglangkob sa usa ka hugpong sa mga hulagway. Kasagaran kini mao ang gitul-id sa wala nga imahe ug ang gikalkula nga disparity map. Kung gi-configure, bisan pa, mahimo usab nga ihatag ni Ruby ang hilaw nga narekord nga mga imahe o tanan nga gitul-id nga mga imahe (tan-awa ang Seksyon 9.9).
Ang orihinal ug gitul-id nga mga hulagway sa kamera kasagarang gipasa sa monochrome bit-depth nga 8 bits o 12 bits kada pixel, o sa 8-bit RGB mode. Ang disparity map kanunay nga gipasa nga adunay gamay nga giladmon nga 12 bits. Sa sulod sa librarya, ang disparity map ug bisan unsang 12-bit nga mga hulagway gipaburot ngadto sa 16 bits, aron tugotan ang mas episyente nga pagproseso.
Naghatag ang API og tulo ka klase nga mahimong magamit alang sa pagdawat ug pagpadala sa datos sa imahe:
· Ang ImageProtocol mao ang labing ubos nga lebel nga interface. Gitugotan niini nga klase ang pag-encode ug pag-decode sa mga set sa imahe sa / gikan sa mga mensahe sa network. Kinahanglan nimo nga dumalahon ang tanan nga komunikasyon sa network sa imong kaugalingon.
· Ang ImageTransfer nag-abli sa usa ka network socket alang sa pagpadala ug pagdawat sa mga set sa imahe. Kini nga klase kay single-threaded ug sa ingon maka-block kung makadawat o magpadala sa datos.
· Gitugotan sa AsyncTransfer ang asynchronous nga pagdawat o pagpasa sa mga set sa imahe. Kini nga klase nagmugna usa o daghang mga hilo nga nagdumala sa tanan nga komunikasyon sa network.
Ang detalyado nga kasayuran sa paggamit sa matag klase makita sa magamit nga dokumentasyon sa API.
10.2 Pagbalhin sa Imahe Example
Usa ka example alang sa paggamit sa klase nga ImageTransfer sa C ++ aron makadawat sa mga resulta sa pagproseso sa network, ug pagsulat niini sa imahe files, gipakita sa ubos.
1https://nerian.com/support/software/
45

10.2 Pagbalhin sa Imahe Example

10 IMPORMASYON SA PAGGAMIT sa API

Kini nga source code file kabahin sa pagpagawas sa source code sa API. Palihug tan-awa ang dokumentasyon sa API alang sa dugang nga kasayuran sa paggamit sa ImageTransfer ug alang sa examples sa Python.

#ilakip ang < visiontransfer / deviceenumeration . h> #include < visiontransfer / imagetransfer . h> #include < visiontransfer / imagesset . h> #iapil #apil #apil

#ifdef _MSC_VER // Visual studio #definesnprintf #endif

dili moabut _snprintf_s

uban sa

snprintf

gamit ang namespace visiontransfer;

int main () { // Pangitaa ang Nerian stereo devices DeviceEnumeration deviceEnum ; DeviceEnumeration : : DeviceList devices = deviceEnum . discoverDevices ( ) ; i f ( d e v i c e s . s i z e ( ) == 0 ) { s t d : : c o u t << “No d e v i c e s d i s c o v e r e d ! ” << s t d : : e n d l ; return -1; }

// Print devices std : : cout << ” D iscovereddevices : ” << std : : endl ; kay ( unsignedinti = 0 ; i < devices . size ( ); i ++) {
std : : cout << mga himan [ i ] . ngadto sa S tring ( ) << std : : endl ; } std : : cout << std : : endl ;

// Paghimo ug image transfer object nga makadawat ug data gikan sa // ang unang nakit-an nga device ImageTransfer imageTransfer ( device [0]);

// Pagdawat ug 100 ka mga hulagway para sa ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” R nakadawat nga hulagway set ” << imgNum << std : : endl ;

// Dawata ang imahe ImageSet imageSet ; samtang (! imageTransfer . receiveImageSet ( imageSet )) {
// Padayon sa pagpaningkamot hangtod nga malamposon ang pagdawat }

// Isulat ang tanang gilakip nga mga hulagway sa usag usa para sa ( inti = 0 ; i < imageSet . getNumberOfImages ( ); i ++) {
// C reate PGM file

46

10.3 AsyncTransfer Example

10 IMPORMASYON SA PAGGAMIT sa API

char fileNgalan [100]; snprintf ( fileNgalan , gidak-on sa ( file N ame ) , ” image%03d_%d . pgm", ako,
imgNum);
imageSet . isulatPgmFile (ako, fileNgalan ); }}
balik 0; }

10.3 AsyncTransfer Example
Usa ka example alang sa paggamit sa klase nga AsyncTransfer sa C ++ aron makadawat sa mga resulta sa pagproseso sa network, ug pagsulat niini sa imahe files, gipakita sa ubos. Kini nga source code file kabahin sa pagpagawas sa source code sa API. Palihug tan-awa ang dokumentasyon sa API alang sa dugang nga kasayuran sa paggamit sa AsyncTransfer ug alang sa examples sa Python.

#ilakip ang < visiontransfer / deviceenumeration . h> #include < visiontransfer / asynctransfer . h> #include < visiontransfer / imagesset . h> #iapil #apil #apil

#ifdef _MSC_VER // Visual studio #definesnprintf #endif

dili moabut _snprintf_s

uban sa

snprintf

gamit ang namespace visiontransfer;

int main () { try { // Pangitaa ang Nerian stereo devices DeviceEnumeration deviceEnum ; DeviceEnumeration : : DeviceList devices = deviceEnum . discoverDevices ( ) ; i f ( d e v i c e s . s i z e ( ) == 0 ) { s t d : : c o u t << “No d e v i c e s d i s c o v e r e d ! ” << s t d : : e n d l ; return -1; }

// Print devices std : : cout << ” D iscovereddevices : ” << std : : endl ; kay ( unsignedinti = 0 ; i < devices . size ( ); i ++) {
std : : cout << mga himan [ i ] . ngadto sa S tring ( ) << std : : endl ; } std : : cout << std : : endl ;

47

10.4 3D nga Pagtukod pag-usab

10 IMPORMASYON SA PAGGAMIT sa API

// Paghimo ug image transfer object nga makadawat ug data gikan sa // ang unang nakit-an nga device AsyncTransfer asyncTransfer (mga himan [0]);
// Pagdawat ug 100 ka mga hulagway para sa ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” R nakadawat nga hulagway set ” << imgNum << std : : endl ;
// Dawata ang imahe ImageSet imageSet ; samtang (! asyncTransfer . collectReceivedImageSet ( imageSet ,
0.1 / timeout / )) { // Padayon sa pagpaningkamot hangtod nga molampos ang pagdawat }
// Isulat ang tanang gilakip nga mga hulagway sa usag usa para sa ( inti = 0 ; i < imageSet . getNumberOfImages ( ); i ++) {
// C reate PGM file char fileNgalan [100]; snprintf ( fileNgalan , gidak-on sa ( file N ame ) , ” image%03d_%d . pgm", ako,
imgNum);
imageSet . isulatPgmFile (ako, fileNgalan ); } } } catch ( const std : : exception& ex ) { std : : cerr << ” E xceptionoccurred : ” << ex . unsa ( ) << std : : endl ; }
balik 0; }
10.4 3D nga Pagtukod pag-usab
Sama sa gihulagway sa Seksyon 7.2, ang disparity map mahimong mausab ngadto sa usa ka set sa 3D nga mga punto. Nagkinahanglan kini og kahibalo sa disparity-to-depth mapping matrix Q (tan-awa ang Seksyon 7.2), nga gipasa ni Ruby uban sa matag disparity map.
Ang usa ka optimized nga pagpatuman sa gikinahanglan nga pagbag-o, nga naggamit sa mga set sa panudlo sa SSE o AVX, gihatag sa API pinaagi sa klase nga Reconstruct3D. Kini nga klase nag-convert sa usa ka disparity map ngadto sa usa ka mapa sa 3D point coordinates. Palihug tan-awa ang dokumentasyon sa API alang sa dugang nga mga detalye.
10.5 Parameter
Usa ka bulag nga network protocol ang gigamit alang sa pagbasa ug pagsulat sa mga parameter sa aparato. Kini nga protocol gipatuman sa DeviceParameters. Ang bisan unsang mga parameter nga gibag-o pinaagi sa kini nga protocol i-reset kung ang aparato gi-reboot o kung ang tiggamit maghimo usa ka pagbag-o sa parameter pinaagi sa web interface.
48

11 GISUPPLY NGA SOFTWARE
Figure 31: Screenshot sa aplikasyon sa NVCom.
11 Gihatag nga Software
11.1 NVCom
Ang anaa nga source code o binary software release naglakip usab sa NVCom client application, nga gipakita sa Figure 31. Sa diha nga mag-compile niini nga aplikasyon sa imong kaugalingon, palihug siguroha nga ikaw adunay mga librarya nga OpenCV ug Qt nga na-install. Ang NVCom naghatag sa mosunod nga mga bahin:
· Hibal-i ang mga aparato nga Ruby, view ilang status, ug i-access ang ilang setup. · Pagdawat ug pagpakita sa mga imahe ug mga mapa sa kalainan gikan sa Ruby. · Paghimo og color-coding sa mga disparity nga mapa. · Paghatag live 3D pointcloud visualization. · Isulat ang nadawat nga datos sa files isip mga hulagway o 3D point clouds. Ang NVCom adunay GUI nga naghatag og access sa tanan nga importante nga mga gimbuhaton. Ang mas abante nga mga bahin magamit pinaagi sa mga opsyon sa command line, nga gilista sa Table 2. Ang mga opsyon sa command line mahimo usab nga gamiton alang sa pag-automate sa pagrekord sa datos o playback. Gawas kung ang NVCom gipadagan sa non-graphical mode, nagbukas kini og GUI window nga nagpakita sa nadawat nga mga imahe. Ang gipakita karon nga set sa imahe mahimong isulat sa disk pinaagi sa pagpindot sa enter key o pinaagi sa pag-klik sa icon sa camera sa toolbar. Kung gipugos ang space key o gi-klik ang icon sa pagrekord, ang tanan nga sunod nga mga imahe maluwas. Kung ang pagsira sa NVCom i-save niini ang karon nga mga setting, nga awtomatiko nga i-load pag-usab kung ang NVCom gilansad sa sunod nga higayon.
49

11.2 GenICam GenTL Producer

11 GISUPPLY NGA SOFTWARE

Talaan 2: Anaa nga mga kapilian sa command line alang sa NvCom.

-c VAL
-f FPS -w DIR -s DIR -n Non-graphical -p PORT -H HOST -t on/off -d -T -3 VAL
-z VAL -F -b on/off -h, tabang

Pilia ang color coding scheme (0 = walay kolor, 1 = pula / asul, 2 = balangaw) Limitahan ang pagpadala sa frame rate ngadto sa FPS Isulat dayon ang tanang hulagway sa DIR Ipadala ang mga hulagway gikan sa gihatag nga direktoryo
Gamita ang gihatag nga remote port number para sa komunikasyon Gamita ang gihatag nga remote hostname para sa komunikasyon I-activate / i-deactivate ang TCP transfers I-disable ang pagdawat sa imahen I-print ang frame timesamps Pagsulat og 3D point cloud nga adunay mga distansya hangtod sa VAL (0 = off) I-set ang zoom factor sa VAL percent Dagan sa fullscreen mode Isulat ang point clouds sa binary kaysa text format Nagpakita niini nga tabang.

11.2 GenICam GenTL Producer
11.2.1 Pag-instalar
Ang anaa nga software release dugang naglakip sa software module nga nagsunod sa GenICam GenTL standard. Ang GenTL nga sumbanan nagtino sa usa ka generic nga transport layer interface alang sa pag-access sa mga camera ug uban pang mga imaging device. Sumala sa kombensiyon sa pagngalan sa GenICam, ang usa ka prodyuser sa GenTL usa ka software driver nga naghatag ug access sa usa ka imaging device pinaagi sa GenTL interface. Ang usa ka konsumidor sa GenTL, sa laing bahin, mao ang bisan unsang software nga naggamit sa usa o daghang mga prodyuser sa GenTL pinaagi sa kini nga interface. Ang gihatag nga software module nagrepresentar sa usa ka GenTL nga prodyuser ug mahimong magamit sa bisan unsang software sa aplikasyon nga molihok ingon usa ka konsumedor. Gitugotan niini ang andam nga pag-integrate ni Ruby sa naglungtad nga mga suite sa software sa panan-awon sa makina sama pananglitan sa HALCON.
Depende sa bersyon nga imong gi-download, ang prodyuser gihatag ingon usa ka binary o ingon nga source code. Kung imong pilion ang pagpagawas sa source code, ang prodyuser pagatukuron kauban ang ubang mga sangkap sa software. Ang gihimo/na-download nga binary ginganlan og nerian-gentl.cti. Aron makit-an sa usa ka konsumidor, kini file kinahanglan ibutang sa usa ka direktoryo nga anaa sa GenTL search path. Ang agianan sa pagpangita gitino pinaagi sa mosunod nga duha ka mga variable sa palibot:
GENICAM_GENTL32_PATH: Pagpangita nga agianan alang sa 32-bit nga GenTL nga mga prodyuser. GENICAM_GENTL64_PATH: Pagpangita nga agianan alang sa 64-bit nga GenTL nga mga prodyuser.
Ang binary Windows installer awtomatikong nag-configure niini nga palibot

50

11.2 GenICam GenTL Producer

11 GISUPPLY NGA SOFTWARE

mga variable. Sa paghimo sa source code release, palihog i-configure ang environment variables sa manually.
11.2.2 Virtual nga mga Device
Kung nabutang na ang agianan sa pagpangita, andam na ang prodyuser nga gamiton sa usa ka konsumedor. Alang sa matag Ruby ang prodyuser naghatag og lima ka virtual nga mga himan, nga ang matag usa naghatud sa usa ka bahin sa nakuha nga datos. Kini nga mga virtual nga aparato ginganlan ingon sa mosunod:
/color Naghatag sa kolor nga imahe sa camera nga gipasa ni Ruby. Sa default nga pag-configure, kini ang imahe pagkahuman gipadapat ang pagtul-id ug projection. Ang imahe gi-encode ingon usa ka imahe sa RGB nga adunay 8 bits matag channel (RGB8).
/left Naghatag sa wala nga hulagway sa camera nga gipasa ni Ruby. Sa default configuration, kini nga data stream dili magamit. Ang hulagway gi-encode sa 8 o 12 bits kada pixel (Mono8 o Mono12).
/ tuo Naghatag sa husto nga hulagway sa kamera. Sa default configuration, kini nga data stream dili magamit. Ang hulagway gi-encode sa Mono8 o Mono12 nga format.
/disparity Naghatag sa disparity map nga gipasa ni Ruby. Kini nga data dili magamit kung si Ruby gi-configure sa pass through o rectify mode. Ang disparity map gipasa gamit ang non-packed 12 bits per pixel encoding (Mono12).
/pointcloud Naghatag ug pagbag-o sa disparity map ngadto sa 3D point cloud (tan-awa ang Seksyon 7.2). Ang matag punto girepresentahan sa tulo ka 32-bit floating point nga mga numero nga nag-encode sa x-, y- ug z-coordinate (Coord3D_ABC32f).
/ Kini nga virtual nga aparato naghatag usa ka daghang bahin nga stream sa datos nga adunay tanan nga datos nga magamit pinaagi sa ubang mga aparato. Sa default configuration, kini nga device naghatag sa wala nga hulagway sa camera, ang disparity map ug ang 3D point cloud.
Ang virtual nga mga himan / kolor, / wala, / tuo ug / disparity naghatag sa wala maproseso nga datos nga nadawat gikan ni Ruby. Ang datos nga nakuha pinaagi sa /pointcloud device gikompyut sa prodyuser gikan sa nadawat nga disparity map. Gihimo kini pinaagi sa pagpadaghan sa disparity map sa disparity-to-depth mapping matrix Q (tan-awa ang Seksyon 7.2), nga gipasa ni Ruby uban sa matag pares sa imahe. Ang dili balido nga disparidad gibutang sa minimum nga disparity ug sa ingon moresulta sa mga punto nga adunay dako kaayo nga distansya.
Girekomenda nga gamiton ang multi-part virtual device / kung gikinahanglan ang labaw sa usa ka matang sa datos. Makagarantiya kini nga ang tanan nga pagkuha sa datos gidungan. Kung nanginahanglan usa ra nga tipo sa data sa pag-input, nan ang paggamit sa gipahinungod nga virtual nga mga aparato mao ang labing episyente nga kapilian.
51

11.3 ROS Node

12 SUPORTA

11.2.3 Device ID Ang tanan nga device ID nga gi-assign sa producer kay URLs ug naglangkob sa mosunod nga mga sangkap:
protocol: // adres / virtual device
Ang component sa protocol nagpaila sa nagpahiping transport protocol nga gamiton alang sa komunikasyon. Posible ang mosunod nga mga kantidad:
udp: Gamita ang walay koneksyon nga UDP transport protocol para sa komunikasyon.
tcp: Gamita ang koneksyon oriented TCP transport protocol alang sa komunikasyon.
Ang virtual device kinahanglang ibutang sa usa sa mga ngalan sa device nga nalista sa miaging seksyon. Ilang examples alang sa balido nga device ID mao ang: udp://192.168.10.10/ pointcloud tcp://192.168.10.100/ left
11.3 ROS Node
Alang sa paghiusa ni Ruby sa Robot Operating System (ROS), adunay opisyal nga ROS node. Kini nga node gitawag nga nerian_stereo ug makita sa opisyal nga ROS package repository. Ang node nagpatik sa computed disparity map ug ang katugbang nga 3D point cloud isip ROS nga mga topiko. Dugang pa, mahimo’g imantala ang kasayuran sa pagkakalibrate sa camera ug mga pagbasa sa IMU.
Aron ma-install kini nga node gikan sa ROS package servers sa Ubuntu Linux system, palihog gamita ang mosunod nga mga command: > sudo apt -get update > sudo apt -get install ros -`rosversion -d`-nerian -stereo
Ang detalyadong impormasyon niini nga node makita sa katugbang nga ROS wiki page2.
12 Suporta
Kung kinahanglan nimo ang suporta sa paggamit sa Ruby unya palihug gamita ang among forum sa suporta sa https://nerian.com/support/forum/ o kontaka:
Nerian Vision GmbH Zettachring 2 70567 Stuttgart Germany
2http://wiki.ros.org/nerian_stereo
52

14 OPEN SOURCE IMPORMASYON
Telepono: +49 711 2195 9414 E-mail: service@nerian.com
Website: www.nerian.com
13 Impormasyon sa Garantiya
Gihatagan ang aparato og 2 ka tuig nga garantiya sumala sa balaod sa federal nga Aleman (BGB). Mawala ang warranty kung:
· ang pabalay giablihan sa uban gawas sa opisyal nga kawani sa serbisyo sa Nerian Vision Technologies.
· ang firmware giusab o gipulihan, gawas sa opisyal nga firmware updates.
Sa kaso sa warranty palihog kontaka ang among support staff.
14 Open Source nga Impormasyon
Ang firmware ni Ruby adunay code gikan sa open source nga mga librarya ug mga aplikasyon nga gilista sa Table 3. Source code alang niini nga mga component sa software ug ang mga pulong sa tagsa-tagsa nga software license mahimong makuha gikan sa open source nga impormasyon website3. Ang pipila niini nga mga sangkap mahimong adunay code gikan sa ubang mga open source nga mga proyekto, nga mahimong wala gilista dinhi. Para sa depinitibo nga lista, palihog konsultaha ang tagsa-tagsa ka source packages.
Ang mosunud nga mga organisasyon ug indibidwal nakatampo sa lainlaing mga sangkap sa open source:
Free Software Foundation Inc., Emmanuel Pacaud, EMVA ug mga kontribyutor, The Android Open Source Project, Red Hat Incorporated, University of California, Berkeley, David M. Gay, Christopher G. Demetriou, Royal Institute of Technology, Alexey Zelkin, Andrey A. Chernov, FreeBSD, SL Moshier, Citrus Project, Todd C. Miller, DJ Delorie, Intel Corporation, Henry Spencer, Mike Barcroft, Konstantin Chuguev, Artem Bityuckiy, IBM, Sony, Toshiba, Alex Tatmanjants, M. Warner Losh, Andrey A. Chernov, Daniel Eischen, Jon Beniston, ARM Ltd, CodeSourcery Inc, MIPS Technologies Inc, Intel Corporation, Willow Garage Inc., NVIDIA Corporation, Advanced Micro Devices Inc., OpenCV Foundation, Itseez Inc., The Independent JPEG Group, elibThomas G. Lane, Guido Vollbeding, SimonPierre Cadieux, Eric S. Raymond, Mans Rullgard, Cosmin Truta, Gilles Vollant, James Yu, Tom Lane, Glenn Randers-Pehrson, Willem van Schaik, John Bowler, Kevin Bracey, Sam Bushell, Magnus Holmgren, Greg Roelofs, Tom Tanner, Andreas Dilger, Dave Martindale, Guy Eric Schalnat, Paul Schmidt, Tim Wegner, Sam Leffler, Silicon Graphics, Inc. Industrial Light & Magic, University of Delaware, Martin Burnicki, Harlan Stenn, Danny Mayer, The PHP Group , OpenSSL Software Services, Inc., OpenSSL Software Foundation, Inc., Andy Polyakov, Ben Laurie, Ben Kaduk, Bernd Edlinger, Bodo Möller, David Benjamin, Emilia Käsper, Eric Young, Geoff Thorpe, Holger Reif, Kurt Roeckx, Lutz Jänicke , Mark J. Cox, Matt Caswell, Matthias St. Pierre, Nils Larsch, Paul Dale, Paul C. Sutton, Ralf S. Engelschall, Rich Salz, Richard Levitte, Stephen Henson, Steve Marquess, Tim Hudson, Ulf Möller, Viktor Dukhovni
3http://nerian.com/support/resources/scenescan-open-source/
53

14 OPEN SOURCE IMPORMASYON
Ang tanan nga mga tagsulat nga nag-amot sa mga pakete nga gilakip sa PetaLinux. Palihug kuhaa ang tibuok listahan gikan sa www.xilinx.com/petalinux.
Kung nagtuo ka nga ang imong ngalan kinahanglan ilakip sa kini nga lista, nan palihug ipahibalo kanamo.
54

14 OPEN SOURCE IMPORMASYON

Talaan 3: Mga sangkap sa bukas nga gigikanan.

Ngalan Aravis GenApi reference pagpatuman libgpiod libwebmga socket sa Linux PTP ntp
OpenCV
OpenSSL PetaLinux PHP

Bersyon 0.6.4 gitambalan 3.1.0 1.4 2.2 3.1 4.2.8p10
3.2.0
1.1.1d 2019.2

(mga) lisensya
GNU LGPL 2.0 GenICam License GNU LGPL 2.1 GNU LGPL 2.1 GNU GPL 2 BSD License MIT License BSD License libpng License JasPer License 2.0 BSD License Lainlaing PHP License

55

Kasaysayan sa Pagbag-o

14 OPEN SOURCE IMPORMASYON

Kasaysayan sa Pagbag-o

Petsa sa Rebisyon

Deskripsyon (mga) tagsulat

v1.0

Septiyembre 28, 2022 KS

v0.1

Agosto 23, 2022 KS

Inisyal nga bersyon Preliminary draft

56

Mga Dokumento / Mga Kapanguhaan

nerian Ruby 3D Depth Camera [pdf] Manwal sa Gumagamit
Ruby 3D Depth Camera, Ruby 3D, Depth Camera, Camera
nerian Ruby 3D Depth Camera [pdf] Manwal sa Gumagamit
Ruby 3D Depth Camera, Ruby 3D, Depth Camera, Camera

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *