微信:HuangL1121
QQ号:1224848052
团队:MATLAB代做|MATLAB专业代做|FPGA代做|FPGA专业代做
地址:北京市-朝阳区-双柳北街18号院
当前位置:首页 > 图像语音 > 二维转三维~双目立体系统
项目案例
二维转三维~双目立体系统
二维转三维~双目立体系统
产品说明:

1.1 课题研究背景与研究意义

自然界本来就是一个三维空间,自然界所有景物都是立体的。人眼观看自然界景物时,不仅能看到景物的高度与宽度,而且还能分辨出景物的深度,即人眼具有立体视觉。迄今人类使用的电视系统绝大部分仅能显示平面图像,故称其为平面电视。作为人眼视觉延伸的电视理应具有与人眼立体视觉相适应的功能,使观看者获得立体的视觉效果,这便是立体电视。立体电视能显示出景物在三维空间中的位置,即景物的高度、宽度及深度。

立体显示系统的发展以研究人眼立体视觉机理为依据,是立体图像研究成果在电视中的应用。电视机问世以来,三维立体电视便是电视技术工作者梦寐以求追求的目标。二十世纪五十年代,人们在研究基于双目视差三维立体显示机理的立体电影的同时,对三维立体电视也开展了大量的研究,提出了众多双目视差式立体电视的方案。但作为三维立体广播电视,因要求与现有电视制式相兼容等技术问题难以获得解决,致使三维立体广播电视的研究曾一度停顿,从而电视的研究重点转向实现彩色化。

随着人们生活水平的提高,对图像与视频质量的要求也随之提高。视频格式的将来会往什么方向发展呢,除了增加视频的分辨率带来更高质量的视觉效果以外,让人们产生如身临其境般感觉的三维电视将逐渐崭露头角。

尽管三维视频领域不断的发展变化,但与我们在科幻电影或小说中看到的虚拟三维交互等场景相去甚远。近年来,随着图像处理,通信以及编码等各种研究领域的不断进步,三维视频又迎来了新的发展契机。在计算机图形方面,图形显示技术的飞跃和计算机芯片处理能力的大幅度提高,已经使我们在普通的显示器上,能观赏到逼真的三维电影。 在工业领域内,普通的显示设备不能满足对逼真三维视频的要求。专门用于显示三维影像的三维显示设备已经应运而生。

1.2国内外研究现状

立体视频的内容生成技术是相关计算机多媒体领域内的重要课题。

目前国内外的多路立体视频片源获取主要有两种途径:多路立体采集设备和平面视频转换为立体视频技术。多路立体采集设备是利用立体摄像机,直接获取裸眼自由式立体显示设备所需的多路视频信息,或者利用现有计算机算法,从多路视频中获取场景和对象的三维信息,如深度信息和场景对象模型等,并通过这些三维信息,渲染出对应的立体视频。基于多路立体采集设备的技术方案优势在于获取多路立体视频或者三维信息的直接性和便利性,而且还有丰富的计算机算法和成熟的研究成果来支持。但是其采集设备复杂和成本昂贵等因素极大制约了该技术方案的广泛应用。而平面视频转换为立体视频技术是通过用户交互或者计算机算法的处理,提取传统平面视频序列中场景和对象的深度信息,基于这样的深度信息可以很容易渲染得到立体视频所需的多路视频数据。该技术方案特点在于无需特殊硬件设备,同时将现有的庞大平面媒体资源转换为立体视频的商业价值较高。因此,平面视频转换为立体视频技术越来越受到重视。

