多对象批量偏移lisp

时间: 2023-05-12 08:01:38 浏览: 72
多对象批量偏移是一种在CAD软件中常见的操作,它可以快速地将多个对象同时进行偏移。在使用LISP程序进行多对象批量偏移时,我们可以编写一段程序,实现多种操作方式。 首先,我们可以使用LISP语言中的循环语句,依次处理每一个需要偏移的对象。然后,我们可以设置偏移距离和方向,以及偏移的方式(例如向内偏移或向外偏移)。 在实现多对象批量偏移时,还需要注意一些细节。例如,我们需要判断每个对象的类型,以确定它们是否可以进行偏移。另外,我们还需要考虑不同对象之间的关联关系,因为偏移可能会对它们产生影响。 总之,多对象批量偏移LISP程序可以大大提高设计师的工作效率,并减少出错率。在编写此类程序时,我们需要以用户需求为中心,并对程序的功能以及设计进行充分的测试和优化。
相关问题

lisp批量打印代码

Lisp是一种编程语言,可以用来编写代码,并且可以通过一些操作来实现批量打印代码。 首先,我们需要定义一个函数来批量打印代码。假设我们有一个代码列表code-list,我们可以使用循环来遍历这个列表,并将其中的每一项代码打印出来。 代码示例: (defun print-code-list (code-list) (dolist (code code-list) (format t "~a~%" code))) 上述代码中,print-code-list函数接受一个参数code-list,即代码列表。然后我们使用dolist循环遍历这个列表。在循环体中,使用format函数将每一项代码打印出来。这里我们使用~a和~%格式符分别表示输出参数的占位符和换行符。 接下来,我们可以调用print-code-list函数并传入我们需要打印的代码列表进行批量打印。 代码示例: (let ((code-list '("(defun add (a b) (+ a b))" "(defun subtract (a b) (- a b))" "(defun multiply (a b) (* a b))" "(defun divide (a b) (/ a b))"))) (print-code-list code-list)) 在上述代码中,我们定义了一个代码列表code-list,其中包含了四个函数定义。然后我们使用let来定义一个局部变量code-list,并将我们给定的代码列表赋值给它。接着,我们调用print-code-list函数,并将code-list作为参数传递进去,从而实现了对代码列表的批量打印。 总之,通过定义一个批量打印代码的函数,并使用循环遍历代码列表,我们可以实现Lisp的代码批量打印。

autolisp 画多段线

要使用AutoLISP在AutoCAD中画多段线,可以使用LWPOLYLINE命令。下面是一个简单的示例程序: ```lisp (defun c:mline () (setq points '()) ; 创建一个空点列表 (while (setq pt (getpoint "\n输入下一个点或 [闭合(C)]: ")) (setq points (cons pt points)) (if (y-or-n-p "是否闭合多段线?") (progn (setq points (reverse points)) (setq points (append points (list (car points)))) ; 在列表末尾添加第一个点 (setq points (reverse points)) (setq pline (entmakex (list (cons 0 "LWPOLYLINE") (cons 10 (car points)) (cons 90 (length points)) (cons 70 1) (cons 43 0.0) (cons 38 (getvar 'ltscale)) (cons 39 0) (cons 210 (list 0.0 0.0 1.0))))) ; 创建多段线实体 (entmake (list (cons 0 "SEQEND")))) ; 添加SEQEND实体 ) ) (princ) ) ``` 运行程序后,输入多个点,最后选择是否闭合多段线。如果选择闭合,则程序将在多段线末尾添加第一个点,并创建多段线实体。程序还使用了一些实体属性,如点坐标、点数、闭合标志、线宽、线型比例、颜色和方向。

相关推荐

### 回答1: AutoCAD Lisp是一种工具,它利用Lisp语言编写了一系列用于自动CAD软件扩展和定制的代码。 AutoCAD Lisp代码可以通过加载Lisp程序,向AutoCAD软件添加新的命令和功能。这些代码可以通过增加新的命令、修改现有命令或创建新的工具栏按钮来与AutoCAD软件进行交互。AutoCAD Lisp代码通常用于简化重复性的任务,提高设计师的工作效率。 AutoCAD Lisp代码具有以下一些常见的功能和应用: 1. 自定义命令:通过Lisp代码,我们可以编写自定义命令,以执行特定的任务或工作流程。例如,我们可以编写一个Lisp脚本,用于在AutoCAD中创建特定类型的图形模式,而不必手动绘制每个元素。 2. 修改命令行为:Lisp代码还可以用于修改现有的AutoCAD命令的行为。通常,AutoCAD的默认命令行为是通用的,但我们可能需要根据特定项目或需求来调整它们。通过编写Lisp代码,我们可以改变命令的默认行为,以满足我们的需求。 3. 自动化任务:Lisp代码还可以用于自动化执行一系列任务。例如,我们可以编写一个Lisp脚本,批量处理多个AutoCAD文件,而不必逐个文件进行操作。这种自动化可以显著提高工作效率和准确性。 4. 用户界面定制:Lisp代码还可以用于创建自定义的用户界面元素,例如工具栏按钮、菜单和对话框。通过Lisp代码,我们可以添加特定的功能或命令到自定义界面元素,以简化用户的操作。 总而言之,AutoCAD Lisp是一种强大的工具,用于扩展和定制AutoCAD软件。通过编写Lisp代码,我们可以定制命令、修改行为、自动化任务,并创建自定义用户界面元素,以提高AutoCAD设计师的工作效率。 ### 回答2: AutoCAD Lisp 是一种专门用于AutoCAD软件的编程语言,它能够扩展和自定义AutoCAD的功能。使用Lisp代码,我们可以创建自定义的命令,自动化常用的绘图操作,对图形进行修改和处理等。下面举一个简单的例子来说明: 假设我们需要在AutoCAD中创建一个具有特定属性的图形,比如一个长方形。我们可以使用Lisp代码来完成这个任务。首先,我们定义一个新的命令,比如"CREATE_RECTANGLE",然后在代码中实现相应的功能。 首先,我们需要获取用户输入的长和宽,并将其存储在相应的变量中。然后,通过“command”函数调用AutoCAD的绘图命令“RECTANGLE”,并将用户输入的长和宽作为参数传入。接下来,我们使用“last”函数获取到刚刚绘制的长方形的实体对象,并将其存储在一个变量中。 最后,我们可以通过使用属性操作函数来为这个长方形实体设置一些属性,比如颜色、线型等。这样,我们就完成了通过Lisp代码在AutoCAD中创建一个具有特定属性的长方形的任务。 总而言之,AutoCAD Lisp 是一个强大的工具,它可以帮助我们实现各种自定义的功能和操作,从而提高AutoCAD软件的效率和灵活性。无论是简单的绘图操作还是复杂的图形处理,Lisp代码都可以帮助我们实现。只要我们熟悉这种语言的语法和函数,我们就可以自由发挥创造力,并实现各种个性化的需求。 ### 回答3: AutoCAD Lisp代码是一种用于AutoCAD软件的脚本语言,可以通过编写Lisp代码来自动完成一系列绘图操作。 Lisp代码由一系列的函数和表达式组成,在AutoCAD中可以直接输入并执行。通过Lisp代码,我们可以实现诸如创建图形对象、修改图形属性、执行图形操作等功能。 举个例子,如果我们想要在AutoCAD中创建一个圆形,我们可以编写如下的Lisp代码: (defun c:create-circle () (setq center (getpoint "\nEnter center point: ")) (setq radius (getreal "\nEnter radius: ")) (command "circle" center radius) ) 在这个例子中,defun用于定义一个名为c:create-circle的函数,该函数用于创建一个圆形。setq用于设置变量的值,getpoint和getreal用于获取用户输入的点和半径。command用于执行AutoCAD的命令,这里我们使用了circle命令来创建圆形。 通过调用c:create-circle函数,我们可以在AutoCAD中创建一个圆形。可以看到,通过编写Lisp代码,我们可以更加高效地完成一些重复性的绘图操作。 总而言之,AutoCAD Lisp代码是一种用于AutoCAD软件的脚本语言,通过编写Lisp代码,我们可以实现自动化的绘图操作,提高工作效率。
### 回答1: Autolisp是一种用于编写与AutoCAD软件配合使用的自动化程序的编程语言。它可以通过编写脚本来实现一系列自动化操作,如绘制图形、修改属性和执行复杂的计算等。 以下是一个Autolisp案例的示例: 假设我们需要在AutoCAD中绘制一个正方形,并计算它的面积。 首先,我们可以定义一个Autolisp函数来创建一个正方形: (defun draw-square (side-length) (command "line" (list 0 0) (list side-length 0) (list side-length side-length) (list 0 side-length) "close" ) ) 接下来,我们定义另一个函数来计算正方形的面积: (defun calculate-area (side-length) (* side-length side-length) ) 最后,我们可以调用这两个函数来绘制正方形并计算其面积: (setq length 10) ; 定义正方形边长为10个单位 (draw-square length) ; 绘制正方形 (setq area (calculate-area length)) ; 计算正方形的面积 (prompt (strcat "正方形的面积为:" (rtos area))) 这段代码首先定义一个变量length,表示正方形的边长。然后调用draw-square函数,传入边长参数,绘制正方形。接着调用calculate-area函数,传入边长参数,计算正方形的面积。最后,使用prompt函数显示计算得到的面积。 以上就是一个简单的Autolisp案例,展示了如何使用Autolisp编写自动化程序来绘制图形和执行计算操作。 ### 回答2: AutoLISP是一种用于AutoCAD软件的编程语言,它允许用户以自定义的方式自动完成各种任务。下面是一个AutoLISP的案例: 假设我们有一个AutoCAD图纸,其中包含大量的圆形和矩形。我们希望通过编写一个AutoLISP程序来选择所有圆形,并将它们的半径输出到一个文本文件中。 首先,我们需要使用AutoCAD的命令行或者Visual LISP IDE打开AutoLISP编辑器。在编辑器中,我们可以编写我们的程序。 代码如下: (defun c:OutputCircleRadius () (setq output_file (open "C:/CircleRadius.txt" "w")) ; 打开一个文本文件以写入输出 (setq ss (ssget "C" '((0 . "CIRCLE")))) ; 选择所有圆形 (if ss (progn (setq len (sslength ss)) ; 获取选择集中的图形数量 (repeat len (setq entity (ssname ss 0)) ; 获取选择集中的当前图形 (setq radius (cdr (assoc 40 (entget entity)))) ; 获取当前图形的半径 (write-line (rtos radius) output_file) ; 将半径输出到文本文件中 (ssdel entity ss) ; 从选择集中删除当前图形 ) (close output_file) ; 关闭文本文件 (princ "\nCircle radius output completed.") ; 完成输出提示 ) (princ "\nNo circles found in the drawing.") ; 如果没有找到圆形,输出无圆形的提示 ) (princ) ) 通过运行上述程序,我们可以选择所有圆形,并将它们的半径输出到名为"C:/CircleRadius.txt"的文本文件中。如果没有找到圆形,程序将输出一个相应的提示。 以上就是一个简单的AutoLISP案例。通过编写AutoLISP程序,我们可以在AutoCAD软件中自动执行各种任务,从而提高工作效率和准确性。
### 回答1: VisualLISP函数手册是一本包含了VisualLISP编程语言中的各种函数的参考书。VisualLISP是AutoCAD中的一种LISP方言,它可用于扩展AutoCAD的功能以满足用户的具体要求。Visual LISP主要用于自动化工具的编写和Autolisp语言的加强。通过编写VisualLISP函数,用户可以简化并加快AutoCAD中的常见任务,从而提高工作效率。 VisualLISP函数包括了AutoLISP语言中基本的函数以及AutoCAD中独有的函数,如与用户界面、图形对象和数据库的交互函数等。VisualLISP函数手册可以帮助用户深入了解VisualLISP编程语言,并帮助他们了解如何应用函数来解决实际问题。 VisualLISP函数手册按照函数的类型进行分类,如常用函数、图形函数和数据库函数等,使用户可以更快速地找到需要的函数。此外,手册还提供了详细的语法说明和示例代码,帮助用户更好地理解函数的用途。 总的来说,VisualLISP函数手册对于想要使用VisualLISP编程语言扩展AutoCAD功能的用户来说是一个非常有价值的参考书,它可以提高用户的工作效率并帮助他们解决实际问题。 ### 回答2: Visual Lisp是一种Lisp方言,与AutoCAD软件紧密结合,用于为AutoCAD提供自定义特性和工作流程。Visual Lisp函数手册提供了Visual Lisp的所有函数的详细说明。这个手册包含了Lisp的基本语法、自定义函数的定义和使用、变量、控制结构、列表和向量、文件的操作、错误处理和调试工具等。 Visual Lisp是一种强大的编程语言,但它的学习曲线比较陡峭,需要更长的时间来掌握,这使得函数手册成为了很重要的工具。通过函数手册,我们可以结合实例来理解函数的用法,这样可以让我们更好地理解编程概念,提高编程技能。函数手册还提供了大量的示例代码和练习题,可以帮助学习者加深对函数的理解,从而熟练掌握Visual Lisp编程。 需要注意的是,Visual Lisp函数手册包含了很多函数,但是并不是所有的函数都需要掌握,根据具体的需求来选择使用哪些函数来完成任务。同时,不仅要学习函数的使用,还要学会如何编写自己的函数,这样可以最大化地利用Visual Lisp的力量,为AutoCAD实现自定义功能。总之,Visual Lisp函数手册是成为一位优秀的AutoCAD工程师必不可少的资料之一。 ### 回答3: VisualLISP函数手册是一份详细列出了VisualLISP的所有函数、方法和变量的指南。这份手册提供了程序员们在编写AutoLISP程序时所需的全部信息,这些程序用于对AutoCAD进行自定义开发。 VisualLISP函数手册主要分为三部分:函数分类、函数示例和变量列表。在函数分类中,VisualLISP中的所有函数被分为N个类别,如数学函数、字符函数、列表函数等。在每个类别中都包含了相关函数的详细解释,包括函数的语法、参数、返回值和例子。这些信息能够大大降低编程过程中的犯错率,并且能够提高程序员的开发效率。 函数示例部分提供了VisualLISP中常用的一些函数的示例程序,包括程序的代码和执行结果。这些示例能够让程序员更好的理解函数的用途和细节。 在变量列表中,VisualLISP中所有的全局变量、局部变量和数据类型都被列出来,包括变量的命名规则、作用范围、数据类型和默认值等信息。使用这些变量会让程序员更好的组织和控制AutoLISP程序。 总之,VisualLISP函数手册是AutoCAD编程中不可或缺的参考书。它不仅提供了函数的详细信息和示例,而且还可以作为开发中的一个良好指导,使开发人员更好地理解AutoCAD中的AutoLISP开发技术。
LISP语言的开发实例有很多,以下是其中一些例子: 1. Emacs:Emacs是一个非常流行的文本编辑器,它是用LISP语言编写的。Emacs提供了丰富的功能和扩展性,使得它成为程序员和开发人员的首选工具之一。 2. AutoCAD:AutoCAD是一款用于计算机辅助设计和绘图的软件,它的核心部分也是用LISP语言编写的。LISP语言在AutoCAD中被用于自定义命令和功能,使得用户可以根据自己的需求进行定制和扩展。 3. Common Music:Common Music是一个用于音乐创作和演奏的软件,它使用LISP语言作为其编程语言。通过Common Music,用户可以使用LISP语言来编写音乐算法和创作音乐作品。 4. Maxima:Maxima是一个用于数学计算和符号计算的软件,它也是用LISP语言编写的。Maxima提供了丰富的数学函数和算法,可以用于解方程、求导、积分等各种数学计算。 这些都是LISP语言在不同领域中的应用实例,展示了LISP语言的灵活性和强大的功能。无论是文本编辑、计算机辅助设计、音乐创作还是数学计算,LISP语言都能够提供强大的支持和扩展性。 #### 引用[.reference_title] - *1* *2* *3* [Common Lisp编程初步---环境搭建和外部lisp代码运行](https://blog.csdn.net/RobertChenGuangzhi/article/details/51170591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
### 回答1: Lisp(List Processing)是一种具有强大的元编程能力的编程语言,它以列表为基础数据结构,并且拥有一套非常特殊的语法和函数体系。下面是一个有趣的Lisp代码示例: lisp (defun factorial (n) (if (<= n 1) 1 (* n (factorial (- n 1))))) (defun fibonacci (n) (if (<= n 1) n (+ (fibonacci (- n 1)) (fibonacci (- n 2))))) (write-line "输入一个正整数:") (let* ((input (read)) (fact (factorial input)) (fib (fibonacci input))) (format t "输入数字的阶乘为 ~a~%" fact) (format t "输入数字的斐波那契数是 ~a~%" fib)) 这段代码定义了两个函数 factorial 和 fibonacci,分别用来计算输入数字的阶乘和斐波那契数。使用 let* 声明一个变量 input,用户可以在控制台输入一个正整数,并将其赋值给 input。然后,通过调用 factorial 和 fibonacci 函数,计算出输入数字的阶乘和斐波那契数,并通过 format 函数输出结果到控制台。 这段代码的有趣之处在于它展示了Lisp语言的函数式编程特性和强大的递归能力。通过递归调用自身,可以非常简洁地实现复杂的算法,如计算阶乘和斐波那契数。与其他传统编程语言不同,Lisp的元编程能力使得我们可以动态地生成代码和操作代码,这也是它的独特之处。 总结起来,这个有趣的Lisp代码展示了Lisp的函数式编程和元编程能力,通过递归实现了计算输入数字的阶乘和斐波那契数的功能,可以让我们更好地理解和欣赏Lisp这种特殊的编程语言。 ### 回答2: Lisp 是一种编程语言,其具有强大的列表处理能力和直观的语法结构。这使得我们可以编写一些有趣的 Lisp 代码来展示其独特之处。 以下是一个有趣的 Lisp 代码例子,用于计算斐波那契数列: lisp (defun fib (n) (if (<= n 1) n (+ (fib (- n 1)) (fib (- n 2))))) (print (fib 10)) 这段代码定义了一个名为 fib 的函数,用于计算斐波那契数列的第 n 个元素。如果 n 小于等于 1,返回 n;否则,返回前两个斐波那契数列元素的和。最后,通过调用 (print (fib 10)) 来输出斐波那契数列的第 10 个元素。 这段代码简洁明了,利用了 Lisp 的递归和条件表达式,充分展示了 Lisp 语言的优雅性和简洁性。 除此之外,Lisp 还有许多其他有趣的用法,例如利用高阶函数和闭包特性可以编写出非常简洁且功能强大的代码。此外,Lisp 还支持宏(macro)编程,可以用于编写代码生成器,从而可以用于自定义语法扩展和领域特定语言的编程。 ### 回答3: 有趣的Lisp代码有很多种,让我来举几个例子吧: 1. 阶乘函数:通过递归的方式计算给定数字的阶乘。这个代码简洁而富有递归的魅力,可以体现出Lisp的函数式编程特点。 lisp (defun factorial (n) (if (<= n 1) 1 (* n (factorial (- n 1))))) 2. 字符串翻转:通过递归的方式翻转一个字符串。同样地,这个代码展示了Lisp的递归能力和函数式编程的风格。 lisp (defun reverse-string (str) (if (equal str "") "" (concatenate 'string (reverse-string (subseq str 1)) (string (elt str 0))))) (reverse-string "hello") ; 输出 "olleh" 3. 符号解析器:实现一个简单的符号解析器,将表达式拆解成符号的列表,并支持求值的功能。这个代码展示了Lisp强大的元编程特性。 lisp (defun parse (exp) (read-from-string exp)) (defun eval (exp) (eval exp)) (defun eval-expression (exp) (eval (parse exp))) (eval-expression "(+ 1 2)") ; 输出 3 这些代码展示了Lisp的某些特性,例如递归、函数式编程和元编程等,希望能够为你提供一些有趣的Lisp代码示例。

最新推荐

AutoCAD中的DXF参考手册2022版本

图元的数据形式(DXF)想必大家都知道,但是有时候我们就是需要数据信息,用这个作为参考,可以得到你想要的信息。如果你不是CAD小白,再懂点AutoLisp就能够懂得我说的是什么了。

AutoCAD-群码表大全.pdf

AutoCAD-群码表,用LISP生成AUTOCAD对象,AutoCAD-群码表,用LISP生成AUTOCAD对象,AutoCAD-群码表,用LISP生成AUTOCAD对象AutoCAD-群码表,用LISP生成AUTOCAD对象,AutoCAD-群码表,用LISP生成AUTOCAD对象

lisp中文教程 LISP程序语言

以前下载了些lisp教程,很多是英文的,终于得到个中文的。需要的下载吧。

AutoLISP基础知识

AutoLISP是AutoCAD的最佳拍檔! AutoLISP内含于AutoCAD软件内,不用另外花钱买! AutoLISP是强化AutoCAD最好、最直接的『程序语言』! AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人...

Lisp之根源(初学则必看)手册

麦卡锡称这种语言为Lisp, 意为List Processing, 因为他的主要思想之一是用一种简单的数据结构表(list)来代表代码和数据. 值得注意的是,麦卡锡所作的发现,不仅是计算机史上划时代的大事, 而且是一种在我们这个时代...

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

无监督人脸特征传输与检索

1检索样式:无监督人脸特征传输与检索闽金虫1号mchong6@illinois.edu朱文生wschu@google.comAbhishek Kumar2abhishk@google.com大卫·福赛斯1daf@illinois.edu1伊利诺伊大学香槟分校2谷歌研究源源源参考输出参考输出参考输出查询检索到的图像(a) 眼睛/鼻子/嘴(b)毛发转移(c)姿势转移(d)面部特征检索图1:我们提出了一种无监督的方法来将局部面部外观从真实参考图像转移到真实源图像,例如,(a)眼睛、鼻子和嘴。与最先进的[10]相比,我们的方法能够实现照片般逼真的传输。(b) 头发和(c)姿势,并且可以根据不同的面部特征自然地扩展用于(d)语义检索摘要我们提出检索风格(RIS),一个无监督的框架,面部特征转移和检索的真实图像。最近的工作显示了通过利用StyleGAN潜在空间的解纠缠特性来转移局部面部特征的能力。RIS在以下方面改进了现有技术:1)引入

HALCON打散连通域

### 回答1: 要打散连通域,可以使用 HALCON 中的 `connection` 和 `disassemble_region` 函数。首先,使用 `connection` 函数将图像中的连通域连接起来,然后使用 `disassemble_region` 函数将连接后的连通域分离成单独的区域。下面是一个示例代码: ``` read_image(Image, 'example.png') Threshold := 128 Binary := (Image > Threshold) ConnectedRegions := connection(Binary) NumRegions :=

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

无监督身份再识别中的判别表示学习算法及领域适应技术的研究与应用

8526基于判别表示学习的无监督身份再识别Takashi Isobe1,2,Dong Li1,Lu Tian1,Weihua Chen3,Yi Shan1,ShengjinWang2*1 Xilinx Inc.,中国北京2清华大学3阿里巴巴集团{dongl,lutian,yishan}@xilinx.comjbj18@mails.tsinghua.edu.cnwgsg@tsinghua.edu.cnkugang. alibaba-inc.com摘要在这项工作中,我们解决的问题,无监督域适应的人重新ID注释可用于源域,但不为目标。以前的方法通常遵循两阶段优化管道,其中网络首先在源上进行预训练,然后使用通过特征聚类创建的伪标签在目标上进行微调。这种方法存在两个主要局限性。(1)标签噪声可能阻碍用于识别目标类别的区分特征的学习。(2)领域差距可能会阻碍知识从源到目标的转移。我们提出了三种技术方案来缓解(一)(b)第(1)款(c)第(1)款这些问题首先,我们提出了一个集群明智的对比学习算法(CCL)的特征学习和集群精炼的迭代优