TWI845008B - Method for detecting workpieces based on homogeneous multi-core architecture, and edge computing device - Google Patents

Method for detecting workpieces based on homogeneous multi-core architecture, and edge computing device Download PDF

Info

Publication number
TWI845008B
TWI845008B TW111141829A TW111141829A TWI845008B TW I845008 B TWI845008 B TW I845008B TW 111141829 A TW111141829 A TW 111141829A TW 111141829 A TW111141829 A TW 111141829A TW I845008 B TWI845008 B TW I845008B
Authority
TW
Taiwan
Prior art keywords
area
rotation
detected
workpiece
preset
Prior art date
Application number
TW111141829A
Other languages
Chinese (zh)
Other versions
TW202420224A (en
Inventor
王正峯
林立哲
林延宜
Original Assignee
鴻海精密工業股份有限公司
Filing date
Publication date
Application filed by 鴻海精密工業股份有限公司 filed Critical 鴻海精密工業股份有限公司
Publication of TW202420224A publication Critical patent/TW202420224A/en
Application granted granted Critical
Publication of TWI845008B publication Critical patent/TWI845008B/en

Links

Abstract

The present application provides a method for detecting workpieces based on a homogeneous multi-core architecture, and an edge computing device. The method includes: obtaining an image of a workpiece to be detected, identifying an area to be detected corresponding to the workpiece to be detected in the image; obtaining a rotation accuracy and a plurality of initial rotation angles by dividing a preset rotation angle, rotating the area to be detected based on each of the plurality of initial rotation angles and obtaining a rotation region corresponding to each of the plurality of initial rotation angles; calculating a similarity value of each rotation region with a preset qualified area, determining the largest similarity value as a target similarity value; in respond that the rotation accuracy is greater than or equal to a preset accuracy, identifying whether the workpiece to be detected is a qualified workpiece according to the target similarity value and a preset similarity. By utilizing the present application, the detection speed of the workpiece can be increased.

Description

基於同質多核心架構的工件檢測方法及邊緣運算設備 Workpiece detection method and edge computing equipment based on homogeneous multi-core architecture

本申請涉及機器視覺領域,尤其涉及一種基於同質多核心架構的工件檢測方法及邊緣運算設備。 This application relates to the field of machine vision, and in particular to a workpiece detection method and edge computing device based on a homogeneous multi-core architecture.

在目前的工件檢測方案中,通常使用機器視覺工控機進行檢測,由於機器視覺工控機的運算速度緩慢,導致工件的檢測速度不高。 In the current workpiece inspection scheme, machine vision industrial computers are usually used for inspection. Due to the slow computing speed of machine vision industrial computers, the inspection speed of workpieces is not high.

鑒於以上內容,有必要提供一種基於同質多核心架構的工件檢測方法及邊緣運算設備,能夠提高工件的檢測速度。 In view of the above, it is necessary to provide a workpiece detection method and edge computing device based on a homogeneous multi-core architecture to improve the detection speed of workpieces.

本申請提供一種基於同質多核心架構的工件檢測方法,應用於邊緣運算設備,所述方法包括:獲取待檢測工件的待檢測圖像,識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域,基於預設旋轉角度對所述待檢測區域進行旋轉操作,得到所述預設旋轉角度對應的旋轉精度以及目標相似值,包括:對所述預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度,基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域,計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值,若所述旋轉精度大於或者等於預設精度,根 據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件。 The present application provides a workpiece detection method based on a homogeneous multi-core architecture, which is applied to an edge computing device. The method includes: obtaining an image of a workpiece to be detected, identifying an area to be detected corresponding to the workpiece to be detected in the image to be detected, rotating the area to be detected based on a preset rotation angle, and obtaining a rotation accuracy and a target similarity value corresponding to the preset rotation angle, including: dividing the preset rotation angle to obtain the rotation accuracy and target similarity value. The rotation accuracy and multiple initial rotation angles are determined, and the area to be detected is rotated based on each initial rotation angle to obtain the rotation area corresponding to each initial rotation angle, and the similarity value between each rotation area and the preset qualified area is calculated, and the maximum similarity value is determined as the target similarity value. If the rotation accuracy is greater than or equal to the preset accuracy, the target similarity value and the preset similarity threshold value are used to identify whether the workpiece to be detected is a qualified workpiece.

根據本申請可選實施例,所述識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域包括:將所述待檢測圖像中大於預設閥值的像素值所對應的像素點確定為目標像素點,將多個所述目標像素點構成的區域確定為特徵區域,基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域。 According to an optional embodiment of the present application, the identification of the area to be inspected corresponding to the workpiece to be inspected in the image to be inspected includes: determining the pixel points corresponding to the pixel values greater than the preset threshold value in the image to be inspected as target pixels, determining the area formed by multiple target pixels as a feature area, and determining the area to be inspected from multiple feature areas based on the qualified area.

根據本申請可選實施例,所述基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域包括:識別所述特徵區域的特徵形狀,並計算所述特徵區域的特徵面積,計算所述特徵形狀與所述合格區域的合格形狀之間的形狀誤差,並計算所述特徵面積與所述合格區域的合格面積之間的面積誤差,將處於第一預設誤差範圍的形狀誤差以及處於第二預設誤差範圍的面積誤差所對應的特徵區域確定為所述待檢測區域。 According to an optional embodiment of the present application, the step of determining the area to be detected from the plurality of feature areas based on the qualified area includes: identifying the feature shape of the feature area, calculating the feature area of the feature area, calculating the shape error between the feature shape and the qualified shape of the qualified area, and calculating the area error between the feature area and the qualified area of the qualified area, and determining the feature area corresponding to the shape error within the first preset error range and the area error within the second preset error range as the area to be detected.

根據本申請可選實施例,所述基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域包括:根據所述邊緣運算設備的處理器的核心數量以及處於閒置狀態的執行緒的數量構建執行緒,並將構建的執行緒及所述閒置狀態的執行緒確定為設備執行緒,根據每個初始旋轉角度及預設指令,生成所述待檢測區域的多個旋轉任務,並將所述多個旋轉任務載入至任務佇列中,基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務,調用每個設備執行緒對應的旋轉任務,得到所述旋轉區域。 According to an optional embodiment of the present application, the region to be detected is rotated based on each initial rotation angle to obtain a rotation region corresponding to each initial rotation angle, including: constructing a thread according to the number of cores of the processor of the edge computing device and the number of idle threads, and determining the constructed thread and the idle thread as the device thread, according to each initial rotation angle and a preset instruction, Generate multiple rotation tasks for the area to be detected, and load the multiple rotation tasks into the task queue. Based on the number of execution threads of the device execution thread, the number of tasks of the multiple rotation tasks, and the state of the device execution thread, dynamically allocate the rotation tasks in the task queue to obtain the rotation task corresponding to each device execution thread, call the rotation task corresponding to each device execution thread, and obtain the rotation area.

根據本申請可選實施例,所述基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務包括:若所述任務數量小於或者等於所述執行緒數量,將每個旋轉任務分配至一設備執行緒,或者,若所述任務數量大於所述執行緒數量,按照所述多個旋轉任務在所述任務佇列中的順序,為每個設備執行緒分配一旋轉任務,並在任一設備執行緒執 行完當前旋轉任務時繼續分配下一旋轉任務,直至所述任務佇列中的旋轉任務全部分配完成。 According to an optional embodiment of the present application, the rotation tasks in the task queue are dynamically allocated based on the number of execution threads of the device execution thread, the number of tasks of the multiple rotation tasks and the state of the device execution thread, and the rotation tasks corresponding to each device execution thread are obtained, including: if the number of tasks is less than or equal to the number of execution threads, each rotation task is allocated; Assign to a device execution thread, or, if the number of tasks is greater than the number of execution threads, assign a rotation task to each device execution thread according to the order of the multiple rotation tasks in the task queue, and continue to assign the next rotation task when any device execution thread completes the current rotation task, until all the rotation tasks in the task queue are assigned.

根據本申請可選實施例,所述根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件包括:將所述目標相似值與所述預設相似閥值進行比較,若所述目標相似值大於或者等於所述預設相似閥值,確定所述待檢測工件為合格工件,或者,若所述目標相似值小於所述預設相似閥值,確定所述待檢測工件為不合格工件。 According to an optional embodiment of the present application, the step of identifying whether the workpiece to be inspected is a qualified workpiece based on the target similarity value and the preset similarity valve value includes: comparing the target similarity value with the preset similarity valve value, and if the target similarity value is greater than or equal to the preset similarity valve value, determining that the workpiece to be inspected is a qualified workpiece, or, if the target similarity value is less than the preset similarity valve value, determining that the workpiece to be inspected is an unqualified workpiece.

根據本申請可選實施例,若所述旋轉精度小於所述預設精度,所述方法還包括:根據所述目標相似值對應的初始旋轉角度及所述旋轉精度生成目標旋轉角度,基於所述目標旋轉角度重複對所述待檢測區域進行旋轉操作,直至所述旋轉精度大於或者等於所述預設精度。 According to an optional embodiment of the present application, if the rotation accuracy is less than the preset accuracy, the method further includes: generating a target rotation angle according to the initial rotation angle corresponding to the target similarity value and the rotation accuracy, and repeatedly rotating the area to be detected based on the target rotation angle until the rotation accuracy is greater than or equal to the preset accuracy.

根據本申請可選實施例,在根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件之後,所述方法還包括:將所述目標相似值對應的初始旋轉角度確定為夾取角度,獲取所述待檢測圖像對應的拍攝設備的內參矩陣,基於所述內參矩陣以及所述待檢測圖像的像素點的像素值計算所述待檢測工件的夾取點位置,根據所述夾取角度以及所述夾取點位置,控制夾取設備將所述待檢測工件夾取至預設區域。 According to an optional embodiment of the present application, after identifying whether the workpiece to be inspected is a qualified workpiece according to the target similarity value and the preset similarity threshold value, the method further includes: determining the initial rotation angle corresponding to the target similarity value as the clamping angle, obtaining the internal reference matrix of the shooting device corresponding to the image to be inspected, calculating the clamping point position of the workpiece to be inspected based on the internal reference matrix and the pixel values of the pixel points of the image to be inspected, and controlling the clamping device to clamp the workpiece to be inspected to the preset area according to the clamping angle and the clamping point position.

本申請提供一種邊緣運算設備,所述邊緣運算設備包括:儲存器,儲存至少一個指令;及多核處理器,執行所述至少一個指令以實現所述的基於同質多核心架構的工件檢測方法。 This application provides an edge computing device, which includes: a memory storing at least one instruction; and a multi-core processor executing the at least one instruction to implement the workpiece detection method based on a homogeneous multi-core architecture.

本申請提供一種電腦可讀儲存介質,所述電腦可讀儲存介質中儲存有至少一個指令,所述至少一個指令被邊緣運算設備中的多核處理器執行以實現所述的基於同質多核心架構的工件檢測方法。 This application provides a computer-readable storage medium, in which at least one instruction is stored, and the at least one instruction is executed by a multi-core processor in an edge computing device to implement the workpiece detection method based on a homogeneous multi-core architecture.

由以上技術方案可以看出,本申請使用邊緣運算設備替代傳統的 機器視覺工控機(Industrial Personal Computer,IPC),由於所述邊緣運算設備的成本比所述機器視覺工控機低,因此能夠降低工件檢測的成本。透過識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域,能夠初步檢測出所述待檢測圖像中可能包含所述待檢測工件的待檢測區域;對預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度,對所述預設旋轉角度的劃分可以靈活設置;基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域,計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值,由於所述邊緣運算設備包括多核心的中央處理器,所有的核心都具有相同的架構,在每個單位時間內,所述多核心的中央處理器能夠調用多個執行緒多個旋轉任務,因此,能夠提高所述旋轉區域以及所述目標相似值的生成速度。若所述旋轉精度大於或者等於預設精度,能夠直接根據所述目標相似值與所述預設相似閥值的比較結果快速地識別所述待檢測工件是否為合格工件,因此,能夠提高工件的檢測速度。若所述旋轉精度小於預設精度,需要對所述預設旋轉角度進行更新,並基於目標旋轉角度即更新後的預設旋轉角度對所述待檢測區域進行重複旋轉操作,透過不斷進行旋轉操作,能夠提高所述旋轉精度,使得所述旋轉精度對應的初始旋轉角度更加精確,基於精確度更高的初始旋轉角度能夠對合格的待檢測工件進行準確的夾取。 It can be seen from the above technical solutions that the present application uses edge computing equipment to replace the traditional machine vision industrial personal computer (IPC). Since the cost of the edge computing equipment is lower than that of the machine vision industrial personal computer, the cost of workpiece detection can be reduced. By identifying the area to be detected corresponding to the workpiece to be detected in the image to be detected, the area to be detected in the image to be detected that may contain the workpiece to be detected can be preliminarily detected; the preset rotation angle is divided to obtain the rotation accuracy and multiple initial rotation angles, and the division of the preset rotation angle can be flexibly set; the area to be detected is rotated based on each initial rotation angle to obtain each initial rotation angle. The edge computing device includes a multi-core central processing unit, and all cores have the same architecture. In each unit time, the multi-core central processing unit can call multiple threads and multiple rotation tasks, so the generation speed of the rotation area and the target similarity value can be improved. If the rotation accuracy is greater than or equal to the preset accuracy, it can be directly based on the comparison result of the target similarity value and the preset similarity threshold value to quickly identify whether the workpiece to be detected is a qualified workpiece, so the detection speed of the workpiece can be improved. If the rotation accuracy is less than the preset accuracy, the preset rotation angle needs to be updated, and the area to be inspected is repeatedly rotated based on the target rotation angle, i.e. the updated preset rotation angle. By continuously rotating, the rotation accuracy can be improved, so that the initial rotation angle corresponding to the rotation accuracy is more accurate. Based on the more accurate initial rotation angle, qualified workpieces to be inspected can be accurately clamped.

1:邊緣運算設備 1: Edge computing devices

12:儲存器 12: Storage

13:多核處理器 13: Multi-core processor

101~104:步驟 101~104: Steps

圖1是本申請實施例提供的基於同質多核心架構的工件檢測方法的流程圖。 Figure 1 is a flow chart of a workpiece detection method based on a homogeneous multi-core architecture provided by an embodiment of the present application.

圖2是本申請實施例提供的邊緣運算設備的多個邏輯核心的利用率的示意圖。 Figure 2 is a schematic diagram of the utilization of multiple logic cores of the edge computing device provided by the embodiment of the present application.

圖3是本申請實施例提供的待檢測工件的示意圖。 Figure 3 is a schematic diagram of the workpiece to be tested provided by the embodiment of this application.

圖4是本申請實施例提供的基於同質多核心架構的工件檢測方法的邊緣運算設備的結構示意圖。 FIG4 is a schematic diagram of the structure of the edge computing device of the workpiece detection method based on the homogeneous multi-core architecture provided by the embodiment of the present application.

為了使本申請的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本申請進行詳細描述。 In order to make the purpose, technical solution and advantages of this application clearer, this application is described in detail below with reference to the attached drawings and specific embodiments.

所述基於同質多核心架構的工件檢測方法可應用於一個或者多個邊緣運算設備1中。所述邊緣運算設備1是一種能夠按照事先設定或儲存的指令,自動進行參數值計算和/或資訊處理的設備,其硬體包括,但不限於:微處理器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯閘陣列(Field-Programmable Gate Array,FPGA)、數位訊號處理器(Digital Signal Processor,DSP)、嵌入式設備等。 The workpiece detection method based on homogeneous multi-core architecture can be applied to one or more edge computing devices 1. The edge computing device 1 is a device that can automatically perform parameter value calculation and/or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to: microprocessor, application specific integrated circuit (ASIC), programmable logic gate array (FPGA), digital signal processor (DSP), embedded device, etc.

所述邊緣運算設備1可以是任何一種可與用戶進行人機交互的電子產品,例如,個人電腦、平板電腦、智慧手機、個人數位助理(Personal Digital Assistant,PDA)、遊戲機、互動式網路電視(Internet Protocol Television,IPTV)、穿戴式智能設備等。 The edge computing device 1 can be any electronic product that can interact with the user, such as a personal computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a game console, an interactive network television (IPTV), a wearable smart device, etc.

所述邊緣運算設備1還可以包括網路設備和/或使用者設備。其中,所述網路設備包括,但不限於單個網路伺服器、多個網路伺服器組成的伺服器組或基於雲計算(Cloud Computing)的由大量主機或網路伺服器構成的雲。 The edge computing device 1 may also include network devices and/or user devices. The network devices include, but are not limited to, a single network server, a server group consisting of multiple network servers, or a cloud consisting of a large number of hosts or network servers based on cloud computing.

所述邊緣運算設備1所處的網路包括,但不限於:網際網路、廣域網路、都會區網路、區域網路、虛擬私人網路(Virtual Private Network,VPN)等。 The network where the edge computing device 1 is located includes, but is not limited to: the Internet, wide area network, metropolitan area network, local area network, virtual private network (VPN), etc.

如圖1所示,是本申請實施例提供的基於同質多核心架構的工件檢測方法的流程圖。根據不同的需求,所述流程圖中各個步驟的順序可以根據實際檢測要求進行調整,某些步驟可以省略。所述方法的執行主體為邊緣運算設備。 As shown in FIG1 , it is a flow chart of a workpiece detection method based on a homogeneous multi-core architecture provided by an embodiment of the present application. According to different requirements, the order of each step in the flow chart can be adjusted according to the actual detection requirements, and some steps can be omitted. The execution subject of the method is an edge computing device.

步驟101,獲取待檢測工件的待檢測圖像。 Step 101, obtain the image of the workpiece to be inspected.

在本申請的至少一個實施例中,所述待檢測工件可以為任意元件或者零部件。 In at least one embodiment of the present application, the workpiece to be inspected can be any element or component.

在本申請的至少一個實施例中,所述邊緣運算設備控制拍攝設備對所述待檢測工件進行拍攝,得到所述待檢測圖像。 In at least one embodiment of the present application, the edge computing device controls the photographing device to photograph the workpiece to be inspected to obtain the image to be inspected.

其中,所述拍攝設備為具備拍攝錄影功能的設備,所述拍攝設備可以固定的拍攝設備或者所述拍攝設備還可以是與夾取設備連動的設備。例如,所述拍攝設備可以為相機或者攝像頭等。 The shooting device is a device with shooting and video recording functions. The shooting device can be a fixed shooting device or a device connected to a clamping device. For example, the shooting device can be a camera or a video camera, etc.

在本實施例中,使用邊緣運算設備替代傳統的機器視覺工控機(Industrial Personal Computer,IPC),由於所述邊緣運算設備的成本比所述機器視覺工控機低,因此能夠降低工件檢測的成本。 In this embodiment, an edge computing device is used to replace a traditional machine vision industrial personal computer (IPC). Since the cost of the edge computing device is lower than that of the machine vision industrial personal computer, the cost of workpiece detection can be reduced.

步驟102,識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域。 Step 102, identifying the area to be inspected corresponding to the workpiece to be inspected in the image to be inspected.

在本申請的至少一個實施例中,所述邊緣運算設備識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域包括: 所述邊緣運算設備將所述待檢測圖像中大於預設閥值的像素值所對應的像素點確定為目標像素點,將多個所述目標像素點構成的區域確定為特徵區域,基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域。 In at least one embodiment of the present application, the edge operation device identifies the area to be detected corresponding to the workpiece to be detected in the image to be detected, including: The edge operation device determines the pixel points corresponding to the pixel values in the image to be detected that are greater than the preset threshold value as target pixels, determines the area formed by multiple target pixels as a feature area, and determines the area to be detected from multiple feature areas based on the qualified area.

其中,所述邊緣運算設備在識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域之前,還可以對所述待檢測圖像進行預處理,所述預處理包括二值化、均衡化(equalization)等操作。所述預設閥值可以自行設備,本申請對此不作限制。 Among them, the edge operation device can also pre-process the image to be detected before identifying the corresponding area to be detected of the workpiece to be detected in the image to be detected, and the pre-processing includes binarization, equalization and other operations. The preset valve value can be set by yourself, and this application does not limit this.

在本實施例中,所述合格區域為合格的工件在對應的合格圖像中的區域,所述合格區域的生成方式與所述待檢測區域的生成方式基本相同,故本申請對此不作贅述。 In this embodiment, the qualified area is the area of the qualified workpiece in the corresponding qualified image. The generation method of the qualified area is basically the same as the generation method of the area to be tested, so this application will not elaborate on this.

其中,所述合格的工件為與所述待檢測工件同一類別的合格的元 件或者零部件。 Wherein, the qualified workpiece is a qualified element or component of the same category as the workpiece to be tested.

具體地,所述邊緣運算設備基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域包括: 所述邊緣運算設備識別所述特徵區域的特徵形狀,並計算所述特徵區域的特徵面積,進一步地,所述邊緣運算設備計算所述特徵形狀與所述合格區域的合格形狀之間的形狀誤差,並計算所述特徵面積與所述合格區域的合格面積之間的面積誤差,更進一步地,所述邊緣運算設備將處於第一預設誤差範圍的形狀誤差以及處於第二預設誤差範圍的面積誤差所對應的特徵區域確定為所述待檢測區域。 Specifically, the edge operation device determines the area to be detected from the plurality of feature areas based on the qualified area, including: The edge operation device identifies the feature shape of the feature area and calculates the feature area of the feature area. Further, the edge operation device calculates the shape error between the feature shape and the qualified shape of the qualified area, and calculates the area error between the feature area and the qualified area of the qualified area. Further, the edge operation device determines the feature area corresponding to the shape error within the first preset error range and the area error within the second preset error range as the area to be detected.

其中,所述第一預設誤差範圍可以自行設置,本申請對此不作限制。例如,所述第一預設範圍區域可以為[0.1,0.2]。所述第二預設誤差範圍可以自行設置,本申請對此不作限制。例如,所述第二預設範圍區域可以為[0,0.1]。 Among them, the first preset error range can be set by yourself, and this application does not limit this. For example, the first preset range area can be [0.1, 0.2]. The second preset error range can be set by yourself, and this application does not limit this. For example, the second preset range area can be [0, 0.1].

具體地,所述邊緣運算設備識別所述特徵區域的特徵形狀包括: 所述邊緣運算設備使用邊緣檢測演算法檢測所述待檢測區域的邊緣像素點,進一步地,所述邊緣運算設備將多個所述邊緣像素點構成的輪廓確定為所述特徵形狀。 Specifically, the edge calculation device identifies the feature shape of the feature area including: The edge calculation device uses an edge detection algorithm to detect edge pixels of the area to be detected, and further, the edge calculation device determines the contour formed by a plurality of edge pixels as the feature shape.

例如,所述邊緣檢測演算法可以為canny演算法。 For example, the edge detection algorithm may be a Canny algorithm.

在本實施例中,透過將落入第一預設誤差範圍的形狀誤差與落入第二預設誤差範圍的面積誤差對應的特徵區域確定為所述待檢測區域,能夠確保所述待檢測區域為包含待檢測工件的圖像區域。 In this embodiment, by determining the feature area corresponding to the shape error falling within the first preset error range and the area error falling within the second preset error range as the area to be detected, it can be ensured that the area to be detected is an image area containing the workpiece to be detected.

步驟103,基於預設旋轉角度對所述待檢測區域進行旋轉操作,得到所述預設旋轉角度對應的旋轉精度以及目標相似值,包括:對所述預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度;基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域; 計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值。 Step 103, rotating the area to be detected based on a preset rotation angle to obtain the rotation accuracy and target similarity value corresponding to the preset rotation angle, including: dividing the preset rotation angle to obtain the rotation accuracy and multiple initial rotation angles; rotating the area to be detected based on each initial rotation angle to obtain a rotation area corresponding to each initial rotation angle; Calculating the similarity value between each rotation area and the preset qualified area, and determining the maximum similarity value as the target similarity value.

在本申請的至少一個實施例中,所述邊緣運算設備將所述預設旋轉角度與預設數值的比值確定為所述旋轉精度。第一個初始旋轉角度為預設初始角度與所述旋轉精度的相加之和,除了所述第一個初始旋轉角度之外的任一個初始旋轉角度為前一個初始旋轉角度與所述旋轉精度的相加之和。其中,所述預設初始角度以及所述預設數值可以自行設置,所述預設旋轉角度通常為360度。 In at least one embodiment of the present application, the edge computing device determines the ratio of the preset rotation angle to the preset value as the rotation accuracy. The first initial rotation angle is the sum of the preset initial angle and the rotation accuracy, and any initial rotation angle other than the first initial rotation angle is the sum of the previous initial rotation angle and the rotation accuracy. The preset initial angle and the preset value can be set by yourself, and the preset rotation angle is usually 360 degrees.

在本申請的其它實施例中,所述預設數值為所述核心數量時,則所述多個初始旋轉角度的數量為所述核心數量的倍數。 In other embodiments of the present application, when the preset value is the number of cores, the number of the multiple initial rotation angles is a multiple of the number of cores.

例如,若所述預設初始角度為0度,所述預設旋轉角度為360度,所述預設數值為9,所述預設旋轉角度360度與所述預設數值9的比值為40,則所述旋轉精度為40度,所述多個初始旋轉角度依次為40度、80度、120度、160度、200度、240度、280度、320度以及360度。 For example, if the default initial angle is 0 degrees, the default rotation angle is 360 degrees, the default value is 9, and the ratio of the default rotation angle 360 degrees to the default value 9 is 40, then the rotation accuracy is 40 degrees, and the multiple initial rotation angles are 40 degrees, 80 degrees, 120 degrees, 160 degrees, 200 degrees, 240 degrees, 280 degrees, 320 degrees, and 360 degrees, respectively.

在本申請的至少一個實施例中,所述邊緣運算設備基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域包括:所述邊緣運算設備根據所述邊緣運算設備的處理器的核心數量以及處於閒置狀態的執行緒的數量構建執行緒,並將構建的執行緒及所述閒置狀態的執行緒確定為設備執行緒,所述邊緣運算設備根據每個初始旋轉角度及預設指令,生成所述待檢測區域的多個旋轉任務,並將所述多個旋轉任務載入至任務佇列中,進一步地,所述邊緣運算設備基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務,更進一步地,所述邊緣運算設備調用每個設備執行緒對應的旋轉任務,得到所述旋轉區域。 In at least one embodiment of the present application, the edge computing device rotates the area to be detected based on each initial rotation angle, and the rotation area corresponding to each initial rotation angle includes: the edge computing device constructs an execution thread according to the number of cores of the processor of the edge computing device and the number of execution threads in an idle state, and determines the constructed execution thread and the execution thread in the idle state as the device execution thread, and the edge computing device generates an execution thread according to each initial rotation angle and a preset instruction. The edge computing device generates multiple rotation tasks for the area to be detected, and loads the multiple rotation tasks into a task queue. Further, the edge computing device dynamically allocates the rotation tasks in the task queue based on the number of execution threads of the device thread, the number of tasks of the multiple rotation tasks, and the state of the device thread to obtain the rotation task corresponding to each device thread. Furthermore, the edge computing device calls the rotation task corresponding to each device thread to obtain the rotation area.

其中,所述預設指令為將所述待檢測區域進行旋轉的指令,所述預設指令可以自行設置,本申請對此不作限制。所述核心數量為所述邊緣運算設備的中央處理器的核心的數量。所述設備執行緒的狀態包括:工作狀態及閒置狀態等等。 The default instruction is an instruction to rotate the area to be detected. The default instruction can be set by yourself, and this application does not limit this. The number of cores is the number of cores of the central processing unit of the edge computing device. The state of the device execution thread includes: working state and idle state, etc.

在本實施例中,所述邊緣運算設備計算所述核心數量與所述邊緣運算設備中狀態為閒置的執行緒的數量之間的數量差值,並構建數量與所述數量差值相同的新執行緒,得到所述設備執行緒。其中,所述設備執行緒的數量與所述核心數量相同,每個設備執行緒與核心一一對應。 In this embodiment, the edge computing device calculates the difference between the number of cores and the number of idle threads in the edge computing device, and constructs a new thread with the same number as the difference to obtain the device thread. The number of device threads is the same as the number of cores, and each device thread corresponds to a core one by one.

在本實施例中,所述邊緣運算設備包括多核心的中央處理器,每個核心並非真正的物理運算核心,而是使用多執行緒技術根據傳統的中央處理器中空閒的執行單元類比出的多個邏輯核心,例如,所述多執行緒技術可以為:超執行緒(Hyper-Threading,HT)技術。其中,所述傳統的中央處理器為運算力較弱的中央處理器,例如,所述傳統的中央處理器可以為複雜指令集電腦(Complex Instruction Set Computer,CISC)的中央處理器。使用所述多執行緒技術能夠類比出多個邏輯核心,使得運算力弱的中央處理器也能夠進行工件檢測,從而提高了中央處理器的適用性。此外,所有的核心都具有相同的架構,在每個單位時間內,所述多核心的中央處理器能夠調用多個執行緒多個旋轉任務,因此,能夠提高所述旋轉區域以及所述目標相似值的生成速度。 In this embodiment, the edge computing device includes a multi-core central processing unit, each core of which is not a real physical computing core, but a plurality of logical cores analogized from idle execution units in a traditional central processing unit using multi-thread technology. For example, the multi-thread technology may be: Hyper-Threading (HT) technology. The traditional central processing unit is a central processing unit with weak computing power. For example, the traditional central processing unit may be a central processing unit of a complex instruction set computer (CISC). The use of the multi-thread technology can analogize a plurality of logical cores, so that a central processing unit with weak computing power can also perform workpiece detection, thereby improving the applicability of the central processing unit. In addition, all cores have the same architecture, and the multi-core CPU can call multiple threads and multiple rotation tasks per unit time, thereby increasing the speed of generating the rotation area and the target similarity value.

具體地,所述邊緣運算設備基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務包括:若所述任務數量小於或者等於所述執行緒數量,所述邊緣運算設備將每個旋轉任務分配至一設備執行緒,或者,若所述任務數量大於所述執行緒數量,所述邊緣運算設備按照所述多個旋轉任務在所述任務佇列中的順序,為每個設備執行緒分配一旋轉任務,並在任一設備執行緒執行完當前旋轉任務 時繼續分配下一旋轉任務,直至所述任務佇列中的旋轉任務全部分配完成。 Specifically, the edge computing device dynamically allocates the rotation tasks in the task queue based on the number of execution threads of the device execution thread, the number of tasks of the multiple rotation tasks and the state of the device execution thread, and obtains the rotation tasks corresponding to each device execution thread, including: if the number of tasks is less than or equal to the number of execution threads, the edge computing device allocates each rotation task or, if the number of tasks is greater than the number of threads, the edge computing device allocates a rotation task to each device thread in the order of the multiple rotation tasks in the task queue, and continues to allocate the next rotation task when any device thread completes the current rotation task, until all the rotation tasks in the task queue are allocated.

其中,若所述任務數量小於或者等於所述執行緒數量,所述邊緣運算設備可以按照所述多個旋轉任務在所述任務佇列中的順序將每個旋轉任務分配至一設備執行緒,或者,所述邊緣運算設備也可以隨機地將每個旋轉任務分配至一設備執行緒。 Wherein, if the number of tasks is less than or equal to the number of threads, the edge computing device may assign each rotation task to a device thread according to the order of the multiple rotation tasks in the task queue, or the edge computing device may randomly assign each rotation task to a device thread.

透過上述實施方式,基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到旋轉區域,能夠確定出與所述合格區域最相似的旋轉區域所對應的初始旋轉角度。 Through the above implementation, the area to be detected is rotated based on each initial rotation angle to obtain a rotated area, and the initial rotation angle corresponding to the rotated area most similar to the qualified area can be determined.

具體地,每個旋轉區域與預設的合格區域的相似值的計算公式為:

Figure 111141829-A0305-02-0012-1
c 1=(K 1 L)2c 2=(K 2 L)2;其中,SSIM(x,y)表示所述相似值,x表示所述旋轉區域,y表示所述合格區域,μ x 表示所述旋轉區域的灰度平均值,μ y 表示所述合格區域的灰度平均值,σ x 表示所述旋轉區域的灰度標準差,σ y 表示所述合格區域的灰度標準差,σ xy 表示所述旋轉區域與所述合格區域之間的灰度協方差,c 1c 2均表示維持所述相似值中的分母不為零的參數,L表示所述合格區域中像素點的最大像素值,K 1K 2是預先設置的常數,且K 1≪1,K 2≪1。 Specifically, the calculation formula for the similarity value between each rotation area and the preset qualified area is:
Figure 111141829-A0305-02-0012-1
c 1 =( K 1 L ) 2 ; c 2 =( K 2 L ) 2 ; wherein, SSIM ( x, y ) represents the similarity value, x represents the rotated area, y represents the qualified area, μ x represents the grayscale average value of the rotated area, μ y represents the grayscale average value of the qualified area, σ x represents the grayscale standard deviation of the rotated area, σ y represents the grayscale standard deviation of the qualified area, σ xy represents the grayscale covariance between the rotated area and the qualified area, c 1 and c 2 both represent parameters for maintaining the denominator in the similarity value not being zero, L represents the maximum pixel value of the pixel points in the qualified area, K 1 and K 2 are preset constants, and K 1 ≪1, K 2 ≪1.

在本實施例中,使用單指令多資料流程(Single Instruction Multiple Data,SIMD)或者圖形處理器通用計算(General-purpose computing on graphics processing units,GPGPU)等硬體加速演算法對所述相似值進行計算,所述單指令多資料流程演算法中一條指令能夠處理多條資料。 In this embodiment, hardware acceleration algorithms such as Single Instruction Multiple Data (SIMD) or General-purpose computing on graphics processing units (GPGPU) are used to calculate the similarity value. In the SIMD algorithm, one instruction can process multiple data.

例如,如圖2所示,是本申請實施例提供的邊緣運算設備的多個邏輯核心的利用率的示意圖。在圖2中,所述邊緣運算設備的中央處理器共有24個邏輯核心,圖2展示了所述24個邏輯核心的利用率,其中,24個邏輯核 心中,8個邏輯核心的利用率可以達到100%,16個邏輯核心的利用率接近100%,邏輯核心的利用率達到或者接近100%表明所述邊緣運算設備中所有的邏輯核心都能夠得到有效利用,充分發揮了所述邊緣運算設備的運算性能,因此能夠提高所述旋轉區域以及所述目標相似值的生成速度。 For example, as shown in FIG2, it is a schematic diagram of the utilization of multiple logic cores of the edge computing device provided by the embodiment of the present application. In FIG2, the central processing unit of the edge computing device has a total of 24 logic cores, and FIG2 shows the utilization of the 24 logic cores, wherein, among the 24 logic cores, the utilization of 8 logic cores can reach 100%, and the utilization of 16 logic cores is close to 100%. The utilization of the logic cores reaches or approaches 100%, indicating that all the logic cores in the edge computing device can be effectively utilized, and the computing performance of the edge computing device is fully utilized, so that the generation speed of the rotation area and the target similarity value can be improved.

透過上述實施方式,將最大的相似值確定為所述目標相似值,所述目標相似值能夠表徵所述待檢測區域與所述合格區域之間最大的相似度,因此,透過所述目標相似值能夠準確識別所述待檢測工件是否為合格的工件。 Through the above implementation, the maximum similarity value is determined as the target similarity value, and the target similarity value can represent the maximum similarity between the area to be detected and the qualified area. Therefore, the target similarity value can accurately identify whether the workpiece to be detected is a qualified workpiece.

步驟104,若所述旋轉精度大於或者等於預設精度,根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件。 Step 104: If the rotation accuracy is greater than or equal to the preset accuracy, identify whether the workpiece to be inspected is a qualified workpiece based on the target similarity value and the preset similarity valve value.

本申請的至少一個實施例中,所述預設精度可以自行設置,本申請對此不作限制。例如,所述預設精度可以為0.5度或者1度等等。 In at least one embodiment of this application, the preset accuracy can be set by yourself, and this application does not limit this. For example, the preset accuracy can be 0.5 degrees or 1 degree, etc.

本申請的至少一個實施例中,所述邊緣運算設備根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件包括:所述邊緣運算設備將所述目標相似值與所述預設相似閥值進行比較,若所述目標相似值大於或者等於所述預設相似閥值,所述邊緣運算設備確定所述待檢測工件為合格工件,或者,若所述目標相似值小於所述預設相似閥值,所述邊緣運算設備確定所述待檢測工件為不合格工件。 In at least one embodiment of the present application, the edge computing device identifies whether the workpiece to be detected is a qualified workpiece according to the target similarity value and the preset similarity valve value, including: the edge computing device compares the target similarity value with the preset similarity valve value, if the target similarity value is greater than or equal to the preset similarity valve value, the edge computing device determines that the workpiece to be detected is a qualified workpiece, or, if the target similarity value is less than the preset similarity valve value, the edge computing device determines that the workpiece to be detected is an unqualified workpiece.

其中,所述預設相似閥值可以自行設置,本申請對此不作限制。例如,所述預設相似閥值可以包括,但不限於:0.8、0.85及0.9等等。 The preset similar valve value can be set by yourself, and this application does not limit this. For example, the preset similar valve value can include, but is not limited to: 0.8, 0.85 and 0.9, etc.

本實施例中,當所述旋轉精度達到預設精度時,直接將大於所述預設相似閥值的目標相似值所對應的待檢測工件確定為合格工件,因此,能夠快速地識別出合格工件。 In this embodiment, when the rotation accuracy reaches the preset accuracy, the workpiece to be inspected corresponding to the target similarity value greater than the preset similarity valve value is directly determined as a qualified workpiece, so that the qualified workpiece can be quickly identified.

在本申請的實施例中,若所述旋轉精度小於所述預設精度,所述方法還包括:所述邊緣運算設備根據所述目標相似值對應的初始旋轉角度及所 述旋轉精度生成目標旋轉角度,進一步地,所述邊緣運算設備基於所述目標旋轉角度重複對所述待檢測區域進行旋轉操作,直至所述旋轉精度大於或者等於所述預設精度。 In an embodiment of the present application, if the rotation accuracy is less than the preset accuracy, the method further includes: the edge operation device generates a target rotation angle according to the initial rotation angle corresponding to the target similarity value and the rotation accuracy, and further, the edge operation device repeatedly rotates the area to be detected based on the target rotation angle until the rotation accuracy is greater than or equal to the preset accuracy.

具體地,所述邊緣運算設備根據所述目標相似值對應的初始旋轉角度及所述旋轉精度生成目標旋轉角度包括:所述邊緣運算設備計算所述目標相似值對應的初始旋轉角度與所述旋轉精度的角度差值,並計算所述目標相似值對應的初始旋轉角度與所述旋轉精度的角度總和,進一步地,所述邊緣運算設備將所述角度總和與所述角度差值之間的差值確定為所述目標旋轉角度。 Specifically, the edge operation device generates the target rotation angle according to the initial rotation angle corresponding to the target similarity value and the rotation accuracy, including: the edge operation device calculates the angle difference between the initial rotation angle corresponding to the target similarity value and the rotation accuracy, and calculates the angle sum of the initial rotation angle corresponding to the target similarity value and the rotation accuracy, and further, the edge operation device determines the difference between the angle sum and the angle difference as the target rotation angle.

例如,承接上述實施例,若所述目標相似值對應的初始旋轉角度為160度,則160度與所述旋轉精度40的角度差值為120,則160度與所述旋轉精度40的角度總和為200,所述邊緣運算設備將所述角度總和200與所述角度差值120之間的差值80確定為所述目標旋轉角度。 For example, following the above embodiment, if the initial rotation angle corresponding to the target similarity value is 160 degrees, the angle difference between 160 degrees and the rotation accuracy of 40 is 120, and the angle sum of 160 degrees and the rotation accuracy of 40 is 200. The edge calculation device determines the difference of 80 between the angle sum of 200 and the angle difference of 120 as the target rotation angle.

在本實施例中,若所述旋轉精度大於或者等於預設精度,根據所述目標相似值對應的初始旋轉角度及所述旋轉精度生成目標旋轉角度,並基於所述目標旋轉角度重複對所述待檢測區域進行旋轉操作,透過不斷進行旋轉操作,能夠提高所述旋轉精度,使得所述旋轉精度對應的初始旋轉角度更加精確,從而能夠對合格的待檢測工件進行準確夾取。 In this embodiment, if the rotation accuracy is greater than or equal to the preset accuracy, the target rotation angle is generated according to the initial rotation angle corresponding to the target similarity value and the rotation accuracy, and the area to be inspected is repeatedly rotated based on the target rotation angle. By continuously performing the rotation operation, the rotation accuracy can be improved, so that the initial rotation angle corresponding to the rotation accuracy is more accurate, so that the qualified workpiece to be inspected can be accurately clamped.

本申請的至少一個實施例中,在根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件之後,所述方法還包括:所述邊緣運算設備將所述目標相似值對應的初始旋轉角度確定為夾取角度,並獲取所述待檢測圖像對應的拍攝設備的內參矩陣,進一步地,所述邊緣運算設備基於所述內參矩陣以及所述待檢測圖像的像素點的像素值計算所述待檢測工件的夾取點位置,更進一步地,所述邊緣運算設備根據所述夾取角度以及所述夾取點位置,控制夾取設備將所述待檢測工件夾取至預設區域。 In at least one embodiment of the present application, after identifying whether the workpiece to be inspected is a qualified workpiece according to the target similarity value and the preset similarity threshold value, the method further includes: the edge operation device determines the initial rotation angle corresponding to the target similarity value as the clamping angle, and obtains the internal reference matrix of the shooting device corresponding to the image to be inspected. Further, the edge operation device calculates the clamping point position of the workpiece to be inspected based on the internal reference matrix and the pixel values of the pixel points of the image to be inspected. Further, the edge operation device controls the clamping device to clamp the workpiece to be inspected to the preset area according to the clamping angle and the clamping point position.

其中,所述預設區域可以自行設置,本申請對此不作限制。例如,所述預設區域可以為存放合格工件的區域。 The preset area can be set by yourself, and this application does not limit this. For example, the preset area can be an area for storing qualified workpieces.

如圖3所示,是本申請實施例提供的待檢測工件的示意圖。圖3中的4個待檢測工件均為合格工件,分別為合格工件1、合格工件2、合格工件3以及合格工件4,所述合格工件1的夾取點位置為(69.5,115.7)mm,所述合格工件1的夾取角度(手臂角度)為82.3度,所述合格工件1對應的目標相似值score為0.842,所述合格工件2的夾取點位置為(39.6,56.3)mm,所述合格工件2的夾取角度(手臂角度)為350.6度,所述合格工件2對應的目標相似值score為0.809,所述合格工件3的夾取點位置為(110.5,106.9)mm,所述合格工件3的夾取角度(手臂角度)為24.2度,所述合格工件3對應的目標相似值score為0.887,所述合格工件4的夾取點位置為(103.3,85.5)mm,所述合格工件4的夾取角度(手臂角度)為239.5度,所述合格工件4對應的目標相似值score為0.815,所述邊緣運算設備根據每個合格工件對應的夾取點位置以及夾取角度,控制夾取設備將圖3中的4個合格工件夾取至預設區域。 As shown in FIG3, it is a schematic diagram of the workpiece to be inspected provided by the embodiment of the present application. The four workpieces to be inspected in FIG3 are all qualified workpieces, namely, qualified workpiece 1, qualified workpiece 2, qualified workpiece 3, and qualified workpiece 4. The clamping point position of the qualified workpiece 1 is (69.5, 115.7) mm, the clamping angle (arm angle) of the qualified workpiece 1 is 82.3 degrees, and the target similarity score corresponding to the qualified workpiece 1 is 0.842. The clamping point position of the qualified workpiece 2 is (39.6, 56.3) mm, the clamping angle (arm angle) of the qualified workpiece 2 is 350.6 degrees, and the target similarity score corresponding to the qualified workpiece 2 is 0.809. The clamping point position of the qualified workpiece 3 is (110.5, 106.9) mm, the clamping angle (arm angle) of the qualified workpiece 3 is 24.2 degrees, and the target similarity score corresponding to the qualified workpiece 3 is 0.887. The clamping point position of the qualified workpiece 4 is (103.3, 85.5) mm, the clamping angle (arm angle) of the qualified workpiece 4 is 239.5 degrees, and the target similarity score corresponding to the qualified workpiece 4 is 0.815. The edge calculation device controls the clamping device to clamp the four qualified workpieces in Figure 3 to the preset area according to the clamping point position and clamping angle corresponding to each qualified workpiece.

由以上技術方案可以看出,本申請使用邊緣運算設備替代傳統的機器視覺工控機(Industrial Personal Computer,IPC),由於所述邊緣運算設備的成本比所述機器視覺工控機低,因此能夠降低工件檢測的成本。透過識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域,能夠初步檢測出所述待檢測圖像中可能包含所述待檢測工件的待檢測區域;對預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度,對所述預設旋轉角度的劃分可以靈活設置;基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域,計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值,由於所述邊緣運算設備包括多核心的中央處理器,所有的核心都具有相同的架構,在每個單位時間內,所述多核心的中央處理器能夠調用多個執行緒多個旋轉任務,因此,能夠提高所述旋轉區域以及所述目標相似值的生成速度。若所述旋轉精度大於或者等於預設精度,能 夠直接根據所述目標相似值與所述預設相似閥值的比較結果快速地識別所述待檢測工件是否為合格工件,因此,能夠提高工件的檢測速度。若所述旋轉精度小於預設精度,需要對所述預設旋轉角度進行更新,並基於目標旋轉角度即更新後的預設旋轉角度對所述待檢測區域進行重複旋轉操作,透過不斷進行旋轉操作,能夠提高所述旋轉精度,使得所述旋轉精度對應的初始旋轉角度更加精確,基於精確度更高的初始旋轉角度能夠對合格的待檢測工件進行準確的夾取。 It can be seen from the above technical solutions that the present application uses edge computing equipment to replace the traditional machine vision industrial personal computer (IPC). Since the cost of the edge computing equipment is lower than that of the machine vision industrial personal computer, the cost of workpiece detection can be reduced. By identifying the area to be detected corresponding to the workpiece to be detected in the image to be detected, the area to be detected in the image to be detected that may contain the workpiece to be detected can be preliminarily detected; the preset rotation angle is divided to obtain the rotation accuracy and multiple initial rotation angles, and the division of the preset rotation angle can be flexibly set; the area to be detected is rotated based on each initial rotation angle to obtain each initial rotation angle. The edge computing device includes a multi-core central processing unit, and all cores have the same architecture. In each unit time, the multi-core central processing unit can call multiple threads and multiple rotation tasks, so the generation speed of the rotation area and the target similarity value can be improved. If the rotation accuracy is greater than or equal to the preset accuracy, it can be directly identified whether the workpiece to be detected is a qualified workpiece based on the comparison result of the target similarity value and the preset similarity threshold value. Therefore, the detection speed of the workpiece can be improved. If the rotation accuracy is less than the preset accuracy, the preset rotation angle needs to be updated, and the area to be inspected is repeatedly rotated based on the target rotation angle, i.e. the updated preset rotation angle. By continuously rotating, the rotation accuracy can be improved, so that the initial rotation angle corresponding to the rotation accuracy is more accurate. Based on the more accurate initial rotation angle, qualified workpieces to be inspected can be accurately clamped.

如圖4所示,是本申請實施例提供的基於同質多核心架構的工件檢測方法的邊緣運算設備的結構示意圖。 As shown in FIG4 , it is a schematic diagram of the structure of the edge computing device of the workpiece detection method based on the homogeneous multi-core architecture provided by the embodiment of the present application.

在本申請的一個實施例中,所述邊緣運算設備1包括,但不限於,儲存器12、多核處理器13,以及儲存在所述儲存器12中並可在所述多核處理器13上運行的電腦程式,例如工件檢測程式。 In one embodiment of the present application, the edge computing device 1 includes, but is not limited to, a memory 12, a multi-core processor 13, and a computer program stored in the memory 12 and executable on the multi-core processor 13, such as a workpiece detection program.

本領域技術人員可以理解,所述示意圖僅僅是邊緣運算設備1的示例,並不構成對邊緣運算設備1的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述邊緣運算設備1還可以包括輸入輸出設備、網路接入設備、匯流排等。 Those skilled in the art can understand that the schematic diagram is only an example of the edge computing device 1 and does not constitute a limitation on the edge computing device 1. It can include more or fewer components than shown in the diagram, or combine certain components, or different components. For example, the edge computing device 1 can also include input and output devices, network access devices, buses, etc.

所述多核處理器13可以是中央處理單元(Central Processing Unit,CPU),還可以是其他通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯閘陣列(Field-Programmable Gate Array,FPGA)或者其他可程式設計邏輯元件、分立元件門電路或者電晶體組件、分立硬體組件等。通用處理器可以是微處理器或者所述多核處理器也可以是任何常規的處理器等,所述多核處理器13是所述邊緣運算設備1的運算核心和控制中心,利用各種介面和線路連接整個邊緣運算設備1的各個部分,及獲取所述邊緣運算設備1的作業系統以及安裝的各類應用程式、程式碼等。 The multi-core processor 13 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic components, discrete component gate circuits or transistor components, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the multi-core processor can also be any conventional processor, etc. The multi-core processor 13 is the computing core and control center of the edge computing device 1, and uses various interfaces and lines to connect various parts of the entire edge computing device 1, and obtain the operating system of the edge computing device 1 and various installed applications, program codes, etc.

所述多核處理器13獲取所述邊緣運算設備1的作業系統以及安裝 的各類應用程式。所述多核處理器13獲取所述應用程式以實現上述各個基於同質多核心架構的工件檢測方法實施例中的步驟,例如圖1所示的步驟。 The multi-core processor 13 obtains the operating system of the edge computing device 1 and various installed applications. The multi-core processor 13 obtains the applications to implement the steps in the above-mentioned workpiece detection method embodiments based on a homogeneous multi-core architecture, such as the steps shown in FIG. 1.

示例性的,所述電腦程式可以被分割成一個或多個模組/單元,所述一個或者多個模組/單元被儲存在所述儲存器12中,並由所述多核處理器13獲取,以完成本申請。所述一個或多個模組/單元可以是能夠完成特定功能的一系列電腦程式指令段,所述指令段用於描述所述電腦程式在所述邊緣運算設備1中的獲取過程。 Exemplarily, the computer program can be divided into one or more modules/units, which are stored in the memory 12 and acquired by the multi-core processor 13 to complete the present application. The one or more modules/units can be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the acquisition process of the computer program in the edge computing device 1.

所述儲存器12可用於儲存所述電腦程式和/或模組,所述多核處理器13透過運行或獲取儲存在所述儲存器12內的電腦程式和/或模組,以及調用儲存在儲存器12內的資料,實現所述邊緣運算設備1的各種功能。所述儲存器12可主要包括儲存程式區和儲存資料區,其中,儲存程式區可儲存作業系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;儲存資料區可儲存根據邊緣運算設備的使用所創建的資料等。此外,儲存器12可以包括非易失性儲存器,例如硬碟、記憶體(memory)、插接式硬碟,智慧儲存卡(Smart Media Card,SMC),安全數位(Secure Digital,SD)卡,記憶卡(Flash Card)、至少一個磁碟儲存元件、儲存器元件、或其他非易失性固態儲存元件。 The memory 12 can be used to store the computer program and/or module, and the multi-core processor 13 realizes various functions of the edge computing device 1 by running or obtaining the computer program and/or module stored in the memory 12, and calling the data stored in the memory 12. The memory 12 can mainly include a program storage area and a data storage area, wherein the program storage area can store the operating system, at least one application required for a function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the edge computing device, etc. In addition, the storage 12 may include non-volatile storage, such as a hard disk, memory, plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, at least one disk storage element, storage element, or other non-volatile solid-state storage element.

所述儲存器12可以是邊緣運算設備1的外部儲存器和/或內部儲存器。進一步地,所述儲存器12可以是具有實物形式的儲存器,如記憶條、TF卡(Trans-flash Card)等等。 The memory 12 may be an external memory and/or an internal memory of the edge computing device 1. Furthermore, the memory 12 may be a physical memory, such as a memory stick, a TF card (Trans-flash Card), etc.

所述邊緣運算設備1集成的模組/單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存介質中。基於這樣的理解,本申請實現上述實施例方法中的全部或部分流程,也可以透過電腦程式來指令相關的硬體來完成,所述的電腦程式可儲存於一電腦可讀儲存介質中,所述電腦程式在被多核處理器獲取時,可實現上述各個方法實施例的步驟。 If the module/unit integrated in the edge computing device 1 is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is acquired by a multi-core processor, the steps of the above-mentioned method embodiments can be implemented.

其中,所述電腦程式包括電腦程式代碼,所述電腦程式代碼可以為原始程式碼形式、物件代碼形式、可獲取檔或某些中間形式等。所述電腦可讀介質可以包括:能夠攜帶所述電腦程式代碼的任何實體或裝置、記錄介質、隨身碟、移動硬碟、磁碟、光碟、電腦儲存器、唯讀記憶體(ROM,Read-Only Memory)。 The computer program includes computer program code, which may be in source code form, object code form, retrievable file or some intermediate form. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, flash drive, mobile hard drive, magnetic disk, optical disk, computer storage, read-only memory (ROM).

結合圖1,所述邊緣運算設備1中的所述儲存器12儲存多個指令以實現一種基於同質多核心架構的工件檢測方法,所述多核處理器13可獲取所述多個指令從而實現:獲取待檢測工件的待檢測圖像;識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域;基於預設旋轉角度對所述待檢測區域進行旋轉操作,得到所述預設旋轉角度對應的旋轉精度以及目標相似值,包括:對所述預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度;基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域;計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值;若所述旋轉精度大於或者等於預設精度,根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件。 In conjunction with FIG1 , the memory 12 in the edge computing device 1 stores a plurality of instructions to implement a workpiece detection method based on a homogeneous multi-core architecture, and the multi-core processor 13 can obtain the plurality of instructions to implement: obtaining an image to be detected of the workpiece to be detected; identifying an area to be detected corresponding to the workpiece to be detected in the image to be detected; rotating the area to be detected based on a preset rotation angle to obtain a rotation accuracy corresponding to the preset rotation angle and a target similarity value, including: The preset rotation angle is divided to obtain the rotation accuracy and multiple initial rotation angles; the area to be detected is rotated based on each initial rotation angle to obtain the rotation area corresponding to each initial rotation angle; the similarity value between each rotation area and the preset qualified area is calculated, and the maximum similarity value is determined as the target similarity value; if the rotation accuracy is greater than or equal to the preset accuracy, whether the workpiece to be detected is a qualified workpiece is identified according to the target similarity value and the preset similarity threshold value.

具體地,所述多核處理器13對上述指令的具體實現方法可參考圖1對應實施例中相關步驟的描述,在此不贅述。 Specifically, the specific implementation method of the multi-core processor 13 for the above instructions can refer to the description of the relevant steps in the corresponding embodiment of Figure 1, which will not be elaborated here.

在本申請所提供的幾個實施例中,應所述理解到,所揭露的系統,裝置和方法,可以透過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。 In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules is only a logical function division, and there may be other division methods in actual implementation.

所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。 The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of this embodiment.

另外,在本申請各個實施例中的各功能模組可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。 In addition, each functional module in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional modules.

因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本申請的範圍由所附請求項而不是上述說明限定,因此旨在將落在請求項的等同要件的含義和範圍內的所有變化涵括在本申請內。不應將請求項中的任何附關聯圖標記視為限制所涉及的請求項。 Therefore, no matter from which point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present application is limited by the attached claims rather than the above description, so it is intended to include all changes within the meaning and scope of the equivalent elements of the claims in the present application. Any attached figure mark in the claims should not be regarded as limiting the claims involved.

此外,顯然“包括”一詞不排除其他單元或步驟,單數不排除複數。本申請中陳述的多個單元或裝置也可以由一個單元或裝置透過軟體或者硬體來實現。第一、第二等詞語用來表示名稱,而並不表示任何特定的順序。 In addition, it is obvious that the word "including" does not exclude other units or steps, and the singular does not exclude the plural. The multiple units or devices described in this application can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any specific order.

最後應說明的是,以上實施例僅用以說明本申請的技術方案而非限制,儘管參照較佳實施例對本申請進行了詳細說明,本領域的普通技術人員應當理解,可以對本申請的技術方案進行修改或等同替換,而不脫離本申請技術方案的精神和範圍。 Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of this application and are not limiting. Although this application is described in detail with reference to the preferred embodiments, ordinary technicians in this field should understand that the technical solution of this application can be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of this application.

101~104:步驟 101~104: Steps

Claims (10)

一種基於同質多核心架構的工件檢測方法,應用於邊緣運算設備,其中,所述方法包括:獲取待檢測工件的待檢測圖像;識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域;基於預設旋轉角度對所述待檢測區域進行旋轉操作,得到所述預設旋轉角度對應的旋轉精度以及目標相似值,包括:對所述預設旋轉角度進行劃分,得到所述旋轉精度以及多個初始旋轉角度,包括:將所述預設旋轉角度與所述邊緣運算設備的核心數量之間的比值確定為所述旋轉精度,並依據預設初始角度與所述旋轉精度計算多個初始旋轉角度;基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域;計算每個旋轉區域與預設的合格區域的相似值,並將最大的相似值確定為所述目標相似值;若所述旋轉精度大於或者等於預設精度,根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件。 A workpiece detection method based on a homogeneous multi-core architecture is applied to an edge computing device, wherein the method includes: obtaining an image of a workpiece to be detected; identifying an area to be detected corresponding to the workpiece to be detected in the image to be detected; rotating the area to be detected based on a preset rotation angle to obtain a rotation accuracy and a target similarity value corresponding to the preset rotation angle, including: dividing the preset rotation angle to obtain the rotation accuracy and multiple initial rotation angles, including: comparing the preset rotation angle with the edge computing device to obtain a rotation accuracy and a target similarity value; The ratio between the number of cores of the computing device and the rotation accuracy is determined as the rotation accuracy, and multiple initial rotation angles are calculated according to the preset initial angle and the rotation accuracy; the area to be detected is rotated based on each initial rotation angle to obtain the rotation area corresponding to each initial rotation angle; the similarity value between each rotation area and the preset qualified area is calculated, and the maximum similarity value is determined as the target similarity value; if the rotation accuracy is greater than or equal to the preset accuracy, whether the workpiece to be detected is a qualified workpiece is identified according to the target similarity value and the preset similarity threshold value. 如請求項1所述的基於同質多核心架構的工件檢測方法,其中,所述識別所述待檢測工件在所述待檢測圖像中對應的待檢測區域包括:將所述待檢測圖像中大於預設閥值的像素值所對應的像素點確定為目標像素點;將多個所述目標像素點構成的區域確定為特徵區域;基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域。 As described in claim 1, the workpiece detection method based on a homogeneous multi-core architecture, wherein the identification of the area to be detected corresponding to the workpiece to be detected in the image to be detected includes: determining the pixel points corresponding to the pixel values greater than the preset threshold value in the image to be detected as target pixels; determining the area formed by multiple target pixels as a feature area; based on the qualified area, determining the area to be detected from multiple feature areas. 如請求項2所述的基於同質多核心架構的工件檢測方法,其中,所述基於所述合格區域,從多個所述特徵區域確定出所述待檢測區域包括:識別所述特徵區域的特徵形狀,並計算所述特徵區域的特徵面積;計算所述特徵形狀與所述合格區域的合格形狀之間的形狀誤差,並計算所述特徵面積與所述合格區域的合格面積之間的面積誤差; 將處於第一預設誤差範圍的形狀誤差以及處於第二預設誤差範圍的面積誤差所對應的特徵區域確定為所述待檢測區域。 As described in claim 2, the workpiece detection method based on a homogeneous multi-core architecture, wherein the step of determining the area to be detected from the plurality of feature areas based on the qualified area includes: identifying the feature shape of the feature area and calculating the feature area of the feature area; calculating the shape error between the feature shape and the qualified shape of the qualified area, and calculating the area error between the feature area and the qualified area of the qualified area; Determining the feature area corresponding to the shape error within the first preset error range and the area error within the second preset error range as the area to be detected. 如請求項1所述的基於同質多核心架構的工件檢測方法,其中,所述基於每個初始旋轉角度對所述待檢測區域進行旋轉,得到每個初始旋轉角度對應的旋轉區域包括:根據所述邊緣運算設備的處理器的核心數量以及處於閒置狀態的執行緒的數量構建執行緒,並將構建的執行緒及所述閒置狀態的執行緒確定為設備執行緒;根據每個初始旋轉角度及預設指令,生成所述待檢測區域的多個旋轉任務,並將所述多個旋轉任務載入至任務佇列中;基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務;調用每個設備執行緒對應的旋轉任務,得到所述旋轉區域。 As described in claim 1, the workpiece detection method based on a homogeneous multi-core architecture, wherein the area to be detected is rotated based on each initial rotation angle to obtain a rotation area corresponding to each initial rotation angle, including: constructing an execution thread according to the number of cores of the processor of the edge computing device and the number of execution threads in an idle state, and determining the constructed execution thread and the execution thread in the idle state as the device execution thread; according to each initial rotation angle, angle and preset instructions, generate multiple rotation tasks for the area to be detected, and load the multiple rotation tasks into the task queue; based on the number of execution threads of the device execution thread, the number of tasks of the multiple rotation tasks and the state of the device execution thread, dynamically allocate the rotation tasks in the task queue to obtain the rotation tasks corresponding to each device execution thread; call the rotation tasks corresponding to each device execution thread to obtain the rotation area. 如請求項4所述的基於同質多核心架構的工件檢測方法,其中,所述基於所述設備執行緒的執行緒數量、所述多個旋轉任務的任務數量及所述設備執行緒的狀態,對所述任務佇列中的旋轉任務進行動態分配,得到每個設備執行緒對應的旋轉任務包括:若所述任務數量小於或者等於所述執行緒數量,將每個旋轉任務分配至一設備執行緒;或者若所述任務數量大於所述執行緒數量,按照所述多個旋轉任務在所述任務佇列中的順序,為每個設備執行緒分配一旋轉任務,並在任一設備執行緒執行完當前旋轉任務時繼續分配下一旋轉任務,直至所述任務佇列中的旋轉任務全部分配完成。 As described in claim 4, the workpiece detection method based on a homogeneous multi-core architecture, wherein the rotation tasks in the task queue are dynamically allocated based on the number of execution threads of the device execution thread, the number of tasks of the multiple rotation tasks and the state of the device execution thread, and the rotation tasks corresponding to each device execution thread are obtained, including: if the number of tasks is less than or equal to the execution thread If the number of tasks is greater than the number of threads, a rotation task is assigned to each device thread according to the order of the multiple rotation tasks in the task queue, and the next rotation task is assigned when any device thread completes the current rotation task, until all the rotation tasks in the task queue are assigned. 如請求項1所述的基於同質多核心架構的工件檢測方法,其中,所述根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格 工件包括:將所述目標相似值與所述預設相似閥值進行比較;若所述目標相似值大於或者等於所述預設相似閥值,確定所述待檢測工件為合格工件;或者若所述目標相似值小於所述預設相似閥值,確定所述待檢測工件為不合格工件。 As described in claim 1, the workpiece detection method based on a homogeneous multi-core architecture, wherein the identification of whether the workpiece to be detected is a qualified workpiece based on the target similarity value and the preset similarity valve value includes: comparing the target similarity value with the preset similarity valve value; if the target similarity value is greater than or equal to the preset similarity valve value, determining that the workpiece to be detected is a qualified workpiece; or if the target similarity value is less than the preset similarity valve value, determining that the workpiece to be detected is an unqualified workpiece. 如請求項1所述的基於同質多核心架構的工件檢測方法,其中,若所述旋轉精度小於所述預設精度,所述方法還包括:根據所述目標相似值對應的初始旋轉角度及所述旋轉精度生成目標旋轉角度;基於所述目標旋轉角度重複對所述待檢測區域進行旋轉操作,直至所述旋轉精度大於或者等於所述預設精度。 As described in claim 1, the workpiece detection method based on a homogeneous multi-core architecture, wherein if the rotation accuracy is less than the preset accuracy, the method further comprises: generating a target rotation angle according to the initial rotation angle corresponding to the target similarity value and the rotation accuracy; and repeatedly rotating the area to be detected based on the target rotation angle until the rotation accuracy is greater than or equal to the preset accuracy. 如請求項1所述的基於同質多核心架構的工件檢測方法,其中,在根據所述目標相似值及預設相似閥值識別所述待檢測工件是否為合格工件之後,所述方法還包括:將所述目標相似值對應的初始旋轉角度確定為夾取角度;獲取所述待檢測圖像對應的拍攝設備的內參矩陣;基於所述內參矩陣以及所述待檢測圖像的像素點的像素值計算所述待檢測工件的夾取點位置;根據所述夾取角度以及所述夾取點位置,控制夾取設備將所述待檢測工件夾取至預設區域。 As described in claim 1, the workpiece detection method based on a homogeneous multi-core architecture, wherein, after identifying whether the workpiece to be detected is a qualified workpiece according to the target similarity value and the preset similarity threshold value, the method further includes: determining the initial rotation angle corresponding to the target similarity value as the clamping angle; obtaining the internal reference matrix of the shooting device corresponding to the image to be detected; calculating the clamping point position of the workpiece to be detected based on the internal reference matrix and the pixel values of the pixel points of the image to be detected; and controlling the clamping device to clamp the workpiece to be detected to the preset area according to the clamping angle and the clamping point position. 一種邊緣運算設備,其中,所述邊緣運算設備包括:儲存器,儲存至少一個指令;及多核處理器,執行所述至少一個指令以實現如請求項1至8中任意一項所述的基於同質多核心架構的工件檢測方法。 An edge computing device, wherein the edge computing device comprises: a memory storing at least one instruction; and a multi-core processor executing the at least one instruction to implement a workpiece detection method based on a homogeneous multi-core architecture as described in any one of claims 1 to 8. 一種電腦可讀儲存介質,其中:所述電腦可讀儲存介質中儲 存有至少一個指令,所述至少一個指令被邊緣運算設備中的多核處理器執行以實現如請求項1至8中任意一項所述的基於同質多核心架構的工件檢測方法。 A computer-readable storage medium, wherein: the computer-readable storage medium stores at least one instruction, and the at least one instruction is executed by a multi-core processor in an edge computing device to implement a workpiece detection method based on a homogeneous multi-core architecture as described in any one of claims 1 to 8.
TW111141829A 2022-11-02 Method for detecting workpieces based on homogeneous multi-core architecture, and edge computing device TWI845008B (en)

Publications (2)

Publication Number Publication Date
TW202420224A TW202420224A (en) 2024-05-16
TWI845008B true TWI845008B (en) 2024-06-11

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155397A1 (en) 2011-12-19 2013-06-20 Kabushiki Kaisha Topcon Rotation Angle Detecting Apparatus And Surveying Instrument

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155397A1 (en) 2011-12-19 2013-06-20 Kabushiki Kaisha Topcon Rotation Angle Detecting Apparatus And Surveying Instrument

Similar Documents

Publication Publication Date Title
US20210023720A1 (en) Method for detecting grasping position of robot in grasping object
US11704553B2 (en) Neural network system for single processing common operation group of neural network models, application processor including the same, and operation method of neural network system
US11961286B2 (en) Performing object detection in an image
WO2021139177A1 (en) Image augmentation method and apparatus, computer device, and storage medium
CN109791625B (en) Facial recognition using artificial neural networks
Cho et al. Fpga-based face detection system using haar classifiers
CN110222703B (en) Image contour recognition method, device, equipment and medium
WO2019210546A1 (en) Data processing method and computing device
CN116416190A (en) Flaw detection method and device, electronic equipment and storage medium
CN110956131B (en) Single-target tracking method, device and system
WO2021174688A1 (en) Facial detection method and system
CN110390295B (en) Image information identification method and device and storage medium
TWI845008B (en) Method for detecting workpieces based on homogeneous multi-core architecture, and edge computing device
CN115471439A (en) Method and device for identifying defects of display panel, electronic equipment and storage medium
CN117058421A (en) Multi-head model-based image detection key point method, system, platform and medium
CN112465050A (en) Image template selection method, device, equipment and storage medium
CN112101148A (en) Moving target detection method and device, storage medium and terminal equipment
TW202420224A (en) Method for detecting workpieces based on homogeneous multi-core architecture, and edge computing device
US20240142935A1 (en) Method for detecting workpiece based on homogeneous multi-core architecture and edge computing device
CN113837998B (en) Method and device for automatically adjusting and aligning pictures based on deep learning
US20210279839A1 (en) Image processing apparatus configured to perform edge preserving smoothing and image processing method thereof
TC et al. Parallelization of face detection engine
CN114972415A (en) Robot vision tracking method, system, electronic device and medium
CN112052861B (en) Method for calculating effective receptive field of deep convolutional neural network and storage medium
CN111383262B (en) Occlusion detection method, occlusion detection system, electronic terminal and storage medium