Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND SYSTEMS FOR CONTROLLING OPERATION OF WIRELINE CABLE SPOOLING EQUIPMENT
Document Type and Number:
WIPO Patent Application WO/2021/072059
Kind Code:
A1
Abstract:
A method of controlling operation of equipment that spools cable on and off a rotatable drum, in one or more embodiments, includes obtaining video data of a position of the cable on the rotatable drum. The method can also include feeding data into a trained artificial neural network and processing the data fed into the trained artificial neural network to determine at least one of a calculated position of the cable on the rotatable drum, a calculated fleet angle, or both. The method can also include actuating the rotatable drum to one of spool cable on and off the rotatable drum.

Inventors:
ABUHAIKAL MUHANNAD (US)
BOGATH CHRIS (US)
VARVEROPOULOS VASSILIS (US)
SU TIANXIANG (US)
Application Number:
PCT/US2020/054763
Publication Date:
April 15, 2021
Filing Date:
October 08, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SCHLUMBERGER TECHNOLOGY CORP (US)
SCHLUMBERGER CA LTD (CA)
SERVICES PETROLIERS SCHLUMBERGER (FR)
SCHLUMBERGER TECHNOLOGY BV (NL)
International Classes:
E21B47/125; E21B17/02; E21B41/00
Foreign References:
US20010020663A12001-09-13
US20030118230A12003-06-26
US20150256797A12015-09-10
JPH02221068A1990-09-04
US20130284434A12013-10-31
Attorney, Agent or Firm:
GROVE, Trevor G. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method of controlling operation of equipment that spools cable on and off a rotatable drum, the method comprising: obtaining video data of a position of the cable on the rotatable drum; feeding data into a trained artificial neural network; processing the data fed into the trained artificial neural network to determine at least one quantity of the cable; and actuating the rotatable drum to one of spool cable on and off the rotatable drum.

2. The method according to claim 1, wherein the cable comprises a wireline cable that is configured to convey at least one wireline tool in a well.

3. The method according to claim 1, wherein the artificial neural network is performed on a processor.

4. The method according to claim 1, wherein the artificial neural network is configured to process frames across an entire width of the drum.

5. The method according to claim 4, wherein the processing of frames includes processing of in-distribution frames.

6. The method according to claim 5, wherein the processing of frames includes processing of out-of-distribution frames.

7. The method according to claim 5, wherein an alarm is activated when out-of- distribution frames are processed.

8. The method according to claim 1, wherein a two dimensional camera is used to obtain video data.

9. The method according to claim 1, wherein a three dimensional camera is used to obtain video data.

10. The method of claim 1, wherein the a least one quantity of the cable comprises at least one of a calculated position of the cable on the rotatable drum, a calculated fleet angle, or both.

11. The method according to claim 1, further comprising: outputting data to a user based upon predictions of cable placement on the drum.

12. A system comprising: a cable; a rotatable drum configured to spool the cable on to and off of the rotatable drum; a video camera system configured to obtain video data of a position of the cable on the rotatable drum; and a trained artificial neural network to process video data of the drum to infer cable position on the drum.

13. The system according to claim 12, wherein the cable comprises a wireline cable that is configured to convey at least one wireline tool in a well.

14. A system according to claim 12, wherein the trained artificial neural network comprises a processor.

Description:
METHODS AND SYSTEMS FOR CONTROLLING OPERATION OF WIRELINE CABLE SPOOLING EQUIPMENT

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The current application claims priority to United States Provisional Application Serial Number 62/912294, filed October 8, 2019 and United States Provisional Application Serial Number 62/913007, filed October 9, 2019 the entirety of which are incorporated by reference.

FIELD OF THE DISCLOSURE

[0002] Aspects of the disclosure relate to control of cable technology. More specifically, aspects of the disclosure relate to control of operations for wireline cable spooling equipment used, for example, in hydrocarbon recovery operations.

BACKGROUND INFORMATION

[0003] Wireline cable is used in oilfields to convey wireline tools into a well and also communicate signals between the deployed wireline tool and surface-located equipment. Typically, the wireline cable consists of a central section with conductors surrounded by a metal, load-bearing armor. The wireline cable is typically maintained at the surface as a spool on a rotatable drum. During use, the wireline cable can be spooled off the drum or spooled onto the drum by rotating the drum in opposite rotational directions. Conventional apparatus have difficulty spooling wireline cable on to a rotating drum in some instances. For example, the difficulties can arise from improper winding of the cable on the rotation drum such that gaps are left between successive passes of the cable on the drum.