现阶段由单目视频序列和深度序列合成另一路视频序列的方法已经比较成熟,并且得到广泛应用。因此,如何利用原序列获得深度序列成为二维视频转化为三维视频中至关重要的技术。传统手工绘制深度图的方法虽然能得到比较满意的结果,但是将耗费巨大的人力和物力。目前已经有一些方法尝试解决这一问题:全自动的深度图生成方法,该方法根据原视频序列的图像纹理、运动、结构等信息进行深度图像提取。但这种方法无法获得准确的深度图像。半自动的深度图生成方法,该方法通过人机交互,由操作人员借助经验在视频帧图像中分辨目标及相关深度,通常是由操作人员使用相关软件,在图像中需要分配深度的每个目标的轮廓周围勾画,并用决定距观察者深度或距离的灰色阴影来对目标物体着色,该过程将随后对图像中每个目标进行重复,进而生成视频帧对应的深度图,这样生成的深度图一般比较准确,可以实现真实的立体效果。

2维图像转3维图像的理论简介

2.1 立体视觉的基本原理

立体视频显示原理以人眼的立体视觉机理为依据。因而了解双目视觉机理,掌握立体视觉规律,对理解立体视频的成像原理、组成及设计新型立体电视系统都是必不可少的。人类对立体视觉的研究已有悠久的历史,早在两千多年以前,就有人提出立体视觉的定义,认为人眼观看空间景物时之所以能直观地产生出深度感,是由于人的左、右眼从不同方位观看同一物体时,两眼获得的视像存在着一定差异。近几年来,国内外学者对人和动物的视觉机理,尤其对人眼双目视觉的研究十分活跃,并形成了一门新兴学科即生理光学。生理光学相关研究表明,人眼在辨识三维空间物体时,必须感知物体的距离和方向这两个分量。对双目立体视觉的大量研究结果表明,影响人眼感知距离及方向的因素有很多,正是这些因素共同作用形成了人眼的立体视觉。人类实际经验及视觉实验共同表明,不仅通过双眼观看空间景物时具有立体感,即使只用单眼看空间景物时也能分辨出物体的前后深度,并具有一定的立体感,但使用单眼观看比使用双眼观看分辨率要低很多,立体感效果较差。科学研究表明,人的立体视觉因素可分为两大类:单目立体三维信息和双目立体三维信息。

2.1.1单眼立体三维信息

单目立体三维信息是能使单眼产生立体视觉的因素,总结出来有如下几种:

·调节效应

当人眼观看距离不同的物体时,为使物体能在视网膜上成像,人眼通过改变睫状肌的张弛程度来改变眼球晶状体的曲率,从而使晶状体凸透镜的焦距产生变化,达到视网膜上清晰成像。因此,睫状肌的张弛程度与物体离开人眼的距离有关。大脑依据睫状肌的张弛程度即可感知物体的绝对距离。此种为使被观看物体能在视网膜上成像,人眼睫状肌张弛状态所作的变化称为调节效应。调节效应属于人体的一种生理过程,其作用范围很小,当这一视觉因素单独起作用时,距离超过五米便失去效果。

·单眼运动视差

当观看者或被观看对象运动时,由于视线方向的连续变化,单眼的视网膜成像也不断发生变化,于是借助时间顺序变化形成立体视觉。这种利用观看者与物体间的相对运动使空间物体相互位置产生变化,从而判断出物体间的前后关系,相当于连续地从几个方向观看景物,类似于有几只眼睛观看景物的状况。当用单眼观看物体时,若眼睛位置不动,调节效应便是对深度感的唯一心理暗示,若允许观看位置移动,便可利用双眼视差效应从各个方向来观看物体,从而产生出深度感,这个效应便称为单眼运动视差。显然,单眼运动视差对静态物体不起作用。单眼运动视差形成立体视觉的有效距离不超过三百米。人眼可以根据物体运动前后视角的变化来判断远近关系。这种差异叫做运动视差。在本文后面的算法中,利用运动视差获取物体的深度信息正是基于这个简单的原理。

·视网膜成像的相对大小

同样大小的物体,当观看距离不同时,在视网膜上成像的大小也不一样。距离越远,视网膜成像便越小。由此人脑可以通过比较视网膜成像的相对大小来判断出物体的前后关系。这一视觉因素的有效距离在五百米以内。

·线性透视

