Buckets:
| import{s as $t,n as Rt,o as Wt}from"../chunks/scheduler.d75c11ed.js";import{S as At,i as Et,e as p,s as l,c as h,h as Ft,a as i,d as a,b as n,f as Xt,g as o,j as m,k as g,l as Ht,m as e,n as c,t as M,o as d,p as r}from"../chunks/index.4ec9dfe9.js";import{C as Vt,H as Nt,E as Qt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.903f9bf7.js";import{C as j}from"../chunks/CodeBlock.77fa95e2.js";function Yt(nt){let u,cs,hs,Ms,C,ds,_,rs,I,pt=`Depth estimation datasets are used to train a model to approximate the relative distance of every pixel in an | |
| image from the camera, also known as depth. The applications enabled by these datasets primarily lie in areas like visual machine | |
| perception and perception in robotics. Example applications include mapping streets for self-driving cars. This guide will show you how to apply transformations | |
| to a depth estimation dataset.`,js,Z,it="Before you start, make sure you have up-to-date versions of <code>albumentations</code> installed:",us,k,gs,B,mt=`<a href="https://albumentations.ai/" rel="nofollow">Albumentations</a> is a Python library for performing data augmentation | |
| for computer vision. It supports various computer vision tasks such as image classification, object | |
| detection, segmentation, and keypoint estimation.`,ys,G,ht=`This guide uses the <a href="https://huggingface.co/datasets/sayakpaul/nyu_depth_v2" rel="nofollow">NYU Depth V2</a> dataset which is | |
| comprised of video sequences from various indoor scenes, recorded by RGB and depth cameras. The dataset consists of scenes from 3 cities and provides images along with | |
| their depth maps as labels.`,ws,v,ot="Load the <code>train</code> split of the dataset and take a look at an example:",fs,x,Js,X,ct="The dataset has two fields:",Ts,$,Mt="<li><code>image</code>: a PIL PNG image object with <code>uint8</code> data type.</li> <li><code>depth_map</code>: a PIL Tiff image object with <code>float32</code> data type which is the depth map of the image.</li>",Us,R,dt=`Here the depth maps are using TIFF format as it supports a wide range of data types, including <code>float32</code> data. | |
| However it is mention-worthy that JPEG/PNG format can only store <code>uint8</code> or <code>uint16</code> data. | |
| Therefore if you have depth maps saved as JPEG/PNG, use the <code>Image(mode="F")</code> type to load them as single channel <code>float32</code> like normal depth maps:`,bs,W,Cs,A,rt="Next, check out an image with:",_s,E,Is,y,jt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_sample.png"/>',Zs,F,ut="Before we look at the depth map, we need to first convert its data type to <code>uint8</code> using <code>.convert('RGB')</code> as PIL can’t display <code>float32</code> images. Now take a look at its corresponding depth map:",ks,H,Bs,w,gt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_target.png"/>',Gs,V,yt='It’s all black! You’ll need to add some color to the depth map to visualize it properly. To do that, either we can apply color automatically during display using <code>plt.imshow()</code> or create a colored depth map using <code>plt.cm</code> and then display it. In this example, we have used the latter one, as we can save/write the colored depth map later. (the utility below is taken from the <a href="https://github.com/dwofk/fast-depth/blob/master/utils.py" rel="nofollow">FastDepth repository</a>).',vs,N,xs,f,wt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_target_viz.png"/>',Xs,Q,ft="You can also visualize several different images and their corresponding depth maps.",$s,Y,Rs,J,Jt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_collage.png"/>',Ws,S,Tt="Now apply some augmentations with <code>albumentations</code>. The augmentation transformations include:",As,z,Ut="<li>Random horizontal flipping</li> <li>Random cropping</li> <li>Random brightness and contrast</li> <li>Random gamma correction</li> <li>Random hue saturation</li>",Es,L,Fs,q,bt="Additionally, define a mapping to better reflect the target key name.",Hs,K,Vs,P,Ct=`With <code>additional_targets</code> defined, you can pass the target depth maps to the <code>depth</code> argument of <code>aug</code> instead of <code>mask</code>. You’ll notice this change | |
| in the <code>apply_transforms()</code> function defined below.`,Ns,D,_t="Create a function to apply the transformation to the images as well as their depth maps:",Qs,O,Ys,ss,It='Use the <a href="/docs/datasets/pr_8113/en/package_reference/main_classes#datasets.Dataset.set_transform">set_transform()</a> function to apply the transformation on-the-fly to batches of the dataset to consume less disk space:',Ss,ts,zs,as,Zt="You can verify the transformation worked by indexing into the <code>pixel_values</code> and <code>labels</code> of an example image:",Ls,es,qs,T,kt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_sample_aug.png"/>',Ks,ls,Bt="Visualize the same transformation on the image’s corresponding depth map:",Ps,ns,Ds,U,Gt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_target_aug.png"/>',Os,ps,vt="You can also visualize multiple training samples reusing the previous <code>random_indices</code>:",st,is,tt,b,xt='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/depth_est_aug_collage.png"/>',at,ms,et,os,lt;return C=new Vt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),_=new Nt({props:{title:"Depth estimation",local:"depth-estimation",headingTag:"h1"}}),k=new j({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1VJTIwYWxidW1lbnRhdGlvbnMlMjA=",highlighted:"pip install -U albumentations ",wrap:!1}}),x=new j({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBdHJhaW5fZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJzYXlha3BhdWwlMkZueXVfZGVwdGhfdjIlMjIlMkMlMjBzcGxpdCUzRCUyMnRyYWluJTIyKSUwQWluZGV4JTIwJTNEJTIwMTclMEFleGFtcGxlJTIwJTNEJTIwdHJhaW5fZGF0YXNldCU1QmluZGV4JTVEJTBBZXhhbXBsZQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset | |
| <span class="hljs-meta">>>> </span>train_dataset = load_dataset(<span class="hljs-string">"sayakpaul/nyu_depth_v2"</span>, split=<span class="hljs-string">"train"</span>) | |
| <span class="hljs-meta">>>> </span>index = <span class="hljs-number">17</span> | |
| <span class="hljs-meta">>>> </span>example = train_dataset[index] | |
| <span class="hljs-meta">>>> </span>example | |
| {<span class="hljs-string">'image'</span>: <PIL.PngImagePlugin.PngImageFile image mode=RGB size=640x480>, | |
| <span class="hljs-string">'depth_map'</span>: <PIL.TiffImagePlugin.TiffImageFile image mode=F size=640x480>}`,wrap:!1}}),W=new j({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwSW1hZ2UlMEElMEF0cmFpbl9kYXRhc2V0JTIwJTNEJTIwdHJhaW5fZGF0YXNldC5jYXN0X2NvbHVtbiglMjJkZXB0aF9tYXAlMjIlMkMlMjBJbWFnZShtb2RlJTNEJTIyRiUyMikp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> Image | |
| <span class="hljs-meta">>>> </span>train_dataset = train_dataset.cast_column(<span class="hljs-string">"depth_map"</span>, Image(mode=<span class="hljs-string">"F"</span>))`,wrap:!1}}),E=new j({props:{code:"ZXhhbXBsZSU1QiUyMmltYWdlJTIyJTVE",highlighted:'<span class="hljs-meta">>>> </span>example[<span class="hljs-string">"image"</span>]',wrap:!1}}),H=new j({props:{code:"ZXhhbXBsZSU1QiUyMmRlcHRoX21hcCUyMiU1RC5jb252ZXJ0KCUyMlJHQiUyMik=",highlighted:'<span class="hljs-meta">>>> </span>example[<span class="hljs-string">"depth_map"</span>].convert(<span class="hljs-string">"RGB"</span>)',wrap:!1}}),N=new j({props:{code:"aW1wb3J0JTIwbnVtcHklMjBhcyUyMG5wJTBBaW1wb3J0JTIwbWF0cGxvdGxpYi5weXBsb3QlMjBhcyUyMHBsdCUwQSUwQWNtYXAlMjAlM0QlMjBwbHQuY20udmlyaWRpcyUwQSUwQWRlZiUyMGNvbG9yZWRfZGVwdGhtYXAoZGVwdGglMkMlMjBkX21pbiUzRE5vbmUlMkMlMjBkX21heCUzRE5vbmUpJTNBJTBBJTIwJTIwJTIwJTIwaWYlMjBkX21pbiUyMGlzJTIwTm9uZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRfbWluJTIwJTNEJTIwbnAubWluKGRlcHRoKSUwQSUyMCUyMCUyMCUyMGlmJTIwZF9tYXglMjBpcyUyME5vbmUlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBkX21heCUyMCUzRCUyMG5wLm1heChkZXB0aCklMEElMjAlMjAlMjAlMjBkZXB0aF9yZWxhdGl2ZSUyMCUzRCUyMChkZXB0aCUyMC0lMjBkX21pbiklMjAlMkYlMjAoZF9tYXglMjAtJTIwZF9taW4pJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwMjU1JTIwKiUyMGNtYXAoZGVwdGhfcmVsYXRpdmUpJTVCJTNBJTJDJTNBJTJDJTNBMyU1RCUwQSUwQWRlZiUyMHNob3dfZGVwdGhtYXAoZGVwdGhfbWFwKSUzQSUwQSUyMCUyMCUyMGlmJTIwbm90JTIwaXNpbnN0YW5jZShkZXB0aF9tYXAlMkMlMjBucC5uZGFycmF5KSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMGRlcHRoX21hcCUyMCUzRCUyMG5wLmFycmF5KGRlcHRoX21hcCklMEElMjAlMjAlMjBpZiUyMGRlcHRoX21hcC5uZGltJTIwJTNEJTNEJTIwMyUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMGRlcHRoX21hcCUyMCUzRCUyMGRlcHRoX21hcC5zcXVlZXplKCklMEElMEElMjAlMjAlMjBkX21pbiUyMCUzRCUyMG5wLm1pbihkZXB0aF9tYXApJTBBJTIwJTIwJTIwZF9tYXglMjAlM0QlMjBucC5tYXgoZGVwdGhfbWFwKSUwQSUyMCUyMCUyMGRlcHRoX21hcCUyMCUzRCUyMGNvbG9yZWRfZGVwdGhtYXAoZGVwdGhfbWFwJTJDJTIwZF9taW4lMkMlMjBkX21heCklMEElMEElMjAlMjAlMjBwbHQuaW1zaG93KGRlcHRoX21hcC5hc3R5cGUoJTIydWludDglMjIpKSUwQSUyMCUyMCUyMHBsdC5heGlzKCUyMm9mZiUyMiklMEElMjAlMjAlMjBwbHQuc2hvdygpJTBBJTBBc2hvd19kZXB0aG1hcChleGFtcGxlJTVCJTIyZGVwdGhfbWFwJTIyJTVEKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> matplotlib.pyplot <span class="hljs-keyword">as</span> plt | |
| <span class="hljs-meta">>>> </span>cmap = plt.cm.viridis | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">colored_depthmap</span>(<span class="hljs-params">depth, d_min=<span class="hljs-literal">None</span>, d_max=<span class="hljs-literal">None</span></span>): | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> d_min <span class="hljs-keyword">is</span> <span class="hljs-literal">None</span>: | |
| <span class="hljs-meta">... </span> d_min = np.<span class="hljs-built_in">min</span>(depth) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> d_max <span class="hljs-keyword">is</span> <span class="hljs-literal">None</span>: | |
| <span class="hljs-meta">... </span> d_max = np.<span class="hljs-built_in">max</span>(depth) | |
| <span class="hljs-meta">... </span> depth_relative = (depth - d_min) / (d_max - d_min) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> <span class="hljs-number">255</span> * cmap(depth_relative)[:,:,:<span class="hljs-number">3</span>] | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">show_depthmap</span>(<span class="hljs-params">depth_map</span>): | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> <span class="hljs-built_in">isinstance</span>(depth_map, np.ndarray): | |
| <span class="hljs-meta">... </span> depth_map = np.array(depth_map) | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> depth_map.ndim == <span class="hljs-number">3</span>: | |
| <span class="hljs-meta">... </span> depth_map = depth_map.squeeze() | |
| <span class="hljs-meta">... </span> d_min = np.<span class="hljs-built_in">min</span>(depth_map) | |
| <span class="hljs-meta">... </span> d_max = np.<span class="hljs-built_in">max</span>(depth_map) | |
| <span class="hljs-meta">... </span> depth_map = colored_depthmap(depth_map, d_min, d_max) | |
| <span class="hljs-meta">... </span> plt.imshow(depth_map.astype(<span class="hljs-string">"uint8"</span>)) | |
| <span class="hljs-meta">... </span> plt.axis(<span class="hljs-string">"off"</span>) | |
| <span class="hljs-meta">... </span> plt.show() | |
| <span class="hljs-meta">>>> </span>show_depthmap(example[<span class="hljs-string">"depth_map"</span>])`,wrap:!1}}),Y=new j({props:{code:"ZGVmJTIwbWVyZ2VfaW50b19yb3coaW5wdXRfaW1hZ2UlMkMlMjBkZXB0aF90YXJnZXQpJTNBJTBBJTIwJTIwJTIwJTIwaWYlMjBub3QlMjBpc2luc3RhbmNlKGlucHV0X2ltYWdlJTJDJTIwbnAubmRhcnJheSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpbnB1dF9pbWFnZSUyMCUzRCUyMG5wLmFycmF5KGlucHV0X2ltYWdlKSUwQSUyMCUyMCUyMCUyMGRfbWluJTIwJTNEJTIwbnAubWluKGRlcHRoX3RhcmdldCklMEElMjAlMjAlMjAlMjBkX21heCUyMCUzRCUyMG5wLm1heChkZXB0aF90YXJnZXQpJTBBJTIwJTIwJTIwJTIwZGVwdGhfdGFyZ2V0X2NvbCUyMCUzRCUyMGNvbG9yZWRfZGVwdGhtYXAoZGVwdGhfdGFyZ2V0JTJDJTIwZF9taW4lMkMlMjBkX21heCklMEElMjAlMjAlMjAlMjBpbWdfbWVyZ2UlMjAlM0QlMjBucC5oc3RhY2soJTVCaW5wdXRfaW1hZ2UlMkMlMjBkZXB0aF90YXJnZXRfY29sJTVEKSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMGltZ19tZXJnZSUwQSUwQXJhbmRvbV9pbmRpY2VzJTIwJTNEJTIwbnAucmFuZG9tLmNob2ljZShsZW4odHJhaW5fZGF0YXNldCklMkMlMjA5KS50b2xpc3QoKSUwQXBsdC5maWd1cmUoZmlnc2l6ZSUzRCgxNSUyQyUyMDYpKSUwQWZvciUyMGklMkMlMjBpZHglMjBpbiUyMGVudW1lcmF0ZShyYW5kb21faW5kaWNlcyklM0ElMEElMjAlMjAlMjAlMjBleGFtcGxlJTIwJTNEJTIwdHJhaW5fZGF0YXNldCU1QmlkeCU1RCUwQSUyMCUyMCUyMCUyMGF4JTIwJTNEJTIwcGx0LnN1YnBsb3QoMyUyQyUyMDMlMkMlMjBpJTIwJTJCJTIwMSklMEElMjAlMjAlMjAlMjBpbWFnZV92aXolMjAlM0QlMjBtZXJnZV9pbnRvX3JvdyglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBleGFtcGxlJTVCJTIyaW1hZ2UlMjIlNUQlMkMlMjBleGFtcGxlJTVCJTIyZGVwdGhfbWFwJTIyJTVEJTBBJTIwJTIwJTIwJTIwKSUwQSUyMCUyMCUyMCUyMHBsdC5pbXNob3coaW1hZ2Vfdml6LmFzdHlwZSglMjJ1aW50OCUyMikpJTBBJTIwJTIwJTIwJTIwcGx0LmF4aXMoJTIyb2ZmJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">merge_into_row</span>(<span class="hljs-params">input_image, depth_target</span>): | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> <span class="hljs-built_in">isinstance</span>(input_image, np.ndarray): | |
| <span class="hljs-meta">... </span> input_image = np.array(input_image) | |
| ... | |
| <span class="hljs-meta">... </span> d_min = np.<span class="hljs-built_in">min</span>(depth_target) | |
| <span class="hljs-meta">... </span> d_max = np.<span class="hljs-built_in">max</span>(depth_target) | |
| <span class="hljs-meta">... </span> depth_target_col = colored_depthmap(depth_target, d_min, d_max) | |
| <span class="hljs-meta">... </span> img_merge = np.hstack([input_image, depth_target_col]) | |
| ... | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> img_merge | |
| <span class="hljs-meta">>>> </span>random_indices = np.random.choice(<span class="hljs-built_in">len</span>(train_dataset), <span class="hljs-number">9</span>).tolist() | |
| <span class="hljs-meta">>>> </span>plt.figure(figsize=(<span class="hljs-number">15</span>, <span class="hljs-number">6</span>)) | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">for</span> i, idx <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(random_indices): | |
| <span class="hljs-meta">... </span> example = train_dataset[idx] | |
| <span class="hljs-meta">... </span> ax = plt.subplot(<span class="hljs-number">3</span>, <span class="hljs-number">3</span>, i + <span class="hljs-number">1</span>) | |
| <span class="hljs-meta">... </span> image_viz = merge_into_row( | |
| <span class="hljs-meta">... </span> example[<span class="hljs-string">"image"</span>], example[<span class="hljs-string">"depth_map"</span>] | |
| <span class="hljs-meta">... </span> ) | |
| <span class="hljs-meta">... </span> plt.imshow(image_viz.astype(<span class="hljs-string">"uint8"</span>)) | |
| <span class="hljs-meta">... </span> plt.axis(<span class="hljs-string">"off"</span>)`,wrap:!1}}),L=new j({props:{code:"aW1wb3J0JTIwYWxidW1lbnRhdGlvbnMlMjBhcyUyMEElMEElMEFjcm9wX3NpemUlMjAlM0QlMjAoNDQ4JTJDJTIwNTc2KSUwQXRyYW5zZm9ybXMlMjAlM0QlMjAlNUIlMEElMjAlMjAlMjAlMjBBLkhvcml6b250YWxGbGlwKHAlM0QwLjUpJTJDJTBBJTIwJTIwJTIwJTIwQS5SYW5kb21Dcm9wKGNyb3Bfc2l6ZSU1QjAlNUQlMkMlMjBjcm9wX3NpemUlNUIxJTVEKSUyQyUwQSUyMCUyMCUyMCUyMEEuUmFuZG9tQnJpZ2h0bmVzc0NvbnRyYXN0KCklMkMlMEElMjAlMjAlMjAlMjBBLlJhbmRvbUdhbW1hKCklMkMlMEElMjAlMjAlMjAlMjBBLkh1ZVNhdHVyYXRpb25WYWx1ZSgpJTBBJTVE",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> albumentations <span class="hljs-keyword">as</span> A | |
| <span class="hljs-meta">>>> </span>crop_size = (<span class="hljs-number">448</span>, <span class="hljs-number">576</span>) | |
| <span class="hljs-meta">>>> </span>transforms = [ | |
| <span class="hljs-meta">... </span> A.HorizontalFlip(p=<span class="hljs-number">0.5</span>), | |
| <span class="hljs-meta">... </span> A.RandomCrop(crop_size[<span class="hljs-number">0</span>], crop_size[<span class="hljs-number">1</span>]), | |
| <span class="hljs-meta">... </span> A.RandomBrightnessContrast(), | |
| <span class="hljs-meta">... </span> A.RandomGamma(), | |
| <span class="hljs-meta">... </span> A.HueSaturationValue() | |
| <span class="hljs-meta">... </span>]`,wrap:!1}}),K=new j({props:{code:"YWRkaXRpb25hbF90YXJnZXRzJTIwJTNEJTIwJTdCJTIyZGVwdGglMjIlM0ElMjAlMjJtYXNrJTIyJTdEJTBBYXVnJTIwJTNEJTIwQS5Db21wb3NlKHRyYW5zZm9ybXMlM0R0cmFuc2Zvcm1zJTJDJTIwYWRkaXRpb25hbF90YXJnZXRzJTNEYWRkaXRpb25hbF90YXJnZXRzKQ==",highlighted:`<span class="hljs-meta">>>> </span>additional_targets = {<span class="hljs-string">"depth"</span>: <span class="hljs-string">"mask"</span>} | |
| <span class="hljs-meta">>>> </span>aug = A.Compose(transforms=transforms, additional_targets=additional_targets)`,wrap:!1}}),O=new j({props:{code:"ZGVmJTIwYXBwbHlfdHJhbnNmb3JtcyhleGFtcGxlcyklM0ElMEElMjAlMjAlMjAlMjB0cmFuc2Zvcm1lZF9pbWFnZXMlMkMlMjB0cmFuc2Zvcm1lZF9tYXBzJTIwJTNEJTIwJTVCJTVEJTJDJTIwJTVCJTVEJTBBJTIwJTIwJTIwJTIwZm9yJTIwaW1hZ2UlMkMlMjBkZXB0aF9tYXAlMjBpbiUyMHppcChleGFtcGxlcyU1QiUyMmltYWdlJTIyJTVEJTJDJTIwZXhhbXBsZXMlNUIlMjJkZXB0aF9tYXAlMjIlNUQpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaW1hZ2UlMkMlMjBkZXB0aF9tYXAlMjAlM0QlMjBucC5hcnJheShpbWFnZSklMkMlMjBucC5hcnJheShkZXB0aF9tYXApJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNmb3JtZWQlMjAlM0QlMjBhdWcoaW1hZ2UlM0RpbWFnZSUyQyUyMGRlcHRoJTNEZGVwdGhfbWFwKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyYW5zZm9ybWVkX2ltYWdlcy5hcHBlbmQodHJhbnNmb3JtZWQlNUIlMjJpbWFnZSUyMiU1RCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2Zvcm1lZF9tYXBzLmFwcGVuZCh0cmFuc2Zvcm1lZCU1QiUyMmRlcHRoJTIyJTVEKSUwQSUyMCUyMCUyMCUyMGV4YW1wbGVzJTVCJTIycGl4ZWxfdmFsdWVzJTIyJTVEJTIwJTNEJTIwdHJhbnNmb3JtZWRfaW1hZ2VzJTBBJTIwJTIwJTIwJTIwZXhhbXBsZXMlNUIlMjJsYWJlbHMlMjIlNUQlMjAlM0QlMjB0cmFuc2Zvcm1lZF9tYXBzJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwZXhhbXBsZXM=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">apply_transforms</span>(<span class="hljs-params">examples</span>): | |
| <span class="hljs-meta">... </span> transformed_images, transformed_maps = [], [] | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">for</span> image, depth_map <span class="hljs-keyword">in</span> <span class="hljs-built_in">zip</span>(examples[<span class="hljs-string">"image"</span>], examples[<span class="hljs-string">"depth_map"</span>]): | |
| <span class="hljs-meta">... </span> image, depth_map = np.array(image), np.array(depth_map) | |
| <span class="hljs-meta">... </span> transformed = aug(image=image, depth=depth_map) | |
| <span class="hljs-meta">... </span> transformed_images.append(transformed[<span class="hljs-string">"image"</span>]) | |
| <span class="hljs-meta">... </span> transformed_maps.append(transformed[<span class="hljs-string">"depth"</span>]) | |
| ... | |
| <span class="hljs-meta">... </span> examples[<span class="hljs-string">"pixel_values"</span>] = transformed_images | |
| <span class="hljs-meta">... </span> examples[<span class="hljs-string">"labels"</span>] = transformed_maps | |
| <span class="hljs-meta">... </span> <span class="hljs-keyword">return</span> examples`,wrap:!1}}),ts=new j({props:{code:"dHJhaW5fZGF0YXNldC5zZXRfdHJhbnNmb3JtKGFwcGx5X3RyYW5zZm9ybXMp",highlighted:'<span class="hljs-meta">>>> </span>train_dataset.set_transform(apply_transforms)',wrap:!1}}),es=new j({props:{code:"ZXhhbXBsZSUyMCUzRCUyMHRyYWluX2RhdGFzZXQlNUJpbmRleCU1RCUwQSUwQXBsdC5pbXNob3coZXhhbXBsZSU1QiUyMnBpeGVsX3ZhbHVlcyUyMiU1RCklMEFwbHQuYXhpcyglMjJvZmYlMjIpJTBBcGx0LnNob3coKQ==",highlighted:`<span class="hljs-meta">>>> </span>example = train_dataset[index] | |
| <span class="hljs-meta">>>> </span>plt.imshow(example[<span class="hljs-string">"pixel_values"</span>]) | |
| <span class="hljs-meta">>>> </span>plt.axis(<span class="hljs-string">"off"</span>) | |
| <span class="hljs-meta">>>> </span>plt.show()`,wrap:!1}}),ns=new j({props:{code:"c2hvd19kZXB0aG1hcChleGFtcGxlJTVCJTIybGFiZWxzJTIyJTVEKQ==",highlighted:'<span class="hljs-meta">>>> </span>show_depthmap(example[<span class="hljs-string">"labels"</span>])',wrap:!1}}),is=new j({props:{code:"cGx0LmZpZ3VyZShmaWdzaXplJTNEKDE1JTJDJTIwNikpJTBBJTBBZm9yJTIwaSUyQyUyMGlkeCUyMGluJTIwZW51bWVyYXRlKHJhbmRvbV9pbmRpY2VzKSUzQSUwQSUyMCUyMCUyMCUyMGF4JTIwJTNEJTIwcGx0LnN1YnBsb3QoMyUyQyUyMDMlMkMlMjBpJTIwJTJCJTIwMSklMEElMjAlMjAlMjAlMjBleGFtcGxlJTIwJTNEJTIwdHJhaW5fZGF0YXNldCU1QmlkeCU1RCUwQSUyMCUyMCUyMCUyMGltYWdlX3ZpeiUyMCUzRCUyMG1lcmdlX2ludG9fcm93KCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGV4YW1wbGUlNUIlMjJwaXhlbF92YWx1ZXMlMjIlNUQlMkMlMjBleGFtcGxlJTVCJTIybGFiZWxzJTIyJTVEJTBBJTIwJTIwJTIwJTIwKSUwQSUyMCUyMCUyMCUyMHBsdC5pbXNob3coaW1hZ2Vfdml6LmFzdHlwZSglMjJ1aW50OCUyMikpJTBBJTIwJTIwJTIwJTIwcGx0LmF4aXMoJTIyb2ZmJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span>plt.figure(figsize=(<span class="hljs-number">15</span>, <span class="hljs-number">6</span>)) | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">for</span> i, idx <span class="hljs-keyword">in</span> <span class="hljs-built_in">enumerate</span>(random_indices): | |
| <span class="hljs-meta">... </span> ax = plt.subplot(<span class="hljs-number">3</span>, <span class="hljs-number">3</span>, i + <span class="hljs-number">1</span>) | |
| <span class="hljs-meta">... </span> example = train_dataset[idx] | |
| <span class="hljs-meta">... </span> image_viz = merge_into_row( | |
| <span class="hljs-meta">... </span> example[<span class="hljs-string">"pixel_values"</span>], example[<span class="hljs-string">"labels"</span>] | |
| <span class="hljs-meta">... </span> ) | |
| <span class="hljs-meta">... </span> plt.imshow(image_viz.astype(<span class="hljs-string">"uint8"</span>)) | |
| <span class="hljs-meta">... </span> plt.axis(<span class="hljs-string">"off"</span>)`,wrap:!1}}),ms=new Qt({props:{source:"https://github.com/huggingface/datasets/blob/main/docs/source/depth_estimation.mdx"}}),{c(){u=p("meta"),cs=l(),hs=p("p"),Ms=l(),h(C.$$.fragment),ds=l(),h(_.$$.fragment),rs=l(),I=p("p"),I.textContent=pt,js=l(),Z=p("p"),Z.innerHTML=it,us=l(),h(k.$$.fragment),gs=l(),B=p("p"),B.innerHTML=mt,ys=l(),G=p("p"),G.innerHTML=ht,ws=l(),v=p("p"),v.innerHTML=ot,fs=l(),h(x.$$.fragment),Js=l(),X=p("p"),X.textContent=ct,Ts=l(),$=p("ul"),$.innerHTML=Mt,Us=l(),R=p("p"),R.innerHTML=dt,bs=l(),h(W.$$.fragment),Cs=l(),A=p("p"),A.textContent=rt,_s=l(),h(E.$$.fragment),Is=l(),y=p("div"),y.innerHTML=jt,Zs=l(),F=p("p"),F.innerHTML=ut,ks=l(),h(H.$$.fragment),Bs=l(),w=p("div"),w.innerHTML=gt,Gs=l(),V=p("p"),V.innerHTML=yt,vs=l(),h(N.$$.fragment),xs=l(),f=p("div"),f.innerHTML=wt,Xs=l(),Q=p("p"),Q.textContent=ft,$s=l(),h(Y.$$.fragment),Rs=l(),J=p("div"),J.innerHTML=Jt,Ws=l(),S=p("p"),S.innerHTML=Tt,As=l(),z=p("ul"),z.innerHTML=Ut,Es=l(),h(L.$$.fragment),Fs=l(),q=p("p"),q.textContent=bt,Hs=l(),h(K.$$.fragment),Vs=l(),P=p("p"),P.innerHTML=Ct,Ns=l(),D=p("p"),D.textContent=_t,Qs=l(),h(O.$$.fragment),Ys=l(),ss=p("p"),ss.innerHTML=It,Ss=l(),h(ts.$$.fragment),zs=l(),as=p("p"),as.innerHTML=Zt,Ls=l(),h(es.$$.fragment),qs=l(),T=p("div"),T.innerHTML=kt,Ks=l(),ls=p("p"),ls.textContent=Bt,Ps=l(),h(ns.$$.fragment),Ds=l(),U=p("div"),U.innerHTML=Gt,Os=l(),ps=p("p"),ps.innerHTML=vt,st=l(),h(is.$$.fragment),tt=l(),b=p("div"),b.innerHTML=xt,at=l(),h(ms.$$.fragment),et=l(),os=p("p"),this.h()},l(s){const t=Ft("svelte-u9bgzb",document.head);u=i(t,"META",{name:!0,content:!0}),t.forEach(a),cs=n(s),hs=i(s,"P",{}),Xt(hs).forEach(a),Ms=n(s),o(C.$$.fragment,s),ds=n(s),o(_.$$.fragment,s),rs=n(s),I=i(s,"P",{"data-svelte-h":!0}),m(I)!=="svelte-10bebb7"&&(I.textContent=pt),js=n(s),Z=i(s,"P",{"data-svelte-h":!0}),m(Z)!=="svelte-1e3jamv"&&(Z.innerHTML=it),us=n(s),o(k.$$.fragment,s),gs=n(s),B=i(s,"P",{"data-svelte-h":!0}),m(B)!=="svelte-180f5nb"&&(B.innerHTML=mt),ys=n(s),G=i(s,"P",{"data-svelte-h":!0}),m(G)!=="svelte-rbl7ww"&&(G.innerHTML=ht),ws=n(s),v=i(s,"P",{"data-svelte-h":!0}),m(v)!=="svelte-pju1x0"&&(v.innerHTML=ot),fs=n(s),o(x.$$.fragment,s),Js=n(s),X=i(s,"P",{"data-svelte-h":!0}),m(X)!=="svelte-1wdl8tg"&&(X.textContent=ct),Ts=n(s),$=i(s,"UL",{"data-svelte-h":!0}),m($)!=="svelte-18g7ww2"&&($.innerHTML=Mt),Us=n(s),R=i(s,"P",{"data-svelte-h":!0}),m(R)!=="svelte-1806ij4"&&(R.innerHTML=dt),bs=n(s),o(W.$$.fragment,s),Cs=n(s),A=i(s,"P",{"data-svelte-h":!0}),m(A)!=="svelte-15dthpv"&&(A.textContent=rt),_s=n(s),o(E.$$.fragment,s),Is=n(s),y=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(y)!=="svelte-1f5za0g"&&(y.innerHTML=jt),Zs=n(s),F=i(s,"P",{"data-svelte-h":!0}),m(F)!=="svelte-1rod9tf"&&(F.innerHTML=ut),ks=n(s),o(H.$$.fragment,s),Bs=n(s),w=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(w)!=="svelte-130rqhd"&&(w.innerHTML=gt),Gs=n(s),V=i(s,"P",{"data-svelte-h":!0}),m(V)!=="svelte-16bopxj"&&(V.innerHTML=yt),vs=n(s),o(N.$$.fragment,s),xs=n(s),f=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(f)!=="svelte-16ha3wj"&&(f.innerHTML=wt),Xs=n(s),Q=i(s,"P",{"data-svelte-h":!0}),m(Q)!=="svelte-llua6z"&&(Q.textContent=ft),$s=n(s),o(Y.$$.fragment,s),Rs=n(s),J=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(J)!=="svelte-16sg8kz"&&(J.innerHTML=Jt),Ws=n(s),S=i(s,"P",{"data-svelte-h":!0}),m(S)!=="svelte-18gbq1z"&&(S.innerHTML=Tt),As=n(s),z=i(s,"UL",{"data-svelte-h":!0}),m(z)!=="svelte-1r8fe9e"&&(z.innerHTML=Ut),Es=n(s),o(L.$$.fragment,s),Fs=n(s),q=i(s,"P",{"data-svelte-h":!0}),m(q)!=="svelte-1yx9z74"&&(q.textContent=bt),Hs=n(s),o(K.$$.fragment,s),Vs=n(s),P=i(s,"P",{"data-svelte-h":!0}),m(P)!=="svelte-1obm0dg"&&(P.innerHTML=Ct),Ns=n(s),D=i(s,"P",{"data-svelte-h":!0}),m(D)!=="svelte-11hy1qw"&&(D.textContent=_t),Qs=n(s),o(O.$$.fragment,s),Ys=n(s),ss=i(s,"P",{"data-svelte-h":!0}),m(ss)!=="svelte-12nty9f"&&(ss.innerHTML=It),Ss=n(s),o(ts.$$.fragment,s),zs=n(s),as=i(s,"P",{"data-svelte-h":!0}),m(as)!=="svelte-k3k6ue"&&(as.innerHTML=Zt),Ls=n(s),o(es.$$.fragment,s),qs=n(s),T=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(T)!=="svelte-1vylqwk"&&(T.innerHTML=kt),Ks=n(s),ls=i(s,"P",{"data-svelte-h":!0}),m(ls)!=="svelte-1yo7m5l"&&(ls.textContent=Bt),Ps=n(s),o(ns.$$.fragment,s),Ds=n(s),U=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(U)!=="svelte-1wigtnh"&&(U.innerHTML=Gt),Os=n(s),ps=i(s,"P",{"data-svelte-h":!0}),m(ps)!=="svelte-wsimbk"&&(ps.innerHTML=vt),st=n(s),o(is.$$.fragment,s),tt=n(s),b=i(s,"DIV",{class:!0,"data-svelte-h":!0}),m(b)!=="svelte-9icv47"&&(b.innerHTML=xt),at=n(s),o(ms.$$.fragment,s),et=n(s),os=i(s,"P",{}),Xt(os).forEach(a),this.h()},h(){g(u,"name","hf:doc:metadata"),g(u,"content",St),g(y,"class","flex justify-center"),g(w,"class","flex justify-center"),g(f,"class","flex justify-center"),g(J,"class","flex justify-center"),g(T,"class","flex justify-center"),g(U,"class","flex justify-center"),g(b,"class","flex justify-center")},m(s,t){Ht(document.head,u),e(s,cs,t),e(s,hs,t),e(s,Ms,t),c(C,s,t),e(s,ds,t),c(_,s,t),e(s,rs,t),e(s,I,t),e(s,js,t),e(s,Z,t),e(s,us,t),c(k,s,t),e(s,gs,t),e(s,B,t),e(s,ys,t),e(s,G,t),e(s,ws,t),e(s,v,t),e(s,fs,t),c(x,s,t),e(s,Js,t),e(s,X,t),e(s,Ts,t),e(s,$,t),e(s,Us,t),e(s,R,t),e(s,bs,t),c(W,s,t),e(s,Cs,t),e(s,A,t),e(s,_s,t),c(E,s,t),e(s,Is,t),e(s,y,t),e(s,Zs,t),e(s,F,t),e(s,ks,t),c(H,s,t),e(s,Bs,t),e(s,w,t),e(s,Gs,t),e(s,V,t),e(s,vs,t),c(N,s,t),e(s,xs,t),e(s,f,t),e(s,Xs,t),e(s,Q,t),e(s,$s,t),c(Y,s,t),e(s,Rs,t),e(s,J,t),e(s,Ws,t),e(s,S,t),e(s,As,t),e(s,z,t),e(s,Es,t),c(L,s,t),e(s,Fs,t),e(s,q,t),e(s,Hs,t),c(K,s,t),e(s,Vs,t),e(s,P,t),e(s,Ns,t),e(s,D,t),e(s,Qs,t),c(O,s,t),e(s,Ys,t),e(s,ss,t),e(s,Ss,t),c(ts,s,t),e(s,zs,t),e(s,as,t),e(s,Ls,t),c(es,s,t),e(s,qs,t),e(s,T,t),e(s,Ks,t),e(s,ls,t),e(s,Ps,t),c(ns,s,t),e(s,Ds,t),e(s,U,t),e(s,Os,t),e(s,ps,t),e(s,st,t),c(is,s,t),e(s,tt,t),e(s,b,t),e(s,at,t),c(ms,s,t),e(s,et,t),e(s,os,t),lt=!0},p:Rt,i(s){lt||(M(C.$$.fragment,s),M(_.$$.fragment,s),M(k.$$.fragment,s),M(x.$$.fragment,s),M(W.$$.fragment,s),M(E.$$.fragment,s),M(H.$$.fragment,s),M(N.$$.fragment,s),M(Y.$$.fragment,s),M(L.$$.fragment,s),M(K.$$.fragment,s),M(O.$$.fragment,s),M(ts.$$.fragment,s),M(es.$$.fragment,s),M(ns.$$.fragment,s),M(is.$$.fragment,s),M(ms.$$.fragment,s),lt=!0)},o(s){d(C.$$.fragment,s),d(_.$$.fragment,s),d(k.$$.fragment,s),d(x.$$.fragment,s),d(W.$$.fragment,s),d(E.$$.fragment,s),d(H.$$.fragment,s),d(N.$$.fragment,s),d(Y.$$.fragment,s),d(L.$$.fragment,s),d(K.$$.fragment,s),d(O.$$.fragment,s),d(ts.$$.fragment,s),d(es.$$.fragment,s),d(ns.$$.fragment,s),d(is.$$.fragment,s),d(ms.$$.fragment,s),lt=!1},d(s){s&&(a(cs),a(hs),a(Ms),a(ds),a(rs),a(I),a(js),a(Z),a(us),a(gs),a(B),a(ys),a(G),a(ws),a(v),a(fs),a(Js),a(X),a(Ts),a($),a(Us),a(R),a(bs),a(Cs),a(A),a(_s),a(Is),a(y),a(Zs),a(F),a(ks),a(Bs),a(w),a(Gs),a(V),a(vs),a(xs),a(f),a(Xs),a(Q),a($s),a(Rs),a(J),a(Ws),a(S),a(As),a(z),a(Es),a(Fs),a(q),a(Hs),a(Vs),a(P),a(Ns),a(D),a(Qs),a(Ys),a(ss),a(Ss),a(zs),a(as),a(Ls),a(qs),a(T),a(Ks),a(ls),a(Ps),a(Ds),a(U),a(Os),a(ps),a(st),a(tt),a(b),a(at),a(et),a(os)),a(u),r(C,s),r(_,s),r(k,s),r(x,s),r(W,s),r(E,s),r(H,s),r(N,s),r(Y,s),r(L,s),r(K,s),r(O,s),r(ts,s),r(es,s),r(ns,s),r(is,s),r(ms,s)}}}const St='{"title":"Depth estimation","local":"depth-estimation","sections":[],"depth":1}';function zt(nt){return Wt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Dt extends At{constructor(u){super(),Et(this,u,zt,Yt,$t,{})}}export{Dt as component}; | |
Xet Storage Details
- Size:
- 30.3 kB
- Xet hash:
- cfd42e33d6cc2cd4114a50ac026d4c549248297d63ca2faed3fca849f26bd2a1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.