[0004] There is a need to provide a method to control wireline equipment such that cable may be wound upon a rotating drum without interference to work flow activities.

[0005] There is a further need to provide a method that is economical to undertake without need for expensive alteration of conventional equipment. SUMMARY

[0006] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized below, may be had by reference to embodiments, some of which are illustrated in the drawings. It is to be noted that the drawings illustrate only typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments without specific recitation. Accordingly, the following summary provides just a few aspects of the description and should not be used to limit the described embodiments to a single concept.

[0007] In one example embodiment of a method is described. The method may comprise obtaining video data of a position of the cable on the rotatable drum, feeding data into a trained artificial neural network, processing the data fed into the trained artificial neural network to determine a quantity of the cable. The quantity of the cable can include a calculated position of the cable on the rotatable drum; a calculated fleet angle of the cable, or other know or unknown quantities of the cable. The method can also include actuating the rotatable drum to one of spool cable on and off the rotatable drum.

[0008] In another example embodiment, an apparatus is described. The apparatus comprises, a cable; a rotatable drum configured to spool the cable on to and off of the rotatable drum; a video camera system configured to obtain video data of a position of the cable on the rotatable drum; and a trained artificial neural network to process video data of the drum to infer cable position on the drum.

BRIEF DESCRIPTION OF THU DRAWINGS

[0009] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this disclosure and are therefore not be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments. [0010] FIG. 1 is a diagram of a definition of the term cable position as the location of a cable that comes into contact with a drum. In embodiments, cable position is measured away from a right flange of the rotating drum as viewed by the cabin.

[0011] FIG. 2A is an example cropped video frame wherein the frame corresponds to a minimum cable position in a dataset. FIG. 2B is another example video frame where the cable is between the two flanges. FIG. 2C is a histogram distribution of cable position in the dataset.

[0012] FIG. 3 is an illustration of network performance on training and validation sets, wherein mean-squared losses for the training sets (blue) and validation sets (red) are illustrated during training.

[0013] FIG. 4 is a graph of performance of the trained network illustrating a ground truth (blue line) and raw model prediction (dots) that are plotted against a video frame ID.

[0014] FIG. 5 is an illustration of “in-distribution” data frames on which a ground-truth cable positions are away from the left flange locations and wherein model outputs have a low variance. FIG. 5 also presents a last five frames that are “out-of-distribution” on which the cables are around the left flange and wherein outputs show a significantly larger variance.

[0015] FIG. 6 is a graph of a normalized sample variance as a function of the sample size, wherein crosses are for “in-distribution” frames and circles are “out of distribution” frames.

[0016] FIG. 7 is an example computer apparatus upon which the method described may operate.

[0017] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures (“FIGS”). It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION

[0018] In the following, reference is made to embodiments of the disclosure. It should be understood, however, that the disclosure is not limited to specific described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the disclosure. Furthermore, although embodiments of the disclosure may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the disclosure. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the claims except where explicitly recited in a claim. Likewise, reference to “the disclosure” shall not be construed as a generalization of inventive subject matter disclosed herein and should not be considered to be an element or limitation of the claims except where explicitly recited in a claim.

[0019] Although the terms first, second, third, etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, components, region, layer or section from another region, layer or section. Terms such as “first”, “second” and other numerical terms, when used herein, do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed herein could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.

[0020] When an element or layer is referred to as being “on,” “engaged to,” “connected to,” or “coupled to” another element or layer, it may be directly on, engaged, connected, coupled to the other element or layer, or interleaving elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly engaged to,” “directly connected to,” or “directly coupled to” another element or layer, there may be no interleaving elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed terms.

[0021] Some embodiments will now be described with reference to the figures. Like elements in the various figures will be referenced with like numbers for consistency. In the following description, numerous details are set forth to provide an understanding of various embodiments and/or features. It will be understood, however, by those skilled in the art, that some embodiments may be practiced without many of these details, and that numerous variations or modifications from the described embodiments are possible. As used herein, the terms “above” and “below”, “up” and “down”, “upper” and “lower”, “upwardly” and “downwardly”, and other like terms indicating relative positions above or below a given point are used in this description to more clearly describe certain embodiments.