当景物中含有如走廊和轨道等平行线分量时,看起来这些平行线将会聚于视线远方的某一点。基于这一现象的绘图法称为透视法。透视法是在平面上表现远近感的最有效方法。在绘画艺术中被广为采用。实际上线性透视是视线方向平行线上对应两点随着视距的增大,在视网膜上所成像点距离线性减小的结果。

除上述比较重要的几种单眼视觉因素外,还有其他深度感知因素,在此不再赘述。值得指出的是,上述四种单眼立体视觉因素中,只有调节效应和单眼运动视差与人眼的生理活动有关,其余都是具有较强的心理和经验因素。尽管如此,在绘画、摄影、普通电影及电视技术中仍普遍利用这些单眼立体视觉因素来表现图像的立体感。

2.1.2双目立体三维信息

人属于双眼动物,用双目观看空间景物时,形成立体视觉的因素称为双目三维立体信息。双目三维立体信息是人眼立体视觉至关重要的因素,它包括双目视差和辐辏。

·双目视差

一般情况,人两眼相距5.8-7.2厘米,故用双眼同时观看同一物体时,左、右眼视线方位不同,物体在左、右眼视网膜上所成的像也稍有差异,通常称这种差异为双目视差。双目视差的大小与空间物体的位置有着密切的关系。因而检测出双目视差的大小即可分辨出物体的深度。双目视差与深度距离成正比,与视距的平方成反比。根据实际测量,人眼视差检测的极限角度大约在5度到10度这个范围内,更小的双目视差人眼无法感知。实验证明,双目视差因素单独起作用,且视距超过250米时,人眼便失去立体感知。

·辐辏

人用双眼观看物体时,假如物体所成的像不是落在左、右眼视网膜的相应点上,则所观看的仍是二重像或称为复像。大脑使二重像成为单像在生理光学中称为融合。眼球在融合时必须作旋转运动,我们称眼球的这种旋转运动为辐辏。两眼对同一观测点的两条视线夹角为辐辏角。产生辐辏时,眼外肌要收缩,使融合状况发生变化。故辐辏时眼外肌张力感以及两眼的融合状况便成为立体视觉的信息。因此,观看远近不同的两点,其辐辏角也不同,眼球旋转运动的程度也不一样,这样便产生了深度感。实验表明,辐辏与调节有着密切的关系。辐辏引起调节,调节也会引起辐辏。但两者并不是单值函数关系。当眼球为聚焦所进行的调节固定于某一视距时,允许辐辏在一定范围内变化,反之,当眼球的辐辏固定于某一视距时,也允许眼球的调节在一定范围内变化,假如两者的变化范围超过各自的允许范围时,便会在三维立体显示时引起视觉的疲劳。

从上述双目立体三维信息的机理可知,双目视差和辐辏是人眼立体视觉的生理因素,以人眼的生理活动为基础,而不是像单目立体三维信息中含有许多经验因素。单目立体三维信息和双目立体三维信息的各种因素都具有各自的分辨精度和有效视距。视距不同时,各种立体视觉因素对人眼立体视觉的作用也不同。为了方便说明,下面阐述两者的深度灵敏度与视距的关系。

单目立体三维信息中的调节在离眼睛很近的视距内起作用,观看视距超过2-3米的景物时,对立体视觉的作用很微弱。观看远处景物,如视距超过1000米时,宽视野及空气透视成为形成立体视觉的主要因素。在数百米以内的近视距,单目运动视差和双目视差则是立体视觉的主要因素。其中,运动视差对立体感的作用与运动速度有关,产生最强立体感的角速度也因人而异,约为每秒几度至十度。在250米以内的近视距内,双目视差是形成立体视觉的最重要因素。

·继时显示

