-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
7918 lines (7901 loc) · 680 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>Human Generation</title>
<url>/2024/05/20/deep_learning/Human%20Generation/</url>
<content><![CDATA[<p>Combine different components: <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Fruhstuck_InsetGAN_for_Full-Body_Image_Generation_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://arxiv.org/pdf/2404.15267" target="_blank" rel="noopener">[2]</a></p>
<h4 id="References"><a href="#References" class="headerlink" title="References"></a>References</h4><ol>
<li><p>Frühstück, Anna, et al. “Insetgan for full-body image generation.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.</p>
</li>
<li><p>Huang, Zehuan, et al. “From Parts to Whole: A Unified Reference Framework for Controllable Human Image Generation.” arXiv preprint arXiv:2404.15267 (2024).</p>
</li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Mixture-of-Experts</title>
<url>/2024/05/08/deep_learning/Mixture-of-Experts/</url>
<content><![CDATA[<p>The first paper: <a href="https://www.cs.toronto.edu/~hinton/absps/jjnh91.pdf" target="_blank" rel="noopener">[1]</a></p>
<p>SwitchTransformer: <a href="https://arxiv.org/pdf/1701.06538" target="_blank" rel="noopener">[2]</a></p>
<h4 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h4>]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>MoE</tag>
</tags>
</entry>
<entry>
<title>Remote Debugging for Eclipse+PyDev</title>
<url>/2024/03/12/software/IDE/Remote%20Debugging%20for%20Eclipse+PyDev%20-%20%E5%89%AF%E6%9C%AC/</url>
<content><![CDATA[<h2 id="When-server-is-Linux-client-is-Windows-using-Python"><a href="#When-server-is-Linux-client-is-Windows-using-Python" class="headerlink" title="When server is Linux, client is Windows, using Python."></a>When server is Linux, client is Windows, using Python.</h2><h3 id="In-the-python-file"><a href="#In-the-python-file" class="headerlink" title="In the python file:"></a>In the python file:</h3><p>add the following code<br><figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">import</span> pydevd</span><br><span class="line">pydevd.settrace(<span class="string">'202.120.38.30'</span>, port=<span class="number">5678</span>)</span><br></pre></td></tr></table></figure></p>
<p>in which the IP address is the Windows IP and the port is the default Eclipse debugger port.</p>
<h3 id="Under-Linux"><a href="#Under-Linux" class="headerlink" title="Under Linux:"></a>Under Linux:</h3><ol>
<li><code>pip install pydevd</code></li>
<li>In the file <code>lib/python2.7/site-packages/pydevd_file_utils.py</code>, modify <code>PATHS_FROM_ECLIPSE_TO_PYTHON = [(r'L:\test', r'/home/niuli/test')]</code>, in which the former is Windows path and the latter is Linux path.</li>
</ol>
<h3 id="Under-Windows"><a href="#Under-Windows" class="headerlink" title="Under Windows:"></a>Under Windows:</h3><ol>
<li>Install Eclipse IDE and PyDev plugin for Eclipse.</li>
<li>Pydev->Start Debug Server</li>
<li>Open the Debug perspective and watch Debug Server.</li>
</ol>
<p>After the above preparation, run python code under Linux and the debugging process will jump to the debug server under Windows. For interactive debugging, open PyDev Debug Console.</p>
]]></content>
<categories>
<category>software</category>
<category>IDE</category>
</categories>
<tags>
<tag>Eclipse</tag>
<tag>Python</tag>
</tags>
</entry>
<entry>
<title>Mirror Resources</title>
<url>/2024/02/04/others/Mirror%20Resources/</url>
<content><![CDATA[<p>arXiv: <a href="http://xxx.itp.ac.cn/......pdf" target="_blank" rel="noopener">http://xxx.itp.ac.cn/......pdf</a></p>
<p>hugging face: <a href="https://hf-mirror.com" target="_blank" rel="noopener">https://hf-mirror.com</a></p>
<pre><code>export HF_ENDPOINT=https://hf-mirror.com
from huggingface_hub import snapshot_download
snapshot_download(repo_id='Qwen/Qwen-7B',
repo_type='model',
local_dir='./model_dir',
resume_download=True)
</code></pre><p>modelscope: <a href="https://modelscope.cn/home" target="_blank" rel="noopener">https://modelscope.cn/home</a></p>
<pre><code>from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('qwen/Qwen-7B',
cache_dir='./model_dir',
revision='master')
</code></pre>]]></content>
</entry>
<entry>
<title>Line Detection</title>
<url>/2024/01/03/classification_detection_segmentation/Line%20Detection/</url>
<content><![CDATA[<p>[1] <a href="https://arxiv.org/abs/2106.00186" target="_blank" rel="noopener">MLSD</a></p>
<h4 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h4><p>[1] Gu, Geonmo, et al. “Towards light-weight and real-time line segment detection.” Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 36. No. 1. 2022.</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>Line detection</tag>
</tags>
</entry>
<entry>
<title>Diffusion Model Acceleration</title>
<url>/2023/11/27/image_video_synthesis/Diffusion%20Model%20Acceleration/</url>
<content><![CDATA[<p>Simplify model architecture: <a href="https://arxiv.org/pdf/2306.00980.pdf" target="_blank" rel="noopener">[3]</a></p>
<p>Reduce sampling times: DDIM <a href="https://arxiv.org/pdf/2010.02502.pdf" target="_blank" rel="noopener">[1]</a>, PLMS <a href="https://arxiv.org/pdf/2202.09778.pdf" target="_blank" rel="noopener">[2]</a></p>
<p>Step distillation: <a href="https://arxiv.org/pdf/2306.00980.pdf" target="_blank" rel="noopener">[3]</a> <a href="https://arxiv.org/pdf/2202.00512.pdf" target="_blank" rel="noopener">[4]</a> <a href="https://arxiv.org/pdf/2101.02388.pdf" target="_blank" rel="noopener">[5]</a> <a href="https://arxiv.org/pdf/2210.03142.pdf" target="_blank" rel="noopener">[6]</a></p>
<p>Adversarial distillation: <a href="https://static1.squarespace.com/static/6213c340453c3f502425776e/t/65663480a92fba51d0e1023f/1701197769659/adversarial_diffusion_distillation.pdf" target="_blank" rel="noopener">[7]</a></p>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Song, Jiaming, Chenlin Meng, and Stefano Ermon. “Denoising diffusion implicit models.” arXiv preprint arXiv:2010.02502 (2020).</p>
<p>[2] Liu, Luping, et al. “Pseudo numerical methods for diffusion models on manifolds.” ICLR, (2022).</p>
<p>[3] Li, Yanyu, et al. “SnapFusion: Text-to-Image Diffusion Model on Mobile Devices within Two Seconds.” NeurIPS(2023).</p>
<p>[4] Salimans, Tim, and Jonathan Ho. “Progressive distillation for fast sampling of diffusion models.” ICLR, 2022. </p>
<p>[5] Luhman, Eric, and Troy Luhman. “Knowledge distillation in iterative generative models for improved sampling speed.” arXiv preprint arXiv:2101.02388 (2021).</p>
<p>[6] Meng, Chenlin, et al. “On distillation of guided diffusion models.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.</p>
<p>[7] <a href="https://stability.ai/research/adversarial-diffusion-distillation" target="_blank" rel="noopener">https://stability.ai/research/adversarial-diffusion-distillation</a></p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>generative model</tag>
</tags>
</entry>
<entry>
<title>Diffusion Model for Sketches</title>
<url>/2023/10/23/image_video_synthesis/Diffusion%20Model%20for%20Sketches/</url>
<content><![CDATA[<h2 id="text-to-sketch"><a href="#text-to-sketch" class="headerlink" title="text-to-sketch"></a>text-to-sketch</h2><ul>
<li><a href="https://arxiv.org/pdf/2306.14685.pdf" target="_blank" rel="noopener">[1]</a>[SVG]: a) use text-to-image model to generate an image. Align image and sketch through CLIP. b) Align text and sketch through diffusion model. </li>
<li><a href="https://proceedings.neurips.cc/paper_files/paper/2022/file/21f76686538a5f06dc431efea5f475f5-Paper-Conference.pdf" target="_blank" rel="noopener">[2]</a>[SVG]: a) Align text and sketch through CLIP</li>
<li><a href="https://openaccess.thecvf.com/content/CVPR2023/papers/Jain_VectorFusion_Text-to-SVG_by_Abstracting_Pixel-Based_Diffusion_Models_CVPR_2023_paper.pdf" target="_blank" rel="noopener">[3]</a>[SVG]: a) Align text and sketch through diffusion model</li>
</ul>
<h2 id="image-to-sketch"><a href="#image-to-sketch" class="headerlink" title="image-to-sketch"></a>image-to-sketch</h2><ul>
<li><a href="https://openaccess.thecvf.com/content/ICCV2023/papers/Vinker_CLIPascene_Scene_Sketching_with_Different_Types_and_Levels_of_Abstraction_ICCV_2023_paper.pdf" target="_blank" rel="noopener">[4]</a>[SVG]: Align image and sketch. Use MLP to predict offsets from initial points. </li>
<li><a href="https://dl.acm.org/doi/pdf/10.1145/3528223.3530068" target="_blank" rel="noopener">[5]</a>[SVG]: Align image and sketch. Use saliency for initialization. </li>
</ul>
<p>SVG: Scalable Vector Graphics<br>SDS: score distillation sampling </p>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Xing, Ximing, et al. “DiffSketcher: Text Guided Vector Sketch Synthesis through Latent Diffusion Models.” arXiv preprint arXiv:2306.14685 (2023).</p>
<p>[2] Frans, Kevin, Lisa Soros, and Olaf Witkowski. “Clipdraw: Exploring text-to-drawing synthesis through language-image encoders.” Advances in Neural Information Processing Systems 35 (2022): 5207-5218.</p>
<p>[3] Jain, Ajay, Amber Xie, and Pieter Abbeel. “Vectorfusion: Text-to-svg by abstracting pixel-based diffusion models.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.</p>
<p>[4] Vinker, Yael, et al. “Clipascene: Scene sketching with different types and levels of abstraction.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023.</p>
<p>[5] Vinker, Yael, et al. “Clipasso: Semantically-aware object sketching.” ACM Transactions on Graphics (TOG) 41.4 (2022): 1-11.</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>generative model</tag>
</tags>
</entry>
<entry>
<title>Diffusion Model for Videos</title>
<url>/2023/09/30/image_video_synthesis/Diffusion%20Model%20for%20Videos/</url>
<content><![CDATA[<p><a href="https://arxiv.org/pdf/2308.09592v1.pdf" target="_blank" rel="noopener">[1]</a> The edited previous frame serves as condition for editing the next frame. </p>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Chai, Wenhao, et al. “StableVideo: Text-driven Consistency-aware Diffusion Video Editing.” arXiv preprint arXiv:2308.09592 (2023).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>generative model</tag>
</tags>
</entry>
<entry>
<title>Deep Learning Model Deployment</title>
<url>/2023/09/04/software/Deep%20Learning%20Model%20Deployment/</url>
<content><![CDATA[<ul>
<li>tutorial: <a href="https://mp.weixin.qq.com/s?__biz=MzI4MDcxNTY2MQ==&mid=2247488952&idx=1&sn=880d3ad47a8fb3eab56514135f0e643b&chksm=ebb51d5adcc2944c276af19e8cff5e73c934f8811706be0a94c5f47f9e767c902939903e6b95&scene=21#wechat_redirect" target="_blank" rel="noopener">[1]</a></li>
</ul>
]]></content>
<categories>
<category>software</category>
</categories>
</entry>
<entry>
<title>Docker</title>
<url>/2023/09/04/software/Docker/</url>
<content><![CDATA[<h2 id="Difference-between-VM-and-Docker"><a href="#Difference-between-VM-and-Docker" class="headerlink" title="Difference between VM and Docker"></a>Difference between VM and Docker</h2><p>VM: guest OS -> BINS&LIBS -> App<br>Docker: BINS*LIBS -> App</p>
<h2 id="Installation"><a href="#Installation" class="headerlink" title="Installation"></a>Installation</h2><p><a href="https://docs.docker.com/engine/install/ubuntu/" target="_blank" rel="noopener">https://docs.docker.com/engine/install/ubuntu/</a></p>
<h2 id="Uninstallation"><a href="#Uninstallation" class="headerlink" title="Uninstallation"></a>Uninstallation</h2><ul>
<li>Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: <code>sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras</code></li>
</ul>
<ul>
<li>Images, containers, volumes, or custom configuration files on your host aren’t automatically removed. To delete all images, containers, and volumes: <code>sudo rm -rf /var/lib/docker</code>, <code>sudo rm -rf /var/lib/containerd</code></li>
</ul>
<h2 id="Commands"><a href="#Commands" class="headerlink" title="Commands"></a>Commands</h2><p> <img src="https://files.mdnice.com/user/21592/15a1e052-91fa-4388-94b4-497016e19a1e.png" width="50%"></p>
<h3 id="image"><a href="#image" class="headerlink" title="image"></a>image</h3><p> <code>docker image pull $image_name:$version</code></p>
<p> <code>docker image tag $image_name:version $registryIP:port/username/image_name:version</code></p>
<p> <code>docker image push $registryIP:port/username/image_name:version</code></p>
<p> <code>docker image build -t $image_name .</code> </p>
<p> <code>docker image ls</code></p>
<p> <code>docker image rm $image_name</code></p>
<p> <code>docker image save $image_name > $filename</code></p>
<p> <code>docker load < $filename</code></p>
<h3 id="container"><a href="#container" class="headerlink" title="container"></a>container</h3><p> <img src="https://www.ustcnewly.com/github_images/077ev7.png" width="25%"></p>
<p> <code>docker container create $image_name</code></p>
<p> <code>docker container start $container_ID</code></p>
<p> <code>docker container run $image_name</code> # <em>run</em> is equal to <em>create</em> and <em>start</em></p>
<p> <code>docker container run -it $image_name</code> /bin/bash</p>
<p> <code>docker container ls</code>, <code>docker container ls --a</code> </p>
<p> <code>docker container pause $container_ID</code> </p>
<p> <code>docker container unpause $container_ID</code> </p>
<p> <code>docker container stop $container_ID</code> </p>
<p> <code>docker container kill $container_ID</code> # the difference between <em>stop</em> and <em>kill</em> is that <em>stop</em> may do some clean-up before killing the container</p>
<p> <code>docker container rm $container_ID</code></p>
<p> <code>docker container prune</code> # remove all the exit containers</p>
<p> <code>docker container exec -it $containe_ID /bin/bash</code></p>
<p> <code>docker container cp $container_ID:$file_path .</code></p>
<p> <code>docker container commit $container_ID $image_name:$version</code></p>
<h2 id="Dockerfile"><a href="#Dockerfile" class="headerlink" title="Dockerfile"></a>Dockerfile</h2><pre><code>FROM python:3.7
WORKDIR ./docker_demo
ADD . .
RUN pip install -r requirements.txt
CMD ["python", "./src/main.py"]
</code></pre><p>Tutorial: <a href="https://yeasy.gitbook.io/docker_practice/introduction/what" target="_blank" rel="noopener">[1]</a></p>
<h2 id="Use-GPU-in-docker"><a href="#Use-GPU-in-docker" class="headerlink" title="Use GPU in docker"></a>Use GPU in docker</h2><ol>
<li><p>Install nvidia-docker <a href="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html" target="_blank" rel="noopener">https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html</a></p>
</li>
<li><p><code>docker run --gpus all -it $image_name</code></p>
</li>
</ol>
]]></content>
<categories>
<category>software</category>
</categories>
<tags>
<tag>docker</tag>
</tags>
</entry>
<entry>
<title>Segment Anything</title>
<url>/2023/07/14/image_video_synthesis/Segment%20Anything/</url>
<content><![CDATA[<ul>
<li><p>SAM <a href="https://arxiv.org/pdf/2304.02643.pdf" target="_blank" rel="noopener">[1]</a></p>
</li>
<li><p>FastSAM <a href="https://arxiv.org/pdf/2306.12156.pdf" target="_blank" rel="noopener">[2]</a>: first generate proposals and then select target proposals </p>
</li>
<li><p>High-quality SAM <a href="https://arxiv.org/pdf/2306.01567.pdf" target="_blank" rel="noopener">[3]</a></p>
</li>
<li><p>Semantic-SAM <a href="https://arxiv.org/pdf/2306.01567.pdf" target="_blank" rel="noopener">[4]</a>: assign semantic labels </p>
</li>
</ul>
<h3 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h3><p>[1] Kirillov, Alexander, et al. “Segment anything.” arXiv preprint arXiv:2304.02643 (2023).</p>
<p>[2] Zhao, Xu, et al. “Fast Segment Anything.” arXiv preprint arXiv:2306.12156 (2023).</p>
<p>[3] Ke, Lei, et al. “Segment Anything in High Quality.” arXiv preprint arXiv:2306.01567 (2023).</p>
<p>[4] Li, Feng, et al. “Semantic-SAM: Segment and Recognize Anything at Any Granularity.” arXiv preprint arXiv:2307.04767 (2023).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>segmentation</tag>
</tags>
</entry>
<entry>
<title>Drag Image Editing</title>
<url>/2023/07/14/image_video_synthesis/Drag%20Image%20Editing/</url>
<content><![CDATA[<ul>
<li>DragGAN <a href="https://vcai.mpi-inf.mpg.de/projects/DragGAN/data/paper.pdf" target="_blank" rel="noopener">[1]</a>: motion supervision and point tracking</li>
<li>DragDiffusion <a href="https://arxiv.org/pdf/2306.14435.pdf" target="_blank" rel="noopener">[2]</a>: motion supervision and point tracking, similar to [1]</li>
<li>DragonDiffusion <a href="https://arxiv.org/pdf/2307.02421.pdf" target="_blank" rel="noopener">[3]</a>: no point tracking, two parallel feature branches</li>
<li>FreeDrag <a href="https://arxiv.org/pdf/2307.04684.pdf" target="_blank" rel="noopener">[4]</a>: no point tracking, adaptive template features, line search, fuzzy localization</li>
</ul>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Pan, Xingang, et al. “Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold.” SIGGRAPH (2023).</p>
<p>[2] Shi, Yujun, et al. “DragDiffusion: Harnessing Diffusion Models for Interactive Point-based Image Editing.” arXiv preprint arXiv:2306.14435 (2023).</p>
<p>[3] Mou, Chong, et al. “DragonDiffusion: Enabling Drag-style Manipulation on Diffusion Models.” arXiv preprint arXiv:2307.02421 (2023).</p>
<p>[4] Ling, Pengyang, et al. “FreeDrag: Point Tracking is Not You Need for Interactive Point-based Image Editing.” arXiv preprint arXiv:2307.04684 (2023).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>image editing</tag>
</tags>
</entry>
<entry>
<title>Disentangled Generative Model</title>
<url>/2023/06/20/image_video_synthesis/Disentangled%20Generative%20Model/</url>
<content><![CDATA[<p>A survey on disentangled representation learning <a href="https://arxiv.org/pdf/2211.11695.pdf" target="_blank" rel="noopener">[1]</a></p>
<h3 id="Disentangled-Diffusion-Model"><a href="#Disentangled-Diffusion-Model" class="headerlink" title="Disentangled Diffusion Model"></a>Disentangled Diffusion Model</h3><ul>
<li><a href="https://openaccess.thecvf.com/content/CVPR2023/papers/Wu_Uncovering_the_Disentanglement_Capability_in_Text-to-Image_Diffusion_Models_CVPR_2023_paper.pdf" target="_blank" rel="noopener">[2]</a>: make adjustment based on text embedding, learn optimal combination coefficients for different time steps. </li>
<li><a href="https://arxiv.org/pdf/2301.13721.pdf" target="_blank" rel="noopener">[3]</a>: disentangled gradient field, predict gradients conditioned on latent factors</li>
<li><a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Preechakul_Diffusion_Autoencoders_Toward_a_Meaningful_and_Decodable_Representation_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[4]</a>: semantic subcode and stochastic details</li>
<li><a href="https://arxiv.org/pdf/2210.10960.pdf" target="_blank" rel="noopener">[5]</a>: predict the direction change in the latent h-space</li>
</ul>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Xin Wang, Hong Chen, Siao Tang, Zihao Wu, and Wenwu Zhu. “Disentangled Representation Learning.”</p>
<p>[2] Wu, Qiucheng, et al. “Uncovering the disentanglement capability in text-to-image diffusion models.” CVPR, 2023.</p>
<p>[3] Yang, Tao, et al. “DisDiff: Unsupervised Disentanglement of Diffusion Probabilistic Models.” arXiv preprint arXiv:2301.13721 (2023).</p>
<p>[4] Preechakul, Konpat, et al. “Diffusion autoencoders: Toward a meaningful and decodable representation.” CVPR, 2022.</p>
<p>[5] Kwon, Mingi, Jaeseok Jeong, and Youngjung Uh. “Diffusion models already have a semantic latent space.” arXiv preprint arXiv:2210.10960 (2022).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>GAN</tag>
<tag>VAE</tag>
<tag>diffusion model</tag>
</tags>
</entry>
<entry>
<title>Blender</title>
<url>/2022/11/14/software/Blender/</url>
<content><![CDATA[<ol>
<li><a href="https://github.com/yuki-koyama/blender-cli-rendering" target="_blank" rel="noopener">https://github.com/yuki-koyama/blender-cli-rendering</a></li>
<li><a href="https://github.com/FrozenBurning/Text2Light" target="_blank" rel="noopener">https://github.com/FrozenBurning/Text2Light</a> </li>
</ol>
]]></content>
<categories>
<category>software</category>
</categories>
<tags>
<tag>rendering</tag>
</tags>
</entry>
<entry>
<title>Prompt for Vision</title>
<url>/2022/10/17/deep_learning/Prompt%20for%20Vision/</url>
<content><![CDATA[<ul>
<li><p>Prompt for image-to-image translation: <a href="https://arxiv.org/pdf/1811.05181.pdf" target="_blank" rel="noopener">[1]</a></p>
</li>
<li><p>Prompt for visual grounding: <a href="https://arxiv.org/pdf/2109.11797.pdf" target="_blank" rel="noopener">[2]</a></p>
</li>
</ul>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Bar, Amir, et al. “Visual Prompting via Image Inpainting.” arXiv preprint arXiv:2209.00647 (2022).</p>
<p>[2] Yao, Yuan, et al. “Cpt: Colorful prompt tuning for pre-trained vision-language models.” arXiv preprint arXiv:2109.11797 (2021).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Smoothness Loss</title>
<url>/2022/10/15/deep_learning/Smoothness%20Loss/</url>
<content><![CDATA[<ol>
<li>Total Variation (TV) loss </li>
<li>Poisson blending loss <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Fu_Auto-Exposure_Fusion_for_Single-Image_Shadow_Removal_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://arxiv.org/pdf/1910.11495.pdf" target="_blank" rel="noopener">[2]</a></li>
<li>Gradient loss <a href="http://openaccess.thecvf.com/content_CVPR_2019/papers/Zhang_A_Late_Fusion_CNN_for_Digital_Matting_CVPR_2019_paper.pdf" target="_blank" rel="noopener">[1]</a></li>
<li>Laplacian loss <a href="https://openaccess.thecvf.com/content_ICCV_2019/papers/Hou_Context-Aware_Image_Matting_for_Simultaneous_Foreground_and_Alpha_Estimation_ICCV_2019_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://github.com/JizhiziLi/AIM/blob/48e3dc8d0f7308b42fe0593beb51f33e63ed2ddc/core/evaluate.py#L82" target="_blank" rel="noopener">[2]</a></li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Image Matting</title>
<url>/2022/09/23/deep_learning/Image%20Matting/</url>
<content><![CDATA[<h2 id="Background"><a href="#Background" class="headerlink" title="Background"></a>Background</h2><p>The target is separating foreground from background given some user annotation (e.g., trimask, scribble). The prevalent technique <a href="http://www.alphamatting.com/code.php" target="_blank" rel="noopener">alpha matting</a> is to solve $\mathbf{\alpha}$ (primary target), $\mathbf{F}$, $\mathbf{B}$ (subordinate target) in $\mathbf{I}=\mathbf{\alpha}\circ\mathbf{F}+(1-\mathbf{\alpha})\circ \mathbf{B}$ <a href="https://dl.acm.org/ft_gateway.cfm?id=808606&ftid=63750&dwn=1&CFID=4983534&CFTOKEN=96dd1cd10963517e-788E0FD4-99DA-7734-E93FEF8C75E17956" target="_blank" rel="noopener">[1]</a> <a href="http://delivery.acm.org/10.1145/810000/808606/p253-porter.pdf?ip=202.120.14.211&id=808606&acc=ACTIVE%20SERVICE&key=BF85BBA5741FDC6E%2E17676C47DFB149BF%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&__acm__=1544674017_517758b7f09ff19d5c0dc0db95a9091e" target="_blank" rel="noopener">[2]</a> <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.248.3736&rep=rep1&type=pdf" target="_blank" rel="noopener">[3]</a>.</p>
<h2 id="Datasets"><a href="#Datasets" class="headerlink" title="Datasets"></a>Datasets</h2><ul>
<li><p><a href="http://alphamatting.com/" target="_blank" rel="noopener">Alphamatting.com</a> Dataset: 25 train images, 8 test images, each has 3 different trimaps: small, large, user. Input: image and trimap.</p>
</li>
<li><p><a href="https://sites.google.com/view/deepimagematting" target="_blank" rel="noopener">Composition-1k Dataset</a>: 1000 images and 50 unique foregrounds.</p>
</li>
<li><p><a href="https://github.com/lizhengwei1992/Semantic_Human_Matting" target="_blank" rel="noopener">Matting Human Dataset</a>: 34427 images, annotation is not very accurate.</p>
</li>
<li><p><a href="https://github.com/wukaoliu/CVPR2020-HAttMatting" target="_blank" rel="noopener">Dinstinctions-646</a>: composed of 646 foreground images</p>
</li>
<li><p><a href="https://openaccess.thecvf.com/content/WACV2021/papers/Kang_ATM_Attentional_Text_Matting_WACV_2021_paper.pdf" target="_blank" rel="noopener">Text matting dataset</a></p>
</li>
</ul>
<h2 id="Evaluation-metrics"><a href="#Evaluation-metrics" class="headerlink" title="Evaluation metrics"></a>Evaluation metrics</h2><ul>
<li>quantitative: Sum of Absolute Differences (SAD), Mean Square Error (MSE), Gradient error, Connectivity error.</li>
</ul>
<h2 id="Methods"><a href="#Methods" class="headerlink" title="Methods"></a>Methods</h2><ol>
<li><p>Affinity-based <a href="http://openaccess.thecvf.com/content_cvpr_2017/papers/Aksoy_Designing_Effective_Inter-Pixel_CVPR_2017_paper.pdf" target="_blank" rel="noopener">[1]</a>: pixel similarity metrics that rely on color similarity or spatial proximity. </p>
</li>
<li><p>Sampling-based <a href="https://link.springer.com/chapter/10.1007/978-3-319-46475-6_13" target="_blank" rel="noopener">[8]</a>: the foreground/background color of unknown pixels can be obtained by sampling the foreground/background color of known pixels.</p>
</li>
<li><p>Learning-based</p>
<ul>
<li>With trimap:<ul>
<li>Encoder-Decoder network <a href="https://arxiv.org/pdf/1703.03872.pdf" target="_blank" rel="noopener">[2]</a> is the first end-to-end method for image matting: input image and trimap, output alpha; alpha loss and compositional loss; refine alpha.</li>
<li>DeepMattePropNet <a href="https://www.ijcai.org/proceedings/2018/0139.pdf" target="_blank" rel="noopener">[4]</a>: use deep learning to approximate affinity-based matting method; compositional loss.</li>
<li>AlphaGAN <a href="https://arxiv.org/pdf/1807.10088.pdf" target="_blank" rel="noopener">[6]</a>: combine GAN with alpha loss and compositional loss.</li>
<li>Learning based sampling <a href="http://people.inf.ethz.ch/aksoyy/papers/CVPR19-samplenet.pdf" target="_blank" rel="noopener">[7]</a></li>
</ul>
</li>
<li>Without trimap:<ul>
<li>Light Dense Network (LDN) + Feathering Block (FB) <a href="https://arxiv.org/pdf/1707.08289.pdf" target="_blank" rel="noopener">[3]</a>: generate segmentation mask and refine the mask with feathering block. </li>
<li>T-Net+M-net <a href="https://arxiv.org/pdf/1809.01354.pdf" target="_blank" rel="noopener">[5]</a>: use segmentation task as trimap</li>
<li><a href="https://arxiv.org/pdf/2004.00626.pdf" target="_blank" rel="noopener">[9]</a>: capture the background image without subject and a corresponding video with subject</li>
</ul>
</li>
</ul>
</li>
</ol>
<h2 id="Losses"><a href="#Losses" class="headerlink" title="Losses"></a>Losses</h2><p>gradient loss <a href="http://openaccess.thecvf.com/content_CVPR_2019/papers/Zhang_A_Late_Fusion_CNN_for_Digital_Matting_CVPR_2019_paper.pdf" target="_blank" rel="noopener">[11]</a> Laplacian loss <a href="https://openaccess.thecvf.com/content_ICCV_2019/papers/Hou_Context-Aware_Image_Matting_for_Simultaneous_Foreground_and_Alpha_Estimation_ICCV_2019_paper.pdf" target="_blank" rel="noopener">[12]</a></p>
<h2 id="Extension"><a href="#Extension" class="headerlink" title="Extension"></a>Extension</h2><p>Omnimatte <a href="https://arxiv.org/pdf/2105.06993.pdf" target="_blank" rel="noopener">[10]</a>: segment objects and scene effects related to the objects (shadows, reflections, smoke)</p>
<h2 id="User-guided-Image-Matting"><a href="#User-guided-Image-Matting" class="headerlink" title="User-guided Image Matting"></a>User-guided Image Matting</h2><p>unified interactive image matting: <a href="https://arxiv.org/pdf/2205.08324.pdf" target="_blank" rel="noopener">[13]</a></p>
<h3 id="Reference"><a href="#Reference" class="headerlink" title="Reference:"></a>Reference:</h3><p>[1] Aksoy, Yagiz, Tunc Ozan Aydin, and Marc Pollefeys. “Designing effective inter-pixel information flow for natural image matting.” CVPR, 2017.</p>
<p>[2] Xu, Ning, et al. “Deep image matting.” CVPR, 2017.</p>
<p>[3] Zhu, Bingke, et al. “Fast deep matting for portrait animation on mobile phone.” ACM MM, 2017.</p>
<p>[4] Wang, Yu, et al. “Deep Propagation Based Image Matting.” IJCAI. 2018.</p>
<p>[5] Quan Chen, Tiezheng Ge, Yanyu Xu, Zhiqiang Zhang, Xinxin Yang, Kun Gai, “Semantic Human Matting.” ACM MM, 2018.</p>
<p>[6] Lutz, Sebastian, Konstantinos Amplianitis, and Aljosa Smolic. “AlphaGAN: Generative adversarial networks for natural image matting.” BMVC, 2018.</p>
<p>[7] Jingwei Tang, Yagız Aksoy, Cengiz Oztireli, Markus Gross, Tunc Ozan Aydın. “Learning-based Sampling for Natural Image Matting”, CVPR, 2019.</p>
<p>[8] Feng, Xiaoxue, Xiaohui Liang, and Zili Zhang. “A cluster sampling method for image matting via sparse coding.” ECCV, 2016.</p>
<p>[9] Soumyadip Sengupta, Vivek Jayaram, Brian Curless, Steve Seitz, Ira Kemelmacher-Shlizerman:<br>Background Matting: The World is Your Green Screen. CVPR, 2020.</p>
<p>[10] Lu, Erika, et al. “Omnimatte: Associating Objects and Their Effects in Video.” CVPR, 2021.</p>
<p>[11] Zhang, Yunke, et al. “A late fusion cnn for digital matting.” CVPR, 2019.</p>
<p>[12] Hou, Qiqi, and Feng Liu. “Context-aware image matting for simultaneous foreground and alpha estimation.” ICCV. 2019.</p>
<p>[13] Yang, Stephen, et al. “Unified interactive image matting.” arXiv preprint arXiv:2205.08324 (2022).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>matting</tag>
</tags>
</entry>
<entry>
<title>Consistent Video Editing</title>
<url>/2022/09/20/image_video_synthesis/Consistent%20Video%20Editing/</url>
<content><![CDATA[<ul>
<li>Template based: <a href="https://arxiv.org/pdf/2109.11418.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Ye_Deformable_Sprites_for_Unsupervised_Video_Decomposition_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[2]</a></li>
</ul>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><ol>
<li><p>Kasten, Yoni, et al. “Layered neural atlases for consistent video editing.” ACM Transactions on Graphics (TOG) 40.6 (2021): 1-12.</p>
</li>
<li><p>Ye, Vickie, et al. “Deformable Sprites for Unsupervised Video Decomposition.” CVPR, 2022.</p>
</li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Artistic and Photorealistic Style Transfer</title>
<url>/2022/09/19/deep_learning/Artistic%20and%20Photorealistic%20Style%20Transfer/</url>
<content><![CDATA[<h3 id="Transfer-strategy"><a href="#Transfer-strategy" class="headerlink" title="Transfer strategy"></a>Transfer strategy</h3><ul>
<li><p>Feature transfer: AdaIN <a href="https://openaccess.thecvf.com/content_ICCV_2017/papers/Huang_Arbitrary_Style_Transfer_ICCV_2017_paper.pdf" target="_blank" rel="noopener">[1]</a>, WCT <a href="https://arxiv.org/pdf/1705.08086.pdf" target="_blank" rel="noopener">[2]</a>, SANet <a href="https://openaccess.thecvf.com/content_CVPR_2019/papers/Park_Arbitrary_Style_Transfer_With_Style-Attentional_Networks_CVPR_2019_paper.pdf" target="_blank" rel="noopener">[3]</a>. </p>
</li>
<li><p><a href="https://ustcnewly.github.io/2022/01/21/deep_learning/Color%20Mapping/">Color transfer</a>: Learn color transformation (explicit function or implicit function (e.g., look-up table) conditioned on color values, location, semantic information, or other guidance. </p>
</li>
</ul>
<h3 id="Compare-Different-Backbones"><a href="#Compare-Different-Backbones" class="headerlink" title="Compare Different Backbones"></a>Compare Different Backbones</h3><p><a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Wang_Rethinking_and_Improving_the_Robustness_of_Image_Style_Transfer_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[6]</a> <a href="http://jcst.ict.ac.cn/fileup/1000-9000/PDF/2022-3-8-2140.pdf" target="_blank" rel="noopener">[7]</a></p>
<h3 id="Losses"><a href="#Losses" class="headerlink" title="Losses:"></a>Losses:</h3><ul>
<li>paired supervision: L2 loss</li>
<li>unpaired supervision: adversarial loss</li>
<li>smooth loss: variation loss, Poisson loss</li>
<li>content loss: perception loss</li>
<li>style loss: Gram loss, AdaIn loss</li>
</ul>
<h3 id="Multi-scale-stylization"><a href="#Multi-scale-stylization" class="headerlink" title="Multi-scale stylization"></a>Multi-scale stylization</h3><ul>
<li><p>parallel: <a href="https://openaccess.thecvf.com/content/ICCV2021/papers/Liu_AdaAttN_Revisit_Attention_Mechanism_in_Arbitrary_Neural_Style_Transfer_ICCV_2021_paper.pdf" target="_blank" rel="noopener">[4]</a></p>
</li>
<li><p>sequential: <a href="https://arxiv.org/pdf/2004.10955.pdf" target="_blank" rel="noopener">[5]</a></p>
</li>
</ul>
<h3 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h3><p>[1] Huang, Xun, and Serge Belongie. “Arbitrary style transfer in real-time with adaptive instance normalization.” ICCV, 2017.</p>
<p>[2] Li, Yijun, et al. “Universal style transfer via feature transforms.” NeurIPS, 2017.</p>
<p>[3] Park, Dae Young, and Kwang Hee Lee. “Arbitrary style transfer with style-attentional networks.” CVPR, 2019.</p>
<p>[4] Liu, Songhua, et al. “Adaattn: Revisit attention mechanism in arbitrary neural style transfer.” ICCV, 2021.</p>
<p>[5] Xia, Xide, et al. “Joint bilateral learning for real-time universal photorealistic style transfer.” ECCV, 2020.</p>
<p>[6] Wang, Pei, Yijun Li, and Nuno Vasconcelos. “Rethinking and improving the robustness of image style transfer.” CVPR, 2021.</p>
<p>[7] Wei, Hua-Peng, et al. “A Comparative Study of CNN-and Transformer-Based Visual Style Transfer.” Journal of Computer Science and Technology 37.3 (2022): 601-614.</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>style transfer</tag>
</tags>
</entry>
<entry>
<title>Dynamic Kernel</title>
<url>/2022/09/19/deep_learning/Dynamic%20Kernel/</url>
<content><![CDATA[<p>Dynamic kernels: <a href="https://proceedings.neurips.cc/paper/2016/file/8bf1211fd4b7b94528899de0a43b9fb3-Paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://arxiv.org/pdf/2003.05664.pdf" target="_blank" rel="noopener">[2]</a></p>
<p>Survey: <a href="https://arxiv.org/pdf/2102.04906" target="_blank" rel="noopener">[Dynamic neural networks: A survey]</a></p>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><ol>
<li><p>Jia, Xu, et al. “Dynamic filter networks.” Advances in neural information processing systems 29 (2016).</p>
</li>
<li><p>Tian, Zhi, Chunhua Shen, and Hao Chen. “Conditional convolutions for instance segmentation.” European conference on computer vision. Springer, Cham, 2020.</p>
</li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Virtual Try-on</title>
<url>/2022/09/10/deep_learning/Virtual%20Try-on/</url>
<content><![CDATA[<h4 id="warping"><a href="#warping" class="headerlink" title="warping"></a>warping</h4><ul>
<li>correspondence matrix <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Yang_CT-Net_Complementary_Transfering_Network_for_Garment_Transfer_With_Arbitrary_Geometric_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://openaccess.thecvf.com/content/CVPR2022W/CVFAD/papers/Morelli_Dress_Code_High-Resolution_Multi-Category_Virtual_Try-On_CVPRW_2022_paper.pdf" target="_blank" rel="noopener">[4]</a></li>
<li>TPS <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Yang_CT-Net_Complementary_Transfering_Network_for_Garment_Transfer_With_Arbitrary_Geometric_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://openaccess.thecvf.com/content/CVPR2022W/CVFAD/papers/Fenocchi_Dual-Branch_Collaborative_Transformer_for_Virtual_Try-On_CVPRW_2022_paper.pdf" target="_blank" rel="noopener">[3]</a> </li>
<li>offset and weight <a href="https://arxiv.org/pdf/2207.09161.pdf" target="_blank" rel="noopener">[2]</a></li>
</ul>
<h4 id="target-person"><a href="#target-person" class="headerlink" title="target person"></a>target person</h4><p>Garment Transfer: <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Yang_CT-Net_Complementary_Transfering_Network_for_Garment_Transfer_With_Arbitrary_Geometric_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[5]</a> <a href="https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9525061" target="_blank" rel="noopener">[6]</a> <a href="https://openaccess.thecvf.com/content_ECCV_2018/papers/Amit_Raj_SwapNet_Garment_Transfer_ECCV_2018_paper.pdf" target="_blank" rel="noopener">[8]</a></p>
<p>Controllable person image synthesis: <a href="https://arxiv.org/pdf/2208.00712.pdf" target="_blank" rel="noopener">[7]</a></p>
<p>Recurrent Person Image Generation: <a href="https://openaccess.thecvf.com/content/ICCV2021/papers/Cui_Dressing_in_Order_Recurrent_Person_Image_Generation_for_Pose_Transfer_ICCV_2021_paper.pdf" target="_blank" rel="noopener">[9]</a></p>
<h4 id="References"><a href="#References" class="headerlink" title="References"></a>References</h4><ol>
<li><p>Yang, Fan, and Guosheng Lin. “CT-Net: Complementary Transfering Network for Garment Transfer with Arbitrary Geometric Changes.” CVPR, 2021.</p>
</li>
<li><p>Bai, Shuai, et al. “Single Stage Virtual Try-on via Deformable Attention Flows.” arXiv preprint arXiv:2207.09161 (2022).</p>
</li>
<li><p>Fenocchi, Emanuele, et al. “Dual-Branch Collaborative Transformer for Virtual Try-On.” CVPR, 2022.</p>
</li>
<li><p>Morelli, Davide, et al. “Dress Code: High-Resolution Multi-Category Virtual Try-On.” CVPR, 2022.</p>
</li>
<li><p>Fan Yang, Guosheng Lin. “CT-Net: Complementary Transfering Network for Garment Transfer with Arbitrary Geometric Changes.” CVPR, 2021.</p>
</li>
<li><p>Liu, Ting, et al. “Spatial-aware texture transformer for high-fidelity garment transfer.” IEEE Transactions on Image Processing 30 (2021): 7499-7510.</p>
</li>
<li><p>Zhou, Xinyue, et al. “Cross Attention Based Style Distribution for Controllable Person Image Synthesis.” arXiv preprint arXiv:2208.00712 (2022).</p>
</li>
<li><p>Raj, Amit, et al. “Swapnet: Image based garment transfer.” European Conference on Computer Vision. Springer, Cham, 2018.</p>
</li>
<li><p>Cui, Aiyu, Daniel McKee, and Svetlana Lazebnik. “Dressing in order: Recurrent person image generation for pose transfer, virtual try-on and outfit editing.” ICCV, 2021.</p>
</li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Diffusion Model</title>
<url>/2022/09/09/image_video_synthesis/Diffusion%20Model/</url>
<content><![CDATA[<ul>
<li><p>class-conditioned image generation: <a href="https://arxiv.org/pdf/2105.05233.pdf" target="_blank" rel="noopener">[1]</a></p>
</li>
<li><p>Image-to-image translation: <a href="https://arxiv.org/pdf/2205.12952.pdf" target="_blank" rel="noopener">[4]</a>, <a href="https://arxiv.org/pdf/2209.15264.pdf" target="_blank" rel="noopener">[7]</a>, <a href="https://arxiv.org/pdf/2108.02938.pdf" target="_blank" rel="noopener">[6]</a>, <a href="https://openreview.net/pdf?id=aBsCjcPu_tE" target="_blank" rel="noopener">[8]</a> </p>
</li>
<li><p>Image-to-image translation with guidance: GLIDE<a href="https://arxiv.org/pdf/2112.10741v1.pdf" target="_blank" rel="noopener">[2]</a>(global: text), <a href="https://arxiv.org/pdf/2211.13752.pdf" target="_blank" rel="noopener">[20]</a>(global: text, sketch), <a href="https://arxiv.org/pdf/2211.15518.pdf" target="_blank" rel="noopener">[21]</a>(local: text), <a href="https://arxiv.org/pdf/2301.07093.pdf" target="_blank" rel="noopener">[22]</a>(local: text, image), ControlNet<a href="https://arxiv.org/pdf/2302.05543.pdf" target="_blank" rel="noopener">[23]</a>(global: mixture), T2I-Adapter<a href="https://arxiv.org/pdf/2302.08453.pdf" target="_blank" rel="noopener">[24]</a>(global: mixture), <a href="https://arxiv.org/pdf/2302.09778.pdf" target="_blank" rel="noopener">[25]</a>(local: mixture), <a href="https://arxiv.org/pdf/2302.13848.pdf" target="_blank" rel="noopener">[26]</a>(global: text), <a href="https://arxiv.org/pdf/2305.16322.pdf" target="_blank" rel="noopener">[27]</a>, Ctrl-Adapter <a href="https://arxiv.org/pdf/2404.09967" target="_blank" rel="noopener">[36]</a></p>
</li>
<li><p>unpaired Image-to-image translation: <a href="https://arxiv.org/pdf/2209.15264.pdf" target="_blank" rel="noopener">[19]</a> <a href="https://arxiv.org/pdf/2104.05358.pdf" target="_blank" rel="noopener">[28]</a> <a href="https://arxiv.org/pdf/2203.08382.pdf" target="_blank" rel="noopener">[29]</a></p>
</li>
<li><p>Image composition: SDEdit <a href="https://openreview.net/pdf?id=aBsCjcPu_tE" target="_blank" rel="noopener">[17]</a>, ILVR <a href="https://arxiv.org/pdf/2108.02938.pdf" target="_blank" rel="noopener">[6]</a>, <a href="https://arxiv.org/pdf/2302.10167.pdf" target="_blank" rel="noopener">[5]</a>, <a href="https://arxiv.org/pdf/2211.13227.pdf" target="_blank" rel="noopener">[9]</a>, <a href="https://arxiv.org/pdf/2212.00932.pdf" target="_blank" rel="noopener">[15]</a></p>
</li>
<li><p>Image inpainting: <a href="http://openaccess.thecvf.com/content/CVPR2022/papers/Lugmayr_RePaint_Inpainting_Using_Denoising_Diffusion_Probabilistic_Models_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[10]</a>, <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Rombach_High-Resolution_Image_Synthesis_With_Latent_Diffusion_Models_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[11]</a>, <a href="https://arxiv.org/pdf/2212.02963.pdf" target="_blank" rel="noopener">[12]</a>, <a href="https://arxiv.org/pdf/2212.06909.pdf" target="_blank" rel="noopener">[13]</a></p>
</li>
<li><p>Predict mask: <a href="https://arxiv.org/pdf/2303.11681.pdf" target="_blank" rel="noopener">[31]</a> cross-attention and post processing; <a href="https://arxiv.org/pdf/2212.05034.pdf" target="_blank" rel="noopener">[32]</a> add one output channel; <a href="https://arxiv.org/pdf/2303.17870.pdf" target="_blank" rel="noopener">[33]</a> predict masks using the feature maps in early steps. </p>
</li>
</ul>
<p>MileStone: DDPM <a href="https://proceedings.neurips.cc/paper/2020/file/4c5bcfec8584af0d967f1ab10179ca4b-Paper.pdf" target="_blank" rel="noopener">[3]</a>, Stable diffusion <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Rombach_High-Resolution_Image_Synthesis_With_Latent_Diffusion_Models_CVPR_2022_paper.pdf" target="_blank" rel="noopener">v1</a>, <a href="https://github.com/Stability-AI/stablediffusion" target="_blank" rel="noopener">v2</a>, <a href="https://arxiv.org/pdf/2307.01952.pdf" target="_blank" rel="noopener">XL</a>, <a href="https://arxiv.org/pdf/2403.03206.pdf" target="_blank" rel="noopener">v3</a></p>
<p>Acceleration: DDIM <a href="https://arxiv.org/pdf/2010.02502.pdf" target="_blank" rel="noopener">[14]</a>, PLMS <a href="https://arxiv.org/pdf/2202.09778.pdf" target="_blank" rel="noopener">[16]</a></p>
<p>High-resolution: <a href="https://arxiv.org/pdf/2310.15111.pdf" target="_blank" rel="noopener">[34]</a> progressive training</p>
<p>Light-weight: <a href="https://arxiv.org/pdf/2306.00980.pdf" target="_blank" rel="noopener">[35]</a> </p>
<p>Failure case analyses: <a href="https://arxiv.org/pdf/2306.02583.pdf" target="_blank" rel="noopener">[30]</a></p>
<p>Surveys</p>
<ul>
<li><a href="https://arxiv.org/pdf/2209.00796.pdf" target="_blank" rel="noopener">Diffusion Models: A Comprehensive Survey of Methods and Applications</a></li>
<li><a href="https://arxiv.org/pdf/2209.04747.pdf" target="_blank" rel="noopener">Diffusion Models in Vision: A Survey</a></li>
</ul>
<p>Tutorial materials: <a href="https://mp.weixin.qq.com/s/WGC6bhSNasqk8b0D2r8S1g" target="_blank" rel="noopener">[a]</a> <a href="https://zhuanlan.zhihu.com/p/610012156?utm_campaign=shareopn&utm_medium=social&utm_oi=1016221980986503168&utm_psn=1614159296316567552&utm_source=wechat_session" target="_blank" rel="noopener">[b]</a></p>
<h3 id="References"><a href="#References" class="headerlink" title="References"></a>References</h3><p>[1] Dhariwal, Prafulla, and Alex Nichol. “Diffusion models beat gans on image synthesis.” arXiv preprint arXiv:2105.05233 (2021).</p>
<p>[2] Nichol, Alex, et al. “Glide: Towards photorealistic image generation and editing with text-guided diffusion models.” arXiv preprint arXiv:2112.10741 (2021).</p>
<p>[3] Ho, Jonathan, Ajay Jain, and Pieter Abbeel. “Denoising diffusion probabilistic models.” Advances in Neural Information Processing Systems 33 (2020): 6840-6851.</p>
<p>[4] Wang, Tengfei, et al. “Pretraining is All You Need for Image-to-Image Translation.” arXiv preprint arXiv:2205.12952 (2022).</p>
<p>[5] Hachnochi, Roy, et al. “Cross-domain Compositing with Pretrained Diffusion Models.” arXiv preprint arXiv:2302.10167 (2023).</p>
<p>[6] Choi, Jooyoung, et al. “ILVR: Conditioning Method for Denoising Diffusion Probabilistic Models.” ICCV, 2021.</p>
<p>[7] Kwon, Gihyun, and Jong Chul Ye. “Diffusion-based image translation using disentangled style and content representation.” ICLR, 2023.</p>
<p>[8] Meng, Chenlin, et al. “Sdedit: Guided image synthesis and editing with stochastic differential equations.” ICLR, 2021.</p>
<p>[9] Yang, Binxin, et al. “Paint by Example: Exemplar-based Image Editing with Diffusion Models.” arXiv preprint arXiv:2211.13227 (2022).</p>
<p>[10] Lugmayr, Andreas, et al. “Repaint: Inpainting using denoising diffusion probabilistic models.” CVPR, 2022.</p>
<p>[11] Rombach, Robin, et al. “High-resolution image synthesis with latent diffusion models.” CVPR, 2022.</p>
<p>[12] Li, Wenbo, et al. “SDM: Spatial Diffusion Model for Large Hole Image Inpainting.” arXiv preprint arXiv:2212.02963 (2022).</p>
<p>[13] Wang, Su, et al. “Imagen Editor and EditBench: Advancing and Evaluating Text-Guided Image Inpainting.” arXiv preprint arXiv:2212.06909 (2022).</p>
<p>[14] Song, Jiaming, Chenlin Meng, and Stefano Ermon. “Denoising diffusion implicit models.” arXiv preprint arXiv:2010.02502 (2020).</p>
<p>[15] Song, Yizhi, et al. “ObjectStitch: Generative Object Compositing.” CVPR, 2023.</p>
<p>[16] Liu, Luping, et al. “Pseudo numerical methods for diffusion models on manifolds.” ICLR, (2022).</p>
<p>[17] Meng, Chenlin, et al. “Sdedit: Guided image synthesis and editing with stochastic differential equations.” ICLR, 2021.</p>
<p>[19] Kwon, Gihyun, and Jong Chul Ye. “Diffusion-based image translation using disentangled style and content representation.” ILCR, 2023.</p>
<p>[20] Voynov, Andrey, Kfir Aberman, and Daniel Cohen-Or. “Sketch-Guided Text-to-Image Diffusion Models.” arXiv preprint arXiv:2211.13752 (2022).</p>
<p>[21] Yang, Zhengyuan, et al. “ReCo: Region-Controlled Text-to-Image Generation.” arXiv preprint arXiv:2211.15518 (2022).</p>
<p>[22] Li, Yuheng, et al. “GLIGEN: Open-Set Grounded Text-to-Image Generation.” arXiv preprint arXiv:2301.07093 (2023).</p>
<p>[23] Zhang, Lvmin, and Maneesh Agrawala. “Adding conditional control to text-to-image diffusion models.” arXiv preprint arXiv:2302.05543 (2023).</p>
<p>[24] Mou, Chong, et al. “T2i-adapter: Learning adapters to dig out more controllable ability for text-to-image diffusion models.” arXiv preprint arXiv:2302.08453 (2023).</p>
<p>[25] Huang, Lianghua, et al. “Composer: Creative and controllable image synthesis with composable conditions.” arXiv preprint arXiv:2302.09778 (2023).</p>
<p>[26] Wei, Yuxiang, et al. “Elite: Encoding visual concepts into textual embeddings for customized text-to-image generation.” arXiv preprint arXiv:2302.13848 (2023).</p>
<p>[27] Zhao, Shihao, et al. “Uni-ControlNet: All-in-One Control to Text-to-Image Diffusion Models.” arXiv preprint arXiv:2305.16322 (2023).</p>
<p>[28] Sasaki, Hiroshi, Chris G. Willcocks, and Toby P. Breckon. “Unit-ddpm: Unpaired image translation with denoising diffusion probabilistic models.” arXiv preprint arXiv:2104.05358 (2021).</p>
<p>[29] Su, Xuan, et al. “Dual diffusion implicit bridges for image-to-image translation.” arXiv preprint arXiv:2203.08382 (2022).</p>
<p>[30] Chengbin Du, Yanxi Li, Zhongwei Qiu, Chang Xu, “Stable Diffusion is Unstable”. </p>
<p>[31] Wu, Weijia, et al. “Diffumask: Synthesizing images with pixel-level annotations for semantic segmentation using diffusion models.” arXiv preprint arXiv:2303.11681 (2023).</p>
<p>[32] Xie, Shaoan, et al. “Smartbrush: Text and shape guided object inpainting with diffusion model.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.</p>
<p>[33] Ma, Jian, et al. “GlyphDraw: Learning to Draw Chinese Characters in Image Synthesis Models Coherently.” arXiv preprint arXiv:2303.17870 (2023).</p>
<p>[34] Gu, Jiatao, et al. “Matryoshka Diffusion Models.” arXiv preprint arXiv:2310.15111 (2023). </p>
<p>[35] Li, Yanyu, et al. “SnapFusion: Text-to-Image Diffusion Model on Mobile Devices within Two Seconds.” NeurIPS(2023).</p>
<p>[36] Lin, Han, et al. “Ctrl-Adapter: An Efficient and Versatile Framework for Adapting Diverse Controls to Any Diffusion Model.” arXiv preprint arXiv:2404.09967 (2024).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>generative model</tag>
</tags>
</entry>
<entry>
<title>Exemplar-guided Image Translation</title>
<url>/2022/09/09/image_video_synthesis/Exemplar-guided%20Image%20Translation/</url>
<content><![CDATA[<p>Task: Each exemplar represents one domain. Transfer the style of exemplar image to the input image. </p>
<p><a href="https://openaccess.thecvf.com/content_CVPR_2020/papers/Zhang_Cross-Domain_Correspondence_Learning_for_Exemplar-Based_Image_Translation_CVPR_2020_paper.pdf" target="_blank" rel="noopener">[1]</a></p>
<ul>
<li><p>reconstruct the style code: <a href="https://openaccess.thecvf.com/content_CVPR_2020/papers/Anokhin_High-Resolution_Daytime_Translation_Without_Domain_Labels_CVPR_2020_paper.pdf" target="_blank" rel="noopener">[2]</a></p>
</li>
<li><p>use pretrained network (prior knowledge) to extract the style code: <a href="https://arxiv.org/pdf/2201.00424.pdf" target="_blank" rel="noopener">[3]</a></p>
</li>
</ul>
<h4 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h4><ol>
<li><p>Zhang, Pan, et al. “Cross-domain correspondence learning for exemplar-based image translation.” CVPR, 2020.</p>
</li>
<li><p>Anokhin, Ivan, et al. “High-resolution daytime translation without domain labels.” CVPR, 2020.</p>
</li>
<li><p>Tumanyan, Narek, et al. “Splicing ViT Features for Semantic Appearance Transfer.” CVPR, 2022.</p>
</li>
</ol>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>image translation</tag>
</tags>
</entry>
<entry>
<title>NERF</title>
<url>/2022/08/22/deep_learning/NERF/</url>
<content><![CDATA[<ul>
<li><p>NERF <a href="https://arxiv.org/pdf/2003.08934.pdf" target="_blank" rel="noopener">[1]</a></p>
</li>
<li><p>GIRAFFE <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Niemeyer_GIRAFFE_Representing_Scenes_As_Compositional_Generative_Neural_Feature_Fields_CVPR_2021_paper.pdf" target="_blank" rel="noopener">[2]</a></p>
</li>
</ul>
<h3 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h3><p>[1] Mildenhall, Ben, et al. “Nerf: Representing scenes as neural radiance fields for view synthesis.” ECCV, 2020.</p>
<p>[2] Niemeyer, Michael, and Andreas Geiger. “Giraffe: Representing scenes as compositional generative neural feature fields.” CVPR, 2021.</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>Mask Form</title>
<url>/2022/07/25/machine_learning/Mask%20Form/</url>
<content><![CDATA[<ol>
<li><p>binary map</p>
</li>
<li><p>frequency: DCT <a href="https://arxiv.org/pdf/2011.09876.pdf" target="_blank" rel="noopener">[1]</a></p>
</li>
<li><p>PolarMask <a href="https://openaccess.thecvf.com/content_CVPR_2020/papers/Xie_PolarMask_Single_Shot_Instance_Segmentation_With_Polar_Representation_CVPR_2020_paper.pdf" target="_blank" rel="noopener">[2]</a></p>
</li>
<li><p>Hyperbolic <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Atigh_Hyperbolic_Image_Segmentation_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[3]</a></p>
</li>
</ol>
<h4 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h4><p>[1] Shen, Xing, et al. “Dct-mask: Discrete cosine transform mask representation for instance segmentation.” CVPR, 2021.</p>
<p>[2] Xie, Enze, et al. “Polarmask: Single shot instance segmentation with polar representation.” CVPR, 2020.</p>
<p>[3] GhadimiAtigh, Mina, et al. “Hyperbolic Image Segmentation.” arXiv preprint arXiv:2203.05898 (2022).</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
</entry>
<entry>
<title>To a Beginner on Paper Writing</title>
<url>/2022/07/22/others/To%20a%20Beginner%20on%20Paper%20Writing/</url>
<content><![CDATA[<ul>
<li><p>Carefully read the following instructions. These are the key points you should pay attention to when writing papers.</p>
<ul>
<li><a href="https://ustcnewly.github.io/2022/06/16/others/Paper%20Writing/">https://ustcnewly.github.io/2022/06/16/others/Paper%20Writing/</a></li>
<li><a href="https://ustcnewly.github.io/2022/06/16/others/Paper%20Proofread/">https://ustcnewly.github.io/2022/06/16/others/Paper%20Proofread/</a></li>
<li><a href="https://ustcnewly.github.io/2022/06/16/others/Reasons%20to%20Reject%20a%20Paper/">https://ustcnewly.github.io/2022/06/16/others/Reasons%20to%20Reject%20a%20Paper/</a> </li>
</ul>
</li>
</ul>
<ul>
<li><p>The commonly used words in academic papers are summarized in <a href="https://ustcnewly.github.io/2022/06/16/others/Dictionary%20for%20Paper%20Writing/">https://ustcnewly.github.io/2022/06/16/others/Dictionary%20for%20Paper%20Writing/</a>.</p>
</li>
<li><p>Before writing your own paper, carefully read 10 closely related papers and record the materials (words/phrases/sentences) which could be used in your paper. Organize your collected materials and think about when to use them. Do not copy them word-by-word, you need to incorporate them into your own paper coherently and seamlessly. </p>
</li>
</ul>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>paper</tag>
</tags>
</entry>
<entry>
<title>Network Architecture</title>
<url>/2022/07/15/deep_learning/Network%20Architecture/</url>
<content><![CDATA[<ol>
<li><p><a href="https://ustcnewly.github.io/2022/06/16/deep_learning/Transformer/">Transformer</a></p>
</li>
<li><p>Large kernel: <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_A_ConvNet_for_the_2020s_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[1]</a> <a href="https://openaccess.thecvf.com/content/CVPR2022/papers/Ding_Scaling_Up_Your_Kernels_to_31x31_Revisiting_Large_Kernel_Design_CVPR_2022_paper.pdf" target="_blank" rel="noopener">[2]</a> <a href="https://arxiv.org/pdf/2207.03620.pdf" target="_blank" rel="noopener">[3]</a></p>
</li>
</ol>
<h4 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h4><p>[1] Liu, Zhuang, et al. “A convnet for the 2020s.” CVPR, 2022.</p>
<p>[2] Ding, Xiaohan, et al. “Scaling up your kernels to 31x31: Revisiting large kernel design in cnns.” CVPR, 2022.</p>
<p>[3] More ConvNets in the 2020s: Scaling up Kernels Beyond 51 × 51 using Sparsity</p>
]]></content>
<categories>
<category>paper note</category>
</categories>
<tags>
<tag>network structure</tag>
</tags>
</entry>
<entry>
<title>Install VirtualBox Guest Addition</title>
<url>/2022/06/16/software/VirtualBox/Install%20VirtualBox%20Guest%20Addition/</url>
<content><![CDATA[<ol>
<li><p>Before install guest addition from CD, do the following</p>
<p> <code>sudo apt-get install dkms build-essential linux-headers-generic linux-headers-$(uname -r)</code></p>
<p> For missing linux kernel headers or other common problems, refer to <a href="http://blog.ackx.net/virtualbox-guest-additions-common-errors.html" target="_blank" rel="noopener">this</a>.</p>
<p> use <code>uname -r</code> or <code>uname -a</code> to look up the kernel version, use <code>dpkg --get-selections | grep linux</code> to check the installed linux kernels.</p>
</li>
<li><p>If you click the sharefolder item in the menubar and get the follwing error: ‘The VirtualBox Guest Additions do not seem to be available on this virtual machine, and shared folders cannot be used without them’, the following commands may be helpful. </p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo apt-get install virtualbox-guest-additions-iso</span><br><span class="line">sudo apt-get update </span><br><span class="line">sudo apt-get dist-upgrade</span><br><span class="line">sudo apt-get install virtualbox-guest-x11</span><br></pre></td></tr></table></figure></li>
</ol>
]]></content>
<categories>
<category>software</category>
</categories>
<tags>
<tag>VirtualBox</tag>
</tags>
</entry>
<entry>
<title>Enlarge VirtualBox vdi</title>
<url>/2022/06/16/software/VirtualBox/Enlarge%20VirtualBox%20vdi/</url>
<content><![CDATA[<ol>
<li><p>Go to virtualbox installation directory and execute the following command:</p>
<p> <code>D:\Program Files\Oracle\VirtualBox\VBoxManage.exe modifyhd "F:\VirtualBox\my ubuntu.vdi" --resize 15360</code></p>
<p> Note 15360 is the new size (M), this command can only enlarge the size.</p>
</li>
<li><p>Install gparted by <code>sudo apt-get install gparted</code> and make the extended disk space available to use.</p>
</li>
<li><p>Remount <code>/home</code> to the new disk. For concrete steps, refer to this <a href="https://help.ubuntu.com/community/Partitioning/Home/Moving" target="_blank" rel="noopener">link</a>. </p>
</li>
</ol>
]]></content>
<categories>
<category>software</category>
</categories>
<tags>
<tag>VirtualBox</tag>
</tags>
</entry>
<entry>
<title>Git</title>
<url>/2022/06/16/software/version_control/Git/</url>
<content><![CDATA[<p><img src="https://www.ustcnewly.com/github_images/t0IXoZq.jpg" width="50%" height="50%"></p>
<ol>
<li><p><strong>Initialize center and local repository</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line"><span class="meta">#</span>init from scratch</span><br><span class="line">git init <local_dir></span><br><span class="line"><span class="meta">#</span>for central repository without working directory, use --bare</span><br><span class="line">git init --bare <local_dir></span><br><span class="line"><span class="meta">#</span>clone from GitHub, can just clone a subdirectory. pull all the remote branches. set up "main" branch to track "origin/main". </span><br><span class="line">git clone <remote_repo> <remote_dir></span><br><span class="line"><span class="meta">#</span>pull from other local repository</span><br><span class="line">git remote add <remote_repo> <remote_address></span><br><span class="line"> git pull # only pull the default branch</span><br><span class="line">git pull <remote_repo> <remote_branch> # pull is equal to fetch and merge</span><br><span class="line"> git fetch <remote_repo> <remote_branch></span><br></pre></td></tr></table></figure>
</li>
<li><p><strong>Configuration</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git config --global user.name $name</span><br><span class="line">git config --global user.email $email</span><br><span class="line"> git config --global credential.helper store</span><br><span class="line">git config --global alias.$alias-name $git-command</span><br><span class="line">git config --system core.editor $editor # e.g., vim</span><br><span class="line">git config --global --edit</span><br></pre></td></tr></table></figure>
<p><code>.git/config</code> Repository-specific settings.<br><code>~/.gitconfig</code> User-specific settings. This is where options set with the —global flag are stored.<br><code>/etc/gitconfig</code> System-wide settings.</p>
</li>
<li><p><strong>Staged snapshot in the staging area</strong><br>operations on tracked files:</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git add <file></span><br><span class="line">git add <dir></span><br><span class="line">git add . # add all the files in the current directory</span><br><span class="line">git add * # add all the files and folders in the current directory </span><br><span class="line"><span class="meta"> #</span> before using `git add .` or `git add *`, we can exclude the untracked files in `.gitignore` (e.g., `*.<ext>`, `<dir>/`, use `!<file>` for exception).</span><br><span class="line"></span><br><span class="line">git rm <file> # delete the file</span><br><span class="line"> git rm --cached <file> # untrack the file</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">git mv <old name> <new name> # mv = rm+add</span><br><span class="line"></span><br><span class="line">git restore --staged <file> # move staged changes to unstaged changes</span><br><span class="line"> git restore <file> # remove unstaged changes</span><br><span class="line"> </span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>clear the entire staging area</span><br><span class="line">git reset HEAD # move all staged changes to unstaged changes</span><br><span class="line"> git reset --hard HEAD # remove all staged and unstaged changes</span><br></pre></td></tr></table></figure>
</li>
</ol>
<ol>
<li><p><strong>Commit the staged snapshot</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git commit -m "<message>" #new commit node</span><br><span class="line">git commit --amend #old commit node</span><br><span class="line"><span class="meta">#</span>`-a` means staging all the changes of tracked files</span><br><span class="line">git commit -a -m "<message>" </span><br><span class="line">git commit -a --amend</span><br></pre></td></tr></table></figure>
</li>
<li><p><strong>Branch</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git branch #list local branches </span><br><span class="line"> git branch -r # list remote branches</span><br><span class="line"> git branch -a # list both remote branches and local branches</span><br><span class="line"> git branch -vv # list local branches and their tracked remote branches </span><br><span class="line">git branch -d <old_branch> #use -D enforce delete</span><br><span class="line">git checkout <old_branch> #switch to branch $branch </span><br><span class="line">git branch <new_branch> #create a new branch </span><br><span class="line">git checkout -b <new_branch> #switch to a new branch $branch</span><br></pre></td></tr></table></figure>
<p> (a) Imaging there exists a hash table of <code>key:value</code> pairs with branch name as key and commit node as value. When checkout a new branch b1, <code>b1:current-commit-code</code> will be stored in the hash table. When checkout an existing branch b1, you will reach the hashed commit code. In both cases, b1 (HEAD) will be used as the hash key for the next commit node, that is, when you commit next time, <code>b1:new-commit-code</code> will be updated in the hash table.<br> (b) Another perspective is treating the branch name as a pointer to the commit node and each branch is a retrospective history dating back from that node, which is essentially the same as (a).</p>
<p> When checkout to another branch, git status (staged or unstaged modifications) will be transferred to that branch. If there exists file conflicts (operations on common yet different files), checkout will be forbidden. </p>
<p> Besides <code>branch</code>, users can also add <code>tag</code> to each commit node.</p>
<p> <img src="https://i.imgur.com/eZBhlc6.jpg" alt=""></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line"><span class="meta">#</span>assume the current branch is master</span><br><span class="line"><span class="meta">#</span>merge: merge experiment into master</span><br><span class="line"><span class="meta">#</span>master moves one step forward, both experiment and original master are its parents</span><br><span class="line">git merge experiment</span><br><span class="line"><span class="meta">#</span>assume the current branch is experiment</span><br><span class="line"><span class="meta">#</span>rebase: base experiment on master</span><br><span class="line"><span class="meta">#</span>duplicate the nodes between C2 and experiment after master, move experiment to up-to-date</span><br><span class="line">git rebase master</span><br><span class="line"><span class="meta">#</span>in the simple fast-forward case, assume <branch> is ahead of <branch1></span><br><span class="line"><span class="meta">#</span>then, `merge <branch1> <branch2>` and `rebase <branch1> <branch2>` work the same, just move <branch1> to <branch2>.</span><br><span class="line"><span class="meta">#</span>whereas, `merge <branch2> <branch1>` or `rebase <branch2> <branch1>` are not allowed.</span><br></pre></td></tr></table></figure>
</li>
<li><p><strong>Tracking changes</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git status </span><br><span class="line">git log #commit history</span><br><span class="line">git log -n <limit> --stat</span><br><span class="line"> git log --all --graph --oneline # show the tree structure of all branches</span><br><span class="line">git log --grep="<pattern>"</span><br><span class="line">git log --author="John Smith" -p hello.py</span><br><span class="line">git diff #view unstaged modification</span><br><span class="line">git diff --cached #view staged modification</span><br><span class="line">git diff <branch1>..<branch2></span><br><span class="line">git diff <repo>/<branch1>..<branch2></span><br></pre></td></tr></table></figure>
<p>when using <code>git log</code>, it will only show the ancestral commit nodes of current node. </p>
</li>
<li><p><strong>Date back to history</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line"><span class="meta">#</span>revert the operations in <commit> and add one commit node ahead of HEAD</span><br><span class="line"><span class="meta">#</span>revert does not work on file</span><br><span class="line">git revert <commit></span><br><span class="line"><span class="meta">#</span>go back to <commit></span><br><span class="line"><span class="meta">#</span>git checkout <commit> <file> is just copying the <file> in <commit></span><br><span class="line">git checkout <commit> </span><br><span class="line"><span class="meta">#</span>git reset <commit> changes branch name, working directory, and staged index</span><br><span class="line"><span class="meta">#</span>git reset <file> is removing the staged file</span><br><span class="line">git reset --mixed <commit> #default, save the working directory</span><br><span class="line">git reset --soft <commit> #save both working directory and staged index</span><br><span class="line">git reset --hard <commit> #save none, dangerous!</span><br></pre></td></tr></table></figure>
<p>(a) For reset file, there are no options <code>--hard</code> and <code>--soft</code>.<br>(b) For reset commit, after <code>reset --mixed</code> or <code>reset --hard</code>, there are no staged snapshots. After <code>reset --soft</code>, staged snapshots enable the staged index to remain the same. More specifically, at the time before or after <code>reset --soft</code>, if you run <code>git commit</code>, the generated commit node should be the same. </p>
</li>
</ol>
<ol>
<li><p><strong>Communicate with remote repositories</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git remote -v #list remote repositories</span><br><span class="line">git remote add <remote_repo> <remote_address></span><br><span class="line">git branch -r #list the fetched branches of remote repositories</span><br><span class="line"></span><br><span class="line">git fetch <repo> # fetch all of the remote branches</span><br><span class="line">git fetch <repo> <remote_branch>:<local_branch></span><br><span class="line">git checkout -b <new_branch> <repo>/<remote_branch> # Checking out a local copy of specific branch</span><br><span class="line">git pull <repo> <remote_branch>:<local_branch></span><br><span class="line">git push <origin> <local_branch>:<remote_branch></span><br></pre></td></tr></table></figure>
<p>after merging code to address the conflict, use <code>git commit -a -m "$message"</code>, then <code>git push</code>.</p>
<p> <code>git pull</code> is equal to a <code>git fetch</code> followed by a <code>git merge</code>.</p>
</li>
<li><p><strong>Clean working directory</strong></p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git clean -f/d #clean untracked files/directory</span><br><span class="line">git clean -f $path #clean untracked files in $path</span><br><span class="line"><span class="meta">#</span>`git clean` is often used togther with `git reset —hard`</span><br></pre></td></tr></table></figure>
</li>
<li><p><strong>Stashing</strong></p>
<p>If you are working in your repository, and your workflow is interrupted by another project, you can save the current state of your repository (the working directory and the staging index) in the Git stash. When you are ready to start working where you left off, you can restore the stashed repository state. Note that doing a stash gives you a clean working directory, and leaves you at the last commit. </p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">git stash save # stash the current state</span><br><span class="line">git stash list # see what is in the Git stash:</span><br><span class="line">git stash apply # return your stashed state to the working directory</span><br><span class="line">git stash pop # return your stashed state to the working directory and delete it from the stash</span><br></pre></td></tr></table></figure>
<p>Note the commit-tree grows. “git log” prints the path from root to current node. “leave behind” prints the path from current node to the first common ancestor between current node and new node. Detached head will be off any branch, so create a new branch for the detached head. </p>
</li>
</ol>
<p><strong>Tips:</strong></p>
<ol>
<li><code>checkout</code> and <code>reset</code> work on both file and commit with different meanings and usages, while <code>revert</code> only works on commit.</li>
<li><code>reset</code> is often used for cancelling uncommited changes while <code>revert</code> is often used for cancelling commited changes.</li>
<li>Compared with <code>reset</code>, <code>checkout</code> and <code>revert</code> focus on the modification, so they are forbidden in many cases.</li>
</ol>
<p><strong>Github User:</strong></p>
<ol>
<li>create a repository on GitHub</li>
<li>create a local folder</li>
<li><code>git init</code></li>
<li><code>git remote add <remote_repo> <remote_address></code></li>
<li><code>git pull <remote_repo> <remote_branch></code></li>
<li><code>git push --set-upstream <remote_repo> <remote_branch></code></li>
<li>add files</li>
<li><code>git add *</code></li>
<li><code>git commit -m "msg"</code></li>
<li><code>git push</code> </li>
</ol>
<p><strong>Resources:</strong><br>A good Chinese tutorial for git is <a href="http://git.oschina.net/progit/index.html" target="_blank" rel="noopener">here</a>.<br>A good English tutorial for git is <a href="https://www.atlassian.com/git/tutorials/what-is-version-control" target="_blank" rel="noopener">here</a>.</p>
]]></content>
<categories>
<category>software</category>
<category>version control</category>
</categories>
<tags>
<tag>Git</tag>
</tags>
</entry>
<entry>
<title>Ubuntu JDK</title>
<url>/2022/06/16/software/library/Ubuntu%20JDK/</url>
<content><![CDATA[<ol>
<li><p>Remove default OpenJDK</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo apt-get purge openjdk-\*</span><br></pre></td></tr></table></figure>
</li>
<li><p>download jdk(containing jre) and tar.</p>
</li>
<li><p>add into /etc/profile</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">JAVA_HOME="/home/newly/Program_Files/Java/jdk1.8.0_65"</span><br><span class="line">PATH="$PATH:$JAVA_HOME/jre/bin:$JAVA_HOME/bin"</span><br></pre></td></tr></table></figure>
</li>
<li><p>set newly installed jdk as default jdk.</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo update-alternatives --install "/usr/bin/java" "java" "$JAVA_HOME/bin/java" 1</span><br><span class="line">sudo update-alternatives --install "/usr/bin/javac" "javac" "$JAVA_HOME/bin/javac" 1</span><br><span class="line">sudo update-alternatives --install "/usr/bin/javaws" "javaws" "$JAVA_HOME/bin/javaws" 1</span><br></pre></td></tr></table></figure></li>
</ol>
]]></content>
<categories>
<category>software</category>
<category>library</category>
</categories>
<tags>
<tag>Ubuntu</tag>
<tag>JDK</tag>
</tags>
</entry>
<entry>
<title>OpenCV</title>
<url>/2022/06/16/software/library/OpenCV/</url>
<content><![CDATA[<h3 id="Locate-OpenCV"><a href="#Locate-OpenCV" class="headerlink" title="Locate OpenCV:"></a>Locate OpenCV:</h3><figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">pkg-config --modversion opencv //version</span><br><span class="line">pkg-config --cflags opencv //include file path</span><br><span class="line">pkg-config --libs opencv //library path</span><br></pre></td></tr></table></figure>
<h3 id="Uninstall-OpenCV"><a href="#Uninstall-OpenCV" class="headerlink" title="Uninstall OpenCV:"></a>Uninstall OpenCV:</h3><ol>
<li>go to the compile package and <code>make uninstall</code></li>
<li>if cannot find the compile package, <code>sudo find / -name "*opencv*" -exec rm -i {} \;</code></li>
</ol>
<h3 id="Install-OpenCV"><a href="#Install-OpenCV" class="headerlink" title="Install OpenCV:"></a>Install OpenCV:</h3><p><strong>For Windows: C++(Visual Studio)</strong></p>
<ol>
<li>Download latest OpenCV from <a href="http://sourceforge.net/projects/opencvlibrary/?source=typ_redirect" target="_blank" rel="noopener">http://sourceforge.net/projects/opencvlibrary/?source=typ_redirect</a>.</li>
<li>Make a dir named build. Use cmake to generate OpenCV.sln in build.</li>
<li>Click OpenCV.sln and CMakeTargets->INSTALL->build. You can build it in both debug and release modes.</li>
<li>In the environmental variables, add D:\Program Files\OpenCV_3.0.0\build\install\x64\vc11 as OPENCV_DIR, add Path with %OPENCV_DIR%\bin. </li>
<li>Create a OpenCV project. C/C++->General->Additional Include Directories: $(OPENCV_DIR)\..\..\include</li>
<li>Linker->General->Additional Library Directories: $(OPENCV_DIR)\lib</li>
<li>Linker->Input->Additional Dependencies: copy all the lib files. <em>*</em>d.lib means debug mode.</li>
</ol>
<p>Note that there may be some problems for visual studio to recognize the updated environmental variable. Try to restart the visual studio or recreate the project.</p>
<p><strong>For Linux: install for C++</strong></p>
<ol>
<li>pre-install packages<br>[compiler] sudo apt-get install build-essential<br>[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev<br>[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev</li>
<li>download the required version on <a href="https://sourceforge.net/projects/opencvlibrary/" target="_blank" rel="noopener">https://sourceforge.net/projects/opencvlibrary/</a></li>
<li>make and install <figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">mkdir build</span><br><span class="line">cd build</span><br><span class="line">cmake .. //cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..</span><br><span class="line">make</span><br><span class="line">sudo make install</span><br></pre></td></tr></table></figure>
</li>
</ol>
<p>Tips: if you want to install multiple versions of OpenCV, set CMAKE_INSTALL_PREFIX differently for different versions of OpenCV.</p>
<pre><code class="lang-shell">cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
-D PYTHON_EXECUTABLE=/usr/bin/python \
-D BUILD_EXAMPLES=ON ..
</code></pre>
<p>If want to turn off some modules, use <code>-D BUILD_opencv_xfeatures2d=OFF</code> </p>
<p><strong>Switch between different versions of OpenCV:</strong></p>
<p>switch from version 3.2 to version 2.4 <a href="\code\OpenCV\switch_to_2.4.13.sh">shell</a></p>
<p>switch from version 2.4 to version 3.2 <a href="\code\OpenCV\switch_to_3.2.0.sh">shell</a></p>
<p><strong>For Linux: Python(Anaconda)</strong></p>
<pre><code class="lang-shell">source activate tgt_env
conda install -c https://conda.binstar.org/menpo opencv
spyder
</code></pre>
<p>Then try <code>import cv2</code></p>
]]></content>
<categories>
<category>software</category>
<category>library</category>
</categories>
<tags>
<tag>OpenCV</tag>
</tags>
</entry>
<entry>
<title>GStreamer+FFmpeg for Ubuntu14.04</title>
<url>/2022/06/16/software/library/GStreamer+FFmpeg%20for%20Ubuntu14.04/</url>
<content><![CDATA[<ul>
<li><p>Install gst-plugin</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo add-apt-repository ppa:ddalex/gstreamer</span><br><span class="line">sudo apt-get install gstreamer0.10-*</span><br></pre></td></tr></table></figure>
</li>
<li><p>Install gstffmpeg</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo add-apt-repository ppa:mc3man/gstffmpeg-keep</span><br><span class="line">sudo apt-get update</span><br><span class="line">sudo apt-get install gstreamer0.10-ffmpeg</span><br></pre></td></tr></table></figure>
</li>
</ul>
]]></content>
<categories>
<category>software</category>
<category>library</category>
</categories>
<tags>
<tag>GStreamer</tag>
<tag>FFmpeg</tag>
</tags>
</entry>
<entry>
<title>Remote Debugging for Visual Code</title>
<url>/2022/06/16/software/IDE/Remote%20Debugging%20for%20Visual%20Code/</url>
<content><![CDATA[<p>Remote-SSH: Open SSH Configuration File ~/.ssh/config</p>
<p>Host jump-box<br> HostName <ip><br> User <username><br> Port <portnumber></portnumber></username></ip></p>
<p>Host target-box<br> HostName <innerip><br> User <username><br> Port 22<br> ProxyCommand ssh -q -W %h:%p jump-box</username></innerip></p>
<p>Remote Explorer</p>
]]></content>
<categories>
<category>software</category>
<category>IDE</category>
</categories>
<tags>
<tag>Python</tag>
</tags>
</entry>
<entry>
<title>Install JDK and Eclipse</title>
<url>/2022/06/16/software/IDE/Install%20JDK%20and%20Eclipse/</url>
<content><![CDATA[<h3 id="For-Windows"><a href="#For-Windows" class="headerlink" title="For Windows"></a>For Windows</h3><ol>
<li><p>Download Java JDK from <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank" rel="noopener">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a> and install. Note that JDK contains JRE. Modify the following environment variables:</p>
<ul>
<li>add JAVAHOME D:\Program Files (x86)\Java\jdk1.7.051</li>
<li>add Path %JAVA_HOME%\bin;\%JAVA_HOME%\jre\bin;</li>
<li>add CLASSPATH %JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar</li>
</ul>
</li>
<li><p>Download Eclipse from <a href="http://www.eclipse.org/downloads/" target="_blank" rel="noopener">http://www.eclipse.org/downloads/</a> and click eclipse.exe</p>
</li>
</ol>
<h3 id="For-Linux"><a href="#For-Linux" class="headerlink" title="For Linux"></a>For Linux</h3><ol>
<li><p>Install JDK</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo add-apt-repository ppa:webupd8team/java</span><br><span class="line">sudo apt-get update // depending on the needed java version</span><br><span class="line">sudo apt-get install openjdk-7-jdk</span><br><span class="line">or sudo apt-get install openjdk-8-jre openjdk-8-jdk</span><br></pre></td></tr></table></figure>
</li>
<li><p>Download Eclipse and unpack</p>
</li>
<li><p>Create a new file eclipse.desktop in /usr/share/applications/ and add the below code </p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line"> [Desktop Entry]</span><br><span class="line"> Name=Eclipse</span><br><span class="line">Comment=Eclipse IDE</span><br><span class="line">Exec=/home/liniu/Program_Files/Eclipse/eclipse/eclipse</span><br><span class="line">Icon=/home/ivan/Eclipse/icon.xpm</span><br><span class="line">Categories=Application;Development;Java;IDE</span><br><span class="line">Type=Application</span><br><span class="line">Terminal=0</span><br></pre></td></tr></table></figure>
<p>and then run</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo desktop-file-install /usr/share/applications/eclipse.desktop</span><br></pre></td></tr></table></figure>
</li>
<li><p>Add to the path: <code>sudo ln -s /opt/eclipse/eclipse /usr/local/bin/</code></p>
</li>
</ol>
]]></content>
<categories>
<category>software</category>
<category>IDE</category>
</categories>
<tags>
<tag>Eclipse</tag>
<tag>Java</tag>
<tag>JDK</tag>
</tags>
</entry>
<entry>
<title>Ubuntu MATLAB</title>
<url>/2022/06/16/software/Ubuntu%20MATLAB/</url>
<content><![CDATA[<ol>
<li>install by running the sh file</li>
<li>refer to the crack folder</li>
<li>After installation, create a shortcut<br>a) sudo ln -s /usr/local/MATLAB/R2012a/bin/matlab /usr/bin/matlab<br>b) copy the matlab.desktop to /usr/share/applications and matlab.png to /usr/share/icons.</li>
</ol>
<p>Problem:</p>
<ol>
<li><p>/tmp/mathworks……. permission denied</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line"><span class="meta">$</span>cd /Matlab.R2012a.UNIX/sys/java/jre/glnxa64/jre/bin</span><br><span class="line">chmod +x ./java</span><br></pre></td></tr></table></figure>
</li>
<li><p>warning: usr/local/MATLAB/R2012a/bin/util/oscheck.sh: /lib/libc.so.6: not found</p>
<figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">sudo ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6</span><br></pre></td></tr></table></figure>
</li>
</ol>
]]></content>
<categories>
<category>software</category>
</categories>
<tags>
<tag>Ubuntu</tag>
<tag>MATLAB</tag>
</tags>
</entry>
<entry>
<title>Medical Image Format</title>
<url>/2022/06/16/software/Medical%20Image%20Format/</url>
<content><![CDATA[<h3 id="Format"><a href="#Format" class="headerlink" title="Format"></a>Format</h3><ol>
<li><strong>DICOM:</strong> (Digital Imaging and COmmunications in Medicine) meta info + raw data</li>
<li><strong>nrrd:</strong> meta info (e.g., sizes, dimension, encoding, endian) + raw data</li>
</ol>
<p>The meta info in <code>nrrd</code> mainly consists of the format of raw data while the meta info in <code>DICOM</code> contains the detailed information of patient, study, and series.<br>There exist matlab and python functions to read DICOM and nrdd files.</p>
<ul>