[0022] Aspects of the present disclosure is directed to an automated system (referred to as an Auto- Spooling Controller) that monitors and controls equipment that spools wireline cable on and off a rotatable drum. The equipment includes a spooling arm and a winch (e.g., hydraulic motor). The winch can be operated to rotate the drum in either one of the two opposite rotational directions in order to spool the wireline cable on and off the rotatable drum. The spooling arm guides the wireline cable as it is spooled on or off the drum. The position of the spooling arm can be adjusted to control the fleet angle of the wireline cable as it is spooled on or off the drum. In embodiments, the Auto-Spooling Controller and the equipment can be housed in portable vehicle (such as truck) or trailer that be transported to various well sites as needed.

[0023] As part of the Auto-Spooling Controller, the position of the wireline cable is a required input parameter. It is also a parameter that can help classify the location-dependent spooling anomalies. A vision-based model is disclosed herein to estimate the cable position using a convolutional neural network. To train the network, ~45k video frames of cable spooling were labeled with their corresponding ground-truth cable positions. A separate test set of ~16k frames was used to quantify the network performance. Several arrangements and methods were reviewed with a best network that gives an average absolute error about 2 millimeters across a drum of 1 meter in length. No prediction post- processing (e.g., Kalman or moving average filters) was needed. To help fuse with other cable position estimation methods in the future, model uncertainty was quantified using the recently proposed Bayesian Dropout method.

[0024] In the Auto-Spooling Controller, the term “cable position” refers to the location of the cable that just comes in touch with the drum (Error! Reference source not found.). It is a dynamic parameter (i.e., changing with time during rotation of the drum) needed for the Auto-Spooling Controller to update the desired fleet angle. It is also a parameter that helps classify spooling anomalies. For example, with the knowledge that the current cable position is in the middle of the drum, one can infer with high confidence that there is no cable pileup at the flange (one common type of anomalies).

[0025] Cable position can be directly measured or indirectly inferred. For example, with a 3D camera, in one embodiment, a depth change of the cable on the drum may be measured, therefore locating the cable contact point. Also, with an initial estimate of the cable position, rotation information of the drum may be used together with the drum radius to update the current cable position. Both methods are being evaluated in parallel. The feasibility of using a neural network to estimate the cable position is clear. The input to the network is a video frame captured by a 2D camera mounted inside the truck cabin. The frame propagates through the network layers. The final layer is a single neuron unit outputting the predicted cable position measured from the right flange. The inference time are quantified and the prediction errors determined herein.

[0026] All data currently available is used (with ground-truth cable positions) to train and test a model. As will be understood, this data originates from a single wireline surface unit with similar lighting conditions and little camera pose changes. Thus, some variations may be present from configuration to configuration. In aspects that are deployable for the field, it will be understood that data may be collecteone needs to collect more data that covers different field conditions (drum and cable types, lighting conditions, etc.) and re-train the model. [0027] The ground truth of the cable position is currently the cable position as estimated with a method developed at Schlumberger. The cable position estimation in the POC controller uses the drum rotation and the layer direction in conjunction with manually- measured initial conditions.

[0028] A more robust stochastic version has been developed at SDR recently to estimate the cable position using the Layer Chart, which relies on the timeseries data to automatically determine the initial conditions and stochastically estimates the cable position.

[0029] Error! Reference source not found. (C) shows the histogram distribution of the cable position in the dataset. It ranges from 0.00 to 0.62 meter (distance from the right flange). Note that the drum length is L = 1.054 meter.

[0030] The wireline drum comes with different sizes, yet our training frames were recorded from the same drum. To reduce the risk of wrong prediction for a different drum, the frames were labeled with the dimensionless cable position normalized by the drum length.

Neural Network Design and Training

[0031] The video frames in the training set and their corresponding cable positions were used to train a convolutional neural network. The network architecture is shown in Table . We used (3 x 3) convolutional filters and performed (2 x 2) max pooling to down- sample the hidden layers. Rectified Linear Units (Relu) were used for nonlinear activations except for the last layer where we used a linear activation. A linear activation on the final layer is a common practice for a regression problem.

[0032] Dropout layers were used to regulate the network to reduce over-fitting [ Srivastava N, et al. 2014]. We tested different dropout rates p, and found p = 0.2 gives the best results. A higher dropout rate (e.g. p = 0.5) scarifies the network performance on the training set (i.e., the error plateaus at a higher value), while a lower rate leads to poor performance on the validation set (over-fitting). [0033] Other testing performed includes replacing the dropout layers with the batch normalization layers for network regulation [Ioffe S, et al. 2015], No better results were obtained compared to those using dropouts. Combining the dropout layers with batch normalization was also experimented. Worse performance was obtained, which agrees with a recent study Li et al. 2018]