上述双目视差是在左、右眼同时接受图像刺激的状况,称为同时视觉。假如进入左、右眼的视差信息在时间上不是同时显示,而存在某种程度滞后时,那么立体视觉规律将不同于同时视觉。视差图像滞后显示称继时显示。继时显示所形成立体视觉既与滞后时间有关,也与先前显示视差图像的显示时间有关。滞后时间短于20毫秒时,继时显示双目视差图像所产生的立体视觉与同时视觉产生的立体视觉基本相同;继时显示滞后时间长于20毫秒时,继时显示的立体视觉减弱;当滞后时间超过100毫秒时,将无法形成立体视觉。实验还表明,继时显示的立体视觉与滞后时间的关系还与先前显示图像的显示时间有关。当先前图像显示时间超过375毫秒时,继时显示已无法产生立体视觉。在这种情况下,必须同时显示才能形成立体视觉。这个现象与显示图像的视觉惰性效应并没有太大关系,因为当增大图像亮度时,为形成立体视觉所允许的滞后时间反而变短,这正好与视觉惰性效应相反。上述继时显示与立体视觉的关系对利用双目视差机理设计顺序显示视差图像的立体电视系统设计至关重要。

综上所述,双目视差是在250米近视距内形成立体视觉的最重要因素,同时又是以人眼客观生理活动为基础的因素。因此,双目视差机理成为立体电视系统的主要理论依据。迄今为止,大多已实现的立体电视系统都是模拟人眼的双目视差而设计的。

从人眼立体视觉形成的机理可知,人们用双眼直接观看周围景物时所产生的立体感,是由包括单目和双目立体视觉因素在内的各种立体视觉因素综合作用的结果。然而目前使用的普通平面二维电视系统是用一台单镜头摄像机摄像,这相当于用一只眼睛观看景物。因此,这只是单目立体三维信息模拟。即使已实现的立体电视系统也只用有限台摄像机相隔一定距离摄像,这也只是模拟人眼双目视差这一视觉因素。尽管双目视差是近视距时产生立体视觉的主要因素,但毕竟还不是人眼全部视觉信息的综合性模拟。正因为如此,人们观看双目视差立体电视的图像与人眼直接观看原始景物时的感觉还不完全相同。理想的立体电视应是人眼立体视觉的综合性模拟,这在现阶段还无法实现。

2.2 三维显示系统的研究

自然界本来就是一个三维空间,自然界的所有景物都是立体状的。人眼观看自然界景物时,不仅能观看到景物的高度与宽度,而且还能分辨出景物的深度,即人眼对自然界空间景物具有立体感,或者说人眼具有立体视觉。迄今使用的电视系统都仅能显示一个二维平面图像,故称其为二维平面电视。作为人眼视觉延伸的电视理应具有与人眼立体视觉相适应的功能,使观看者视觉获得立体图像的效果,这便是立体电视。立体电视能显示出景物在三维空间中的位置,即景物的高度、宽度及深度,故也称其为三维立体电视。

三维立体电视的研究与发展既以研究人眼立体视觉机理为依据,更是普通立体图像研究成果在电视中的应用。自电视问世以来,三维立体电视便是电视技术工作者梦寐以求追求实现的一个目标。20世纪50年代,在研究基于双目视差三维立体显示机理的立体电影的同时,对三维立体电视也开展了大量的研究,提出了众多双目视差式三维立体电视的方案。但作为三维立体广播电视,因要求与现有电视制式相兼容及使用简便等众多技术难点难以获得解决,致使三维立体广播电视的研究曾一度停顿,而电视的研究重点则转向实现彩色化。自 20 世纪 60 年代末起,随着电视彩色化的不断完善及新型三维立体图像显示技术即全息摄影术的问世,三维立体电视的研究再度活跃起来。特别是全息摄影术显示的立体三维图像,人们无需配戴眼镜便可观看到。若改变观看位置,还可观看到景物的侧面与背面。可见全息摄影术显示景物的立体感及逼真度达到了惊人的程度,使观看者具有身临其境的立体感和临场感。故利用全息立体显示技术的全息电视才是理想的三维立体电视,  尽管全息电视目前还存在着众多的技术难点,但还是为三维立体电视的研究开拓了一条全新的技术途径。