[0034] The above network was fed with batches of training images of size 8. In embodiments, the mean-squared-error was used as the loss function and the Adam optimizer to update the network parameters [Kingma et al, 2014]. After testing some learning rates (lr), a value of lr = 0.0001 was set (10 times smaller than the Keras default value). Other loss functions and optimizers, such as the mean-absolute error and the standard stochastic gradient descent (SGD) optimizer were also tested. These led to worse results.

[0035] The network was trained for 200 epochs (feeding the training set to the network 200 times). Each epoch took roughly 10 minutes on a compute engine on the Google Cloud Platform with two K80 GPUs.

Training Results and Prediction Errors

[0036] Error! Reference source not found, shows the mean-squared losses during training for the training (blue curve) and the validation (red curve) sets. The performance on the validation set is better than that on the training set because of the dropouts in the network. A higher dropout rate p was found to result in a larger performance difference. For p = 0.2 , the error on the validation set plateaus around 10 -6 after about 100 epochs, roughly corresponding to a 1 millimeter absolute prediction error (drum length [0037] Table 2 shows the average and maximum absolute prediction errors on the validation and the test sets. The results agree with the indications from the training log (Error! Reference source not found.). The average error is ~2 millimeters.

[0038] In Error! Reference source not found., the ground truth was plotted (blue solid line) and raw neural network prediction (red) against the frame ID in the test video. The cable moves in between the right flange and a spot about 0.6 meter away. The network prediction matches the ground truth well for all frames. It should be emphasized that the red dots are the raw network outputs. Each frame was treated independently. The temporal information in the video was not considered. No post-processing (e.g., moving average nor Kalman filters) was performed here.

Uncertainty Quantification of the Neural Network Outputs

[0039] In the discussions above, the trained neural network outputs a deterministic cable position from an input video frame. No uncertainty information was extracted from the model. It is important to know how confident the described model is in its prediction. There are two reasons for this: (1) As discussed above, there are multiple methods to measure or infer the current cable position. To fuse these predictions, the confidence level is needed from each model output. (2) It is important to detect the so-called “out-of-distribution” data and alarm the system. An “out-of-distribution” data refers to a test data (a video frame for our case) that is outside the distribution of the training set. For example, given an image that is not related to wireline spooling, the trained network would still confidently propagate it through the network and blindly outputs a “cable position” value. Without uncertainty quantification, one would not know that this value is a pure random guess.

[0040] Before discussing how uncertainty is quantified, the neural network dropout operation is reviewed. In deep learning, “Dropout” refers to a method to add randomness to the network during the training phase. It was introduced and now widely used to tackle the over-fitting issue [Srivastava N, et al. 2014].

[0041] During training, a dropout operation randomly disables a neuron node with a user- defined dropout rate p e [0, 1], In the test phase, the dropout operation is deterministic. It scales the node output by the dropout probability. For example, a dropout rate p = 0.2 will scale the output value deterministically by 80%.

• [0042] The main advantage of this method is that it is straightforward to implement. Most networks nowadays use dropout layers (or other stochastic regularization techniques on which the same sampling method applies). One simply needs to switch on the training mode to obtain the posterior distribution.

[0043] This method is applied herein. It was first tested if the method can detect the “out- of-distribution” data points. Recall that in training sets, there is no frame on which the cable is near the left flange. Therefore, if such a frame were input to the network, a prediction with low confidence would be expected (i.e., high uncertainty and high variance in sampling the network outputs). In one embodiment 10 video frames were extracted. The first 5 frames were from an original test set (“in-distribution”). Another 5 frames were taken from some recently recorded videos which have the cable close to the left flange (“out-of-distribution”). While the ground-truth cable positions for these latter 5 frames were not precisely know, it is reasonable to estimate that the values should be close to 1 (because it is about 1 meter from the right flange). To sample the network outputs, the training mode was turned on and propagated each of these 10 frames into the network for 500 times. The variance of these samples is studied for each frame and the differences compared between the “in-distribution” and “out-of-distribution” frames.

[0044] In Error! Reference source not found., the output predictions were plotted. For the first 5 frames, the blue crosses are the ground-truth dimensionless cable positions, and the small red dots are the sampled outputs (500 samples for each frame). The model is very confident in its prediction (small variance scattered around the average prediction) and the mean value is close to the ground truth. The average sample standard deviation for these 5 frames is 4.7 x 10 -4 . For the rest 5 frames, the predictions are all wrong (true values should be close to 1). The large variance in the samples reflects the model uncertainty. The average sample standard deviation for these 5 frames is 2.2 x 10 -2 (~50 times larger than the first 5 frames). Such large sample variance can serve as a flag to alarm the system not to trust the model output.

[0045] Next, the number of how samples is evaluated such that a good estimate is obtained. Error! Reference source not found, shows the variance as a function of the sample size (blue crosses for the “in-distribution” 5 frames and red circles for the “out-of- distribution” frames). The figure shows that a sample size of 10 frames should be enough to get a good variance estimate.

[0046] To summarize, the following has been established from the embodiments run.

• By using the network as if it was in the training mode, one can quantify the uncertainty in the model outputs.

• When the test frame is “in-distribution”, the trained model outputs samples close to the ground truth with an uncertainty in the order of 10 -4 .

• A large sample variance can be used to detect an “out-of-distribution” video frame.

• Strategy to speed up the time to calculate the variance is needed. For example, one can take advantage that the neighboring frames are similar to estimate the variance by using neighboring frames as sampling inputs.

[0047] As presented herein, neural network regression is used to estimate the Wireline cable position from a spooling video frame. By experimenting different network architectures and tuning the training parameters, an average absolute error about 2 millimeters across a drum of ~1 meter long without post-processing of the prediction was achieved. The Bayesian dropout method was applied to quantify the model uncertainty. These results are significantly better than conventional apparatus that do not accurately measure cable position. [0048] FIG. 7 illustrates an example device 2500, with a processor 2502 and memory 2504 that can be configured to implement various embodiments of the Auto-Spooling Controller as discussed in this disclosure. Memory 2504 can also host one or more databases and can include one or more forms of volatile data storage media such as random-access memory (RAM), and/or one or more forms of nonvolatile storage media (such as read-only memory (ROM), flash memory, and so forth).

[0049] Device 2500 is one example of a computing device or programmable device and is not intended to suggest any limitation as to scope of use or functionality of device 2500 and/or its possible architectures. For example, device 2500 can comprise one or more computing devices, programmable logic controllers (PLCs), etc.

[0050] Further, device 2500 should not be interpreted as having any dependency relating to one or a combination of components illustrated in device 2500. For example, device 2500 may include one or more of computers, such as a laptop computer, a desktop computer, a mainframe computer, etc., or any combination or accumulation thereof.

[0051] Device 2500 can also include a bus 2508 configured to allow various components and devices, such as processors 2502, memory 2504, and local data storage 2510, among other components, to communicate with each other.

[0052] Bus 2508 can include one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Bus 2508 can also include wired and/or wireless buses.

[0053] Local data storage 2510 can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a flash memory drive, a removable hard drive, optical disks, magnetic disks, and so forth).

[0054] One or more input/output (I/O) device(s) 2512 may also communicate via a user interface (UI) controller 2514, which may connect with I/O device(s) 2512 either directly or through bus 2508. [0055] In one possible implementation, a network interface 2516 may communicate outside of device 2500 via a connected network.

[0056] A media drive/interface 2518 can accept removable tangible media 2520, such as flash drives, optical disks, removable hard drives, software products, etc. In one possible implementation, logic, computing instructions, and/or software programs comprising elements of module 2506 may reside on removable media 2520 readable by media drive/interface 2518.

[0057] In one possible embodiment, input/output device(s) 2512 can allow a user (such as a human annotator) to enter commands and information to device 2500, and also allow information to be presented to the user and/or other components or devices. Examples of input device(s) 2512 include, for example, sensors, a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, and any other input devices known in the art. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, and so on.

[0058] Various processes of present disclosure may be described herein in the general context of software or program modules, or the techniques and modules may be implemented in pure computing hardware. Software generally includes routines, programs, objects, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. An implementation of these modules and techniques may be stored on or transmitted across some form of tangible computer- readable media. Computer-readable media can be any available data storage medium or media that is tangible and can be accessed by a computing device. Computer readable media may thus comprise computer storage media. “Computer storage media” designates tangible media, and includes volatile and non-volatile, removable and non-removable tangible media implemented for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information, and which can be accessed by a computer. Some of the methods and processes described above, can be performed by a processor. The term “processor” should not be construed to limit the embodiments disclosed herein to any particular device type or system. The processor may include a computer system. The computer system may also include a computer processor (e.g., a microprocessor, microcontroller, digital signal processor, or general-purpose computer) for executing any of the methods and processes described above.