为了满足人们能看到三维画面的要求,出现了多种不同的三维立体电视的实现方法。根据人眼立体视觉的特性,实现立体电视的方式也对应为两大类:一类是利用两眼的视差特性,使一对视差信号的两幅图像同时出现在屏幕上,让两眼分别观看这  两幅图像来获得立体感觉;第二类是利用一只眼睛也能获得立体感的特性,将一对视差信号的两幅图像先后轮流地出现在屏幕上,从而获得立体感觉。 第一类立体电视利用了人的两眼的视差特性来实现立体电视,其方式主要有:色分法、光分法、时分法和全息电视法等。方式虽然各异,但其基本出发点相同,而且做法大体相似:在发送端用两台摄像机,模拟人的左、右两眼进行摄像,产生一对视差图像信号,编码成一路信号进行传送。接收端解码成两路信号,在屏幕上同时显示两幅图像,由人的两眼分别观看,从而获得立体感。

01

clc;

clear;

close all;

warning off;

addpath 'msseg';

mins = 1;

maxs = 20;

hs   = 10;

hr   = 7;

M    = 30;

images_01 = imread('images\R0.png');

images_02 = imread('images\L0.png');

figure;

subplot(121);imshow(images_02);title('左图');

subplot(122);imshow(images_01);title('右图');

depth_map = func_2D_3D(images_01,images_02, hs,hr,M,mins, maxs);

figure;

imshow(depth_map,[]);title('depth map');

02

clc;

clear;

close all;

select = 1;%选择1prewitt边缘检测,选择2robert边缘检测,选择3sobel边缘检测

I1 = imread('image\2.png');

figure

subplot(121);imshow(I1);title('原始图像');

if select ==1

R_edge = prewitt(I1(:,:,1));

G_edge = prewitt(I1(:,:,2));

B_edge = prewitt(I1(:,:,3));

end

if select ==2

R_edge = robert(I1(:,:,1));

G_edge = robert(I1(:,:,2));

B_edge = robert(I1(:,:,3));

end

if select ==3

R_edge = sobel(I1(:,:,1));

G_edge = sobel(I1(:,:,2));

B_edge = sobel(I1(:,:,3));

end

edge(:,:,1) = R_edge;

edge(:,:,2) = G_edge;

edge(:,:,3) = B_edge;

edge2 = rgb2gray(edge);

subplot(122);imshow(edge2);title('深度图');

03

clc;

clear;

close all;

%Step1:读取视频

[Obj,frameNum_Original] = get_AVI('avi\source.AVI');

frameNum       = frameNum_Original;

pixel          = vedio_op(Obj,frameNum);

for i=1:frameNum

edge(:,:,1,i) = prewitt(pixel(:,:,1,i));

edge(:,:,2,i) = prewitt(pixel(:,:,2,i));

edge(:,:,3,i) = prewitt(pixel(:,:,3,i));

end

for i=1:frameNum

edge2(:,:,i) = rgb2gray(edge(:,:,1:3,i));

end

implay(edge2)

04

clc;

clear;

close all;

warning off;

fprintf('选择操作方式');

method=input('(1:训练;2:测试): ');

fprintf('选择运行精度');

speed=input('(1~9): ');

if method == 1

depth_H = func_learn(speed,speed^2);

end

if method == 2

depth_H = func_generate(speed,speed^2);

end

I1 = imread('images\3.jpg');

I1 = double(rgb2gray(I1));

I2 = imread('images\4.jpg');

I2 = double(rgb2gray(I2));

%深度估计

Depth         = func_depth(I1,I2,depth_H,1);




上一篇:基于MATLAB的条形码检测算法-MATLAB代做|MATLAB专业代做

版权所有: MATLAB代做|MATLAB专业代做|FPGA代做|FPGA专业代做 Copyright © 2018 All rights reserved.
微信:HuangL1121 QQ:1224848052
地址:北京市-朝阳区-双柳北街18号院

扫一扫,关注我们