[0059] Some of the methods and processes described above, can be implemented as computer program logic for use with the computer processor. The computer program logic may be embodied in various forms, including a source code form or a computer executable form. Source code may include a series of computer program instructions in a variety of programming languages (e.g., an object code, an assembly language, or a high-level language such as C, C++, or JAVA). Such computer instructions can be stored in a non- transitory computer readable medium (e.g., memory) and executed by the computer processor. The computer instructions may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over a communication system (e.g., the Internet or World Wide Web).

[0060] Alternatively or additionally, the processor may include discrete electronic components coupled to a printed circuit board, integrated circuitry (e.g., Application Specific Integrated Circuits (ASIC)), and/or programmable logic devices (e.g., a Field Programmable Gate Arrays (FPGA)). Any of the methods and processes described above can be implemented using such logic devices.

[0061] Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from this invention. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures.

[0062] The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.

[0063] Other variations are within the spirit of the present disclosure. Thus, while the disclosed techniques are susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific form or forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions and equivalents falling within the spirit and scope of the invention, as defined in the appended claims.

[0064] The use of the terms “a” and “an” and “the” and similar referents in the context of describing the disclosed embodiments (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. The term “connected,” when unmodified and referring to physical connections, is to be construed as partly or wholly contained within, attached to or joined together, even if there is something intervening. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein and each separate value is incorporated into the specification as if it were individually recited herein. The use of the term “set” (e.g., “a set of items”) or “subset” unless otherwise noted or contradicted by context, is to be construed as a nonempty collection comprising one or more members. Further, unless otherwise noted or contradicted by context, the term “subset” of a corresponding set does not necessarily denote a proper subset of the corresponding set, but the subset and the corresponding set may be equal.

[0065] In one example embodiment of a method is described. The method may comprise obtaining video data from a position of the cable on the rotatable drum, feeding data into a trained artificial neural network, processing the data fed into the trained artificial neural network to determine a calculated position of the cable on the rotatable drum and actuating the rotatable drum to one of spool cable on and off the rotatable drum.

[0066] In another example embodiment, the method may be performed, wherein the cable comprises a wireline cable that is configured to convey at least one wireline tool in a well.

[0067] In another example embodiment, the method may be performed, wherein the artificial neural network is performed on a processor.

[0068] In another example embodiment, the method may be performed, wherein the artificial neural network is configured to process frames across an entire width of the drum.

[0069] In another example embodiment, the method may be performed, wherein the processing of frames includes processing of in-distribution frames.

[0070] In another example embodiment, the method may be performed wherein the processing of frames includes processing of out-of-distribution frames.

[0071] In another example embodiment, the method may be performed, wherein an alarm is activated when out-of-distribution frames are processed.

[0072] In another example embodiment, the method may be performed, wherein a two dimensional camera is used to obtain video data.

[0073] In another example embodiment, the method may be performed, wherein a three dimensional camera is used to obtain video data. [0074] In another example embodiment, the method may be performed, wherein the three dimensional camera is a 4k video camera.

[0075] In another example embodiment, the method may further comprise outputting data to a user based upon predictions of cable placement on the drum.

[0076] In another example embodiment, an apparatus is described. The apparatus comprises, a cable; a rotatable drum configured to spool the cable on to and off of the rotatable drum; a video camera system configured to obtain video data of a position of the cable on the rotatable drum; and a trained artificial neural network to process video data of the drum to infer cable position on the drum.

[0077] In another example embodiment, the system may be configured wherein the cable comprises a wireline cable that is configured to convey at least one wireline tool in a well.

[0078] In another example embodiment, the system may be configured wherein the trained artificial neural network comprises a processor.

[0079] Operations of processes described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. Processes described herein (or variations and/or combinations thereof) may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs or one or more applications) executing collectively on one or more processors, by hardware or combinations thereof. The code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable storage medium may be non-transitory.

[0080] All references, including publications, patent applications and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.

[0081] The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.

[0082] While embodiments have been described herein, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments are envisioned that do not depart from the inventive scope. Accordingly, the scope of the present claims or any subsequent claims shall not be unduly limited by the description of the embodiments described herein.